ekp/.phrase/phases/phase-kp-overhaul-20260726/change_integration_lifecycle_20260728.md
Kinneyzhang fd1210e557 fix: close repository audit findings
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.
2026-07-28 22:43:10 +08:00

38 lines
1.4 KiB
Markdown

# Change Log: Composable Buffer Integration Lifecycle 2026-07-28
## task005
- **Modify** — `ekp-region.el`
- Saved and restored the previous local/inherited substring-filter owner.
- Composed prior filtering with EKP logical inversion while retaining
DELETE behavior.
- Split structural unjustify from the public lifecycle boundary.
- Removed integrations when the final span disappears outside auto mode,
including external delete paths.
- **Modify** — `tests/ekp-region-tests.el`
- Added local/inherited filter restoration, copy and DELETE composition,
final-unjustify cleanup, and auto-mode-disable cases.
- **Modify** — public, developer, audit, and phase documentation
- Documented composition order and lifecycle ownership.
- Closed `issue003` and added
`postmortem/20260728-buffer-integration-ownership.md`.
## Validation
- Focused red: 0/2 for prior-filter output and final-span cleanup.
- Focused green: 2/2; expanded integration matrix 5/5.
- Full ERT: 107/107.
- C/Elisp fuzz: 300/300.
- Byte compilation with warnings as errors: clean.
- checkdoc: clean.
## Behavior and Risk
- Existing mode/user substring filters remain active under EKP.
- Manual unjustify, DELETE, and mode shutdown restore exact ownership.
- A prior filter that deliberately strips all text properties also removes
EKP's structural markers; such a filter owns that returned representation.
- No dependency, public API, or saved-file format changed.