OpenGenie
Repository on GitHub

007 · The shell and the keys

On this page

Status: spec + implementation plan, then implementation (this folder is the record). Scope: the shell only — zones, controls, scrolling, keyboard, focus. Not the agent, not the notebook model, not the backend. Those are 003 and 006 and are cited, not restated.


What this folder is

A cross-referenced set, written to be read in any order but complete when read in this one:

#DocumentAnswers
01Five whys and first principlesWhy does this work exist at all, and what is irreducible?
02Measured assessmentWhat is actually wrong, in numbers, with the file and line
03RequirementsWhat must be true when it is done (SH-*, KB-*, SC-*, ZN-*)
04Wireframes (ASCII)What each zone and each navigation state looks like
05Diagrams (Mermaid)Sequences, states, and the data model of a view
06Six lensesThe same system seen by six different owners
07ArchitectureWhere each rule lives in the code, and why there
08Implementation planPhases, files, tests, order
09Edge casesEvery failure I could name, its mitigation, its test
10E2E planThe scenes, the screenshots, the pass criteria
11OutcomeWhat shipped, and the four defects the screenshots found
12Hidden panelsZN-7/ZN-8: a panel that can be hidden must be findable again
13MathMD-1…MD-6: LaTeX in markdown, and what "clunky" actually is

Cross-reference convention: a requirement id is cited as [SH-3], a decision as [D7], an edge case as [E-12], a scene as [S4]. Every id is defined exactly once and linked from everywhere else. If a document cites an id that is not in 03/09, that is a bug in the document set.


The one sentence

A shell is finished when the user can reach every control and every pixel of content without a mouse, without losing their place, and without the app moving under their hands.

Everything below is an argument about that sentence. The assessment in 02 finds four places where this app fails it today; the plan in 08 fixes those and nothing else.

Prior art inside this repository