sage: #1782 design D1 ruling (sage-2487) and the Console thread-claims follow-up brief

This commit is contained in:
jason.woltje committed 2026-10-22 00:14:35 -05:00
1 parent ab50de9fe3
commit 70e289ba73
1 file changed
+40
@@ -50,3 +50,43 @@ Mutants, each killed by a named test:
Gate: Duckworth approves the manifest. The touched test files run whole, the bus and cli suites and every
scripts/test-*.sh are green on Sage's gate, and the mutants are killed.
## Ruling on design r1 (sage-2487)
Duckworth approved Morgana's design r1 (3e9939b7b) as D1: a separate human and reader verb `thread.claims`,
with `agents` unchanged, under conditions C1-C3 (duckworth-0118, agents/duckworth/work/row1782/DESIGN-r1.md
at 13fb9abc5). The brief allowed that shape. Brief item 5's pin moves to `thread.claims`, as C3 records.
Row 277 builds it.
The Console doesn't show thread claims under D1, and an owner who uses only the Console won't run
`mosaic agents`. So PRD :1083-1084 isn't met until the Console shows them too. That's the follow-up brief
below, with the same bind as row 277.
## Brief: the Console shows thread claims
Chained on row 277. Start from refactor after 277 lands.
What to build:
1. The Console's Agents view gets a "Thread claims" section for a human or reader session. It reads
`thread.claims` and lists each held claim: thread id, holder run, harness and claim time.
2. The existing role rows (webui public/bus.js :447, :462, :474) keep their shape, counts and order.
3. No message body and no thread name a user wrote appears in the section.
4. An empty result shows an empty-state line, not an error. A refusal from `thread.claims` shows the
refusal and leaves the role rows intact.
Tests:
- The section lists a held claim and drops it after release.
- Role rows and their counts are byte-equal to before for the same store.
- No message body or user-written thread text in the rendered section.
- A refused `thread.claims` call leaves the role rows rendered.
Mutants, each killed by a named test:
- M1. The section is not rendered.
- M2. Thread claims are counted into the role totals.
Gate: Webby approves the manifest. The touched test files run whole, the webui and bus suites and every
scripts/test-*.sh are green on Sage's gate, and the mutants are killed. No user thread goes live before this
row lands.