Skip to content

Xiki

Xiki (“a shell console with GUI features”) is a long-running experiment in making text expandable and executable in-place. The interaction model: any line of text in a Xiki buffer can be a command; pressing a hotkey on a line “expands” it — replacing the command with its output indented underneath. The output is itself further expandable: shell commands return text the user can expand again; file paths return directory listings; URLs return rendered content; database queries return rows the user can expand into row detail; etc. The result is a tree-shaped exploration of state built up by progressive expansion, with every node being live and re-runnable.

For KN-86 this is a directly relevant interaction-model reference because the deck’s TERM-key surface + nEmacs REPL (ADR-0016) wants exactly this affordance: type something, expand it, see the result, expand the result, navigate the tree.

  • Expandable-command-tree as a TERM-line interaction. When the operator types a verb at the TERM line, the result should be expandable in placeSTATUS expands to a status summary; the summary lines themselves expand to detail; the detail rows expand to history. The user navigates a tree of progressively-disclosed state without ever leaving the deck. This is a strictly stronger pattern than Gloomberb’s “command bar opens a pane” model and worth piloting on the nEmacs REPL surface.
  • Live-menu interaction model. Xiki’s expansion produces text that is itself a menu of next steps — and the next steps are right there, indented, ready to expand. KN-86 can take this directly: typing MISSIONS expands to a list of available contracts; each contract expands to its phases; each phase expands to its requirements. The text on the screen is always the menu of next moves.
  • Tree as the navigation model. Xiki commits to a tree shape for the entire interaction history — every expansion is a child of the line it was triggered from; closing collapses the subtree. For KN-86 the same shape works on the REPL surface (cf. history.el.md for the non-destructive-navigation pattern) — every command + result is a tree node; pressing TAB or ENTER on a node expands or collapses it.
  • The mature implementation is in Emacs. Xiki’s primary substrate has been Emacs for most of its life. That alignment is meaningful for KN-86’s nEmacs-style REPL (ADR-0016): the Xiki model translates more naturally onto an Emacs-derived editor than onto a generic terminal — buffer-local state, in-place editing, named navigation. The KN-86 REPL inherits exactly the right substrate.
  • Pair with history.el. Xiki’s expansion model and history.el’s non-destructive-history pattern compose: the expansion tree is itself the navigation history; closing and reopening a subtree preserves its state because the history isn’t lost.

No image downloaded — Xiki is captured as an interaction-model reference.

  • Strong direct citation for the nEmacs / REPL spec (docs/software/runtime/repl.md + ADR-0016). Xiki is the contemporary working example of “every text line is live, every result is expandable” — and the nEmacs REPL should adopt the pattern as a first-class affordance.
  • Cross-link history.el.md for the non-destructive navigation companion pattern.
  • Cross-link l123.md — l123’s slash-menu is one expansion model (first-letter descent through a fixed tree); Xiki’s expand-in-place is another (arbitrary text becomes a tree node on demand). KN-86 can support both: l123-style for the firmware command surface, Xiki-style for the REPL.
  • The “everything is live” posture also resonates with the Zork imperative-parser model — Xiki’s expansion is a kind of parser where every line is its own micro-program. Different surface, related instinct.