From 4233534da82ac15119358722eb6182c73cfd75b1 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Tue, 13 Oct 2026 08:04:34 -0500 Subject: [PATCH] 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 --- docs/plans/2026-09-26_lead-decisions.md | 17 +++++++++ docs/plans/2026-10-12_pm-test-fixes.md | 51 +++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md index 3c5d46d7d..d189363a5 100644 --- a/docs/plans/2026-09-26_lead-decisions.md +++ b/docs/plans/2026-09-26_lead-decisions.md @@ -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. diff --git a/docs/plans/2026-10-12_pm-test-fixes.md b/docs/plans/2026-10-12_pm-test-fixes.md index dff83c098..1550f78d6 100644 --- a/docs/plans/2026-10-12_pm-test-fixes.md +++ b/docs/plans/2026-10-12_pm-test-fixes.md @@ -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.