[core] Port editing model, completion, navigation, UI, and workspaces #12

Open
opened 2026-09-16 04:13:23 +00:00 by nsaspy · 0 comments
Owner

Parent: #1

RAGE contract

Consume only this issue on rage/<issue>-<slug>. Initialize the run log with the canonical RAGE helper and preserve the immutable full start SHA. Load the canonical rage and adadr skills from lost-rob0t/skills before architecture or implementation. Blocked by the control-plane decision in #2.

Queue blockers: #4

Analyze

  • Capture behavior supplied by company, ivy, Doom UI, emoji/unicode, hl-todo, modeline, ophints, popup defaults, vc-gutter, workspaces, evil, fold, format-on-save, lispy/parinfer interaction, word-wrap, undo, ibuffer, discover, app-launcher, and Burly-style window/session restoration.
  • Map commands and keys by intent, not by Emacs symbol name.

Gate

  • Choose native Lem primitives or focused Common Lisp extensions for each behavior.
  • Preserve the user's modal/leader workflow; do not force stock Emacs bindings as the only interface.

Execute

  • Implement the smallest coherent core configuration and command/keymap layer.
  • Keep frontend-specific UI code separated from editor-core behavior.

Evaluate

  • Run deterministic command, keymap, buffer, window, completion, undo, formatting, and workspace lifecycle tests in ncurses and the selected GUI frontend.
  • Compare black-box probes against the source behavior.

Recurse

  • Split only when evidence shows a separable blocked capability; keep ownership in the KB.

Acceptance

  • Daily editing/navigation is usable without Doom.
  • Workspace and buffer state survive the intended lifecycle.
  • No core key silently shadows another migrated command.

Durable evidence

  • Update the relevant facts in .prolog/kb/lem_migration.pl and .prolog/kb/issues.pl in the same change.
  • Record focused red/green evidence, the full local gate, packaging checks, and exact-head CI status.
  • Keep failed iterations and architecture contradictions visible.

Stop conditions

  • Required behavior has no approved mapping.
  • Frontend-specific code contaminates editor-core abstractions.
  • Regression probes contradict the design.
Parent: #1 ## RAGE contract Consume only this issue on `rage/<issue>-<slug>`. Initialize the run log with the canonical RAGE helper and preserve the immutable full start SHA. Load the canonical `rage` and `adadr` skills from `lost-rob0t/skills` before architecture or implementation. Blocked by the control-plane decision in #2. Queue blockers: #4 ## Analyze - Capture behavior supplied by company, ivy, Doom UI, emoji/unicode, hl-todo, modeline, ophints, popup defaults, vc-gutter, workspaces, evil, fold, format-on-save, lispy/parinfer interaction, word-wrap, undo, ibuffer, discover, app-launcher, and Burly-style window/session restoration. - Map commands and keys by intent, not by Emacs symbol name. ## Gate - Choose native Lem primitives or focused Common Lisp extensions for each behavior. - Preserve the user's modal/leader workflow; do not force stock Emacs bindings as the only interface. ## Execute - Implement the smallest coherent core configuration and command/keymap layer. - Keep frontend-specific UI code separated from editor-core behavior. ## Evaluate - Run deterministic command, keymap, buffer, window, completion, undo, formatting, and workspace lifecycle tests in ncurses and the selected GUI frontend. - Compare black-box probes against the source behavior. ## Recurse - Split only when evidence shows a separable blocked capability; keep ownership in the KB. ## Acceptance - [ ] Daily editing/navigation is usable without Doom. - [ ] Workspace and buffer state survive the intended lifecycle. - [ ] No core key silently shadows another migrated command. ## Durable evidence - Update the relevant facts in `.prolog/kb/lem_migration.pl` and `.prolog/kb/issues.pl` in the same change. - Record focused red/green evidence, the full local gate, packaging checks, and exact-head CI status. - Keep failed iterations and architecture contradictions visible. ## Stop conditions - Required behavior has no approved mapping. - Frontend-specific code contaminates editor-core abstractions. - Regression probes contradict the design.
Sign in to join this conversation.
No description provided.