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

1.4 KiB

Change Log: Interactive Protection Workflow 2026-07-28

task013

  • Modifyekp-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.
  • Modifytests/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.