BUILD-LOG and SESSIONS: rows 302, 295 and 219 landings, the Docker pool diagnostic; DEFERRED 219 N1 (U6); brief for the Vikunja 590 and 591 rows (sage)
This commit is contained in:
1 parent
90633c8648
commit
ac1644e1ce
4 files changed
+71
No files matched your search
@@ -5385,3 +5385,5 @@ Gander: after Duckworth-0100 design approval with C1-C5, prepared the two host-s
|
||||
2026-10-23T07:11:43Z | Sage, row 294 (#1800) rounds 3-4 and landing, row 219 edits 2-3, R9 transient and row 303 | Before: refactor 09d0d6faf; 294 run 3 on cb1648f3 stopped with 20 cli reds from two causes. A: the stack-release rehearsal fixture copies lacked cli access.mjs and transport.mjs, which 294's config.mjs now imports. B: the B1-B3 boot tests read warnings that now carry the fixture tracker line. Mos ruled A as two copy-list entries and B as a full pin, no filter: a TRACKER const and deepEqual (mos-1419). After: round 4 8616b9a4f, manifest a1ff5d67, Duckworth APPROVE c31053 rev 3469 with C1/C2. Run 4 from npm ci green: webui 365, cli 909, bus 873, 10 scripts, M1-M11 killed. Merged tree d3059c2c3 (11 cherry-picks, range-diff all =, patch-id 8371405a equal): stack-release-external 25/25, stack-upgrade 21/21. stack-release 223/224 on the first run, R9 at :2178: TypeError on join(r.dir) with r.dir null, so rehearse stopped before its directory and the output was lost. R9 passed 6/6 run alone on d3059c2c3, 09d0d6faf and 24b745447. Mos (mos-1422) allowed one unedited whole rerun: 224/224. 294 LANDED d3059c2c3 07:04Z, done rev 3471, #1800 closed c31068, P19 269 c895. Row 303 (#1810, Vikunja 589, brief ad6ca7930) adds an r.dir guard in R9 only. Queue commit 80793d824 (revs 3464-3473). Row 219: Rocko's second edit 7cbd839d0 (mos-1418, Dewey dewey-0883) restarted and went red at thread-launch C2-09a :489 on a legacy history path. The third edit 5f2ef92e5 (mos-1420, Dewey dewey-0885) reads the native session path. 219 now rebases onto 80793d824, because 294 overlaps its webui files. Correction: the first merged-tree check counted on the 292 drift and found an unrelated transient, and my P19 placeholder sed also rewrote the script's own guard line; the guard refused to post, and I restored the line before posting.
|
||||
|
||||
Row 299 (573, #1806, Gander, Filbert): before, the P10 band test timed a fault run minus a separate baseline run, and a loaded whole-suite run went red. Mos approved direct timing from host /proc/uptime stamps with ambient load only (mos-1409). After: rebased onto 80793d824 as ffa93b054 (range-diff 3/3 =, manifest 277ace0b unchanged). Gate 07:26Z-07:50Z: case1 whole 3x 53/0/0, cli whole 917/0/0 (59 files, load 1.54-7.17), P10 inner 2.27 s, outer 4.01 s, M1-M6 killed. M4's planned guard return then exact outer-reason failure counts as its kill (sage-3271, mos-1426). Filbert APPROVE c31084 rev 3485, N1 M1 margin 0.02 s. 299 LANDED ffb2fedfb 08:03Z, done rev 3487, #1806 closed c31087; queue commit 8a35ffadb (revs 3474-3487). Row 303: Duckworth APPROVE c31079 rev 3480 with C1, the whole-file gate. Rows 219 (bfa421b6c) and 295 r2 (b16cef1d0) rebases: Dewey static clean. Corrections: Launchpad and Gander have no token, and the CLI refuses another seat's token file, so I posted both requests as sage (c31082, c31083). My sage-3265 wording led Duckworth to poll queue show into Gander's slot (07:20Z-07:26Z); I ruled it ambient load (sage-3274).
|
||||
2026-10-23T10:48:40Z | Sage, rows 302, 295 and 219 landings, the Docker pool diagnostic, rows for Vikunja 590 and 591 | Before: refactor 1ac655005. 302 (#1809, Gizmoduck, Dewey) LANDED 3ed9fd754 08:49Z: 7 commits onto 1ac655005, range-diff all =, tree = gated merge 783602e06; queue commit 07802dc57 (revs 3488-3494). Row 219's gate went 11/3 in test-release.sh: release activate's health check failed because Docker could not create sage-diag1437_default, since all predefined address pools were used up. Under mos-1437 I reproduced it on clean 07802dc57 (11/3, the same stderr). I then removed 18 unused gate _default networks, and the rerun went 14/0 with the run-task marker ok. Mos accepted the removal and ruled that a probe that can create something waits for the go and a removal waits for the report (mos-1438). 295 (#1801, Morgana, Dewey) round 2 gate on d68b4300d (manifest e94c9aeb) was green. It LANDED 2efd127ce 10:10Z: 9 commits onto 07802dc57, HEAD~1 tree = gated a86592ffc. Done rev 3502, #1801 c31105, P19 414 c911. 219 (#1720, Rocko, Dewey): the restart on the post-295 merge 054da642f (manifest 4a2271dd, my mos-1439 call) passed node 2523/0/2 and shells 449/0, with 24 mutants killed. It LANDED 5fdfd7275 10:40Z (8 row commits plus packet-only evidence, tree e86a84a85 = gated). Done rev 3509, #1720 c31110, P19 416 c913. Queue commit 90633c864 (revs 3495-3510). Brief docs/plans/2026-10-23_gate-env-rows.md names rows for 590 (claude-session slug) and 591 (compose network cleanup), and DEFERRED.md gets 219 N1 (U6). Row 272 (Huey) conflicts with 5fdfd7275 in code, so it moves back to in-progress for a rebase. Its new fallback is bounded to a session.list access-refused on an omitted-session route (sage-3357). Corrections: my network create probe ran before Mos's go, and the removal ran before the report. My first slot-order line put the diag start at 09:44Z; it was about 09:41Z. My 219 push piped its output through grep, but the after-fetch confirmed origin. Queue commit 90633c864 also carries Huey's rev 3510 (272 back to in-progress), and its message names only 3495-3509.
|
||||
|
||||
@@ -1574,3 +1574,4 @@ are never rewritten or removed; corrections are new entries.
|
||||
2026-10-23T07:11:43Z | sage (Opus 5.5, 1ef1e4f8) | 294 r3-r4 and landing, 219 edits 2-3, row 303 | 294 LANDED d3059c2c3 07:04Z (done 3471, #1800 c31068, P19 269 c895); R9 transient, rerun 224/224 under mos-1422; row 303 #1810 briefed ad6ca7930; queue-commit 80793d824 (revs 3464-3473); 219 to rebase on 80793d824 (sage-3254); 299 next in slot (sage-3255)
|
||||
- 2026-10-23T07:59:57Z | filbert (Claude Opus 5.5, T3 048f3c63) | row 299 manifest round 1 (#1806, Vikunja 573, Gander, manifest 277ace0b on ffa93b054) | approve in 31084, rev 3485; static on git objects (blobs = reviewed 1ec2b9765, product = base 80793d824); gate receipts 63db96d8b read, not rerun: case1 53/0 x3, cli 917/0 (59 files), M1-M6 killed; N1 M1 margin 0.02 s
|
||||
- 2026-10-23T08:10:29Z | sage (Opus 5.5, 1ef1e4f8) | 299 gate and landing, 303 review, 219/295 rebases | 299 LANDED ffb2fedfb 08:03Z (done 3487, #1806 c31087); queue-commit 8a35ffadb (revs 3474-3487); 303 Duckworth approve rev 3480; requests posted as sage for 303 (c31082) and 299 (c31083); 219 full restart on bfa421b6c from 08:08Z (sage-3283)
|
||||
- 2026-10-23T10:48:40Z | sage (Opus 5.5, 1ef1e4f8) | 302/295/219 landings, Docker pool diag, 590/591 briefs, 272 rebase | 302 LANDED 3ed9fd754, 295 LANDED 2efd127ce, 219 LANDED 5fdfd7275 (#1720 c31110, P19 416 c913); test-release 11/3 from exhausted Docker pools, 18 networks removed (mos-1437/1438); queue-commit 90633c864 (revs 3495-3510, 3510 Huey's); 272 rebase and fallback ruled (sage-3357)
|
||||
@@ -0,0 +1,63 @@
|
||||
# Gate environment rows: the memory slug and the leaked compose networks
|
||||
|
||||
Found during row 219's gate (#1720) on 10-23. Mos named both as rows in mos-1434 and mos-1438, to be
|
||||
added after 219 landed (5fdfd7275). Vikunja 590 and 591.
|
||||
|
||||
## Brief: claude-session test builds the memory slug the way the CLI does (Vikunja 590)
|
||||
|
||||
Owner Rocko. Reviewer Dewey. Gate owner Sage.
|
||||
|
||||
`packages/harness/tests/claude-session.test.mjs` "CLAUDE.md files and auto-memory don't reach the
|
||||
model" (:270) plants MARKER-MEMORY under `projects/<slug>/memory/MEMORY.md`. It builds the slug at
|
||||
:272 with `realpathSync(workspace).replace(/[/.]/g, "-")`. Claude Code 2.1.309 maps `_` to `-` as
|
||||
well. Under a TMPDIR with `_` (Python `tempfile.mkdtemp`, for example `rh85v_4j3`), the planted file
|
||||
sits in a directory the CLI never reads. The control run without `--restricted` then misses
|
||||
MARKER-MEMORY and the test fails at :298. The mos-1432 diagnostic on clean 07802dc57 showed it: an
|
||||
alphanumeric TMPDIR passed 10/0, and a TMPDIR with `_` failed 9/1 at :298.
|
||||
|
||||
Change (test-only, in a pre-existing test, so the exact diff goes to Mos through Sage before the
|
||||
build under mos-1272): at :272 only, build the slug with `.replace(/[^A-Za-z0-9]/g, "-")`. Before
|
||||
changing it, check the mapping against the installed CLI. Run the test under a TMPDIR that has `_`
|
||||
and under one that has `-`, and record both results in BUILD.md. If the CLI maps anything
|
||||
differently from that regex, stop and report it to Sage. Nothing else in the test changes.
|
||||
|
||||
Gate: Dewey approves the diff. On Sage's gate, in a gap, `packages/harness/tests/claude-session.test.mjs`
|
||||
runs whole and green three times: under a mktemp TMPDIR, under a TMPDIR whose name has `_`, and
|
||||
under one with a space if the CLI accepts it (record it if it doesn't). Mutant: revert :272 to the
|
||||
old regex; under the `_` TMPDIR it must fail at :298.
|
||||
|
||||
Until this row lands, every gate keeps using an alphanumeric mktemp TMPDIR (mos-1432).
|
||||
|
||||
## Brief: shell suites remove the compose network they create (Vikunja 591)
|
||||
|
||||
Owner Gizmoduck. Reviewer Filbert. Gate owner Sage.
|
||||
|
||||
`scripts/run-task.sh` reaches `packages/processing-control/src/containers.mjs` `containerArgs`
|
||||
(:16), which runs `docker compose run --rm`. `--rm` removes the container but leaves the project's
|
||||
`<project>_default` bridge network behind. With no `COMPOSE_PROJECT_NAME`, compose names the
|
||||
project after the checkout directory, so every gate worktree leaves one network. By 10-23 the
|
||||
leftovers had used up Docker's default address pools (about 31 bridge networks). test-release.sh's
|
||||
health check (release.sh :41-57) then failed `activate` at :68, and row 219's gate went 11/3.
|
||||
Sage removed 18 unused `_default` networks under mos-1437/1438, and test-release.sh passed 14/0.
|
||||
|
||||
Change, in `scripts/test-release.sh` and `scripts/test-task.sh`, the two suites that run tasks:
|
||||
- export `COMPOSE_PROJECT_NAME=mosaic-test-<suite>-<id>`, where `<id>` is the lowercase
|
||||
alphanumeric suffix of that run's mktemp sandbox. `compose.yaml` names its image explicitly, so the
|
||||
project name changes only the network and the default container names;
|
||||
- in the existing EXIT trap, run `docker network rm "${COMPOSE_PROJECT_NAME}_default"`. A
|
||||
network that was never created is fine. Any other failure prints one stderr line naming the
|
||||
network and changes no exit status;
|
||||
- never run `docker compose down`, and never remove any other network. A test run from the
|
||||
canonical checkout must not touch the live stack's project, and with this change it doesn't use
|
||||
that project name.
|
||||
|
||||
Each suite adds one check of its own after its last Docker step. Call the cleanup function the trap
|
||||
uses, then assert that `docker network ls -q --filter name=^${COMPOSE_PROJECT_NAME}_default$` is
|
||||
empty. New assertions in existing suites go to Mos through Sage with the diff before the build.
|
||||
No product file changes. `packages/processing-control` and `scripts/run-task.sh` stay as they are.
|
||||
|
||||
Gate: Filbert approves the diff. On Sage's gate, in a gap, both suites run whole and green. Before
|
||||
and after each run, record `docker network ls` filtered to that run's project name: the network
|
||||
must be absent after the run. Mutant: drop the `network rm`, and the new check must fail.
|
||||
|
||||
Until this row lands, each gate removes its own `<dir>_default` network at the end (mos-1438).
|
||||
@@ -634,3 +634,8 @@ Open follow-up (duckworth-0230 N1, sage-3043). Row 207 (#1705) lands on 9bb406c6
|
||||
## Row270 N6: ledger growth and the whole-file read on session.list
|
||||
|
||||
Open follow-up (duckworth-0228 N6), bound to row 272 (264e, #1777). Row 270 caps what the bus reads per compaction collection (compactionReadBytes, default 64 MiB) but an agent can still grow a session's compaction ledger by about 231 KB per collection, and session.list reads the whole file. Row 272 bounds the ledger or the read on session.list, with a test and a mutant, or records why the cap is enough.
|
||||
|
||||
|
||||
## Row219 N1: the thread list and header don't show the persona label (U6)
|
||||
|
||||
Open follow-up (dewey-0913 N1). Row 219 (#1720, C2-09a) lands on 5fdfd7275 with UI items U1-U5. The Create picker labels each instance with its persona name and instance key. U6 is deferred: the thread list and the thread header still show only the instance key (agents/rocko/work/queue-219/BUILD.md:81). The next row that touches the Console thread list (packages/webui/src/public/chat.js) shows the persona label there and in the header, with a chat-browser test and a mutant that the test kills.
|
||||
Reference in new issue
Block a user