ekp/.phrase/phases/phase-kp-overhaul-20260726/change_interactive_protection_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

37 lines
1.4 KiB
Markdown

# Change Log: Interactive Protection Workflow 2026-07-28
## task013
- **Modify** — `ekp-region.el`
- All four protection commands now share one property/feedback owner.
- Interactive calls report the affected character count and
current-buffer-session lifetime.
- Auto-justify mode help and a standard EKP menu expose the existing
format, protection, removal, and diagnostic commands.
- **Modify** — `tests/ekp-region-tests.el`
- Drive no-break and verbatim mark/clear commands through
`call-interactively`.
- Verify behavior through the real public formatters, visible feedback,
mode help, and menu discovery.
- **Modify/Add** — bilingual README, changelog, audit and
`postmortem/20260728-session-local-protection.md`
- State that manual text properties do not survive plain-text save/reopen
and route persistent syntax through faces/predicates.
## Validation
- Focused public-path red/green: 0/3 → 3/3.
- Full default and seeded-permuted ERT: 127/127 each.
- Fresh-process isolation: every one of 127 ERT tests passed.
- Warning-as-error production byte compilation, checkdoc, release,
dictionary, and diff gates: pass.
## Behavior and Risk
- No file format, persistent metadata, or global key binding is added.
- Programmatic callers remain quiet unless they request the optional
announcement; interactive callers always receive feedback.
- Existing commands and arguments remain compatible.