decisions: 132, text-mode inbox fallback; brief for row 99 (#1593)

Mos's ruling: text-mode inbox prints the decisions and a one-line
notice when the pre-94 bus refuses the messages verb. The bus restart
does not move earlier.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-13 08:04:34 -05:00
co-authored by Claude Opus 5.5
parent 2b2a9e14ee
commit 4233534da8
2 changed files with 68 additions and 0 deletions
+17
View File
@@ -2949,3 +2949,20 @@ which stay with him. Each item names who decided it and what happened.
- Sage makes the queue change (owner, reviewers, gate) when row 91
closes, not before, so row 93 stays parked behind 91 as decision
118 already has it.
132. **Text-mode inbox falls back until the bus restarts (2026-10-13,
Mos's ruling, which Mos numbered 131 on their side).** Row 94 made
text-mode `mosaic inbox` call the bus `messages` verb, and the
running pre-94 bus refuses it with `unknown-verb`, so the command
fails. Sage reproduced it with a stub transport; agents can't run
the live human CLI (REQ-DEC-3). No role session or wrapper calls
text-mode inbox, and the bus journal shows no failure since the
landing.
- A fix row (99) lands now through the normal gate: on
`unknown-verb` from the messages call, text-mode inbox prints the
decisions plus `messages: not available until the bus restarts`
and exits 0.
- A Haiku subagent builds it (decision 129) and Filbert reviews.
It takes the test slot ahead of rows 80 and 88.
- The bus restart doesn't move earlier for this. Decision 118's
order stands.
+51
View File
@@ -298,3 +298,54 @@ landed.
Darkwing approves on the row's issue, naming the candidate manifest.
The suites above pass on Sage's gate rerun. Tests and README only, so
nothing goes live and no restart is involved.
## Row 94 follow-up: text-mode inbox works against a pre-94 bus
### Problem
Row 94 (2b2a9e14) made text-mode `mosaic inbox` call the bus `messages`
verb after `inbox`. The running bus predates row 94 and has no
`messages` verb, so it answers `unknown-verb`. Text-mode inbox then
fails and prints nothing, not even the decisions. `--json` still works
because it returns before the messages call. Mos found it; Sage
reproduced it in-process with a stub transport. The bus restart stays
where decision 118 puts it, so the CLI has to cope (decision 132).
### Owner and reviewer
A Haiku subagent builds it under decision 129, owner `researcher`.
Filbert reviews.
### Files owned
- `packages/cli/src/cli.mjs`, the text-mode branch of the `inbox` verb
only.
- `packages/cli/tests/` (the existing cli test file that covers
`inbox`, or a new one).
### What ships
- When the `messages` call fails with error code `unknown-verb`,
text-mode inbox prints the decisions as it did before row 94, then
one line, `messages: not available until the bus restarts`, and
exits 0.
- Any other error from the `messages` call still fails as it does now.
- `--json` is unchanged.
- Tests, with a stub transport as the existing cli tests use: the
unknown-verb case prints the decisions and the line and exits 0;
another error code still fails; the normal path still lists unread
messages. Each test is shown to fail on a mutant that removes or
widens the fallback.
Suites: the cli node suite and every `scripts/test-*.sh`.
### Out of scope
The bus, the Console, `talk`, `messages` and `follow`. No restart.
### Gate
Filbert approves on the row's issue, naming the candidate manifest.
The suites above pass on Sage's gate rerun. `cli.mjs` applies to new
CLI runs as soon as it lands, so it gets decision-109 notices to Mos
before and after landing.