docs: Stage 0 --- `*workers*` has a binding; what it lacks is one that OPENS it
"`*workers*` has no binding at all" was false. The view carries a buffer-local `C-c C-k` for `workers.cancel-at-point` (`builtin/runtime/async.lua`, documented at `docs/keybindings.md:282`). Corrected at all four sites it had spread to: the table row, the contract paragraph, the summary, and the framing's historical example. The absent thing is narrower and is now said precisely: NO BINDING OPENS `editor.list-workers`. A binding that only works once you are already inside the view cannot satisfy a discoverability subclaim --- which is the same shape as the route-versus-binding distinction the previous commit drew, one level further in. A route reaches the view but is not a binding; `C-c C-k` is a binding but does not reach it. 11(c) asks for the conjunction, and neither half alone supplies it. The Missing grade is unchanged, and so is the two-step GPU deficit. What changes is that the row now states a fact about the tree rather than an overstatement that happened to point at the right grade --- which is the distinction this table exists to hold, since a grade resting on a false premise is not falsifiable, it is merely unfalsified. Left alone deliberately: the audit quote at COHERENCE.md:562, where "no bindings at all" refers to opening a file, opening a terminal and running a build. That is a historical observation about OTHER commands, and the paragraph immediately below it already records that all three were answered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bqGA6s9tTUFzYpbeW3tai
This commit is contained in:
parent
926ac75def
commit
be73766638
18
COHERENCE.md
18
COHERENCE.md
|
|
@ -452,8 +452,12 @@ is what produced the earlier `Partial` at steps 4 and 7.
|
||||||
|
|
||||||
**A binding is a stronger claim than a route, and 11(c) asks for the
|
**A binding is a stronger claim than a route, and 11(c) asks for the
|
||||||
binding.** That is why step 11 still fails while step 7 passes: both are
|
binding.** That is why step 11 still fails while step 7 passes: both are
|
||||||
reachable through the help graph, but `*workers*` has **no binding for
|
reachable through the help graph, but **no binding reaches
|
||||||
any listing to name**.
|
`editor.list-workers`**. `*workers*` is not binding-free — it carries a
|
||||||
|
buffer-local `C-c C-k` for `workers.cancel-at-point`
|
||||||
|
(`async.lua`; `docs/keybindings.md:282`) — and that binding lives
|
||||||
|
*inside* the view, so it cannot help anyone find it. The absent thing is
|
||||||
|
specifically **a binding that opens it**.
|
||||||
|
|
||||||
| # | Step | local TUI | attached TUI | GPU | binding subclaim |
|
| # | Step | local TUI | attached TUI | GPU | binding subclaim |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
|
|
@ -467,7 +471,7 @@ any listing to name**.
|
||||||
| 8 | Open terminal | Works | Works | Works | 8(c) satisfied by the **global** `M-x buffer.kill-this` (`default.lua:1209`); killing a terminal buffer prunes the session and reaps the process (`vterm_stage1_acceptance.rs:336`). 8(c) never required a terminal-*specific* command. 8(d) passes on the welcome's `C-c t` |
|
| 8 | Open terminal | Works | Works | Works | 8(c) satisfied by the **global** `M-x buffer.kill-this` (`default.lua:1209`); killing a terminal buffer prunes the session and reaps the process (`vterm_stage1_acceptance.rs:336`). 8(c) never required a terminal-*specific* command. 8(d) passes on the welcome's `C-c t` |
|
||||||
| 9 | Build / test | Works | Works | Works | 9(d) passes on the welcome's `C-c c` entry, not on the bare binding; 9(a) runs in the detected project's context |
|
| 9 | Build / test | Works | Works | Works | 9(d) passes on the welcome's `C-c c` entry, not on the bare binding; 9(a) runs in the detected project's context |
|
||||||
| 10 | Inspect error | Works | Works | Works | all of 10(a–c) hold. *Being gated on step 6 or 9 is a **dependency, not a subclaim**, and §2a's membership rule forbids an annotation from lowering a grade — an earlier draft let it do exactly that. Grading the dependency would require adding it as a subclaim first* |
|
| 10 | Inspect error | Works | Works | Works | all of 10(a–c) hold. *Being gated on step 6 or 9 is a **dependency, not a subclaim**, and §2a's membership rule forbids an annotation from lowering a grade — an earlier draft let it do exactly that. Grading the dependency would require adding it as a subclaim first* |
|
||||||
| 11 | Understand background work | **Missing** | **Missing** | **Missing** | 11(c) — the `*workers*` view has **no binding at all**, so a keybinding listing cannot reveal it: the subclaim is **absent**, not degraded, and it floors the cell. 11(b) fails too — #232 gives **purpose**, never an accountable **owner**, and the planes stay disjoint (jobs in `*workers*`, processes in `pmacs.process.list`, servers in `*lsp*`, terminals **nowhere**). 11(a) passes on the activity indicator |
|
| 11 | Understand background work | **Missing** | **Missing** | **Missing** | 11(c) — **no binding opens `editor.list-workers`**, so a keybinding listing cannot lead anyone to it: the subclaim is **absent**, not degraded, and it floors the cell. *The view is not binding-free — `C-c C-k` runs `workers.cancel-at-point` buffer-locally inside it (`docs/keybindings.md:282`) — but a binding that only works once you are already there cannot satisfy a discoverability subclaim.* 11(b) fails too — #232 gives **purpose**, never an accountable **owner**, and the planes stay disjoint (jobs in `*workers*`, processes in `pmacs.process.list`, servers in `*lsp*`, terminals **nowhere**). 11(a) passes on the activity indicator |
|
||||||
| 12 | Close + restore | **Partial** | **Missing** | **Missing** | 12(c) — local restores nothing beyond per-file state (desktop-save is opt-in); on **both daemon-backed frontends it is a structural no-op** (Q#DS9), so they fail it **by construction** |
|
| 12 | Close + restore | **Partial** | **Missing** | **Missing** | 12(c) — local restores nothing beyond per-file state (desktop-save is opt-in); on **both daemon-backed frontends it is a structural no-op** (Q#DS9), so they fail it **by construction** |
|
||||||
|
|
||||||
**Closure condition 2 currently FAILS, at exactly two steps.** GPU is
|
**Closure condition 2 currently FAILS, at exactly two steps.** GPU is
|
||||||
|
|
@ -481,9 +485,11 @@ is a property of the tree rather than of the grader.
|
||||||
**The journey's two worst steps are frontend-INDEPENDENT**, and that is
|
**The journey's two worst steps are frontend-INDEPENDENT**, and that is
|
||||||
the table's other finding. Steps 6 and 11 grade `Missing` in all three
|
the table's other finding. Steps 6 and 11 grade `Missing` in all three
|
||||||
columns: language intelligence dies silently after a server crash, and
|
columns: language intelligence dies silently after a server crash, and
|
||||||
background work has no advertised **binding** — a route exists
|
**no binding opens** the background-work view — a route exists
|
||||||
(`M-x help` → `help.list-commands` → `editor.list-workers`), which is
|
(`M-x help` → `help.list-commands` → `editor.list-workers`), and a
|
||||||
why 11(c)'s wording asks for a binding and not a route. Neither is GUI work,
|
buffer-local `C-c C-k` exists *within* the view, but nothing bound leads
|
||||||
|
to it. That is why 11(c) asks for a binding rather than a route, and why
|
||||||
|
the binding it asks for is one that **reaches** the view. Neither is GUI work,
|
||||||
neither is closed by this arc, and both were previously carried as
|
neither is closed by this arc, and both were previously carried as
|
||||||
`Partial` — which is how they stayed off the critical path.
|
`Partial` — which is how they stayed off the critical path.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -427,7 +427,10 @@ step. They quote the **pre-Stage-0** verdict strings, not today's table:
|
||||||
`help.list-keybindings`, which names every registered binding.
|
`help.list-keybindings`, which names every registered binding.
|
||||||
- **Step 11** — the row then read "**Works but undiscoverable**". Same
|
- **Step 11** — the row then read "**Works but undiscoverable**". Same
|
||||||
shape, and here the outcome **stands**: Stage 0 also graded it
|
shape, and here the outcome **stands**: Stage 0 also graded it
|
||||||
`Missing`, because `*workers*` has no binding for any listing to name.
|
`Missing`, because **no binding opens `editor.list-workers`** for a
|
||||||
|
listing to name. The view does carry a buffer-local `C-c C-k`
|
||||||
|
(`workers.cancel-at-point`), which is reachable only once you are
|
||||||
|
already inside it.
|
||||||
|
|
||||||
The rule these examples exist to establish is untouched by either
|
The rule these examples exist to establish is untouched by either
|
||||||
outcome: **the head-grade rule would have graded both `Works`**, and
|
outcome: **the head-grade rule would have graded both `Works`**, and
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue