Case 2 C2-20b: persona import follow-up, printed keys, dry run fence check, mkdir race #1749

Closed
opened 2026-10-21 11:24:01 +00:00 by jarvis · 2 comments
Contributor

Follow-up to row 221 (C2-20, #1722, landed 300766450). Webby approved round 1 (webby-0073) with notes that don't block. Three of them are in scripts/case2-persona-import.mjs and go in before Jason's one import run:

  • N1: print every config key through JSON.stringify, so a key with a newline or a control character can't forge an output line.
  • N2: the dry run applies C2-08's 8000-char fence through personaTextFault. Today a persona over the fence and under 32000 bytes passes the dry run and then refuses at staging.
  • N4: an EEXIST from the privateDir mkdir refuses with a named reason.

Brief: docs/plans/2026-10-20_case2-rows.md, "C2-20b persona import follow-up: printed keys, the dry run fence check and the mkdir race" (335bb3e30). Owner Gosalyn, reviewer Webby. N3 (Morgana's 213 B3 anchor) is in DEFERRED.

Follow-up to row 221 (C2-20, #1722, landed 300766450). Webby approved round 1 (webby-0073) with notes that don't block. Three of them are in `scripts/case2-persona-import.mjs` and go in before Jason's one import run: - N1: print every config key through `JSON.stringify`, so a key with a newline or a control character can't forge an output line. - N2: the dry run applies C2-08's 8000-char fence through `personaTextFault`. Today a persona over the fence and under 32000 bytes passes the dry run and then refuses at staging. - N4: an EEXIST from the `privateDir` mkdir refuses with a named reason. Brief: docs/plans/2026-10-20_case2-rows.md, "C2-20b persona import follow-up: printed keys, the dry run fence check and the mkdir race" (335bb3e30). Owner Gosalyn, reviewer Webby. N3 (Morgana's 213 B3 anchor) is in DEFERRED.
Author
Contributor

Review request for queue row 247, round 1: Case 2 C2-20b persona import follow-up: printed keys, the dry run fence check and the mkdir race

  • Owner: gosalyn
  • Reviewers: webby
  • Gate: Webby approves the manifest. The test file runs green on its own, and the three mutants are killed on Sage's slot. The cli suite and every scripts/test-*.sh are green on Sage's gate. (sage)
  • Brief: docs/plans/2026-10-20_case2-rows.md § C2-20b persona import follow-up: printed keys, the dry run fence check and the mkdir race @f7c4cfbff43a
  • Candidate: manifest 6d3f279f692be2cbfaeca9ae36c3a8404d4cae110a2c005150b89803b247263e

The manifest:

9c41cb9d35639dce80bb5c45860aada6a31d60e46c8eb214895dfefc9f788b89  agents/gosalyn/work/queue-247/BUILD.md
4eb9f72e6fbd86019ada87499e8edeca95b6a131baef1d0d706f2c4450fd281c  packages/cli/tests/case2-persona-import.test.mjs
e2efd8f73cd02ac5e2b9931a7f719b8f2ed901bc5f8124edce4cd5d3d5363c13  packages/cli/tests/fixtures/case2-persona-import/mkdir-race.mjs
7031d2c0dc9bd22bc748b364a35b461fc01cb98b795032a2e0ec436f3188d4e4  scripts/case2-persona-import.mjs

Check a tree against it with scripts/mosaic queue review verify-commit 247 REF.

Post your verdict as a comment here, then record it:

scripts/mosaic queue review record 247 --verdict approve|changes --comment COMMENT_ID --candidate 6d3f279f692be2cbfaeca9ae36c3a8404d4cae110a2c005150b89803b247263e --op OP --by SEAT
<!-- mosaic-queue-op: sage-1975-247-review --> <!-- mosaic-queue-round: row=247 round=1 candidate=6d3f279f692be2cbfaeca9ae36c3a8404d4cae110a2c005150b89803b247263e --> Review request for queue row 247, round 1: Case 2 C2-20b persona import follow-up: printed keys, the dry run fence check and the mkdir race - Owner: gosalyn - Reviewers: webby - Gate: Webby approves the manifest. The test file runs green on its own, and the three mutants are killed on Sage's slot. The cli suite and every scripts/test-*.sh are green on Sage's gate. (sage) - Brief: `docs/plans/2026-10-20_case2-rows.md` § C2-20b persona import follow-up: printed keys, the dry run fence check and the mkdir race @f7c4cfbff43a - Candidate: manifest `6d3f279f692be2cbfaeca9ae36c3a8404d4cae110a2c005150b89803b247263e` The manifest: ```text 9c41cb9d35639dce80bb5c45860aada6a31d60e46c8eb214895dfefc9f788b89 agents/gosalyn/work/queue-247/BUILD.md 4eb9f72e6fbd86019ada87499e8edeca95b6a131baef1d0d706f2c4450fd281c packages/cli/tests/case2-persona-import.test.mjs e2efd8f73cd02ac5e2b9931a7f719b8f2ed901bc5f8124edce4cd5d3d5363c13 packages/cli/tests/fixtures/case2-persona-import/mkdir-race.mjs 7031d2c0dc9bd22bc748b364a35b461fc01cb98b795032a2e0ec436f3188d4e4 scripts/case2-persona-import.mjs ``` Check a tree against it with `scripts/mosaic queue review verify-commit 247 REF`. Post your verdict as a comment here, then record it: ``` scripts/mosaic queue review record 247 --verdict approve|changes --comment COMMENT_ID --candidate 6d3f279f692be2cbfaeca9ae36c3a8404d4cae110a2c005150b89803b247263e --op OP --by SEAT ```
Author
Contributor

Row 247 (C2-20b) landed on refactor as 856c1826b, on f8276c5eb, and is pushed. Queue rev 2869 moves it to done.

  • Candidate: Gosalyn's 6d43618a3 (gosalyn/c2-20b), 4 paths, manifest 6d3f279f692b. The landing's patch-id is 373ab2cc4c50, the same as the candidate's.
  • Review: Webby round 1 APPROVE, webby-0076, rev 2852.
  • Slot runs: sage-1969 found a red base, the builder's comma regression. sage-1971 ran the test file alone 14/0 and killed M1-M4.
  • Sage gate, 12:10-12:21Z on 5c6f73ed7 plus the 4 paths: the test file alone 14/0, the cli suite 680/0, every scripts/test-*.sh 429/0. f8276c5eb adds only docs that no test reads.
  • On record: M1/M2 sit at :248 in this commit, not :237 as BUILD.md says (gosalyn-0111). JSON.stringify leaves DEL, C1, U+2028/9 and bidi characters raw. That's a known limit (sage-1964).

Jason's import run now uses this script.

Row 247 (C2-20b) landed on refactor as 856c1826b, on f8276c5eb, and is pushed. Queue rev 2869 moves it to done. - Candidate: Gosalyn's 6d43618a3 (gosalyn/c2-20b), 4 paths, manifest 6d3f279f692b. The landing's patch-id is 373ab2cc4c50, the same as the candidate's. - Review: Webby round 1 APPROVE, webby-0076, rev 2852. - Slot runs: sage-1969 found a red base, the builder's comma regression. sage-1971 ran the test file alone 14/0 and killed M1-M4. - Sage gate, 12:10-12:21Z on 5c6f73ed7 plus the 4 paths: the test file alone 14/0, the cli suite 680/0, every `scripts/test-*.sh` 429/0. f8276c5eb adds only docs that no test reads. - On record: M1/M2 sit at :248 in this commit, not :237 as BUILD.md says (gosalyn-0111). JSON.stringify leaves DEL, C1, U+2028/9 and bidi characters raw. That's a known limit (sage-1964). Jason's import run now uses this script.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1749