diff --git a/docs/keymap-rewrite-handoff.md b/docs/keymap-rewrite-handoff.md index c769ddc088..a38ff2b308 100644 --- a/docs/keymap-rewrite-handoff.md +++ b/docs/keymap-rewrite-handoff.md @@ -128,21 +128,25 @@ Source of truth for intent and behavior: All commands below were run in this workspace. 1. Config commit (`1913b55afb75`) + - `cd codex-rs && just fmt` - `cd codex-rs && cargo test -p codex-core --lib` - Result: pass (`996 passed; 0 failed; 4 ignored`). 2. Resolver/characterization commit (`187aa6969e03`) + - `cd codex-rs && just fmt` - `cd codex-rs && cargo test -p codex-tui` - Result: pass (`797 passed; 0 failed; 2 ignored` + integration/doctest pass). 3. Wiring commit (`aeb6caaecbbc`) + - `cd codex-rs && just fmt` - `cd codex-rs && cargo test -p codex-tui` - Result: pass (`806 passed; 0 failed; 2 ignored` + integration/doctest pass). 4. UX/hints commit (`HEAD`) + - `cd codex-rs && just fmt` - `cd codex-rs && cargo test -p codex-tui` - Result: pass (`806 passed; 0 failed; 2 ignored` + integration/doctest pass). diff --git a/docs/keymap-rollout-plan.md b/docs/keymap-rollout-plan.md index 2239028018..1cd5152e90 100644 --- a/docs/keymap-rollout-plan.md +++ b/docs/keymap-rollout-plan.md @@ -13,6 +13,7 @@ additive stack while preserving the final behavior from revision `0f03e76c`. ## Commit Sequence 1. **Docs and specification foundation** + - Add/reshape long-term docs that explain how the keymap system works. - Include: - conceptual model @@ -22,17 +23,20 @@ additive stack while preserving the final behavior from revision `0f03e76c`. - No functional code change. 2. **Additive config primitives (not wired)** + - Introduce keymap config types and schema support in `core`. - Keep runtime behavior unchanged by not consuming these config values yet. - Ensure parsing/serialization paths are complete and documented. 3. **Behavior characterization tests (pre-rewrite)** + - Add tests that lock down existing event behavior before switching bindings. - Cover key event matching and context-sensitive behaviors that must stay stable. - Use these tests as the safety net for subsequent rewiring. - Run `cargo llvm-cov` and target full branch coverage for keybinding logic. 4. **Binding replacement using characterized behavior** + - Introduce keymap-driven binding resolution and wire call sites. - Replace legacy binding checks while preserving characterized behavior. - Keep docs in sync with any semantics that became explicit.