ekp/.phrase/phases/phase-kp-overhaul-20260726/change_buffer_module_naming_20260728.md
Kinneyzhang 83352c4571 feat!: add source-clean live buffer layout
Replace the physical ekp-region renderer with ekp-buffer text-property projection backed by shared semantic layout plans and stable live-edit transactions.

Optimize the C-backed resize hot path, and add deterministic performance, ERT, GUI, fuzz, release, and documentation coverage for task017 through task032.

BREAKING CHANGE: require ekp-buffer instead of ekp-region and rename module-owned ekp-region-* settings to ekp-buffer-*.
2026-07-30 01:07:25 +08:00

2.5 KiB

Change Log: Buffer Module Naming 2026-07-28

task017

  • Delete/Addekp-region.elekp-buffer.el

    • Renamed the editor integration file and provided feature around the buffer lifecycle owner.
    • Renamed module configuration and private symbols from ekp-region* to ekp-buffer*.
    • Attached the buffer customization subgroup to the top-level ekp group and made the protrusion-reserve helper explicitly private.
    • Kept public commands whose names correctly describe region, buffer, or mode behavior.
  • Delete/Addtests/ekp-region-tests.eltests/ekp-buffer-tests.el

    • Renamed the test feature, fixtures, and ERT names.
    • Updated default, random-order, isolated, GUI, and showcase loaders.
  • Modify — CI, contribution, public/developer/audit documentation

    • Updated compilation, lint, checkdoc, test, and Windows CI paths.
    • Replaced the documented require/configuration surface and file maps.
    • Added the breaking migration to CHANGELOG.md.
    • Recorded the ownership decision in postmortem/20260728-buffer-module-naming.md.

Cleanup Review

  • Naming mismatch: resolved at the owning module/feature/configuration/test boundary.
  • Dead code, duplication, error handling, dependency, and UI: unchanged and outside this pass.
  • Fallback findings: only the existing selected-window width fallback, classified as a grounded undisplayed-buffer boundary.
  • No masking fallback, swallowed error, compatibility shim, new dependency, new abstraction, or unrelated refactor was introduced.

Validation

  • Pre-change behavior lock: ERT 130/130.
  • Focused buffer ERT after rename: 44/44.
  • Default and seeded-permuted ERT: 130/130 each.
  • Fresh-process isolation: every one of 130 selected ERT tests passed.
  • C/Elisp property fuzz: 300/300.
  • Warning-as-error production byte compilation: pass.
  • Checkdoc and pinned package-lint: pass.
  • Release invariants, shell syntax, diff check, and active-surface stale-name scan: pass.
  • Mechanical runtime/test equivalence against the approved rename table: pass.

Behavior and Risk

  • Layout, serialization, search, copy, undo, and automatic reflow behavior are unchanged.
  • This is an intentional source-level breaking rename: users must require ekp-buffer and rename any ekp-region-* settings.
  • No saved-file format, dependency, Emacs baseline, C ABI, or release artifact changed.
  • Generated .elc verification artifacts were removed after compilation; they can be regenerated from the source.