docs: record three killed P3 mutants and byte-identical restoration

This commit is contained in:
jason.woltje committed 2026-10-26 18:12:54 -05:00
1 parent 569765f6de
commit eabeb1aa82
17 files changed
+564

No files matched your search

+2
View File
@@ -5829,3 +5829,5 @@ Before: agents can read the library; supporting-path and push-credential depende
2026-10-26 | Sage | Mos1909/1915/1917 real postlanding reviews | Boyd/Dewey/Filbert/Gladstone real authored candidate52ba verdictfiles independently byte/hash-verified, allAPPROVE scoped; Dewey656broaderPARTIAL retained. Formal330R1/331R4 requests failedpre-send/no comments or approvals; no borrowed/copied/mintedkeys. LegacyhelperGETname jason.woltje is NOT ownJarvis, ownslotabsent; rows tracking-open/#436, files cited via normalqueue. NewFilbertNEW-330-01 filedtask665 exactreadback, notlandingreopen/gate. Repair646-648/652-656 remainOPEN untilactualcomments;1917 conditionalbacklog routing retained. #662scope1338posted;660PR405REVISE/notready. Product1968inputs unchanged; no source/helper/test/gate edits/runs; peerjournal prefixes preserved. 2026-10-26 | Sage | Mos1909/1915/1917 real postlanding reviews | Boyd/Dewey/Filbert/Gladstone real authored candidate52ba verdictfiles independently byte/hash-verified, allAPPROVE scoped; Dewey656broaderPARTIAL retained. Formal330R1/331R4 requests failedpre-send/no comments or approvals; no borrowed/copied/mintedkeys. LegacyhelperGETname jason.woltje is NOT ownJarvis, ownslotabsent; rows tracking-open/#436, files cited via normalqueue. NewFilbertNEW-330-01 filedtask665 exactreadback, notlandingreopen/gate. Repair646-648/652-656 remainOPEN untilactualcomments;1917 conditionalbacklog routing retained. #662scope1338posted;660PR405REVISE/notready. Product1968inputs unchanged; no source/helper/test/gate edits/runs; peerjournal prefixes preserved.
2026-10-26 — Fethry Mos1961 P3/P2 actual join on09a847ed: metadata-first/one actual modelPreflight key through harness,private spawn,binding and stall;explicit provider-identity mapping preserves existing zai/anthropic;proxy strict route. TDD new RED→GREEN plus117/117 targeted wholefile checks,zero skips;original653/655 bodies/assertions/deadlines and runtime/process/modelkeys unchanged. Preserved nonproxy fixture-key RED and exact127 /usr wrapper→unmounted /opt ELF failure;minimal approved fake-key prerequisite/proper executable pin,focused andwholefile recheck. No P5 overlap,#662,fullgate,push or live-provider claim. Full evidence agents/fethry/work/queue-332/join1961/. 2026-10-26 — Fethry Mos1961 P3/P2 actual join on09a847ed: metadata-first/one actual modelPreflight key through harness,private spawn,binding and stall;explicit provider-identity mapping preserves existing zai/anthropic;proxy strict route. TDD new RED→GREEN plus117/117 targeted wholefile checks,zero skips;original653/655 bodies/assertions/deadlines and runtime/process/modelkeys unchanged. Preserved nonproxy fixture-key RED and exact127 /usr wrapper→unmounted /opt ELF failure;minimal approved fake-key prerequisite/proper executable pin,focused andwholefile recheck. No P5 overlap,#662,fullgate,push or live-provider claim. Full evidence agents/fethry/work/queue-332/join1961/.
2026-10-26 — Fethry row332 named mutants3/3 killed on unchanged d6dc04e84 source: OAuth-only env leak1/1RED→restored2/0;literal models-file key5/2RED→restored7/0;serialized session key1/6RED→restored actual-context7/0. Exact anchors/all6 source SHA restoration,private/nice19/originalbound receipts andcleanup0. HeavyM3 after227SLOTBACK only;directSLOTBACK toSteelbeak+Sage afterward. Receipts-only localcommit,no push. Fresh review/fullgate/live acceptance still pending;not fullacceptance.
+16
View File
@@ -349,3 +349,19 @@ Parent coordinates334+332 integration, Darkwing's precise independent native-Cas
Commit integration correction: merge commit from oldc7HEAD refused by queue guard because incoming already-landed09 queue files appeared staged vs oldHEAD. No commit/queue edit/guard bypass occurred. Fixed-path scratch backup command was separately refused before execution by mktemp-guard; corrected to mktemp-created backup recorded in join1961/tested-patch-path.txt. Preserved full tested delta and original branchc7; moved only new localbranch/index onto authorized09a847ed with worktree retained (mixed reset). Verified every tested production SHA unchanged and both queue files byte-identical to09. Commit is ordinary P3-only child of09a847ed,not a merge that recommits queue records. No tests repeated for history/index-only correction. Commit integration correction: merge commit from oldc7HEAD refused by queue guard because incoming already-landed09 queue files appeared staged vs oldHEAD. No commit/queue edit/guard bypass occurred. Fixed-path scratch backup command was separately refused before execution by mktemp-guard; corrected to mktemp-created backup recorded in join1961/tested-patch-path.txt. Preserved full tested delta and original branchc7; moved only new localbranch/index onto authorized09a847ed with worktree retained (mixed reset). Verified every tested production SHA unchanged and both queue files byte-identical to09. Commit is ordinary P3-only child of09a847ed,not a merge that recommits queue records. No tests repeated for history/index-only correction.
Post-commit history proof: d6dc04e84fac839b7259488162b145b9683f943b is normal child of09a847ed, originalc7packet remains fethry/row332-p1. Compared saved PRE-reset full binary patch against committed09..d6dc package/test/script delta blocks: all identical, including new files. history-correction-pins.json records every block hash; six direct production-file hashes also unchanged. Queue delta0. No no-verify/commit-tree/shared-ref rewrite. Mutants remain NOT RUN: OAuth-env leak(sessionEnv),literal model-file key(pi.bundle),serialized session key(launcher harnessEnv). Latest positive controls117/0/0skip are not mutant kills/full acceptance. Return these exact pending checks to parent so slot227 is not delayed. Fullgate/reviews/installation/liveprovider acceptance remain pending. Post-commit history proof: d6dc04e84fac839b7259488162b145b9683f943b is normal child of09a847ed, originalc7packet remains fethry/row332-p1. Compared saved PRE-reset full binary patch against committed09..d6dc package/test/script delta blocks: all identical, including new files. history-correction-pins.json records every block hash; six direct production-file hashes also unchanged. Queue delta0. No no-verify/commit-tree/shared-ref rewrite. Mutants remain NOT RUN: OAuth-env leak(sessionEnv),literal model-file key(pi.bundle),serialized session key(launcher harnessEnv). Latest positive controls117/0/0skip are not mutant kills/full acceptance. Return these exact pending checks to parent so slot227 is not delayed. Fullgate/reviews/installation/liveprovider acceptance remain pending.
## Named mutants completed — 2026-10-26, product bytes unchanged
Source productd6dc04e84 and docs569765f6 preserved; parent c91bd3787 journal repair is outside this worktree and does not alter these source bytes. Fresh independent review remains parent-owned. M1/M2 were tiny serial pure-unit runs while227 held heavy slot: in-process environment/file generation only, no namespace/native model/launcher child. M3 ran only after227 SLOTBACK under explicit heavy-slot go. Direct SLOTBACK sent to Steelbeak7f079f4a-114d-4be6-b352-f598f786596b and copied Sage after restoration/cleanup, before his rerun.
Native helper join1961/mutations/run.py records exact one-match source anchors and initial/mutant/restored SHA, refuses dirty/mismatched pinned source, restores original bytes in finally, then runs restored whole-file positive control. M3 requires explicit --heavy-slot. Every phase fresh shell-mktemp gXXX TMPDIR/private HOME/config,nice19 owned-descendant restoration,timeout-k10/original whole-file bounds (180s pure,300s context; original30s test deadlines unchanged). Existing nativeELF prerequisite hash reverified before M3; these actual context controls use fake adapters, so no extra realCLI/auth/provider invocation. No public/runtime ready flag or sourcecandidate commit changed. Fake values redacted from mutation output.
| Mutant | Whole file | Baseline p/f/s | Mutant p/f/s;exit | Restored p/f/s;exit | byte identity |
| --- | --- | --- | --- | --- | --- |
| M1: proxy mode still passes CLAUDE_CODE_OAUTH_TOKEN | packages/seat/tests/proxy-session-env.test.mjs | 2/0/0 | 1/1/0;1 | 2/0/0;0 | True |
| M2: models.json gets literal key instead of environment reference | packages/harness/tests/proxy-bundle.test.mjs | 7/0/0 | 5/2/0;1 | 7/0/0;0 | True |
| M3: proxy key serialized into session.json | packages/cli/tests/proxy-context-join.test.mjs | 7/0/0 | 1/6/0;1 | 7/0/0;0 | True |
M1 narrows filter bug to passing only Claude OAuth; proxy-removal assertion catches it while nonproxy control still passes. M2 mutates only final models.json write to replace environment reference with own fake key (after original in-memory safety check), so actual on-disk literal-key defect is exercised; single-Codex-provider reference and privacy assertions kill it. M3 changes actual serialized harnessEnv to bundle.env; six managed native/explicit-route/Claude privacy assertions fail on credential value in session.json, while unsupported-provider refusal control still passes. These are genuine assertion REDs, not syntax/fixture/timeouts;0cancelled/0skips every phase. All6 production hashes match original pinned candidate after each restore. No assertion/deadline weakened.
All3 named mutants now KILLED; prior pending notes remain historical. Receipts include each baseline/full mutant/full restored log and source-anchor/SHA details; cleanup.json verifies0remaining owned-root processes. Product-source git diff vsd6 is empty. Restored positive controls2/2,7/7,7/7. No further fullgate/global/package runs, shareddragon fallback,secret read,borrowed token,dependency install or realprovider/authturn. No push. Three kills plus117 targeted tests do NOT claim full acceptance; independent review/fullgate/installation/live behavior remain pending/UNVERIFIED.
@@ -0,0 +1,12 @@
{"phase": "start", "utc": "2026-10-26T23:08:56.580845+00:00", "test": "packages/seat/tests/proxy-session-env.test.mjs", "bound": 180, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/gYDv/home", "privateConfig": "/mnt/storage/scratch/tmp/gYDv/home/config/unconfigured.json"}
✔ P3 proxy sessionEnv removes every instance provider credential without widening ENV_ALLOW (0.992066ms)
✔ P3 no proxy retains the full existing allowlist and run environment (0.216285ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 51.776931
{"phase": "end", "utc": "2026-10-26T23:08:56.662060+00:00", "exit": 0, "niceRestoredTo": 19, "priorityCorrections": {}, "ownedPids": [2533742, 2533744, 2533813]}
@@ -0,0 +1,33 @@
{"phase": "start", "utc": "2026-10-26T23:08:56.695084+00:00", "test": "packages/seat/tests/proxy-session-env.test.mjs", "bound": 180, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/g0fB/home", "privateConfig": "/mnt/storage/scratch/tmp/g0fB/home/config/unconfigured.json"}
✖ P3 proxy sessionEnv removes every instance provider credential without widening ENV_ALLOW (1.027092ms)
✔ P3 no proxy retains the full existing allowlist and run environment (0.596291ms)
ℹ tests 2
ℹ suites 0
ℹ pass 1
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 53.614217
✖ failing tests:
test at packages/seat/tests/proxy-session-env.test.mjs:16:1
✖ P3 proxy sessionEnv removes every instance provider credential without widening ENV_ALLOW (1.027092ms)
AssertionError [ERR_ASSERTION]: CLAUDE_CODE_OAUTH_TOKEN
true !== false
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/seat/tests/proxy-session-env.test.mjs:19:40)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.start (node:internal/test_runner/test:1262:17)
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
{"phase": "end", "utc": "2026-10-26T23:08:56.796610+00:00", "exit": 1, "niceRestoredTo": 19, "priorityCorrections": {}, "ownedPids": [2533870, 2533871, 2533885]}
@@ -0,0 +1,50 @@
{
"mutant": "M1",
"name": "proxy mode still passes CLAUDE_CODE_OAUTH_TOKEN",
"source": "packages/seat/src/session.mjs",
"test": "packages/seat/tests/proxy-session-env.test.mjs",
"old": "!(proxy && isProviderVariable(k))",
"new": "!(proxy && isProviderVariable(k) && k !== \"CLAUDE_CODE_OAUTH_TOKEN\")",
"bound": 180,
"product": "d6dc04e84fac839b7259488162b145b9683f943b",
"head": "569765f6de72e82f5ef64c55ca0323ad8b26d7cc",
"originalSha256": "488e593811adf369fc94e4b8528e8526bbef054aaa6912911be169eec3971f73",
"anchorMatches": 1,
"started": "2026-10-26T23:08:56.553917+00:00",
"phases": [
{
"phase": "baseline",
"exit": 0,
"pass": 2,
"fail": 0,
"skip": 0,
"cancelled": 0,
"assertionFailure": false
},
{
"phase": "mutant",
"exit": 1,
"pass": 1,
"fail": 1,
"skip": 0,
"cancelled": 0,
"assertionFailure": true
},
{
"phase": "restored",
"exit": 0,
"pass": 2,
"fail": 0,
"skip": 0,
"cancelled": 0,
"assertionFailure": false
}
],
"mutantSha256": "b37acf6ba05ee6e68282fd9607baa189377c8d7133cedb5f4992146263647d74",
"killed": true,
"restoredSha256": "488e593811adf369fc94e4b8528e8526bbef054aaa6912911be169eec3971f73",
"byteIdentityRestored": true,
"finished": "2026-10-26T23:08:56.915148+00:00",
"restoredPositiveControl": true,
"allSourcePinsMatch": true
}
@@ -0,0 +1,12 @@
{"phase": "start", "utc": "2026-10-26T23:08:56.828586+00:00", "test": "packages/seat/tests/proxy-session-env.test.mjs", "bound": 180, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/gBee/home", "privateConfig": "/mnt/storage/scratch/tmp/gBee/home/config/unconfigured.json"}
✔ P3 proxy sessionEnv removes every instance provider credential without widening ENV_ALLOW (0.931301ms)
✔ P3 no proxy retains the full existing allowlist and run environment (0.208396ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 50.185616
{"phase": "end", "utc": "2026-10-26T23:08:56.909866+00:00", "exit": 0, "niceRestoredTo": 19, "priorityCorrections": {"16": 2}, "ownedPids": [2533896, 2533897, 2533903]}
@@ -0,0 +1,17 @@
{"phase": "start", "utc": "2026-10-26T23:09:04.420882+00:00", "test": "packages/harness/tests/proxy-bundle.test.mjs", "bound": 180, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/g5zA/home", "privateConfig": "/mnt/storage/scratch/tmp/g5zA/home/config/unconfigured.json"}
✔ P3 Anthropic route uses messages at proxy root and the declared model id (10.935535ms)
✔ P3 omitted route refuses proxy-route-missing before model config generation (2.218381ms)
✔ P3 GLM route uses completions at proxy /v1 with explicit z.ai compatibility (3.774635ms)
✔ P3 GPT route selects a stack-owned provider instead of pi Codex OAuth (2.878883ms)
✔ P3 a declared Codex route generates only the single build-time responses provider (2.568426ms)
✔ P3 models file is private, references the one session key, and stores no executable values or keys (2.660559ms)
✔ P3 every launch regenerates proxy port, declared models and own key without caching (4.772779ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.011806
{"phase": "end", "utc": "2026-10-26T23:09:04.563069+00:00", "exit": 0, "niceRestoredTo": 19, "priorityCorrections": {}, "ownedPids": [2534458, 2534459, 2534465]}
@@ -0,0 +1,65 @@
{"phase": "start", "utc": "2026-10-26T23:09:04.595048+00:00", "test": "packages/harness/tests/proxy-bundle.test.mjs", "bound": 180, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/gItO/home", "privateConfig": "/mnt/storage/scratch/tmp/gItO/home/config/unconfigured.json"}
✔ P3 Anthropic route uses messages at proxy root and the declared model id (9.845095ms)
✔ P3 omitted route refuses proxy-route-missing before model config generation (1.926701ms)
✔ P3 GLM route uses completions at proxy /v1 with explicit z.ai compatibility (2.610438ms)
✔ P3 GPT route selects a stack-owned provider instead of pi Codex OAuth (2.705658ms)
✖ P3 a declared Codex route generates only the single build-time responses provider (3.349943ms)
✖ P3 models file is private, references the one session key, and stores no executable values or keys (2.616844ms)
✔ P3 every launch regenerates proxy port, declared models and own key without caching (4.607562ms)
ℹ tests 7
ℹ suites 0
ℹ pass 5
ℹ fail 2
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 103.506871
✖ failing tests:
test at packages/harness/tests/proxy-bundle.test.mjs:73:1
✖ P3 a declared Codex route generates only the single build-time responses provider (3.349943ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected
+ '[fake-value-redacted]'
- '$ANTHROPIC_API_KEY'
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/harness/tests/proxy-bundle.test.mjs:80:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
at Test.postRun (node:internal/test_runner/test:1542:19)
at Test.run (node:internal/test_runner/test:1467:12)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: '[fake-value-redacted]',
expected: '$ANTHROPIC_API_KEY',
operator: 'strictEqual',
diff: 'simple'
}
test at packages/harness/tests/proxy-bundle.test.mjs:83:1
✖ P3 models file is private, references the one session key, and stores no executable values or keys (2.616844ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected
+ '[fake-value-redacted]'
- '$ANTHROPIC_API_KEY'
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/harness/tests/proxy-bundle.test.mjs:88:68)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
at Test.postRun (node:internal/test_runner/test:1542:19)
at Test.run (node:internal/test_runner/test:1467:12)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: '[fake-value-redacted]',
expected: '$ANTHROPIC_API_KEY',
operator: 'strictEqual',
diff: 'simple'
}
{"phase": "end", "utc": "2026-10-26T23:09:04.737146+00:00", "exit": 1, "niceRestoredTo": 19, "priorityCorrections": {}, "ownedPids": [2534500, 2534501, 2534507]}
@@ -0,0 +1,50 @@
{
"mutant": "M2",
"name": "models.json gets literal key instead of environment reference",
"source": "packages/plugins/harness/pi/index.mjs",
"test": "packages/harness/tests/proxy-bundle.test.mjs",
"old": "writeFileSync(file, text, { mode: 0o600, flag: \"wx\" });",
"new": "writeFileSync(file, text.replaceAll(\"$ANTHROPIC_API_KEY\", proxy.key), { mode: 0o600, flag: \"wx\" });",
"bound": 180,
"product": "d6dc04e84fac839b7259488162b145b9683f943b",
"head": "569765f6de72e82f5ef64c55ca0323ad8b26d7cc",
"originalSha256": "299b5dadc74c2c51253c3d9c6eb2abccba5d59a52f07670b795a343515cd2887",
"anchorMatches": 1,
"started": "2026-10-26T23:09:04.394151+00:00",
"phases": [
{
"phase": "baseline",
"exit": 0,
"pass": 7,
"fail": 0,
"skip": 0,
"cancelled": 0,
"assertionFailure": false
},
{
"phase": "mutant",
"exit": 1,
"pass": 5,
"fail": 2,
"skip": 0,
"cancelled": 0,
"assertionFailure": true
},
{
"phase": "restored",
"exit": 0,
"pass": 7,
"fail": 0,
"skip": 0,
"cancelled": 0,
"assertionFailure": false
}
],
"mutantSha256": "4783cccee30cabebe575d39a40755f38f9134dd38a04375b4b35d900ec09291c",
"killed": true,
"restoredSha256": "299b5dadc74c2c51253c3d9c6eb2abccba5d59a52f07670b795a343515cd2887",
"byteIdentityRestored": true,
"finished": "2026-10-26T23:09:04.916419+00:00",
"restoredPositiveControl": true,
"allSourcePinsMatch": true
}
@@ -0,0 +1,17 @@
{"phase": "start", "utc": "2026-10-26T23:09:04.769328+00:00", "test": "packages/harness/tests/proxy-bundle.test.mjs", "bound": 180, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/gp6I/home", "privateConfig": "/mnt/storage/scratch/tmp/gp6I/home/config/unconfigured.json"}
✔ P3 Anthropic route uses messages at proxy root and the declared model id (9.360437ms)
✔ P3 omitted route refuses proxy-route-missing before model config generation (1.792802ms)
✔ P3 GLM route uses completions at proxy /v1 with explicit z.ai compatibility (2.527852ms)
✔ P3 GPT route selects a stack-owned provider instead of pi Codex OAuth (2.711238ms)
✔ P3 a declared Codex route generates only the single build-time responses provider (2.561802ms)
✔ P3 models file is private, references the one session key, and stores no executable values or keys (2.609422ms)
✔ P3 every launch regenerates proxy port, declared models and own key without caching (4.614577ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 99.389553
{"phase": "end", "utc": "2026-10-26T23:09:04.911291+00:00", "exit": 0, "niceRestoredTo": 19, "priorityCorrections": {"16": 2}, "ownedPids": [2534563, 2534564, 2534570]}
@@ -0,0 +1,17 @@
{"phase": "start", "utc": "2026-10-26T23:10:30.722224+00:00", "test": "packages/cli/tests/proxy-context-join.test.mjs", "bound": 300, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/grAt/home", "privateConfig": "/mnt/storage/scratch/tmp/grAt/home/config/unconfigured.json"}
✔ P3 joined managed zai uses its one admitted P2 key and private run-local config (1276.155483ms)
✔ P3 joined managed anthropic uses its one admitted P2 key and private run-local config (1216.348798ms)
✔ P3 joined managed proxy:anthropic uses its one admitted P2 key and private run-local config (1212.687554ms)
✔ P3 joined managed proxy:glm uses its one admitted P2 key and private run-local config (1216.376543ms)
✔ P3 joined managed proxy:codex uses its one admitted P2 key and private run-local config (1266.09568ms)
✔ P3 joined Claude harness receives the admitted P2 key only through transient auth env (1220.302261ms)
✔ P3 joined unsupported provider refuses with no key acquisition, fallback, or spawned session (74.491685ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 7651.42792
{"phase": "end", "utc": "2026-10-26T23:10:38.410259+00:00", "exit": 0, "niceRestoredTo": 19, "priorityCorrections": {"16": 17, "10": 6}, "ownedPids": [2553575, 2553576, 2553582, 2553592, 2553597, 2553604, 2553606, 2553611, 2553612, 2553740, 2553747, 2553749, 2553751, 2553752, 2553753, 2553754, 2553755, 2553837, 2553844, 2553858, 2553861, 2553862, 2553863, 2553864, 2553932, 2553936, 2553955, 2553957, 2553960, 2553961, 2553962, 2553963, 2554119, 2554126, 2554128, 2554171, 2554172, 2554173, 2554174, 2554197, 2554204, 2554205, 2554206, 2554234, 2554235, 2554318, 2554326]}
@@ -0,0 +1,132 @@
{"phase": "start", "utc": "2026-10-26T23:10:38.450146+00:00", "test": "packages/cli/tests/proxy-context-join.test.mjs", "bound": 300, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/gLgW/home", "privateConfig": "/mnt/storage/scratch/tmp/gLgW/home/config/unconfigured.json"}
✖ P3 joined managed zai uses its one admitted P2 key and private run-local config (1257.519877ms)
✖ P3 joined managed anthropic uses its one admitted P2 key and private run-local config (1217.880127ms)
✖ P3 joined managed proxy:anthropic uses its one admitted P2 key and private run-local config (1210.996878ms)
✖ P3 joined managed proxy:glm uses its one admitted P2 key and private run-local config (1215.453546ms)
✖ P3 joined managed proxy:codex uses its one admitted P2 key and private run-local config (1209.946837ms)
✖ P3 joined Claude harness receives the admitted P2 key only through transient auth env (1206.342899ms)
✔ P3 joined unsupported provider refuses with no key acquisition, fallback, or spawned session (73.793277ms)
ℹ tests 7
ℹ suites 0
ℹ pass 1
ℹ fail 6
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 7525.886004
✖ failing tests:
test at packages/cli/tests/proxy-context-join.test.mjs:44:3
✖ P3 joined managed zai uses its one admitted P2 key and private run-local config (1257.519877ms)
AssertionError [ERR_ASSERTION]: session.json contains no credential value
true !== false
at privateArtifacts (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:26:34)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:78:5)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
test at packages/cli/tests/proxy-context-join.test.mjs:44:3
✖ P3 joined managed anthropic uses its one admitted P2 key and private run-local config (1217.880127ms)
AssertionError [ERR_ASSERTION]: session.json contains no credential value
true !== false
at privateArtifacts (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:26:34)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:78:5)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
test at packages/cli/tests/proxy-context-join.test.mjs:44:3
✖ P3 joined managed proxy:anthropic uses its one admitted P2 key and private run-local config (1210.996878ms)
AssertionError [ERR_ASSERTION]: session.json contains no credential value
true !== false
at privateArtifacts (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:26:34)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:78:5)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
test at packages/cli/tests/proxy-context-join.test.mjs:44:3
✖ P3 joined managed proxy:glm uses its one admitted P2 key and private run-local config (1215.453546ms)
AssertionError [ERR_ASSERTION]: session.json contains no credential value
true !== false
at privateArtifacts (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:26:34)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:78:5)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
test at packages/cli/tests/proxy-context-join.test.mjs:44:3
✖ P3 joined managed proxy:codex uses its one admitted P2 key and private run-local config (1209.946837ms)
AssertionError [ERR_ASSERTION]: session.json contains no credential value
true !== false
at privateArtifacts (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:26:34)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:78:5)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
test at packages/cli/tests/proxy-context-join.test.mjs:82:1
✖ P3 joined Claude harness receives the admitted P2 key only through transient auth env (1206.342899ms)
AssertionError [ERR_ASSERTION]: session.json contains no credential value
true !== false
at privateArtifacts (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:26:34)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332/packages/cli/tests/proxy-context-join.test.mjs:97:3)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}
{"phase": "end", "utc": "2026-10-26T23:10:46.014153+00:00", "exit": 1, "niceRestoredTo": 19, "priorityCorrections": {"16": 18, "10": 6}, "ownedPids": [2554329, 2554330, 2554336, 2554351, 2554358, 2554383, 2554384, 2554385, 2554386, 2554638, 2554645, 2554646, 2554647, 2554653, 2554654, 2554772, 2554780, 2554782, 2554787, 2554788, 2554912, 2554919, 2554921, 2554925, 2554927, 2554928, 2554929, 2554930, 2555070, 2555075, 2555094, 2555102, 2555103, 2555173, 2555174, 2555177, 2555197, 2555202, 2555203, 2555286, 2555293]}
@@ -0,0 +1,50 @@
{
"mutant": "M3",
"name": "proxy key serialized into session.json",
"source": "packages/cli/src/launcher.mjs",
"test": "packages/cli/tests/proxy-context-join.test.mjs",
"old": "bundle: files,\n harnessEnv,",
"new": "bundle: files,\n harnessEnv: bundle.env,",
"bound": 300,
"product": "d6dc04e84fac839b7259488162b145b9683f943b",
"head": "569765f6de72e82f5ef64c55ca0323ad8b26d7cc",
"originalSha256": "1001674131006a7e175570993294f72fee446f7b92732c324304eba92c902650",
"anchorMatches": 1,
"started": "2026-10-26T23:10:30.695062+00:00",
"phases": [
{
"phase": "baseline",
"exit": 0,
"pass": 7,
"fail": 0,
"skip": 0,
"cancelled": 0,
"assertionFailure": false
},
{
"phase": "mutant",
"exit": 1,
"pass": 1,
"fail": 6,
"skip": 0,
"cancelled": 0,
"assertionFailure": true
},
{
"phase": "restored",
"exit": 0,
"pass": 7,
"fail": 0,
"skip": 0,
"cancelled": 0,
"assertionFailure": false
}
],
"mutantSha256": "e32c3201919695896c1548711efea4a0d15388a6b6d240b2c092cfe9a5d65dc3",
"killed": true,
"restoredSha256": "1001674131006a7e175570993294f72fee446f7b92732c324304eba92c902650",
"byteIdentityRestored": true,
"finished": "2026-10-26T23:10:53.705956+00:00",
"restoredPositiveControl": true,
"allSourcePinsMatch": true
}
@@ -0,0 +1,17 @@
{"phase": "start", "utc": "2026-10-26T23:10:46.046721+00:00", "test": "packages/cli/tests/proxy-context-join.test.mjs", "bound": 300, "nice": 19, "privateHome": "/mnt/storage/scratch/tmp/gLVM/home", "privateConfig": "/mnt/storage/scratch/tmp/gLVM/home/config/unconfigured.json"}
✔ P3 joined managed zai uses its one admitted P2 key and private run-local config (1258.035035ms)
✔ P3 joined managed anthropic uses its one admitted P2 key and private run-local config (1213.506446ms)
✔ P3 joined managed proxy:anthropic uses its one admitted P2 key and private run-local config (1218.116116ms)
✔ P3 joined managed proxy:glm uses its one admitted P2 key and private run-local config (1212.345423ms)
✔ P3 joined managed proxy:codex uses its one admitted P2 key and private run-local config (1234.643867ms)
✔ P3 joined Claude harness receives the admitted P2 key only through transient auth env (1276.417651ms)
✔ P3 joined unsupported provider refuses with no key acquisition, fallback, or spawned session (75.156555ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 7622.740802
{"phase": "end", "utc": "2026-10-26T23:10:53.700548+00:00", "exit": 0, "niceRestoredTo": 19, "priorityCorrections": {"16": 18, "10": 6}, "ownedPids": [2555296, 2555297, 2555303, 2555349, 2555350, 2555353, 2555356, 2555363, 2555368, 2555369, 2555370, 2555371, 2555445, 2555462, 2555463, 2555464, 2555465, 2555481, 2555482, 2555549, 2555556, 2555557, 2555569, 2555574, 2555575, 2555644, 2555651, 2555653, 2555655, 2555656, 2555658, 2555659, 2556830, 2556876, 2556901, 2556926, 2556929, 2557010, 2557014, 2558504, 2558588, 2558627, 2558660, 2558666, 2558667, 2559442, 2559468]}
@@ -0,0 +1,16 @@
{
"utc": "2026-10-26T23:11:56.271722+00:00",
"ownedTempRootsChecked": [
"/mnt/storage/scratch/tmp/g0fB",
"/mnt/storage/scratch/tmp/g5zA",
"/mnt/storage/scratch/tmp/gBee",
"/mnt/storage/scratch/tmp/gItO",
"/mnt/storage/scratch/tmp/gLVM",
"/mnt/storage/scratch/tmp/gLgW",
"/mnt/storage/scratch/tmp/gYDv",
"/mnt/storage/scratch/tmp/gp6I",
"/mnt/storage/scratch/tmp/grAt"
],
"remainingInOwnedRoots": [],
"allSixProductionPinsMatch": true
}
@@ -0,0 +1,56 @@
# Exact, reversible mutations of this owned worktree only. No product commit changes.
import argparse,datetime,hashlib,json,os,pathlib,re,subprocess,sys
p=argparse.ArgumentParser();p.add_argument('mutant',choices=['M1','M2','M3']);p.add_argument('--heavy-slot',action='store_true');args=p.parse_args()
if args.mutant=='M3' and not args.heavy_slot:p.error('M3 held until227 SLOTBACK; then require --heavy-slot')
folder=pathlib.Path(__file__).resolve().parent;profile=folder.parent/'run-targeted.py'
repo=pathlib.Path(subprocess.check_output(['git','rev-parse','--show-toplevel'],cwd=folder,text=True).strip())
anchors={
'M1':{'name':'proxy mode still passes CLAUDE_CODE_OAUTH_TOKEN','source':'packages/seat/src/session.mjs','test':'packages/seat/tests/proxy-session-env.test.mjs','old':'!(proxy && isProviderVariable(k))','new':'!(proxy && isProviderVariable(k) && k !== "CLAUDE_CODE_OAUTH_TOKEN")','bound':180},
'M2':{'name':'models.json gets literal key instead of environment reference','source':'packages/plugins/harness/pi/index.mjs','test':'packages/harness/tests/proxy-bundle.test.mjs','old':'writeFileSync(file, text, { mode: 0o600, flag: "wx" });','new':'writeFileSync(file, text.replaceAll("$ANTHROPIC_API_KEY", proxy.key), { mode: 0o600, flag: "wx" });','bound':180},
'M3':{'name':'proxy key serialized into session.json','source':'packages/cli/src/launcher.mjs','test':'packages/cli/tests/proxy-context-join.test.mjs','old':'bundle: files,\n harnessEnv,','new':'bundle: files,\n harnessEnv: bundle.env,','bound':300},
}
case=anchors[args.mutant];source=repo/case['source'];original=source.read_bytes();old=case['old'].encode();new=case['new'].encode()
pins=json.loads((folder.parent/'source-pins.json').read_text());pin={r['file']:r['sha256'] for r in pins}
def verify_all():
for file,want in pin.items():
if hashlib.sha256((repo/file).read_bytes()).hexdigest()!=want:raise RuntimeError('source identity mismatch:'+file)
verify_all()
if original.count(old)!=1:raise RuntimeError('exact anchor must match once')
if subprocess.run(['git','diff','--quiet','HEAD','--',case['source']],cwd=repo).returncode:raise RuntimeError('source dirty before mutation')
out=folder/args.mutant;out.mkdir(mode=0o700)
receipt={'mutant':args.mutant,**case,'product':'d6dc04e84fac839b7259488162b145b9683f943b','head':subprocess.check_output(['git','rev-parse','HEAD'],cwd=repo,text=True).strip(),'originalSha256':hashlib.sha256(original).hexdigest(),'anchorMatches':1,'started':datetime.datetime.now(datetime.timezone.utc).isoformat(),'phases':[]}
def run(phase):
tmp=subprocess.check_output(['mktemp','-d','/mnt/storage/scratch/tmp/gXXX'],text=True).strip()
result=subprocess.run([sys.executable,str(profile),case['test'],str(case['bound'])],cwd=repo,env={'PATH':'/usr/bin:/bin','TMPDIR':tmp,'LANG':'C.UTF-8'},stdout=subprocess.PIPE,stderr=subprocess.STDOUT,timeout=case['bound']+15)
text=result.stdout.decode(errors='replace')
# Only made-up unit-test values can occur, but never retain their values in receipts.
text=re.sub(r'fx332-[A-Za-z0-9_-]+','[fake-value-redacted]',text)
(out/(phase+'.txt')).write_text(text)
def count(label):
match=re.search(r'^ℹ '+label+r' (\d+)$',text,re.M);return int(match.group(1)) if match else None
info={'phase':phase,'exit':result.returncode,'pass':count('pass'),'fail':count('fail'),'skip':count('skipped'),'cancelled':count('cancelled'),'assertionFailure':'ERR_ASSERTION' in text}
receipt['phases'].append(info);return info
mutated=False
try:
baseline=run('baseline')
if baseline['exit']!=0 or baseline['fail']!=0 or baseline['skip']!=0:raise RuntimeError('baseline not green')
source.write_bytes(original.replace(old,new,1));mutated=True
receipt['mutantSha256']=hashlib.sha256(source.read_bytes()).hexdigest()
negative=run('mutant')
receipt['killed']=negative['exit']==1 and (negative['fail'] or 0)>0 and negative['assertionFailure'] and negative['cancelled']==0 and negative['skip']==0
if not receipt['killed']:raise RuntimeError('mutant did not produce the required assertion RED')
finally:
if mutated:source.write_bytes(original)
receipt['restoredSha256']=hashlib.sha256(source.read_bytes()).hexdigest()
receipt['byteIdentityRestored']=source.read_bytes()==original
verify_all()
receipt['finished']=datetime.datetime.now(datetime.timezone.utc).isoformat()
(out/'receipt.json').write_text(json.dumps(receipt,indent=2)+'\n')
restored=run('restored')
receipt['restoredPositiveControl']=restored['exit']==0 and restored['fail']==0 and restored['skip']==0
verify_all()
receipt['allSourcePinsMatch']=True
receipt['finished']=datetime.datetime.now(datetime.timezone.utc).isoformat()
(out/'receipt.json').write_text(json.dumps(receipt,indent=2)+'\n')
print(json.dumps(receipt,indent=2))
if not receipt['restoredPositiveControl']:raise SystemExit(1)
+2
View File
@@ -1907,3 +1907,5 @@ are never rewritten or removed; corrections are new entries.
2026-10-26 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | Mos1961 row332 join execution | Local fethry/row332-join1961 joins oldpacket c7c38a6aa and09a847ed,no push;new regressions authored before actual context integration;runtime/P5 area and653/655 tests unchanged;tests wait334 serialslot. 2026-10-26 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | Mos1961 row332 join execution | Local fethry/row332-join1961 joins oldpacket c7c38a6aa and09a847ed,no push;new regressions authored before actual context integration;runtime/P5 area and653/655 tests unchanged;tests wait334 serialslot.
2026-10-26 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | Mos1961 completed targeted P3/P2 join |117pass/0fail/0skip across11wholefiles incl6535/0,65518/0,launcher35/0;newsamekey/privateenv/nativeprovider+explicitroute controls7/0;REDs preserved,fixture-only fake-key/nativebinary prerequisite fixes,no runtime/P5 changes;local commit/no push,owned cleanup0,serial SLOTBACK for227;parent owns integration/review/fullgate. 2026-10-26 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | Mos1961 completed targeted P3/P2 join |117pass/0fail/0skip across11wholefiles incl6535/0,65518/0,launcher35/0;newsamekey/privateenv/nativeprovider+explicitroute controls7/0;REDs preserved,fixture-only fake-key/nativebinary prerequisite fixes,no runtime/P5 changes;local commit/no push,owned cleanup0,serial SLOTBACK for227;parent owns integration/review/fullgate.
2026-10-26 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | row332 named mutations | M1/M2 tiny pure serial thenM3 after227SLOTBACK;3/3killed with genuineassertionRED,restoredwholecontrols2/0,7/0,7/0 andallsourcepinsidentical;cleanup0,directSLOTBACKSteelbeak+Sage,receipts-onlylocalcommit,no push/fullgate/liveproviderclaim.