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.
12 KiB
Tasks: Repository System Audit 2026-07-28
-
task001 [x] Produce a repository-wide audit covering architecture, Elisp, C, buffer integration, tests, GUI, dictionaries, performance, compatibility, documentation, release health, and extension directions.
- Source: user request; existing
phase-kp-overhaul-20260726. - Output:
Docs/REPOSITORY_AUDIT_20260728.md. - Validation: 94/94 ERT, 300/300 C/Elisp fuzz, clean-copy byte compilation, checkdoc, warning-clean C release build, clean-copy ERT/fuzz, GUI fit matrix 7/7, targeted negative probes, link/stale-fact/diff checks.
- Impact: documentation and planning records only; no runtime behavior changed.
- Source: user request; existing
-
task002 [x] Complete the DP cache signature so algorithm-parameter changes never reuse stale results.
- Source:
issue001, audit P1-01, andplan_cache_signature_20260728.md. - Red test: parameter-by-parameter cached-vs-fresh comparison through
ekp-dp-cache, plus a same-signature cache-hit assertion. - Validation: focused red/green ERT, complete ERT, C/Elisp fuzz, warning-clean byte compilation, checkdoc, and full diff review.
- Impact:
ekp.el,tests/ekp-tests.el, user documentation, and phase records. - Completed: 2026-07-28; focused 0/2 → 2/2, full ERT 96/96, fuzz 300/300, byte compilation/checkdoc clean, Elisp/C rendered-output probes matched fresh computation.
- Source:
-
task003 [x] Complete automatic spacing identity across both paragraph cache lookup paths.
- Source:
issue001, audit P2-01, andplan_auto_spacing_signature_20260728.md. - Red test: change
ekp-default-cws-stretch-pixelwithout clearing caches and exercise the paragraph hash andekp--last-paraseparately; retain an unchanged-signature hit control. - Validation: focused 1/3 → 3/3, complete ERT 99/99, C/Elisp fuzz 300/300, warning-clean byte compilation, and checkdoc.
- Impact:
ekp.el,tests/ekp-tests.el, public/developer documentation, audit status, phase records, and a design postmortem. - Completed: 2026-07-28;
issue001is resolved.
- Source:
-
task004 [x] Make justified-buffer saving non-mutating and failure-safe.
- Source:
issue002, audit P1-02, andplan_save_transaction_20260728.md. - Red test: real missing-directory failure and forced
quitboth left the old buffer unformatted. - Validation: focused 0/2 → 2/2, then success/failure/encoding/retry 4/4; complete ERT 102/102; C/Elisp fuzz 300/300; warning-clean byte compilation; checkdoc.
- Impact:
ekp-region.el,tests/ekp-region-tests.el, user/developer documentation, audit status, phase records, and a design postmortem. - Completed: 2026-07-28;
issue002is resolved.
- Source:
-
task005 [x] Make buffer integrations composable and span/mode-owned.
- Source:
issue003, audit P1-03/P2-06, andplan_integration_lifecycle_20260728.md. - Red test: existing filter output was lost and final unjustify left the EKP filter/hooks installed (0/2).
- Validation: focused 2/2 then five public composition/lifecycle cases; complete ERT 107/107; C/Elisp fuzz 300/300; warning-clean byte compilation; checkdoc.
- Impact:
ekp-region.el,tests/ekp-region-tests.el, public/developer documentation, audit status, phase records, and a design postmortem. - Completed: 2026-07-28;
issue003is resolved.
- Source:
-
task006 [x] Eliminate ERT order-dependent false greens.
- Source:
issue004, audit P1-04, andplan_test_isolation_20260728.md. - Red test: loading C and running only
ekp-test-parshape-bypasses-cfailed 0/1. - Validation: focused public-dispatch/config-restoration/C-parameter matrix 3/3; reproducibly permuted ERT 108/108; every ERT independently passed in a fresh Emacs process, 108/108.
- Impact: core fixture and dispatch regression, reusable test runners, CI, developer documentation, audit status, phase records, and a testing postmortem.
- Completed: 2026-07-28;
issue004is resolved.
- Source:
-
task007 [x] Make GUI verification fail closed in automation.
- Source:
issue007, audit P2-05, andplan_gui_verification_20260728.md. - Red test: the forced noninteractive failure control had no report assertion boundary, 0/1.
- Validation: focused forced-failure/success ERT 2/2; default and permuted full ERT 110/110; real GUI matrix 7/7; inspected clean fullscreen single-window screenshot.
- Impact: GUI verification result/report contract, batch-safe negative tests, test loaders, public/developer documentation, audit status, phase records, and a testing postmortem.
- Completed: 2026-07-28;
issue007is resolved.
- Source:
-
task008 [x] Close the C API input, error, and arithmetic contract.
- Source:
issue005, audit P2-02, andplan_c_api_contract_20260728.md. - Red tests: malformed/short/mismatched/out-of-range/penalty inputs and extreme valid int32 arithmetic failed 0/6; public dispatcher swallowed a forced module error, 0/1.
- Validation: focused C boundary 6/6 and public error propagation 1/1; warning-clean release and sanitizer compilation; full ERT 116/116; C/Elisp fuzz 300/300.
- Impact: C API validation, 64-bit DP intermediates, module version 1.6, Elisp backend error propagation, tests, public/developer documentation, audit status, phase records, and an architecture postmortem.
- Completed: 2026-07-28; P2-02 is resolved.
issue005remains open until the build invocation/profile slice is complete.
- Source:
-
task009 [x] Make C builds shell-free, portable by default, and profiled.
- Source:
issue005, audit P2-03, andplan_c_build_boundary_20260728.md. - Red tests: capture the interactive build process shape for a module path containing spaces and reject an unknown profile.
- Validation: focused ERT, real portable/native/debug/sanitize builds, a copied build from a whitespace path, full ERT/fuzz, byte compilation, checkdoc, and diff review.
- Impact:
ekp-utils.el,ekp_c/Makefile, CI build arguments, tests, public/developer/C documentation, audit status, and phase records. - Completed: 2026-07-28; process/profile red 0/2 → 2/2; all four profiles
compiled warning-free; portable succeeded through the real interactive
command and from a whitespace path.
issue005is resolved.
- Source:
-
task010 [x] Close repository-local release and CI governance.
- Source:
issue009, audit P2-07, andplan_release_governance_20260728.md. - Red test: a static release gate must reject floating action refs, absent
Windows coverage, ignored
.phrasetruth, or inconsistent package/C version declarations. - Validation: red/green gate, workflow syntax/static inspection, default
ERT, and
git diff --check. - Impact: CI,
.gitignore, release documentation, audit/phase records, and a release-governance postmortem. - Completed: 2026-07-28; invariant gate red → green, pinned package-lint
passed, workflow YAML and shell syntax passed, and default ERT was
119/119.
issue009is resolved locally; no remote release action was performed.
- Source:
-
task011 [x] Make dictionary syntax support and provenance auditable.
- Source:
issue006, audit P2-04, andplan_dictionary_governance_20260728.md. - Red tests: affected-language golden behavior and a manifest/updater verifier must fail against the unpinned moving-HEAD bundle.
- Validation: golden red/green, 49/49 checksum/source/license manifest, two identical pinned update outputs, full ERT, byte compilation, checkdoc, and diff review.
- Impact: hyphen parser/tests, dictionary updater and metadata, public/ developer/audit documentation, phase records, and an architecture postmortem.
- Completed: 2026-07-28; affected-language red 0/2 → 2/2; offline and
upstream 49/49; two exports identical; full ERT 121/121; compile,
checkdoc, shell/YAML, and diff checks passed.
issue006is resolved.
- Source:
-
task012 [x] Make measured tokenizer/insertion growth linear and cache nil.
- Source:
issue008, audit P3-01, andplan_hot_loop_performance_20260728.md. - Red tests: two no-break lookups must compute once; long/propertized tokenization and dense insertion must retain exact output.
- Validation: before/after 1k–8k scaling, focused/full ERT, warning-as-error byte compilation, checkdoc, fuzz, and diff review.
- Impact: tokenizer/hyphen cache/insertion, benchmark/tests, developer/ audit documentation, phase records, and a performance postmortem.
- Completed: 2026-07-28; nil-cache red 0/1 → 1/1; focused output regressions 3/3; 8,000-character tokenizer/insertion improved from 3.133/0.945 s to 1.100/0.013 s; full ERT 124/124, fuzz 300/300, warning-as-error production compilation and checkdoc passed.
- Source:
-
task013 [x] Clarify and test interactive protection workflows.
- Source: audit P3-03, ultragoal G009, and
plan_interactive_protection_20260728.md. - Red tests: drive all four no-break/verbatim commands interactively, assert real formatter behavior and session-lifetime feedback, and require a standard mode menu exposing the workflows.
- Validation: focused red/green ERT, default/permuted/isolated full ERT, warning-as-error byte compilation, checkdoc, and diff review.
- Impact: public commands/mode map, region tests, bilingual user documentation, audit/phase records, and a workflow postmortem.
- Completed: 2026-07-28; focused public-path red 0/3 → 3/3; default and seeded-permuted ERT 127/127; every ERT passed in a fresh Emacs process; warning-as-error production compilation, checkdoc, release, dictionary, and diff gates passed.
- Source: audit P3-03, ultragoal G009, and
-
task014 [x] Centralize the remaining duplicated core layout rules.
- Source: audit P3-02 and
plan_core_rule_ownership_20260728.md. - Red tests: require a directly testable edge-space exclusion rule and one complete, nonsticky render-marker vocabulary.
- Validation: focused red/green ERT, full ERT, C/Elisp fuzz, warning-as-error byte compilation, checkdoc, and diff review.
- Impact:
ekp.el,ekp-region.el, core tests, developer/audit records, and an architecture postmortem; no public behavior or ABI change. - Completed: 2026-07-28; direct rules red 0/2 → 2/2; related focused invariants 4/4; full ERT 129/129; C/Elisp fuzz 300/300; warning-as-error compilation, checkdoc, release, dictionary, and diff gates passed.
- Source: audit P3-02 and
-
task015 [x] Run bounded anti-slop cleanup and the final independent gate.
- Source: ultragoal G010,
ai-slop-cleaner,code-review, andplan_final_cleanup_review_20260728.md. - Behavior lock: 129/129 ERT and 300/300 fuzz before cleanup.
- Cleanup: delete only proven dead/pass-through accessors; classify every fallback-like path and retain grounded boundary behavior.
- Validation: all repository quality gates plus independent
code-reviewerAPPROVE andarchitectCLEAR. - Impact: internal cleanup, final records, and review artifacts; no public behavior, baseline, ABI, or remote release action.
- Completed: 2026-07-28; removed nine dead pass-through accessors and the
private substring-filter dependency; classified all fallback-like paths
with no masking fallback retained; default/permuted/isolated ERT
130/130, fuzz 300/300, warning-clean Elisp/C builds, checkdoc,
package-lint, release/dictionary/static gates, and GUI matrix 7/7
passed. Independent review covered 98 paths with zero findings and
returned
APPROVE; architecture review returnedCLEAR.
- Source: ultragoal G010,
-
task016 [x] Make the same-string paragraph fast path property-sensitive.
- Source:
issue010, independent final code review, andplan_property_sensitive_fast_path_20260728.md. - Red test: warm one string object, mutate its
ekp-no-breakproperty, and require the next lookup to match a fresh paragraph for both CJK and Latin-with-space inputs. - Validation: focused red/green, default/permuted/isolated full ERT, fuzz, static/build/GUI gates, and independent review.
- Impact: paragraph cache identity, core regressions, developer/audit/ phase records, and a cache-ownership postmortem; no public API or C ABI change.
- Completed: 2026-07-28; same-object property mutation red 0/1 → 1/1;
focused cache matrix 6/6; default and seeded-permuted ERT 130/130;
every one of 130 ERT tests passed in a fresh Emacs process; C/Elisp fuzz
300/300; warning-as-error compilation, checkdoc, package-lint, four C
profiles, release/dictionary/static gates, and GUI matrix 7/7 passed.
Independent review confirmed the implementation fix and architecture
ownership;
issue010is resolved.
- Source: