Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aca16404cf | ||
|
|
f7e4ec3df5 | ||
|
|
b789188504 | ||
|
|
84f53540dd | ||
|
|
2cc34aef87 | ||
|
|
93f4af12bc | ||
|
|
75f049ed23 |
@@ -5303,3 +5303,11 @@ Before: managed project/thread verbs had no Console conversation area. After: fi
|
||||
### 2026-10-22 | Gander | row278 gate run3
|
||||
|
||||
Fresh gate on3e4c77ac6 under sage-2648: bus793/0, WebUI345/0/1 (esbuild version skip), all ten shell files425/0, touched files15/0, M1-M6 killed6/6. No timeout; sweep0 run-created leftovers. Runs1/2 void. Seven-path manifest8fa859a0 goes to Webby for final review. No landing or live change.
|
||||
|
||||
2026-10-22 11:29:09 UTC | Rocko | V502 carry/rerun on980cec88c: source407c8d7be and packet04a86cf33 match approved8e3c6a79b/9bf4683c6 patch-ids, no conflicts. Dewey0834 carry conditioned on rerun, satisfied under sage2616: stop-run13,processingHTTP6,bustasks9 allgreen (Node28/28),Python4/4,0skips/timeouts. Manifest5758d699,source5/5restored,cwdsweep[]. Doc rerun packet6af85df4b explicitly pushed to rocko/vikunja502-980c-20261022; no live action.
|
||||
|
||||
2026-10-22 11:30:17 UTC | Sage | Vikunja 502 (row 191 follow-up, no queue row) LANDED 6af85df4b, a fast-forward from 980cec88c. Before: the processing failure diagnostics and cleanup in stop-run, processing HTTP and bus tasks tests were Dewey-approved on the pre-194 base only (8e3c6a79b/9bf4683c6). After: Rocko's picks 407c8d7be/04a86cf33 carry the same patch-ids (37135ebe/0dbcda54), plus a doc-only rerun record 6af85df4b. The rerun on the new base was green: stop-run 13/13, processing HTTP 6/6, bus tasks 9/9, Python 4/4, 0 skips. Dewey carried the approve (dewey-0836). mosaic-task.mjs is unchanged, so N7 (runs suite) didn't trigger. Overlap with in-review rows 13 and 257 was clean. LIVE is still 86f95bb27.
|
||||
|
||||
2026-10-22 13:10 UTC | Sage | Rows 278 and 281 LANDED. Before: refactor at 6af85df4b (V502). Row 278 (#1783, Gander, Webby): the Console Agents view shows thread claims in their own section. It landed as 385a7194c at 12:39Z, ff, 9 commits, manifest 8fa859a0. Run 3 was green: bus 793, webui 345/0/1, ten shells 425/0 under the 3x limits (mos-1275), M1-M6 killed. Runs 1 and 2 were void, on fixture fixes 964b6b184 (placed by Sage) and 9696d1fcb (ruled by Mos, mos-1275). Webby approved (c30588, rev 3200). Done rev 3202, #1783 closed c30589. Row 281 (#1786, Megavolt, Dewey): a fire or a delete revokes the instance's host and Gitea grants. It landed as e479521d3 at 13:06Z, ff, 17 commits, manifest b73d4c81. Slot on 7979fb41e: bus 819, business 231, cli 837, dewey-bus 76 with the Docker gitea-grant test, shells green, M1-M22 killed. The M1 hang was fixed at its cause in b4a (mos-1273). Dewey approved (c30614, rev 3207). Done rev 3209, #1786 closed c30621. Skips on both: test-task's row 244 live-provider pair and test-queue's canonical-root check, plus webui's esbuild rebuild test on 278. After: refactor at e479521d3. DEFERRED moves the grant gap to Done and opens Dewey's N1/N2 text gaps. LIVE is still 86f95bb27.
|
||||
|
||||
2026-10-22 14:18:23 UTC | Sage | Row 264a LANDED (#1769, Gizmoduck, Duckworth): sessions per thread, schema 3k-3l. Before: refactor at e479521d3 (row 281). It landed as 84f53540d, ff, 21 commits, manifest 257408e9 (Duckworth approve rev 3214, comment 30640). Gate r13 on 2cc34aef8: 20 touched files, bus 827, cli 837, webui 345/1 named skip, ten shells under 3x limits, mutants M1-M4 killed on assertions. Corrections on the way: the kit stopped on first red, so four reds surfaced one at a time. r10 later3l missed a trigger (mos-1276). T2 had failed since r2 because refusals log action.refused (mos-1277, my sage-2257 wording). threads.test:341 kept the old trigger text (mos-1278). M2 was caught by the store trigger before any assertion, so it now drops the trigger too (mos-1279, four files with the SCHEMA_SHA256 pin). Deferred: actor_run pin binds row 269, esbuild skip to a later gate, session-scoped user reply binds row 272. No live change; LIVE is still 86f95bb27.
|
||||
|
||||
@@ -201,11 +201,27 @@ Each runs on a copy of the candidate tree with one edit, and the named test must
|
||||
run's fence entirely, so the kill shows the refusal is tested, not that generations add a check.
|
||||
A mutant that puts back `h.holder_run !== s.run` survives by equivalence. That isn't a coverage
|
||||
gap.
|
||||
- M2. In `message.receive`, drop the `mt.session=?` filter (the session clause and its argument).
|
||||
Killed by sessions.test T1, where a1 would take the second session's message.
|
||||
- M2 (mos-1279, sage-2688, sage-2690). Four edits, and the restore sha check covers all four files:
|
||||
1. broker.mjs:5251, in `message.receive`: drop the `mt.session=?` filter (the session clause and
|
||||
its argument).
|
||||
2. 3k-3l.sql: drop the `delivery_same_session` trigger.
|
||||
3. schema.sql: drop the same trigger.
|
||||
4. store.mjs:16: set `SCHEMA_SHA256` to the sha256 of the mutated schema.sql, with the replace
|
||||
sessions.test:432 uses. store.mjs:94 checks schema.sql against it at import (duckworth-0144).
|
||||
`LEGACY_SHA256` stays. The chain check at :117 holds because both SQL files drop the trigger.
|
||||
Without edits 2-4, the trigger refuses #delivery's INSERT first. request() then returns
|
||||
storage-refused before any assertion runs. That happened at r13 (duckworth-0143).
|
||||
A kill counts only as an assertion in a test that exercises receive: sessions.test T1 :89, T7 :422,
|
||||
or another receive assertion the log names. A failure only at the trigger's own pin (:164-170)
|
||||
doesn't count, and neither does a thrown error. The killing test is expected to be T1, where a1
|
||||
would take the second session's message.
|
||||
- M3. In 3k-3l.sql, count every claim row for `generation` instead of `op='claim'` rows only.
|
||||
Killed by sessions.test T7, generations 1, 1, 1, 2, 2.
|
||||
|
||||
Phase 4 rerun on r13 (mos-1279, sage-2688). The r13 gate's phases 1-3 carry. M1-M4 rerun whole on
|
||||
2cc34aef8 plus this note, each under `timeout -k 10 300` (Run limits). Any survivor, throw or
|
||||
non-receive kill goes to Mos unplaced.
|
||||
|
||||
### Dry run
|
||||
|
||||
Before writing any node test, I ran 3j-3k.sql in an in-memory Python sqlite3 on a 3j fixture
|
||||
@@ -417,6 +433,28 @@ range-diff gives all 16 `=`. The r9 run never started (sage-2665), so no result
|
||||
the table used. 3x is 1773 s, so the cli limit goes from 1650 s to 1800 s. Its other times (bus 23 s,
|
||||
each scripts/test-*.sh at most 36 s) are under the table's, and those limits stand.
|
||||
|
||||
### Correction: the r11 red, T2 (mos-1277, sage-2676)
|
||||
|
||||
The r11 gate (75f049ed2, ffc49615, CLEAR sage-2674) went red in its first phase at sessions.test T2
|
||||
"a released or revoked run's retired generation", :204: the events table had 10 rows before the
|
||||
three refused calls and 13 after. Every other table's count was equal. request()'s catch
|
||||
(broker.mjs:4242) sends each refusal through `#refused` (:4081-:4096), which writes one
|
||||
`action.refused` event with body `{code}`. r2's base dcd8d4dda has the same catch, so the
|
||||
assertion that every table's row count stays the same (round 2, item 1 above) could never pass.
|
||||
Sage reproduced it at 72fc5a330, ed6773f72 and 75f049ed2, and the three rows are
|
||||
`action.refused {"code":"not-holder"}`. Mos ruled it a test defect, not a product fault.
|
||||
|
||||
Mos's reading of sage-2257: "writes nothing" means a retired generation's approval, delivery and
|
||||
read write no approval, delivery, read or claim state. The refusal trail stays. Commit 19 (test
|
||||
only) makes `refused()` say that, for both calls (released and revoked):
|
||||
|
||||
- every table's row count stays equal except events;
|
||||
- each refused call adds exactly one event, kind `action.refused` with body `{"code":"not-holder"}`,
|
||||
checked after each call in call order (withdraw, receive, read), so events grows by three.
|
||||
|
||||
Before the next gate, one survey pass runs the touched files the r10 and r11 runs never reached
|
||||
(sage-2676 step 3), with M1 against the fixed T2.
|
||||
|
||||
### Run limits (sage-2634, sage-2637, sage-2647, mos-1275)
|
||||
|
||||
Every run in run-264 goes through `timeout -k 10 LIMIT`, so a hang stops the run instead of holding
|
||||
@@ -429,13 +467,13 @@ red, and goes to Sage first (sage-2637). A timeout in the shell phase goes to Mo
|
||||
|
||||
| Run | Longest recorded | Where | LIMIT |
|
||||
|---|---|---|---|
|
||||
| stack-release.test alone | 505 s | row 234 r3 singles with mutants, 2026-10-21 (plain r3: 482 s) | 1600 s |
|
||||
| stack-release.test alone | 575 s | the r12 survey, 2026-10-22 (row 234 r3 singles with mutants: 505 s; plain r3: 482 s); 3 x 575 = 1725 (mos-1275 item 3) | 1800 s |
|
||||
| each other touched file alone | 15 s (thread-launch.test); end-launch, gitea-migration, message-filter, sessions, thread-claims, thread-cli and chat have none | rows 234, 235, 210 logs | 300 s |
|
||||
| bus suite | 23 s | row 235 run 1b; row 278 run 3: 22.5 s | 900 s |
|
||||
| cli suite | 591 s | row 281's gate, 2026-10-22 (row 235 run 1: 535 s; Megavolt row 199: 472 s) | 1800 s |
|
||||
| webui suite | 57 s | row 278 run 3 (row 66 r2: about 60 s) | 600 s |
|
||||
| each scripts/test-*.sh | 42 s (test-foundation); task 36.8, queue 23.4, land-work 12.6, release 12.2, discord 8.8, conductor 8.1, config 3.2, extension-package 3.0, auth 1.9 | the longest of row 268's gate (2026-10-22 04:40Z), row 196's receipts and row 278 run 3 | 900 s |
|
||||
| mutant probes M1-M4 (sessions.test, thread-claims.test) | none recorded | | 300 s |
|
||||
| mutant probes M1-M4 (sessions.test, thread-claims.test) | 1 s wall each (longest `ℹ duration_ms` 512, M3) | the r13p4 rerun, 2026-10-22 14:08:43Z to 14:08:45Z | 300 s |
|
||||
|
||||
## Runs
|
||||
|
||||
@@ -443,3 +481,68 @@ red, and goes to Sage first (sage-2637). A timeout in the shell phase goes to Mo
|
||||
digest eb7c1ab3 printed and matched. RED on the first file, account-migration.test 1 pass 2 fail
|
||||
(Correction above); the run stopped there as ruled, with no retry. The sweep found 0 node
|
||||
processes in the worktree. Slot returned.
|
||||
- r10 54f65f9ab on e479521d3, Sage's CLEAR sage-2669, 2026-10-22 13:11Z. RED on the first file,
|
||||
account-migration.test :106: later3l missed the 3l trigger threads_id_not_session (3k-3l.sql:104).
|
||||
Mos ruled option A (mos-1276): commit 18 names it in account-, gitea- and grant-migration. On r11
|
||||
all 8 *-migration files ran whole, 25/25, 0 skipped (2026-10-22 13:14:25Z).
|
||||
- r11 75f049ed2 on e479521d3, manifest ffc49615, Sage's CLEAR sage-2674, 2026-10-22 13:16:37Z.
|
||||
Phase 1 was green for account-migration 3/3, chief-of-staff 42/42, comment-migration 5/5,
|
||||
end-launch 7/7, gitea-migration 5/5, grant-migration 6/6, message-filter 6/6, name-migration 1/1
|
||||
and schema 1/1. Then RED at sessions.test T2 :204 (Correction: the r11 red, above), and the run
|
||||
stopped. 0 node processes left. Mos ruled a test defect (mos-1277): commit 19.
|
||||
- r12 93f4af12b on e479521d3, manifest 16603087, survey pass (sage-2676 step 3), Sage's CLEAR
|
||||
sage-2678, 2026-10-22 13:24:09Z to 13:34:07Z, 598 s. Each file whole under `timeout -k 10`, with
|
||||
no stop on red and no edits, all 0 skipped and 0 todo:
|
||||
sessions 7/7, spec-migration 1/1, tester-writes 8/8, thread-claims 6/6, thread-migration 3/3,
|
||||
threads 16/17 RED, usage-migration 1/1, thread-cli 11/11, thread-launch 11/11, chat 23/23,
|
||||
stack-release 218/218 in 575 s. M1 against the fixed T2: rc=1, killed on an assertion, file
|
||||
restored, sessions 6/7 with T2 sage-2257 the only failure ("Missing expected exception: approval"
|
||||
at :204). Log gizmo-264-out/r12-survey/probes/M1.log. Mos accepted M1 killed by T2 alone at r12
|
||||
(mos-1278 item 4). The threads.test red: :330 expected `/only to its thread's holder/` (:341,
|
||||
from row 121, 2c16d6b93) and got the 3l trigger's "only to its session's holder". Mos ruled
|
||||
option A (mos-1278): delivery_same_thread in the base (schema.sql:300-306 at e479521d3) and
|
||||
delivery_same_session (3k-3l.sql:147-153) share the WHEN, the ops and the holder check, and
|
||||
differ only in taking the latest claim per session and in the text, so :330 keeps its strength.
|
||||
Commit 20 changes :341 to `/only to its session's holder/` and nothing else in that file.
|
||||
- r13 gate, 2cc34aef8 on e479521d3, manifest 65e04d27, Sage's CLEAR sage-2684. Start
|
||||
2026-10-22 13:39:53Z, busy count 0, HEAD and digest printed and matched, blobs checked with
|
||||
`sha256sum -c`. Every count below has 0 fail, 0 cancelled and 0 todo.
|
||||
- Phase 1, the 20 touched files whole, one at a time, all 0 skipped, wall 600 s: bus
|
||||
account-migration 3/3, chief-of-staff 42/42, comment-migration 5/5, end-launch 7/7,
|
||||
gitea-migration 5/5, grant-migration 6/6, message-filter 6/6, name-migration 1/1, schema 1/1,
|
||||
sessions 7/7, spec-migration 1/1, tester-writes 8/8, thread-claims 6/6, thread-migration 3/3,
|
||||
threads 17/17, usage-migration 1/1; cli stack-release 218/218, thread-cli 11/11,
|
||||
thread-launch 11/11; webui chat 23/23.
|
||||
- Phase 2, suites whole: bus 827/827 (23 s), cli 837/837 (593 s), webui 345 pass of 346 with 1
|
||||
skipped (55 s). The skip is the esbuild 0.28.1 editor rebuild (Duckworth named it in
|
||||
duckworth-0146; DEFERRED row 264a N2).
|
||||
- Phase 3, the 10 scripts/test-*.sh, all rc=0: auth 15, conductor 17, config 31, discord 81,
|
||||
extension-package 18, foundation 44 (36 s), land-work 86, queue 156 node tests and 28 suite
|
||||
checks, release 14, task 91. The worktree was clean after.
|
||||
- Phase 4: M1 killed by T2 at sessions.test:204 (6/7). M2 then failed with no assertion: T1
|
||||
(:89) and T7 (:422) threw `storage-refused` from #refused (broker.mjs:4082) through request()'s
|
||||
catch (:4242), because the delivery_same_session trigger refused #delivery's INSERT. The run
|
||||
stopped there at 14:02:47Z, total wall 1374 s, and M3 and M4 did not run. 0 node processes
|
||||
left. Mos ruled option B (mos-1279): phases 1-3 carry and phase 4 reruns with M2's four edits.
|
||||
- Logs: gizmo-264-out/r13-run.out, with the per-file, suite and probe logs under
|
||||
gizmo-264-out/r13/single, r13/suite and r13/probes.
|
||||
- r13p4, phase 4 rerun under mos-1279 at HEAD 84f53540d (2cc34aef8 plus commit 21, the M2 note
|
||||
in this file), Sage's CLEAR sage-2688 with the fourth edit confirmed in sage-2690. Start
|
||||
2026-10-22 14:08:43Z, busy count 0. `git diff --name-only 2cc34aef8..HEAD` was this file only,
|
||||
and the non-BUILD.md blobs matched manifest 65e04d27. Kit gizmo-264-out/probes-264-r13p4.py
|
||||
(`--check ok`), each probe under `timeout -k 10 300`, each file restored and its sha checked.
|
||||
End 14:08:45Z, failures 0, 0 node processes left.
|
||||
- M1, the #agent generation fence set to `false`: killed, sessions 6/7, T2 sage-2257 at
|
||||
sessions.test:204 (`assert.throws(fn, { code: 'not-holder' }, label)`).
|
||||
- M2, four edits: the `mt.session=?` clause and its argument dropped from message.receive
|
||||
(broker.mjs:5251), delivery_same_session dropped from 3k-3l.sql and from schema.sql, and
|
||||
store.mjs:16 SCHEMA_SHA256 set to the sha256 of the mutated schema.sql. Killed, sessions 4/7,
|
||||
by T1 at sessions.test:89 (a1's receive got the second session's message). T7 also failed on
|
||||
its receive assertion at :422. T2 failed at :168, the trigger's own pin, which doesn't count as
|
||||
a kill under mos-1279. The kill rule: only an assertion in a test that exercises receive
|
||||
counts, never a thrown error.
|
||||
- M3, generation counted over every claim row in 3k-3l.sql: killed, sessions 6/7, T7 at
|
||||
sessions.test:390 (the thread_claims generations).
|
||||
- M4, thread.claims back to the latest row per thread: killed, thread-claims 5/6, T6 at
|
||||
thread-claims.test:133 (two held sessions list as two rows).
|
||||
- Logs: gizmo-264-out/r13p4-run.out and gizmo-264-out/r13p4/probes/M1.log to M4.log.
|
||||
|
||||
@@ -1519,3 +1519,9 @@ are never rewritten or removed; corrections are new entries.
|
||||
2026-10-22 10:30:51 UTC | Sage (Claude Opus 5.5, 1ef1e4f8) | row 274 landing, row 281 d6 and 264a r5 plans | 274 landed 4c485c63b (ff, #1779 closed c30491, P19 414 c646); review request posted for Morgana (no token) c30488; 281 d6 approved by Dewey, code started; 264a r5 c4c75b6b4/5cb234285 run plan accepted; N7 DEFERRED (runs suite gates mosaic-task.mjs) committed
|
||||
2026-10-22 10:59:30 UTC | Sage (Claude Opus 5.5, 1ef1e4f8) | row 256 #1761 creative delete landing | 256 landed f12441d4f (ff on 0165be266, 4 Honker commits); Webby APPROVE c30519 posted as jarvis for Webby (no token), rev 3185; request c30518; note 3186, done 3187; #1761 closed c30520; P19 416 c649; 277 rebases onto this landing next (sage-2594)
|
||||
2026-10-22 11:21:00 UTC | Sage (Claude Opus 5.5, 1ef1e4f8) | row 277 #1782 owner thread claims landing | 277 landed 62f53b1e0 (ff on 46dedf925, 7 Morgana commits); Duckworth APPROVE c30539 posted as jarvis, rev 3192; request c30538; note 3193, done 3194; #1782 closed c30540; P19 506 c652; Honker 256 and Megavolt 236 BUILD.md notes picked; DEFERRED M8 resolve pin
|
||||
2026-10-22T11:25Z | Dewey (Opus 5.5, 84fb346c) | Vikunja 502 rebase carry onto 980cec88c (Rocko 407c8d7be/04a86cf33) | APPROVE 9bf4683c6 carried: range-diff 1:= 2:=, patch-ids 37135ebe/0dbcda54; conditional on green touched-file and Python reruns on the new base (f5611c937 drift under stop-run); dewey-0834/0835
|
||||
2026-10-22 11:29:09 UTC | Rocko (Codex gpt-6.1-sol, d99326cc) | Vikunja 502 on 980cec88c | clean picks407c8d7be/04a86cf33, patch-ids match; whole Node28/28,Python4/4,no skips/timeouts,sweepclear; rerun packet6af85df4b pushed explicitly to rocko/vikunja502-980c-20261022; Sage lands.
|
||||
2026-10-22T13:06Z | Dewey (Opus 5.5, 84fb346c) | row 281 (#1786) manifest round 1 on megavolt/row281-e e479521d3 (manifest b73d4c81, 7 paths, on 385a7194c) | APPROVE c30614, rev 3207; N1 hosts.remove/open-decision hint and N2 fire-tool text non-blocking, DEFERRED via Sage
|
||||
2026-10-22 11:32 UTC | Sage (Opus 5.5, 1ef1e4f8) | Vikunja 502 landing; 281 and 264a slot reds placed | V502 LANDED 6af85df4b (ff from 980cec88c, Dewey carry dewey-0836). Row 281 c174f37ac and 264a r7 a23afbf95 each went red on first-run test defects. 281 b3 is test-only (T6b ruling accepted by Dewey 0837). 264a r8 pins the 3l seq-0 rows. Megavolt reruns 281 on 6af85df4b.
|
||||
2026-10-22 13:10 UTC | Sage (Opus 5.5, 1ef1e4f8) | Rows 278 and 281 landings; slot order 281 then 264a r10 then 253 | 278 LANDED 385a7194c (Webby c30588), 281 LANDED e479521d3 (Dewey c30614). DEFERRED: grant gap closed, N1/N2 open. 264a rebasing to r10 on e479521d3; 253 waits on 264a.
|
||||
2026-10-22 14:22 UTC | Sage (Opus 5.5, 1ef1e4f8) | Row 264a landing; doc sweep | 264a LANDED 84f53540d (Duckworth c30640, #1769 closed c30646, P19 463 c669) after four slot reds ruled in mos-1276 to mos-1279. Doc sweep: V502, 278/281 and 264a BUILD-LOG lines, DEFERRED 281 N1/N2 and 264a N1/N2. 253 rebases onto the landing next.
|
||||
|
||||
+36
-11
@@ -431,17 +431,6 @@ at every gate. Started 2026-09-12 during the control board MVP.
|
||||
comes near 64 runs. The follow-up row either raises the cap or splits
|
||||
the done. Its test: a fire's done over the cap refuses, and the runs it
|
||||
left alive still get the alive flag. (2026-10-22)
|
||||
- **A fired or deleted instance keeps its grants.** (Dewey on the row 236
|
||||
rebase look, dewey-0815; Mos mos-1271; Sage sage-2558.) Row 194's
|
||||
`instance.fire` and row 256's delete revoke only the roles entry's
|
||||
credential services through `revoke()` in `runtime.mjs`. The agent's
|
||||
host grants (row 235) and its Gitea user and token (row 236) stay live
|
||||
until a human runs `mosaic hosts revoke` or `mosaic grants revoke`. The
|
||||
Console has no revoke route and doesn't say a grant is left. Row 281
|
||||
(#1786) closes it: a fire or a delete revokes every host and Gitea grant
|
||||
the instance holds, fail closed, with a test for each kind. It lands
|
||||
before the .53 Case 1 install hires an instance with a grant.
|
||||
(2026-10-22)
|
||||
|
||||
- **The runs suite doesn't gate a change to `scripts/mosaic-task.mjs`.**
|
||||
(Dewey N7 on row 191, repeated on the Vikunja 502 review.)
|
||||
@@ -469,6 +458,35 @@ at every gate. Started 2026-09-12 during the control board MVP.
|
||||
any row that lets a user add sessions: make the check session-scoped and
|
||||
test it with two sessions. (2026-10-22)
|
||||
|
||||
- **Row 281's refusal texts point the wrong way.** (Dewey N1 and N2 on
|
||||
the row 281 manifest round, dewey-0842/0843 and dewey-0846; Sage
|
||||
sage-2653.) N1: when a host decision is still open and the host is
|
||||
removed, step G's fire or delete job refuses `host-unknown`, and the
|
||||
inbox hint names a verb that can't help. The way out is to decline or
|
||||
withdraw the decision (`packages/bus/src/broker.mjs`, the closed check
|
||||
near :1684 and `decision.withdraw` near :5015). T14 now pins that path.
|
||||
N2: the chief's fire tool text in `packages/harness/src/tools.mjs`
|
||||
(near :186) doesn't say the fire's job can come back for an answer.
|
||||
Neither changes behaviour. Binds the next row that changes the step G
|
||||
hint text in `broker.mjs` or the fire tool text in `tools.mjs`: fix
|
||||
both wording gaps and pin the hint in a test. (2026-10-22)
|
||||
|
||||
- **Row 264a's refusal check in sessions.test doesn't pin the actor.**
|
||||
(Duckworth N1 on the row 264a r12 delta, duckworth-0138; Sage sage-2695.)
|
||||
`refusedOnce` in `packages/bus/tests/sessions.test.mjs` checks that each
|
||||
refused call adds one `action.refused` event with code `not-holder`, but
|
||||
not that the event's `actor_run` is the refused run. Binds row 269 (264b,
|
||||
#1774), or the next row that changes `sessions.test.mjs`: pin `actor_run`
|
||||
in `refusedOnce`. (2026-10-22)
|
||||
|
||||
- **editor-provenance skips its rebuild check on esbuild 0.28.1.** (Duckworth
|
||||
N2 on the row 264a manifest round, duckworth-0146.) The webui test
|
||||
"rebuilding from the source gives the same bytes" needs esbuild 0.28.2,
|
||||
the checkout has 0.28.1, and the gate logs a skip (webui.log:99). The file
|
||||
is at base and was not in 264a's manifest. Binds the next gate that
|
||||
touches the webui build: install the pinned esbuild in the gate checkout
|
||||
so the check runs, or record why it can't. (2026-10-22)
|
||||
|
||||
## Queue
|
||||
|
||||
Moved to `docs/plans/QUEUE.md` on 2026-09-13. This file holds only gaps.
|
||||
@@ -540,3 +558,10 @@ Moved to `docs/plans/QUEUE.md` on 2026-09-13. This file holds only gaps.
|
||||
`packages/cli/tests/gate-lane-auth.test.mjs` proves no gate step mounts
|
||||
the host default. The real-model cases this moved off the gate are open
|
||||
above.
|
||||
- A fired or deleted instance kept its grants (2026-10-22, Dewey on the
|
||||
row 236 rebase look, mos-1271): closed by row 281 (#1786), landing
|
||||
e479521d3. A fire or a delete now runs a step G job that revokes every
|
||||
host and Gitea grant the instance holds, fail closed, and tells the
|
||||
human in the inbox when it can't. Megavolt built it; Dewey approved the
|
||||
design (d6) and the manifest (c30614). The text gaps it left are open
|
||||
above.
|
||||
|
||||
+4
-4
@@ -33,7 +33,7 @@ Gaps found while working go to `docs/plans/DEFERRED.md`, not here.
|
||||
|
||||
<!-- mosaic-queue:begin -->
|
||||
|
||||
Generated from `docs/plans/queue.json` revision 3194 by `queue render`. Do not edit between the markers; change the queue with `scripts/mosaic queue`.
|
||||
Generated from `docs/plans/queue.json` revision 3216 by `queue render`. Do not edit between the markers; change the queue with `scripts/mosaic queue`.
|
||||
|
||||
| # | Piece | Owner | Issues | State | After | Gate | Brief | Note |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
@@ -300,7 +300,7 @@ Generated from `docs/plans/queue.json` revision 3194 by `queue render`. Do not e
|
||||
| 261 | Email E05: Graph source module against a test-local registry (post-v1) | unassigned | #1766 | queued | 259 done, 260 done | Reviewer approves the manifest; the row's named tests whole plus the mail suite and touched suites green on Sage's slot; reviewer-named mutants killed (post-v1, MVP keeps slot priority) (sage) | `docs/plans/2026-10-21_post-v1-row-briefs.md` § Brief: E05 Graph source module against a test-local registry | — |
|
||||
| 262 | Email E06: IMAP source module (post-v1) | unassigned | #1767 | queued | 261 done | Reviewer approves the manifest; the row's named tests whole plus the mail suite and touched suites green on Sage's slot; reviewer-named mutants killed (post-v1, MVP keeps slot priority) (sage) | `docs/plans/2026-10-21_post-v1-row-briefs.md` § Brief: E06 IMAP source module | — |
|
||||
| 263 | Email E07: address and rule evaluator (post-v1) | unassigned | #1768 | queued | 258 done, 259 done, 260 done | Reviewer approves the manifest; the row's named tests whole plus the mail suite and touched suites green on Sage's slot; reviewer-named mutants killed (post-v1, MVP keeps slot priority) (sage) | `docs/plans/2026-10-21_post-v1-row-briefs.md` § Brief: E07 address and rule evaluator | — |
|
||||
| 264 | T1 item 7: independent sessions, compaction counts and clear context | gizmoduck; reviewers duckworth | #1769 | in-progress | — | The named reviewer approves the manifest. The design's T1-T7 acceptance tests run whole plus every touched suite on Sage's slot; T3 waits on Vikunja 466 (N2, Claude's compaction count format and the managed dataRoot reader). The design's section 6 mutants are killed. (sage) | `docs/plans/2026-10-21_t1-sessions.md` § T1 item 7: independent sessions, compaction counts and clear context | Vikunja 463 (T1 item 7, PRD 1.13 REQ-SESS-1 to 3). Acceptance test T3 depends on Vikunja 466 (N2), mos-1237. v1 under Q211, ahead of Q198 S1. Owner and reviewer to be named (Scrooge approved the design but has no agents/ seat). |
|
||||
| 264 | T1 item 7: independent sessions, compaction counts and clear context | gizmoduck; reviewers duckworth | #1769 | done | — | The named reviewer approves the manifest. The design's T1-T7 acceptance tests run whole plus every touched suite on Sage's slot; T3 waits on Vikunja 466 (N2, Claude's compaction count format and the managed dataRoot reader). The design's section 6 mutants are killed. (sage) | `docs/plans/2026-10-21_t1-sessions.md` § T1 item 7: independent sessions, compaction counts and clear context | LANDED 84f53540d ff on e479521d3 14:18:23Z, 21 commits = gizmoduck/row264-r13 tip (no rewrite, range-diff identity). Manifest 257408e9 approved Duckworth rev 3214 (c30640). Gate r13 2cc34aef8: 20 files, bus 827, cli 837, webui 345/1 skip, 10 shells; M1-M4 assertion kills (mos-1279 B, M2 4 files). Overlap none (13, 257). N1 actor_run binds row 269; N2 esbuild skip later gate (sage-2695). |
|
||||
| 265 | Case 2 C2-09b rooms: room.open, room.send with @tags, room.read | rocko; reviewers dewey | #1770 | queued | 219 done | Dewey approves the manifest. The brief's tests run whole plus the bus suite and every touched suite on Sage's slot. Grep for hash pins on changed files before in-review. (sage) | `docs/plans/2026-10-20_case2-rows.md` § C2-09b rooms: room.open, room.send with @tags, room.read | — |
|
||||
| 266 | Case 2 C2-10c Console room view: merged timeline and @name completion | researcher; reviewers dewey | #1771 | queued | 225 done, 265 done | Dewey approves the manifest. The webui suite is green on Sage's gate, along with every touched suite. Grep for hash pins on changed files before in-review. (sage) | `docs/plans/2026-10-20_case2-rows.md` § C2-10c Console room view: merged timeline and @name completion | Haiku high subagent under decision 129. |
|
||||
| 267 | Case 2 C2-15 hybrid universes: exclusions, pins and the end-to-end crossover | morgana; reviewers filbert | #1772 | queued | 216 done, 217 done, 224 done | Filbert approves the manifest. The brief's tests and the end-to-end crossover run whole plus every touched suite on Sage's slot. Grep for hash pins on changed files before in-review. (sage) | `docs/plans/2026-10-20_case2-rows.md` § C2-15 hybrid universes: exclusions, pins and the end-to-end crossover | R8 accepted (sage-2218). Webby's R8 noise note (gosalyn-0127) is for the builder. |
|
||||
@@ -314,10 +314,10 @@ Generated from `docs/plans/queue.json` revision 3194 by `queue render`. Do not e
|
||||
| 275 | 193b1b: viewer verbs and board refusals (also after FED R4 when filed) | morgana; reviewers duckworth | #1780 | briefed | 205 done, 274 done | Duckworth approves the manifest. The bus suite and every scripts/test-*.sh are green on Sage's gate, and the mutants are killed. (sage) | `docs/plans/2026-10-20_human-users-build.md` § Brief: 193b1b, viewer verbs and board refusals | — |
|
||||
| 276 | Row 253 F5: supervise the legacy AS_USER talk and diagnostics in the case scripts | gander; reviewers duckworth | #1781 | briefed | 253 done | Duckworth approves the manifest. The touched test files run whole, every scripts/test-*.sh is green on Sage's gate, and the mutants are killed. (sage) | `docs/plans/2026-10-22_case-sudo-legacy-followup.md` § Brief: supervised legacy AS_USER calls | — |
|
||||
| 277 | The owner sees a thread agent's claims: an owner or reader read lists held thread claims (10-27, mos-1262; no user thread live before it) | morgana; reviewers duckworth | #1782 | done | 205 done | 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. (sage) | `docs/plans/2026-10-22_owner-thread-claims.md` § Brief: the owner sees thread claims | LANDED 62f53b1e0 ff from 46dedf925 (7 Morgana commits, range patch-id 7f0533520bd2). Duckworth APPROVE manifest e281aa2c (10 paths), comment 30539. Gate 11:01-11:14Z: 7 touched files 0 fail, bus 793, cli 836, harness 151, business 231, seat 167, 10 scripts rc=0, M1-M9 killed; skips named, env only (test-queue root, test-task live x2). Overlap 13/257 clean. N3 per-session claims carry to 264a r7. |
|
||||
| 278 | The Console Agents view shows thread claims (follow-up to row 277; no user thread live before it) | gander; reviewers webby | #1783 | briefed | 277 done | 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. (sage) | `docs/plans/2026-10-22_owner-thread-claims.md` § Brief: the Console shows thread claims | — |
|
||||
| 278 | The Console Agents view shows thread claims (follow-up to row 277; no user thread live before it) | gander; reviewers webby | #1783 | done | 277 done | 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. (sage) | `docs/plans/2026-10-22_owner-thread-claims.md` § Brief: the Console shows thread claims | LANDED 385a7194c ff on 6af85df4b (9 commits, manifest 8fa859a0). Run 3 green: bus 793/0/0, webui 345/0/1, ten shells 425/0 under SHELL-LIMITS 3x, M1-M6 killed. Runs 1-2 void (fixture fixes 964b6b184, 9696d1fcb per mos-1275). Skips named (Webby N1): webui esbuild 0.28.1/0.28.2 rebuild; test-queue canonical-root check; test-task two live-provider cases (row 244). Webby APPROVE c30588. #1783 closes. |
|
||||
| 279 | stopRun reads a live run's status at the deadline: the deadline branch is the only time exit (191 follow-up, MVP, mos-1269; lands before 194 b16) | rocko; reviewers dewey | #1784 | done | — | Dewey approves the manifest. The processing-control package's tests and every other touched test file run whole, the business and cli suites are green on Sage's gate, and M1 is killed. (sage) | `docs/plans/2026-10-22_stoprun-deadline.md` § Brief: stopRun's deadline branch is the only time exit | LANDED ceadad993 (carry of cad927137 onto 343b6dd76: range-diff 1:= 2:=, patch-ids 6d8ae7f4/e484c297 equal, Dewey APPROVE dewey-0809 c30409 + carry). Fix: stopRun loop is for(;;), deadline branch is the only time exit. Sage gate green: business 209/0/0, cli 794/0/0, discord processing+stop 9/0/0; Rocko stop-run 13/13, processing-control 62/62, M1 killed. Overlap sweep clean (13, 257). Next: 194 b16 rebases onto it (mos-1269). |
|
||||
| 280 | Bus tests: the scratch sshd proves it owns its port (194 gate follow-up, MVP, mos-1270) | rocko; reviewers duckworth | #1785 | done | — | Duckworth approves the manifest. Both files run whole, the bus suite is green on Sage's gate, the 30-run repeat has no timeout, and M1 is killed. Row 194 b17's full gate then runs on top. Any red goes to Mos (mos-1270). (sage) | `docs/plans/2026-10-22_sshd-port-race.md` § Brief: the scratch sshd's port is ours before a test uses it | Landed b0fd28b6f 07:57:30Z, ff from da5d3651d: b765f5cb8 (Duckworth approve rev 3153, manifest 27806c05) + slim packet. Sage gate bus 656/0/0, ge 41, hr 26 (c30431). Repeat 2010/2010 under cli 1588/1588, no timeout; M1/M2 killed 4/4. Full evidence d6c924764 on rocko/row280-da5d-20261022. N2-N4 carry in BUILD.md. 194 b17 rebases on b0fd28b6f. |
|
||||
| 281 | A fire or a delete revokes the instance's host and Gitea grants (194/236 follow-up, MVP, mos-1271) | megavolt; reviewers dewey | #1786 | in-progress | 236 done | Dewey approves the design, then the manifest. Bus, business, cli and every touched test file run whole, plus the Docker gitea-grant test and every scripts/test-*.sh, green on Sage's gate. M1-M4 killed. Lands before .53 Case 1 hires a granted instance. Red goes to Sage, then Mos. (sage) | `docs/plans/2026-10-22_fire-revokes-grants.md` § Brief: no grant outlives its instance | — |
|
||||
| 281 | A fire or a delete revokes the instance's host and Gitea grants (194/236 follow-up, MVP, mos-1271) | megavolt; reviewers dewey | #1786 | done | 236 done | Dewey approves the design, then the manifest. Bus, business, cli and every touched test file run whole, plus the Docker gitea-grant test and every scripts/test-*.sh, green on Sage's gate. M1-M4 killed. Lands before .53 Case 1 hires a granted instance. Red goes to Sage, then Mos. (sage) | `docs/plans/2026-10-22_fire-revokes-grants.md` § Brief: no grant outlives its instance | LANDED e479521d3 ff on 385a7194c (17 commits, manifest b73d4c81). Slot on 7979fb41e green: bus 819, business 231, cli 837, dewey-bus 76 with gitea-grant-docker run, shells green under 3x limits, M1-M22 killed. M1 hang fixed in b4a (mos-1273). Skips: test-task row 244 live-provider pair, test-queue canonical root. DEFERRED: N1 host-unknown hint verb, N2 fire tool text, to the follow-up row. Dewey APPROVE c30614. |
|
||||
|
||||
<!-- mosaic-queue:end -->
|
||||
|
||||
|
||||
+698
-21
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"canonicalRoot": "/mnt/storage/src/mosaic-stack",
|
||||
"revision": 3194,
|
||||
"revision": 3216,
|
||||
"rows": [
|
||||
{
|
||||
"id": 1,
|
||||
@@ -26839,7 +26839,7 @@
|
||||
"closes": [
|
||||
1769
|
||||
],
|
||||
"state": "in-progress",
|
||||
"state": "done",
|
||||
"previousState": null,
|
||||
"required": false,
|
||||
"requiredSince": null,
|
||||
@@ -26854,16 +26854,70 @@
|
||||
"reviewers": [
|
||||
"duckworth"
|
||||
],
|
||||
"review": null,
|
||||
"claim": {
|
||||
"seat": "gizmoduck",
|
||||
"op": "gizmoduck-264-claim-1"
|
||||
"review": {
|
||||
"rounds": [
|
||||
{
|
||||
"n": 1,
|
||||
"op": "gizmoduck-264-review-r13b",
|
||||
"by": "gizmoduck",
|
||||
"at": "2026-10-22T14:11:07.284Z",
|
||||
"issue": 1769,
|
||||
"candidate": {
|
||||
"kind": "manifest",
|
||||
"digest": "257408e9e3e9e9bbc751729c2693eb3f199724374ed05db467656a95aa873c8e",
|
||||
"text": "0f14a8e813a75abc8ab2a49d4574496e68a83ae3a37019c5bbfbbbc439fbe2ab agents/gizmoduck/work/queue-264/BUILD.md\nee456d3f7f5f36c499b1144f5c1a51bd3400662bd576c0a2c403a70cd49772c8 docs/plans/DEFERRED.md\n764b3d7865bfa3a0829f3c7d5553446fc61478cc8b46c0da5dd9463ea7ef1543 packages/bus/README.md\ncd68512212ce8bf8f5631138b2e63a340fa7b940088430649bb7784af7df162a packages/bus/schema.sql\na581d9e687ec2784751e293bd320885ba2ee75cbff38dd0f7f0816c3b6ccf1f1 packages/bus/src/broker.mjs\neb2822c73e527697399691ae520092277ddbd4d2a9a42a0731b3c81cc3569e58 packages/bus/src/migrations/3k-3l.sql\nca4a8eceef394dae290a5ad7bdb9f335ebbe53ba02aa3af71be7001ba2725a93 packages/bus/src/store.mjs\n4e2f46031bb2025bb7d674a7da5b663312ed827d346f354df0453d3595fa8781 packages/bus/tests/account-migration.test.mjs\necf7536dbb12765ef30897fbd0436f68d11233da7e79ff12d4cf80baf3b961fd packages/bus/tests/chief-of-staff.test.mjs\n7d8ddb1f603bda89488e521e27b68ada373efb19f23864da78613eb14baf6f6d packages/bus/tests/comment-migration.test.mjs\n45b3a93609179a2f856a9f2620acca2f0b07ab239d2d5957a792d6c6fadeb0af packages/bus/tests/end-launch.test.mjs\naba9240825a35fdcc741439d0708efa33afcf519d11cac9952c7207ad99250f0 packages/bus/tests/fixtures/schema-3k.sql\n06c33d2101278f71b315327d7be1650d97f828b0dc2aafcc28c73a57d0fe0024 packages/bus/tests/gitea-migration.test.mjs\nb7a560894b9a6eb999b80dc9b2989ac4745b568f74d0b52eec3ab0459b46ad2b packages/bus/tests/grant-migration.test.mjs\n6e41496a5d55705f484e074e2264a84f5299e04211cd1a2f384f18c5b4f6f9c5 packages/bus/tests/message-filter.test.mjs\nb1921b88ba6ee0c28b4d9652ff529abba4b7e8b12423e99cf7996c3e207ef3f5 packages/bus/tests/name-migration.test.mjs\n52e7de4bdf04f7787f70079f78017fd034abd968370059f22d859ce5a58e27a8 packages/bus/tests/schema.test.mjs\nc09cdcca750d44ae1cebd3e8970708d39edd70682b99eeb77e19258d9fa8c068 packages/bus/tests/sessions.test.mjs\nc2f9002a8ba4474fa1bafc84d8ffd67756d450cf9a1346194a871cd0d541d524 packages/bus/tests/spec-migration.test.mjs\n4fd9c541735a8e654bee84ecab0172f9b1f21c668091fe12624ce812919327e4 packages/bus/tests/tester-writes.test.mjs\n0007f55235ef25e70bf89cfb9407e07c4780b54566163183d19b1f902fc0251e packages/bus/tests/thread-claims.test.mjs\n19e4200961fd81a23f2bf7089f81b2a57165a6a81c026ef879ab756587d705dc packages/bus/tests/thread-migration.test.mjs\n90d25f35389478cd3307b2383d93dc0a2519dd88eddc3c26bd37c39161083269 packages/bus/tests/threads.test.mjs\ncdd758deb9bcbb33eb1f4138673a11b9a5fd82fdd4fd88c14197d5240fe4b780 packages/bus/tests/usage-migration.test.mjs\n43f09ab4e7d3f8178a6cab6889ce2d85c83b8151a0f0dc26325d39bbe4236dc0 packages/cli/tests/stack-release.test.mjs\ncf6c1310f32d8495b5838620760646abcff7be0d38924511e14c53528d581802 packages/cli/tests/thread-cli.test.mjs\n4d4885bc624056b559e4c5cbdd7650c4fdeedc83695c8f1884a0bfa27b00a0cf packages/cli/tests/thread-launch.test.mjs\n3e794faab71337d13a531564183b5e0fd316c666bffbe834c8e5eedf9fad4a6a packages/webui/tests/chat.test.mjs\nd03dd152cde23c895bfbd07f1df8084925ae6638854d3a99a6aca82779ad4f12 scripts/stack-release.sh\n"
|
||||
},
|
||||
"request": "comment",
|
||||
"attempts": [
|
||||
{
|
||||
"op": "gizmoduck-264-review-r13b",
|
||||
"by": "gizmoduck",
|
||||
"at": "2026-10-22T14:11:07.284Z",
|
||||
"state": "failed",
|
||||
"comment": null,
|
||||
"transport": {
|
||||
"outcome": "failed",
|
||||
"status": null,
|
||||
"comment": null,
|
||||
"detail": "pre-send: the credential or account check failed"
|
||||
},
|
||||
"resolutions": []
|
||||
},
|
||||
{
|
||||
"op": "sage-264-review-r13b",
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T14:12:46.925Z",
|
||||
"state": "posted",
|
||||
"comment": 30639,
|
||||
"transport": {
|
||||
"outcome": "posted",
|
||||
"status": 201,
|
||||
"comment": 30639,
|
||||
"detail": "created"
|
||||
},
|
||||
"resolutions": []
|
||||
}
|
||||
],
|
||||
"duplicateRisk": false,
|
||||
"receipts": [
|
||||
{
|
||||
"reviewer": "duckworth",
|
||||
"op": "duckworth-0146-record",
|
||||
"at": "2026-10-22T14:17:52.013Z",
|
||||
"verdict": "approve",
|
||||
"comment": 30640,
|
||||
"candidate": "257408e9e3e9e9bbc751729c2693eb3f199724374ed05db467656a95aa873c8e"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"note": "Vikunja 463 (T1 item 7, PRD 1.13 REQ-SESS-1 to 3). Acceptance test T3 depends on Vikunja 466 (N2), mos-1237. v1 under Q211, ahead of Q198 S1. Owner and reviewer to be named (Scrooge approved the design but has no agents/ seat).",
|
||||
"claim": null,
|
||||
"note": "LANDED 84f53540d ff on e479521d3 14:18:23Z, 21 commits = gizmoduck/row264-r13 tip (no rewrite, range-diff identity). Manifest 257408e9 approved Duckworth rev 3214 (c30640). Gate r13 2cc34aef8: 20 files, bus 827, cli 837, webui 345/1 skip, 10 shells; M1-M4 assertion kills (mos-1279 B, M2 4 files). Overlap none (13, 257). N1 actor_run binds row 269; N2 esbuild skip later gate (sage-2695).",
|
||||
"blockedReason": null,
|
||||
"createdAt": "2026-10-21T22:42:17.481Z",
|
||||
"updatedAt": "2026-10-22T00:04:18.160Z",
|
||||
"updatedBy": "gizmoduck"
|
||||
"updatedAt": "2026-10-22T14:19:39.888Z",
|
||||
"updatedBy": "sage"
|
||||
},
|
||||
{
|
||||
"id": 265,
|
||||
@@ -27642,7 +27696,7 @@
|
||||
"closes": [
|
||||
1783
|
||||
],
|
||||
"state": "briefed",
|
||||
"state": "done",
|
||||
"previousState": null,
|
||||
"required": false,
|
||||
"requiredSince": null,
|
||||
@@ -27662,12 +27716,69 @@
|
||||
"reviewers": [
|
||||
"webby"
|
||||
],
|
||||
"review": null,
|
||||
"review": {
|
||||
"rounds": [
|
||||
{
|
||||
"n": 1,
|
||||
"op": "gander-278-inreview-r1",
|
||||
"by": "gander",
|
||||
"at": "2026-10-22T12:34:26.185Z",
|
||||
"issue": 1783,
|
||||
"candidate": {
|
||||
"kind": "manifest",
|
||||
"digest": "8fa859a0c617defe42e50028b057a603c6634f6db47ac2e3f7c01dfb290228a3",
|
||||
"text": "426007525d15ad0fa11ba02d6cc5d8436c7ff3fa38beb01e9a651c202169d6a5 packages/webui/README.md\n7ac85787f614aabce4b8eccef01fcdbf1018003e806c5de97d40f47c4041710a packages/webui/src/cli.mjs\nc0306a4db82c286826b157cceb036496666f58ce8073d14280e58c10377ed0d0 packages/webui/src/public/bus.js\naa25b50543b5bc632ac984e85b0d8b43b1c9af2d617bfc7c19351d07310f396d packages/webui/src/serve.mjs\nfd7ad903b682f8f6ceee2d75111b01aa97f50233cd875dd5553e3e83de33ce32 packages/webui/tests/shell.test.mjs\n3b2770db03a2fcce87512b600f386a51f822b251ccb992a46208ee484ee99f7e packages/webui/tests/thread-claims-browser.test.mjs\n48117fe02ef9b76ad12f15dfb0d25e77d187c088c0bff572f33e18418e566913 packages/webui/tests/thread-claims.test.mjs\n"
|
||||
},
|
||||
"request": "comment",
|
||||
"attempts": [
|
||||
{
|
||||
"op": "gander-278-inreview-r1",
|
||||
"by": "gander",
|
||||
"at": "2026-10-22T12:34:26.185Z",
|
||||
"state": "failed",
|
||||
"comment": null,
|
||||
"transport": {
|
||||
"outcome": "failed",
|
||||
"status": null,
|
||||
"comment": null,
|
||||
"detail": "pre-send: the credential or account check failed"
|
||||
},
|
||||
"resolutions": []
|
||||
},
|
||||
{
|
||||
"op": "sage-278-review-r1b",
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T12:37:23.447Z",
|
||||
"state": "posted",
|
||||
"comment": 30587,
|
||||
"transport": {
|
||||
"outcome": "posted",
|
||||
"status": 201,
|
||||
"comment": 30587,
|
||||
"detail": "created"
|
||||
},
|
||||
"resolutions": []
|
||||
}
|
||||
],
|
||||
"duplicateRisk": false,
|
||||
"receipts": [
|
||||
{
|
||||
"reviewer": "webby",
|
||||
"op": "webby-278-verdict-r1",
|
||||
"at": "2026-10-22T12:38:51.557Z",
|
||||
"verdict": "approve",
|
||||
"comment": 30588,
|
||||
"candidate": "8fa859a0c617defe42e50028b057a603c6634f6db47ac2e3f7c01dfb290228a3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"claim": null,
|
||||
"note": null,
|
||||
"note": "LANDED 385a7194c ff on 6af85df4b (9 commits, manifest 8fa859a0). Run 3 green: bus 793/0/0, webui 345/0/1, ten shells 425/0 under SHELL-LIMITS 3x, M1-M6 killed. Runs 1-2 void (fixture fixes 964b6b184, 9696d1fcb per mos-1275). Skips named (Webby N1): webui esbuild 0.28.1/0.28.2 rebuild; test-queue canonical-root check; test-task two live-provider cases (row 244). Webby APPROVE c30588. #1783 closes.",
|
||||
"blockedReason": null,
|
||||
"createdAt": "2026-10-22T05:15:43.015Z",
|
||||
"updatedAt": "2026-10-22T05:16:17.583Z",
|
||||
"updatedAt": "2026-10-22T12:40:51.151Z",
|
||||
"updatedBy": "sage"
|
||||
},
|
||||
{
|
||||
@@ -27860,7 +27971,7 @@
|
||||
"closes": [
|
||||
1786
|
||||
],
|
||||
"state": "in-progress",
|
||||
"state": "done",
|
||||
"previousState": null,
|
||||
"required": false,
|
||||
"requiredSince": null,
|
||||
@@ -27880,16 +27991,70 @@
|
||||
"reviewers": [
|
||||
"dewey"
|
||||
],
|
||||
"review": null,
|
||||
"claim": {
|
||||
"seat": "megavolt",
|
||||
"op": "megavolt-281-claim"
|
||||
"review": {
|
||||
"rounds": [
|
||||
{
|
||||
"n": 1,
|
||||
"op": "megavolt-281-inreview-r1",
|
||||
"by": "megavolt",
|
||||
"at": "2026-10-22T13:01:27.161Z",
|
||||
"issue": 1786,
|
||||
"candidate": {
|
||||
"kind": "manifest",
|
||||
"digest": "b73d4c81d57204c95f86acd1f901ee9cf83619707ccd414406e057866c4dcd56",
|
||||
"text": "7ce8139b6ffa3077d858f0cb059f6d2b8d5c09f6a8acf867611d84830be35868 agents/megavolt/work/queue-281/BUILD.md\n5fb103dccf550a0d0568771ca3ddec47196d7f5f24775501c5aecff7599343db packages/bus/src/broker.mjs\n6fe79a481bb35c6ab5bcda487bcc346fcb812e8ed96bd62f7198ebb09e6d292a packages/bus/tests/fire-revokes-grants.test.mjs\n5f9a8b73b6df8b83db990f6c9f15935e51dcc00ddf59d10eabe0f1dfd23d718c packages/bus/tests/gitea-grant.test.mjs\n88c5193c723f9362008995b46b697b8f455574b3fc2ddc7f31f549082f941efd packages/bus/tests/grant-executor.test.mjs\ndd3d99d48d28e2a001a013bafb486385c777056ea9d29e9c5ec9e38174aa02cd packages/bus/tests/lifecycle-revoke.test.mjs\n5ce79205c4ca6e5f6e77671968ce9d8b8ebfdbdde07b31676f2d05b284acb938 packages/cli/tests/lifecycle.test.mjs\n"
|
||||
},
|
||||
"request": "comment",
|
||||
"attempts": [
|
||||
{
|
||||
"op": "megavolt-281-inreview-r1",
|
||||
"by": "megavolt",
|
||||
"at": "2026-10-22T13:01:27.161Z",
|
||||
"state": "failed",
|
||||
"comment": null,
|
||||
"transport": {
|
||||
"outcome": "failed",
|
||||
"status": null,
|
||||
"comment": null,
|
||||
"detail": "pre-send: the credential or account check failed"
|
||||
},
|
||||
"resolutions": []
|
||||
},
|
||||
{
|
||||
"op": "sage-281-review-r1b",
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T13:02:59.024Z",
|
||||
"state": "posted",
|
||||
"comment": 30613,
|
||||
"transport": {
|
||||
"outcome": "posted",
|
||||
"status": 201,
|
||||
"comment": 30613,
|
||||
"detail": "created"
|
||||
},
|
||||
"resolutions": []
|
||||
}
|
||||
],
|
||||
"duplicateRisk": false,
|
||||
"receipts": [
|
||||
{
|
||||
"reviewer": "dewey",
|
||||
"op": "dewey-281-verdict-r1",
|
||||
"at": "2026-10-22T13:05:20.490Z",
|
||||
"verdict": "approve",
|
||||
"comment": 30614,
|
||||
"candidate": "b73d4c81d57204c95f86acd1f901ee9cf83619707ccd414406e057866c4dcd56"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"note": null,
|
||||
"claim": null,
|
||||
"note": "LANDED e479521d3 ff on 385a7194c (17 commits, manifest b73d4c81). Slot on 7979fb41e green: bus 819, business 231, cli 837, dewey-bus 76 with gitea-grant-docker run, shells green under 3x limits, M1-M22 killed. M1 hang fixed in b4a (mos-1273). Skips: test-task row 244 live-provider pair, test-queue canonical root. DEFERRED: N1 host-unknown hint verb, N2 fire tool text, to the follow-up row. Dewey APPROVE c30614.",
|
||||
"blockedReason": null,
|
||||
"createdAt": "2026-10-22T09:44:24.187Z",
|
||||
"updatedAt": "2026-10-22T09:51:21.600Z",
|
||||
"updatedBy": "megavolt"
|
||||
"updatedAt": "2026-10-22T13:07:09.587Z",
|
||||
"updatedBy": "sage"
|
||||
}
|
||||
],
|
||||
"log": [
|
||||
@@ -112108,6 +112273,518 @@
|
||||
"receipt": "ok sage-277-done rev 3194 row 277 in-review→done round 1"
|
||||
},
|
||||
"viewSha": "47105a02fc98e4b65b8f9b39fbbcfea3a7a295516e992e95c26f6e5f2d052fdb"
|
||||
},
|
||||
{
|
||||
"rev": 3195,
|
||||
"op": "gander-278-start",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"to": "in-progress",
|
||||
"reason": null,
|
||||
"candidate": null,
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "gander",
|
||||
"at": "2026-10-22T12:04:51.778Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"from": "briefed",
|
||||
"to": "in-progress",
|
||||
"round": null,
|
||||
"issue": null,
|
||||
"candidate": null,
|
||||
"receipt": "ok gander-278-start rev 3195 row 278 briefed→in-progress"
|
||||
},
|
||||
"viewSha": "d3e0918fab9cd369618d3cce25053035c3593cc157ef02b3e67824577540a383"
|
||||
},
|
||||
{
|
||||
"rev": 3196,
|
||||
"op": "gander-278-inreview-r1",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"to": "in-review",
|
||||
"reason": null,
|
||||
"candidate": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-278/MANIFEST.sha256",
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "gander",
|
||||
"at": "2026-10-22T12:34:26.185Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"from": "in-progress",
|
||||
"to": "in-review",
|
||||
"round": 1,
|
||||
"issue": 1783,
|
||||
"candidate": {
|
||||
"kind": "manifest",
|
||||
"digest": "8fa859a0c617defe42e50028b057a603c6634f6db47ac2e3f7c01dfb290228a3",
|
||||
"text": "426007525d15ad0fa11ba02d6cc5d8436c7ff3fa38beb01e9a651c202169d6a5 packages/webui/README.md\n7ac85787f614aabce4b8eccef01fcdbf1018003e806c5de97d40f47c4041710a packages/webui/src/cli.mjs\nc0306a4db82c286826b157cceb036496666f58ce8073d14280e58c10377ed0d0 packages/webui/src/public/bus.js\naa25b50543b5bc632ac984e85b0d8b43b1c9af2d617bfc7c19351d07310f396d packages/webui/src/serve.mjs\nfd7ad903b682f8f6ceee2d75111b01aa97f50233cd875dd5553e3e83de33ce32 packages/webui/tests/shell.test.mjs\n3b2770db03a2fcce87512b600f386a51f822b251ccb992a46208ee484ee99f7e packages/webui/tests/thread-claims-browser.test.mjs\n48117fe02ef9b76ad12f15dfb0d25e77d187c088c0bff572f33e18418e566913 packages/webui/tests/thread-claims.test.mjs\n"
|
||||
},
|
||||
"receipt": "ok gander-278-inreview-r1 rev 3196 row 278 in-progress→in-review round 1 on #1783; request gander-278-inreview-r1 requesting"
|
||||
},
|
||||
"viewSha": "10e0b103a4099660e8e0f332214db3ffec46d7e31afce0be052efa11b29aca43"
|
||||
},
|
||||
{
|
||||
"rev": 3197,
|
||||
"op": "gander-278-inreview-r1.outcome",
|
||||
"verb": "review-outcome",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"attempt": "gander-278-inreview-r1",
|
||||
"outcome": "failed",
|
||||
"status": null,
|
||||
"comment": null,
|
||||
"detail": "pre-send: the credential or account check failed"
|
||||
},
|
||||
"by": "gander",
|
||||
"at": "2026-10-22T12:35:03.307Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"round": 1,
|
||||
"attempt": "gander-278-inreview-r1",
|
||||
"state": "failed",
|
||||
"receipt": "ok gander-278-inreview-r1.outcome rev 3197 row 278 round 1 request gander-278-inreview-r1 failed"
|
||||
},
|
||||
"viewSha": "807e3fdfac503cb45c13b8963b38c9131d36b5c9fdc6a071525ca0a115b2c39b"
|
||||
},
|
||||
{
|
||||
"rev": 3198,
|
||||
"op": "sage-278-review-r1b",
|
||||
"verb": "review-request",
|
||||
"args": {
|
||||
"id": 278
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T12:37:23.447Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"round": 1,
|
||||
"attempt": "sage-278-review-r1b",
|
||||
"state": "requesting",
|
||||
"receipt": "ok sage-278-review-r1b rev 3198 row 278 round 1 request sage-278-review-r1b requesting"
|
||||
},
|
||||
"viewSha": "6ab64156b87571dcc2e7d9fe0b7750eff8f576419ad147e6af460fd9ba9018b3"
|
||||
},
|
||||
{
|
||||
"rev": 3199,
|
||||
"op": "sage-278-review-r1b.outcome",
|
||||
"verb": "review-outcome",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"attempt": "sage-278-review-r1b",
|
||||
"outcome": "posted",
|
||||
"status": 201,
|
||||
"comment": 30587,
|
||||
"detail": "created"
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T12:38:00.443Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"round": 1,
|
||||
"attempt": "sage-278-review-r1b",
|
||||
"state": "posted",
|
||||
"receipt": "ok sage-278-review-r1b.outcome rev 3199 row 278 round 1 request sage-278-review-r1b posted comment 30587"
|
||||
},
|
||||
"viewSha": "459834d1aec5d3abd4e09095e189ef39c9696265d30c85a6ee69b1668bfe773d"
|
||||
},
|
||||
{
|
||||
"rev": 3200,
|
||||
"op": "webby-278-verdict-r1",
|
||||
"verb": "review-record",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"verdict": "approve",
|
||||
"comment": 30588,
|
||||
"candidate": "8fa859a0c617defe42e50028b057a603c6634f6db47ac2e3f7c01dfb290228a3"
|
||||
},
|
||||
"by": "webby",
|
||||
"at": "2026-10-22T12:38:51.557Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"round": 1,
|
||||
"verdict": "approve",
|
||||
"receipt": "ok webby-278-verdict-r1 rev 3200 row 278 round 1 approve by webby (comment 30588)"
|
||||
},
|
||||
"viewSha": "7bc559a0a0ee4cd7c6fb80e79dfc96ab797460da2121ec82e784cecb57b72780"
|
||||
},
|
||||
{
|
||||
"rev": 3201,
|
||||
"op": "sage-278-landed-note",
|
||||
"verb": "note",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"text": "LANDED 385a7194c ff on 6af85df4b (9 commits, manifest 8fa859a0). Run 3 green: bus 793/0/0, webui 345/0/1, ten shells 425/0 under SHELL-LIMITS 3x, M1-M6 killed. Runs 1-2 void (fixture fixes 964b6b184, 9696d1fcb per mos-1275). Skips named (Webby N1): webui esbuild 0.28.1/0.28.2 rebuild; test-queue canonical-root check; test-task two live-provider cases (row 244). Webby APPROVE c30588. #1783 closes."
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T12:40:15.700Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"field": "note",
|
||||
"receipt": "ok sage-278-landed-note rev 3201 row 278 note"
|
||||
},
|
||||
"viewSha": "0c929f230fb391defb269606b2e29c1b3d49bc53723762270d49c71eedd95afb"
|
||||
},
|
||||
{
|
||||
"rev": 3202,
|
||||
"op": "sage-278-done",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 278,
|
||||
"to": "done",
|
||||
"reason": null,
|
||||
"candidate": null,
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T12:40:51.151Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 278,
|
||||
"from": "in-review",
|
||||
"to": "done",
|
||||
"round": 1,
|
||||
"issue": null,
|
||||
"candidate": null,
|
||||
"receipt": "ok sage-278-done rev 3202 row 278 in-review→done round 1"
|
||||
},
|
||||
"viewSha": "b9a7f299fbd07afe042bec4491791dd511487e47577e2cf816ef3b00506aca98"
|
||||
},
|
||||
{
|
||||
"rev": 3203,
|
||||
"op": "megavolt-281-inreview-r1",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 281,
|
||||
"to": "in-review",
|
||||
"reason": null,
|
||||
"candidate": "/mnt/storage/scratch/megavolt-r281/manifest-r1.txt",
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "megavolt",
|
||||
"at": "2026-10-22T13:01:27.161Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"from": "in-progress",
|
||||
"to": "in-review",
|
||||
"round": 1,
|
||||
"issue": 1786,
|
||||
"candidate": {
|
||||
"kind": "manifest",
|
||||
"digest": "b73d4c81d57204c95f86acd1f901ee9cf83619707ccd414406e057866c4dcd56",
|
||||
"text": "7ce8139b6ffa3077d858f0cb059f6d2b8d5c09f6a8acf867611d84830be35868 agents/megavolt/work/queue-281/BUILD.md\n5fb103dccf550a0d0568771ca3ddec47196d7f5f24775501c5aecff7599343db packages/bus/src/broker.mjs\n6fe79a481bb35c6ab5bcda487bcc346fcb812e8ed96bd62f7198ebb09e6d292a packages/bus/tests/fire-revokes-grants.test.mjs\n5f9a8b73b6df8b83db990f6c9f15935e51dcc00ddf59d10eabe0f1dfd23d718c packages/bus/tests/gitea-grant.test.mjs\n88c5193c723f9362008995b46b697b8f455574b3fc2ddc7f31f549082f941efd packages/bus/tests/grant-executor.test.mjs\ndd3d99d48d28e2a001a013bafb486385c777056ea9d29e9c5ec9e38174aa02cd packages/bus/tests/lifecycle-revoke.test.mjs\n5ce79205c4ca6e5f6e77671968ce9d8b8ebfdbdde07b31676f2d05b284acb938 packages/cli/tests/lifecycle.test.mjs\n"
|
||||
},
|
||||
"receipt": "ok megavolt-281-inreview-r1 rev 3203 row 281 in-progress→in-review round 1 on #1786; request megavolt-281-inreview-r1 requesting"
|
||||
},
|
||||
"viewSha": "64bd164fc938ff48e88bbe1f73b1b2092a44b947ef319f97956425d99324c86b"
|
||||
},
|
||||
{
|
||||
"rev": 3204,
|
||||
"op": "megavolt-281-inreview-r1.outcome",
|
||||
"verb": "review-outcome",
|
||||
"args": {
|
||||
"id": 281,
|
||||
"attempt": "megavolt-281-inreview-r1",
|
||||
"outcome": "failed",
|
||||
"status": null,
|
||||
"comment": null,
|
||||
"detail": "pre-send: the credential or account check failed"
|
||||
},
|
||||
"by": "megavolt",
|
||||
"at": "2026-10-22T13:02:03.649Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"round": 1,
|
||||
"attempt": "megavolt-281-inreview-r1",
|
||||
"state": "failed",
|
||||
"receipt": "ok megavolt-281-inreview-r1.outcome rev 3204 row 281 round 1 request megavolt-281-inreview-r1 failed"
|
||||
},
|
||||
"viewSha": "dffd6ed44dbe0fce968c061f6be08378dde897ddaa251c9b8dd6d2c293fb2db4"
|
||||
},
|
||||
{
|
||||
"rev": 3205,
|
||||
"op": "sage-281-review-r1b",
|
||||
"verb": "review-request",
|
||||
"args": {
|
||||
"id": 281
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T13:02:59.024Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"round": 1,
|
||||
"attempt": "sage-281-review-r1b",
|
||||
"state": "requesting",
|
||||
"receipt": "ok sage-281-review-r1b rev 3205 row 281 round 1 request sage-281-review-r1b requesting"
|
||||
},
|
||||
"viewSha": "b862b16cf093400a938b3506bace6fae82155c9e651734447760c73f0c20ff8e"
|
||||
},
|
||||
{
|
||||
"rev": 3206,
|
||||
"op": "sage-281-review-r1b.outcome",
|
||||
"verb": "review-outcome",
|
||||
"args": {
|
||||
"id": 281,
|
||||
"attempt": "sage-281-review-r1b",
|
||||
"outcome": "posted",
|
||||
"status": 201,
|
||||
"comment": 30613,
|
||||
"detail": "created"
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T13:03:38.863Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"round": 1,
|
||||
"attempt": "sage-281-review-r1b",
|
||||
"state": "posted",
|
||||
"receipt": "ok sage-281-review-r1b.outcome rev 3206 row 281 round 1 request sage-281-review-r1b posted comment 30613"
|
||||
},
|
||||
"viewSha": "d4b562903728382f89434caf9e4f41d7ddbaf8daa313f6c5d174bbbab3731ca7"
|
||||
},
|
||||
{
|
||||
"rev": 3207,
|
||||
"op": "dewey-281-verdict-r1",
|
||||
"verb": "review-record",
|
||||
"args": {
|
||||
"id": 281,
|
||||
"verdict": "approve",
|
||||
"comment": 30614,
|
||||
"candidate": "b73d4c81d57204c95f86acd1f901ee9cf83619707ccd414406e057866c4dcd56"
|
||||
},
|
||||
"by": "dewey",
|
||||
"at": "2026-10-22T13:05:20.490Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"round": 1,
|
||||
"verdict": "approve",
|
||||
"receipt": "ok dewey-281-verdict-r1 rev 3207 row 281 round 1 approve by dewey (comment 30614)"
|
||||
},
|
||||
"viewSha": "ed7c23dfa5ee98a2502e4b6410b2527b6f357c775cb6b2afa7386f7feafb50fd"
|
||||
},
|
||||
{
|
||||
"rev": 3208,
|
||||
"op": "sage-281-landed-note",
|
||||
"verb": "note",
|
||||
"args": {
|
||||
"id": 281,
|
||||
"text": "LANDED e479521d3 ff on 385a7194c (17 commits, manifest b73d4c81). Slot on 7979fb41e green: bus 819, business 231, cli 837, dewey-bus 76 with gitea-grant-docker run, shells green under 3x limits, M1-M22 killed. M1 hang fixed in b4a (mos-1273). Skips: test-task row 244 live-provider pair, test-queue canonical root. DEFERRED: N1 host-unknown hint verb, N2 fire tool text, to the follow-up row. Dewey APPROVE c30614."
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T13:06:32.779Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"field": "note",
|
||||
"receipt": "ok sage-281-landed-note rev 3208 row 281 note"
|
||||
},
|
||||
"viewSha": "e777e0997655c84a7f3d842126db35fcb0d3e5b02a57aa9358eebda281f49e76"
|
||||
},
|
||||
{
|
||||
"rev": 3209,
|
||||
"op": "sage-281-done",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 281,
|
||||
"to": "done",
|
||||
"reason": null,
|
||||
"candidate": null,
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T13:07:09.587Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 281,
|
||||
"from": "in-review",
|
||||
"to": "done",
|
||||
"round": 1,
|
||||
"issue": null,
|
||||
"candidate": null,
|
||||
"receipt": "ok sage-281-done rev 3209 row 281 in-review→done round 1"
|
||||
},
|
||||
"viewSha": "9ac1eeb17b185f038531d58b8ba85ccca0cd9607902614d3b1bc2f5e8085c0c0"
|
||||
},
|
||||
{
|
||||
"rev": 3210,
|
||||
"op": "gizmoduck-264-review-r13b",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 264,
|
||||
"to": "in-review",
|
||||
"reason": null,
|
||||
"candidate": "/mnt/storage/scratch/gizmo-264-out/manifest-264-r13b.txt",
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "gizmoduck",
|
||||
"at": "2026-10-22T14:11:07.284Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"from": "in-progress",
|
||||
"to": "in-review",
|
||||
"round": 1,
|
||||
"issue": 1769,
|
||||
"candidate": {
|
||||
"kind": "manifest",
|
||||
"digest": "257408e9e3e9e9bbc751729c2693eb3f199724374ed05db467656a95aa873c8e",
|
||||
"text": "0f14a8e813a75abc8ab2a49d4574496e68a83ae3a37019c5bbfbbbc439fbe2ab agents/gizmoduck/work/queue-264/BUILD.md\nee456d3f7f5f36c499b1144f5c1a51bd3400662bd576c0a2c403a70cd49772c8 docs/plans/DEFERRED.md\n764b3d7865bfa3a0829f3c7d5553446fc61478cc8b46c0da5dd9463ea7ef1543 packages/bus/README.md\ncd68512212ce8bf8f5631138b2e63a340fa7b940088430649bb7784af7df162a packages/bus/schema.sql\na581d9e687ec2784751e293bd320885ba2ee75cbff38dd0f7f0816c3b6ccf1f1 packages/bus/src/broker.mjs\neb2822c73e527697399691ae520092277ddbd4d2a9a42a0731b3c81cc3569e58 packages/bus/src/migrations/3k-3l.sql\nca4a8eceef394dae290a5ad7bdb9f335ebbe53ba02aa3af71be7001ba2725a93 packages/bus/src/store.mjs\n4e2f46031bb2025bb7d674a7da5b663312ed827d346f354df0453d3595fa8781 packages/bus/tests/account-migration.test.mjs\necf7536dbb12765ef30897fbd0436f68d11233da7e79ff12d4cf80baf3b961fd packages/bus/tests/chief-of-staff.test.mjs\n7d8ddb1f603bda89488e521e27b68ada373efb19f23864da78613eb14baf6f6d packages/bus/tests/comment-migration.test.mjs\n45b3a93609179a2f856a9f2620acca2f0b07ab239d2d5957a792d6c6fadeb0af packages/bus/tests/end-launch.test.mjs\naba9240825a35fdcc741439d0708efa33afcf519d11cac9952c7207ad99250f0 packages/bus/tests/fixtures/schema-3k.sql\n06c33d2101278f71b315327d7be1650d97f828b0dc2aafcc28c73a57d0fe0024 packages/bus/tests/gitea-migration.test.mjs\nb7a560894b9a6eb999b80dc9b2989ac4745b568f74d0b52eec3ab0459b46ad2b packages/bus/tests/grant-migration.test.mjs\n6e41496a5d55705f484e074e2264a84f5299e04211cd1a2f384f18c5b4f6f9c5 packages/bus/tests/message-filter.test.mjs\nb1921b88ba6ee0c28b4d9652ff529abba4b7e8b12423e99cf7996c3e207ef3f5 packages/bus/tests/name-migration.test.mjs\n52e7de4bdf04f7787f70079f78017fd034abd968370059f22d859ce5a58e27a8 packages/bus/tests/schema.test.mjs\nc09cdcca750d44ae1cebd3e8970708d39edd70682b99eeb77e19258d9fa8c068 packages/bus/tests/sessions.test.mjs\nc2f9002a8ba4474fa1bafc84d8ffd67756d450cf9a1346194a871cd0d541d524 packages/bus/tests/spec-migration.test.mjs\n4fd9c541735a8e654bee84ecab0172f9b1f21c668091fe12624ce812919327e4 packages/bus/tests/tester-writes.test.mjs\n0007f55235ef25e70bf89cfb9407e07c4780b54566163183d19b1f902fc0251e packages/bus/tests/thread-claims.test.mjs\n19e4200961fd81a23f2bf7089f81b2a57165a6a81c026ef879ab756587d705dc packages/bus/tests/thread-migration.test.mjs\n90d25f35389478cd3307b2383d93dc0a2519dd88eddc3c26bd37c39161083269 packages/bus/tests/threads.test.mjs\ncdd758deb9bcbb33eb1f4138673a11b9a5fd82fdd4fd88c14197d5240fe4b780 packages/bus/tests/usage-migration.test.mjs\n43f09ab4e7d3f8178a6cab6889ce2d85c83b8151a0f0dc26325d39bbe4236dc0 packages/cli/tests/stack-release.test.mjs\ncf6c1310f32d8495b5838620760646abcff7be0d38924511e14c53528d581802 packages/cli/tests/thread-cli.test.mjs\n4d4885bc624056b559e4c5cbdd7650c4fdeedc83695c8f1884a0bfa27b00a0cf packages/cli/tests/thread-launch.test.mjs\n3e794faab71337d13a531564183b5e0fd316c666bffbe834c8e5eedf9fad4a6a packages/webui/tests/chat.test.mjs\nd03dd152cde23c895bfbd07f1df8084925ae6638854d3a99a6aca82779ad4f12 scripts/stack-release.sh\n"
|
||||
},
|
||||
"receipt": "ok gizmoduck-264-review-r13b rev 3210 row 264 in-progress→in-review round 1 on #1769; request gizmoduck-264-review-r13b requesting"
|
||||
},
|
||||
"viewSha": "7a3ea1661ded736fbe138c569e5ab120d96bd48c8348a394f2da89f669bb7fc9"
|
||||
},
|
||||
{
|
||||
"rev": 3211,
|
||||
"op": "gizmoduck-264-review-r13b.outcome",
|
||||
"verb": "review-outcome",
|
||||
"args": {
|
||||
"id": 264,
|
||||
"attempt": "gizmoduck-264-review-r13b",
|
||||
"outcome": "failed",
|
||||
"status": null,
|
||||
"comment": null,
|
||||
"detail": "pre-send: the credential or account check failed"
|
||||
},
|
||||
"by": "gizmoduck",
|
||||
"at": "2026-10-22T14:11:43.637Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"round": 1,
|
||||
"attempt": "gizmoduck-264-review-r13b",
|
||||
"state": "failed",
|
||||
"receipt": "ok gizmoduck-264-review-r13b.outcome rev 3211 row 264 round 1 request gizmoduck-264-review-r13b failed"
|
||||
},
|
||||
"viewSha": "cadd960bd868b8c63ecb7a1128b9e2628434706849bdcac6f2b8a24c26bc6701"
|
||||
},
|
||||
{
|
||||
"rev": 3212,
|
||||
"op": "sage-264-review-r13b",
|
||||
"verb": "review-request",
|
||||
"args": {
|
||||
"id": 264
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T14:12:46.925Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"round": 1,
|
||||
"attempt": "sage-264-review-r13b",
|
||||
"state": "requesting",
|
||||
"receipt": "ok sage-264-review-r13b rev 3212 row 264 round 1 request sage-264-review-r13b requesting"
|
||||
},
|
||||
"viewSha": "fe49d268532fe1223929e2c660b3acc815daf109b5607f7909d30c9d53bf18fb"
|
||||
},
|
||||
{
|
||||
"rev": 3213,
|
||||
"op": "sage-264-review-r13b.outcome",
|
||||
"verb": "review-outcome",
|
||||
"args": {
|
||||
"id": 264,
|
||||
"attempt": "sage-264-review-r13b",
|
||||
"outcome": "posted",
|
||||
"status": 201,
|
||||
"comment": 30639,
|
||||
"detail": "created"
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T14:13:24.411Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"round": 1,
|
||||
"attempt": "sage-264-review-r13b",
|
||||
"state": "posted",
|
||||
"receipt": "ok sage-264-review-r13b.outcome rev 3213 row 264 round 1 request sage-264-review-r13b posted comment 30639"
|
||||
},
|
||||
"viewSha": "a7fb599ce8e5c0320b4b9dbd9f812934b1098406169790370dc37bce946668c1"
|
||||
},
|
||||
{
|
||||
"rev": 3214,
|
||||
"op": "duckworth-0146-record",
|
||||
"verb": "review-record",
|
||||
"args": {
|
||||
"id": 264,
|
||||
"verdict": "approve",
|
||||
"comment": 30640,
|
||||
"candidate": "257408e9e3e9e9bbc751729c2693eb3f199724374ed05db467656a95aa873c8e"
|
||||
},
|
||||
"by": "duckworth",
|
||||
"at": "2026-10-22T14:17:52.013Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"round": 1,
|
||||
"verdict": "approve",
|
||||
"receipt": "ok duckworth-0146-record rev 3214 row 264 round 1 approve by duckworth (comment 30640)"
|
||||
},
|
||||
"viewSha": "765bffd5742a3e0d8fac6bc4971ddba7fea0a937ce63529fd1ff3a82baa66d35"
|
||||
},
|
||||
{
|
||||
"rev": 3215,
|
||||
"op": "sage-264-landed-note",
|
||||
"verb": "note",
|
||||
"args": {
|
||||
"id": 264,
|
||||
"text": "LANDED 84f53540d ff on e479521d3 14:18:23Z, 21 commits = gizmoduck/row264-r13 tip (no rewrite, range-diff identity). Manifest 257408e9 approved Duckworth rev 3214 (c30640). Gate r13 2cc34aef8: 20 files, bus 827, cli 837, webui 345/1 skip, 10 shells; M1-M4 assertion kills (mos-1279 B, M2 4 files). Overlap none (13, 257). N1 actor_run binds row 269; N2 esbuild skip later gate (sage-2695)."
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T14:19:03.485Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"field": "note",
|
||||
"receipt": "ok sage-264-landed-note rev 3215 row 264 note"
|
||||
},
|
||||
"viewSha": "830e39c04975c14ffe061b4a292ac05b088574a6932f47bd91ac43d982e92ef6"
|
||||
},
|
||||
{
|
||||
"rev": 3216,
|
||||
"op": "sage-264-done",
|
||||
"verb": "move",
|
||||
"args": {
|
||||
"id": 264,
|
||||
"to": "done",
|
||||
"reason": null,
|
||||
"candidate": null,
|
||||
"evidence": null,
|
||||
"issue": null
|
||||
},
|
||||
"by": "sage",
|
||||
"at": "2026-10-22T14:19:39.888Z",
|
||||
"semantics": 2,
|
||||
"result": {
|
||||
"row": 264,
|
||||
"from": "in-review",
|
||||
"to": "done",
|
||||
"round": 1,
|
||||
"issue": null,
|
||||
"candidate": null,
|
||||
"receipt": "ok sage-264-done rev 3216 row 264 in-review→done round 1"
|
||||
},
|
||||
"viewSha": "e81b02877f6780a2cc04aaa05922ddcfec132716d03de5613412d8c6f85a579a"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ const ddl3h = readFileSync(new URL('./fixtures/schema-3h.sql', import.meta.url),
|
||||
const here = (p) => new URL(p, import.meta.url);
|
||||
// Row 264a (#1769): what the 3k→3l step rebuilds or adds. sessions.test.mjs tests those objects.
|
||||
const SESSIONS_3L = ['sessions', 'session_defaults', 'thread_claims', 'message_threads', 'thread_opens'];
|
||||
const later3l = (r) => SESSIONS_3L.includes(r.tbl_name) || ['delivery_same_thread', 'delivery_same_session'].includes(r.name);
|
||||
const later3l = (r) => SESSIONS_3L.includes(r.tbl_name) || ['delivery_same_thread', 'delivery_same_session', 'threads_id_not_session'].includes(r.name);
|
||||
function source3h(t) {
|
||||
const root = mkdtempSync(join(tmpdir(), 'account-migrate-'));
|
||||
t.after(() => rmSync(root, { recursive: true, force: true }));
|
||||
|
||||
@@ -34,7 +34,7 @@ function source3j(t) {
|
||||
}
|
||||
// Row 264a (#1769): what the 3k→3l step rebuilds or adds. sessions.test.mjs tests those objects.
|
||||
const SESSIONS_3L = ['sessions', 'session_defaults', 'thread_claims', 'message_threads', 'thread_opens'];
|
||||
const later3l = (r) => SESSIONS_3L.includes(r.tbl_name) || ['delivery_same_thread', 'delivery_same_session'].includes(r.name);
|
||||
const later3l = (r) => SESSIONS_3L.includes(r.tbl_name) || ['delivery_same_thread', 'delivery_same_session', 'threads_id_not_session'].includes(r.name);
|
||||
function rows(path) {
|
||||
const db = new DatabaseSync(path, { readOnly: true });
|
||||
try {
|
||||
|
||||
@@ -20,7 +20,7 @@ const NEW = ['hosts', 'host_grants', 'events_grant_actor', 'sqlite_autoindex_hos
|
||||
const LATER = ['gitea_users', 'gitea_grants', 'sqlite_autoindex_gitea_users_1', 'sqlite_autoindex_gitea_grants_1'];
|
||||
// Row 264a (#1769): what the 3k→3l step rebuilds or adds. sessions.test.mjs tests those objects.
|
||||
const SESSIONS_3L = ['sessions', 'session_defaults', 'thread_claims', 'message_threads', 'thread_opens'];
|
||||
const later3l = (r) => SESSIONS_3L.includes(r.tbl_name) || ['delivery_same_thread', 'delivery_same_session'].includes(r.name);
|
||||
const later3l = (r) => SESSIONS_3L.includes(r.tbl_name) || ['delivery_same_thread', 'delivery_same_session', 'threads_id_not_session'].includes(r.name);
|
||||
function source3i(t) {
|
||||
const root = mkdtempSync(join(tmpdir(), 'grant-migrate-'));
|
||||
t.after(() => rmSync(root, { recursive: true, force: true }));
|
||||
|
||||
@@ -196,12 +196,27 @@ test('T2 sage-2257: a released or revoked run\'s retired generation refuses its
|
||||
call('human', 'thread.send', { thread: A, body: `waiting after ${name}` });
|
||||
return { d, taken };
|
||||
};
|
||||
// Each refusal leaves its one action.refused event (request()'s catch, #refused); nothing else is
|
||||
// written: no approval, delivery, read or claim state (mos-1277).
|
||||
const lastSeq = () => store.get('SELECT max(seq) AS s FROM events').s;
|
||||
const refusedOnce = (fn, label) => {
|
||||
const from = lastSeq();
|
||||
assert.throws(fn, { code: 'not-holder' }, label);
|
||||
const added = store.all('SELECT kind, body FROM events WHERE seq > ? ORDER BY seq', from);
|
||||
assert.deepEqual(
|
||||
added.map((e) => [e.kind, JSON.parse(e.body)]),
|
||||
[['action.refused', { code: 'not-holder' }]],
|
||||
label,
|
||||
);
|
||||
};
|
||||
const refused = (name, { d, taken }) => {
|
||||
const before = counts();
|
||||
assert.throws(() => call(name, 'decision.withdraw', { id: d.id }), { code: 'not-holder' }, 'approval');
|
||||
assert.throws(() => call(name, 'message.receive'), { code: 'not-holder' }, 'delivery');
|
||||
assert.throws(() => call(name, 'message.read', { id: taken.id }), { code: 'not-holder' }, 'read');
|
||||
assert.deepEqual(counts(), before);
|
||||
const { events, ...before } = counts();
|
||||
refusedOnce(() => call(name, 'decision.withdraw', { id: d.id }), 'approval');
|
||||
refusedOnce(() => call(name, 'message.receive'), 'delivery');
|
||||
refusedOnce(() => call(name, 'message.read', { id: taken.id }), 'read');
|
||||
const { events: after, ...rest } = counts();
|
||||
assert.deepEqual(rest, before);
|
||||
assert.equal(after, events + 3);
|
||||
};
|
||||
// Released: generation 1 is retired once a2 claims generation 2.
|
||||
const one = prepare('a1');
|
||||
|
||||
@@ -338,7 +338,7 @@ test('REQ-THREAD-1 REQ-USER-2: one thread\'s messages never reach another thread
|
||||
'pi',
|
||||
null,
|
||||
),
|
||||
/only to its thread's holder/,
|
||||
/only to its session's holder/,
|
||||
op,
|
||||
);
|
||||
// B's holder can't read A's message either.
|
||||
|
||||
Reference in New Issue
Block a user