diff --git a/docs/plans/BRIEF-TEMPLATE.md b/docs/plans/BRIEF-TEMPLATE.md index 2df47e51f..a2c8b7848 100644 --- a/docs/plans/BRIEF-TEMPLATE.md +++ b/docs/plans/BRIEF-TEMPLATE.md @@ -48,6 +48,17 @@ What this piece deliberately leaves alone, and where that work goes. Who says yes, and on what evidence: the command to run, the output to expect, or the comment to read. +Every seat, Claude or Codex, runs the suites with a short TMPDIR: +`export TMPDIR=$(mktemp -d /mnt/storage/scratch/tmp/XXXXXX)`, 31 bytes. A +launch refuses when its run's `tools.sock` path passes 107 bytes +(`packages/seat/src/session.mjs:278`). Tests build that path under TMPDIR +and drop the launcher log, so the refusal shows only as a 20-second "no +RESULT". `packages/cli/tests/revoke-window.test.mjs` needs TMPDIR at 35 +bytes or less. A seat-named TMPDIR such as `.../tmp/goldieXXXXXX` (37) +fails it on any commit (row 323, mos-1561). A builder whose cli suite +can't run says so in the row, and the cli suite counts from the lead's +landing gate. + ### Handoffs Every seat hands off directly (DECISIONS Q210, mos-1221). When the owner diff --git a/docs/plans/DEFERRED.md b/docs/plans/DEFERRED.md index 5465bad28..528c1680b 100644 --- a/docs/plans/DEFERRED.md +++ b/docs/plans/DEFERRED.md @@ -742,3 +742,17 @@ one base64url line of at least 32 characters, `[A-Za-z0-9_-]` only (packages/web exits 2 at start otherwise (:267). case2-unit.sh doesn't open the file, so a short or malformed proof fails only at Console start. That's what stopped Run B P1 (B2-1, ops-01's 24-byte fixture). Fix: add the format to the File cell of that row. Doc only, no test reads it; bound to the next doc row that edits the run sheet. + +## Row 323: revoke-window hides a socket-path refusal as a 20-second "no RESULT" + +Sage, for Mos's mos-1560/mos-1561. packages/cli/tests/revoke-window.test.mjs failed on every commit in +Goldie's environment (base dd6cb5872 included) and passed in Sage's. The cause is TMPDIR length, not Codex. +The test's root is `$TMPDIR/mosaic-revoke-window-XXXXXX`, and a run's `tools.sock` sits at +`/data/launches/acme/r<12 hex>/tools.sock`. newRun refuses past 107 bytes +(packages/seat/src/session.mjs:278). Measured lengths: `.../tmp/sageXXXXXX` (35 bytes) gives 107 and passes, +`.../tmp/goldieXXXXXX` (37 bytes) gives 109 and fails. Sage reproduced it with a 37-byte TMPDIR: 0/1 after +20235 ms, the same "no RESULT". The test passes `log: () => {}` to the launcher, so the refusal never shows. +The guard is right. The test is the weak part: its prefix leaves no margin, and a launch refusal reads as a +timeout. Fix: shorten the prefix and fail on a launch-failed log line instead of waiting 20 s. That's an +old-test change, so it needs Mos's go (mos-1272). Bound to the next row that edits revoke-window.test.mjs. +Until then, docs/plans/BRIEF-TEMPLATE.md's Gate section sets TMPDIR to `mktemp -d /mnt/storage/scratch/tmp/XXXXXX`.