ekp/.phrase/phases/phase-kp-overhaul-20260726/change_post_audit_hardening_20260820.md
2026-08-20 07:34:03 +08:00

2.6 KiB
Raw Blame History

Change: Post-Audit Hardening 2026-08-20

2026-08-20 — Lock follow-up goals and task boundaries

  • Add plan_post_audit_hardening_20260820.md with the evidence-backed scope, non-goals, acceptance gates, and stop condition for the post-audit defects.
  • Add task_post_audit_hardening_20260820.md with task037task042 and the remaining task030 performance gate.
  • Add issue records for each user-visible or public-contract defect before implementation, including issue028 for the stale-bytecode evaluator false-green.
  • Behavior/Risk: documentation-only planning. Closed historical issues remain closed; issue018 remains open until its locked gate is met.

Verification

  • Next task ID is task037; no task ID is reused.
  • The plan explicitly separates buffer ownership, live semantics, dictionary lookup, C validation, test gates, integration lifecycle, and performance.
  • No production or test source is changed in this planning pass.

2026-08-20 — Implement correctness and gate hardening

  • Modify ekp-buffer.el and tests/ekp-buffer-tests.el for preflight width validation, backward-delete live stability, and no-projection integration cleanup (task037, task038, task042; issue022, issue023, issue027).
  • Modify ekp-hyphen.el and tests/ekp-tests.el for exact normalized locale lookup (task039, issue024).
  • Modify ekp_c/ekp.c and tests/ekp-c-tests.el for sorted, unique, in-range break-position validation in direct and batch APIs (task040, issue025), with the 15-field ABI unchanged.
  • Modify the showcase, source loader, test runners, Windows CI entry, and complete ERT selection to remove stale-bytecode false greens and restore automatic inline-code verification (task041, issue026).
  • Modify the live evaluator script/bootstrap to load source from the selected baseline/candidate root (task030, issue028). The corrected narrowed matrix still exceeds the source 16 ms target, so issue018 and task030 remain open.

Verification

  • Source-first normal ERT: 294/294.
  • Source-first seeded random ERT: 294/294, including all nine GUI verifier tests previously omitted by the name filter.
  • Per-test isolated ERT: 294/294 process runs logged 0 unexpected.
  • C focused ERT: 15/15; C portable build warning-clean; source fuzz: 300/300 with zero failures; checkdoc, release, dictionary, and shell gates pass.
  • Corrected narrowed source evaluator: parity, zero-work, GC, conflicts, and width non-regression pass, but source candidate p99 remains above 16 ms; the performance issue is intentionally not closed.