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.1 KiB
1.1 KiB
Plan: Composable Buffer Integration Lifecycle
Scope
Resolve issue003: compose and restore an existing substring filter, and
remove save/search/copy integrations when no justified span or auto mode
needs them.
Resolution Path
- Drive the public
filter-buffer-substringpath with a prior local filter and prove EKP currently overwrites it. - Record the prior filter and whether it was local; define prior-filter then logical-inversion order so DELETE remains owned by the prior path.
- Split internal structural unjustify from the public lifecycle wrapper.
- Derive integration removal from actual spans plus auto-mode state, including external deletion and mode shutdown.
- Verify copy, delete, local/global restoration, manual unjustify, isearch, mode disable, full ERT, fuzz, compilation, and checkdoc.
Non-goals
- No new command/menu surface.
- No general multi-filter framework.
- No save-serialization redesign beyond preserving
task004.
Rollback
Restore direct filter assignment and the prior public unjustify body, then remove the composition/lifecycle tests. No persisted state changes.