diff --git a/agents/duckworth/work/row323/ROUND1-6a0f0f4f8.md b/agents/duckworth/work/row323/ROUND1-6a0f0f4f8.md new file mode 100644 index 000000000..092790a0d --- /dev/null +++ b/agents/duckworth/work/row323/ROUND1-6a0f0f4f8.md @@ -0,0 +1,74 @@ +# Row 323 round 1 verdict: goldie/row323 6a0f0f4f8 (duckworth-0300) + +Request: sage-3865 (early look at draft 571376c30) and sage-3870 (candidate 6a0f0f4f8, base dd6cb5872, +manifest 903ef0225f2f…cda79f). Brief: docs/plans/2026-10-23_case1-business-file-brief.md, section "Brief: +the Case 1 factory business file". +Method: static. Git reads of local objects only. No node, no tests, no fetch, no queue reads. + +## Verdict: APPROVE (static), with one condition + +- **The manifest matches.** MANIFEST.sha256 hashes to 903ef0225f2f…cda79f, and both of its blobs match at + 6a0f0f4f8: the JSON 85e6b9ac… and the test aecd1c0f…. Neither file changed between 571376c30 and + 6a0f0f4f8. The rest of that range is BUILD.md, logs, BUILD-LOG and SESSIONS. dd6cb5872 is an ancestor. + No existing test or source file changed. +- **Fields against the brief and the cited rulings:** + - id `mosaic-stack` (DESIGN section 7). `vars.bus.tester` true. There is no `library` key and no + library project. + - human `jason`. I can't read mos-1554 myself, so this rests on Sage's relay in sage-3823. BUILD.md is + explicit that this is the only literal value that comes from mos-1554. + - The project root /srv/mosaic/src/mosaic-stack is under the DESIGN home /srv/mosaic, and the value + comes from sage-3822. It passes the normalized-absolute check at business.mjs:274. A missing project + file there only gives a warning in validate (cli.mjs:73-77), so the path doesn't need to exist at + install. + - Roles are chief (chief-of-staff) and assistant. The assistant is needed because checkLaunch requires + `launch.instances` to be nonempty and to exclude the launcher (business.mjs:186-190). BUILD.md names + that check, as the brief asks. Both arbiters are chief, under sage-3820. launch.by is chief, which + F7 (case1-accept.sh:545-559) reads. + - Claude only. `plugins.harness` is [claude-code] and both roles use harness claude-code. There is no + pi. + - No tracker, no credentials, no library, and no credential value or reference anywhere in the file. + Q247 covers the tracker by omission. +- **The model, provider and effort have sources.** + - The model claude-opus-5-5 is Sage's ruling in sage-3822. + - The provider mapping anthropic/claude-opus-5-5 matches packages/business/README.md:185. + - `thinking: high` is one of the claude-code LEVELS (index.mjs:28) and matches the chief convention at + session-launch.test.mjs:83. + - With no `launch.limits`, there is no ceiling: limitHit (launch.mjs:137-155) checks only the limits + that are defined. That is a valid choice, and N1 records it. +- **The tests read the shipped bytes.** + - DOCUMENT is `REPO/docs/guides/case1-business.mosaic-stack.json`. Case 1 writes those exact bytes, + loads them through loadBusiness, checks the bytes didn't change, and then asserts every field. + - The validate, install, boot and refusal cases copy the document and change only the project root, + under sage-3820. Since an absent root only warns, the copy differs from the shipped file only in a + way validate doesn't refuse. + - The brief's three tests are all there: + - (1) The loader case. + - (2) The real case2-install.sh factory profile with `--business-file`, with only stack-copy stubbed. + - (3) `bus-tester-off`, the literal library key through the final validate (sage-3820), and the + library project through `profile-library-business`. + - The boot case also covers the 324 boundary: bootConfig gives no trackers, credentials.status() is + [], and the reader's credentials are []. +- **The tester-switch mutant is a real kill target.** + - mutant.py asserts that the needle `"bus.tester": true` occurs exactly once, flips only that value, + and restores in a finally block with a byte-equality check. + - The value is asserted at test :66. mutant.log shows `not ok 1`, `false !== true`, `# fail 1`, and the + restored sha256 85e6b9ac… equals the manifest. + - The flip would also make the install case at :95 fail, because the install refuses with + bus-tester-off. +- **The run, as Goldie reported it (sage-3869 CLEAR, 31-byte TMPDIRs, on 571376c30). I didn't rerun it.** + - The new file passed 7/7, the business suite 261/261, and the restored file 7/7 again. + - The mutant was killed. + - The earlier revoke-window red is the tools.sock length limit (session.mjs:278, dda2d07b4). It fails + the same way on the bare base dd6cb5872, so it isn't this row's. + +## Condition + +- C1. Under mos-1561, the cli suite counts only from Sage's full gate on 6a0f0f4f8. This approval + depends on that gate passing with no new failures. + +## Notes + +- N1 (doc). `launch` has no `limits`, so the business has no session ceiling. If Mos wants a cap on .53, + it's a later launch-settings edit and doesn't need a new file. +- N2 (doc). An install on .53 with no project file at /srv/mosaic/src/mosaic-stack still passes. It + warns "no project variables" (cli.mjs:76), which the run sheet could mention. diff --git a/docs/SESSIONS.md b/docs/SESSIONS.md index 5502f192f..44df02b21 100644 --- a/docs/SESSIONS.md +++ b/docs/SESSIONS.md @@ -1564,3 +1564,4 @@ are never rewritten or removed; corrections are new entries. 2026-10-23T20:44Z | Duckworth (Opus 5.5) | row 239 (#1745) r3 static rebase check on 5b8492b0f (honker-0203, sage-3732) | clean: merge-tree differs only in BUILD.md and the channel-proof conflict block, webui bus.mjs pin e3f52172 matches, M3f whole-line scope once and T6 kills it; 0168 approval carries pending Honker's runs (duckworth-0292) | 2026-10-23T22:06Z | Duckworth (Opus 5.5) | row 239 (#1745) round 1 on r4 e0cb1db2c (honker-0206, rev 3719) | APPROVE (static): r4 range-diff all =, 16 paths byte-equal to r3, e0cb1db2c BUILD.md only, 4 channel-proof pins match; record waits for Sage's comment id and gap (duckworth-0295) | 2026-10-23T23:52Z | Duckworth (Opus 5.5) | row 324 round 1 static review on dbdfcfd52 (sage-3853) | APPROVE (static), manifest 52874356 matches, every business.tracker reader handles absence, present null refuses, no @sync when absent, N1 doc (duckworth-0298) | +2026-10-24T00:41Z | Duckworth (Opus 5.5) | row 323 round 1 static review on 6a0f0f4f8 (sage-3865, sage-3870) | APPROVE (static) C1 Sage full gate cli, manifest 903ef022 matches, fields sourced, tests read shipped bytes, tester mutant real, N1-N2 doc (duckworth-0300) |