diff --git a/COHERENCE.md b/COHERENCE.md index 56c8d36..4af4bfd 100644 --- a/COHERENCE.md +++ b/COHERENCE.md @@ -356,6 +356,52 @@ This journey should become a release gate. New architectural work should be evaluated partly by whether it improves, preserves, or complicates the journey. +### 2a. Required subclaims per step (the GUI arc, Stage 0) + +**A grade whose subclaims are unstated is not falsifiable.** The +per-frontend table below grades each (step, frontend) cell as the +**minimum over that step's required subclaims** — never the first word +of a prose verdict. This section is that list, published so a reader can +disagree with a grade by pointing at a subclaim rather than at taste. + +Two rules decide what belongs here. **Discoverability is a subclaim +wherever it is the step's substance**, not an annotation on it — steps +4, 7, 8 and 11 are graded on whether a capability is *findable*, because +"present but nobody can find it" is the failure those steps exist to +catch. And **anything load-bearing enough to name as a defect is +load-bearing enough to be a subclaim**: an annotation cannot absorb a +failing one. + +| # | Step | Required subclaims | +|---|---|---| +| 1 | Install | (a) a documented install path completes on a clean machine; (b) the installed binary launches | +| 2 | Launch unconfigured | (a) starts with no user config; (b) presents a usable editing surface; (c) raises no error the user must dismiss | +| 3 | Open real project | (a) a file opens from the CLI; (b) a file opens from inside the editor; (c) a directory opens and is browsable; (d) the project root is established | +| 4 | Understand interface | (a) the mode line reports buffer state; (b) a help surface exists; (c) **discoverable** — the route to it is advertised in-product, not only known | +| 5 | Edit | (a) text edits apply and render; (b) undo/redo; (c) selection, kill and yank; (d) large and long-line files stay usable | +| 6 | Language intelligence | (a) a server attaches for a supported language; (b) diagnostics surface; (c) completion, hover and go-to-definition are available; (d) styling reflects the server | +| 7 | Find symbol / file | (a) open a file by path; (b) browse to a file without knowing its path; (c) find a symbol; (d) **discoverable** — the commands are bound or advertised | +| 8 | Open terminal | (a) a terminal opens; (b) input and output round-trip; (c) it can be closed or killed; (d) **discoverable** — reachable by an advertised binding | +| 9 | Build / test | (a) a build or test command runs; (b) its output is captured; (c) the output is navigable | +| 10 | Inspect error | (a) errors are enumerated; (b) navigation reaches the site; (c) the site is marked in the buffer | +| 11 | See background work | (a) work in flight is **visible without asking**; (b) a detailed view is reachable; (c) **discoverable** — reachable by an advertised binding; (d) cancellable | +| 12 | Close + restore | (a) closing is clean and loses no data; (b) per-file state (cursor, scroll) restores; (c) the open-buffer set and window layout restore | + +**Deliberately NOT subclaims.** Performance, aesthetics, and parity with +other editors: each is real, and each is graded elsewhere or nowhere. +Folding them in here would make every cell a judgement about taste and +the ordinal would stop meaning anything. **Frontend-specific +limitations are also not subclaims** — they are what the three columns +*measure*, so encoding them here would beg the question. + +**Step 12(c) is the worked example of why subclaims are per step and +not per frontend.** It is a required subclaim everywhere, and Q#DS9 +makes it structurally impossible on any daemon-backed frontend — so the +GPU cell fails it by construction rather than by omission. That is a +finding the old single-verdict table could not express, because "Partial" +was doing the work of both "some of this is missing" and "some of this +cannot exist yet". + ### Ground truth: the journey today **Grade: reaches step 5; thin from step 6 on.** Was **broken at step 3**