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.
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# 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
|
|
|
|
1. Drive the public `filter-buffer-substring` path with a prior local filter
|
|
and prove EKP currently overwrites it.
|
|
2. Record the prior filter and whether it was local; define prior-filter
|
|
then logical-inversion order so DELETE remains owned by the prior path.
|
|
3. Split internal structural unjustify from the public lifecycle wrapper.
|
|
4. Derive integration removal from actual spans plus auto-mode state,
|
|
including external deletion and mode shutdown.
|
|
5. 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.
|