{
  "schema": "local-hive-showcase-checks/1",
  "recordedAt": "2026-09-19T14:01:07.925263+00:00",
  "allProjects": true,
  "projects": [
    {
      "id": "01-game-studio",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "--test",
            "--test-reporter=tap",
            "projects/01-game-studio/tests/engine.test.mjs",
            "projects/01-game-studio/tests/controller.test.mjs",
            "projects/01-game-studio/tests/app.test.mjs",
            "projects/01-game-studio/tests/evidence.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:09.117990+00:00",
          "durationSeconds": 0.833,
          "exitCode": 0,
          "stdout": "TAP version 13\n# Subtest: actual app boots with local scripts, exposes the bounded contract, and paints map markers\nok 1 - actual app boots with local scripts, exposes the bounded contract, and paints map markers\n  ---\n  duration_ms: 8.75275\n  type: 'test'\n  ...\n# Subtest: actual lesson buttons, robot selection, patch clicks, and step controls change engine state\nok 2 - actual lesson buttons, robot selection, patch clicks, and step controls change engine state\n  ---\n  duration_ms: 20.141875\n  type: 'test'\n  ...\n# Subtest: keyboard shortcuts are wired, but do not hijack focused form controls\nok 3 - keyboard shortcuts are wired, but do not hijack focused form controls\n  ---\n  duration_ms: 12.713\n  type: 'test'\n  ...\n# Subtest: the actual autoplay loop has a five-minute beat budget and stops at sunset\nok 4 - the actual autoplay loop has a five-minute beat budget and stops at sunset\n  ---\n  duration_ms: 77.297459\n  type: 'test'\n  ...\n# Subtest: hidden-tab pause and explicit API actions prevent runaway timers\nok 5 - hidden-tab pause and explicit API actions prevent runaway timers\n  ---\n  duration_ms: 5.057458\n  type: 'test'\n  ...\n# Subtest: bundled replay can be loaded, scrubbed, played to its verified win, and exited\nok 6 - bundled replay can be loaded, scrubbed, played to its verified win, and exited\n  ---\n  duration_ms: 112.364334\n  type: 'test'\n  ...\n# Subtest: malformed or oversized file imports are rejected without replacing live play\nok 7 - malformed or oversized file imports are rejected without replacing live play\n  ---\n  duration_ms: 6.7765\n  type: 'test'\n  ...\n# Subtest: historical builds describe their actual unsafe rules, not the latest build's promises\nok 8 - historical builds describe their actual unsafe rules, not the latest build's promises\n  ---\n  duration_ms: 3.725291\n  type: 'test'\n  ...\n# Subtest: the browser controller uses the same six lessons and exact winning game rules\nok 9 - the browser controller uses the same six lessons and exact winning game rules\n  ---\n  duration_ms: 44.378375\n  type: 'test'\n  ...\n# Subtest: replay verifies before display, seeks deterministically, and is read-only\nok 10 - replay verifies before display, seeks deterministically, and is read-only\n  ---\n  duration_ms: 47.040583\n  type: 'test'\n  ...\n# Subtest: rejected replay/reset requests leave the current live session untouched\nok 11 - rejected replay/reset requests leave the current live session untouched\n  ---\n  duration_ms: 30.480709\n  type: 'test'\n  ...\n# Subtest: partial replays can be exported and verified without fabricating unplayed actions\nok 12 - partial replays can be exported and verified without fabricating unplayed actions\n  ---\n  duration_ms: 40.5145\n  type: 'test'\n  ...\n# Subtest: replay rejects duplicated terminal actions rather than accepting a repeated last frame\nok 13 - replay rejects duplicated terminal actions rather than accepting a repeated last frame\n  ---\n  duration_ms: 14.298958\n  type: 'test'\n  ...\n# Subtest: rescue is a real, finite player choice with pod conservation\nok 14 - rescue is a real, finite player choice with pod conservation\n  ---\n  duration_ms: 2.352541\n  type: 'test'\n  ...\n# Subtest: the global action cap also bounds lesson-only play\nok 15 - the global action cap also bounds lesson-only play\n  ---\n  duration_ms: 29.97775\n  type: 'test'\n  ...\n# Subtest: same options and semantic actions produce exactly the same state\nok 16 - same options and semantic actions produce exactly the same state\n  ---\n  duration_ms: 12.480292\n  type: 'test'\n  ...\n# Subtest: untrusted controls are bounded and invalid actions do not change state\nok 17 - untrusted controls are bounded and invalid actions do not change state\n  ---\n  duration_ms: 0.415459\n  type: 'test'\n  ...\n# Subtest: snapshots and exported traces cannot mutate a live colony\nok 18 - snapshots and exported traces cannot mutate a live colony\n  ---\n  duration_ms: 0.106666\n  type: 'test'\n  ...\n# Subtest: sunset is a real loss, and terminal state is immutable\nok 19 - sunset is a real loss, and terminal state is immutable\n  ---\n  duration_ms: 29.613958\n  type: 'test'\n  ...\n# Subtest: every beat obeys map, energy, occupancy, and conservation invariants\nok 20 - every beat obeys map, energy, occupancy, and conservation invariants\n  ---\n  duration_ms: 175.932625\n  type: 'test'\n  ...\n# Subtest: replay rejects altered actions, frames, and final states\nok 21 - replay rejects altered actions, frames, and final states\n  ---\n  duration_ms: 6.891792\n  type: 'test'\n  ...\n# Subtest: v2 safety lesson budgets a complete meadow trip rather than stranding a courier\nok 22 - v2 safety lesson budgets a complete meadow trip rather than stranding a courier\n  ---\n  duration_ms: 3.148791\n  type: 'test'\n  ...\n# Subtest: v3 takes a real detour around walls; solo throughput is not enough to win the class mission\nok 23 - v3 takes a real detour around walls; solo throughput is not enough to win the class mission\n  ---\n  duration_ms: 14.595917\n  type: 'test'\n  ...\n# Subtest: v4's trained class completes all three gardens without stranding or global deadlocks\nok 24 - v4's trained class completes all three gardens without stranding or global deadlocks\n  ---\n  duration_ms: 218.138958\n  type: 'test'\n  ...\n# Subtest: mixed, mid-shift player choices preserve every invariant and replay exactly\nok 25 - mixed, mid-shift player choices preserve every invariant and replay exactly\n  ---\n  duration_ms: 276.308792\n  type: 'test'\n  ...\n# Subtest: invalid batch syntax is rejected before applying earlier valid lessons\nok 26 - invalid batch syntax is rejected before applying earlier valid lessons\n  ---\n  duration_ms: 0.21325\n  type: 'test'\n  ...\n# Subtest: all eight persisted runs replay exactly, including unsuccessful cases\nok 27 - all eight persisted runs replay exactly, including unsuccessful cases\n  ---\n  duration_ms: 141.009042\n  type: 'test'\n  ...\n# Subtest: cycle summaries are derived from paired actual runs, not invented success claims\nok 28 - cycle summaries are derived from paired actual runs, not invented success claims\n  ---\n  duration_ms: 13.606333\n  type: 'test'\n  ...\n# Subtest: bundled offline replays contain exactly the original six trace/score pairs\nok 29 - bundled offline replays contain exactly the original six trace/score pairs\n  ---\n  duration_ms: 9.260375\n  type: 'test'\n  ...\n# Subtest: manifest has the required scoped schema and portable runtime resources\nok 30 - manifest has the required scoped schema and portable runtime resources\n  ---\n  duration_ms: 1.464625\n  type: 'test'\n  ...\n# Subtest: runtime is local-only and the deterministic engine uses no wall clock or random source\nok 31 - runtime is local-only and the deterministic engine uses no wall clock or random source\n  ---\n  duration_ms: 1.818666\n  type: 'test'\n  ...\n# Subtest: scope references match the parent's verified seed bindings and file digests\nok 32 - scope references match the parent's verified seed bindings and file digests\n  ---\n  duration_ms: 0.669083\n  type: 'test'\n  ...\n# Subtest: the recording CLI refuses to overwrite preserved observations\nok 33 - the recording CLI refuses to overwrite preserved observations\n  ---\n  duration_ms: 56.836125\n  type: 'test'\n  ...\n1..33\n# tests 33\n# suites 0\n# pass 33\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 793.0535\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/01-game-studio/tools/bundle-replays.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:09.950988+00:00",
          "durationSeconds": 0.1033,
          "exitCode": 0,
          "stdout": "Six bundled recordings exactly match their verified JSON evidence.\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/01-game-studio/README.md",
          "bytes": 11318,
          "sha256": "d8e4833c088e51d3107e09675b4a489cf4e62df98e48cb769d18f0a139111ea7"
        },
        {
          "path": "projects/01-game-studio/SOURCE-NOTICE.txt",
          "bytes": 1525,
          "sha256": "e0a2a72ab43ea4769236a84ca7e1628691198f630ee81b63cecce7bdb710bc67"
        },
        {
          "path": "projects/01-game-studio/app.js",
          "bytes": 19754,
          "sha256": "b6e70ca37a040dd7abdd2619448ea3981adc3a47272166177eb68a4633bc21b7"
        },
        {
          "path": "projects/01-game-studio/art/colony.svg",
          "bytes": 3887,
          "sha256": "6fffba6d758e70d0f8649c54677d3cda5c716c275e41101fe89afb008f64d089"
        },
        {
          "path": "projects/01-game-studio/builds.js",
          "bytes": 1195,
          "sha256": "bd53a5f05af425d24bfb868e6c67c300cc3bdef4bccf3b6d23f17e0115359237"
        },
        {
          "path": "projects/01-game-studio/controller.js",
          "bytes": 2802,
          "sha256": "a9d38a4a8b25766c8b712c52420e0ccd6b31350bbd751bba6770509ff07f6f50"
        },
        {
          "path": "projects/01-game-studio/engine.js",
          "bytes": 20368,
          "sha256": "0ff727d2d33562981844f933891568b250fe35d3fe0567a08f80606c2bb330b2"
        },
        {
          "path": "projects/01-game-studio/evidence/cycle-01.json",
          "bytes": 1339,
          "sha256": "ae0cf7f2fa3b00e9bf7f78deec5debbfc85950c70a481653e84bda77e43a6ef5"
        },
        {
          "path": "projects/01-game-studio/evidence/cycle-02.json",
          "bytes": 1436,
          "sha256": "7bb49cd48b0c31fd391cc94efefb047e4c585bc0503fb11bea7faebf3f40b88a"
        },
        {
          "path": "projects/01-game-studio/evidence/cycle-03.json",
          "bytes": 1708,
          "sha256": "0a6faa18ac1bf1bd3700bd57c91bdf20085f6c4016ae4cd469124247f206588e"
        },
        {
          "path": "projects/01-game-studio/evidence/result.json",
          "bytes": 31806,
          "sha256": "c6ef9f41366cd2aa2c138c92da7c64eaf732e1e6d1921373b3dbfd2a7b5e7358"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/cycle-01-after.json",
          "bytes": 106397,
          "sha256": "72411b3719f09690ace0f3335c41be2d2667312d890698d7b74d6caf33811ac2"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/cycle-01-before.json",
          "bytes": 140551,
          "sha256": "143ad206586ced7cf3967df9d0066ca09a9ae86e4be7c431f58243dcb5f9c5ae"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/cycle-02-after.json",
          "bytes": 140775,
          "sha256": "1f8b5b9402beb9048760485af7dd992ac086e4f345e59adb5e5f67a6753d8739"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/cycle-02-before.json",
          "bytes": 141241,
          "sha256": "148d1e3aa41342eabbcc0b137abe9b68f76fa8d0f0a39f860ec2ffb12f65b61c"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/cycle-03-after.json",
          "bytes": 95621,
          "sha256": "bed57cd5861a0a37fe28965123aaac3e799bb3c14afbd5f8e1bb32ecb4f52f2f"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/cycle-03-before.json",
          "bytes": 142003,
          "sha256": "ea657aa2747e54b1ec1ca0ac664a7e67be857304d4a3ed07d85bb318293bc416"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/release-trained.json",
          "bytes": 95462,
          "sha256": "7bf21e19f7c90926486f7e71e69ad597307c32886f4638418198b456239a814f"
        },
        {
          "path": "projects/01-game-studio/evidence/runs/release-untaught.json",
          "bytes": 138619,
          "sha256": "358fe5273ba4dbb9d494d4953f3f2d3da401e63715fdce026b4d476de48725f3"
        },
        {
          "path": "projects/01-game-studio/evidence/source-review.json",
          "bytes": 6571,
          "sha256": "b6f28386b05dbce9e916fe1095a55e29bfbac6be7f0453c2dde907839844392f"
        },
        {
          "path": "projects/01-game-studio/evidence/validation-history.json",
          "bytes": 1750,
          "sha256": "be1e78b4d2427b470306c193ad7bafeb701b69041761812ab5adfd678caf873b"
        },
        {
          "path": "projects/01-game-studio/evidence/validation.tap",
          "bytes": 7687,
          "sha256": "2b6cd0c19678a3f375553631b6d2f78285cdd0f2152e1c18365a260c011e45da"
        },
        {
          "path": "projects/01-game-studio/index.html",
          "bytes": 15380,
          "sha256": "08b979b1d51e291f79d4380400758224cc263aa5f95ba07016a7ad9fe575c6c9"
        },
        {
          "path": "projects/01-game-studio/manifest.json",
          "bytes": 2894,
          "sha256": "1b3d370adc0716951a7ed8057d0436191354308b8d564ca9d1735878eda549d1"
        },
        {
          "path": "projects/01-game-studio/replay-data.js",
          "bytes": 235650,
          "sha256": "064e12df38169d1b661ef709e48bf9faec0462138743894bee7c4648a5dc0328"
        }
      ]
    },
    {
      "id": "02-conglomerate",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "--test",
            "projects/02-conglomerate/test/model.test.mjs",
            "projects/02-conglomerate/test/checker.test.mjs",
            "projects/02-conglomerate/test/integration.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:10.059357+00:00",
          "durationSeconds": 0.1403,
          "exitCode": 0,
          "stdout": "\u2714 actual frozen fixture exposes its duplicated key at record 5, column 2 (2.2335ms)\n\u2714 clean UTF-8 comma CSV with BOM and CRLF passes without changing bytes (0.135459ms)\n\u2714 quoted multiline fields maintain logical record and physical line locations (0.099958ms)\n\u2714 headers, required columns, widths and empty values get distinct finding codes (0.099291ms)\n\u2714 duplicate comparisons trim keys, remain case-sensitive and tolerate unusual strings (0.075583ms)\n\u2714 formula-like cells are never evaluated or echoed; negatives are conservatively flagged (0.075708ms)\n\u2714 malformed quoting is refused instead of silently mis-parsed (0.128708ms)\n\u2714 empty and binary input, invalid UTF-8 and invalid options are refused (0.13425ms)\n\u2714 1 MiB byte limit is exact, including multibyte UTF-8 (47.272791ms)\n\u2714 10,000 data-record limit excludes the header and handles a final newline (3.654ms)\n\u2714 reports cap displayed findings but retain an honest total and truncation flag (0.243542ms)\n\u2714 disabled key and required checks are explicit; header-only input is not a clean dataset (0.09475ms)\n\u2714 frozen source data and all reviewed references match the verified seed package (3.341709ms)\n\u2714 normalized data preserves all five ventures, all ten claims and inherited source scores (4.761ms)\n\u2714 reference allocation reconciles to 19h/$90; all ten full scopes exceed the new timebox with overhead (0.591916ms)\n\u2714 scope and manifest identify unreviewed local work rather than native task completion (1.197833ms)\n\u2714 browser entrypoint has only local resources, explicit labels, no storage and no HTML injection sinks (1.168625ms)\n\u2714 original browser module boots and handles objective, budget, CSV and file interactions in a local DOM harness (6.507084ms)\n\u2714 default hard cap is exactly 300; Ledgerleaf leaves 60 minutes uncommitted (1.044333ms)\n\u2714 allocation includes review once, enforces exact boundary and rejects a one-minute overrun (0.649292ms)\n\u2714 splitting 300 minutes among five ventures is not five useful offerings (0.356625ms)\n\u2714 empty allocation is feasible but does not incur a fictitious review (0.204334ms)\n\u2714 hundreds of capacity cases never recommend an over-budget or partially funded offer (7.059792ms)\n\u2714 literal seed reserve and primary full seed durations are honestly infeasible (0.178167ms)\n\u2714 withheld offline dependency excludes a high scorer and flags manual funding (0.077041ms)\n\u2714 a score tie explicitly reports all ties and prefers fewer minutes (0.074042ms)\n\u2714 ties on score and minutes use a stable lexical ID, not source order (0.086541ms)\n\u2714 sensitivity exposes two plausible flips and preserves source inputs (0.355167ms)\n\u2714 zero weights, invalid inputs, unknown allocations and altered hard caps are not repaired silently (0.242084ms)\n\u2714 all zero-confidence scores decline to manufacture a strategic winner (0.064542ms)\n\u2139 tests 30\n\u2139 suites 0\n\u2139 pass 30\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 108.786459\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/02-conglomerate/app.mjs"
          ],
          "startedAt": "2026-09-19T14:01:10.199630+00:00",
          "durationSeconds": 0.0265,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/02-conglomerate/tools/evidence.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:10.226123+00:00",
          "durationSeconds": 0.1613,
          "exitCode": 0,
          "stdout": "Evidence matches: 30/30 tests pass; outputs and all 21 artifact hashes verified.\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/02-conglomerate/.gitattributes",
          "bytes": 38,
          "sha256": "7a5e0e7324ad26bebdcfa76a8f466d05c455ffccbb8a4271a271b77cfb4943b2"
        },
        {
          "path": "projects/02-conglomerate/README.md",
          "bytes": 11938,
          "sha256": "75e62da349b503103b2356611563d582a62c217fd1034cb46645b52f43b4f935"
        },
        {
          "path": "projects/02-conglomerate/app.mjs",
          "bytes": 18719,
          "sha256": "c8a247523f9403c27b4b5558003105a55d446cbe604b6d74f74e90c72234edaf"
        },
        {
          "path": "projects/02-conglomerate/csv-checker.mjs",
          "bytes": 6786,
          "sha256": "7939ad5cc45649a3db8fe196dcd4fb8798b91c1456a058ba4bd743ffde351745"
        },
        {
          "path": "projects/02-conglomerate/data/LICENSE",
          "bytes": 1079,
          "sha256": "3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f"
        },
        {
          "path": "projects/02-conglomerate/data/allocation-worksheet.csv",
          "bytes": 1023,
          "sha256": "4af5c94434193d953aad94b4e88e777fc0713866109f98b78001154afe0ca3ad"
        },
        {
          "path": "projects/02-conglomerate/data/capacity.json",
          "bytes": 269,
          "sha256": "b16ad0a1e17f4170bb530a9f5e9931de7fc8c91a4755819bc7f6a189d6043498"
        },
        {
          "path": "projects/02-conglomerate/data/csv-intake.csv",
          "bytes": 223,
          "sha256": "d105e825826d14eeb58da71d0b0ada4565d08d70e39b6be11d70c689f788a5a1"
        },
        {
          "path": "projects/02-conglomerate/data/evidence-register.csv",
          "bytes": 1509,
          "sha256": "6bce712fe9f24a7057f36d105f23c62c730479a3a73d08abc4a041fb612cf761"
        },
        {
          "path": "projects/02-conglomerate/data/inputs.json",
          "bytes": 14398,
          "sha256": "48e854812a8b3e26346c1e43be6139f2e4be0b1c161e39bc3393679adeab045c"
        },
        {
          "path": "projects/02-conglomerate/data/portfolio.csv",
          "bytes": 764,
          "sha256": "4ad0bdec0a16139274136f8733d55672f693917906498582c54a9f0d355dcc11"
        },
        {
          "path": "projects/02-conglomerate/evidence/result.json",
          "bytes": 19414,
          "sha256": "102c97b53160b9eec088b9e1537199f91ef5acb637f49c422b2cc140462ee520"
        },
        {
          "path": "projects/02-conglomerate/index.html",
          "bytes": 16314,
          "sha256": "b2cb0e8cc4efbdd02076a0bf0014a3231253db46f569adc2dc71822b564784f9"
        },
        {
          "path": "projects/02-conglomerate/manifest.json",
          "bytes": 3237,
          "sha256": "70fbde11361f1bbddf9965fe0658a98c8208781daa64fa52d59adcaa0687e125"
        },
        {
          "path": "projects/02-conglomerate/model.mjs",
          "bytes": 8338,
          "sha256": "fcc795e0d491d27588970e0284ac60b04ee6403f81c6ee03f9526a4c21821ca7"
        },
        {
          "path": "projects/02-conglomerate/scope.json",
          "bytes": 3373,
          "sha256": "39910f2db1dc7b023cac7ed0141c82543723bb82963b1d282c9202e3e634bc52"
        },
        {
          "path": "projects/02-conglomerate/sources.json",
          "bytes": 4414,
          "sha256": "27e79be04890ace14f9335ea2e2ee69e9aa84824e56da3dea5c39142a3751183"
        },
        {
          "path": "projects/02-conglomerate/styles.css",
          "bytes": 11310,
          "sha256": "01ae1bffa8f37c3859668215a8860b36b84391d3aef58ccb4a26cb4f74960832"
        },
        {
          "path": "projects/02-conglomerate/test/checker.test.mjs",
          "bytes": 5764,
          "sha256": "83d3c5e3240fa4bde8ef60a9ee39fac9e8a905e5ecaf4b8b85fcefa9748dcd25"
        },
        {
          "path": "projects/02-conglomerate/test/integration.test.mjs",
          "bytes": 10688,
          "sha256": "6ea6146f7f4e2d5043289646c71b6e16ba25d33dc5f156d5e25f88e930c1a89a"
        },
        {
          "path": "projects/02-conglomerate/test/model.test.mjs",
          "bytes": 7328,
          "sha256": "a89cfa115a35663aced54d93016e6da96fc8ad82933a459f787aa52e0dc5a2aa"
        },
        {
          "path": "projects/02-conglomerate/tools/evidence.mjs",
          "bytes": 7246,
          "sha256": "e1511c00ac2631599188ab7fefdf69e14d3859f505137dea41161e2b9f2da0ff"
        }
      ]
    },
    {
      "id": "03-intelligence",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "python3",
            "projects/03-intelligence/tools/build.py",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:10.391976+00:00",
          "durationSeconds": 0.0357,
          "exitCode": 0,
          "stdout": "PASS: offline bundle and integrity receipt are deterministic and current.\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--test",
            "projects/03-intelligence/tests/model.test.mjs",
            "projects/03-intelligence/tests/app.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:10.427638+00:00",
          "durationSeconds": 0.1269,
          "exitCode": 0,
          "stdout": "\u2714 controller starts from local data and renders the actual selected claim (14.955ms)\n\u2714 delegated direction, search, method and reset controls really change the rendered list (4.420667ms)\n\u2714 source selection drills into provenance, preserves node focus and updates the bookmark (5.043375ms)\n\u2714 clicking a nested element uses delegated closest selection (5.27625ms)\n\u2714 all tabs support click, arrows, Home/End and roving tab stops (7.831584ms)\n\u2714 the hero decision link reveals and scrolls to the gate view (2.801583ms)\n\u2714 all hypothetical gates can be checked and reset without changing the actual verdict (3.119375ms)\n\u2714 hash navigation restores source/claim views without stale hidden selections (4.903083ms)\n\u2714 SVG citation edges use actual node coordinates and reduce to text on narrow screens (2.7215ms)\n\u2714 mobile selection brings the inspection desk into view (1.991708ms)\n\u2714 missing local bundle gets a useful error instead of a false loaded state (0.784833ms)\n\u2714 bundle is exactly the authored claim data and locked protocol (1.636167ms)\n\u2714 all three directional filters retain exactly their claims (0.248ms)\n\u2714 search is case-insensitive and searches source titles/dates (0.232166ms)\n\u2714 method, direction and text filters intersect without changing evidence (0.148541ms)\n\u2714 citation graph has exactly one edge for each declared claim-source relation (0.212584ms)\n\u2714 deep links validate IDs and unknown values cannot inject a selection (0.273584ms)\n\u2714 empty results clear a stale inspector and resetting restores an actual claim (0.326541ms)\n\u2714 following a hidden counterclaim clears only obstructing filters (0.146083ms)\n\u2714 every claim inspector exposes attribution, limits, source locators and tensions (10.893209ms)\n\u2714 every source drilldown exposes independence, date, methods, limits and actual hashes (0.913833ms)\n\u2714 rendering escapes evidence strings and rejects non-HTTPS source URLs (0.157125ms)\n\u2714 actual evidence yields conditional plausibility and zero qualifying cases (0.110333ms)\n\u2714 bounded existence requires every gate; omit each one in turn (0.48425ms)\n\u2714 every additional same-period, duration and independence condition is necessary (0.08925ms)\n\u2714 one complete verified case upgrades existence, not transfer (0.201125ms)\n\u2714 downgrade requires three eligible trials and at least two adverse outcomes (0.125125ms)\n\u2714 lost accountability satisfies adverse outcome, not universal impossibility (0.1515ms)\n\u2714 lack of mechanism supports insufficient-support verdict, never a false success (0.111666ms)\n\u2714 transfer requires three unrelated founders, failures, denominator and non-AI comparison (0.444708ms)\n\u2714 counterfactual is always labeled hypothetical, rejects duplicates and cannot mutate evidence (0.202417ms)\n\u2714 all hypotheses, source families, definitions and reversal conditions are visible (0.467542ms)\n\u2139 tests 32\n\u2139 suites 0\n\u2139 pass 32\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 97.26575\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "projects/03-intelligence/tests/check_evidence.py"
          ],
          "startedAt": "2026-09-19T14:01:10.554499+00:00",
          "durationSeconds": 0.101,
          "exitCode": 0,
          "stdout": "",
          "stderr": "test_all_gates_verdict_conditions_and_reversal_directions_are_preserved (__main__.EvidenceIntegrity) ... ok\ntest_all_hypotheses_have_opposition_and_non_discriminating_evidence (__main__.EvidenceIntegrity) ... ok\ntest_all_static_and_generated_links_resolve_without_network (__main__.EvidenceIntegrity) ... ok\ntest_authoritative_brief_and_source_limitations_remain_honest (__main__.EvidenceIntegrity) ... ok\ntest_basic_accessibility_and_critical_offline_constraints (__main__.EvidenceIntegrity) ... ok\ntest_business_cases_do_not_convert_anecdotes_to_passes (__main__.EvidenceIntegrity) ... ok\ntest_contradictions_and_temporal_correction_are_not_filtered_out_of_data (__main__.EvidenceIntegrity) ... ok\ntest_entire_local_integrity_inventory_recomputes (__main__.EvidenceIntegrity) ... ok\ntest_ids_are_unique_and_material_claims_resolve_to_inspected_passages (__main__.EvidenceIntegrity) ... ok\ntest_manifest_is_scoped_and_every_artifact_exists (__main__.EvidenceIntegrity) ... ok\ntest_nine_actual_sources_and_six_nonvoting_families (__main__.EvidenceIntegrity) ... ok\ntest_protocol_is_unchanged_and_predates_collection (__main__.EvidenceIntegrity) ... ok\ntest_seed_snapshots_match_reviewed_original_bytes (__main__.EvidenceIntegrity) ... ok\ntest_source_metadata_and_bounded_capture_receipts (__main__.EvidenceIntegrity) ... ok\ntest_synthetic_row_ids_counts_and_eight_id_gap_stay_separate (__main__.EvidenceIntegrity) ... ok\n\n----------------------------------------------------------------------\nRan 15 tests in 0.061s\n\nOK\n"
        }
      ],
      "artifacts": [
        {
          "path": "projects/03-intelligence/evidence/fetches/s-cui.json",
          "bytes": 3818,
          "sha256": "a3841e799ae3384304f398f57c1255b2b2f3a7b42859bbf7943650c895db0008"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-dora.json",
          "bytes": 3598,
          "sha256": "003d9504e1b4fa5ab36d50e9fc8401c1b129d4d03b0c01d218eb79bf27d22af1"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-levels-report-web.json",
          "bytes": 1539,
          "sha256": "d401b1a1f9116a76b372dbee0178a955183ac5d0fee89597eb161a830598c503"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-levels-report.json",
          "bytes": 585,
          "sha256": "044a3f76111faa6a9ed1426a3900182d931ee0909cb7837a92934bc7ae5e7d94"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-metr-2025.json",
          "bytes": 3517,
          "sha256": "26bf499aca3671898c0ff86c90873b995858124f96be2ac4e1db4f555960012e"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-metr-2026.json",
          "bytes": 3365,
          "sha256": "1c1d8c3b739365302b19635a60e607b799842bf91e78fdc1d1d756f2416e67a0"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-peng.json",
          "bytes": 2947,
          "sha256": "15334f4650b257c5ca1767dcd009f34b499b98747b9b67eaee30e1a130dad42a"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-swebench.json",
          "bytes": 2936,
          "sha256": "318fb3a716a65bd2eeb47575ccd7a20e582b966a17a04c56897913d4d957fcb1"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-techcrunch.json",
          "bytes": 3796,
          "sha256": "81752b6909a3f6e5826f884e376b09545c5e4f8a7ac4c0f24aa2ba1bb27b72dd"
        },
        {
          "path": "projects/03-intelligence/evidence/fetches/s-wix.json",
          "bytes": 3756,
          "sha256": "a0c678a842a504c82fe50e65eafe6dbcfdd5a84bc3ffe701db76d8f24e8aac00"
        },
        {
          "path": "projects/03-intelligence/evidence/integrity.json",
          "bytes": 9783,
          "sha256": "f136cf3acacd2d2c7e9616abb7e99def1fe7befe09812e31c7da2c47fe2429aa"
        },
        {
          "path": "projects/03-intelligence/evidence/result.json",
          "bytes": 4080,
          "sha256": "2dbead72b5e86e42f601ebc540ccb7694f4f209750ef5ef3f02afd3d37dfb097"
        },
        {
          "path": "projects/03-intelligence/evidence/seed-inputs.json",
          "bytes": 8880,
          "sha256": "6359823c5679e38ba10932e366b8cc575804cf4e9d9cbf00feb17e0c6930388d"
        },
        {
          "path": "projects/03-intelligence/index.html",
          "bytes": 8512,
          "sha256": "5edb28031c12f12dfe08141caf8c68f2db598195ddbc015d19e17d49813b84b9"
        },
        {
          "path": "projects/03-intelligence/manifest.json",
          "bytes": 2628,
          "sha256": "db53b2ad9f70019ea39e3b8a6591333793e179c071f3526a01a2d3ff3571d052"
        },
        {
          "path": "projects/03-intelligence/research/brief.md",
          "bytes": 15375,
          "sha256": "5ff26841381435e72115f027cface7071bb7ff20e8c193383570820124dde5f0"
        },
        {
          "path": "projects/03-intelligence/research/collection-log.json",
          "bytes": 4767,
          "sha256": "98f7e2ae5fd811d978b1d8a39531ece3b02a8d46e58e6b80be5e6cff88d678f8"
        },
        {
          "path": "projects/03-intelligence/research/evidence.json",
          "bytes": 39308,
          "sha256": "66e67418f2fe20c36e269f8d1c2561c7511db6715bab7addd6bd38b4ec46d1d7"
        },
        {
          "path": "projects/03-intelligence/research/protocol-lock.json",
          "bytes": 528,
          "sha256": "b2b17a13858cc181226c22ffccfcd51f0bdc726109c1bb29912c28dd80843014"
        },
        {
          "path": "projects/03-intelligence/research/protocol.json",
          "bytes": 11082,
          "sha256": "c09db1cbeca00af962544cc7178cc3295efb9a64c957ecdd904e4aee87d2294b"
        }
      ]
    },
    {
      "id": "04-invention",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "--test",
            "projects/04-invention/test/engine.test.mjs",
            "projects/04-invention/test/evidence.test.mjs",
            "projects/04-invention/test/ui.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:10.659557+00:00",
          "durationSeconds": 0.1503,
          "exitCode": 0,
          "stdout": "\u2714 source expansion preserves all 11 rows, 29 IDs, source order and shape assumptions (0.752625ms)\n\u2714 CSV parser handles quoted notes but rejects ambiguous or invalid source data (2.650084ms)\n\u2714 all twelve original reference counts are reproduced without imported reference code (0.703209ms)\n\u2714 the dominant and volume counterexamples remain worse on mixed-classroom (0.152208ms)\n\u2714 every original method respects both capacities and exactly-once assignments (6.364917ms)\n\u2714 verification rejects duplicate, missing, unknown, overloaded and falsified assignments (0.31175ms)\n\u2714 invalid integer capacities, oversized items and cross-scenario input fail (0.173916ms)\n\u2714 inclusive capacity equality and empty input are handled exactly (0.116791ms)\n\u2714 normalized sorting uses both capacities and exact rational ties (0.083834ms)\n\u2714 xorshift32 and FNV-1a match fixed algorithm vectors (0.162125ms)\n\u2714 permutation streams are repeatable, continuous and scenario-specific (0.2865ms)\n\u2714 aggregate equality proves a result without pretending to run exact search (0.089292ms)\n\u2714 bulky-gaps needs exhaustive proof above its unattainable aggregate bound (0.077834ms)\n\u2714 node and item limits report unknown rather than inventing exact proofs (0.112334ms)\n\u2714 bounded exact agrees with a separate exhaustive partition enumerator on 40 test fixtures (0.876166ms)\n\u2714 beam states stay bounded and fallback never worsens its first-fit incumbent (5.6235ms)\n\u2714 algorithms neither mutate inputs nor depend on locale or ambient randomness (10.00725ms)\n\u2714 saved evidence covers every frozen case, method, incoming order and PRNG state (2.152208ms)\n\u2714 separate verifier reconstructs all 504 assignments rather than trusting pass flags (14.454667ms)\n\u2714 all aggregate metrics and candidate gates are reconstructed from complete trials (0.304625ms)\n\u2714 regression ledger retains every losing method result and known failure (0.208667ms)\n\u2714 search traces remain within the frozen budgets and proof labels are honest (0.230291ms)\n\u2714 copied source data and reviewed provenance match the parent verification record (0.838542ms)\n\u2714 evidence identifies the unchanged pre-comparison freeze and exact original implementation (0.2295ms)\n\u2714 offline HTML references local existing assets, valid anchors and accessible controls (1.17575ms)\n\u2714 original browser scripts initialize from disk data without fetch, storage or a service (14.519875ms)\n\u2714 all scenario and method controls render assignments and reproduce selected saved traces (33.706416ms)\n\u2714 failure filters and known-counterexample navigation preserve unfavorable results (7.576291ms)\n\u2714 local replay detects disagreement rather than silently overwriting saved evidence (6.045125ms)\n\u2714 print action is wired and the printable view retains numeric loads and model warnings (7.54125ms)\n\u2139 tests 30\n\u2139 suites 0\n\u2139 pass 30\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 119.456875\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/04-invention/scripts/experiment.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:10.809857+00:00",
          "durationSeconds": 0.1269,
          "exitCode": 0,
          "stdout": "{\n  \"mode\": \"--check\",\n  \"artifacts\": 6,\n  \"assignmentsIndependentlyChecked\": 504,\n  \"referenceCountsMatched\": 12,\n  \"totalTrialMethodResults\": 480,\n  \"authoredTotals\": {\n    \"input-first-fit\": 16,\n    \"dominant-first-fit\": 16,\n    \"volume-first-fit\": 18,\n    \"dual-best-fit\": 16,\n    \"beam-128\": 15,\n    \"bounded-exact\": 15\n  },\n  \"pairedTotals\": {\n    \"input-first-fit\": 323,\n    \"dominant-first-fit\": 320,\n    \"volume-first-fit\": 360,\n    \"dual-best-fit\": 320,\n    \"beam-128\": 300,\n    \"bounded-exact\": 315\n  },\n  \"decision\": {\n    \"kind\": \"measured-model-improvement\",\n    \"selectedMethod\": \"beam-128\",\n    \"eligibleMethods\": [\n      \"beam-128\",\n      \"bounded-exact\"\n    ],\n    \"authoredBinsSaved\": 1,\n    \"pairedBinsSaved\": 23,\n    \"pairedReductionPercent\": 7.120743034055727,\n    \"inference\": \"Descriptive results on these four synthetic cases only. No population, physical or market inference.\"\n  }\n}\n\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/04-invention/scripts/replicate.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:10.936778+00:00",
          "durationSeconds": 0.3108,
          "exitCode": 0,
          "stdout": "{\n  \"mode\": \"--check\",\n  \"byteIdentical\": true,\n  \"checked\": 504,\n  \"outputSha256\": \"09704b17fcae134064cad2c3d79e5910586d050ab488fa4683e6a31fcfad41cf\"\n}\n\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/04-invention/PROTOCOL.md",
          "bytes": 4981,
          "sha256": "65c62209816b13cd5f90f1552d70455fc2591d7e50d501d6405e3d21fa7642b3"
        },
        {
          "path": "projects/04-invention/README.md",
          "bytes": 10845,
          "sha256": "48a0b476eb249ea4098f8d83e5bd0accb7d07ed205b47faf8e17007a87095728"
        },
        {
          "path": "projects/04-invention/docs/assumptions.csv",
          "bytes": 2107,
          "sha256": "89c3b8973386c4eb216b7ad25fd9cdce2495b69e1c17d9af9ba860f5b88099b7"
        },
        {
          "path": "projects/04-invention/docs/decision.md",
          "bytes": 3704,
          "sha256": "9dd5021136313b1756cf1b0965341caef9f17755e4f837e0da40739bc35186ee"
        },
        {
          "path": "projects/04-invention/docs/next-study.csv",
          "bytes": 2365,
          "sha256": "b4971737d4e092e89adaa3ba4cce291112f9c622da875243a57b852496dd03ca"
        },
        {
          "path": "projects/04-invention/evidence/baseline.json",
          "bytes": 117655,
          "sha256": "12158313b556ffb2fc547a7aa56f1e8c4abaa8337486aca10835f11c80c896a9"
        },
        {
          "path": "projects/04-invention/evidence/checks.json",
          "bytes": 6480,
          "sha256": "3d4facb2fe9d1288b4bcb07e8d297cae88dcc9dd1e25dcceafe6a48d93f154a2"
        },
        {
          "path": "projects/04-invention/evidence/counterexamples.json",
          "bytes": 61901,
          "sha256": "f7ceee49f611ce229c82bca982ec138fa62a9fd441702d5dbe61b9a09a9d937b"
        },
        {
          "path": "projects/04-invention/evidence/dataset-audit.json",
          "bytes": 8857,
          "sha256": "6c77f1a9dfbce395f1c9a4ac30cd5e335107d0f80115aed3bb035dee5adacf37"
        },
        {
          "path": "projects/04-invention/evidence/development.json",
          "bytes": 1881,
          "sha256": "a74d93e6b4c51ac342533775f6c60c4f5a6227ac773ee2b2302f7003fee39d45"
        },
        {
          "path": "projects/04-invention/evidence/reproducibility.json",
          "bytes": 1597,
          "sha256": "2030dedc855b5613051a941a672c309ba26d38f11ed4d5629e464e541a12b10e"
        },
        {
          "path": "projects/04-invention/evidence/result.json",
          "bytes": 25142,
          "sha256": "6c52a8edc2b73a8bf901218309b51f54f7cc935981321f83a55fcd0393938cf1"
        },
        {
          "path": "projects/04-invention/evidence/snapshot.js",
          "bytes": 1256033,
          "sha256": "6ed816c1c561d9b1a4d9daae9a035640917d1643587c6ce9448fb547be7247fd"
        },
        {
          "path": "projects/04-invention/evidence/trials.json",
          "bytes": 2325269,
          "sha256": "3923c8a2b64d7a6818bf5977c9639553b430768a40c570d589e461af38ebebd1"
        },
        {
          "path": "projects/04-invention/index.html",
          "bytes": 13155,
          "sha256": "4380392bf4389e1efbfab4c2cc8c5b64560e1492bc5485cfea62c7deea017517"
        },
        {
          "path": "projects/04-invention/manifest.json",
          "bytes": 3021,
          "sha256": "942fe368ac6838545f2b73dead8fa2793eea8517634cd5652eb3a214873fd7b8"
        },
        {
          "path": "projects/04-invention/protocol-lock.json",
          "bytes": 991,
          "sha256": "8245b7455c9e7cd9398e81e4fe92b2201347b6b4df4e75049e6b168a7a3ff351"
        },
        {
          "path": "projects/04-invention/protocol.json",
          "bytes": 6988,
          "sha256": "265419757652f778da8adcb1f28ef5de295908282377c55c5883071e67f84ac9"
        },
        {
          "path": "projects/04-invention/source/LICENSE",
          "bytes": 1079,
          "sha256": "3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f"
        },
        {
          "path": "projects/04-invention/source/capacity.json",
          "bytes": 309,
          "sha256": "7545ddbec5d31256cab78aedcecd12777fc916de2cbded4607ccdcefcf6a6ad9"
        },
        {
          "path": "projects/04-invention/source/expected-baseline.json",
          "bytes": 713,
          "sha256": "da83816eddb917c66258c6800b2a7f73255dd149f0b7dc3c2d6f42ccf51272a5"
        },
        {
          "path": "projects/04-invention/source/experiment-plan.json",
          "bytes": 460,
          "sha256": "e6091595c336e502e329ec8b8cd2a9ca216cc9b8c7b782017eeca51f7874d340"
        },
        {
          "path": "projects/04-invention/source/items.csv",
          "bytes": 959,
          "sha256": "07d5892a89521c9311ac5873fa423b683793893bab3631253ffc972e94623f13"
        },
        {
          "path": "projects/04-invention/source/sources.json",
          "bytes": 4945,
          "sha256": "2e25aa678f0bdbdf4207ad7ace5b91a7ae828546e7f3b3afa469b11c675c0a6c"
        }
      ]
    },
    {
      "id": "05-planner",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "--test",
            "--test-reporter=tap",
            "projects/05-planner/tests/engine.test.mjs",
            "projects/05-planner/tests/oracle.test.mjs",
            "projects/05-planner/tests/editor.test.mjs",
            "projects/05-planner/tests/artifacts.test.mjs",
            "projects/05-planner/tests/ui.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:11.253566+00:00",
          "durationSeconds": 0.2141,
          "exitCode": 0,
          "stdout": "TAP version 13\n# Subtest: direct-file bundle and standalone JSON presets exactly match original ES module sources\nok 1 - direct-file bundle and standalone JSON presets exactly match original ES module sources\n  ---\n  duration_ms: 3.438125\n  type: 'test'\n  ...\n# Subtest: entrypoint uses local relative assets, classic direct-file script and labeled controls\nok 2 - entrypoint uses local relative assets, classic direct-file script and labeled controls\n  ---\n  duration_ms: 0.485708\n  type: 'test'\n  ...\n# Subtest: browser code has no network, persistence, evaluated code or imported-markup sink\nok 3 - browser code has no network, persistence, evaluated code or imported-markup sink\n  ---\n  duration_ms: 0.483458\n  type: 'test'\n  ...\n# Subtest: copied inert input bytes, attribution and bindings match the parent seed verification\nok 4 - copied inert input bytes, attribution and bindings match the parent seed verification\n  ---\n  duration_ms: 0.736625\n  type: 'test'\n  ...\n# Subtest: copied historical source data is retained, but optional-topic reference results are not relabeled as this contract\nok 5 - copied historical source data is retained, but optional-topic reference results are not relabeled as this contract\n  ---\n  duration_ms: 0.238\n  type: 'test'\n  ...\n# Subtest: manifest exposes reproducible argv checks, local artifacts, truthful stage and limitations\nok 6 - manifest exposes reproducible argv checks, local artifacts, truthful stage and limitations\n  ---\n  duration_ms: 0.265292\n  type: 'test'\n  ...\n# Subtest: manual and launch gates never substitute static/unit tests for browser observations\nok 7 - manual and launch gates never substitute static/unit tests for browser observations\n  ---\n  duration_ms: 0.147125\n  type: 'test'\n  ...\n# Subtest: clock parsing preserves exact boundaries and does not coerce malformed text\nok 8 - clock parsing preserves exact boundaries and does not coerce malformed text\n  ---\n  duration_ms: 0.65575\n  type: 'test'\n  ...\n# Subtest: disjoint windows accept hyphen or en dash; empty does not mean unlimited\nok 9 - disjoint windows accept hyphen or en dash; empty does not mean unlimited\n  ---\n  duration_ms: 0.503792\n  type: 'test'\n  ...\n# Subtest: explicit analysis export/import round trip keeps the input, not untrusted imported conclusions\nok 10 - explicit analysis export/import round trip keeps the input, not untrusted imported conclusions\n  ---\n  duration_ms: 26.238333\n  type: 'test'\n  ...\n# Subtest: exports label unknown and input-only reports without implying feasibility\nok 11 - exports label unknown and input-only reports without implying feasibility\n  ---\n  duration_ms: 0.310208\n  type: 'test'\n  ...\n# Subtest: stale analysis and invalid input cannot be exported as a current result\nok 12 - stale analysis and invalid input cannot be exported as a current result\n  ---\n  duration_ms: 5.809125\n  type: 'test'\n  ...\n# Subtest: failed imports have no replacement agenda and do not touch current state\nok 13 - failed imports have no replacement agenda and do not touch current state\n  ---\n  duration_ms: 0.207625\n  type: 'test'\n  ...\n# Subtest: imported labels remain literal strings, including markup-like data\nok 14 - imported labels remain literal strings, including markup-like data\n  ---\n  duration_ms: 0.170833\n  type: 'test'\n  ...\n# Subtest: the timeline accounts for tasks, usable slack and unavailable minutes separately\nok 15 - the timeline accounts for tasks, usable slack and unavailable minutes separately\n  ---\n  duration_ms: 0.186\n  type: 'test'\n  ...\n# Subtest: empty agenda rendering still distinguishes unavailable time from slack\nok 16 - empty agenda rendering still distinguishes unavailable time from slack\n  ---\n  duration_ms: 0.076\n  type: 'test'\n  ...\n# Subtest: adversarial: overloaded-duration\nok 17 - adversarial: overloaded-duration\n  ---\n  duration_ms: 5.038958\n  type: 'test'\n  ...\n# Subtest: adversarial: disjoint-availability\nok 18 - adversarial: disjoint-availability\n  ---\n  duration_ms: 0.238292\n  type: 'test'\n  ...\n# Subtest: adversarial: dependency-conflict\nok 19 - adversarial: dependency-conflict\n  ---\n  duration_ms: 0.159208\n  type: 'test'\n  ...\n# Subtest: adversarial: dependency-cycle\nok 20 - adversarial: dependency-cycle\n  ---\n  duration_ms: 0.223208\n  type: 'test'\n  ...\n# Subtest: adversarial: fixed-event-collision\nok 21 - adversarial: fixed-event-collision\n  ---\n  duration_ms: 0.133125\n  type: 'test'\n  ...\n# Subtest: adversarial: boundary-valid-agenda\nok 22 - adversarial: boundary-valid-agenda\n  ---\n  duration_ms: 0.113375\n  type: 'test'\n  ...\n# Subtest: adversarial: malformed-input\nok 23 - adversarial: malformed-input\n  ---\n  duration_ms: 0.113792\n  type: 'test'\n  ...\n# Subtest: adversarial: malformed-duplicate-id\nok 24 - adversarial: malformed-duplicate-id\n  ---\n  duration_ms: 0.068416\n  type: 'test'\n  ...\n# Subtest: adversarial: search-bound-feasible\nok 25 - adversarial: search-bound-feasible\n  ---\n  duration_ms: 0.142917\n  type: 'test'\n  ...\n# Subtest: adversarial: search-bound-infeasible\nok 26 - adversarial: search-bound-infeasible\n  ---\n  duration_ms: 0.11925\n  type: 'test'\n  ...\n# Subtest: adversarial: repair-candidate-bound\nok 27 - adversarial: repair-candidate-bound\n  ---\n  duration_ms: 0.116\n  type: 'test'\n  ...\n# Subtest: adversarial: repair-node-bound\nok 28 - adversarial: repair-node-bound\n  ---\n  duration_ms: 0.083291\n  type: 'test'\n  ...\n# Subtest: adversarial: two-field-minimum\nok 29 - adversarial: two-field-minimum\n  ---\n  duration_ms: 0.158833\n  type: 'test'\n  ...\n# Subtest: adversarial: lexicographic-repair\nok 30 - adversarial: lexicographic-repair\n  ---\n  duration_ms: 0.230125\n  type: 'test'\n  ...\n# Subtest: adversarial: core-search-bound\nok 31 - adversarial: core-search-bound\n  ---\n  duration_ms: 0.078709\n  type: 'test'\n  ...\n# Subtest: adversarial: unsupported-constraint\nok 32 - adversarial: unsupported-constraint\n  ---\n  duration_ms: 0.06125\n  type: 'test'\n  ...\n# Subtest: adversarial: no-invented-availability\nok 33 - adversarial: no-invented-availability\n  ---\n  duration_ms: 0.629625\n  type: 'test'\n  ...\n# Subtest: all shipped synthetic presets are supported, deterministic and immutable\nok 34 - all shipped synthetic presets are supported, deterministic and immutable\n  ---\n  duration_ms: 25.335167\n  type: 'test'\n  ...\n# Subtest: Pocket Arcade keeps rounds, two breaks and fixed check-in in every repair\nok 35 - Pocket Arcade keeps rounds, two breaks and fixed check-in in every repair\n  ---\n  duration_ms: 2.056\n  type: 'test'\n  ...\n# Subtest: library adaptation retains all source topics instead of copying the seed's greedy omission\nok 36 - library adaptation retains all source topics instead of copying the seed's greedy omission\n  ---\n  duration_ms: 2.679708\n  type: 'test'\n  ...\n# Subtest: a fields-first objective can deliberately prefer 25 minutes over a two-field 10-minute alternative\nok 37 - a fields-first objective can deliberately prefer 25 minutes over a two-field 10-minute alternative\n  ---\n  duration_ms: 0.179625\n  type: 'test'\n  ...\n# Subtest: a choice limit may truncate tied repairs without invalidating the minimum cost\nok 38 - a choice limit may truncate tied repairs without invalidating the minimum cost\n  ---\n  duration_ms: 0.059333\n  type: 'test'\n  ...\n# Subtest: a node-limited smallest-core search cannot claim minimality\nok 39 - a node-limited smallest-core search cannot claim minimality\n  ---\n  duration_ms: 0.063166\n  type: 'test'\n  ...\n# Subtest: zero search nodes still allow sound arithmetic proofs, but not a guessed witness\nok 40 - zero search nodes still allow sound arithmetic proofs, but not a guessed witness\n  ---\n  duration_ms: 0.041583\n  type: 'test'\n  ...\n# Subtest: empty agenda is feasible; empty availability with a commitment is not\nok 41 - empty agenda is feasible; empty availability with a commitment is not\n  ---\n  duration_ms: 0.078209\n  type: 'test'\n  ...\n# Subtest: adjacent and overlapping availability windows are normalized without mutation\nok 42 - adjacent and overlapping availability windows are normalized without mutation\n  ---\n  duration_ms: 0.073625\n  type: 'test'\n  ...\n# Subtest: self-dependency is a supported, proven cycle\nok 43 - self-dependency is a supported, proven cycle\n  ---\n  duration_ms: 0.041375\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: duration zero\nok 44 - malformed input is not an impossibility proof: duration zero\n  ---\n  duration_ms: 0.05025\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: duration fraction\nok 45 - malformed input is not an impossibility proof: duration fraction\n  ---\n  duration_ms: 0.039167\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: NaN\nok 46 - malformed input is not an impossibility proof: NaN\n  ---\n  duration_ms: 0.050958\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: out of day\nok 47 - malformed input is not an impossibility proof: out of day\n  ---\n  duration_ms: 0.039583\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: overnight\nok 48 - malformed input is not an impossibility proof: overnight\n  ---\n  duration_ms: 0.03425\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: off-grid\nok 49 - malformed input is not an impossibility proof: off-grid\n  ---\n  duration_ms: 0.028375\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: missing task availability\nok 50 - malformed input is not an impossibility proof: missing task availability\n  ---\n  duration_ms: 0.078041\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: missing global availability\nok 51 - malformed input is not an impossibility proof: missing global availability\n  ---\n  duration_ms: 0.168792\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: reversed window\nok 52 - malformed input is not an impossibility proof: reversed window\n  ---\n  duration_ms: 0.08975\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: dangling dependency\nok 53 - malformed input is not an impossibility proof: dangling dependency\n  ---\n  duration_ms: 0.07275\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: repeated dependency\nok 54 - malformed input is not an impossibility proof: repeated dependency\n  ---\n  duration_ms: 0.073333\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: array instead of task\nok 55 - malformed input is not an impossibility proof: array instead of task\n  ---\n  duration_ms: 0.046208\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: bad ID\nok 56 - malformed input is not an impossibility proof: bad ID\n  ---\n  duration_ms: 0.044291\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: blank label\nok 57 - malformed input is not an impossibility proof: blank label\n  ---\n  duration_ms: 0.034416\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: invalid floor\nok 58 - malformed input is not an impossibility proof: invalid floor\n  ---\n  duration_ms: 0.045375\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: floor above duration\nok 59 - malformed input is not an impossibility proof: floor above duration\n  ---\n  duration_ms: 0.030834\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: unknown floor ID\nok 60 - malformed input is not an impossibility proof: unknown floor ID\n  ---\n  duration_ms: 0.046\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: shortening fixed event\nok 61 - malformed input is not an impossibility proof: shortening fixed event\n  ---\n  duration_ms: 0.035208\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: cutoff shrinks\nok 62 - malformed input is not an impossibility proof: cutoff shrinks\n  ---\n  duration_ms: 0.030375\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: bad fixed-start type\nok 63 - malformed input is not an impossibility proof: bad fixed-start type\n  ---\n  duration_ms: 0.037292\n  type: 'test'\n  ...\n# Subtest: malformed input is not an impossibility proof: bad classification\nok 64 - malformed input is not an impossibility proof: bad classification\n  ---\n  duration_ms: 0.03025\n  type: 'test'\n  ...\n# Subtest: null, arrays, primitive and missing-top-level objects are invalid, not crashes\nok 65 - null, arrays, primitive and missing-top-level objects are invalid, not crashes\n  ---\n  duration_ms: 0.040834\n  type: 'test'\n  ...\n# Subtest: unsupported features and limits are never silently ignored\nok 66 - unsupported features and limits are never silently ignored\n  ---\n  duration_ms: 0.757167\n  type: 'test'\n  ...\n# Subtest: complete schedule verification rejects dropped, duplicated, moved or falsified commitments\nok 67 - complete schedule verification rejects dropped, duplicated, moved or falsified commitments\n  ---\n  duration_ms: 0.603708\n  type: 'test'\n  ...\n# Subtest: verifier rejects availability holes and reversed dependencies even without overlaps\nok 68 - verifier rejects availability holes and reversed dependencies even without overlaps\n  ---\n  duration_ms: 0.13375\n  type: 'test'\n  ...\n# Subtest: repair application rechecks policy and witness instead of trusting downloaded choice data\nok 69 - repair application rechecks policy and witness instead of trusting downloaded choice data\n  ---\n  duration_ms: 1.456125\n  type: 'test'\n  ...\n# Subtest: malformed API bounds are explicit developer errors\nok 70 - malformed API bounds are explicit developer errors\n  ---\n  duration_ms: 0.211791\n  type: 'test'\n  ...\n# Subtest: prototype-named legal task IDs never inherit a duration-repair permission\nok 71 - prototype-named legal task IDs never inherit a duration-repair permission\n  ---\n  duration_ms: 0.117917\n  type: 'test'\n  ...\n# Subtest: an unknown original feasibility yields an explicitly unproven conflict result\nok 72 - an unknown original feasibility yields an explicitly unproven conflict result\n  ---\n  duration_ms: 0.058083\n  type: 'test'\n  ...\n# Subtest: results are plain JSON, with no BigInt masks or partial assignment state\nok 73 - results are plain JSON, with no BigInt masks or partial assignment state\n  ---\n  duration_ms: 6.860875\n  type: 'test'\n  ...\n# Subtest: independent exhaustive start-vector oracle agrees on 1,000 small models\nok 74 - independent exhaustive start-vector oracle agrees on 1,000 small models\n  ---\n  duration_ms: 35.002792\n  type: 'test'\n  ...\n# Subtest: independent full Cartesian repair enumeration checks 250 finite policies\nok 75 - independent full Cartesian repair enumeration checks 250 finite policies\n  ---\n  duration_ms: 15.206\n  type: 'test'\n  ...\n# Subtest: minimum task cores agree with independent subset enumeration on 150 models\nok 76 - minimum task cores agree with independent subset enumeration on 150 models\n  ---\n  duration_ms: 3.337083\n  type: 'test'\n  ...\n# Subtest: DOM-double: original bundle boots to an honest overload, not a partial schedule\nok 77 - DOM-double: original bundle boots to an honest overload, not a partial schedule\n  ---\n  duration_ms: 29.227125\n  type: 'test'\n  ...\n# Subtest: DOM-double: Pocket Arcade approval produces and exports a valid complete schedule\nok 78 - DOM-double: Pocket Arcade approval produces and exports a valid complete schedule\n  ---\n  duration_ms: 19.266791\n  type: 'test'\n  ...\n# Subtest: DOM-double: edits invalidate old timeline, repair buttons and analysis export\nok 79 - DOM-double: edits invalidate old timeline, repair buttons and analysis export\n  ---\n  duration_ms: 16.306334\n  type: 'test'\n  ...\n# Subtest: DOM-double: failed malformed/unsupported imports preserve editor and current analysis\nok 80 - DOM-double: failed malformed/unsupported imports preserve editor and current analysis\n  ---\n  duration_ms: 8.731708\n  type: 'test'\n  ...\n# Subtest: DOM-double: bounded search says unknown and exports no schedule\nok 81 - DOM-double: bounded search says unknown and exports no schedule\n  ---\n  duration_ms: 8.489209\n  type: 'test'\n  ...\n# Subtest: DOM-double: imported markup-like task labels remain literal DOM text\nok 82 - DOM-double: imported markup-like task labels remain literal DOM text\n  ---\n  duration_ms: 8.240166\n  type: 'test'\n  ...\n# Subtest: DOM-double: explicit deletion does not silently remove a dangling dependency\nok 83 - DOM-double: explicit deletion does not silently remove a dangling dependency\n  ---\n  duration_ms: 8.361208\n  type: 'test'\n  ...\n# Subtest: DOM-double: adding reaches the supported task limit without erasing existing rows\nok 84 - DOM-double: adding reaches the supported task limit without erasing existing rows\n  ---\n  duration_ms: 8.870125\n  type: 'test'\n  ...\n# Subtest: DOM-double: asynchronous file import cannot overwrite an intervening edit\nok 85 - DOM-double: asynchronous file import cannot overwrite an intervening edit\n  ---\n  duration_ms: 8.033459\n  type: 'test'\n  ...\n# Subtest: DOM-double: rapid preset change queues a fresh check rather than displaying the previous result\nok 86 - DOM-double: rapid preset change queues a fresh check rather than displaying the previous result\n  ---\n  duration_ms: 3.688166\n  type: 'test'\n  ...\n# Subtest: DOM-double: legal constructor ID has no inherited floor or unexpected field value\nok 87 - DOM-double: legal constructor ID has no inherited floor or unexpected field value\n  ---\n  duration_ms: 8.128916\n  type: 'test'\n  ...\n1..87\n# tests 87\n# suites 0\n# pass 87\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 185.799917\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/05-planner/app.mjs"
          ],
          "startedAt": "2026-09-19T14:01:11.467676+00:00",
          "durationSeconds": 0.0247,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/05-planner/app.bundle.js"
          ],
          "startedAt": "2026-09-19T14:01:11.492396+00:00",
          "durationSeconds": 0.0251,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/05-planner/tools/build.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:11.517531+00:00",
          "durationSeconds": 0.0294,
          "exitCode": 0,
          "stdout": "projects/05-planner/app.bundle.js matches original local sources.\nprojects/05-planner/fixtures/library.json matches original local sources.\nprojects/05-planner/fixtures/pocket-arcade.json matches original local sources.\nprojects/05-planner/fixtures/disjoint.json matches original local sources.\nprojects/05-planner/fixtures/boundary.json matches original local sources.\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/05-planner/README.md",
          "bytes": 17862,
          "sha256": "0963c67f913fa7d2cb487dd5b6873a7fabb7e19a6712ca6a6ce05e5a2b755f60"
        },
        {
          "path": "projects/05-planner/app.bundle.js",
          "bytes": 60587,
          "sha256": "17460cfcf3b391baab3ad043527ae3c1c3234fee3fdf93d9948804a32e49dd13"
        },
        {
          "path": "projects/05-planner/app.mjs",
          "bytes": 20971,
          "sha256": "20683e1cb376ac07d6d20a3f68c331af3eb6afbeb6bac186ea75c0feb449c823"
        },
        {
          "path": "projects/05-planner/data/source/LICENSE",
          "bytes": 1079,
          "sha256": "3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f"
        },
        {
          "path": "projects/05-planner/data/source/acceptance-cases.json",
          "bytes": 2093,
          "sha256": "6d823e958e25f9ef223e352fa146471011cf77b41f9277caf7a11c72c00378ef"
        },
        {
          "path": "projects/05-planner/data/source/initialize.json",
          "bytes": 4176,
          "sha256": "dd8fa1284950733c20521dfd516cd5b5baa98ff398ffc3da6065eef8232fe947"
        },
        {
          "path": "projects/05-planner/data/source/intake.json",
          "bytes": 1364,
          "sha256": "774ebdde3a4f88174cb503bf315156b4d4909cfb9d1b3144203c256463b88cc2"
        },
        {
          "path": "projects/05-planner/data/source/sample-agenda.json",
          "bytes": 776,
          "sha256": "9782d287e0e1cc50e233e7e22a0d30dc2c402f430a1cde51555464637700bedc"
        },
        {
          "path": "projects/05-planner/data/source/seed.json",
          "bytes": 5958,
          "sha256": "a954c9350bc3f2b9ccbb542479387992c49f00dbb27bc147d592b45c287c6bb5"
        },
        {
          "path": "projects/05-planner/data/source/task-board.json",
          "bytes": 10798,
          "sha256": "4f13a54cf3573220743b9916466f493ecde81f975192e4e77791d1727fc98a75"
        },
        {
          "path": "projects/05-planner/docs/FAQ.md",
          "bytes": 6173,
          "sha256": "ee83afd580c296073ee12f2fdf8b24784c0bdde96d439893cff748507fe99d1b"
        },
        {
          "path": "projects/05-planner/docs/launch-draft.md",
          "bytes": 5500,
          "sha256": "cd69c248693d7a9b56d1293f7a1fc928a4fd5359cc59569a37b480ab9647285b"
        },
        {
          "path": "projects/05-planner/docs/manual-checks.json",
          "bytes": 3012,
          "sha256": "86963a3a9014b268fe999364c90c5f6ddd5902b4c93d947e7a9e2ace52466412"
        },
        {
          "path": "projects/05-planner/docs/task-mapping.md",
          "bytes": 5613,
          "sha256": "61882809d58571cafac263f8debded5b6c1eaeafc430e14c105150a0b63fbb08"
        },
        {
          "path": "projects/05-planner/editor.mjs",
          "bytes": 3637,
          "sha256": "4fc41b34deb74fb30d983eef286bb938c98c26eb1f3323ecf822aa3405a195f6"
        },
        {
          "path": "projects/05-planner/engine.mjs",
          "bytes": 30634,
          "sha256": "66a9abbcc9c3a0c00dc7841ed5b36c78a3d3349a74bf80178202818d791974cf"
        },
        {
          "path": "projects/05-planner/evidence/check-01.tap",
          "bytes": 17669,
          "sha256": "8fa9855b95f648f478fcb84f55006a36ba2bcd930ff2f1ee60cd4e33242fa6b7"
        },
        {
          "path": "projects/05-planner/evidence/fixture-results.json",
          "bytes": 170405,
          "sha256": "89f0367aef4eea8bda6d3b84b37eb627faea7df665ecbab3f4a2326af6342961"
        },
        {
          "path": "projects/05-planner/evidence/result.json",
          "bytes": 11988,
          "sha256": "eefe648291d704f7e603d7beafd0eaa90e80a72eddf9450dba9ceef6be1e591a"
        },
        {
          "path": "projects/05-planner/fixtures/adversarial.json",
          "bytes": 14559,
          "sha256": "d6bcc8a42612d8dc4421799cab5011609ef30c1b52084319b16fbf0a3f3e160d"
        },
        {
          "path": "projects/05-planner/fixtures/boundary.json",
          "bytes": 1117,
          "sha256": "a76fdb85867c4ec120057da3a4ab1e6f576414b6a8bbf454589be9ef0c418e86"
        },
        {
          "path": "projects/05-planner/fixtures/disjoint.json",
          "bytes": 675,
          "sha256": "96220fed3ab1ed7a026fffd77827ea04017830ad09a668b1e64afa33932d9fb0"
        },
        {
          "path": "projects/05-planner/fixtures/library.json",
          "bytes": 2320,
          "sha256": "24785a9694b54d2be2501668e43eedd6721a6fe11a8662434f778c0cc316e039"
        },
        {
          "path": "projects/05-planner/fixtures/pocket-arcade.json",
          "bytes": 2331,
          "sha256": "44d916e056b463535eb051a4260b6c967d63d8d6aab87df73d6a59f858c92987"
        },
        {
          "path": "projects/05-planner/index.html",
          "bytes": 11528,
          "sha256": "c7dfe6eb8ea1115526d7cc1053a5293ecb19dfb2aa907af448906de158d0fd4e"
        },
        {
          "path": "projects/05-planner/manifest.json",
          "bytes": 3954,
          "sha256": "be32190db7b40a42850abddd7799b6496983068aa31b63af758bcad5f20b9534"
        },
        {
          "path": "projects/05-planner/presets.mjs",
          "bytes": 5279,
          "sha256": "d34d05e0d6ad0a82ee05e44aa0093cc298e7070d8d083f1ebe139bac73e5c3e8"
        },
        {
          "path": "projects/05-planner/provenance.json",
          "bytes": 7227,
          "sha256": "c4084cb90b629b3f38fd10092a82b4e05f57720b760fe3f71561199bd638b911"
        },
        {
          "path": "projects/05-planner/styles.css",
          "bytes": 13503,
          "sha256": "4a9aa347b065a9ba43968a73a3e02f6ba22102dd4b92df6d78caedbe5727773c"
        }
      ]
    },
    {
      "id": "06-enterprise",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "projects/06-enterprise/scripts/validate.mjs"
          ],
          "startedAt": "2026-09-19T14:01:11.552154+00:00",
          "durationSeconds": 0.2073,
          "exitCode": 0,
          "stdout": "PASS 66/66 Node tests; 6 exact source hashes; 8 exact-money cases; 12 deterministic conserved runs; local links/manifest/trace; 26 artifact hashes.\nRecorded evidence is current. Browser, human, production and financial validation remain not performed.\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/06-enterprise/README.md",
          "bytes": 14419,
          "sha256": "db1f2f6fdf4a105d792d642906048ce69028ba0cf19dba0d7c6712602168fe97"
        },
        {
          "path": "projects/06-enterprise/app.mjs",
          "bytes": 6110,
          "sha256": "4225cc8c769bbe3d7ca7bdbd0f292b65f2bd73dbd6ea1fc338f4beb9976251ec"
        },
        {
          "path": "projects/06-enterprise/engine.mjs",
          "bytes": 11377,
          "sha256": "e1ac5f18c15d6c8dee7c8f2a879c8fbe0410b3b9883dd434365a8a07c43c34e5"
        },
        {
          "path": "projects/06-enterprise/evidence/result.json",
          "bytes": 28772,
          "sha256": "e30f9cac3bb86f17eec388a6c770a38e93b7fdf2f18673b876959b5207ee8062"
        },
        {
          "path": "projects/06-enterprise/fixtures/LICENSE",
          "bytes": 1079,
          "sha256": "3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f"
        },
        {
          "path": "projects/06-enterprise/fixtures/accounts.csv",
          "bytes": 391,
          "sha256": "8644cd424be1498821a59aad735b5663f1077a1b2479b10a51e4f3cbd54a5d44"
        },
        {
          "path": "projects/06-enterprise/fixtures/expected-results.json",
          "bytes": 1234,
          "sha256": "287067af395316f7048b856ac4ceb1958c0a5a78d09898b25cbd8ffcf1f9dbfc"
        },
        {
          "path": "projects/06-enterprise/fixtures/policy.json",
          "bytes": 440,
          "sha256": "9c1b87389ce74d52368a497c575f3725239bfb7a7e59f6437f9fa984b20748ed"
        },
        {
          "path": "projects/06-enterprise/fixtures/quote-lines.csv",
          "bytes": 688,
          "sha256": "f9570e9c9e788d494385c2a92cc65a2566e366905652a27e9a172bcf18a3933d"
        },
        {
          "path": "projects/06-enterprise/fixtures/quotes.csv",
          "bytes": 511,
          "sha256": "748728a14d183fa4f1a5178830b12e5a36042560e543d3256958e7efc0d25080"
        },
        {
          "path": "projects/06-enterprise/fixtures/workload.json",
          "bytes": 4995,
          "sha256": "c827f71e6669b17662f7361ef1f65ced29e11fa4152aacd25796432bb98d5437"
        },
        {
          "path": "projects/06-enterprise/index.html",
          "bytes": 12427,
          "sha256": "8a4c3e41352d2a1ce6dcd9b38b8391ea6831ff7ee9d25c487b7c1f1d75119820"
        },
        {
          "path": "projects/06-enterprise/manifest.json",
          "bytes": 3261,
          "sha256": "e956d628846b917c898853d3c2948c0ee6ebbff268916a62d0701c14d5bbc186"
        },
        {
          "path": "projects/06-enterprise/model.mjs",
          "bytes": 13383,
          "sha256": "09615b87a9a55eb64e0e6d5a5c466fa8db2229c08295a3b42ff9b46dd9fd24fe"
        },
        {
          "path": "projects/06-enterprise/pilot.md",
          "bytes": 12377,
          "sha256": "0c6dc07d8963eb2657a3f9c252912ba9cfb11afee57a0e45ca81ac39253a0bbe"
        },
        {
          "path": "projects/06-enterprise/provenance.json",
          "bytes": 4550,
          "sha256": "67e936340cfd43a1d7eac617f9a919ef359459f70ffd7cead1c13616a4466571"
        },
        {
          "path": "projects/06-enterprise/results/comparison.json",
          "bytes": 96232,
          "sha256": "840f7a16672fc5eb1dfea7ee9971303360d02f36a6564816c518215fd3f67448"
        },
        {
          "path": "projects/06-enterprise/results/replays.json",
          "bytes": 211899,
          "sha256": "c382cc0ea79907a4785970797063337ae15955e82758bcd01f6d51f143ad001e"
        },
        {
          "path": "projects/06-enterprise/scripts/reproduce.mjs",
          "bytes": 6934,
          "sha256": "70e183fbb0d200969e30b07082c60c72332a2714fe32cc6ffbe583693d4e5e22"
        },
        {
          "path": "projects/06-enterprise/scripts/validate.mjs",
          "bytes": 8435,
          "sha256": "e15d83ba70ac700e75cc959e204680703c59bf80c4c414be0c60323f99b14981"
        },
        {
          "path": "projects/06-enterprise/source.mjs",
          "bytes": 7933,
          "sha256": "f97da45df58fadce8c90cd58e9e1346918c965808dffa39af062903bbb2b44aa"
        },
        {
          "path": "projects/06-enterprise/styles.css",
          "bytes": 17150,
          "sha256": "7d2d88e3646fd86fe34842a8f76562505e88fee0dac83e863667a7c29724535d"
        },
        {
          "path": "projects/06-enterprise/tests/engine.test.mjs",
          "bytes": 13901,
          "sha256": "2eb625c8994dcdb84cad3c8d846b272765345236c307a46dc46831c3e07eb2fc"
        },
        {
          "path": "projects/06-enterprise/tests/source.test.mjs",
          "bytes": 5834,
          "sha256": "7bda25644058bdf66cdc495e55c562f0ab0d4a88576de18220a301db89c27ff7"
        },
        {
          "path": "projects/06-enterprise/tests/ui.test.mjs",
          "bytes": 12082,
          "sha256": "8ba127c4eee3b65e53b2ea30271c89b97653a911dd51b2366dc4d89fcc29c9d1"
        },
        {
          "path": "projects/06-enterprise/traceability.json",
          "bytes": 6114,
          "sha256": "6ffb7f9f0adceaec4cf367473c6441a1bb9b20f85c65aaf71a9139c3af8d4ee5"
        },
        {
          "path": "projects/06-enterprise/view.mjs",
          "bytes": 22575,
          "sha256": "777e8aa466a13aaee9d7a0aa5bfac3e39c696236cfccbf7e9bf3106abf12ac5d"
        }
      ]
    },
    {
      "id": "07-manufacturing",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "--test",
            "--test-reporter=tap",
            "projects/07-manufacturing/tests/engine.test.mjs",
            "projects/07-manufacturing/tests/app.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:11.764925+00:00",
          "durationSeconds": 0.2639,
          "exitCode": 0,
          "stdout": "TAP version 13\n# Subtest: offline HTML uses local classic scripts, shared CSS, semantic labels and no runtime requests\nok 1 - offline HTML uses local classic scripts, shared CSS, semantic labels and no runtime requests\n  ---\n  duration_ms: 1.182166\n  type: 'test'\n  ...\n# Subtest: actual app initializes a valid baseline and switches all three starting configurations\nok 2 - actual app initializes a valid baseline and switches all three starting configurations\n  ---\n  duration_ms: 14.084792\n  type: 'test'\n  ...\n# Subtest: live edits update the geometry, metrics and explicit custom identity\nok 3 - live edits update the geometry, metrics and explicit custom identity\n  ---\n  duration_ms: 9.844667\n  type: 'test'\n  ...\n# Subtest: blank, nonfinite, and invalid dimensions block downloads and clear stale previews\nok 4 - blank, nonfinite, and invalid dimensions block downloads and clear stale previews\n  ---\n  duration_ms: 9.236875\n  type: 'test'\n  ...\n# Subtest: reset restores the selected preset; view toggle changes assembled/exploded geometry\nok 5 - reset restores the selected preset; view toggle changes assembled/exploded geometry\n  ---\n  duration_ms: 12.689167\n  type: 'test'\n  ...\n# Subtest: valid but packing-held and payload-held models preserve visible HOLD findings\nok 6 - valid but packing-held and payload-held models preserve visible HOLD findings\n  ---\n  duration_ms: 12.01125\n  type: 'test'\n  ...\n# Subtest: download controls create real current-parameter STL, SVG, BOM, JSON and ZIP bytes\nok 7 - download controls create real current-parameter STL, SVG, BOM, JSON and ZIP bytes\n  ---\n  duration_ms: 16.476125\n  type: 'test'\n  ...\n# Subtest: baseline dimensions and material values match attributed inert data\nok 8 - baseline dimensions and material values match attributed inert data\n  ---\n  duration_ms: 2.2645\n  type: 'test'\n  ...\n# Subtest: the original effort and cost model reproduces the synthetic baseline\nok 9 - the original effort and cost model reproduces the synthetic baseline\n  ---\n  duration_ms: 1.051417\n  type: 'test'\n  ...\n# Subtest: stackline: both solids have paired oriented edges, expected topology, volume and dimensions\nok 10 - stackline: both solids have paired oriented edges, expected topology, volume and dimensions\n  ---\n  duration_ms: 0.7265\n  type: 'test'\n  ...\n# Subtest: compact: both solids have paired oriented edges, expected topology, volume and dimensions\nok 11 - compact: both solids have paired oriented edges, expected topology, volume and dimensions\n  ---\n  duration_ms: 0.551875\n  type: 'test'\n  ...\n# Subtest: pocket-arcade: both solids have paired oriented edges, expected topology, volume and dimensions\nok 12 - pocket-arcade: both solids have paired oriented edges, expected topology, volume and dimensions\n  ---\n  duration_ms: 0.630375\n  type: 'test'\n  ...\n# Subtest: insert nominal gaps are noninterfering at all four walls with a floor contact only\nok 13 - insert nominal gaps are noninterfering at all four walls with a floor contact only\n  ---\n  duration_ms: 1.523583\n  type: 'test'\n  ...\n# Subtest: changing parameters alters exported coordinates and preserves dimensional units\nok 14 - changing parameters alters exported coordinates and preserves dimensional units\n  ---\n  duration_ms: 1.830375\n  type: 'test'\n  ...\n# Subtest: all numeric parameters reject missing, string, NaN and infinity inputs\nok 15 - all numeric parameters reject missing, string, NaN and infinity inputs\n  ---\n  duration_ms: 0.682\n  type: 'test'\n  ...\n# Subtest: range, layout, integer and small-bay constraints cannot produce negative geometry\nok 16 - range, layout, integer and small-bay constraints cannot produce negative geometry\n  ---\n  duration_ms: 0.174709\n  type: 'test'\n  ...\n# Subtest: deterministic parameter sweep preserves closed mesh and analytic volume\nok 17 - deterministic parameter sweep preserves closed mesh and analytic volume\n  ---\n  duration_ms: 74.44125\n  type: 'test'\n  ...\n# Subtest: Pocket Arcade contains the assumed payload but correctly holds too-small custom bays\nok 18 - Pocket Arcade contains the assumed payload but correctly holds too-small custom bays\n  ---\n  duration_ms: 2.778334\n  type: 'test'\n  ...\n# Subtest: packing includes both-side padding and packaging mass, and holds the 196 mm request\nok 19 - packing includes both-side padding and packaging mass, and holds the 196 mm request\n  ---\n  duration_ms: 2.3915\n  type: 'test'\n  ...\n# Subtest: material and effort estimates have explicit monotonic sensitivity\nok 20 - material and effort estimates have explicit monotonic sensitivity\n  ---\n  duration_ms: 0.453542\n  type: 'test'\n  ...\n# Subtest: inert gauge fixtures replay to exactly 3 pass and 2 explained holds\nok 21 - inert gauge fixtures replay to exactly 3 pass and 2 explained holds\n  ---\n  duration_ms: 0.310584\n  type: 'test'\n  ...\n# Subtest: BOM exports exactly two nonnegative correctly dimensioned parts\nok 22 - BOM exports exactly two nonnegative correctly dimensioned parts\n  ---\n  duration_ms: 1.058333\n  type: 'test'\n  ...\n# Subtest: STL normals and serialized vertices describe the model without unit conversion\nok 23 - STL normals and serialized vertices describe the model without unit conversion\n  ---\n  duration_ms: 1.064542\n  type: 'test'\n  ...\n# Subtest: drawing declares millimetres, scale bar, nominal dimensions, and review-only boundary\nok 24 - drawing declares millimetres, scale bar, nominal dimensions, and review-only boundary\n  ---\n  duration_ms: 2.7425\n  type: 'test'\n  ...\n# Subtest: isometric SVG visibility agrees with independent box-ray intersections\nok 25 - isometric SVG visibility agrees with independent box-ray intersections\n  ---\n  duration_ms: 70.772125\n  type: 'test'\n  ...\n# Subtest: review and inspection artifacts cannot be mistaken for measured physical outcomes\nok 26 - review and inspection artifacts cannot be mistaken for measured physical outcomes\n  ---\n  duration_ms: 0.797375\n  type: 'test'\n  ...\n# Subtest: original ZIP implementation matches standard CRC vector and deterministic headers\nok 27 - original ZIP implementation matches standard CRC vector and deterministic headers\n  ---\n  duration_ms: 7.609583\n  type: 'test'\n  ...\n# Subtest: copied inert files and all reviewed reference hashes match parent verification\nok 28 - copied inert files and all reviewed reference hashes match parent verification\n  ---\n  duration_ms: 1.055709\n  type: 'test'\n  ...\n# Subtest: all generated files match fresh in-memory generation byte for byte\nok 29 - all generated files match fresh in-memory generation byte for byte\n  ---\n  duration_ms: 16.173958\n  type: 'test'\n  ...\n# Subtest: manifest has scoped paths, concrete artifacts and reproducible root argv checks\nok 30 - manifest has scoped paths, concrete artifacts and reproducible root argv checks\n  ---\n  duration_ms: 0.254292\n  type: 'test'\n  ...\n1..30\n# tests 30\n# suites 0\n# pass 30\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 235.502375\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "projects/07-manufacturing/tests/verify_artifacts.py",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:12.028860+00:00",
          "durationSeconds": 0.0565,
          "exitCode": 0,
          "stdout": "Independent validation PASS: 6 closed manifold STL solids, 3 drawings/BOMs/ZIPs, 5 adversarial rejection controls, 40 artifact hashes.\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/07-manufacturing/tools/generate.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:12.085406+00:00",
          "durationSeconds": 0.0526,
          "exitCode": 0,
          "stdout": "Verified deterministic bytes of 41 original review artifacts across 3 configurations.\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/07-manufacturing/README.md",
          "bytes": 12679,
          "sha256": "f829844b24ba6750a53605b4dd38aaf82d06cda3d1ca09a76dce3b320aa09855"
        },
        {
          "path": "projects/07-manufacturing/archive.js",
          "bytes": 5608,
          "sha256": "a0f7caf41e89fba417046b116e449ade26daeebaa34d802351972e975b894452"
        },
        {
          "path": "projects/07-manufacturing/data/seed/LICENSE",
          "bytes": 1079,
          "sha256": "3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f"
        },
        {
          "path": "projects/07-manufacturing/data/source-provenance.json",
          "bytes": 9779,
          "sha256": "ff9ebc63293fa22850d0dc5158c68554da11e65202cc03d74fda8c7235a0411e"
        },
        {
          "path": "projects/07-manufacturing/engine.js",
          "bytes": 29570,
          "sha256": "25b74446b12969572c9f277e63d789442a81ea82da7ba3bee49e3072b13bde21"
        },
        {
          "path": "projects/07-manufacturing/evidence/mesh-validation.json",
          "bytes": 7648,
          "sha256": "2ec090e0dd12278e0633e5458c0d25eb8f2098dd723359fb30edaaca70482780"
        },
        {
          "path": "projects/07-manufacturing/evidence/result.json",
          "bytes": 8474,
          "sha256": "0bc726b20fac76877a5983128b26cbd1c85258d3a3c3c6696548d83fa67bfacf"
        },
        {
          "path": "projects/07-manufacturing/generated/artifact-index.json",
          "bytes": 8348,
          "sha256": "25b083eb5de2aa575ccabaff1d38d52831c79ab0e62ac84bb19e740ce0be0875"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/assembly.txt",
          "bytes": 3272,
          "sha256": "f1668543f68c578d48abcb3b218f76eb784e98ac4397669b53654eb447d4b70a"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/bom.csv",
          "bytes": 211,
          "sha256": "4bc5172c43dcc177fc74d8ddaf56e179f0e3274478078598d409ab95b32b5e53"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/drawing.svg",
          "bytes": 3314,
          "sha256": "f563588101579b896154b4dec4190837e4855185ea77e1b50caaae47ba9e604e"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/insert.stl",
          "bytes": 7637,
          "sha256": "089f753c24c844e3a2fa68fb3fc0b102b745ba9f3174d25803ff4d905e719607"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/inspection.csv",
          "bytes": 1013,
          "sha256": "716b5bd6c1576d52f031572182fab47978f99e2b2b245a947fc4827446464bca"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/parameters.json",
          "bytes": 2068,
          "sha256": "662f1240a503e83173263f874b35cc743ad6c917ad1378a911b09ac6b41e7d29"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/review-bundle.zip",
          "bytes": 112962,
          "sha256": "56b62285ebee052f5010c9e3689133f6996ede3960fe0bdd6150da6e419813d8"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/review.json",
          "bytes": 6509,
          "sha256": "8354f402b7a00620c11025c41e442c70bd820f680b3e98732b92cb5290d77541"
        },
        {
          "path": "projects/07-manufacturing/generated/compact/tray.stl",
          "bytes": 11295,
          "sha256": "0955ecd650e09d8c37a204503a29a8586f847dab5b2ed93c54239f244d4d4168"
        },
        {
          "path": "projects/07-manufacturing/generated/comparison.json",
          "bytes": 6017,
          "sha256": "cf2a334e066165b2ea4a3c6f42144fc42fba4e37269020cd4046cdc0759afee0"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/assembly.txt",
          "bytes": 3481,
          "sha256": "2500adf028800f331996412bd823518c459fb849a6508050da0f7476934544eb"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/bom.csv",
          "bytes": 213,
          "sha256": "e11d11dd6dc67217ff22c637aeb3cfa30c40e367ffef2c96b317b1abedc98ecc"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/drawing.svg",
          "bytes": 3517,
          "sha256": "980908f22e0360d7399ab8c44d94463ded029b9641914fdec85dc76dbf28d6e8"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/insert.stl",
          "bytes": 12695,
          "sha256": "34e9872a27a4316dae44a27c85a7ea3601ce4b1cc15da8205c9531630e41148c"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/inspection.csv",
          "bytes": 1015,
          "sha256": "92ff667e1bb37902084916349d4b27d00a2b57a657763a28e1ccbbe99cb532c4"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/parameters.json",
          "bytes": 2075,
          "sha256": "3a385a3a45e7d6b05df2d4b0a248bcdebbc7316c7e7954c925bb16e1ce8f6042"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/review-bundle.zip",
          "bytes": 122785,
          "sha256": "f002197852d13842f47a79adea687a7aae9e99a9ee7f91cce027026773122472"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/review.json",
          "bytes": 6698,
          "sha256": "cff5dd27b6e8be9dfbde03bcfdf37082dc63dc9e784ffe6c554d99a7452322ae"
        },
        {
          "path": "projects/07-manufacturing/generated/pocket-arcade/tray.stl",
          "bytes": 11361,
          "sha256": "45c77711b7a4a90a9423a999c3bb11dd5e2f8949d9c2dea5e8d655ef6c13f66e"
        },
        {
          "path": "projects/07-manufacturing/generated/seed-review.json",
          "bytes": 3243,
          "sha256": "20262c86f93fef15b1bd41fc4a47a535c9ff2b8d36ede6d2115135843e5e19fc"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/assembly.txt",
          "bytes": 3270,
          "sha256": "0711bd29351830614fe06fd0cbd1e9a5312b5f51d150d758672f854c37d7c1d5"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/bom.csv",
          "bytes": 215,
          "sha256": "8b50b7e626842785505ecf629b5e0a9774d07bb8a6e21f42686f2182de7963e3"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/drawing.svg",
          "bytes": 3523,
          "sha256": "2e9af32a8f53f6c4a22db6759d3cceef8410ec7b54b37fb954beb4c27626e4cb"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/insert.stl",
          "bytes": 14099,
          "sha256": "694eb6a9805dc6b3994d0faf59d9ff23f4aef9d66532f23f23915e62e30ecf59"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/inspection.csv",
          "bytes": 1015,
          "sha256": "3b9a43e9bb25d148b71f2bbce40471c6697c96cccd7d566f086eba867dd51184"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/parameters.json",
          "bytes": 2069,
          "sha256": "259747d570c14d31f2b75f2fdce157a2888f020fd90a443e9933f07f403c5925"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/review-bundle.zip",
          "bytes": 123377,
          "sha256": "84cc35becb3c44a264c2ff4a8eeb18a355acf223a99ab27635b29d7c56121769"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/review.json",
          "bytes": 6630,
          "sha256": "81d55c00bbb3cfe88a06f79e385b71f1d63baa0d50a909631f9b4f533a5c3f0d"
        },
        {
          "path": "projects/07-manufacturing/generated/stackline/tray.stl",
          "bytes": 11361,
          "sha256": "e9867703e41a622687824a50caec4cbcf6e9ec2caa55898067257428868816a6"
        },
        {
          "path": "projects/07-manufacturing/generated/synthetic-inspection.json",
          "bytes": 2916,
          "sha256": "ff5674e8a263af0c0d6c2ee45afb79bf74de1120e3636b786ece98765c10cb68"
        },
        {
          "path": "projects/07-manufacturing/generated/width-change-review.json",
          "bytes": 15374,
          "sha256": "cf09687d73c2b62e3f0c0a0f389a377e91a219dbc7613526f56fdd0c68d9fb84"
        },
        {
          "path": "projects/07-manufacturing/index.html",
          "bytes": 15444,
          "sha256": "679e88603de2bf41eaf7dccc9e71ba108b65fc956674f70a2892f703d55196a2"
        },
        {
          "path": "projects/07-manufacturing/manifest.json",
          "bytes": 5079,
          "sha256": "a22c4de25c8d32372bc50f87a04f08996c1711a3ebd30bbbcea73545c13fb537"
        }
      ]
    },
    {
      "id": "08-turnaround",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "node",
            "--test",
            "--test-reporter=tap",
            "projects/08-turnaround/tests/model.test.mjs",
            "projects/08-turnaround/tests/ui.test.mjs",
            "projects/08-turnaround/tests/artifacts.test.mjs"
          ],
          "startedAt": "2026-09-19T14:01:12.144189+00:00",
          "durationSeconds": 0.1723,
          "exitCode": 0,
          "stdout": "TAP version 13\n# Subtest: every frozen input/result and the file-protocol bundle reproduce byte-for-byte\nok 1 - every frozen input/result and the file-protocol bundle reproduce byte-for-byte\n  ---\n  duration_ms: 52.788125\n  type: 'test'\n  ...\n# Subtest: copied data hashes bind to the exact existing seed verification report\nok 2 - copied data hashes bind to the exact existing seed verification report\n  ---\n  duration_ms: 0.271833\n  type: 'test'\n  ...\n# Subtest: manifest is root-runnable, scoped and work-produced, with evidence created by the recorder\nok 3 - manifest is root-runnable, scoped and work-produced, with evidence created by the recorder\n  ---\n  duration_ms: 0.16375\n  type: 'test'\n  ...\n# Subtest: scope maps both ready tasks and all blocked work without pretending acceptance\nok 4 - scope maps both ready tasks and all blocked work without pretending acceptance\n  ---\n  duration_ms: 0.384667\n  type: 'test'\n  ...\n# Subtest: HTML uses shared local styles and relative resources only; controls have unique IDs\nok 5 - HTML uses shared local styles and relative resources only; controls have unique IDs\n  ---\n  duration_ms: 0.25575\n  type: 'test'\n  ...\n# Subtest: runtime is original local code, with no network APIs, storage, eval or copied executable files\nok 6 - runtime is original local code, with no network APIs, storage, eval or copied executable files\n  ---\n  duration_ms: 0.902292\n  type: 'test'\n  ...\n# Subtest: frozen runs remain conditional and include no native initialization or external effects\nok 7 - frozen runs remain conditional and include no native initialization or external effects\n  ---\n  duration_ms: 0.619542\n  type: 'test'\n  ...\n# Subtest: all nine copied inert data/license files match exact seed hashes\nok 8 - all nine copied inert data/license files match exact seed hashes\n  ---\n  duration_ms: 0.662333\n  type: 'test'\n  ...\n# Subtest: decimal money parsing rejects rounding, negatives and unsafe values\nok 9 - decimal money parsing rejects rounding, negatives and unsafe values\n  ---\n  duration_ms: 0.136833\n  type: 'test'\n  ...\n# Subtest: reviewed CSV parser rejects duplicate headers, wrong widths and quoted formats\nok 10 - reviewed CSV parser rejects duplicate headers, wrong widths and quoted formats\n  ---\n  duration_ms: 0.341291\n  type: 'test'\n  ...\n# Subtest: 15-row ledger, subscriptions and incremental reserves reconcile independently\nok 11 - 15-row ledger, subscriptions and incremental reserves reconcile independently\n  ---\n  duration_ms: 0.7755\n  type: 'test'\n  ...\n# Subtest: cash reconciliation rejects duplicates, bad directions, dates and billing mismatches\nok 12 - cash reconciliation rejects duplicates, bad directions, dates and billing mismatches\n  ---\n  duration_ms: 0.679292\n  type: 'test'\n  ...\n# Subtest: seed scenario difference is $1,700, not invented sales\nok 13 - seed scenario difference is $1,700, not invented sales\n  ---\n  duration_ms: 0.064333\n  type: 'test'\n  ...\n# Subtest: backlog impact retains twelve tickets, four urgent and a blocked urgent without revenue attribution\nok 14 - backlog impact retains twelve tickets, four urgent and a blocked urgent without revenue attribution\n  ---\n  duration_ms: 0.278625\n  type: 'test'\n  ...\n# Subtest: original non-preemptive selector reproduces 420-minute seed-data expectation\nok 15 - original non-preemptive selector reproduces 420-minute seed-data expectation\n  ---\n  duration_ms: 0.09925\n  type: 'test'\n  ...\n# Subtest: zero capacity, invalid budgets, unknown severity and duplicate tickets are explicit\nok 16 - zero capacity, invalid budgets, unknown severity and duplicate tickets are explicit\n  ---\n  duration_ms: 0.144541\n  type: 'test'\n  ...\n# Subtest: ties are stable by ID, closed and blocked rows cannot be selected\nok 17 - ties are stable by ID, closed and blocked rows cannot be selected\n  ---\n  duration_ms: 0.1195\n  type: 'test'\n  ...\n# Subtest: calendar days are UTC-stable and working-day readiness respects weekends\nok 18 - calendar days are UTC-stable and working-day readiness respects weekends\n  ---\n  duration_ms: 0.460375\n  type: 'test'\n  ...\n# Subtest: prerequisites and readiness cannot be skipped to get an instant support benefit\nok 19 - prerequisites and readiness cannot be skipped to get an instant support benefit\n  ---\n  duration_ms: 0.234792\n  type: 'test'\n  ...\n# Subtest: total budgets cannot be replenished by spreading actions across weeks\nok 20 - total budgets cannot be replenished by spreading actions across weeks\n  ---\n  duration_ms: 0.102583\n  type: 'test'\n  ...\n# Subtest: daily capacity matters even when the total review budget fits\nok 21 - daily capacity matters even when the total review budget fits\n  ---\n  duration_ms: 0.095542\n  type: 'test'\n  ...\n# Subtest: candidate resources reconcile with every daily allocation and compete with a full support slice\nok 22 - candidate resources reconcile with every daily allocation and compete with a full support slice\n  ---\n  duration_ms: 0.159416\n  type: 'test'\n  ...\n# Subtest: cost reductions wait for lead time and never cancel an existing full-cycle bill\nok 23 - cost reductions wait for lead time and never cancel an existing full-cycle bill\n  ---\n  duration_ms: 0.618208\n  type: 'test'\n  ...\n# Subtest: failed consent keeps sunk fees and resource use but removes all cost benefits\nok 24 - failed consent keeps sunk fees and resource use but removes all cost benefits\n  ---\n  duration_ms: 1.147125\n  type: 'test'\n  ...\n# Subtest: invalid action proposals are rejected explicitly, not applied partially or silently rescued\nok 25 - invalid action proposals are rejected explicitly, not applied partially or silently rescued\n  ---\n  duration_ms: 0.553416\n  type: 'test'\n  ...\n# Subtest: payables are paid only once and reserve releases do not create receipts\nok 26 - payables are paid only once and reserve releases do not create receipts\n  ---\n  duration_ms: 0.296416\n  type: 'test'\n  ...\n# Subtest: deferring a bill preserves principal/reserves, adds an irreversible fee and reduces support capacity\nok 27 - deferring a bill preserves principal/reserves, adds an irreversible fee and reduces support capacity\n  ---\n  duration_ms: 0.529583\n  type: 'test'\n  ...\n# Subtest: deferral beyond a short horizon is still reserved, and failed consent or a late attempt cannot erase the bill\nok 28 - deferral beyond a short horizon is still reserved, and failed consent or a late attempt cannot erase the bill\n  ---\n  duration_ms: 0.690166\n  type: 'test'\n  ...\n# Subtest: receipt acceleration splits the same cycle pool with unique IDs; no duplicated or new sales\nok 29 - receipt acceleration splits the same cycle pool with unique IDs; no duplicated or new sales\n  ---\n  duration_ms: 0.322542\n  type: 'test'\n  ...\n# Subtest: late collection readiness and failed receipt consent cannot retrospectively accelerate receipts\nok 30 - late collection readiness and failed receipt consent cannot retrospectively accelerate receipts\n  ---\n  duration_ms: 0.263792\n  type: 'test'\n  ...\n# Subtest: receipt delays conserve every cent, including out-of-window receipts, without shifting outflows\nok 31 - receipt delays conserve every cent, including out-of-window receipts, without shifting outflows\n  ---\n  duration_ms: 0.632042\n  type: 'test'\n  ...\n# Subtest: weaker demand removes receipts, not costs, and odd splits remain integer cents\nok 32 - weaker demand removes receipts, not costs, and odd splits remain integer cents\n  ---\n  duration_ms: 0.603834\n  type: 'test'\n  ...\n# Subtest: cash reconciles at every event/day and stress is deterministic, without mutating inputs\nok 33 - cash reconciles at every event/day and stress is deterministic, without mutating inputs\n  ---\n  duration_ms: 2.882833\n  type: 'test'\n  ...\n# Subtest: lumpy baseline fails earlier than smoothed runway; obligations precede same-day receipts\nok 34 - lumpy baseline fails earlier than smoothed runway; obligations precede same-day receipts\n  ---\n  duration_ms: 0.26525\n  type: 'test'\n  ...\n# Subtest: intraday failure is retained even when same-day receipts leave a positive endpoint\nok 35 - intraday failure is retained even when same-day receipts leave a positive endpoint\n  ---\n  duration_ms: 0.433958\n  type: 'test'\n  ...\n# Subtest: floor equality and zero cash equality are safe at the boundary; one cent less is not\nok 36 - floor equality and zero cash equality are safe at the boundary; one cent less is not\n  ---\n  duration_ms: 0.554042\n  type: 'test'\n  ...\n# Subtest: earliest forecast warning is day zero; rolling warnings are a distinct lead-time clock\nok 37 - earliest forecast warning is day zero; rolling warnings are a distinct lead-time clock\n  ---\n  duration_ms: 1.160625\n  type: 'test'\n  ...\n# Subtest: invalid/unknown assumptions and action IDs cannot sneak in financing or unbounded values\nok 38 - invalid/unknown assumptions and action IDs cannot sneak in financing or unbounded values\n  ---\n  duration_ms: 0.371875\n  type: 'test'\n  ...\n# Subtest: small documented search evaluates 128 choices, rejects infeasibility and finds no full rescue\nok 39 - small documented search evaluates 128 choices, rejects infeasibility and finds no full rescue\n  ---\n  duration_ms: 30.688792\n  type: 'test'\n  ...\n# Subtest: five frozen experiment outcomes include combined stress and retain the same candidate\nok 40 - five frozen experiment outcomes include combined stress and retain the same candidate\n  ---\n  duration_ms: 47.379333\n  type: 'test'\n  ...\n# Subtest: display money preserves cents and rejects non-money; all dynamic text can be escaped\nok 41 - display money preserves cents and rejects non-money; all dynamic text can be escaped\n  ---\n  duration_ms: 9.580375\n  type: 'test'\n  ...\n# Subtest: weekly display aggregates every daily receipt/outflow once and retains intraday minimum\nok 42 - weekly display aggregates every daily receipt/outflow once and retains intraday minimum\n  ---\n  duration_ms: 2.239\n  type: 'test'\n  ...\n# Subtest: chart has accessible descriptions and distinguishes floor, troughs and counterfactual cash\nok 43 - chart has accessible descriptions and distinguishes floor, troughs and counterfactual cash\n  ---\n  duration_ms: 0.910791\n  type: 'test'\n  ...\n# Subtest: file protocol loads only the original classic fallback; local HTTP loads ES modules\nok 44 - file protocol loads only the original classic fallback; local HTTP loads ES modules\n  ---\n  duration_ms: 1.884959\n  type: 'test'\n  ...\n# Subtest: original offline UI boots with failure visible, rather than a claimed successful recovery\nok 45 - original offline UI boots with failure visible, rather than a claimed successful recovery\n  ---\n  duration_ms: 9.390584\n  type: 'test'\n  ...\n# Subtest: scenario buttons wire delayed and combined stress into the actual model\nok 46 - scenario buttons wire delayed and combined stress into the actual model\n  ---\n  duration_ms: 11.736916\n  type: 'test'\n  ...\n# Subtest: action toggles make capacity conflicts explicit and clear all unearned benefits\nok 47 - action toggles make capacity conflicts explicit and clear all unearned benefits\n  ---\n  duration_ms: 8.504625\n  type: 'test'\n  ...\n# Subtest: consent switches remove benefits but retain irreversible start fees\nok 48 - consent switches remove benefits but retain irreversible start fees\n  ---\n  duration_ms: 7.821417\n  type: 'test'\n  ...\n# Subtest: custom assumption sliders update model results; reset restores the frozen candidate\nok 49 - custom assumption sliders update model results; reset restores the frozen candidate\n  ---\n  duration_ms: 17.12125\n  type: 'test'\n  ...\n# Subtest: invalid start input clears stale output and a valid correction recomputes it\nok 50 - invalid start input clears stale output and a valid correction recomputes it\n  ---\n  duration_ms: 9.691667\n  type: 'test'\n  ...\n# Subtest: day inspection and daily table are wired, including counterfactual status after failure\nok 51 - day inspection and daily table are wired, including counterfactual status after failure\n  ---\n  duration_ms: 14.620875\n  type: 'test'\n  ...\n1..51\n# tests 51\n# suites 0\n# pass 51\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 143.943875\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/08-turnaround/scripts/build.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:12.316461+00:00",
          "durationSeconds": 0.0796,
          "exitCode": 0,
          "stdout": "{\n  \"mode\": \"--check\",\n  \"status\": \"passed\",\n  \"generatedArtifacts\": 8,\n  \"verifiedCopiedDataFiles\": 9,\n  \"candidateId\": \"early-010111\",\n  \"strategies\": 128,\n  \"resourceValid\": 49,\n  \"floorAndFundingSurvivors\": 0,\n  \"scenarios\": [\n    {\n      \"id\": \"baseline\",\n      \"firstFloorDay\": 28,\n      \"firstUnfundedDay\": 59,\n      \"finalScheduledCashCents\": -10000\n    },\n    {\n      \"id\": \"recovery\",\n      \"firstFloorDay\": 58,\n      \"firstUnfundedDay\": 90,\n      \"finalScheduledCashCents\": 245000\n    },\n    {\n      \"id\": \"delayed-receipts\",\n      \"firstFloorDay\": 28,\n      \"firstUnfundedDay\": 59,\n      \"finalScheduledCashCents\": -262500\n    },\n    {\n      \"id\": \"weaker-demand\",\n      \"firstFloorDay\": 30,\n      \"firstUnfundedDay\": 88,\n      \"finalScheduledCashCents\": -625000\n    },\n    {\n      \"id\": \"combined-stress\",\n      \"firstFloorDay\": 28,\n      \"firstUnfundedDay\": 58,\n      \"finalScheduledCashCents\": -1031000\n    }\n  ]\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/08-turnaround/scripts/evidence.mjs",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:12.396071+00:00",
          "durationSeconds": 0.0329,
          "exitCode": 0,
          "stdout": "{\n  \"status\": \"passed\",\n  \"checkedArtifacts\": 39,\n  \"sourceFilesMatched\": 9,\n  \"tests\": 51,\n  \"artifactSetSha256\": \"29bd1159e30f6906f4be4060ffc6eb4361fe7a2b486bd443f6b24a8c966e12aa\"\n}\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/08-turnaround/README.md",
          "bytes": 15213,
          "sha256": "87600886955fd973eb8a29a73ed8a765de703e5c4fb88992abccd804a4928674"
        },
        {
          "path": "projects/08-turnaround/app.mjs",
          "bytes": 23980,
          "sha256": "f40f6eff7f973dd316caeb446eb2a11f841543c464c14de5cffebfc3af7919d3"
        },
        {
          "path": "projects/08-turnaround/data/assumptions.json",
          "bytes": 7763,
          "sha256": "bd1c39b26f8c98724d458cf045b810a003455e906c1d80c8253703c65f261375"
        },
        {
          "path": "projects/08-turnaround/data/attribution.json",
          "bytes": 4511,
          "sha256": "e91e0f94eda9ba392da0a48629f87db07b2730efc2706199c975b7f0a571dd2c"
        },
        {
          "path": "projects/08-turnaround/data/inputs.json",
          "bytes": 22963,
          "sha256": "eaf6265d5abe77334427eb1989962cbc9a353c56e6eeacdcb5db4acb20ea3f33"
        },
        {
          "path": "projects/08-turnaround/data/reference/LICENSE",
          "bytes": 1079,
          "sha256": "3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f"
        },
        {
          "path": "projects/08-turnaround/data/scenarios.json",
          "bytes": 2663,
          "sha256": "fa0ac52ebce67adb4f38e16aaae6aa91f5c752d4ebc097f53ac58cbc7e215a90"
        },
        {
          "path": "projects/08-turnaround/data/scope.json",
          "bytes": 5227,
          "sha256": "03f69e406f4e51e863065d3f5359c392654a333e6c6e51c4256545a69a3e7ccd"
        },
        {
          "path": "projects/08-turnaround/evidence/build-check.json",
          "bytes": 1152,
          "sha256": "8a0b22c746fb026407c5998bf8a591fc6a8ecb4534336853fdfbec8e531183f5"
        },
        {
          "path": "projects/08-turnaround/evidence/result.json",
          "bytes": 18397,
          "sha256": "9d048cc858c669fe7c62ce988032d298407076fdad461887cfb614d7f901bbdf"
        },
        {
          "path": "projects/08-turnaround/evidence/tests.tap",
          "bytes": 12128,
          "sha256": "a4b24fa598353039f44f0e495d24dc2c8645925cd21d80a33888f76608ed7073"
        },
        {
          "path": "projects/08-turnaround/index.html",
          "bytes": 11658,
          "sha256": "8c1d00d807f81508dbd75090b947d61cc7ffa2443d102215dcef6fdeba69d331"
        },
        {
          "path": "projects/08-turnaround/manifest.json",
          "bytes": 2944,
          "sha256": "810500577ec72a944a84471c542db1a7edc6c7c700b9b49ac934c396f1234f93"
        },
        {
          "path": "projects/08-turnaround/model.mjs",
          "bytes": 28164,
          "sha256": "f482d2bcc616bba534b5f4d4aca7fbe55263b747405bdab4a27d40b35f113b9c"
        },
        {
          "path": "projects/08-turnaround/offline.js",
          "bytes": 141304,
          "sha256": "b4f3e574151932e429b716b4582116a0dc41a8aade916beb01f756f012cd530f"
        },
        {
          "path": "projects/08-turnaround/results/backlog.json",
          "bytes": 5278,
          "sha256": "402bf7f52f22a3ea50308ff5b4bbd945e26cdeb5c4e091fcd04df1022314b6e6"
        },
        {
          "path": "projects/08-turnaround/results/reconciliation.json",
          "bytes": 1754,
          "sha256": "be126d66f67f3dbf6a0e226cdb7b924a4aa5f455597c6627044112d482353624"
        },
        {
          "path": "projects/08-turnaround/results/scenarios.json",
          "bytes": 319286,
          "sha256": "2f5450ba663b797d87d91c48dd5c5b4a7365ba537ed02fb3f963ecd8c55b6dbc"
        },
        {
          "path": "projects/08-turnaround/results/strategy-search.json",
          "bytes": 158486,
          "sha256": "9928415aaee0f20d68d80fdc6fd2688510d4f834d73ba47a62dd1e8336bd0da8"
        },
        {
          "path": "projects/08-turnaround/results/thresholds.json",
          "bytes": 52770,
          "sha256": "00dd5f4e3ef3d7e20869e8c7c56b1e5c5e351cff632e6cf97a9aeaa5650f95b4"
        },
        {
          "path": "projects/08-turnaround/view-model.mjs",
          "bytes": 4601,
          "sha256": "1aedad410ef1eca6fc5bfb219258c0e58de249d2e177ab4d4f1e295ba12bc62c"
        }
      ]
    },
    {
      "id": "09-handoff",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "python3",
            "-B",
            "projects/09-handoff/tools/verify_inputs.py"
          ],
          "startedAt": "2026-09-19T14:01:12.433042+00:00",
          "durationSeconds": 0.0238,
          "exitCode": 0,
          "stdout": "{\n  \"preserved_historical_inputs\": 6,\n  \"unchanged_original_source_and_tests\": 4,\n  \"changed_or_missing\": [],\n  \"qualification\": \"Redacted execution records are not claimed to match private original bytes.\"\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "-B",
            "projects/09-handoff/tools/check_acceptance.py"
          ],
          "startedAt": "2026-09-19T14:01:12.456824+00:00",
          "durationSeconds": 0.0285,
          "exitCode": 0,
          "stdout": "{\n  \"cases\": [\n    {\n      \"actual\": {\n        \"closed_items\": 1,\n        \"event_count\": 3,\n        \"items\": [\n          {\n            \"event_count\": 2,\n            \"item_id\": \"arcade-cache\",\n            \"last_minute\": 19,\n            \"state\": \"closed\"\n          },\n          {\n            \"event_count\": 1,\n            \"item_id\": \"arcade-input\",\n            \"last_minute\": 11,\n            \"state\": \"open\"\n          }\n        ],\n        \"open_items\": 1\n      },\n      \"expected\": {\n        \"closed_items\": 1,\n        \"event_count\": 3,\n        \"items\": [\n          {\n            \"event_count\": 2,\n            \"item_id\": \"arcade-cache\",\n            \"last_minute\": 19,\n            \"state\": \"closed\"\n          },\n          {\n            \"event_count\": 1,\n            \"item_id\": \"arcade-input\",\n            \"last_minute\": 11,\n            \"state\": \"open\"\n          }\n        ],\n        \"open_items\": 1\n      },\n      \"fixture\": \"fixtures/clean.jsonl\",\n      \"id\": \"clean\",\n      \"input_sha256\": \"0af0e109cda8b97681a3f74dfed464761bc42ef2d118ce44f1c36a544d6654bf\",\n      \"passed\": true\n    },\n    {\n      \"actual\": {\n        \"closed_items\": 1,\n        \"event_count\": 3,\n        \"items\": [\n          {\n            \"event_count\": 2,\n            \"item_id\": \"arcade-cache\",\n            \"last_minute\": 19,\n            \"state\": \"closed\"\n          },\n          {\n            \"event_count\": 1,\n            \"item_id\": \"arcade-input\",\n            \"last_minute\": 11,\n            \"state\": \"open\"\n          }\n        ],\n        \"open_items\": 1\n      },\n      \"expected\": {\n        \"closed_items\": 1,\n        \"event_count\": 3,\n        \"items\": [\n          {\n            \"event_count\": 2,\n            \"item_id\": \"arcade-cache\",\n            \"last_minute\": 19,\n            \"state\": \"closed\"\n          },\n          {\n            \"event_count\": 1,\n            \"item_id\": \"arcade-input\",\n            \"last_minute\": 11,\n            \"state\": \"open\"\n          }\n        ],\n        \"open_items\": 1\n      },\n      \"fixture\": \"fixtures/duplicate.jsonl\",\n      \"id\": \"duplicate\",\n      \"input_sha256\": \"ca1f5c0591cfe5dc4c7b2d713f4efe4e58a6cf58270683d84f2bd4248048b040\",\n      \"passed\": true\n    },\n    {\n      \"actual\": {\n        \"closed_items\": 1,\n        \"event_count\": 3,\n        \"items\": [\n          {\n            \"event_count\": 2,\n            \"item_id\": \"arcade-cache\",\n            \"last_minute\": 19,\n            \"state\": \"closed\"\n          },\n          {\n            \"event_count\": 1,\n            \"item_id\": \"arcade-input\",\n            \"last_minute\": 11,\n            \"state\": \"open\"\n          }\n        ],\n        \"open_items\": 1\n      },\n      \"expected\": {\n        \"closed_items\": 1,\n        \"event_count\": 3,\n        \"items\": [\n          {\n            \"event_count\": 2,\n            \"item_id\": \"arcade-cache\",\n            \"last_minute\": 19,\n            \"state\": \"closed\"\n          },\n          {\n            \"event_count\": 1,\n            \"item_id\": \"arcade-input\",\n            \"last_minute\": 11,\n            \"state\": \"open\"\n          }\n        ],\n        \"open_items\": 1\n      },\n      \"fixture\": \"fixtures/out-of-order.jsonl\",\n      \"id\": \"out-of-order\",\n      \"input_sha256\": \"02a242cbcf4b0b7dab25ed13e9c2b0f03acf090377c2a3d7e6cc7f08226ace6c\",\n      \"passed\": true\n    }\n  ],\n  \"failed\": 0,\n  \"passed\": 3,\n  \"schema\": \"handoff-strict-acceptance/1\",\n  \"seed_issue\": \"ll-duplicate\"\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "-B",
            "-m",
            "unittest",
            "discover",
            "-s",
            "projects/09-handoff/tests",
            "-p",
            "test_ledger.py",
            "-v"
          ],
          "startedAt": "2026-09-19T14:01:12.485362+00:00",
          "durationSeconds": 0.151,
          "exitCode": 0,
          "stdout": "",
          "stderr": "test_byte_line_and_record_limits (test_ledger.LedgerTests) ... ok\ntest_clean_contract (test_ledger.LedgerTests) ... ok\ntest_cli_is_offline_and_reports_errors (test_ledger.LedgerTests) ... ok\ntest_conflict_late_in_input_is_not_hidden (test_ledger.LedgerTests) ... ok\ntest_conflicting_ids_rejected_for_every_payload_field (test_ledger.LedgerTests) ... ok\ntest_direct_summary_requires_bounded_receipts (test_ledger.LedgerTests) ... ok\ntest_distinct_ids_with_identical_payloads_count_separately (test_ledger.LedgerTests) ... ok\ntest_empty_blank_and_close_only_inputs (test_ledger.LedgerTests) ... ok\ntest_equal_minute_uses_event_id (test_ledger.LedgerTests) ... ok\ntest_identical_replay_is_not_additional_work (test_ledger.LedgerTests) ... ok\ntest_identifier_and_minute_bounds (test_ledger.LedgerTests) ... ok\ntest_input_and_returned_results_are_not_shared (test_ledger.LedgerTests) ... ok\ntest_maintenance_artifact_counts_raw_and_replayed_records (test_ledger.LedgerTests) ... ok\ntest_maintenance_artifact_has_no_release_authority (test_ledger.LedgerTests) ... ok\ntest_order_is_already_deterministic (test_ledger.LedgerTests) ... ok\ntest_replays_of_each_event_are_idempotent_in_every_order (test_ledger.LedgerTests) ... ok\ntest_selected_file_reader (test_ledger.LedgerTests) ... ok\ntest_strict_json_shape_and_duplicate_keys (test_ledger.LedgerTests) ... ok\ntest_validation_does_not_skip_repeated_record_payloads (test_ledger.LedgerTests) ... ok\n\n----------------------------------------------------------------------\nRan 19 tests in 0.113s\n\nOK\n"
        },
        {
          "argv": [
            "python3",
            "-B",
            "projects/09-handoff/tools/build_demo.py",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:12.636404+00:00",
          "durationSeconds": 0.0559,
          "exitCode": 0,
          "stdout": "{\n  \"mode\": \"read-only-check\",\n  \"outputs\": [\n    \"projects/09-handoff/replay-data.js\",\n    \"projects/09-handoff/artifacts/pocket-arcade-maintenance.json\"\n  ],\n  \"mismatches\": []\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--test",
            "projects/09-handoff/tests/replay.test.cjs"
          ],
          "startedAt": "2026-09-19T14:01:12.692345+00:00",
          "durationSeconds": 0.0724,
          "exitCode": 0,
          "stdout": "\u2714 bundle contains the exact observed frames, not a second reducer (1.86875ms)\n\u2714 initial view shows the actual 4-to-3 final defect outcome without autoplay (0.356417ms)\n\u2714 reset and stepping expose the repeated receipt without changing the records (0.363833ms)\n\u2714 replay pauses, resumes, and clears its timer at the final receipt (0.433958ms)\n\u2714 case switching stops playback and preserves the already-passing ordering case (0.338417ms)\n\u2714 unknown case values fall back to the recorded duplicate case (0.285792ms)\n\u2714 reduced-motion preference displays the final record without animation (0.309958ms)\n\u2714 missing local data disables controls and does not invent an execution (0.199875ms)\n\u2714 maintenance export is the real CLI shape bound to the tested input (0.460375ms)\n\u2714 presentation has semantic controls, labels, local resources and no network APIs (0.384375ms)\n\u2714 the page and replay distinguish historical hashes from withheld private identity (0.357958ms)\n\u2714 reset cancels active playback and both displayed summaries are machine-readable (0.328416ms)\n\u2139 tests 12\n\u2139 suites 0\n\u2139 pass 12\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 44.361917\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "-B",
            "-m",
            "unittest",
            "discover",
            "-s",
            "projects/09-handoff/tests",
            "-p",
            "test_public_projection.py",
            "-v"
          ],
          "startedAt": "2026-09-19T14:01:12.764776+00:00",
          "durationSeconds": 0.0899,
          "exitCode": 0,
          "stdout": "",
          "stderr": "test_a_success_flag_cannot_hide_the_original_failure (test_public_projection.PublicProjectionTests) ... ok\ntest_absolute_paths_detected_after_json_decoding (test_public_projection.PublicProjectionTests) ... ok\ntest_acceptance_target_tampering_is_rejected (test_public_projection.PublicProjectionTests) ... ok\ntest_all_payload_files_have_no_private_metadata (test_public_projection.PublicProjectionTests) ... ok\ntest_capture_cannot_overwrite_or_impersonate_historical_phases (test_public_projection.PublicProjectionTests) ... ok\ntest_identifier_detection_in_embedded_json (test_public_projection.PublicProjectionTests) ... ok\ntest_integrity_detects_changed_bytes_and_added_files (test_public_projection.PublicProjectionTests) ... ok\ntest_new_capture_retains_failed_command_codes_and_portable_roots (test_public_projection.PublicProjectionTests) ... ok\ntest_numerical_observation_tampering_is_rejected (test_public_projection.PublicProjectionTests) ... ok\ntest_operational_fields_are_not_public_summary_fields (test_public_projection.PublicProjectionTests) ... ok\ntest_original_midpoint_still_fails_the_unchanged_duplicate_target (test_public_projection.PublicProjectionTests) ... ok\ntest_paths_cannot_escape_the_project (test_public_projection.PublicProjectionTests) ... ok\ntest_traceback_rebasing_discloses_the_transformation (test_public_projection.PublicProjectionTests) ... ok\ntest_unknown_private_path_aborts_capture (test_public_projection.PublicProjectionTests) ... ok\n\n----------------------------------------------------------------------\nRan 14 tests in 0.028s\n\nOK\n"
        },
        {
          "argv": [
            "python3",
            "-B",
            "projects/09-handoff/tools/verify_evidence.py"
          ],
          "startedAt": "2026-09-19T14:01:12.854683+00:00",
          "durationSeconds": 0.0719,
          "exitCode": 0,
          "stdout": "{\n  \"status\": \"pass\",\n  \"current_public_files_bound\": 55,\n  \"preserved_original_inputs\": 6,\n  \"historical_duplicate_behavior\": \"4 events before; 3 after; one replay\",\n  \"historical_frames_reproduced_from_included_source\": true,\n  \"fresh_publication_commands\": 6,\n  \"historical_invocation_reverification\": \"Not possible publicly; private invocation metadata is withheld.\",\n  \"qualification\": \"Public byte/behavior consistency, not new continuation evidence or an identity attestation.\"\n}\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/09-handoff/ACCEPTANCE.json",
          "bytes": 2037,
          "sha256": "aa14e38494a5dcc07784e09bb0d47568febf8201545186b23828aa29d4f62dc4"
        },
        {
          "path": "projects/09-handoff/HANDOFF.md",
          "bytes": 4529,
          "sha256": "9cc24b856b88313d8f271904b447c1a76711b2c7ced39b69109e9dfb4108abc3"
        },
        {
          "path": "projects/09-handoff/artifacts/maintenance-contract.json",
          "bytes": 2478,
          "sha256": "ddb6c093c9b3c82a84cb7078ffa8471572a9488b6a7ee3c515a7dcb98473b99f"
        },
        {
          "path": "projects/09-handoff/artifacts/pocket-arcade-maintenance.json",
          "bytes": 694,
          "sha256": "8e2a9b88295a2e544b652271154fb6330557c41281a33391052b347b61f8c618"
        },
        {
          "path": "projects/09-handoff/cli.py",
          "bytes": 843,
          "sha256": "0ad68cb860a899670b81c3f3ff8643985b2152903b29d69fa660c7ec3d5a2744"
        },
        {
          "path": "projects/09-handoff/evidence/after.json",
          "bytes": 14849,
          "sha256": "201aa38bcde353e1923bf92a8c2cd1d4ea8e625d4ea754e338fc2b462f6f7084"
        },
        {
          "path": "projects/09-handoff/evidence/before.json",
          "bytes": 14884,
          "sha256": "5153692a37afe981e19cb9f98b24623f86b3bf8037bb35576b925801c4035646"
        },
        {
          "path": "projects/09-handoff/evidence/continuation-baseline.json",
          "bytes": 8325,
          "sha256": "187ebb530c333312aadac7dadf3d1b5f8e2644feae1c6f3f0257a3713e056db8"
        },
        {
          "path": "projects/09-handoff/evidence/continuation.json",
          "bytes": 14884,
          "sha256": "24433b15f8ca50c47548a8e41c13cca1a095f0b9b9d17146237cd03dd149d46c"
        },
        {
          "path": "projects/09-handoff/evidence/historical-continuation.json",
          "bytes": 3716,
          "sha256": "965c9c1eb0a1c99036ad638444792ad45bfbe4321ae841cd87d8e782316032b6"
        },
        {
          "path": "projects/09-handoff/evidence/input-hashes.json",
          "bytes": 4851,
          "sha256": "225ea0ba49f3cd830eb40d9ae943e5e44b0f5c5b85b2ebbe84e28b441db9d270"
        },
        {
          "path": "projects/09-handoff/evidence/midpoint-receipt-ledger.py",
          "bytes": 5999,
          "sha256": "e18cc559250d313f8e2161a61e83c663e7a4678330f2ab0e729ee228753e49d8"
        },
        {
          "path": "projects/09-handoff/evidence/package-checks.json",
          "bytes": 14564,
          "sha256": "94937b27177d63b229a40cc38d45915dc6c80c27a1f500ab7128f48650184324"
        },
        {
          "path": "projects/09-handoff/evidence/public-integrity.json",
          "bytes": 10285,
          "sha256": "4391a0d6c28b47fb5c9e9fbd3a926fb82e897b25c68c170801f32509a276c837"
        },
        {
          "path": "projects/09-handoff/evidence/recovery.json",
          "bytes": 3200,
          "sha256": "a03d3ef0484e4cd5ce99f1f6eef23fb4dca8d6fcde1b65e1b69e9aafad70d594"
        },
        {
          "path": "projects/09-handoff/evidence/repair.diff",
          "bytes": 239,
          "sha256": "e6801fcd1bb4c73348f5787de6718b1fe664808a92339b20a2e1638ec1a93b62"
        },
        {
          "path": "projects/09-handoff/evidence/result.json",
          "bytes": 7466,
          "sha256": "5ce58892864d37f27614e11448c5c6ca45352361d1b7b660753e2b87ee59967f"
        },
        {
          "path": "projects/09-handoff/fixtures/duplicate.jsonl",
          "bytes": 476,
          "sha256": "ca1f5c0591cfe5dc4c7b2d713f4efe4e58a6cf58270683d84f2bd4248048b040"
        },
        {
          "path": "projects/09-handoff/index.html",
          "bytes": 14680,
          "sha256": "5354cdeeafbaa4da03c48ee2dc8806c7b722ef6395d121b122ca0fbdd07aa020"
        },
        {
          "path": "projects/09-handoff/manifest.json",
          "bytes": 3648,
          "sha256": "d33edc9dc7c6346f52c8be7767f3a18d62fa69e0539744e7f33e1688d26084f8"
        },
        {
          "path": "projects/09-handoff/provenance.json",
          "bytes": 6180,
          "sha256": "47e655e128dafeb9262c9c4ba0b720e35c808218c06474a3864b0bc9a07e645a"
        },
        {
          "path": "projects/09-handoff/receipt_ledger.py",
          "bytes": 6010,
          "sha256": "9049da2028504b0f6e4940d589db74ab1f42eecd1042eee504518e01d87acdc2"
        }
      ]
    },
    {
      "id": "10-pocket-arcade",
      "status": "passed",
      "commands": [
        {
          "argv": [
            "python3",
            "-B",
            "-m",
            "unittest",
            "discover",
            "-s",
            "projects/10-pocket-arcade/tests",
            "-p",
            "test_*.py",
            "-v"
          ],
          "startedAt": "2026-09-19T14:01:12.933124+00:00",
          "durationSeconds": 0.6901,
          "exitCode": 0,
          "stdout": "",
          "stderr": "test_game_cannot_hide_a_failed_replay (test_consume.ConsumerFixtureTests) ... ok\ntest_game_checks_do_not_coerce_a_boolean_test_count (test_consume.ConsumerFixtureTests) ... ok\ntest_game_score_must_match_its_exact_result_field (test_consume.ConsumerFixtureTests) ... ok\ntest_geometry_gate_never_relabels_a_real_physical_claim (test_consume.ConsumerFixtureTests) ... ok\ntest_geometry_parameters_cannot_disagree_with_review (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_cannot_claim_private_identity_was_publicly_reverified (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_cannot_depend_on_private_git_objects (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_must_not_rewrite_the_failed_midpoint_as_pass (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_rejects_an_unrelated_input_hash (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_rejects_double_counting (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_rejects_old_private_result_schema (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_requires_all_current_privacy_targets (test_consume.ConsumerFixtureTests) ... ok\ntest_maintenance_requires_the_derived_history_label (test_consume.ConsumerFixtureTests) ... ok\ntest_marked_test_root_cannot_emit_real_binding_outputs (test_consume.ConsumerFixtureTests) ... ok\ntest_planner_cannot_call_an_unverified_proposal_feasible (test_consume.ConsumerFixtureTests) ... ok\ntest_planner_cost_fields_are_not_boolean_counters (test_consume.ConsumerFixtureTests) ... ok\ntest_planner_model_cannot_grant_owner_approval (test_consume.ConsumerFixtureTests) ... ok\ntest_planner_rejects_a_duplicate_task_in_the_witness (test_consume.ConsumerFixtureTests) ... ok\ntest_planner_rejects_a_partial_schedule_for_the_infeasible_baseline (test_consume.ConsumerFixtureTests) ... ok\ntest_planner_rejects_unmatched_adversarial_evidence (test_consume.ConsumerFixtureTests) ... ok\ntest_selected_extension_cannot_silently_shorten_a_task (test_consume.ConsumerFixtureTests) ... ok\ntest_toy_game_shape_preserves_both_recorded_outcomes (test_consume.ConsumerFixtureTests) ... ok\ntest_toy_geometry_remains_digital_and_unapproved (test_consume.ConsumerFixtureTests) ... ok\ntest_toy_maintenance_accounting_keeps_no_release_authority (test_consume.ConsumerFixtureTests) ... ok\ntest_toy_planner_preserves_refusal_and_unapproved_alternative (test_consume.ConsumerFixtureTests) ... ok\ntest_identifier_in_output_aborts_capture (test_public_checks.PublicCheckTests) ... ok\ntest_json_escaped_machine_path_is_rejected (test_public_checks.PublicCheckTests) ... ok\ntest_nested_private_operational_fields_are_rejected (test_public_checks.PublicCheckTests) ... ok\ntest_repository_relative_names_and_historical_digests_are_allowed (test_public_checks.PublicCheckTests) ... ok\ntest_root_rebasing_is_explicit_and_preserves_failure_text (test_public_checks.PublicCheckTests) ... ok\ntest_synthetic_identifier_is_rejected (test_public_checks.PublicCheckTests) ... ok\ntest_unknown_private_location_is_not_silently_scrubbed (test_public_checks.PublicCheckTests) ... ok\ntest_awaiting_fixture_records_do_not_pass (test_validator.ValidatorTests) ... ok\ntest_awaiting_record_with_invented_hash_is_rejected (test_validator.ValidatorTests) ... ok\ntest_boolean_acceptance_is_not_coerced_from_one (test_validator.ValidatorTests) ... ok\ntest_byte_count_is_strict_not_boolean (test_validator.ValidatorTests) ... ok\ntest_changed_artifact_hash_is_failure (test_validator.ValidatorTests) ... ok\ntest_changed_check_log_is_rejected (test_validator.ValidatorTests) ... ok\ntest_changed_manifest_hash_is_failure (test_validator.ValidatorTests) ... ok\ntest_check_exit_code_is_not_boolean (test_validator.ValidatorTests) ... ok\ntest_cli_fails_real_mode_for_synthetic_fixtures (test_validator.ValidatorTests) ... ok\ntest_cli_uses_explicit_root_and_persists_fixture_report (test_validator.ValidatorTests) ... ok\ntest_contract_and_policy_descriptions_have_strict_types (test_validator.ValidatorTests) ... ok\ntest_cyclic_contract_is_rejected (test_validator.ValidatorTests) ... ok\ntest_duplicate_artifact_manifest_rows_are_rejected (test_validator.ValidatorTests) ... ok\ntest_duplicate_gate_is_rejected (test_validator.ValidatorTests) ... ok\ntest_duplicate_json_keys_are_not_silently_overwritten (test_validator.ValidatorTests) ... ok\ntest_duplicate_locks_are_rejected (test_validator.ValidatorTests) ... ok\ntest_failed_manifest_check_is_rejected (test_validator.ValidatorTests) ... ok\ntest_false_acceptance_is_rejected_after_valid_hash_update (test_validator.ValidatorTests) ... ok\ntest_false_is_not_an_allowed_success_expectation (test_validator.ValidatorTests) ... ok\ntest_fixture_manifest_flag_cannot_be_a_string (test_validator.ValidatorTests) ... ok\ntest_fixture_marker_blocks_real_mode_even_if_record_claims_real (test_validator.ValidatorTests) ... ok\ntest_fixture_mode_must_match_record (test_validator.ValidatorTests) ... ok\ntest_fixture_mode_requires_marker (test_validator.ValidatorTests) ... ok\ntest_foreign_proof_cannot_satisfy_gate (test_validator.ValidatorTests) ... ok\ntest_incorrect_byte_count_is_failure (test_validator.ValidatorTests) ... ok\ntest_interface_version_is_exact (test_validator.ValidatorTests) ... ok\ntest_invalid_record_root_is_rejected_without_crash (test_validator.ValidatorTests) ... ok\ntest_malformed_json_is_rejected (test_validator.ValidatorTests) ... ok\ntest_manifest_artifacts_are_not_nullable (test_validator.ValidatorTests) ... ok\ntest_manifest_artifacts_may_not_absorb_another_scope (test_validator.ValidatorTests) ... ok\ntest_manifest_check_receipts_are_required (test_validator.ValidatorTests) ... ok\ntest_manifest_identity_is_not_interchangeable (test_validator.ValidatorTests) ... ok\ntest_manifest_required_fields_are_not_optional (test_validator.ValidatorTests) ... ok\ntest_missing_acceptance_field_is_rejected (test_validator.ValidatorTests) ... ok\ntest_missing_artifact_is_failure (test_validator.ValidatorTests) ... ok\ntest_missing_contributor_is_rejected (test_validator.ValidatorTests) ... ok\ntest_missing_gate_is_rejected (test_validator.ValidatorTests) ... ok\ntest_missing_manifest_blocks_downstream (test_validator.ValidatorTests) ... ok\ntest_native_authority_is_never_accepted (test_validator.ValidatorTests) ... ok\ntest_nonfinite_json_is_rejected (test_validator.ValidatorTests) ... ok\ntest_output_must_not_escape_prime_evidence (test_validator.ValidatorTests) ... ok\ntest_output_must_not_overwrite_any_input (test_validator.ValidatorTests) ... ok\ntest_overflowing_json_number_is_rejected (test_validator.ValidatorTests) ... ok\ntest_policy_cannot_add_false_as_success (test_validator.ValidatorTests) ... ok\ntest_prime_artifact_locks_cannot_absorb_foreign_files (test_validator.ValidatorTests) ... ok\ntest_prime_connected_artifact_hashes_are_verified (test_validator.ValidatorTests) ... ok\ntest_prime_review_can_bind_actual_acceptance_fields_in_fixture_mode (test_validator.ValidatorTests) ... ok\ntest_private_store_paths_are_not_artifacts (test_validator.ValidatorTests) ... ok\ntest_reader_detects_changes_between_reads (test_validator.ValidatorTests) ... ok\ntest_receipt_command_must_match_manifest (test_validator.ValidatorTests) ... ok\ntest_self_asserted_pass_without_proof_is_rejected (test_validator.ValidatorTests) ... ok\ntest_symlinked_artifact_is_rejected_even_with_matching_bytes (test_validator.ValidatorTests) ... ok\ntest_symlinked_parent_is_rejected (test_validator.ValidatorTests) ... ok\ntest_three_content_passes_do_not_hide_a_missing_planner (test_validator.ValidatorTests) ... ok\ntest_traversal_is_rejected_before_file_read (test_validator.ValidatorTests) ... ok\ntest_unknown_dependency_is_rejected (test_validator.ValidatorTests) ... ok\ntest_unknown_or_duplicate_contributor_is_rejected (test_validator.ValidatorTests) ... ok\ntest_unknown_record_fields_are_rejected (test_validator.ValidatorTests) ... ok\ntest_unlocked_artifacts_are_rejected (test_validator.ValidatorTests) ... ok\ntest_valid_fixtures_only_report_fixture_acceptance (test_validator.ValidatorTests) ... ok\n\n----------------------------------------------------------------------\nRan 92 tests in 0.641s\n\nOK\n"
        },
        {
          "argv": [
            "node",
            "--test",
            "projects/10-pocket-arcade/tests/model.test.cjs"
          ],
          "startedAt": "2026-09-19T14:01:13.623207+00:00",
          "durationSeconds": 0.0803,
          "exitCode": 0,
          "stdout": "\u2714 UI catalog matches the actual machine-readable contract (0.987375ms)\n\u2714 safe paths reject traversal, absolute URLs, encoding and foreign projects (0.157542ms)\n\u2714 manifest availability checks require the actual identity and field shapes (0.252125ms)\n\u2714 the published contribution schema declares the same IDs and false authority (0.165875ms)\n\u2714 unverified presence never becomes integration acceptance (0.105292ms)\n\u2714 three recorded component passes still leave the actual planner dependency pending (0.089ms)\n\u2714 four bound interfaces without a loaded report do not claim missing data or fresh acceptance (0.060834ms)\n\u2714 saved pass remains unverified if any actual contribution is missing (0.063125ms)\n\u2714 fixture reports are explicitly refused by the real-contribution UI (0.131375ms)\n\u2714 the connected-data UI refuses fixture bytes as actual arrived artifacts (0.165834ms)\n\u2714 reports with positive native authority or malformed pass fields are refused (0.065708ms)\n\u2714 a self-asserted report pass is insufficient (0.069ms)\n\u2714 untrusted report file locators cannot make a foreign request (0.055917ms)\n\u2714 valid awaiting report is accepted only as awaiting (0.046333ms)\n\u2714 notes are bounded user data and never a result or integration receipt (0.068916ms)\n\u2714 every station has availability, acceptance and action controls in the original HTML (0.7ms)\n\u2714 printable kit provides actual blank cards, local links and four concrete instructions (0.128542ms)\n\u2714 browser shell neither stores user notes nor executes downloaded strings (0.236125ms)\n\u2139 tests 18\n\u2139 suites 0\n\u2139 pass 18\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 41.191458\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/10-pocket-arcade/app.js"
          ],
          "startedAt": "2026-09-19T14:01:13.703526+00:00",
          "durationSeconds": 0.024,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/10-pocket-arcade/model.js"
          ],
          "startedAt": "2026-09-19T14:01:13.727537+00:00",
          "durationSeconds": 0.0242,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/10-pocket-arcade/connected-data.js"
          ],
          "startedAt": "2026-09-19T14:01:13.751785+00:00",
          "durationSeconds": 0.0232,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/10-pocket-arcade/planner_bridge.mjs"
          ],
          "startedAt": "2026-09-19T14:01:13.774958+00:00",
          "durationSeconds": 0.0258,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "--check",
            "projects/10-pocket-arcade/verify_experience.cjs"
          ],
          "startedAt": "2026-09-19T14:01:13.800758+00:00",
          "durationSeconds": 0.0233,
          "exitCode": 0,
          "stdout": "",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/10-pocket-arcade/planner_bridge.mjs",
            "--root",
            ".",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:13.824071+00:00",
          "durationSeconds": 0.0368,
          "exitCode": 0,
          "stdout": "{\n  \"schema\": \"pocket-arcade-planner-bridge-check/1\",\n  \"mode\": \"check\",\n  \"status\": \"local-technical-checks-passed\",\n  \"originalFilesUnchanged\": true,\n  \"baselineRemainsInfeasible\": true,\n  \"proposalVerifiedInModel\": true,\n  \"proposalImportRoundTripVerified\": true,\n  \"ownerApproved\": false,\n  \"nativeAuthority\": false,\n  \"outputs\": [\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/tournament-analysis.json\",\n      \"sha256\": \"60715d1a114438114a50cd1afebfe3ea1618894b4f32e8cd0c1031f2a6e26195\",\n      \"bytes\": 4197\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/tournament-proposal.json\",\n      \"sha256\": \"35fc944ddc44fa7c15e5bd6194550f44ab075ab891c35948fa151f6844f5c561\",\n      \"bytes\": 8742\n    }\n  ]\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "-B",
            "projects/10-pocket-arcade/consume.py",
            "--root",
            ".",
            "--check"
          ],
          "startedAt": "2026-09-19T14:01:13.860839+00:00",
          "durationSeconds": 0.0505,
          "exitCode": 0,
          "stdout": "{\n  \"schema\": \"pocket-arcade-consumer-check/1\",\n  \"mode\": \"check\",\n  \"boundContributions\": [\n    \"01-game-studio\",\n    \"05-planner\",\n    \"07-manufacturing\",\n    \"09-handoff\"\n  ],\n  \"pendingContributions\": [],\n  \"integrationStatus\": \"ready-for-local-validation\",\n  \"integrationPassed\": false,\n  \"outputs\": [\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/connected-data.json\",\n      \"sha256\": \"811dc603d1d276655e95f0385c2cfedfb970773e6edff723fcf3195f2f7e94de\",\n      \"bytes\": 9395\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/connected-data.js\",\n      \"sha256\": \"0f4b540b8279aabeef0ec62600baefe5824cb868f9c7dc2adcfce2598f9b365c\",\n      \"bytes\": 9508\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json\",\n      \"sha256\": \"b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a\",\n      \"bytes\": 2606\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/05-planner.json\",\n      \"sha256\": \"edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2\",\n      \"bytes\": 3169\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json\",\n      \"sha256\": \"1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d\",\n      \"bytes\": 2781\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/09-handoff.json\",\n      \"sha256\": \"5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87\",\n      \"bytes\": 3684\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/contributions.json\",\n      \"sha256\": \"9fb0c439dce5b71b8941a0152883d0da80d83730effe43e725a6721ecec2b5da\",\n      \"bytes\": 43548\n    }\n  ]\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "-B",
            "projects/10-pocket-arcade/validate.py",
            "--root",
            "."
          ],
          "startedAt": "2026-09-19T14:01:13.911360+00:00",
          "durationSeconds": 0.0475,
          "exitCode": 0,
          "stdout": "{\n  \"schema\": \"pocket-arcade-validation/1\",\n  \"mode\": \"real-local-artifacts\",\n  \"fixtureOnly\": false,\n  \"integrationStatus\": \"local-integration-checks-passed\",\n  \"validationPassed\": true,\n  \"integrationPassed\": true,\n  \"boundaries\": {\n    \"nativeMembership\": false,\n    \"foreignWorkspaceRegistration\": false,\n    \"signedReceipts\": false,\n    \"crossWorldAuthority\": false,\n    \"externalEffects\": false,\n    \"physicalManufactureVerified\": false,\n    \"publicLaunch\": false,\n    \"automaticPartnerCodeExecution\": false\n  },\n  \"contributions\": [\n    {\n      \"id\": \"01-game-studio\",\n      \"label\": \"Game Studio\",\n      \"interfaceId\": \"pocket-arcade/browser-game/1\",\n      \"status\": \"accepted-local\",\n      \"dependsOn\": [],\n      \"sourceCommit\": \"493c333ac7085a10359c87ede5e0c74ab459a766\",\n      \"contentChecksPassed\": true,\n      \"files\": [\n        {\n          \"bytes\": 11318,\n          \"path\": \"projects/01-game-studio/README.md\",\n          \"sha256\": \"d8e4833c088e51d3107e09675b4a489cf4e62df98e48cb769d18f0a139111ea7\"\n        },\n        {\n          \"bytes\": 1525,\n          \"path\": \"projects/01-game-studio/SOURCE-NOTICE.txt\",\n          \"sha256\": \"e0a2a72ab43ea4769236a84ca7e1628691198f630ee81b63cecce7bdb710bc67\"\n        },\n        {\n          \"bytes\": 19754,\n          \"path\": \"projects/01-game-studio/app.js\",\n          \"sha256\": \"b6e70ca37a040dd7abdd2619448ea3981adc3a47272166177eb68a4633bc21b7\"\n        },\n        {\n          \"bytes\": 3887,\n          \"path\": \"projects/01-game-studio/art/colony.svg\",\n          \"sha256\": \"6fffba6d758e70d0f8649c54677d3cda5c716c275e41101fe89afb008f64d089\"\n        },\n        {\n          \"bytes\": 1195,\n          \"path\": \"projects/01-game-studio/builds.js\",\n          \"sha256\": \"bd53a5f05af425d24bfb868e6c67c300cc3bdef4bccf3b6d23f17e0115359237\"\n        },\n        {\n          \"bytes\": 2802,\n          \"path\": \"projects/01-game-studio/controller.js\",\n          \"sha256\": \"a9d38a4a8b25766c8b712c52420e0ccd6b31350bbd751bba6770509ff07f6f50\"\n        },\n        {\n          \"bytes\": 20368,\n          \"path\": \"projects/01-game-studio/engine.js\",\n          \"sha256\": \"0ff727d2d33562981844f933891568b250fe35d3fe0567a08f80606c2bb330b2\"\n        },\n        {\n          \"bytes\": 1339,\n          \"path\": \"projects/01-game-studio/evidence/cycle-01.json\",\n          \"sha256\": \"ae0cf7f2fa3b00e9bf7f78deec5debbfc85950c70a481653e84bda77e43a6ef5\"\n        },\n        {\n          \"bytes\": 1436,\n          \"path\": \"projects/01-game-studio/evidence/cycle-02.json\",\n          \"sha256\": \"7bb49cd48b0c31fd391cc94efefb047e4c585bc0503fb11bea7faebf3f40b88a\"\n        },\n        {\n          \"bytes\": 1708,\n          \"path\": \"projects/01-game-studio/evidence/cycle-03.json\",\n          \"sha256\": \"0a6faa18ac1bf1bd3700bd57c91bdf20085f6c4016ae4cd469124247f206588e\"\n        },\n        {\n          \"bytes\": 31806,\n          \"path\": \"projects/01-game-studio/evidence/result.json\",\n          \"sha256\": \"c6ef9f41366cd2aa2c138c92da7c64eaf732e1e6d1921373b3dbfd2a7b5e7358\"\n        },\n        {\n          \"bytes\": 106397,\n          \"path\": \"projects/01-game-studio/evidence/runs/cycle-01-after.json\",\n          \"sha256\": \"72411b3719f09690ace0f3335c41be2d2667312d890698d7b74d6caf33811ac2\"\n        },\n        {\n          \"bytes\": 140551,\n          \"path\": \"projects/01-game-studio/evidence/runs/cycle-01-before.json\",\n          \"sha256\": \"143ad206586ced7cf3967df9d0066ca09a9ae86e4be7c431f58243dcb5f9c5ae\"\n        },\n        {\n          \"bytes\": 140775,\n          \"path\": \"projects/01-game-studio/evidence/runs/cycle-02-after.json\",\n          \"sha256\": \"1f8b5b9402beb9048760485af7dd992ac086e4f345e59adb5e5f67a6753d8739\"\n        },\n        {\n          \"bytes\": 141241,\n          \"path\": \"projects/01-game-studio/evidence/runs/cycle-02-before.json\",\n          \"sha256\": \"148d1e3aa41342eabbcc0b137abe9b68f76fa8d0f0a39f860ec2ffb12f65b61c\"\n        },\n        {\n          \"bytes\": 95621,\n          \"path\": \"projects/01-game-studio/evidence/runs/cycle-03-after.json\",\n          \"sha256\": \"bed57cd5861a0a37fe28965123aaac3e799bb3c14afbd5f8e1bb32ecb4f52f2f\"\n        },\n        {\n          \"bytes\": 142003,\n          \"path\": \"projects/01-game-studio/evidence/runs/cycle-03-before.json\",\n          \"sha256\": \"ea657aa2747e54b1ec1ca0ac664a7e67be857304d4a3ed07d85bb318293bc416\"\n        },\n        {\n          \"bytes\": 95462,\n          \"path\": \"projects/01-game-studio/evidence/runs/release-trained.json\",\n          \"sha256\": \"7bf21e19f7c90926486f7e71e69ad597307c32886f4638418198b456239a814f\"\n        },\n        {\n          \"bytes\": 138619,\n          \"path\": \"projects/01-game-studio/evidence/runs/release-untaught.json\",\n          \"sha256\": \"358fe5273ba4dbb9d494d4953f3f2d3da401e63715fdce026b4d476de48725f3\"\n        },\n        {\n          \"bytes\": 6571,\n          \"path\": \"projects/01-game-studio/evidence/source-review.json\",\n          \"sha256\": \"b6f28386b05dbce9e916fe1095a55e29bfbac6be7f0453c2dde907839844392f\"\n        },\n        {\n          \"bytes\": 1750,\n          \"path\": \"projects/01-game-studio/evidence/validation-history.json\",\n          \"sha256\": \"be1e78b4d2427b470306c193ad7bafeb701b69041761812ab5adfd678caf873b\"\n        },\n        {\n          \"bytes\": 7687,\n          \"path\": \"projects/01-game-studio/evidence/validation.tap\",\n          \"sha256\": \"2b6cd0c19678a3f375553631b6d2f78285cdd0f2152e1c18365a260c011e45da\"\n        },\n        {\n          \"bytes\": 15380,\n          \"path\": \"projects/01-game-studio/index.html\",\n          \"sha256\": \"08b979b1d51e291f79d4380400758224cc263aa5f95ba07016a7ad9fe575c6c9\"\n        },\n        {\n          \"bytes\": 235650,\n          \"path\": \"projects/01-game-studio/replay-data.js\",\n          \"sha256\": \"064e12df38169d1b661ef709e48bf9faec0462138743894bee7c4648a5dc0328\"\n        }\n      ],\n      \"roles\": {\n        \"engine\": \"projects/01-game-studio/engine.js\",\n        \"replay\": \"projects/01-game-studio/evidence/runs/release-trained.json\"\n      },\n      \"gates\": [\n        {\n          \"id\": \"game-playable\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json\",\n            \"pointer\": \"/gates/game-playable/status\",\n            \"sha256\": \"b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a\"\n          }\n        },\n        {\n          \"id\": \"game-deterministic\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json\",\n            \"pointer\": \"/gates/game-deterministic/status\",\n            \"sha256\": \"b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a\"\n          }\n        },\n        {\n          \"id\": \"game-honest-scope\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json\",\n            \"pointer\": \"/gates/game-honest-scope/status\",\n            \"sha256\": \"b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a\"\n          }\n        }\n      ],\n      \"recordedCheckCount\": 2,\n      \"errors\": []\n    },\n    {\n      \"id\": \"05-planner\",\n      \"label\": \"Product Launch\",\n      \"interfaceId\": \"pocket-arcade/tournament-plan/1\",\n      \"status\": \"accepted-local\",\n      \"dependsOn\": [\n        \"01-game-studio\"\n      ],\n      \"sourceCommit\": \"230a27a827be66a6d4bedc6bb5e4d2e78acf72c3\",\n      \"contentChecksPassed\": true,\n      \"files\": [\n        {\n          \"bytes\": 17862,\n          \"path\": \"projects/05-planner/README.md\",\n          \"sha256\": \"0963c67f913fa7d2cb487dd5b6873a7fabb7e19a6712ca6a6ce05e5a2b755f60\"\n        },\n        {\n          \"bytes\": 60587,\n          \"path\": \"projects/05-planner/app.bundle.js\",\n          \"sha256\": \"17460cfcf3b391baab3ad043527ae3c1c3234fee3fdf93d9948804a32e49dd13\"\n        },\n        {\n          \"bytes\": 20971,\n          \"path\": \"projects/05-planner/app.mjs\",\n          \"sha256\": \"20683e1cb376ac07d6d20a3f68c331af3eb6afbeb6bac186ea75c0feb449c823\"\n        },\n        {\n          \"bytes\": 1079,\n          \"path\": \"projects/05-planner/data/source/LICENSE\",\n          \"sha256\": \"3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f\"\n        },\n        {\n          \"bytes\": 2093,\n          \"path\": \"projects/05-planner/data/source/acceptance-cases.json\",\n          \"sha256\": \"6d823e958e25f9ef223e352fa146471011cf77b41f9277caf7a11c72c00378ef\"\n        },\n        {\n          \"bytes\": 4176,\n          \"path\": \"projects/05-planner/data/source/initialize.json\",\n          \"sha256\": \"dd8fa1284950733c20521dfd516cd5b5baa98ff398ffc3da6065eef8232fe947\"\n        },\n        {\n          \"bytes\": 1364,\n          \"path\": \"projects/05-planner/data/source/intake.json\",\n          \"sha256\": \"774ebdde3a4f88174cb503bf315156b4d4909cfb9d1b3144203c256463b88cc2\"\n        },\n        {\n          \"bytes\": 776,\n          \"path\": \"projects/05-planner/data/source/sample-agenda.json\",\n          \"sha256\": \"9782d287e0e1cc50e233e7e22a0d30dc2c402f430a1cde51555464637700bedc\"\n        },\n        {\n          \"bytes\": 5958,\n          \"path\": \"projects/05-planner/data/source/seed.json\",\n          \"sha256\": \"a954c9350bc3f2b9ccbb542479387992c49f00dbb27bc147d592b45c287c6bb5\"\n        },\n        {\n          \"bytes\": 10798,\n          \"path\": \"projects/05-planner/data/source/task-board.json\",\n          \"sha256\": \"4f13a54cf3573220743b9916466f493ecde81f975192e4e77791d1727fc98a75\"\n        },\n        {\n          \"bytes\": 6173,\n          \"path\": \"projects/05-planner/docs/FAQ.md\",\n          \"sha256\": \"ee83afd580c296073ee12f2fdf8b24784c0bdde96d439893cff748507fe99d1b\"\n        },\n        {\n          \"bytes\": 5500,\n          \"path\": \"projects/05-planner/docs/launch-draft.md\",\n          \"sha256\": \"cd69c248693d7a9b56d1293f7a1fc928a4fd5359cc59569a37b480ab9647285b\"\n        },\n        {\n          \"bytes\": 3012,\n          \"path\": \"projects/05-planner/docs/manual-checks.json\",\n          \"sha256\": \"86963a3a9014b268fe999364c90c5f6ddd5902b4c93d947e7a9e2ace52466412\"\n        },\n        {\n          \"bytes\": 5613,\n          \"path\": \"projects/05-planner/docs/task-mapping.md\",\n          \"sha256\": \"61882809d58571cafac263f8debded5b6c1eaeafc430e14c105150a0b63fbb08\"\n        },\n        {\n          \"bytes\": 3637,\n          \"path\": \"projects/05-planner/editor.mjs\",\n          \"sha256\": \"4fc41b34deb74fb30d983eef286bb938c98c26eb1f3323ecf822aa3405a195f6\"\n        },\n        {\n          \"bytes\": 30634,\n          \"path\": \"projects/05-planner/engine.mjs\",\n          \"sha256\": \"66a9abbcc9c3a0c00dc7841ed5b36c78a3d3349a74bf80178202818d791974cf\"\n        },\n        {\n          \"bytes\": 17669,\n          \"path\": \"projects/05-planner/evidence/check-01.tap\",\n          \"sha256\": \"8fa9855b95f648f478fcb84f55006a36ba2bcd930ff2f1ee60cd4e33242fa6b7\"\n        },\n        {\n          \"bytes\": 170405,\n          \"path\": \"projects/05-planner/evidence/fixture-results.json\",\n          \"sha256\": \"89f0367aef4eea8bda6d3b84b37eb627faea7df665ecbab3f4a2326af6342961\"\n        },\n        {\n          \"bytes\": 11988,\n          \"path\": \"projects/05-planner/evidence/result.json\",\n          \"sha256\": \"eefe648291d704f7e603d7beafd0eaa90e80a72eddf9450dba9ceef6be1e591a\"\n        },\n        {\n          \"bytes\": 14559,\n          \"path\": \"projects/05-planner/fixtures/adversarial.json\",\n          \"sha256\": \"d6bcc8a42612d8dc4421799cab5011609ef30c1b52084319b16fbf0a3f3e160d\"\n        },\n        {\n          \"bytes\": 1117,\n          \"path\": \"projects/05-planner/fixtures/boundary.json\",\n          \"sha256\": \"a76fdb85867c4ec120057da3a4ab1e6f576414b6a8bbf454589be9ef0c418e86\"\n        },\n        {\n          \"bytes\": 675,\n          \"path\": \"projects/05-planner/fixtures/disjoint.json\",\n          \"sha256\": \"96220fed3ab1ed7a026fffd77827ea04017830ad09a668b1e64afa33932d9fb0\"\n        },\n        {\n          \"bytes\": 2320,\n          \"path\": \"projects/05-planner/fixtures/library.json\",\n          \"sha256\": \"24785a9694b54d2be2501668e43eedd6721a6fe11a8662434f778c0cc316e039\"\n        },\n        {\n          \"bytes\": 2331,\n          \"path\": \"projects/05-planner/fixtures/pocket-arcade.json\",\n          \"sha256\": \"44d916e056b463535eb051a4260b6c967d63d8d6aab87df73d6a59f858c92987\"\n        },\n        {\n          \"bytes\": 11528,\n          \"path\": \"projects/05-planner/index.html\",\n          \"sha256\": \"c7dfe6eb8ea1115526d7cc1053a5293ecb19dfb2aa907af448906de158d0fd4e\"\n        },\n        {\n          \"bytes\": 3954,\n          \"path\": \"projects/05-planner/manifest.json\",\n          \"sha256\": \"be32190db7b40a42850abddd7799b6496983068aa31b63af758bcad5f20b9534\"\n        },\n        {\n          \"bytes\": 5279,\n          \"path\": \"projects/05-planner/presets.mjs\",\n          \"sha256\": \"d34d05e0d6ad0a82ee05e44aa0093cc298e7070d8d083f1ebe139bac73e5c3e8\"\n        },\n        {\n          \"bytes\": 7227,\n          \"path\": \"projects/05-planner/provenance.json\",\n          \"sha256\": \"c4084cb90b629b3f38fd10092a82b4e05f57720b760fe3f71561199bd638b911\"\n        },\n        {\n          \"bytes\": 13503,\n          \"path\": \"projects/05-planner/styles.css\",\n          \"sha256\": \"4a9aa347b065a9ba43968a73a3e02f6ba22102dd4b92df6d78caedbe5727773c\"\n        }\n      ],\n      \"roles\": {\n        \"tournament-plan\": \"projects/05-planner/fixtures/pocket-arcade.json\"\n      },\n      \"gates\": [\n        {\n          \"id\": \"planner-finite\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/05-planner.json\",\n            \"pointer\": \"/gates/planner-finite/status\",\n            \"sha256\": \"edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2\"\n          }\n        },\n        {\n          \"id\": \"planner-refuses-overflow\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/05-planner.json\",\n            \"pointer\": \"/gates/planner-refuses-overflow/status\",\n            \"sha256\": \"edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2\"\n          }\n        },\n        {\n          \"id\": \"planner-offline\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/05-planner.json\",\n            \"pointer\": \"/gates/planner-offline/status\",\n            \"sha256\": \"edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2\"\n          }\n        }\n      ],\n      \"recordedCheckCount\": 4,\n      \"errors\": []\n    },\n    {\n      \"id\": \"07-manufacturing\",\n      \"label\": \"Micro-Manufacturing\",\n      \"interfaceId\": \"pocket-arcade/tabletop-accessory/1\",\n      \"status\": \"accepted-local\",\n      \"dependsOn\": [\n        \"01-game-studio\",\n        \"05-planner\"\n      ],\n      \"sourceCommit\": \"50dc804fc517968e80c7fe5554d31914067c9985\",\n      \"contentChecksPassed\": true,\n      \"files\": [\n        {\n          \"bytes\": 12679,\n          \"path\": \"projects/07-manufacturing/README.md\",\n          \"sha256\": \"f829844b24ba6750a53605b4dd38aaf82d06cda3d1ca09a76dce3b320aa09855\"\n        },\n        {\n          \"bytes\": 5608,\n          \"path\": \"projects/07-manufacturing/archive.js\",\n          \"sha256\": \"a0f7caf41e89fba417046b116e449ade26daeebaa34d802351972e975b894452\"\n        },\n        {\n          \"bytes\": 1079,\n          \"path\": \"projects/07-manufacturing/data/seed/LICENSE\",\n          \"sha256\": \"3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f\"\n        },\n        {\n          \"bytes\": 9779,\n          \"path\": \"projects/07-manufacturing/data/source-provenance.json\",\n          \"sha256\": \"ff9ebc63293fa22850d0dc5158c68554da11e65202cc03d74fda8c7235a0411e\"\n        },\n        {\n          \"bytes\": 29570,\n          \"path\": \"projects/07-manufacturing/engine.js\",\n          \"sha256\": \"25b74446b12969572c9f277e63d789442a81ea82da7ba3bee49e3072b13bde21\"\n        },\n        {\n          \"bytes\": 7648,\n          \"path\": \"projects/07-manufacturing/evidence/mesh-validation.json\",\n          \"sha256\": \"2ec090e0dd12278e0633e5458c0d25eb8f2098dd723359fb30edaaca70482780\"\n        },\n        {\n          \"bytes\": 8474,\n          \"path\": \"projects/07-manufacturing/evidence/result.json\",\n          \"sha256\": \"0bc726b20fac76877a5983128b26cbd1c85258d3a3c3c6696548d83fa67bfacf\"\n        },\n        {\n          \"bytes\": 8348,\n          \"path\": \"projects/07-manufacturing/generated/artifact-index.json\",\n          \"sha256\": \"25b083eb5de2aa575ccabaff1d38d52831c79ab0e62ac84bb19e740ce0be0875\"\n        },\n        {\n          \"bytes\": 3272,\n          \"path\": \"projects/07-manufacturing/generated/compact/assembly.txt\",\n          \"sha256\": \"f1668543f68c578d48abcb3b218f76eb784e98ac4397669b53654eb447d4b70a\"\n        },\n        {\n          \"bytes\": 211,\n          \"path\": \"projects/07-manufacturing/generated/compact/bom.csv\",\n          \"sha256\": \"4bc5172c43dcc177fc74d8ddaf56e179f0e3274478078598d409ab95b32b5e53\"\n        },\n        {\n          \"bytes\": 3314,\n          \"path\": \"projects/07-manufacturing/generated/compact/drawing.svg\",\n          \"sha256\": \"f563588101579b896154b4dec4190837e4855185ea77e1b50caaae47ba9e604e\"\n        },\n        {\n          \"bytes\": 7637,\n          \"path\": \"projects/07-manufacturing/generated/compact/insert.stl\",\n          \"sha256\": \"089f753c24c844e3a2fa68fb3fc0b102b745ba9f3174d25803ff4d905e719607\"\n        },\n        {\n          \"bytes\": 1013,\n          \"path\": \"projects/07-manufacturing/generated/compact/inspection.csv\",\n          \"sha256\": \"716b5bd6c1576d52f031572182fab47978f99e2b2b245a947fc4827446464bca\"\n        },\n        {\n          \"bytes\": 2068,\n          \"path\": \"projects/07-manufacturing/generated/compact/parameters.json\",\n          \"sha256\": \"662f1240a503e83173263f874b35cc743ad6c917ad1378a911b09ac6b41e7d29\"\n        },\n        {\n          \"bytes\": 112962,\n          \"path\": \"projects/07-manufacturing/generated/compact/review-bundle.zip\",\n          \"sha256\": \"56b62285ebee052f5010c9e3689133f6996ede3960fe0bdd6150da6e419813d8\"\n        },\n        {\n          \"bytes\": 6509,\n          \"path\": \"projects/07-manufacturing/generated/compact/review.json\",\n          \"sha256\": \"8354f402b7a00620c11025c41e442c70bd820f680b3e98732b92cb5290d77541\"\n        },\n        {\n          \"bytes\": 11295,\n          \"path\": \"projects/07-manufacturing/generated/compact/tray.stl\",\n          \"sha256\": \"0955ecd650e09d8c37a204503a29a8586f847dab5b2ed93c54239f244d4d4168\"\n        },\n        {\n          \"bytes\": 6017,\n          \"path\": \"projects/07-manufacturing/generated/comparison.json\",\n          \"sha256\": \"cf2a334e066165b2ea4a3c6f42144fc42fba4e37269020cd4046cdc0759afee0\"\n        },\n        {\n          \"bytes\": 3481,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/assembly.txt\",\n          \"sha256\": \"2500adf028800f331996412bd823518c459fb849a6508050da0f7476934544eb\"\n        },\n        {\n          \"bytes\": 213,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/bom.csv\",\n          \"sha256\": \"e11d11dd6dc67217ff22c637aeb3cfa30c40e367ffef2c96b317b1abedc98ecc\"\n        },\n        {\n          \"bytes\": 3517,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/drawing.svg\",\n          \"sha256\": \"980908f22e0360d7399ab8c44d94463ded029b9641914fdec85dc76dbf28d6e8\"\n        },\n        {\n          \"bytes\": 12695,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/insert.stl\",\n          \"sha256\": \"34e9872a27a4316dae44a27c85a7ea3601ce4b1cc15da8205c9531630e41148c\"\n        },\n        {\n          \"bytes\": 1015,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/inspection.csv\",\n          \"sha256\": \"92ff667e1bb37902084916349d4b27d00a2b57a657763a28e1ccbbe99cb532c4\"\n        },\n        {\n          \"bytes\": 2075,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/parameters.json\",\n          \"sha256\": \"3a385a3a45e7d6b05df2d4b0a248bcdebbc7316c7e7954c925bb16e1ce8f6042\"\n        },\n        {\n          \"bytes\": 122785,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/review-bundle.zip\",\n          \"sha256\": \"f002197852d13842f47a79adea687a7aae9e99a9ee7f91cce027026773122472\"\n        },\n        {\n          \"bytes\": 6698,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/review.json\",\n          \"sha256\": \"cff5dd27b6e8be9dfbde03bcfdf37082dc63dc9e784ffe6c554d99a7452322ae\"\n        },\n        {\n          \"bytes\": 11361,\n          \"path\": \"projects/07-manufacturing/generated/pocket-arcade/tray.stl\",\n          \"sha256\": \"45c77711b7a4a90a9423a999c3bb11dd5e2f8949d9c2dea5e8d655ef6c13f66e\"\n        },\n        {\n          \"bytes\": 3243,\n          \"path\": \"projects/07-manufacturing/generated/seed-review.json\",\n          \"sha256\": \"20262c86f93fef15b1bd41fc4a47a535c9ff2b8d36ede6d2115135843e5e19fc\"\n        },\n        {\n          \"bytes\": 3270,\n          \"path\": \"projects/07-manufacturing/generated/stackline/assembly.txt\",\n          \"sha256\": \"0711bd29351830614fe06fd0cbd1e9a5312b5f51d150d758672f854c37d7c1d5\"\n        },\n        {\n          \"bytes\": 215,\n          \"path\": \"projects/07-manufacturing/generated/stackline/bom.csv\",\n          \"sha256\": \"8b50b7e626842785505ecf629b5e0a9774d07bb8a6e21f42686f2182de7963e3\"\n        },\n        {\n          \"bytes\": 3523,\n          \"path\": \"projects/07-manufacturing/generated/stackline/drawing.svg\",\n          \"sha256\": \"2e9af32a8f53f6c4a22db6759d3cceef8410ec7b54b37fb954beb4c27626e4cb\"\n        },\n        {\n          \"bytes\": 14099,\n          \"path\": \"projects/07-manufacturing/generated/stackline/insert.stl\",\n          \"sha256\": \"694eb6a9805dc6b3994d0faf59d9ff23f4aef9d66532f23f23915e62e30ecf59\"\n        },\n        {\n          \"bytes\": 1015,\n          \"path\": \"projects/07-manufacturing/generated/stackline/inspection.csv\",\n          \"sha256\": \"3b9a43e9bb25d148b71f2bbce40471c6697c96cccd7d566f086eba867dd51184\"\n        },\n        {\n          \"bytes\": 2069,\n          \"path\": \"projects/07-manufacturing/generated/stackline/parameters.json\",\n          \"sha256\": \"259747d570c14d31f2b75f2fdce157a2888f020fd90a443e9933f07f403c5925\"\n        },\n        {\n          \"bytes\": 123377,\n          \"path\": \"projects/07-manufacturing/generated/stackline/review-bundle.zip\",\n          \"sha256\": \"84cc35becb3c44a264c2ff4a8eeb18a355acf223a99ab27635b29d7c56121769\"\n        },\n        {\n          \"bytes\": 6630,\n          \"path\": \"projects/07-manufacturing/generated/stackline/review.json\",\n          \"sha256\": \"81d55c00bbb3cfe88a06f79e385b71f1d63baa0d50a909631f9b4f533a5c3f0d\"\n        },\n        {\n          \"bytes\": 11361,\n          \"path\": \"projects/07-manufacturing/generated/stackline/tray.stl\",\n          \"sha256\": \"e9867703e41a622687824a50caec4cbcf6e9ec2caa55898067257428868816a6\"\n        },\n        {\n          \"bytes\": 2916,\n          \"path\": \"projects/07-manufacturing/generated/synthetic-inspection.json\",\n          \"sha256\": \"ff5674e8a263af0c0d6c2ee45afb79bf74de1120e3636b786ece98765c10cb68\"\n        },\n        {\n          \"bytes\": 15374,\n          \"path\": \"projects/07-manufacturing/generated/width-change-review.json\",\n          \"sha256\": \"cf09687d73c2b62e3f0c0a0f389a377e91a219dbc7613526f56fdd0c68d9fb84\"\n        },\n        {\n          \"bytes\": 15444,\n          \"path\": \"projects/07-manufacturing/index.html\",\n          \"sha256\": \"679e88603de2bf41eaf7dccc9e71ba108b65fc956674f70a2892f703d55196a2\"\n        }\n      ],\n      \"roles\": {\n        \"fabrication-review\": \"projects/07-manufacturing/generated/pocket-arcade/review.json\",\n        \"tray-design\": \"projects/07-manufacturing/generated/pocket-arcade/tray.stl\"\n      },\n      \"gates\": [\n        {\n          \"id\": \"tray-geometry\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json\",\n            \"pointer\": \"/gates/tray-geometry/status\",\n            \"sha256\": \"1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d\"\n          }\n        },\n        {\n          \"id\": \"tray-review\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json\",\n            \"pointer\": \"/gates/tray-review/status\",\n            \"sha256\": \"1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d\"\n          }\n        },\n        {\n          \"id\": \"tray-unbuilt-disclosure\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json\",\n            \"pointer\": \"/gates/tray-unbuilt-disclosure/status\",\n            \"sha256\": \"1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d\"\n          }\n        }\n      ],\n      \"recordedCheckCount\": 3,\n      \"errors\": []\n    },\n    {\n      \"id\": \"09-handoff\",\n      \"label\": \"Infrastructure Foundation\",\n      \"interfaceId\": \"pocket-arcade/maintenance-handoff/1\",\n      \"status\": \"accepted-local\",\n      \"dependsOn\": [\n        \"01-game-studio\",\n        \"05-planner\",\n        \"07-manufacturing\"\n      ],\n      \"sourceCommit\": null,\n      \"contentChecksPassed\": true,\n      \"files\": [\n        {\n          \"bytes\": 2037,\n          \"path\": \"projects/09-handoff/ACCEPTANCE.json\",\n          \"sha256\": \"aa14e38494a5dcc07784e09bb0d47568febf8201545186b23828aa29d4f62dc4\"\n        },\n        {\n          \"bytes\": 4529,\n          \"path\": \"projects/09-handoff/HANDOFF.md\",\n          \"sha256\": \"9cc24b856b88313d8f271904b447c1a76711b2c7ced39b69109e9dfb4108abc3\"\n        },\n        {\n          \"bytes\": 2478,\n          \"path\": \"projects/09-handoff/artifacts/maintenance-contract.json\",\n          \"sha256\": \"ddb6c093c9b3c82a84cb7078ffa8471572a9488b6a7ee3c515a7dcb98473b99f\"\n        },\n        {\n          \"bytes\": 694,\n          \"path\": \"projects/09-handoff/artifacts/pocket-arcade-maintenance.json\",\n          \"sha256\": \"8e2a9b88295a2e544b652271154fb6330557c41281a33391052b347b61f8c618\"\n        },\n        {\n          \"bytes\": 843,\n          \"path\": \"projects/09-handoff/cli.py\",\n          \"sha256\": \"0ad68cb860a899670b81c3f3ff8643985b2152903b29d69fa660c7ec3d5a2744\"\n        },\n        {\n          \"bytes\": 14849,\n          \"path\": \"projects/09-handoff/evidence/after.json\",\n          \"sha256\": \"201aa38bcde353e1923bf92a8c2cd1d4ea8e625d4ea754e338fc2b462f6f7084\"\n        },\n        {\n          \"bytes\": 14884,\n          \"path\": \"projects/09-handoff/evidence/before.json\",\n          \"sha256\": \"5153692a37afe981e19cb9f98b24623f86b3bf8037bb35576b925801c4035646\"\n        },\n        {\n          \"bytes\": 8325,\n          \"path\": \"projects/09-handoff/evidence/continuation-baseline.json\",\n          \"sha256\": \"187ebb530c333312aadac7dadf3d1b5f8e2644feae1c6f3f0257a3713e056db8\"\n        },\n        {\n          \"bytes\": 14884,\n          \"path\": \"projects/09-handoff/evidence/continuation.json\",\n          \"sha256\": \"24433b15f8ca50c47548a8e41c13cca1a095f0b9b9d17146237cd03dd149d46c\"\n        },\n        {\n          \"bytes\": 3716,\n          \"path\": \"projects/09-handoff/evidence/historical-continuation.json\",\n          \"sha256\": \"965c9c1eb0a1c99036ad638444792ad45bfbe4321ae841cd87d8e782316032b6\"\n        },\n        {\n          \"bytes\": 4851,\n          \"path\": \"projects/09-handoff/evidence/input-hashes.json\",\n          \"sha256\": \"225ea0ba49f3cd830eb40d9ae943e5e44b0f5c5b85b2ebbe84e28b441db9d270\"\n        },\n        {\n          \"bytes\": 5999,\n          \"path\": \"projects/09-handoff/evidence/midpoint-receipt-ledger.py\",\n          \"sha256\": \"e18cc559250d313f8e2161a61e83c663e7a4678330f2ab0e729ee228753e49d8\"\n        },\n        {\n          \"bytes\": 14564,\n          \"path\": \"projects/09-handoff/evidence/package-checks.json\",\n          \"sha256\": \"94937b27177d63b229a40cc38d45915dc6c80c27a1f500ab7128f48650184324\"\n        },\n        {\n          \"bytes\": 10285,\n          \"path\": \"projects/09-handoff/evidence/public-integrity.json\",\n          \"sha256\": \"4391a0d6c28b47fb5c9e9fbd3a926fb82e897b25c68c170801f32509a276c837\"\n        },\n        {\n          \"bytes\": 3200,\n          \"path\": \"projects/09-handoff/evidence/recovery.json\",\n          \"sha256\": \"a03d3ef0484e4cd5ce99f1f6eef23fb4dca8d6fcde1b65e1b69e9aafad70d594\"\n        },\n        {\n          \"bytes\": 239,\n          \"path\": \"projects/09-handoff/evidence/repair.diff\",\n          \"sha256\": \"e6801fcd1bb4c73348f5787de6718b1fe664808a92339b20a2e1638ec1a93b62\"\n        },\n        {\n          \"bytes\": 7466,\n          \"path\": \"projects/09-handoff/evidence/result.json\",\n          \"sha256\": \"5ce58892864d37f27614e11448c5c6ca45352361d1b7b660753e2b87ee59967f\"\n        },\n        {\n          \"bytes\": 476,\n          \"path\": \"projects/09-handoff/fixtures/duplicate.jsonl\",\n          \"sha256\": \"ca1f5c0591cfe5dc4c7b2d713f4efe4e58a6cf58270683d84f2bd4248048b040\"\n        },\n        {\n          \"bytes\": 14680,\n          \"path\": \"projects/09-handoff/index.html\",\n          \"sha256\": \"5354cdeeafbaa4da03c48ee2dc8806c7b722ef6395d121b122ca0fbdd07aa020\"\n        },\n        {\n          \"bytes\": 6180,\n          \"path\": \"projects/09-handoff/provenance.json\",\n          \"sha256\": \"47e655e128dafeb9262c9c4ba0b720e35c808218c06474a3864b0bc9a07e645a\"\n        },\n        {\n          \"bytes\": 6010,\n          \"path\": \"projects/09-handoff/receipt_ledger.py\",\n          \"sha256\": \"9049da2028504b0f6e4940d589db74ab1f42eecd1042eee504518e01d87acdc2\"\n        }\n      ],\n      \"roles\": {\n        \"handoff\": \"projects/09-handoff/artifacts/maintenance-contract.json\",\n        \"maintenance-tool\": \"projects/09-handoff/cli.py\"\n      },\n      \"gates\": [\n        {\n          \"id\": \"maintenance-contract\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/09-handoff.json\",\n            \"pointer\": \"/gates/maintenance-contract/status\",\n            \"sha256\": \"5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87\"\n          }\n        },\n        {\n          \"id\": \"maintenance-reproducible\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/09-handoff.json\",\n            \"pointer\": \"/gates/maintenance-reproducible/status\",\n            \"sha256\": \"5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87\"\n          }\n        },\n        {\n          \"id\": \"maintenance-artifact-only\",\n          \"status\": \"recorded-pass\",\n          \"proof\": {\n            \"equals\": \"passed\",\n            \"path\": \"projects/10-pocket-arcade/evidence/acceptance/09-handoff.json\",\n            \"pointer\": \"/gates/maintenance-artifact-only/status\",\n            \"sha256\": \"5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87\"\n          }\n        }\n      ],\n      \"recordedCheckCount\": 7,\n      \"errors\": []\n    }\n  ],\n  \"inputFiles\": [\n    {\n      \"path\": \"projects/01-game-studio/README.md\",\n      \"sha256\": \"d8e4833c088e51d3107e09675b4a489cf4e62df98e48cb769d18f0a139111ea7\",\n      \"bytes\": 11318\n    },\n    {\n      \"path\": \"projects/01-game-studio/SOURCE-NOTICE.txt\",\n      \"sha256\": \"e0a2a72ab43ea4769236a84ca7e1628691198f630ee81b63cecce7bdb710bc67\",\n      \"bytes\": 1525\n    },\n    {\n      \"path\": \"projects/01-game-studio/app.js\",\n      \"sha256\": \"b6e70ca37a040dd7abdd2619448ea3981adc3a47272166177eb68a4633bc21b7\",\n      \"bytes\": 19754\n    },\n    {\n      \"path\": \"projects/01-game-studio/art/colony.svg\",\n      \"sha256\": \"6fffba6d758e70d0f8649c54677d3cda5c716c275e41101fe89afb008f64d089\",\n      \"bytes\": 3887\n    },\n    {\n      \"path\": \"projects/01-game-studio/builds.js\",\n      \"sha256\": \"bd53a5f05af425d24bfb868e6c67c300cc3bdef4bccf3b6d23f17e0115359237\",\n      \"bytes\": 1195\n    },\n    {\n      \"path\": \"projects/01-game-studio/controller.js\",\n      \"sha256\": \"a9d38a4a8b25766c8b712c52420e0ccd6b31350bbd751bba6770509ff07f6f50\",\n      \"bytes\": 2802\n    },\n    {\n      \"path\": \"projects/01-game-studio/engine.js\",\n      \"sha256\": \"0ff727d2d33562981844f933891568b250fe35d3fe0567a08f80606c2bb330b2\",\n      \"bytes\": 20368\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/cycle-01.json\",\n      \"sha256\": \"ae0cf7f2fa3b00e9bf7f78deec5debbfc85950c70a481653e84bda77e43a6ef5\",\n      \"bytes\": 1339\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/cycle-02.json\",\n      \"sha256\": \"7bb49cd48b0c31fd391cc94efefb047e4c585bc0503fb11bea7faebf3f40b88a\",\n      \"bytes\": 1436\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/cycle-03.json\",\n      \"sha256\": \"0a6faa18ac1bf1bd3700bd57c91bdf20085f6c4016ae4cd469124247f206588e\",\n      \"bytes\": 1708\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/result.json\",\n      \"sha256\": \"c6ef9f41366cd2aa2c138c92da7c64eaf732e1e6d1921373b3dbfd2a7b5e7358\",\n      \"bytes\": 31806\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-01-after.json\",\n      \"sha256\": \"72411b3719f09690ace0f3335c41be2d2667312d890698d7b74d6caf33811ac2\",\n      \"bytes\": 106397\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-01-before.json\",\n      \"sha256\": \"143ad206586ced7cf3967df9d0066ca09a9ae86e4be7c431f58243dcb5f9c5ae\",\n      \"bytes\": 140551\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-02-after.json\",\n      \"sha256\": \"1f8b5b9402beb9048760485af7dd992ac086e4f345e59adb5e5f67a6753d8739\",\n      \"bytes\": 140775\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-02-before.json\",\n      \"sha256\": \"148d1e3aa41342eabbcc0b137abe9b68f76fa8d0f0a39f860ec2ffb12f65b61c\",\n      \"bytes\": 141241\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-03-after.json\",\n      \"sha256\": \"bed57cd5861a0a37fe28965123aaac3e799bb3c14afbd5f8e1bb32ecb4f52f2f\",\n      \"bytes\": 95621\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-03-before.json\",\n      \"sha256\": \"ea657aa2747e54b1ec1ca0ac664a7e67be857304d4a3ed07d85bb318293bc416\",\n      \"bytes\": 142003\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/release-trained.json\",\n      \"sha256\": \"7bf21e19f7c90926486f7e71e69ad597307c32886f4638418198b456239a814f\",\n      \"bytes\": 95462\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/release-untaught.json\",\n      \"sha256\": \"358fe5273ba4dbb9d494d4953f3f2d3da401e63715fdce026b4d476de48725f3\",\n      \"bytes\": 138619\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/source-review.json\",\n      \"sha256\": \"b6f28386b05dbce9e916fe1095a55e29bfbac6be7f0453c2dde907839844392f\",\n      \"bytes\": 6571\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/validation-history.json\",\n      \"sha256\": \"be1e78b4d2427b470306c193ad7bafeb701b69041761812ab5adfd678caf873b\",\n      \"bytes\": 1750\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/validation.tap\",\n      \"sha256\": \"2b6cd0c19678a3f375553631b6d2f78285cdd0f2152e1c18365a260c011e45da\",\n      \"bytes\": 7687\n    },\n    {\n      \"path\": \"projects/01-game-studio/index.html\",\n      \"sha256\": \"08b979b1d51e291f79d4380400758224cc263aa5f95ba07016a7ad9fe575c6c9\",\n      \"bytes\": 15380\n    },\n    {\n      \"path\": \"projects/01-game-studio/manifest.json\",\n      \"sha256\": \"1b3d370adc0716951a7ed8057d0436191354308b8d564ca9d1735878eda549d1\",\n      \"bytes\": 2894\n    },\n    {\n      \"path\": \"projects/01-game-studio/replay-data.js\",\n      \"sha256\": \"064e12df38169d1b661ef709e48bf9faec0462138743894bee7c4648a5dc0328\",\n      \"bytes\": 235650\n    },\n    {\n      \"path\": \"projects/05-planner/README.md\",\n      \"sha256\": \"0963c67f913fa7d2cb487dd5b6873a7fabb7e19a6712ca6a6ce05e5a2b755f60\",\n      \"bytes\": 17862\n    },\n    {\n      \"path\": \"projects/05-planner/app.bundle.js\",\n      \"sha256\": \"17460cfcf3b391baab3ad043527ae3c1c3234fee3fdf93d9948804a32e49dd13\",\n      \"bytes\": 60587\n    },\n    {\n      \"path\": \"projects/05-planner/app.mjs\",\n      \"sha256\": \"20683e1cb376ac07d6d20a3f68c331af3eb6afbeb6bac186ea75c0feb449c823\",\n      \"bytes\": 20971\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/LICENSE\",\n      \"sha256\": \"3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f\",\n      \"bytes\": 1079\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/acceptance-cases.json\",\n      \"sha256\": \"6d823e958e25f9ef223e352fa146471011cf77b41f9277caf7a11c72c00378ef\",\n      \"bytes\": 2093\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/initialize.json\",\n      \"sha256\": \"dd8fa1284950733c20521dfd516cd5b5baa98ff398ffc3da6065eef8232fe947\",\n      \"bytes\": 4176\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/intake.json\",\n      \"sha256\": \"774ebdde3a4f88174cb503bf315156b4d4909cfb9d1b3144203c256463b88cc2\",\n      \"bytes\": 1364\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/sample-agenda.json\",\n      \"sha256\": \"9782d287e0e1cc50e233e7e22a0d30dc2c402f430a1cde51555464637700bedc\",\n      \"bytes\": 776\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/seed.json\",\n      \"sha256\": \"a954c9350bc3f2b9ccbb542479387992c49f00dbb27bc147d592b45c287c6bb5\",\n      \"bytes\": 5958\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/task-board.json\",\n      \"sha256\": \"4f13a54cf3573220743b9916466f493ecde81f975192e4e77791d1727fc98a75\",\n      \"bytes\": 10798\n    },\n    {\n      \"path\": \"projects/05-planner/docs/FAQ.md\",\n      \"sha256\": \"ee83afd580c296073ee12f2fdf8b24784c0bdde96d439893cff748507fe99d1b\",\n      \"bytes\": 6173\n    },\n    {\n      \"path\": \"projects/05-planner/docs/launch-draft.md\",\n      \"sha256\": \"cd69c248693d7a9b56d1293f7a1fc928a4fd5359cc59569a37b480ab9647285b\",\n      \"bytes\": 5500\n    },\n    {\n      \"path\": \"projects/05-planner/docs/manual-checks.json\",\n      \"sha256\": \"86963a3a9014b268fe999364c90c5f6ddd5902b4c93d947e7a9e2ace52466412\",\n      \"bytes\": 3012\n    },\n    {\n      \"path\": \"projects/05-planner/docs/task-mapping.md\",\n      \"sha256\": \"61882809d58571cafac263f8debded5b6c1eaeafc430e14c105150a0b63fbb08\",\n      \"bytes\": 5613\n    },\n    {\n      \"path\": \"projects/05-planner/editor.mjs\",\n      \"sha256\": \"4fc41b34deb74fb30d983eef286bb938c98c26eb1f3323ecf822aa3405a195f6\",\n      \"bytes\": 3637\n    },\n    {\n      \"path\": \"projects/05-planner/engine.mjs\",\n      \"sha256\": \"66a9abbcc9c3a0c00dc7841ed5b36c78a3d3349a74bf80178202818d791974cf\",\n      \"bytes\": 30634\n    },\n    {\n      \"path\": \"projects/05-planner/evidence/check-01.tap\",\n      \"sha256\": \"8fa9855b95f648f478fcb84f55006a36ba2bcd930ff2f1ee60cd4e33242fa6b7\",\n      \"bytes\": 17669\n    },\n    {\n      \"path\": \"projects/05-planner/evidence/fixture-results.json\",\n      \"sha256\": \"89f0367aef4eea8bda6d3b84b37eb627faea7df665ecbab3f4a2326af6342961\",\n      \"bytes\": 170405\n    },\n    {\n      \"path\": \"projects/05-planner/evidence/result.json\",\n      \"sha256\": \"eefe648291d704f7e603d7beafd0eaa90e80a72eddf9450dba9ceef6be1e591a\",\n      \"bytes\": 11988\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/adversarial.json\",\n      \"sha256\": \"d6bcc8a42612d8dc4421799cab5011609ef30c1b52084319b16fbf0a3f3e160d\",\n      \"bytes\": 14559\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/boundary.json\",\n      \"sha256\": \"a76fdb85867c4ec120057da3a4ab1e6f576414b6a8bbf454589be9ef0c418e86\",\n      \"bytes\": 1117\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/disjoint.json\",\n      \"sha256\": \"96220fed3ab1ed7a026fffd77827ea04017830ad09a668b1e64afa33932d9fb0\",\n      \"bytes\": 675\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/library.json\",\n      \"sha256\": \"24785a9694b54d2be2501668e43eedd6721a6fe11a8662434f778c0cc316e039\",\n      \"bytes\": 2320\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/pocket-arcade.json\",\n      \"sha256\": \"44d916e056b463535eb051a4260b6c967d63d8d6aab87df73d6a59f858c92987\",\n      \"bytes\": 2331\n    },\n    {\n      \"path\": \"projects/05-planner/index.html\",\n      \"sha256\": \"c7dfe6eb8ea1115526d7cc1053a5293ecb19dfb2aa907af448906de158d0fd4e\",\n      \"bytes\": 11528\n    },\n    {\n      \"path\": \"projects/05-planner/manifest.json\",\n      \"sha256\": \"be32190db7b40a42850abddd7799b6496983068aa31b63af758bcad5f20b9534\",\n      \"bytes\": 3954\n    },\n    {\n      \"path\": \"projects/05-planner/presets.mjs\",\n      \"sha256\": \"d34d05e0d6ad0a82ee05e44aa0093cc298e7070d8d083f1ebe139bac73e5c3e8\",\n      \"bytes\": 5279\n    },\n    {\n      \"path\": \"projects/05-planner/provenance.json\",\n      \"sha256\": \"c4084cb90b629b3f38fd10092a82b4e05f57720b760fe3f71561199bd638b911\",\n      \"bytes\": 7227\n    },\n    {\n      \"path\": \"projects/05-planner/styles.css\",\n      \"sha256\": \"4a9aa347b065a9ba43968a73a3e02f6ba22102dd4b92df6d78caedbe5727773c\",\n      \"bytes\": 13503\n    },\n    {\n      \"path\": \"projects/07-manufacturing/README.md\",\n      \"sha256\": \"f829844b24ba6750a53605b4dd38aaf82d06cda3d1ca09a76dce3b320aa09855\",\n      \"bytes\": 12679\n    },\n    {\n      \"path\": \"projects/07-manufacturing/archive.js\",\n      \"sha256\": \"a0f7caf41e89fba417046b116e449ade26daeebaa34d802351972e975b894452\",\n      \"bytes\": 5608\n    },\n    {\n      \"path\": \"projects/07-manufacturing/data/seed/LICENSE\",\n      \"sha256\": \"3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f\",\n      \"bytes\": 1079\n    },\n    {\n      \"path\": \"projects/07-manufacturing/data/source-provenance.json\",\n      \"sha256\": \"ff9ebc63293fa22850d0dc5158c68554da11e65202cc03d74fda8c7235a0411e\",\n      \"bytes\": 9779\n    },\n    {\n      \"path\": \"projects/07-manufacturing/engine.js\",\n      \"sha256\": \"25b74446b12969572c9f277e63d789442a81ea82da7ba3bee49e3072b13bde21\",\n      \"bytes\": 29570\n    },\n    {\n      \"path\": \"projects/07-manufacturing/evidence/mesh-validation.json\",\n      \"sha256\": \"2ec090e0dd12278e0633e5458c0d25eb8f2098dd723359fb30edaaca70482780\",\n      \"bytes\": 7648\n    },\n    {\n      \"path\": \"projects/07-manufacturing/evidence/result.json\",\n      \"sha256\": \"0bc726b20fac76877a5983128b26cbd1c85258d3a3c3c6696548d83fa67bfacf\",\n      \"bytes\": 8474\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/artifact-index.json\",\n      \"sha256\": \"25b083eb5de2aa575ccabaff1d38d52831c79ab0e62ac84bb19e740ce0be0875\",\n      \"bytes\": 8348\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/assembly.txt\",\n      \"sha256\": \"f1668543f68c578d48abcb3b218f76eb784e98ac4397669b53654eb447d4b70a\",\n      \"bytes\": 3272\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/bom.csv\",\n      \"sha256\": \"4bc5172c43dcc177fc74d8ddaf56e179f0e3274478078598d409ab95b32b5e53\",\n      \"bytes\": 211\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/drawing.svg\",\n      \"sha256\": \"f563588101579b896154b4dec4190837e4855185ea77e1b50caaae47ba9e604e\",\n      \"bytes\": 3314\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/insert.stl\",\n      \"sha256\": \"089f753c24c844e3a2fa68fb3fc0b102b745ba9f3174d25803ff4d905e719607\",\n      \"bytes\": 7637\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/inspection.csv\",\n      \"sha256\": \"716b5bd6c1576d52f031572182fab47978f99e2b2b245a947fc4827446464bca\",\n      \"bytes\": 1013\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/parameters.json\",\n      \"sha256\": \"662f1240a503e83173263f874b35cc743ad6c917ad1378a911b09ac6b41e7d29\",\n      \"bytes\": 2068\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/review-bundle.zip\",\n      \"sha256\": \"56b62285ebee052f5010c9e3689133f6996ede3960fe0bdd6150da6e419813d8\",\n      \"bytes\": 112962\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/review.json\",\n      \"sha256\": \"8354f402b7a00620c11025c41e442c70bd820f680b3e98732b92cb5290d77541\",\n      \"bytes\": 6509\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/tray.stl\",\n      \"sha256\": \"0955ecd650e09d8c37a204503a29a8586f847dab5b2ed93c54239f244d4d4168\",\n      \"bytes\": 11295\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/comparison.json\",\n      \"sha256\": \"cf2a334e066165b2ea4a3c6f42144fc42fba4e37269020cd4046cdc0759afee0\",\n      \"bytes\": 6017\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/assembly.txt\",\n      \"sha256\": \"2500adf028800f331996412bd823518c459fb849a6508050da0f7476934544eb\",\n      \"bytes\": 3481\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/bom.csv\",\n      \"sha256\": \"e11d11dd6dc67217ff22c637aeb3cfa30c40e367ffef2c96b317b1abedc98ecc\",\n      \"bytes\": 213\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/drawing.svg\",\n      \"sha256\": \"980908f22e0360d7399ab8c44d94463ded029b9641914fdec85dc76dbf28d6e8\",\n      \"bytes\": 3517\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/insert.stl\",\n      \"sha256\": \"34e9872a27a4316dae44a27c85a7ea3601ce4b1cc15da8205c9531630e41148c\",\n      \"bytes\": 12695\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/inspection.csv\",\n      \"sha256\": \"92ff667e1bb37902084916349d4b27d00a2b57a657763a28e1ccbbe99cb532c4\",\n      \"bytes\": 1015\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/parameters.json\",\n      \"sha256\": \"3a385a3a45e7d6b05df2d4b0a248bcdebbc7316c7e7954c925bb16e1ce8f6042\",\n      \"bytes\": 2075\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/review-bundle.zip\",\n      \"sha256\": \"f002197852d13842f47a79adea687a7aae9e99a9ee7f91cce027026773122472\",\n      \"bytes\": 122785\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/review.json\",\n      \"sha256\": \"cff5dd27b6e8be9dfbde03bcfdf37082dc63dc9e784ffe6c554d99a7452322ae\",\n      \"bytes\": 6698\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/tray.stl\",\n      \"sha256\": \"45c77711b7a4a90a9423a999c3bb11dd5e2f8949d9c2dea5e8d655ef6c13f66e\",\n      \"bytes\": 11361\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/seed-review.json\",\n      \"sha256\": \"20262c86f93fef15b1bd41fc4a47a535c9ff2b8d36ede6d2115135843e5e19fc\",\n      \"bytes\": 3243\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/assembly.txt\",\n      \"sha256\": \"0711bd29351830614fe06fd0cbd1e9a5312b5f51d150d758672f854c37d7c1d5\",\n      \"bytes\": 3270\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/bom.csv\",\n      \"sha256\": \"8b50b7e626842785505ecf629b5e0a9774d07bb8a6e21f42686f2182de7963e3\",\n      \"bytes\": 215\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/drawing.svg\",\n      \"sha256\": \"2e9af32a8f53f6c4a22db6759d3cceef8410ec7b54b37fb954beb4c27626e4cb\",\n      \"bytes\": 3523\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/insert.stl\",\n      \"sha256\": \"694eb6a9805dc6b3994d0faf59d9ff23f4aef9d66532f23f23915e62e30ecf59\",\n      \"bytes\": 14099\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/inspection.csv\",\n      \"sha256\": \"3b9a43e9bb25d148b71f2bbce40471c6697c96cccd7d566f086eba867dd51184\",\n      \"bytes\": 1015\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/parameters.json\",\n      \"sha256\": \"259747d570c14d31f2b75f2fdce157a2888f020fd90a443e9933f07f403c5925\",\n      \"bytes\": 2069\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/review-bundle.zip\",\n      \"sha256\": \"84cc35becb3c44a264c2ff4a8eeb18a355acf223a99ab27635b29d7c56121769\",\n      \"bytes\": 123377\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/review.json\",\n      \"sha256\": \"81d55c00bbb3cfe88a06f79e385b71f1d63baa0d50a909631f9b4f533a5c3f0d\",\n      \"bytes\": 6630\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/tray.stl\",\n      \"sha256\": \"e9867703e41a622687824a50caec4cbcf6e9ec2caa55898067257428868816a6\",\n      \"bytes\": 11361\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/synthetic-inspection.json\",\n      \"sha256\": \"ff5674e8a263af0c0d6c2ee45afb79bf74de1120e3636b786ece98765c10cb68\",\n      \"bytes\": 2916\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/width-change-review.json\",\n      \"sha256\": \"cf09687d73c2b62e3f0c0a0f389a377e91a219dbc7613526f56fdd0c68d9fb84\",\n      \"bytes\": 15374\n    },\n    {\n      \"path\": \"projects/07-manufacturing/index.html\",\n      \"sha256\": \"679e88603de2bf41eaf7dccc9e71ba108b65fc956674f70a2892f703d55196a2\",\n      \"bytes\": 15444\n    },\n    {\n      \"path\": \"projects/07-manufacturing/manifest.json\",\n      \"sha256\": \"a22c4de25c8d32372bc50f87a04f08996c1711a3ebd30bbbcea73545c13fb537\",\n      \"bytes\": 5079\n    },\n    {\n      \"path\": \"projects/09-handoff/ACCEPTANCE.json\",\n      \"sha256\": \"aa14e38494a5dcc07784e09bb0d47568febf8201545186b23828aa29d4f62dc4\",\n      \"bytes\": 2037\n    },\n    {\n      \"path\": \"projects/09-handoff/HANDOFF.md\",\n      \"sha256\": \"9cc24b856b88313d8f271904b447c1a76711b2c7ced39b69109e9dfb4108abc3\",\n      \"bytes\": 4529\n    },\n    {\n      \"path\": \"projects/09-handoff/artifacts/maintenance-contract.json\",\n      \"sha256\": \"ddb6c093c9b3c82a84cb7078ffa8471572a9488b6a7ee3c515a7dcb98473b99f\",\n      \"bytes\": 2478\n    },\n    {\n      \"path\": \"projects/09-handoff/artifacts/pocket-arcade-maintenance.json\",\n      \"sha256\": \"8e2a9b88295a2e544b652271154fb6330557c41281a33391052b347b61f8c618\",\n      \"bytes\": 694\n    },\n    {\n      \"path\": \"projects/09-handoff/cli.py\",\n      \"sha256\": \"0ad68cb860a899670b81c3f3ff8643985b2152903b29d69fa660c7ec3d5a2744\",\n      \"bytes\": 843\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/after.json\",\n      \"sha256\": \"201aa38bcde353e1923bf92a8c2cd1d4ea8e625d4ea754e338fc2b462f6f7084\",\n      \"bytes\": 14849\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/before.json\",\n      \"sha256\": \"5153692a37afe981e19cb9f98b24623f86b3bf8037bb35576b925801c4035646\",\n      \"bytes\": 14884\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/continuation-baseline.json\",\n      \"sha256\": \"187ebb530c333312aadac7dadf3d1b5f8e2644feae1c6f3f0257a3713e056db8\",\n      \"bytes\": 8325\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/continuation.json\",\n      \"sha256\": \"24433b15f8ca50c47548a8e41c13cca1a095f0b9b9d17146237cd03dd149d46c\",\n      \"bytes\": 14884\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/historical-continuation.json\",\n      \"sha256\": \"965c9c1eb0a1c99036ad638444792ad45bfbe4321ae841cd87d8e782316032b6\",\n      \"bytes\": 3716\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/input-hashes.json\",\n      \"sha256\": \"225ea0ba49f3cd830eb40d9ae943e5e44b0f5c5b85b2ebbe84e28b441db9d270\",\n      \"bytes\": 4851\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/midpoint-receipt-ledger.py\",\n      \"sha256\": \"e18cc559250d313f8e2161a61e83c663e7a4678330f2ab0e729ee228753e49d8\",\n      \"bytes\": 5999\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/package-checks.json\",\n      \"sha256\": \"94937b27177d63b229a40cc38d45915dc6c80c27a1f500ab7128f48650184324\",\n      \"bytes\": 14564\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/public-integrity.json\",\n      \"sha256\": \"4391a0d6c28b47fb5c9e9fbd3a926fb82e897b25c68c170801f32509a276c837\",\n      \"bytes\": 10285\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/recovery.json\",\n      \"sha256\": \"a03d3ef0484e4cd5ce99f1f6eef23fb4dca8d6fcde1b65e1b69e9aafad70d594\",\n      \"bytes\": 3200\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/repair.diff\",\n      \"sha256\": \"e6801fcd1bb4c73348f5787de6718b1fe664808a92339b20a2e1638ec1a93b62\",\n      \"bytes\": 239\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/result.json\",\n      \"sha256\": \"5ce58892864d37f27614e11448c5c6ca45352361d1b7b660753e2b87ee59967f\",\n      \"bytes\": 7466\n    },\n    {\n      \"path\": \"projects/09-handoff/fixtures/duplicate.jsonl\",\n      \"sha256\": \"ca1f5c0591cfe5dc4c7b2d713f4efe4e58a6cf58270683d84f2bd4248048b040\",\n      \"bytes\": 476\n    },\n    {\n      \"path\": \"projects/09-handoff/index.html\",\n      \"sha256\": \"5354cdeeafbaa4da03c48ee2dc8806c7b722ef6395d121b122ca0fbdd07aa020\",\n      \"bytes\": 14680\n    },\n    {\n      \"path\": \"projects/09-handoff/manifest.json\",\n      \"sha256\": \"d33edc9dc7c6346f52c8be7767f3a18d62fa69e0539744e7f33e1688d26084f8\",\n      \"bytes\": 3648\n    },\n    {\n      \"path\": \"projects/09-handoff/provenance.json\",\n      \"sha256\": \"47e655e128dafeb9262c9c4ba0b720e35c808218c06474a3864b0bc9a07e645a\",\n      \"bytes\": 6180\n    },\n    {\n      \"path\": \"projects/09-handoff/receipt_ledger.py\",\n      \"sha256\": \"9049da2028504b0f6e4940d589db74ab1f42eecd1042eee504518e01d87acdc2\",\n      \"bytes\": 6010\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/app.js\",\n      \"sha256\": \"b2e9ed0b18d5725f1ec5a64d6bcca19cc2559598734ba05f137db0c830bf1e16\",\n      \"bytes\": 12758\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/connected-data.json\",\n      \"sha256\": \"811dc603d1d276655e95f0385c2cfedfb970773e6edff723fcf3195f2f7e94de\",\n      \"bytes\": 9395\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/operator-kit.html\",\n      \"sha256\": \"c2c4fc4e0510a4c87b3ace84828bda40a84007d4fd10a56dce3dd430b00d12a4\",\n      \"bytes\": 6553\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/tournament-analysis.json\",\n      \"sha256\": \"60715d1a114438114a50cd1afebfe3ea1618894b4f32e8cd0c1031f2a6e26195\",\n      \"bytes\": 4197\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/tournament-proposal.json\",\n      \"sha256\": \"35fc944ddc44fa7c15e5bd6194550f44ab075ab891c35948fa151f6844f5c561\",\n      \"bytes\": 8742\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/capture_checks.py\",\n      \"sha256\": \"f6a54b92f7ffb99a3a00b9c218e34d854fd3408cba82d6c4edd188183c8962e9\",\n      \"bytes\": 7028\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/connected-data.js\",\n      \"sha256\": \"0f4b540b8279aabeef0ec62600baefe5824cb868f9c7dc2adcfce2598f9b365c\",\n      \"bytes\": 9508\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/consume.py\",\n      \"sha256\": \"7f5380a5b7e8d2fdbedcdc792a1696cb9c6e77a3de426569cceaa95bd25bb659\",\n      \"bytes\": 32784\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/contract.json\",\n      \"sha256\": \"8eec668eeef221e3cdefd3d96e1cb3ed65dae97cc6b3c5e6d73032c089481345\",\n      \"bytes\": 8528\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/contributions.json\",\n      \"sha256\": \"9fb0c439dce5b71b8941a0152883d0da80d83730effe43e725a6721ecec2b5da\",\n      \"bytes\": 43548\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json\",\n      \"sha256\": \"b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a\",\n      \"bytes\": 2606\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/05-planner.json\",\n      \"sha256\": \"edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2\",\n      \"bytes\": 3169\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json\",\n      \"sha256\": \"1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d\",\n      \"bytes\": 2781\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/09-handoff.json\",\n      \"sha256\": \"5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87\",\n      \"bytes\": 3684\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/01-game-studio-0.txt\",\n      \"sha256\": \"5a6f873af1b012debef1147bb3bb7efb9ed5aac6c187c4c39acb2390cc715ddb\",\n      \"bytes\": 7694\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/01-game-studio-1.txt\",\n      \"sha256\": \"df2f09429ff317d0f2ed764ceee63ba42acdbb2c03a11dd21da7a51be5b35d94\",\n      \"bytes\": 266\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/01-game-studio-runs.json\",\n      \"sha256\": \"30bd07e4bdc8ade2e28a443444498fb80afd2a5a781c716ab842632c3e503e6f\",\n      \"bytes\": 6095\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-0.txt\",\n      \"sha256\": \"b2d7e9e524c1d1395805270256c282edd79c9800ac212d538bd07c78865fe59c\",\n      \"bytes\": 18057\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-1.txt\",\n      \"sha256\": \"7b09582120564f3be95f65d47bf3c667b4759c64a8c148b308356ea2c04c4fa3\",\n      \"bytes\": 178\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-2.txt\",\n      \"sha256\": \"ec5376cc4e3eed156e2fce04db32382b50a222bebcd7d341857907e146085b78\",\n      \"bytes\": 184\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-3.txt\",\n      \"sha256\": \"bc8477466ec99e63ff26f140b15047bad57645727b2ec13f9f82072104d32714\",\n      \"bytes\": 556\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-runs.json\",\n      \"sha256\": \"05aac2dffe390d7b48341a60d8278507c168b3cd25a72f25d6a6986010a1d99c\",\n      \"bytes\": 7582\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-0.txt\",\n      \"sha256\": \"a4555a38e8ae7e1ab4dc9b54922c70a9083e396814319b2760aded374baafe64\",\n      \"bytes\": 7232\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-1.txt\",\n      \"sha256\": \"0ab2b430d48fb795a469d4c1a950e87ffb60e18008560331668e8ad6b39de8c1\",\n      \"bytes\": 340\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-2.txt\",\n      \"sha256\": \"6d90167e4bbf44c1b5db47f6fbb3b71d9f574c9626f05246246784a50664b57c\",\n      \"bytes\": 281\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-runs.json\",\n      \"sha256\": \"d5a9684dbe55d0341787c53c5a4832d1c79b2fed2c115a650b51a48d56067f87\",\n      \"bytes\": 9644\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-0.txt\",\n      \"sha256\": \"670c62a847ff24f9a455b60b971d38943833526f6d2aa87890dcd1b04071c927\",\n      \"bytes\": 400\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-1.txt\",\n      \"sha256\": \"1f1bb1f392b60195f834a946f6d61649fd6073715b2445fc194f0372544f6eed\",\n      \"bytes\": 3551\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-2.txt\",\n      \"sha256\": \"2926eb4551bc15e6f2a93425cb85f516c955673898798af1d80acd576a37b104\",\n      \"bytes\": 1781\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-3.txt\",\n      \"sha256\": \"feef6bc84c5a1ddfb8d73220c5cd633f06480f625c42b62e4f3cb7e8e6a4f979\",\n      \"bytes\": 380\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-4.txt\",\n      \"sha256\": \"360ab3a34243b384507db346ba40d4cadd51fcd0c81546eea641e42309fa84a0\",\n      \"bytes\": 1379\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-5.txt\",\n      \"sha256\": \"c8e2549ad51494a608696c4eb95ba57884eb178db45bcf7673644755c39335de\",\n      \"bytes\": 1825\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-6.txt\",\n      \"sha256\": \"f4baabc870ac2e893dc7a39b9cb30dde10005108945ee52fae5b4d2e09b1de0b\",\n      \"bytes\": 680\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-runs.json\",\n      \"sha256\": \"d8d1a9eaaf226d565d3dc7762cf301faa08cceb47b8344998627f96551752c49\",\n      \"bytes\": 8167\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/index.html\",\n      \"sha256\": \"5d01c1a9cb8fa6ae461ca203db6efccf1f79774e22b4161da24def1e6b75703b\",\n      \"bytes\": 18975\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/model.js\",\n      \"sha256\": \"838ae2660c41db3b41e0e39943080fd63355e2808e4eeb70286154e2a9bdd7ec\",\n      \"bytes\": 16401\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/planner_bridge.mjs\",\n      \"sha256\": \"95f40ab0b2bd136c1dbc63fdb2dace2715a645aa5fe73093c8abc786e877b90b\",\n      \"bytes\": 9335\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/public_checks.py\",\n      \"sha256\": \"58fbea9e3ee62f70349f78626fe4a96728535de9e1d38cfbbabc8bc29f124ded\",\n      \"bytes\": 7431\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/style.css\",\n      \"sha256\": \"6b852371401818b39355797db3fab5312e3104d2f7bfe4676d04a9cf7851a5b9\",\n      \"bytes\": 19049\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/validate.py\",\n      \"sha256\": \"6f5fe280c410698fd95152740be8893d848a3fa27f9e7366e0cc7d0b3278127c\",\n      \"bytes\": 36087\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/verify_experience.cjs\",\n      \"sha256\": \"002fe3042059f1ef222bb1e90c32a70e0e9564f6b70348b3df69a8b53d1a1c05\",\n      \"bytes\": 13856\n    }\n  ],\n  \"errors\": [],\n  \"limitations\": [\n    \"Hashes establish local byte consistency, not authenticity, signatures or native authority.\",\n    \"Acceptance fields and command outputs are recorded evidence; this validator never executes partner code.\",\n    \"A content pass does not establish live browser usability, physical fabrication, publication or commercial acceptance.\",\n    \"No private stores are loaded and no external effects are performed.\"\n  ],\n  \"summary\": {\n    \"requiredContributions\": 4,\n    \"acceptedLocalContributions\": 4,\n    \"acceptedFixtureContributions\": 0,\n    \"verifiedLocalContributions\": 4,\n    \"verifiedFixtureContributions\": 0,\n    \"dependencyBlockedContributions\": 0,\n    \"awaitingContributions\": [],\n    \"recordedCheckCount\": 16,\n    \"inputFileCount\": 158\n  }\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "node",
            "projects/10-pocket-arcade/verify_experience.cjs",
            "--root",
            "."
          ],
          "startedAt": "2026-09-19T14:01:13.958903+00:00",
          "durationSeconds": 0.0592,
          "exitCode": 0,
          "stdout": "{\n  \"schema\": \"pocket-arcade-experience-verification/1\",\n  \"status\": \"local-technical-checks-passed\",\n  \"execution\": \"Actual hub scripts and actual approved file bytes, exercised in an original non-rendering DOM double with filesystem-backed in-memory transport.\",\n  \"realBrowserUsed\": false,\n  \"servicesStarted\": false,\n  \"componentFilesModified\": false,\n  \"nativeOrOwnerApproval\": false,\n  \"humanFunVerified\": false,\n  \"marketValidated\": false,\n  \"physicalFabricationApproved\": false,\n  \"showcasePublicationAuthorized\": true,\n  \"deploymentPerformedByThisCheck\": false,\n  \"repositoryBasePathChecked\": \"/hive-showcase/\",\n  \"checks\": [\n    {\n      \"id\": \"actual-four-component-byte-verification\",\n      \"status\": \"passed\",\n      \"inputHashesChecked\": 158\n    },\n    {\n      \"id\": \"four-original-station-links-and-real-data\",\n      \"status\": \"passed\",\n      \"plannerRefusalRetained\": true\n    },\n    {\n      \"id\": \"notes-data-never-becomes-acceptance\",\n      \"status\": \"passed\",\n      \"scope\": \"Blob payload/DOM contract, not a real browser save\"\n    },\n    {\n      \"id\": \"direct-file-flow-without-neighbor-fetch\",\n      \"status\": \"passed\",\n      \"actualFileProtocolBrowserTest\": false\n    },\n    {\n      \"id\": \"missing-component-fault-refused\",\n      \"status\": \"passed\",\n      \"injectedOnlyInMemory\": true\n    },\n    {\n      \"id\": \"changed-byte-fault-refused\",\n      \"status\": \"passed\",\n      \"injectedOnlyInMemory\": true\n    },\n    {\n      \"id\": \"fixture-report-never-establishes-real-integration\",\n      \"status\": \"passed\",\n      \"syntheticReportOnly\": true\n    }\n  ],\n  \"sourceFiles\": [\n    {\n      \"path\": \"assets/shared.css\",\n      \"sha256\": \"19b17585729cd7f652c35dc1fa780e144347eee600bebe47951b0fa68c0c784e\",\n      \"bytes\": 2808\n    },\n    {\n      \"path\": \"index.html\",\n      \"sha256\": \"52506788022c4dc709cc327167a4d43abc1f7f58d07729fc58d7866e362c39be\",\n      \"bytes\": 3998\n    },\n    {\n      \"path\": \"projects/01-game-studio/app.js\",\n      \"sha256\": \"b6e70ca37a040dd7abdd2619448ea3981adc3a47272166177eb68a4633bc21b7\",\n      \"bytes\": 19754\n    },\n    {\n      \"path\": \"projects/01-game-studio/art/colony.svg\",\n      \"sha256\": \"6fffba6d758e70d0f8649c54677d3cda5c716c275e41101fe89afb008f64d089\",\n      \"bytes\": 3887\n    },\n    {\n      \"path\": \"projects/01-game-studio/builds.js\",\n      \"sha256\": \"bd53a5f05af425d24bfb868e6c67c300cc3bdef4bccf3b6d23f17e0115359237\",\n      \"bytes\": 1195\n    },\n    {\n      \"path\": \"projects/01-game-studio/controller.js\",\n      \"sha256\": \"a9d38a4a8b25766c8b712c52420e0ccd6b31350bbd751bba6770509ff07f6f50\",\n      \"bytes\": 2802\n    },\n    {\n      \"path\": \"projects/01-game-studio/engine.js\",\n      \"sha256\": \"0ff727d2d33562981844f933891568b250fe35d3fe0567a08f80606c2bb330b2\",\n      \"bytes\": 20368\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/cycle-01.json\",\n      \"sha256\": \"ae0cf7f2fa3b00e9bf7f78deec5debbfc85950c70a481653e84bda77e43a6ef5\",\n      \"bytes\": 1339\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/cycle-02.json\",\n      \"sha256\": \"7bb49cd48b0c31fd391cc94efefb047e4c585bc0503fb11bea7faebf3f40b88a\",\n      \"bytes\": 1436\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/cycle-03.json\",\n      \"sha256\": \"0a6faa18ac1bf1bd3700bd57c91bdf20085f6c4016ae4cd469124247f206588e\",\n      \"bytes\": 1708\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/result.json\",\n      \"sha256\": \"c6ef9f41366cd2aa2c138c92da7c64eaf732e1e6d1921373b3dbfd2a7b5e7358\",\n      \"bytes\": 31806\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-01-after.json\",\n      \"sha256\": \"72411b3719f09690ace0f3335c41be2d2667312d890698d7b74d6caf33811ac2\",\n      \"bytes\": 106397\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-01-before.json\",\n      \"sha256\": \"143ad206586ced7cf3967df9d0066ca09a9ae86e4be7c431f58243dcb5f9c5ae\",\n      \"bytes\": 140551\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-02-after.json\",\n      \"sha256\": \"1f8b5b9402beb9048760485af7dd992ac086e4f345e59adb5e5f67a6753d8739\",\n      \"bytes\": 140775\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-02-before.json\",\n      \"sha256\": \"148d1e3aa41342eabbcc0b137abe9b68f76fa8d0f0a39f860ec2ffb12f65b61c\",\n      \"bytes\": 141241\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-03-after.json\",\n      \"sha256\": \"bed57cd5861a0a37fe28965123aaac3e799bb3c14afbd5f8e1bb32ecb4f52f2f\",\n      \"bytes\": 95621\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/cycle-03-before.json\",\n      \"sha256\": \"ea657aa2747e54b1ec1ca0ac664a7e67be857304d4a3ed07d85bb318293bc416\",\n      \"bytes\": 142003\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/release-trained.json\",\n      \"sha256\": \"7bf21e19f7c90926486f7e71e69ad597307c32886f4638418198b456239a814f\",\n      \"bytes\": 95462\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/runs/release-untaught.json\",\n      \"sha256\": \"358fe5273ba4dbb9d494d4953f3f2d3da401e63715fdce026b4d476de48725f3\",\n      \"bytes\": 138619\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/source-review.json\",\n      \"sha256\": \"b6f28386b05dbce9e916fe1095a55e29bfbac6be7f0453c2dde907839844392f\",\n      \"bytes\": 6571\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/validation-history.json\",\n      \"sha256\": \"be1e78b4d2427b470306c193ad7bafeb701b69041761812ab5adfd678caf873b\",\n      \"bytes\": 1750\n    },\n    {\n      \"path\": \"projects/01-game-studio/evidence/validation.tap\",\n      \"sha256\": \"2b6cd0c19678a3f375553631b6d2f78285cdd0f2152e1c18365a260c011e45da\",\n      \"bytes\": 7687\n    },\n    {\n      \"path\": \"projects/01-game-studio/index.html\",\n      \"sha256\": \"08b979b1d51e291f79d4380400758224cc263aa5f95ba07016a7ad9fe575c6c9\",\n      \"bytes\": 15380\n    },\n    {\n      \"path\": \"projects/01-game-studio/manifest.json\",\n      \"sha256\": \"1b3d370adc0716951a7ed8057d0436191354308b8d564ca9d1735878eda549d1\",\n      \"bytes\": 2894\n    },\n    {\n      \"path\": \"projects/01-game-studio/README.md\",\n      \"sha256\": \"d8e4833c088e51d3107e09675b4a489cf4e62df98e48cb769d18f0a139111ea7\",\n      \"bytes\": 11318\n    },\n    {\n      \"path\": \"projects/01-game-studio/replay-data.js\",\n      \"sha256\": \"064e12df38169d1b661ef709e48bf9faec0462138743894bee7c4648a5dc0328\",\n      \"bytes\": 235650\n    },\n    {\n      \"path\": \"projects/01-game-studio/SOURCE-NOTICE.txt\",\n      \"sha256\": \"e0a2a72ab43ea4769236a84ca7e1628691198f630ee81b63cecce7bdb710bc67\",\n      \"bytes\": 1525\n    },\n    {\n      \"path\": \"projects/05-planner/app.bundle.js\",\n      \"sha256\": \"17460cfcf3b391baab3ad043527ae3c1c3234fee3fdf93d9948804a32e49dd13\",\n      \"bytes\": 60587\n    },\n    {\n      \"path\": \"projects/05-planner/app.mjs\",\n      \"sha256\": \"20683e1cb376ac07d6d20a3f68c331af3eb6afbeb6bac186ea75c0feb449c823\",\n      \"bytes\": 20971\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/acceptance-cases.json\",\n      \"sha256\": \"6d823e958e25f9ef223e352fa146471011cf77b41f9277caf7a11c72c00378ef\",\n      \"bytes\": 2093\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/initialize.json\",\n      \"sha256\": \"dd8fa1284950733c20521dfd516cd5b5baa98ff398ffc3da6065eef8232fe947\",\n      \"bytes\": 4176\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/intake.json\",\n      \"sha256\": \"774ebdde3a4f88174cb503bf315156b4d4909cfb9d1b3144203c256463b88cc2\",\n      \"bytes\": 1364\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/LICENSE\",\n      \"sha256\": \"3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f\",\n      \"bytes\": 1079\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/sample-agenda.json\",\n      \"sha256\": \"9782d287e0e1cc50e233e7e22a0d30dc2c402f430a1cde51555464637700bedc\",\n      \"bytes\": 776\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/seed.json\",\n      \"sha256\": \"a954c9350bc3f2b9ccbb542479387992c49f00dbb27bc147d592b45c287c6bb5\",\n      \"bytes\": 5958\n    },\n    {\n      \"path\": \"projects/05-planner/data/source/task-board.json\",\n      \"sha256\": \"4f13a54cf3573220743b9916466f493ecde81f975192e4e77791d1727fc98a75\",\n      \"bytes\": 10798\n    },\n    {\n      \"path\": \"projects/05-planner/docs/FAQ.md\",\n      \"sha256\": \"ee83afd580c296073ee12f2fdf8b24784c0bdde96d439893cff748507fe99d1b\",\n      \"bytes\": 6173\n    },\n    {\n      \"path\": \"projects/05-planner/docs/launch-draft.md\",\n      \"sha256\": \"cd69c248693d7a9b56d1293f7a1fc928a4fd5359cc59569a37b480ab9647285b\",\n      \"bytes\": 5500\n    },\n    {\n      \"path\": \"projects/05-planner/docs/manual-checks.json\",\n      \"sha256\": \"86963a3a9014b268fe999364c90c5f6ddd5902b4c93d947e7a9e2ace52466412\",\n      \"bytes\": 3012\n    },\n    {\n      \"path\": \"projects/05-planner/docs/task-mapping.md\",\n      \"sha256\": \"61882809d58571cafac263f8debded5b6c1eaeafc430e14c105150a0b63fbb08\",\n      \"bytes\": 5613\n    },\n    {\n      \"path\": \"projects/05-planner/editor.mjs\",\n      \"sha256\": \"4fc41b34deb74fb30d983eef286bb938c98c26eb1f3323ecf822aa3405a195f6\",\n      \"bytes\": 3637\n    },\n    {\n      \"path\": \"projects/05-planner/engine.mjs\",\n      \"sha256\": \"66a9abbcc9c3a0c00dc7841ed5b36c78a3d3349a74bf80178202818d791974cf\",\n      \"bytes\": 30634\n    },\n    {\n      \"path\": \"projects/05-planner/evidence/check-01.tap\",\n      \"sha256\": \"8fa9855b95f648f478fcb84f55006a36ba2bcd930ff2f1ee60cd4e33242fa6b7\",\n      \"bytes\": 17669\n    },\n    {\n      \"path\": \"projects/05-planner/evidence/fixture-results.json\",\n      \"sha256\": \"89f0367aef4eea8bda6d3b84b37eb627faea7df665ecbab3f4a2326af6342961\",\n      \"bytes\": 170405\n    },\n    {\n      \"path\": \"projects/05-planner/evidence/result.json\",\n      \"sha256\": \"eefe648291d704f7e603d7beafd0eaa90e80a72eddf9450dba9ceef6be1e591a\",\n      \"bytes\": 11988\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/adversarial.json\",\n      \"sha256\": \"d6bcc8a42612d8dc4421799cab5011609ef30c1b52084319b16fbf0a3f3e160d\",\n      \"bytes\": 14559\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/boundary.json\",\n      \"sha256\": \"a76fdb85867c4ec120057da3a4ab1e6f576414b6a8bbf454589be9ef0c418e86\",\n      \"bytes\": 1117\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/disjoint.json\",\n      \"sha256\": \"96220fed3ab1ed7a026fffd77827ea04017830ad09a668b1e64afa33932d9fb0\",\n      \"bytes\": 675\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/library.json\",\n      \"sha256\": \"24785a9694b54d2be2501668e43eedd6721a6fe11a8662434f778c0cc316e039\",\n      \"bytes\": 2320\n    },\n    {\n      \"path\": \"projects/05-planner/fixtures/pocket-arcade.json\",\n      \"sha256\": \"44d916e056b463535eb051a4260b6c967d63d8d6aab87df73d6a59f858c92987\",\n      \"bytes\": 2331\n    },\n    {\n      \"path\": \"projects/05-planner/index.html\",\n      \"sha256\": \"c7dfe6eb8ea1115526d7cc1053a5293ecb19dfb2aa907af448906de158d0fd4e\",\n      \"bytes\": 11528\n    },\n    {\n      \"path\": \"projects/05-planner/manifest.json\",\n      \"sha256\": \"be32190db7b40a42850abddd7799b6496983068aa31b63af758bcad5f20b9534\",\n      \"bytes\": 3954\n    },\n    {\n      \"path\": \"projects/05-planner/presets.mjs\",\n      \"sha256\": \"d34d05e0d6ad0a82ee05e44aa0093cc298e7070d8d083f1ebe139bac73e5c3e8\",\n      \"bytes\": 5279\n    },\n    {\n      \"path\": \"projects/05-planner/provenance.json\",\n      \"sha256\": \"c4084cb90b629b3f38fd10092a82b4e05f57720b760fe3f71561199bd638b911\",\n      \"bytes\": 7227\n    },\n    {\n      \"path\": \"projects/05-planner/README.md\",\n      \"sha256\": \"0963c67f913fa7d2cb487dd5b6873a7fabb7e19a6712ca6a6ce05e5a2b755f60\",\n      \"bytes\": 17862\n    },\n    {\n      \"path\": \"projects/05-planner/styles.css\",\n      \"sha256\": \"4a9aa347b065a9ba43968a73a3e02f6ba22102dd4b92df6d78caedbe5727773c\",\n      \"bytes\": 13503\n    },\n    {\n      \"path\": \"projects/07-manufacturing/archive.js\",\n      \"sha256\": \"a0f7caf41e89fba417046b116e449ade26daeebaa34d802351972e975b894452\",\n      \"bytes\": 5608\n    },\n    {\n      \"path\": \"projects/07-manufacturing/data/seed/LICENSE\",\n      \"sha256\": \"3ca4ef7120c79e55fa3c113f2c6366a072b685018d2bf736ff2bcfceba57a77f\",\n      \"bytes\": 1079\n    },\n    {\n      \"path\": \"projects/07-manufacturing/data/source-provenance.json\",\n      \"sha256\": \"ff9ebc63293fa22850d0dc5158c68554da11e65202cc03d74fda8c7235a0411e\",\n      \"bytes\": 9779\n    },\n    {\n      \"path\": \"projects/07-manufacturing/engine.js\",\n      \"sha256\": \"25b74446b12969572c9f277e63d789442a81ea82da7ba3bee49e3072b13bde21\",\n      \"bytes\": 29570\n    },\n    {\n      \"path\": \"projects/07-manufacturing/evidence/mesh-validation.json\",\n      \"sha256\": \"2ec090e0dd12278e0633e5458c0d25eb8f2098dd723359fb30edaaca70482780\",\n      \"bytes\": 7648\n    },\n    {\n      \"path\": \"projects/07-manufacturing/evidence/result.json\",\n      \"sha256\": \"0bc726b20fac76877a5983128b26cbd1c85258d3a3c3c6696548d83fa67bfacf\",\n      \"bytes\": 8474\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/artifact-index.json\",\n      \"sha256\": \"25b083eb5de2aa575ccabaff1d38d52831c79ab0e62ac84bb19e740ce0be0875\",\n      \"bytes\": 8348\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/assembly.txt\",\n      \"sha256\": \"f1668543f68c578d48abcb3b218f76eb784e98ac4397669b53654eb447d4b70a\",\n      \"bytes\": 3272\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/bom.csv\",\n      \"sha256\": \"4bc5172c43dcc177fc74d8ddaf56e179f0e3274478078598d409ab95b32b5e53\",\n      \"bytes\": 211\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/drawing.svg\",\n      \"sha256\": \"f563588101579b896154b4dec4190837e4855185ea77e1b50caaae47ba9e604e\",\n      \"bytes\": 3314\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/insert.stl\",\n      \"sha256\": \"089f753c24c844e3a2fa68fb3fc0b102b745ba9f3174d25803ff4d905e719607\",\n      \"bytes\": 7637\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/inspection.csv\",\n      \"sha256\": \"716b5bd6c1576d52f031572182fab47978f99e2b2b245a947fc4827446464bca\",\n      \"bytes\": 1013\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/parameters.json\",\n      \"sha256\": \"662f1240a503e83173263f874b35cc743ad6c917ad1378a911b09ac6b41e7d29\",\n      \"bytes\": 2068\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/review-bundle.zip\",\n      \"sha256\": \"56b62285ebee052f5010c9e3689133f6996ede3960fe0bdd6150da6e419813d8\",\n      \"bytes\": 112962\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/review.json\",\n      \"sha256\": \"8354f402b7a00620c11025c41e442c70bd820f680b3e98732b92cb5290d77541\",\n      \"bytes\": 6509\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/compact/tray.stl\",\n      \"sha256\": \"0955ecd650e09d8c37a204503a29a8586f847dab5b2ed93c54239f244d4d4168\",\n      \"bytes\": 11295\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/comparison.json\",\n      \"sha256\": \"cf2a334e066165b2ea4a3c6f42144fc42fba4e37269020cd4046cdc0759afee0\",\n      \"bytes\": 6017\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/assembly.txt\",\n      \"sha256\": \"2500adf028800f331996412bd823518c459fb849a6508050da0f7476934544eb\",\n      \"bytes\": 3481\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/bom.csv\",\n      \"sha256\": \"e11d11dd6dc67217ff22c637aeb3cfa30c40e367ffef2c96b317b1abedc98ecc\",\n      \"bytes\": 213\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/drawing.svg\",\n      \"sha256\": \"980908f22e0360d7399ab8c44d94463ded029b9641914fdec85dc76dbf28d6e8\",\n      \"bytes\": 3517\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/insert.stl\",\n      \"sha256\": \"34e9872a27a4316dae44a27c85a7ea3601ce4b1cc15da8205c9531630e41148c\",\n      \"bytes\": 12695\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/inspection.csv\",\n      \"sha256\": \"92ff667e1bb37902084916349d4b27d00a2b57a657763a28e1ccbbe99cb532c4\",\n      \"bytes\": 1015\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/parameters.json\",\n      \"sha256\": \"3a385a3a45e7d6b05df2d4b0a248bcdebbc7316c7e7954c925bb16e1ce8f6042\",\n      \"bytes\": 2075\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/review-bundle.zip\",\n      \"sha256\": \"f002197852d13842f47a79adea687a7aae9e99a9ee7f91cce027026773122472\",\n      \"bytes\": 122785\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/review.json\",\n      \"sha256\": \"cff5dd27b6e8be9dfbde03bcfdf37082dc63dc9e784ffe6c554d99a7452322ae\",\n      \"bytes\": 6698\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/pocket-arcade/tray.stl\",\n      \"sha256\": \"45c77711b7a4a90a9423a999c3bb11dd5e2f8949d9c2dea5e8d655ef6c13f66e\",\n      \"bytes\": 11361\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/seed-review.json\",\n      \"sha256\": \"20262c86f93fef15b1bd41fc4a47a535c9ff2b8d36ede6d2115135843e5e19fc\",\n      \"bytes\": 3243\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/assembly.txt\",\n      \"sha256\": \"0711bd29351830614fe06fd0cbd1e9a5312b5f51d150d758672f854c37d7c1d5\",\n      \"bytes\": 3270\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/bom.csv\",\n      \"sha256\": \"8b50b7e626842785505ecf629b5e0a9774d07bb8a6e21f42686f2182de7963e3\",\n      \"bytes\": 215\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/drawing.svg\",\n      \"sha256\": \"2e9af32a8f53f6c4a22db6759d3cceef8410ec7b54b37fb954beb4c27626e4cb\",\n      \"bytes\": 3523\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/insert.stl\",\n      \"sha256\": \"694eb6a9805dc6b3994d0faf59d9ff23f4aef9d66532f23f23915e62e30ecf59\",\n      \"bytes\": 14099\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/inspection.csv\",\n      \"sha256\": \"3b9a43e9bb25d148b71f2bbce40471c6697c96cccd7d566f086eba867dd51184\",\n      \"bytes\": 1015\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/parameters.json\",\n      \"sha256\": \"259747d570c14d31f2b75f2fdce157a2888f020fd90a443e9933f07f403c5925\",\n      \"bytes\": 2069\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/review-bundle.zip\",\n      \"sha256\": \"84cc35becb3c44a264c2ff4a8eeb18a355acf223a99ab27635b29d7c56121769\",\n      \"bytes\": 123377\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/review.json\",\n      \"sha256\": \"81d55c00bbb3cfe88a06f79e385b71f1d63baa0d50a909631f9b4f533a5c3f0d\",\n      \"bytes\": 6630\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/stackline/tray.stl\",\n      \"sha256\": \"e9867703e41a622687824a50caec4cbcf6e9ec2caa55898067257428868816a6\",\n      \"bytes\": 11361\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/synthetic-inspection.json\",\n      \"sha256\": \"ff5674e8a263af0c0d6c2ee45afb79bf74de1120e3636b786ece98765c10cb68\",\n      \"bytes\": 2916\n    },\n    {\n      \"path\": \"projects/07-manufacturing/generated/width-change-review.json\",\n      \"sha256\": \"cf09687d73c2b62e3f0c0a0f389a377e91a219dbc7613526f56fdd0c68d9fb84\",\n      \"bytes\": 15374\n    },\n    {\n      \"path\": \"projects/07-manufacturing/index.html\",\n      \"sha256\": \"679e88603de2bf41eaf7dccc9e71ba108b65fc956674f70a2892f703d55196a2\",\n      \"bytes\": 15444\n    },\n    {\n      \"path\": \"projects/07-manufacturing/manifest.json\",\n      \"sha256\": \"a22c4de25c8d32372bc50f87a04f08996c1711a3ebd30bbbcea73545c13fb537\",\n      \"bytes\": 5079\n    },\n    {\n      \"path\": \"projects/07-manufacturing/README.md\",\n      \"sha256\": \"f829844b24ba6750a53605b4dd38aaf82d06cda3d1ca09a76dce3b320aa09855\",\n      \"bytes\": 12679\n    },\n    {\n      \"path\": \"projects/09-handoff/ACCEPTANCE.json\",\n      \"sha256\": \"aa14e38494a5dcc07784e09bb0d47568febf8201545186b23828aa29d4f62dc4\",\n      \"bytes\": 2037\n    },\n    {\n      \"path\": \"projects/09-handoff/artifacts/maintenance-contract.json\",\n      \"sha256\": \"ddb6c093c9b3c82a84cb7078ffa8471572a9488b6a7ee3c515a7dcb98473b99f\",\n      \"bytes\": 2478\n    },\n    {\n      \"path\": \"projects/09-handoff/artifacts/pocket-arcade-maintenance.json\",\n      \"sha256\": \"8e2a9b88295a2e544b652271154fb6330557c41281a33391052b347b61f8c618\",\n      \"bytes\": 694\n    },\n    {\n      \"path\": \"projects/09-handoff/cli.py\",\n      \"sha256\": \"0ad68cb860a899670b81c3f3ff8643985b2152903b29d69fa660c7ec3d5a2744\",\n      \"bytes\": 843\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/after.json\",\n      \"sha256\": \"201aa38bcde353e1923bf92a8c2cd1d4ea8e625d4ea754e338fc2b462f6f7084\",\n      \"bytes\": 14849\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/before.json\",\n      \"sha256\": \"5153692a37afe981e19cb9f98b24623f86b3bf8037bb35576b925801c4035646\",\n      \"bytes\": 14884\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/continuation-baseline.json\",\n      \"sha256\": \"187ebb530c333312aadac7dadf3d1b5f8e2644feae1c6f3f0257a3713e056db8\",\n      \"bytes\": 8325\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/continuation.json\",\n      \"sha256\": \"24433b15f8ca50c47548a8e41c13cca1a095f0b9b9d17146237cd03dd149d46c\",\n      \"bytes\": 14884\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/historical-continuation.json\",\n      \"sha256\": \"965c9c1eb0a1c99036ad638444792ad45bfbe4321ae841cd87d8e782316032b6\",\n      \"bytes\": 3716\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/input-hashes.json\",\n      \"sha256\": \"225ea0ba49f3cd830eb40d9ae943e5e44b0f5c5b85b2ebbe84e28b441db9d270\",\n      \"bytes\": 4851\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/midpoint-receipt-ledger.py\",\n      \"sha256\": \"e18cc559250d313f8e2161a61e83c663e7a4678330f2ab0e729ee228753e49d8\",\n      \"bytes\": 5999\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/package-checks.json\",\n      \"sha256\": \"94937b27177d63b229a40cc38d45915dc6c80c27a1f500ab7128f48650184324\",\n      \"bytes\": 14564\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/public-integrity.json\",\n      \"sha256\": \"4391a0d6c28b47fb5c9e9fbd3a926fb82e897b25c68c170801f32509a276c837\",\n      \"bytes\": 10285\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/recovery.json\",\n      \"sha256\": \"a03d3ef0484e4cd5ce99f1f6eef23fb4dca8d6fcde1b65e1b69e9aafad70d594\",\n      \"bytes\": 3200\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/repair.diff\",\n      \"sha256\": \"e6801fcd1bb4c73348f5787de6718b1fe664808a92339b20a2e1638ec1a93b62\",\n      \"bytes\": 239\n    },\n    {\n      \"path\": \"projects/09-handoff/evidence/result.json\",\n      \"sha256\": \"5ce58892864d37f27614e11448c5c6ca45352361d1b7b660753e2b87ee59967f\",\n      \"bytes\": 7466\n    },\n    {\n      \"path\": \"projects/09-handoff/fixtures/duplicate.jsonl\",\n      \"sha256\": \"ca1f5c0591cfe5dc4c7b2d713f4efe4e58a6cf58270683d84f2bd4248048b040\",\n      \"bytes\": 476\n    },\n    {\n      \"path\": \"projects/09-handoff/HANDOFF.md\",\n      \"sha256\": \"9cc24b856b88313d8f271904b447c1a76711b2c7ced39b69109e9dfb4108abc3\",\n      \"bytes\": 4529\n    },\n    {\n      \"path\": \"projects/09-handoff/index.html\",\n      \"sha256\": \"5354cdeeafbaa4da03c48ee2dc8806c7b722ef6395d121b122ca0fbdd07aa020\",\n      \"bytes\": 14680\n    },\n    {\n      \"path\": \"projects/09-handoff/manifest.json\",\n      \"sha256\": \"d33edc9dc7c6346f52c8be7767f3a18d62fa69e0539744e7f33e1688d26084f8\",\n      \"bytes\": 3648\n    },\n    {\n      \"path\": \"projects/09-handoff/provenance.json\",\n      \"sha256\": \"47e655e128dafeb9262c9c4ba0b720e35c808218c06474a3864b0bc9a07e645a\",\n      \"bytes\": 6180\n    },\n    {\n      \"path\": \"projects/09-handoff/receipt_ledger.py\",\n      \"sha256\": \"9049da2028504b0f6e4940d589db74ab1f42eecd1042eee504518e01d87acdc2\",\n      \"bytes\": 6010\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/app.js\",\n      \"sha256\": \"b2e9ed0b18d5725f1ec5a64d6bcca19cc2559598734ba05f137db0c830bf1e16\",\n      \"bytes\": 12758\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/connected-data.json\",\n      \"sha256\": \"811dc603d1d276655e95f0385c2cfedfb970773e6edff723fcf3195f2f7e94de\",\n      \"bytes\": 9395\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/operator-kit.html\",\n      \"sha256\": \"c2c4fc4e0510a4c87b3ace84828bda40a84007d4fd10a56dce3dd430b00d12a4\",\n      \"bytes\": 6553\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/tournament-analysis.json\",\n      \"sha256\": \"60715d1a114438114a50cd1afebfe3ea1618894b4f32e8cd0c1031f2a6e26195\",\n      \"bytes\": 4197\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/artifacts/tournament-proposal.json\",\n      \"sha256\": \"35fc944ddc44fa7c15e5bd6194550f44ab075ab891c35948fa151f6844f5c561\",\n      \"bytes\": 8742\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/capture_checks.py\",\n      \"sha256\": \"f6a54b92f7ffb99a3a00b9c218e34d854fd3408cba82d6c4edd188183c8962e9\",\n      \"bytes\": 7028\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/connected-data.js\",\n      \"sha256\": \"0f4b540b8279aabeef0ec62600baefe5824cb868f9c7dc2adcfce2598f9b365c\",\n      \"bytes\": 9508\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/consume.py\",\n      \"sha256\": \"7f5380a5b7e8d2fdbedcdc792a1696cb9c6e77a3de426569cceaa95bd25bb659\",\n      \"bytes\": 32784\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/contract.json\",\n      \"sha256\": \"8eec668eeef221e3cdefd3d96e1cb3ed65dae97cc6b3c5e6d73032c089481345\",\n      \"bytes\": 8528\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/contributions.json\",\n      \"sha256\": \"9fb0c439dce5b71b8941a0152883d0da80d83730effe43e725a6721ecec2b5da\",\n      \"bytes\": 43548\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json\",\n      \"sha256\": \"b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a\",\n      \"bytes\": 2606\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/05-planner.json\",\n      \"sha256\": \"edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2\",\n      \"bytes\": 3169\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json\",\n      \"sha256\": \"1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d\",\n      \"bytes\": 2781\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/acceptance/09-handoff.json\",\n      \"sha256\": \"5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87\",\n      \"bytes\": 3684\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/01-game-studio-0.txt\",\n      \"sha256\": \"5a6f873af1b012debef1147bb3bb7efb9ed5aac6c187c4c39acb2390cc715ddb\",\n      \"bytes\": 7694\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/01-game-studio-1.txt\",\n      \"sha256\": \"df2f09429ff317d0f2ed764ceee63ba42acdbb2c03a11dd21da7a51be5b35d94\",\n      \"bytes\": 266\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/01-game-studio-runs.json\",\n      \"sha256\": \"30bd07e4bdc8ade2e28a443444498fb80afd2a5a781c716ab842632c3e503e6f\",\n      \"bytes\": 6095\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-0.txt\",\n      \"sha256\": \"b2d7e9e524c1d1395805270256c282edd79c9800ac212d538bd07c78865fe59c\",\n      \"bytes\": 18057\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-1.txt\",\n      \"sha256\": \"7b09582120564f3be95f65d47bf3c667b4759c64a8c148b308356ea2c04c4fa3\",\n      \"bytes\": 178\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-2.txt\",\n      \"sha256\": \"ec5376cc4e3eed156e2fce04db32382b50a222bebcd7d341857907e146085b78\",\n      \"bytes\": 184\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-3.txt\",\n      \"sha256\": \"bc8477466ec99e63ff26f140b15047bad57645727b2ec13f9f82072104d32714\",\n      \"bytes\": 556\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/05-planner-runs.json\",\n      \"sha256\": \"05aac2dffe390d7b48341a60d8278507c168b3cd25a72f25d6a6986010a1d99c\",\n      \"bytes\": 7582\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-0.txt\",\n      \"sha256\": \"a4555a38e8ae7e1ab4dc9b54922c70a9083e396814319b2760aded374baafe64\",\n      \"bytes\": 7232\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-1.txt\",\n      \"sha256\": \"0ab2b430d48fb795a469d4c1a950e87ffb60e18008560331668e8ad6b39de8c1\",\n      \"bytes\": 340\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-2.txt\",\n      \"sha256\": \"6d90167e4bbf44c1b5db47f6fbb3b71d9f574c9626f05246246784a50664b57c\",\n      \"bytes\": 281\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/07-manufacturing-runs.json\",\n      \"sha256\": \"d5a9684dbe55d0341787c53c5a4832d1c79b2fed2c115a650b51a48d56067f87\",\n      \"bytes\": 9644\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-0.txt\",\n      \"sha256\": \"670c62a847ff24f9a455b60b971d38943833526f6d2aa87890dcd1b04071c927\",\n      \"bytes\": 400\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-1.txt\",\n      \"sha256\": \"1f1bb1f392b60195f834a946f6d61649fd6073715b2445fc194f0372544f6eed\",\n      \"bytes\": 3551\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-2.txt\",\n      \"sha256\": \"2926eb4551bc15e6f2a93425cb85f516c955673898798af1d80acd576a37b104\",\n      \"bytes\": 1781\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-3.txt\",\n      \"sha256\": \"feef6bc84c5a1ddfb8d73220c5cd633f06480f625c42b62e4f3cb7e8e6a4f979\",\n      \"bytes\": 380\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-4.txt\",\n      \"sha256\": \"360ab3a34243b384507db346ba40d4cadd51fcd0c81546eea641e42309fa84a0\",\n      \"bytes\": 1379\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-5.txt\",\n      \"sha256\": \"c8e2549ad51494a608696c4eb95ba57884eb178db45bcf7673644755c39335de\",\n      \"bytes\": 1825\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-6.txt\",\n      \"sha256\": \"f4baabc870ac2e893dc7a39b9cb30dde10005108945ee52fae5b4d2e09b1de0b\",\n      \"bytes\": 680\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/checks/09-handoff-runs.json\",\n      \"sha256\": \"d8d1a9eaaf226d565d3dc7762cf301faa08cceb47b8344998627f96551752c49\",\n      \"bytes\": 8167\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/evidence/integration-validation.json\",\n      \"sha256\": \"220e10ff3c06879990c1586833abb10618459f7417ec23000262e7d0a27e6149\",\n      \"bytes\": 60539\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/index.html\",\n      \"sha256\": \"5d01c1a9cb8fa6ae461ca203db6efccf1f79774e22b4161da24def1e6b75703b\",\n      \"bytes\": 18975\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/model.js\",\n      \"sha256\": \"838ae2660c41db3b41e0e39943080fd63355e2808e4eeb70286154e2a9bdd7ec\",\n      \"bytes\": 16401\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/NOTICE\",\n      \"sha256\": \"c99de3e931645fa5205553eab355e818b035e6bbdf9bf41d0fb8e7c9a8c8c426\",\n      \"bytes\": 1495\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/planner_bridge.mjs\",\n      \"sha256\": \"95f40ab0b2bd136c1dbc63fdb2dace2715a645aa5fe73093c8abc786e877b90b\",\n      \"bytes\": 9335\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/public_checks.py\",\n      \"sha256\": \"58fbea9e3ee62f70349f78626fe4a96728535de9e1d38cfbbabc8bc29f124ded\",\n      \"bytes\": 7431\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/README.md\",\n      \"sha256\": \"e7f0178f387476c5544fd658b94aa1c3f4eb9a27d6e0ba8838d1b474143793a0\",\n      \"bytes\": 23934\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/seed-map.json\",\n      \"sha256\": \"5445272d58910d0708b6193630805ddabfd21fe7358023f04866e81f9cf9aef9\",\n      \"bytes\": 3690\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/style.css\",\n      \"sha256\": \"6b852371401818b39355797db3fab5312e3104d2f7bfe4676d04a9cf7851a5b9\",\n      \"bytes\": 19049\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/validate.py\",\n      \"sha256\": \"6f5fe280c410698fd95152740be8893d848a3fa27f9e7366e0cc7d0b3278127c\",\n      \"bytes\": 36087\n    },\n    {\n      \"path\": \"projects/10-pocket-arcade/verify_experience.cjs\",\n      \"sha256\": \"002fe3042059f1ef222bb1e90c32a70e0e9564f6b70348b3df69a8b53d1a1c05\",\n      \"bytes\": 13856\n    }\n  ],\n  \"limits\": [\n    \"No browser rendering, screenshot, assistive-technology, real browser saving, timing or human interaction was verified.\",\n    \"The HTTP-shaped transport is in memory and makes no network requests; no server is started.\",\n    \"Missing-file and changed-byte cases are deliberate in-memory negative controls, not actual component regressions.\",\n    \"The final summary link is existence-checked, not self-hashed: that summary subsequently hashes this verification report.\",\n    \"The baseline tournament remains infeasible; the alternative needs operational/native approval. Static showcase publication is separately authorized.\",\n    \"Historical maintenance behavior is preserved in a public projection; removed private invocation identity is not independently reverified.\"\n  ]\n}\n",
          "stderr": ""
        },
        {
          "argv": [
            "python3",
            "-B",
            "projects/10-pocket-arcade/public_checks.py",
            "--root",
            "."
          ],
          "startedAt": "2026-09-19T14:01:14.018148+00:00",
          "durationSeconds": 0.0966,
          "exitCode": 0,
          "stdout": "{\n  \"schema\": \"pocket-arcade-public-check/1\",\n  \"status\": \"passed\",\n  \"publicFilesChecked\": 74,\n  \"checks\": [\n    \"machine/private identifiers absent\",\n    \"embedded JSON strings inspected\",\n    \"private operational fields absent\",\n    \"exact owned artifact inventory\"\n  ],\n  \"showcasePublicationAuthorized\": true,\n  \"deploymentPerformedByThisCheck\": false,\n  \"nativeHumanPhysicalMarketApproval\": false\n}\n",
          "stderr": ""
        }
      ],
      "artifacts": [
        {
          "path": "projects/10-pocket-arcade/NOTICE",
          "bytes": 1495,
          "sha256": "c99de3e931645fa5205553eab355e818b035e6bbdf9bf41d0fb8e7c9a8c8c426"
        },
        {
          "path": "projects/10-pocket-arcade/README.md",
          "bytes": 23934,
          "sha256": "e7f0178f387476c5544fd658b94aa1c3f4eb9a27d6e0ba8838d1b474143793a0"
        },
        {
          "path": "projects/10-pocket-arcade/app.js",
          "bytes": 12758,
          "sha256": "b2e9ed0b18d5725f1ec5a64d6bcca19cc2559598734ba05f137db0c830bf1e16"
        },
        {
          "path": "projects/10-pocket-arcade/artifacts/connected-data.json",
          "bytes": 9395,
          "sha256": "811dc603d1d276655e95f0385c2cfedfb970773e6edff723fcf3195f2f7e94de"
        },
        {
          "path": "projects/10-pocket-arcade/artifacts/operator-kit.html",
          "bytes": 6553,
          "sha256": "c2c4fc4e0510a4c87b3ace84828bda40a84007d4fd10a56dce3dd430b00d12a4"
        },
        {
          "path": "projects/10-pocket-arcade/artifacts/tournament-analysis.json",
          "bytes": 4197,
          "sha256": "60715d1a114438114a50cd1afebfe3ea1618894b4f32e8cd0c1031f2a6e26195"
        },
        {
          "path": "projects/10-pocket-arcade/artifacts/tournament-proposal.json",
          "bytes": 8742,
          "sha256": "35fc944ddc44fa7c15e5bd6194550f44ab075ab891c35948fa151f6844f5c561"
        },
        {
          "path": "projects/10-pocket-arcade/capture_checks.py",
          "bytes": 7028,
          "sha256": "f6a54b92f7ffb99a3a00b9c218e34d854fd3408cba82d6c4edd188183c8962e9"
        },
        {
          "path": "projects/10-pocket-arcade/connected-data.js",
          "bytes": 9508,
          "sha256": "0f4b540b8279aabeef0ec62600baefe5824cb868f9c7dc2adcfce2598f9b365c"
        },
        {
          "path": "projects/10-pocket-arcade/consume.py",
          "bytes": 32784,
          "sha256": "7f5380a5b7e8d2fdbedcdc792a1696cb9c6e77a3de426569cceaa95bd25bb659"
        },
        {
          "path": "projects/10-pocket-arcade/contract.json",
          "bytes": 8528,
          "sha256": "8eec668eeef221e3cdefd3d96e1cb3ed65dae97cc6b3c5e6d73032c089481345"
        },
        {
          "path": "projects/10-pocket-arcade/contributions.json",
          "bytes": 43548,
          "sha256": "9fb0c439dce5b71b8941a0152883d0da80d83730effe43e725a6721ecec2b5da"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/acceptance/01-game-studio.json",
          "bytes": 2606,
          "sha256": "b45efcb0e42089ed721eaf103aadc07223f3dbcb578dbd15584a1d4f65e5dd6a"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/acceptance/05-planner.json",
          "bytes": 3169,
          "sha256": "edae5ab9cae12736ffd9e3f3796da96f1aece7c16c3f419117d43acce9f1bee2"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/acceptance/07-manufacturing.json",
          "bytes": 2781,
          "sha256": "1675fd62833fe7dd65536ac0999bbc61d8ad59e02071a88018abd7921298719d"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/acceptance/09-handoff.json",
          "bytes": 3684,
          "sha256": "5daa646fdcb0524eb2f0a1fca240f15956551879f74f322ef1c724481c4e5d87"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/01-game-studio-0.txt",
          "bytes": 7694,
          "sha256": "5a6f873af1b012debef1147bb3bb7efb9ed5aac6c187c4c39acb2390cc715ddb"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/01-game-studio-1.txt",
          "bytes": 266,
          "sha256": "df2f09429ff317d0f2ed764ceee63ba42acdbb2c03a11dd21da7a51be5b35d94"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/01-game-studio-runs.json",
          "bytes": 6095,
          "sha256": "30bd07e4bdc8ade2e28a443444498fb80afd2a5a781c716ab842632c3e503e6f"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/05-planner-0.txt",
          "bytes": 18057,
          "sha256": "b2d7e9e524c1d1395805270256c282edd79c9800ac212d538bd07c78865fe59c"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/05-planner-1.txt",
          "bytes": 178,
          "sha256": "7b09582120564f3be95f65d47bf3c667b4759c64a8c148b308356ea2c04c4fa3"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/05-planner-2.txt",
          "bytes": 184,
          "sha256": "ec5376cc4e3eed156e2fce04db32382b50a222bebcd7d341857907e146085b78"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/05-planner-3.txt",
          "bytes": 556,
          "sha256": "bc8477466ec99e63ff26f140b15047bad57645727b2ec13f9f82072104d32714"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/05-planner-runs.json",
          "bytes": 7582,
          "sha256": "05aac2dffe390d7b48341a60d8278507c168b3cd25a72f25d6a6986010a1d99c"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/07-manufacturing-0.txt",
          "bytes": 7232,
          "sha256": "a4555a38e8ae7e1ab4dc9b54922c70a9083e396814319b2760aded374baafe64"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/07-manufacturing-1.txt",
          "bytes": 340,
          "sha256": "0ab2b430d48fb795a469d4c1a950e87ffb60e18008560331668e8ad6b39de8c1"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/07-manufacturing-2.txt",
          "bytes": 281,
          "sha256": "6d90167e4bbf44c1b5db47f6fbb3b71d9f574c9626f05246246784a50664b57c"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/07-manufacturing-runs.json",
          "bytes": 9644,
          "sha256": "d5a9684dbe55d0341787c53c5a4832d1c79b2fed2c115a650b51a48d56067f87"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-0.txt",
          "bytes": 400,
          "sha256": "670c62a847ff24f9a455b60b971d38943833526f6d2aa87890dcd1b04071c927"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-1.txt",
          "bytes": 3551,
          "sha256": "1f1bb1f392b60195f834a946f6d61649fd6073715b2445fc194f0372544f6eed"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-2.txt",
          "bytes": 1781,
          "sha256": "2926eb4551bc15e6f2a93425cb85f516c955673898798af1d80acd576a37b104"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-3.txt",
          "bytes": 380,
          "sha256": "feef6bc84c5a1ddfb8d73220c5cd633f06480f625c42b62e4f3cb7e8e6a4f979"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-4.txt",
          "bytes": 1379,
          "sha256": "360ab3a34243b384507db346ba40d4cadd51fcd0c81546eea641e42309fa84a0"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-5.txt",
          "bytes": 1825,
          "sha256": "c8e2549ad51494a608696c4eb95ba57884eb178db45bcf7673644755c39335de"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-6.txt",
          "bytes": 680,
          "sha256": "f4baabc870ac2e893dc7a39b9cb30dde10005108945ee52fae5b4d2e09b1de0b"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/checks/09-handoff-runs.json",
          "bytes": 8167,
          "sha256": "d8d1a9eaaf226d565d3dc7762cf301faa08cceb47b8344998627f96551752c49"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/experience-verification.json",
          "bytes": 32431,
          "sha256": "868c33fe0aac79a50a77e309ac1839acbed118020a1bfab4a91f0b2393e6c29b"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-consumer-check.json",
          "bytes": 1654,
          "sha256": "0613f0228a45882af13856b6650d5dc719d7df32c462e8d0c0e222b553e96fd5"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-consumer-write.json",
          "bytes": 1654,
          "sha256": "f697e93957bc85d127566a4bb8f9a42d0b0ab1d128de8893e137ee79135bf493"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-experience-stdout.json",
          "bytes": 32431,
          "sha256": "868c33fe0aac79a50a77e309ac1839acbed118020a1bfab4a91f0b2393e6c29b"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-model-tests.txt",
          "bytes": 1675,
          "sha256": "3b7ae75cc9baa9bf645bd27f883a997008e7cde32854d58dd456024b6bb727ed"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-own-checks.json",
          "bytes": 7542,
          "sha256": "884af09862a5afe1c4c085cea51dd54a045d470e53413edbea8875c8c4f91355"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-planner-bridge-check.json",
          "bytes": 731,
          "sha256": "578a80a56bd96e20aec273dd275e191a716df85797d3ee8008c57a42bc6f28c2"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-planner-bridge-write.json",
          "bytes": 731,
          "sha256": "b1edf236b5db02821b3e2a6e74e7403a159eea6d5be9fcd9902875b335ee1dc5"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-python-tests.txt",
          "bytes": 8138,
          "sha256": "9f0c91f54c0419aecda3b2ca7325bd381aa714b6adaa63a9cc2b216d8652a2d3"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-syntax-checks.txt",
          "bytes": 955,
          "sha256": "88c1123313cdc566f9cdb7cbcaa361649b64c071bd83e0e210d998e204403ea8"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/final-validator-stdout.json",
          "bytes": 60539,
          "sha256": "220e10ff3c06879990c1586833abb10618459f7417ec23000262e7d0a27e6149"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/integration-validation.json",
          "bytes": 60539,
          "sha256": "220e10ff3c06879990c1586833abb10618459f7417ec23000262e7d0a27e6149"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-a-model-tests.txt",
          "bytes": 1380,
          "sha256": "8ce069d68474f5799459b251bebdc4d4b8727962fa96be7a6d5ff1ea358ce214"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-a-python-tests.txt",
          "bytes": 4775,
          "sha256": "019424a16f89535744e8d6a1aa0d8d74f4a32b3e97c24a6dfb7b871aeb825fd9"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-a-syntax-checks.txt",
          "bytes": 215,
          "sha256": "c9664e516e504104dadabe89c251f7ba69457c8a9ff9dac4fb2223b146415ab1"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-b-consumer-check.json",
          "bytes": 1461,
          "sha256": "178ceb55ad5906b05855db6907adbaef0081de9f676f028c79b50764134026bf"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-b-consumer-write.json",
          "bytes": 1461,
          "sha256": "d06634c007fe9ac63bea4b4a67e98ded0e937fc3ba15e68ff0983a399229acd6"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-b-model-tests.txt",
          "bytes": 1569,
          "sha256": "f90147cbf9675812b24596b267954d8e5948e47f9cbe77e2878c0df72368ec5b"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-b-own-checks.json",
          "bytes": 3442,
          "sha256": "4dc1fa9498923697efc74b15f73b84b9fe16abfd7933ea5304eda7135ae3313e"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-b-python-tests.txt",
          "bytes": 6185,
          "sha256": "c0b581c8ac345bd9ed8ce2e1cbad1675eb1842cd60812348013b1ca7e8f460a2"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/phase-b-syntax-checks.txt",
          "bytes": 562,
          "sha256": "c35a82c21dd063c20e68f93d6b4c0f048769c374981969a7092db6b8b31caff2"
        },
        {
          "path": "projects/10-pocket-arcade/evidence/result.json",
          "bytes": 18470,
          "sha256": "67e4d08f82fab37115335fd8930c572c7592269e8f9975b8d29175a8289b0bb6"
        },
        {
          "path": "projects/10-pocket-arcade/index.html",
          "bytes": 18975,
          "sha256": "5d01c1a9cb8fa6ae461ca203db6efccf1f79774e22b4161da24def1e6b75703b"
        },
        {
          "path": "projects/10-pocket-arcade/interfaces/contribution.schema.json",
          "bytes": 5366,
          "sha256": "4316c089736c2725d6024f2ddb03afcd682bb16d48f0683c98cbeb59887bbf8e"
        },
        {
          "path": "projects/10-pocket-arcade/manifest.json",
          "bytes": 7567,
          "sha256": "c079f8cb7cc3ad036e94a2f53d9cfc1447f3406cf90b35554a3e2fd62255798f"
        },
        {
          "path": "projects/10-pocket-arcade/model.js",
          "bytes": 16401,
          "sha256": "838ae2660c41db3b41e0e39943080fd63355e2808e4eeb70286154e2a9bdd7ec"
        },
        {
          "path": "projects/10-pocket-arcade/package.json",
          "bytes": 179,
          "sha256": "59e29fc6458f0f57ee8814ea61406263c23e57010505dec106ff3b60eff3cf40"
        },
        {
          "path": "projects/10-pocket-arcade/planner_bridge.mjs",
          "bytes": 9335,
          "sha256": "95f40ab0b2bd136c1dbc63fdb2dace2715a645aa5fe73093c8abc786e877b90b"
        },
        {
          "path": "projects/10-pocket-arcade/public_checks.py",
          "bytes": 7431,
          "sha256": "58fbea9e3ee62f70349f78626fe4a96728535de9e1d38cfbbabc8bc29f124ded"
        },
        {
          "path": "projects/10-pocket-arcade/seed-map.json",
          "bytes": 3690,
          "sha256": "5445272d58910d0708b6193630805ddabfd21fe7358023f04866e81f9cf9aef9"
        },
        {
          "path": "projects/10-pocket-arcade/style.css",
          "bytes": 19049,
          "sha256": "6b852371401818b39355797db3fab5312e3104d2f7bfe4676d04a9cf7851a5b9"
        },
        {
          "path": "projects/10-pocket-arcade/tests/fixtures/README.md",
          "bytes": 1357,
          "sha256": "a202b4756bb3139b67bfb79a6559647157c5c880649fd64ddbf2719a435181cc"
        },
        {
          "path": "projects/10-pocket-arcade/tests/model.test.cjs",
          "bytes": 11018,
          "sha256": "d7796d92615a4ace851d5398f9324f1e0b22d5d46e29b7269460a602133c78ab"
        },
        {
          "path": "projects/10-pocket-arcade/tests/test_consume.py",
          "bytes": 15162,
          "sha256": "69d2e4df19a3a4488f0f71620da0cb99e899ca54012fcea6f1a8cca481ed29d9"
        },
        {
          "path": "projects/10-pocket-arcade/tests/test_public_checks.py",
          "bytes": 2502,
          "sha256": "c11c14c3a100ac92b5ef474d26212c3017da7a7f76ede7f61df6058e45efc6b1"
        },
        {
          "path": "projects/10-pocket-arcade/tests/test_validator.py",
          "bytes": 23187,
          "sha256": "b259aceb208656cb6c7b60b0cafd72987b5146d728298beae3f0c5c4247d693c"
        },
        {
          "path": "projects/10-pocket-arcade/validate.py",
          "bytes": 36087,
          "sha256": "6f5fe280c410698fd95152740be8893d848a3fa27f9e7366e0cc7d0b3278127c"
        },
        {
          "path": "projects/10-pocket-arcade/verify_experience.cjs",
          "bytes": 13856,
          "sha256": "002fe3042059f1ef222bb1e90c32a70e0e9564f6b70348b3df69a8b53d1a1c05"
        }
      ]
    }
  ],
  "nativeActivation": false,
  "humanReview": "pending",
  "toolkit": {
    "argv": [
      "python3",
      "-m",
      "unittest",
      "discover",
      "-s",
      "tools",
      "-p",
      "test_*.py"
    ],
    "startedAt": "2026-09-19T14:01:07.925408+00:00",
    "durationSeconds": 1.19,
    "exitCode": 0,
    "stdout": "",
    "stderr": "...............19/Sep/2026 10:01:08 \"GET / HTTP/1.1\" 200 -\n19/Sep/2026 10:01:08 code 400, message Private or noncanonical request path\n19/Sep/2026 10:01:08 \"GET /.git/config HTTP/1.1\" 400 -\n19/Sep/2026 10:01:08 code 404, message Local artifact not found\n19/Sep/2026 10:01:08 \"GET /projects/nope/ HTTP/1.1\" 404 -\n....19/Sep/2026 10:01:08 \"GET /hive-showcase HTTP/1.1\" 301 -\n19/Sep/2026 10:01:08 \"GET /hive-showcase/ HTTP/1.1\" 200 -\n19/Sep/2026 10:01:08 code 404, message Local artifact not found\n19/Sep/2026 10:01:08 \"GET /projects/01-example/ HTTP/1.1\" 404 -\n........\n----------------------------------------------------------------------\nRan 27 tests in 1.123s\n\nOK\n"
  },
  "status": "passed"
}
