Complete task002 through task016 across cache correctness, editor lifecycle, C boundaries, build and release governance, dictionary provenance, performance, interactive workflows, tests, documentation, and final cleanup.
1.5 KiB
1.5 KiB
Change Log: Shell-Free Profiled C Builds 2026-07-28
Planning
- Added
task009and locked its process, profile, whitespace-path, and build/test acceptance criteria before implementation.
task009
-
Modify —
ekp-utils.el- Deleted the one-use generic callback wrapper and shell command.
- Added direct argv
make-process, explicit profile validation, correct working directory, and success/failure output lifecycle.
-
Modify —
ekp_c/Makefile,.github/workflows/ci.yml- Made portable flags the default.
- Split native, debug, and sanitizer flags behind
PROFILE. - Updated sanitizer CI to the same vocabulary.
-
Modify — tests and public/developer/C/audit documentation
- Added process-shape and unknown-profile controls.
- Documented profile ownership and closed
issue005.
Validation
- Focused process/profile red/green: 0/2 → 2/2.
- portable/native/debug/sanitize: all compiled with zero warnings.
- Real
ekp-c-module-build 'portable: exit 0 and loaded C 1.6. - Portable copy under
/tmp/ekp build.*: built successfully. - Full ERT and fuzz evidence from
task008remains valid; final phase QA reruns both after all slices.
Behavior and Risk
portableno longer emits host-specific instructions.nativeartifacts are intentionally machine-specific.- Failed async builds keep and display their output buffer; successful builds reload and remove it.
- The old
DEBUG=1spelling is deleted rather than retained as a shim.