From 3e850a4a888838f196cc7e54775e9a8319cc4a5d Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 10 Sep 2026 00:53:14 -0400 Subject: [PATCH] re: resolve ABI verification provenance defects --- .../contracts/research-completion-abi.json | 2 +- ...mpletion-abi-070383fd013a0e4b1a2ef5e0.json | 23 + ...mpletion-abi-16467a02077d4a5b689b5531.json | 23 + ...mpletion-abi-571f0a480c9255cc8097b5fb.json | 19 + ...mpletion-abi-7608da5661fb071222d780b6.json | 23 + ...mpletion-abi-9376a5dba4673bb414855d9c.json | 31 + ...mpletion-abi-bbe83c0b7516313cc7cc27b2.json | 39 + ...mpletion-abi-e3bbdd77d84190f5cb086090.json | 31 + ...mpletion-abi-ed14042366e407a5dc26e7a1.json | 47 + .../decisions/d-0bb927e63b915c87a58d4257.json | 14 + .../decisions/d-fd5aff1eaf78a8c15d96723c.json | 14 + .../runs/active-research-completion-abi.json | 2 +- .../runs/run-5bd0e537bb0c4c4f43987ac1.json | 10362 +++++++++++++++ .../runs/run-5bd0e537bb0c4c4f43987ac1.jsonl | 102 + .../run-5bd0e537bb0c4c4f43987ac1.stderr.log | 0 .../runs/run-daefd1b77558f324ae730b27.json | 10369 ++++++++++++++++ .../runs/run-daefd1b77558f324ae730b27.jsonl | 73 + .../run-daefd1b77558f324ae730b27.stderr.log | 0 .../runs/run-ee78b8773688ca09f8046e21.json | 10362 +++++++++++++++ .../runs/run-ee78b8773688ca09f8046e21.jsonl | 120 + .../run-ee78b8773688ca09f8046e21.stderr.log | 0 .../surprises/s-4f4fb5e8ee42ccff7e68efb5.json | 13 + .../surprises/s-d44b9f9e62272794d88bbed6.json | 13 + ...mpletion-abi-26acbf8f870f787a7b76a7f9.json | 9 + ...mpletion-abi-d475e37e08e96828c07e4297.json | 9 + ...mpletion-abi-fd6aa9b1b310b17fd2d851ed.json | 9 + .../verdicts/research-completion-abi.json | 2 +- .../report-run-5bd0e537bb0c4c4f43987ac1.md | 63 + .../reproduce_run_ee78b8773688ca09f8046e21.py | 87 + .../manifest.json | 377 + .../nested-copy-exact.stderr.txt | 0 .../nested-copy-exact.stdout.txt | 175 + .../nested-copy-wide.stderr.txt | 0 .../nested-copy-wide.stdout.txt | 177 + .../nested-dtor-exact.stderr.txt | 0 .../nested-dtor-exact.stdout.txt | 39 + .../nested-dtor-wide.stderr.txt | 0 .../nested-dtor-wide.stdout.txt | 43 + .../turn-append-exact.stderr.txt | 0 .../turn-append-exact.stdout.txt | 85 + .../turn-append-wide.stderr.txt | 0 .../turn-append-wide.stdout.txt | 88 + .../turn-get-create-exact.stderr.txt | 0 .../turn-get-create-exact.stdout.txt | 83 + .../turn-get-create-wide.stderr.txt | 0 .../turn-get-create-wide.stdout.txt | 87 + ...ation-plan-run-ee78b8773688ca09f8046e21.md | 68 + 47 files changed, 33080 insertions(+), 3 deletions(-) create mode 100644 campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-571f0a480c9255cc8097b5fb.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-7608da5661fb071222d780b6.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-9376a5dba4673bb414855d9c.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json create mode 100644 campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json create mode 100644 campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json create mode 100644 campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json create mode 100644 campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.json create mode 100644 campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.jsonl create mode 100644 campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.stderr.log create mode 100644 campaign/runtime/runs/run-daefd1b77558f324ae730b27.json create mode 100644 campaign/runtime/runs/run-daefd1b77558f324ae730b27.jsonl create mode 100644 campaign/runtime/runs/run-daefd1b77558f324ae730b27.stderr.log create mode 100644 campaign/runtime/runs/run-ee78b8773688ca09f8046e21.json create mode 100644 campaign/runtime/runs/run-ee78b8773688ca09f8046e21.jsonl create mode 100644 campaign/runtime/runs/run-ee78b8773688ca09f8046e21.stderr.log create mode 100644 campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json create mode 100644 campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json create mode 100644 campaign/runtime/transitions/research-completion-abi-26acbf8f870f787a7b76a7f9.json create mode 100644 campaign/runtime/transitions/research-completion-abi-d475e37e08e96828c07e4297.json create mode 100644 campaign/runtime/transitions/research-completion-abi-fd6aa9b1b310b17fd2d851ed.json create mode 100644 verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md create mode 100644 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stderr.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stdout.txt create mode 100644 verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md diff --git a/campaign/contracts/research-completion-abi.json b/campaign/contracts/research-completion-abi.json index 5243e9c..1e8babb 100644 --- a/campaign/contracts/research-completion-abi.json +++ b/campaign/contracts/research-completion-abi.json @@ -21,7 +21,7 @@ "path": "/home/alex/sots-re" } }, - "checkpoint": "campaign/runtime/checkpoints/research-completion-abi-1340cf6a2a12b704e5cd048e.json", + "checkpoint": "campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json", "dependencies": [ "controls-bootstrap" ], diff --git a/campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json b/campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json new file mode 100644 index 0000000..f7abef0 --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json @@ -0,0 +1,23 @@ +{ + "actor": "research ABI surprise resolver", + "artifacts": [ + { + "path": "verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md", + "sha256": "c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json", + "sha256": "50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "070383fd013a0e4b1a2ef5e0", + "model": "openai/gpt-6-astra", + "next_action": "Inspect raw exact/wide streams and helper source, then record scoped Astra resolutions for the two open surprises.", + "role": "resolver", + "schema": "sots-checkpoint/1", + "session": "run-daefd1b77558f324ae730b27", + "summary": "Resolution-only review in progress. Read canonical policy, contract, latest checkpoint, both open surprises, verifier report/manifest and ABI handoff. Observations: archived manifest records 8 successful objdump subprocesses but failed nested-copy-wide-row-prefix and stale session; raw review pending. Direct git checks confirm engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 common-dir /home/alex/sots-engine/.git and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7 common-dir /home/alex/sots-re/.git in assigned /tmp/opencode/sots-final-research-{engine,re}. Launcher source_before available in campaign/runtime/runs/run-daefd1b77558f324ae730b27.json. Initial relative-path compound control command denied by resolver permissions; no execution and no bypass attempted. Binary/tool identity currently documentary from archived manifest, not freshly rehashed. Decisions: no game-mechanism interpretation or acceptance; both surprises remain blocked pending raw review and scoped decisions. No experiments, source edits, delegation, lab access or leases acquired; no cleanup required.", + "timestamp": "2026-09-10T04:49:09.790016+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json b/campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json new file mode 100644 index 0000000..bf7c6fe --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json @@ -0,0 +1,23 @@ +{ + "actor": "research-abi-correction-verifier", + "artifacts": [ + { + "path": "verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md", + "sha256": "539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4" + }, + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json", + "sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "16467a02077d4a5b689b5531", + "model": "openai/gpt-5.6-sol", + "next_action": "Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.", + "role": "verifier", + "schema": "sots-checkpoint/1", + "session": "run-ee78b8773688ca09f8046e21", + "summary": "Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.", + "timestamp": "2026-09-10T04:39:38.094702+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-571f0a480c9255cc8097b5fb.json b/campaign/runtime/checkpoints/research-completion-abi-571f0a480c9255cc8097b5fb.json new file mode 100644 index 0000000..6d0d61e --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-571f0a480c9255cc8097b5fb.json @@ -0,0 +1,19 @@ +{ + "actor": "research-abi-correction-verifier", + "artifacts": [ + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json", + "sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "571f0a480c9255cc8097b5fb", + "model": "openai/gpt-5.6-sol", + "next_action": "Compute exact paired source bindings and inspect the corrected run manifest/report/raw four-window captures to define falsifiers, required branch exposures, and distinct states before reproduction.", + "role": "verifier", + "schema": "sots-checkpoint/1", + "session": "run-ee78b8773688ca09f8046e21", + "summary": "Recovery checkpoint. Observations: read canonical AGENTS.md, campaign/README.md, current policy, contract, latest lead checkpoint, and all surprise records; all surprises are resolved. Contract is verification and requests independent reproduction of corrected run-16f8e9b6376b278c4870be09. Assigned engine HEAD is 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 with common-dir /home/alex/sots-engine/.git; assigned RE HEAD is 3bfde5a70d874a723e797a695bbd847fd82c0aa7 with common-dir /home/alex/sots-re/.git. Both match contract baselines and are intentionally dirty source snapshots; exact source-binding digests remain to be measured. No resource lease is held or needed; no VM, Ghidra, build-host, game, engine, allocator, Git index, or source mutation occurred. Decision: proceed only with read-only handoff inspection and local reproduction after explicitly defining falsifiers, branches, and states. Tests: identity commands passed; no evidence reproduction run yet. Blockers: none currently; any binary/tool/hash mismatch or contradictory ABI interpretation will be recorded as a surprise and affected work paused.", + "timestamp": "2026-09-10T04:36:55.123032+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-7608da5661fb071222d780b6.json b/campaign/runtime/checkpoints/research-completion-abi-7608da5661fb071222d780b6.json new file mode 100644 index 0000000..6158d57 --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-7608da5661fb071222d780b6.json @@ -0,0 +1,23 @@ +{ + "actor": "research-abi-correction-verifier", + "artifacts": [ + { + "path": "verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md", + "sha256": "539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4" + }, + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json", + "sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "7608da5661fb071222d780b6", + "model": "openai/gpt-5.6-sol", + "next_action": "Run python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE and inspect every generated command/check plus decoded instruction ordering.", + "role": "verifier", + "schema": "sots-checkpoint/1", + "session": "run-5bd0e537bb0c4c4f43987ac1", + "summary": "Pre-experiment recovery checkpoint. Observations: read canonical AGENTS/campaign README/current policy, contract, prior checkpoint, all surprise records; status is verification, open_surprises is empty, validate passes. Assigned worktrees have contract HEADs and correct common repositories; their expected dirty/untracked manifests independently source-bind to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Input hashes to 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 at 7898624 bytes. /usr/bin/objdump is a 24-byte symlink whose dereferenced executable is 373888 bytes and hashes to 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd; version is GNU objdump 2.38, consistent with Path.stat/read_bytes capture semantics. Decision: retain predeclared falsifiers, required static states/branches, and held-out +4 stop ablation in attached plan. Reject identity mismatch, nonzero/empty/truncated execution, archive differences, pre-call [EBP-0x20] write, copy/order/lifetime contradictions. Scope remains independent static full compare only, not original runtime, allocator safety, replacement or integrated replay. No lease or lab use; no source edits. Blocker: none before read-only capture.", + "timestamp": "2026-09-10T04:44:13.474607+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-9376a5dba4673bb414855d9c.json b/campaign/runtime/checkpoints/research-completion-abi-9376a5dba4673bb414855d9c.json new file mode 100644 index 0000000..376c5a8 --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-9376a5dba4673bb414855d9c.json @@ -0,0 +1,31 @@ +{ + "actor": "sots-lead", + "artifacts": [ + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json", + "sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101" + }, + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md", + "sha256": "f37e3c4bbf4c0dd249bb152422a786172d14d77fc912c7d8a4cb0d7240c0a3c7" + }, + { + "path": "campaign/research/research-completion-abi.md", + "sha256": "23912a90a275f36679e1ed03d9d8830359299a2ecc269ec075f07d6f7425f4f6" + }, + { + "path": "verify/results/research-completion-abi/recovered-static.md", + "sha256": "b6bfe302ebc96ab65eab31a86ff286a4bd3c43f3bba16610d9e87b04e5d40c35" + } + ], + "basis": "d784af9f162cbabd289328598f71b41b78b6ffc3b78572072d04b6988ca51d5c", + "contract": "research-completion-abi", + "id": "9376a5dba4673bb414855d9c", + "model": "openai/gpt-5.6-sol", + "next_action": "Launch one fresh bounded research-completion-abi verifier quantum as actor research-abi-independent to reproduce and challenge the corrected four-window package, publish source-bound evidence and a verdict, and leave integration/acceptance to the lead.", + "role": "lead", + "schema": "sots-checkpoint/1", + "session": "lead-verifier-assignment-20260910", + "summary": "Lead assignment checkpoint. Fresh analyst correction package run-16f8e9b6376b278c4870be09 is complete and campaign validation plus 37 campaign tests pass. Contract ownership is transferred to distinct verifier research-abi-independent. No engine, VM, Ghidra, game, allocator or build-host mutation occurred. The verifier must independently reproduce all four corrected windows and challenge last-match, spare/full, empty/nonempty, cleanup-before-store, provenance and static-only limitations; no acceptance may be inferred before a bound evidence record and verdict.", + "timestamp": "2026-09-10T04:33:17.494184+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json b/campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json new file mode 100644 index 0000000..cc71220 --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json @@ -0,0 +1,39 @@ +{ + "actor": "research-abi-correction-verifier", + "artifacts": [ + { + "path": "verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md", + "sha256": "c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json", + "sha256": "50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt", + "sha256": "e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt", + "sha256": "4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c" + }, + { + "path": "campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json", + "sha256": "8bdaf42989c5946491d63833d9fe4c2e79c3a3024b6176fdd538f0693cf1e3a8" + }, + { + "path": "campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json", + "sha256": "6b2f182b492dc484642fe2e45f60d5dd02a0deda34f841b48473c380876ada94" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "bbe83c0b7516313cc7cc27b2", + "model": "openai/gpt-5.6-sol", + "next_action": "Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.", + "role": "verifier", + "schema": "sots-checkpoint/1", + "session": "run-5bd0e537bb0c4c4f43987ac1", + "summary": "Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.", + "timestamp": "2026-09-10T04:47:11.721030+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json b/campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json new file mode 100644 index 0000000..d60c1bd --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json @@ -0,0 +1,31 @@ +{ + "actor": "sots-lead", + "artifacts": [ + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json", + "sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101" + }, + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md", + "sha256": "f37e3c4bbf4c0dd249bb152422a786172d14d77fc912c7d8a4cb0d7240c0a3c7" + }, + { + "path": "campaign/research/research-completion-abi.md", + "sha256": "23912a90a275f36679e1ed03d9d8830359299a2ecc269ec075f07d6f7425f4f6" + }, + { + "path": "verify/results/research-completion-abi/recovered-static.md", + "sha256": "b6bfe302ebc96ab65eab31a86ff286a4bd3c43f3bba16610d9e87b04e5d40c35" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "e3bbdd77d84190f5cb086090", + "model": "openai/gpt-5.6-sol", + "next_action": "Launch one fresh bounded verifier quantum as research-abi-correction-verifier to independently reproduce and challenge the corrected four-window package, then publish source-bound evidence and a verdict without promoting the contract.", + "role": "lead", + "schema": "sots-checkpoint/1", + "session": "lead-verifier-assignment-20260910b", + "summary": "Lead verifier assignment checkpoint after restoring author ownership for independence controls. Contract is in verification; author remains research-abi-analyst and assigned distinct verifier is research-abi-correction-verifier. Fresh repair package run-16f8e9b6376b278c4870be09 and corrected handoffs are unchanged. Campaign validation and 37 campaign tests passed. No VM, engine, game, allocator, Ghidra or build-host mutation occurred.", + "timestamp": "2026-09-10T04:34:51.019450+00:00" +} diff --git a/campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json b/campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json new file mode 100644 index 0000000..832f92e --- /dev/null +++ b/campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json @@ -0,0 +1,47 @@ +{ + "actor": "research ABI surprise resolver", + "artifacts": [ + { + "path": "campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json", + "sha256": "c58922b1bb4fd2c0c4bb5106bcc72de72a6f92c4ad533f7cd0c9f711d4b44ea7" + }, + { + "path": "campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json", + "sha256": "866054afc1970b3cbb231d52386313a865d1165d87df72ca0057782fa81ead10" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md", + "sha256": "c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json", + "sha256": "50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt", + "sha256": "e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt", + "sha256": "4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c" + }, + { + "path": "verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py", + "sha256": "28933bf5d05119e52c3d28c37a87abb38793a4b692dad96121c0e541a2fde2f7" + }, + { + "path": "verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json", + "sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101" + } + ], + "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", + "contract": "research-completion-abi", + "id": "ed14042366e407a5dc26e7a1", + "model": "openai/gpt-6-astra", + "next_action": "Lead schedules research-abi-analyst through normal lifecycle controls for a fresh static-only capture quantum implementing the probes in d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257, using a new real-session output directory before independent verifier reproduction.", + "role": "resolver", + "schema": "sots-checkpoint/1", + "session": "run-daefd1b77558f324ae730b27", + "summary": "Resolution-only quantum complete. Observations: read canonical AGENTS/policy/README, ABI contract/latest checkpoint, both surprises, affected bridge/replacement contracts, prior decision d-b51f3f76803e852ed250846a, analyst and verifier manifests, helper and raw four exact plus nested-copy-wide streams. Exact stop 0x779a20 truncates 74 10; +4 stop 0x779a24 truncates later e8 call. Nested-copy body/cleanup through 0x779926 precedes affected later code. Helper hard-codes prior session/output and overwrites. Archived eight objdump executions are positive; aggregate reproduction failed, not pass. Binary 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and GNU objdump 2.38/373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are documentary identities, not fresh resolver rehashes. Direct git HEAD/common-dir match: /tmp/opencode/sots-final-research-engine at 7741d42fc5e4e761e6449bdaf0e4a61d00036a23, /home/alex/sots-engine/.git; /tmp/opencode/sots-final-research-re at 3bfde5a70d874a723e797a695bbd847fd82c0aa7, /home/alex/sots-re/.git. Both have preexisting dirty/untracked source, inspected status; historical source-content hashes engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd / RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly rebound. Current launch source_before in runtime/runs/run-daefd1b77558f324ae730b27.json. Decisions: d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257 close both surprises with precise survives/qualified/overturned domains, invalidation and unexecuted cheapest probes. Contract returns needs-revision, no acceptance or evidence restoration. Earlier static EvTurn correction survives; full stream and current-session acceptance do not. Require new session-specific fail-if-exists analyst capture, complete-boundary/raw-byte controls, then fresh independent integrated reproduction including archived records. Bridge remains needs-revision and replacement proposed/dependency-gated; their accepted-ABI prose is not current status. Tests: campaign validate research-completion-abi passed; no experiment/reproduction/game/build performed. Initial compound relative-path shell call denied; no bypass. No source/architecture edits, delegation, staging, commits, pushes, VM/Ghidra/build-host access or mutation. Lease directory inspected only; no resource acquired or assumed available, cleanup not applicable. Blockers: new captures, truthful provenance, independent integrated evidence; runtime allocator/full-capacity/exception/RNG/replacement claims remain unmeasured. Integrator must link actual decisions and regenerate projections only after integration; board/current pointers untouched.", + "timestamp": "2026-09-10T04:51:50.291459+00:00" +} diff --git a/campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json b/campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json new file mode 100644 index 0000000..73cd48f --- /dev/null +++ b/campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json @@ -0,0 +1,14 @@ +{ + "actor": "research ABI surprise resolver", + "contract": "research-completion-abi", + "explanation": "Astra resolution-only decision, session run-daefd1b77558f324ae730b27; apply jointly with d-fd5aff1eaf78a8c15d96723c. OBSERVATION: inspected verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py. Lines 7 and 72 hard-code prior output directory and session; lines 26/36/84 allow overwriting prior outputs. Actual-session report-run-5bd0e537bb0c4c4f43987ac1.md records current invocation and exit 1; generated run-ee78b8773688ca09f8046e21/manifest.json claims prior session with fresh timestamp. Current checkpoint 070383fd013a0e4b1a2ef5e0 rehashed that manifest/report to the inherited checkpoint hashes. Binary/tool/source and positive static execution qualifications are recorded in d-fd5aff1eaf78a8c15d96723c; no fresh binary execution or runtime neutrality measurement here. No basis to infer a different game build or game mechanism from stale provenance.\nOVERTURNED in exact current-session domain: manifest is truthful evidence of run-5bd0e537bb0c4c4f43987ac1, inherited helper is safely reusable unchanged across fresh sessions, and fresh timestamp/identical stdout repairs stale session identity. QUALIFIED: raw outputs and report survive as archived static measurements with documented provenance defect, not independent current-session or integrated acceptance. SURVIVES: failed boundary challenge is a failure, eight positive objdump subprocess records support static capture rather than zero-execution, and unaffected decoded ownership rows retain only the partial static domain in companion decision. A later report cannot retroactively turn overwritten prior-session output into an immutable original-run bundle.\nINVALIDATE current-session/full-compare acceptance use of the entire verifier run-ee78b8773688ca09f8046e21/manifest.json package, its hard-coded helper as a fresh-run recipe, and any checkpoint/verdict depending on that attribution. Preserve original files and failure report; no in-place relabeling, rehashing old measurements under new source, or overwriting again. Evidence array already empty; earlier invalidated integrated evidence/verdict remains invalid. No claim that all historical instruction bytes are false. Revised dependencies: a fresh uniquely named analyst package and a separately executed independent verifier package, each with explicit immutable session/actor/role/model, invocation/time, source-content bindings, original input and dereferenced tool identity, argv/cwd/streams/results and artifact hashes. Harness/interpreter identity must be bound as consumed tooling, not inferred from Git HEAD. Full instruction/dataflow review must accompany marker checks; helper regex matches only mov DWORD PTR [ebp-0x20] and alone is not exhaustive def/use proof. Both existing acceptance criteria, archived-record checking and integrated independent reproduction remain mandatory.\nVALID NEXT ACTION: lead schedules the existing analyst for static capture repair under normal lifecycle controls, using companion boundary probe and a new session-specific output directory with fail-if-exists semantics. Direct commands with a contemporaneous immutable manifest are sufficient; no general framework changes needed. Independent verifier follows in a separate execution after fresh analyst handoff. Closing these surprises permits needs-revision only, not ready/accepted; live-record-bridge and research-replacement remain dependency-gated, no implementation/lab authorization, and no projection publication until integration. This resolver makes no source edits or nested launches.", + "id": "d-0bb927e63b915c87a58d4257", + "invalidated_checkpoint": null, + "invalidated_evidence": [], + "model": "openai/gpt-6-astra", + "probe": "Cheapest provenance discriminator before capture: supply the actual new campaign run session explicitly to a fresh minimal capture recipe/direct manifest; verify it equals the launch record and output directory and that the directory does not already exist. Predeclare negative checks rejecting missing session, stale prior-session ID and reused output location before running objdump. Archive the recipe and interpreter/tool/source/input identities before capture; run all four exact/repaired complete-boundary windows plus companion negative boundary control into the new directory and record actual commands, timestamps, return codes and stream hashes. Fail closed on identity drift and any required failure; expected bad-boundary control must remain explicitly classified negative, never counted as a passing full stream. Independent verifier must reproduce with its own real session and fresh directory, not execute the inherited hard-coded helper or relabel this manifest. No probe was executed by resolver.", + "role": "resolver", + "schema": "sots-decision/1", + "surprise": "s-d44b9f9e62272794d88bbed6", + "timestamp": "2026-09-10T04:51:08.364275+00:00" +} diff --git a/campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json b/campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json new file mode 100644 index 0000000..bf20c22 --- /dev/null +++ b/campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json @@ -0,0 +1,14 @@ +{ + "actor": "research ABI surprise resolver", + "contract": "research-completion-abi", + "explanation": "Astra resolution-only decision; session run-daefd1b77558f324ae730b27. OBSERVATION/PROVENANCE: inspected analyst run-16f8e9b6376b278c4870be09/manifest.json and verifier run-ee78b8773688ca09f8046e21/manifest.json plus all four exact stdout streams and nested-copy-wide.stdout.txt under verify/results/research-completion-abi-correction-verifier/. Checkpoint 070383fd013a0e4b1a2ef5e0 rehashes verifier manifest 50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393 and actual-session report c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc. Exact nested-copy ends 0x779a1f with displayed byte 74; wide adds displacement 10 but ends 0x779a23 with only e8. Manifest records eight exit-zero, nonempty, empty-stderr objdump executions and four byte-exact analyst comparisons, but full harness exit is 1, not success. Documentary binary identity: 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; GNU objdump 2.38, 373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd. These were not freshly rehashed/rerun by resolver. Direct HEAD/common-dir checks match contract baselines in assigned paired worktrees; both trees are dirty, not assumed clean or identified solely by HEAD. Launcher records source_before; historical content bindings engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd, RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 are documentary, not new measurements. INSTRUMENT: stop-address affects displayed instruction bytes despite a decoded target and return zero; +4 is not a completeness guarantee. No game/hook execution or runtime neutrality measurement occurred. This is capture-boundary interference, not a stale-build/game-mechanism diagnosis.\nOVERTURNED: complete four-window stream/no-truncation and nested-copy exact-row-prefix claims at stops 0x779a20/0x779a24; full independent-cross-check success and any acceptance inferred from 44/45 checks. SURVIVES as inspected static rows only: nested-copy 0x779850..0x779926 includes zero header initialization, empty/nonempty split, allocation call 0x78af40, stride 0x74, copy call 0x7725a0, EAX receiver return/ret4 and displayed cleanup calls. Truncation lies in later code, not these rows. SURVIVES under valid containers and normally returning helpers: get/create last-match scan, no pre-append initialization of EBP-0x20, append source+4 copy before nested-copy before last advance, temporary cleanup before requested-turn store, nested destructor null/non-null loop/free/three-pointer zeroing. Prior d-b51f3f76803e852ed250846a correction is not reversed. QUALIFIED: these are partial static understanding, not live empty/full-capacity execution, nonempty record validation, allocator safety, exception safety, RNG state accounting, standalone replacement or integrated acceptance. Other ABI/string/dedup/pruning claims are unaffected historical scope, not freshly recertified here.\nINVALIDATE for complete-stream/current acceptance use: analyst run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt and its package completeness; verifier run-ee78b8773688ca09f8046e21 exact/wide nested-copy streams as complete windows; manifest full-compare scope and any passing interpretation in handoff/checkpoint bbe83c0b7516313cc7cc27b2. Preserve bytes, failed check and report as historical measurements. Contract evidence array is already empty; do not restore evidence/verdict invalidated by d-b51f3f76803e852ed250846a. Revised scope remains static-only correction, same acceptance criteria and controls-bootstrap dependency, fresh input/tool/source binding plus session-provenance repair required. research-live-record-bridge remains needs-revision and research-replacement proposed: their accepted-ABI prose is not current acceptance; all dependent implementation/live execution remains gated. No source/architecture/lab edits authorized. Lead must integrate only repaired independently reproduced evidence, link actual decisions and regenerate projections then, not write another board history.", + "id": "d-fd5aff1eaf78a8c15d96723c", + "invalidated_checkpoint": "campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json", + "invalidated_evidence": [], + "model": "openai/gpt-6-astra", + "probe": "Cheapest discriminator for an authorized analyst after both resolutions and normal lifecycle scheduling: fresh pinned objdump -D -Mintel from 0x00779850 at stops 0x00779a20 (known-bad negative control), 0x00779a21 and 0x00779a23. Archived wide rows predict 74 10 ends at 0x779a21 and 8b cf ends at 0x779a23; these replacement stops are predictions, not measured here. Check raw PE section bytes across 0x779a1f..0x779a28 and instruction lengths, require the two aligned captures to be complete and prefix-consistent, and reject old stop as truncated despite exit zero. For narrowly scoped nested-copy authority use separately captured 0x779850..0x779930, retaining return and cleanup through 0x779926 and padding, excluding later routines; verify that terminal boundary too. Recapture all four ownership windows and boundary controls with current-session immutable manifests, all streams/argv/cwd/return codes/hashes and source binding. Audit all terminal instructions, not just prefix equality. Then an independent verifier reproduces the fresh package and held-out complete-boundary control before independent-cross-check; integrated evidence and archived-record checking remain required. No VM needed, no runtime claim; stop and escalate any new mismatch.", + "role": "resolver", + "schema": "sots-decision/1", + "surprise": "s-4f4fb5e8ee42ccff7e68efb5", + "timestamp": "2026-09-10T04:50:36.267192+00:00" +} diff --git a/campaign/runtime/runs/active-research-completion-abi.json b/campaign/runtime/runs/active-research-completion-abi.json index 7339ed7..9918a3f 100644 --- a/campaign/runtime/runs/active-research-completion-abi.json +++ b/campaign/runtime/runs/active-research-completion-abi.json @@ -1,5 +1,5 @@ { "contract": "research-completion-abi", - "run": "run-16f8e9b6376b278c4870be09", + "run": "run-daefd1b77558f324ae730b27", "status": "complete" } diff --git a/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.json b/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.json new file mode 100644 index 0000000..8caa801 --- /dev/null +++ b/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.json @@ -0,0 +1,10362 @@ +{ + "actor": "research-abi-correction-verifier", + "checkpoint": "campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json", + "checkpoint_session": "run-5bd0e537bb0c4c4f43987ac1", + "command": [ + "opencode", + "run", + "--format", + "json", + "--model", + "openai/gpt-5.6-sol", + "--agent", + "sots-verifier", + "Start a FRESH bounded campaign quantum (40 steps). No delegation.\nRole=verifier; requested model=openai/gpt-5.6-sol; actor=research-abi-correction-verifier; checkpoint session=run-5bd0e537bb0c4c4f43987ac1.\nCanonical state root: /home/alex/sots-re\nContract: /home/alex/sots-re/campaign/contracts/research-completion-abi.json\nLatest checkpoint: campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json\nEngine worktree: /tmp/opencode/sots-final-research-engine\nRE worktree: /tmp/opencode/sots-final-research-re\nRead canonical campaign/README.md, contract, latest checkpoint and open surprises before work. Verify source/worktree/resource identities. Only edit owned scope. Missing state means blocked. Do not commit, stage, push or mutate lab resources without explicit authority and a lease. Checkpoint every 20 tool calls or 15 minutes, before experiments, compaction and stopping; persist under canonical campaign/ using tools/campaign.py with the session above, exact model, actor and role. Include observations versus decisions, source identities, artifact paths, tests, blockers and ONE exact next action. Fresh checkpoint at quantum end is mandatory. Record a surprise and pause affected work if assumptions are falsified. Workers cannot change architecture. Do not rely on chat resume or automatic compaction." + ], + "completed_sessions": [ + "ses_f76609cacffehgocHJBjwwfpHi" + ], + "config": { + "canonical_files": { + "campaign/agents/analyst.md": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952", + "campaign/agents/implementer.md": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91", + "campaign/agents/lab.md": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8", + "campaign/agents/lead.md": "8fcfe52be845ed98a172afb47ea888b19bb7bffa80f7b50ace58d2bb66924220", + "campaign/agents/resolver.md": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f", + "campaign/agents/verifier.md": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b", + "campaign/models.json": "00f959ff4ce16ba22f6befa7a9d495eb85d62d9e8001b1e1345eaae0e11b6e48", + "opencode.json": "027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99" + }, + "effective": { + "agent_sha256": "468c1dace9725c494d826ac41a8ebd79b50387eaabd92161005c125f21ee8016", + "sha256": "ef16bed80451572986c1eae10b1bce128fb23bdfbdb2c315bb83faf1c2385937" + }, + "expanded_prompt_sha256": "3ba305b39b9c1925acd4652dfda1792fe337ef9f7194b7da9a036e237571de9f", + "overlay": { + "agent": { + "sots-verifier": { + "model": "openai/gpt-5.6-sol", + "permission": { + "bash": "allow", + "edit": { + "*": "allow", + "*/sots-engine*/src/*": "deny", + "*AGENTS.md": "deny", + "*campaign/agents/*": "deny", + "*campaign/models.json": "deny", + "*docs/architecture.md": "deny", + "*guides/multi-agent-workflow.md": "deny", + "*opencode.json": "deny" + }, + "external_directory": { + "*": "deny", + "/home/alex/sots-re": "allow", + "/home/alex/sots-re/*": "allow", + "/tmp/opencode/sots-final-research-engine": "allow", + "/tmp/opencode/sots-final-research-engine/*": "allow", + "/tmp/opencode/sots-final-research-re": "allow", + "/tmp/opencode/sots-final-research-re/*": "allow" + }, + "glob": "allow", + "grep": "allow", + "list": "allow", + "question": "deny", + "read": "allow", + "task": "deny" + }, + "prompt": "You are the independent SOTS verifier, a separate execution from the implementation author.\nRead canonical RE AGENTS.md, campaign/README.md, the contract, raw evidence and checkpoint.\nChallenge the interpretation, boundary and instrument, not just the implementation syntax.\nBefore coding starts define falsifiers, required branch exposures and distinct states. Afterward\nreproduce from the handoff alone and challenge at least one assumption with a held-out workload,\nboundary, negative control or ablation. Check actual state/RNG independently of reported counters.\n\nReject missing/invalid inputs, zero execution, unexpected skips, truncated coverage, stale binary\nidentity and self-certified evidence. Separate original-assisted, partial compare, full compare,\nindependent replacement and integrated replay. Whole-state equality on one workload has that\nworkload's scope. Record failed predictions and residuals without converting them into success.\n\nOwn verification artifacts only; no edits to implementation to make tests pass, architecture\nchanges, delegates, shared status or unleased lab actions. Plan-changing surprises require Astra.\nCheckpoint every 20 calls/15min and before compaction, experiments, handoff/stop. Finish each\n40-step quantum with reproduction commands/results and exact next action in canonical RE.\n", + "steps": 40 + } + }, + "model": "openai/gpt-5.6-sol" + }, + "path": "/home/alex/sots-re/opencode.json", + "sha256": "027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99" + }, + "contract": "research-completion-abi", + "cwd": "/tmp/opencode/sots-final-research-re", + "ended_at": "2026-09-10T04:47:33.285918+00:00", + "error_events": 0, + "event_count": 102, + "id": "run-5bd0e537bb0c4c4f43987ac1", + "log": "campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.jsonl", + "malformed_events": 0, + "max_steps": 40, + "observed_model_status": "unavailable", + "observed_models": [], + "observed_sessions": [ + "ses_f76609cacffehgocHJBjwwfpHi" + ], + "requested_model": "openai/gpt-5.6-sol", + "resolution_only": false, + "returncode": 0, + "role": "verifier", + "schema": "sots-run/1", + "source_after": { + "engine": { + "commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5" + }, + "CMakeLists.txt": { + "mode": 420, + "sha256": "6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed" + }, + "CMakePresets.json": { + "mode": 420, + "sha256": "fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0" + }, + "CONTRIBUTING.md": { + "mode": 420, + "sha256": "26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506" + }, + "LICENSE": { + "mode": 420, + "sha256": "eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858" + }, + "README.md": { + "mode": 420, + "sha256": "66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1" + }, + "cmake/toolchain-mingw-i686.cmake": { + "mode": 420, + "sha256": "231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b" + }, + "docs/A2-alliance-and-modcount.md": { + "mode": 420, + "sha256": "0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701" + }, + "docs/AC-predictions.md": { + "mode": 420, + "sha256": "ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda" + }, + "docs/B1.md": { + "mode": 420, + "sha256": "42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364" + }, + "docs/B2.md": { + "mode": 420, + "sha256": "87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8" + }, + "docs/B3.md": { + "mode": 420, + "sha256": "fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518" + }, + "docs/B4.md": { + "mode": 420, + "sha256": "22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d" + }, + "docs/B6-ship-construction.md": { + "mode": 420, + "sha256": "9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab" + }, + "docs/CB-capture.md": { + "mode": 420, + "sha256": "ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0" + }, + "docs/CB-predictions.md": { + "mode": 420, + "sha256": "ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f" + }, + "docs/E-events.md": { + "mode": 420, + "sha256": "de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201" + }, + "docs/EV-events.md": { + "mode": 420, + "sha256": "e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9" + }, + "docs/G-wire-schema.md": { + "mode": 420, + "sha256": "19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591" + }, + "docs/G3-civilian-growth.md": { + "mode": 420, + "sha256": "38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30" + }, + "docs/H-probes.md": { + "mode": 420, + "sha256": "f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f" + }, + "docs/L1-predictions.md": { + "mode": 420, + "sha256": "af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754" + }, + "docs/L2-predictions.md": { + "mode": 420, + "sha256": "18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460" + }, + "docs/L3-predictions.md": { + "mode": 420, + "sha256": "d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e" + }, + "docs/L4-ai-orders.md": { + "mode": 420, + "sha256": "b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835" + }, + "docs/L4-predictions.md": { + "mode": 420, + "sha256": "6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44" + }, + "docs/L5-live-verification.md": { + "mode": 420, + "sha256": "4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4" + }, + "docs/M-movefleet.md": { + "mode": 420, + "sha256": "718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426" + }, + "docs/M0.md": { + "mode": 420, + "sha256": "e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705" + }, + "docs/M1.md": { + "mode": 420, + "sha256": "e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704" + }, + "docs/M2.md": { + "mode": 420, + "sha256": "25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61" + }, + "docs/N-output-term.md": { + "mode": 420, + "sha256": "3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde" + }, + "docs/P-events-wiring.md": { + "mode": 420, + "sha256": "72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba" + }, + "docs/PAR-predictions.md": { + "mode": 420, + "sha256": "16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846" + }, + "docs/PL-players-residual.md": { + "mode": 420, + "sha256": "9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc" + }, + "docs/R-recapture.md": { + "mode": 420, + "sha256": "73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f" + }, + "docs/RB-predictions.md": { + "mode": 420, + "sha256": "c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7" + }, + "docs/S-standalone.md": { + "mode": 420, + "sha256": "8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e" + }, + "docs/SD-predictions.md": { + "mode": 420, + "sha256": "a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0" + }, + "docs/SV-script-objects.md": { + "mode": 420, + "sha256": "80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409" + }, + "docs/T-turn-driver.md": { + "mode": 420, + "sha256": "a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e" + }, + "docs/U-unlock.md": { + "mode": 420, + "sha256": "5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901" + }, + "docs/V-eventlive.md": { + "mode": 420, + "sha256": "ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1" + }, + "docs/W2-predictions.md": { + "mode": 420, + "sha256": "9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5" + }, + "docs/W2-watchpoints.md": { + "mode": 420, + "sha256": "f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107" + }, + "docs/W3-predictions.md": { + "mode": 420, + "sha256": "211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf" + }, + "docs/W3-watchpoints.md": { + "mode": 420, + "sha256": "568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061" + }, + "docs/Y-standalone-rng-and-tail.md": { + "mode": 420, + "sha256": "49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b" + }, + "docs/Z-tail-rng.md": { + "mode": 420, + "sha256": "3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1" + }, + "docs/architecture.md": { + "mode": 420, + "sha256": "ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f" + }, + "docs/game-data.md": { + "mode": 420, + "sha256": "2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23" + }, + "docs/game-design.md": { + "mode": 420, + "sha256": "5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272" + }, + "docs/game-effects.md": { + "mode": 420, + "sha256": "e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d" + }, + "docs/game-sim.md": { + "mode": 420, + "sha256": "d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e" + }, + "docs/harness-audit.md": { + "mode": 420, + "sha256": "931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0" + }, + "docs/mars-parse.md": { + "mode": 420, + "sha256": "d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd" + }, + "docs/mars-rng.md": { + "mode": 420, + "sha256": "f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c" + }, + "docs/mars-stream.md": { + "mode": 420, + "sha256": "61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7" + }, + "docs/mars-text.md": { + "mode": 420, + "sha256": "2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1" + }, + "docs/mars-vfs.md": { + "mode": 420, + "sha256": "1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62" + }, + "docs/shim-trace.md": { + "mode": 420, + "sha256": "8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5" + }, + "include/generated/sots_addresses.h": { + "mode": 420, + "sha256": "fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448" + }, + "include/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "opencode.json": { + "mode": 420, + "sha256": "9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15" + }, + "src/app/CMakeLists.txt": { + "mode": 420, + "sha256": "142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717" + }, + "src/app/alliance.cpp": { + "mode": 420, + "sha256": "37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9" + }, + "src/app/alliance.h": { + "mode": 420, + "sha256": "08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd" + }, + "src/app/command_replay.cpp": { + "mode": 420, + "sha256": "739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824" + }, + "src/app/command_replay.h": { + "mode": 420, + "sha256": "956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2" + }, + "src/app/construction_phase.cpp": { + "mode": 420, + "sha256": "025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df" + }, + "src/app/construction_phase.h": { + "mode": 420, + "sha256": "a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e" + }, + "src/app/event_phase.cpp": { + "mode": 420, + "sha256": "80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90" + }, + "src/app/event_phase.h": { + "mode": 420, + "sha256": "54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34" + }, + "src/app/growth_phase.cpp": { + "mode": 420, + "sha256": "5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3" + }, + "src/app/growth_phase.h": { + "mode": 420, + "sha256": "8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b" + }, + "src/app/main.cpp": { + "mode": 420, + "sha256": "adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7" + }, + "src/app/observed_phase.cpp": { + "mode": 420, + "sha256": "31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3" + }, + "src/app/observed_phase.h": { + "mode": 420, + "sha256": "f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693" + }, + "src/app/phase_catalog.cpp": { + "mode": 420, + "sha256": "e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316" + }, + "src/app/phase_catalog.h": { + "mode": 420, + "sha256": "da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87" + }, + "src/app/report.cpp": { + "mode": 420, + "sha256": "da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228" + }, + "src/app/report.h": { + "mode": 420, + "sha256": "0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481" + }, + "src/app/script_phase.cpp": { + "mode": 420, + "sha256": "61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91" + }, + "src/app/script_phase.h": { + "mode": 420, + "sha256": "e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7" + }, + "src/app/trade_raid.cpp": { + "mode": 420, + "sha256": "07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf" + }, + "src/app/trade_raid.h": { + "mode": 420, + "sha256": "10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52" + }, + "src/app/treaty.cpp": { + "mode": 420, + "sha256": "317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575" + }, + "src/app/treaty.h": { + "mode": 420, + "sha256": "836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9" + }, + "src/app/turn.cpp": { + "mode": 420, + "sha256": "a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4" + }, + "src/app/turn.h": { + "mode": 420, + "sha256": "85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237" + }, + "src/app/turn_record.cpp": { + "mode": 420, + "sha256": "e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d" + }, + "src/app/turn_record.h": { + "mode": 420, + "sha256": "78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d" + }, + "src/app/visibility_phase.cpp": { + "mode": 420, + "sha256": "34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131" + }, + "src/app/visibility_phase.h": { + "mode": 420, + "sha256": "60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27" + }, + "src/game/ai/CMakeLists.txt": { + "mode": 420, + "sha256": "f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb" + }, + "src/game/ai/agent.cpp": { + "mode": 420, + "sha256": "e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7" + }, + "src/game/ai/agent.h": { + "mode": 420, + "sha256": "48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244" + }, + "src/game/ai/apply_order.cpp": { + "mode": 420, + "sha256": "122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253" + }, + "src/game/ai/apply_order.h": { + "mode": 420, + "sha256": "a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3" + }, + "src/game/ai/command_capture.cpp": { + "mode": 420, + "sha256": "cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec" + }, + "src/game/ai/command_capture.h": { + "mode": 420, + "sha256": "921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f" + }, + "src/game/ai/orders.cpp": { + "mode": 420, + "sha256": "1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640" + }, + "src/game/ai/orders.h": { + "mode": 420, + "sha256": "c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae" + }, + "src/game/ai/tasks.cpp": { + "mode": 420, + "sha256": "b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76" + }, + "src/game/ai/tasks.h": { + "mode": 420, + "sha256": "b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d" + }, + "src/game/ai/turn_order.cpp": { + "mode": 420, + "sha256": "858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22" + }, + "src/game/ai/turn_order.h": { + "mode": 420, + "sha256": "3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f" + }, + "src/game/combat/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115" + }, + "src/game/combat/retreat.cpp": { + "mode": 420, + "sha256": "eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f" + }, + "src/game/combat/retreat.h": { + "mode": 420, + "sha256": "5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d" + }, + "src/game/config/CMakeLists.txt": { + "mode": 420, + "sha256": "c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7" + }, + "src/game/config/config_loader.cpp": { + "mode": 420, + "sha256": "d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1" + }, + "src/game/config/config_loader.h": { + "mode": 420, + "sha256": "fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085" + }, + "src/game/config/manifest_loader.cpp": { + "mode": 420, + "sha256": "dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6" + }, + "src/game/config/manifest_loader.h": { + "mode": 420, + "sha256": "68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5" + }, + "src/game/config/msvc_sort.h": { + "mode": 420, + "sha256": "17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716" + }, + "src/game/data/CMakeLists.txt": { + "mode": 420, + "sha256": "677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51" + }, + "src/game/data/block.cpp": { + "mode": 420, + "sha256": "f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200" + }, + "src/game/data/block.h": { + "mode": 420, + "sha256": "f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc" + }, + "src/game/data/catalog.cpp": { + "mode": 420, + "sha256": "7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc" + }, + "src/game/data/catalog.h": { + "mode": 420, + "sha256": "80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e" + }, + "src/game/data/common.cpp": { + "mode": 420, + "sha256": "e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040" + }, + "src/game/data/common.h": { + "mode": 420, + "sha256": "d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187" + }, + "src/game/data/fields.h": { + "mode": 420, + "sha256": "4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb" + }, + "src/game/data/shipsection.cpp": { + "mode": 420, + "sha256": "82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264" + }, + "src/game/data/shipsection.h": { + "mode": 420, + "sha256": "bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0" + }, + "src/game/data/strings.cpp": { + "mode": 420, + "sha256": "6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59" + }, + "src/game/data/strings.h": { + "mode": 420, + "sha256": "fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055" + }, + "src/game/data/techtree.cpp": { + "mode": 420, + "sha256": "2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea" + }, + "src/game/data/techtree.h": { + "mode": 420, + "sha256": "504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007" + }, + "src/game/data/turrets.cpp": { + "mode": 420, + "sha256": "ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4" + }, + "src/game/data/turrets.h": { + "mode": 420, + "sha256": "f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64" + }, + "src/game/data/weapon.cpp": { + "mode": 420, + "sha256": "accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6" + }, + "src/game/data/weapon.h": { + "mode": 420, + "sha256": "63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009" + }, + "src/game/design/CMakeLists.txt": { + "mode": 420, + "sha256": "42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef" + }, + "src/game/design/defaults.cpp": { + "mode": 420, + "sha256": "8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528" + }, + "src/game/design/defaults.h": { + "mode": 420, + "sha256": "20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b" + }, + "src/game/design/design.cpp": { + "mode": 420, + "sha256": "e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20" + }, + "src/game/design/design.h": { + "mode": 420, + "sha256": "7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997" + }, + "src/game/design/hull.cpp": { + "mode": 420, + "sha256": "554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a" + }, + "src/game/design/hull.h": { + "mode": 420, + "sha256": "997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461" + }, + "src/game/design/rules.cpp": { + "mode": 420, + "sha256": "a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319" + }, + "src/game/design/rules.h": { + "mode": 420, + "sha256": "70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229" + }, + "src/game/design/stats.cpp": { + "mode": 420, + "sha256": "c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54" + }, + "src/game/design/stats.h": { + "mode": 420, + "sha256": "ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5" + }, + "src/game/effects/CMakeLists.txt": { + "mode": 420, + "sha256": "2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89" + }, + "src/game/effects/tech_effects.cpp": { + "mode": 420, + "sha256": "40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604" + }, + "src/game/effects/tech_effects.h": { + "mode": 420, + "sha256": "ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6" + }, + "src/game/effects/tech_id.cpp": { + "mode": 420, + "sha256": "11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6" + }, + "src/game/effects/tech_id.h": { + "mode": 420, + "sha256": "f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86" + }, + "src/game/events/CMakeLists.txt": { + "mode": 420, + "sha256": "9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2" + }, + "src/game/events/event_log.cpp": { + "mode": 420, + "sha256": "3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1" + }, + "src/game/events/event_log.h": { + "mode": 420, + "sha256": "2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953" + }, + "src/game/events/research_events.cpp": { + "mode": 420, + "sha256": "9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253" + }, + "src/game/events/research_events.h": { + "mode": 420, + "sha256": "b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22" + }, + "src/game/nav/CMakeLists.txt": { + "mode": 420, + "sha256": "79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a" + }, + "src/game/nav/pathplan.cpp": { + "mode": 420, + "sha256": "04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775" + }, + "src/game/nav/pathplan.h": { + "mode": 420, + "sha256": "28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7" + }, + "src/game/sim/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116" + }, + "src/game/sim/colony.cpp": { + "mode": 420, + "sha256": "e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77" + }, + "src/game/sim/colony.h": { + "mode": 420, + "sha256": "357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47" + }, + "src/game/sim/construction.cpp": { + "mode": 420, + "sha256": "8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130" + }, + "src/game/sim/construction.h": { + "mode": 420, + "sha256": "a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460" + }, + "src/game/sim/economy.cpp": { + "mode": 420, + "sha256": "1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89" + }, + "src/game/sim/economy.h": { + "mode": 420, + "sha256": "6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a" + }, + "src/game/sim/movement.cpp": { + "mode": 420, + "sha256": "80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2" + }, + "src/game/sim/movement.h": { + "mode": 420, + "sha256": "9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441" + }, + "src/game/sim/numeric.h": { + "mode": 420, + "sha256": "88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2" + }, + "src/game/sim/observed.cpp": { + "mode": 420, + "sha256": "43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22" + }, + "src/game/sim/observed.h": { + "mode": 420, + "sha256": "0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f" + }, + "src/game/sim/player_turn.cpp": { + "mode": 420, + "sha256": "beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2" + }, + "src/game/sim/player_turn.h": { + "mode": 420, + "sha256": "f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a" + }, + "src/game/sim/research.cpp": { + "mode": 420, + "sha256": "95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89" + }, + "src/game/sim/research.h": { + "mode": 420, + "sha256": "e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9" + }, + "src/game/sim/rng.h": { + "mode": 420, + "sha256": "f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c" + }, + "src/game/sim/scriptobjects.cpp": { + "mode": 420, + "sha256": "a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2" + }, + "src/game/sim/scriptobjects.h": { + "mode": 420, + "sha256": "210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b" + }, + "src/game/sim/species.h": { + "mode": 420, + "sha256": "83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298" + }, + "src/game/sim/techgraph.cpp": { + "mode": 420, + "sha256": "81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8" + }, + "src/game/sim/techgraph.h": { + "mode": 420, + "sha256": "b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e" + }, + "src/game/sim/tuning.h": { + "mode": 420, + "sha256": "4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194" + }, + "src/game/sim/visibility.cpp": { + "mode": 420, + "sha256": "25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0" + }, + "src/game/sim/visibility.h": { + "mode": 420, + "sha256": "783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f" + }, + "src/mars/parse/CMakeLists.txt": { + "mode": 420, + "sha256": "76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9" + }, + "src/mars/parse/blocks.cpp": { + "mode": 420, + "sha256": "e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b" + }, + "src/mars/parse/blocks.h": { + "mode": 420, + "sha256": "1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1" + }, + "src/mars/parse/effect.cpp": { + "mode": 420, + "sha256": "beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9" + }, + "src/mars/parse/effect.h": { + "mode": 420, + "sha256": "aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44" + }, + "src/mars/parse/result.h": { + "mode": 420, + "sha256": "58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9" + }, + "src/mars/parse/script.h": { + "mode": 420, + "sha256": "69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3" + }, + "src/mars/parse/value.cpp": { + "mode": 420, + "sha256": "712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623" + }, + "src/mars/parse/value.h": { + "mode": 420, + "sha256": "60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38" + }, + "src/mars/rng/CMakeLists.txt": { + "mode": 420, + "sha256": "dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc" + }, + "src/mars/rng/mt19937.cpp": { + "mode": 420, + "sha256": "0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b" + }, + "src/mars/rng/mt19937.h": { + "mode": 420, + "sha256": "300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e" + }, + "src/mars/stream/CMakeLists.txt": { + "mode": 420, + "sha256": "95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a" + }, + "src/mars/stream/archive.h": { + "mode": 420, + "sha256": "84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e" + }, + "src/mars/stream/bytes.h": { + "mode": 420, + "sha256": "9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1" + }, + "src/mars/stream/dump.cpp": { + "mode": 420, + "sha256": "1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16" + }, + "src/mars/stream/dump.h": { + "mode": 420, + "sha256": "a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f" + }, + "src/mars/stream/gzip.cpp": { + "mode": 420, + "sha256": "20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644" + }, + "src/mars/stream/gzip.h": { + "mode": 420, + "sha256": "6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9" + }, + "src/mars/stream/node.h": { + "mode": 420, + "sha256": "eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860" + }, + "src/mars/stream/probe.h": { + "mode": 420, + "sha256": "6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13" + }, + "src/mars/stream/reader.cpp": { + "mode": 420, + "sha256": "90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3" + }, + "src/mars/stream/reader.h": { + "mode": 420, + "sha256": "900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4" + }, + "src/mars/stream/save.cpp": { + "mode": 420, + "sha256": "6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049" + }, + "src/mars/stream/save.h": { + "mode": 420, + "sha256": "b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469" + }, + "src/mars/stream/savedump_main.cpp": { + "mode": 420, + "sha256": "8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c" + }, + "src/mars/stream/schema.h": { + "mode": 420, + "sha256": "b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05" + }, + "src/mars/stream/shapes.h": { + "mode": 420, + "sha256": "45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d" + }, + "src/mars/stream/writer.cpp": { + "mode": 420, + "sha256": "54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083" + }, + "src/mars/stream/writer.h": { + "mode": 420, + "sha256": "921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340" + }, + "src/mars/text/CMakeLists.txt": { + "mode": 420, + "sha256": "dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436" + }, + "src/mars/text/csv.cpp": { + "mode": 420, + "sha256": "b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af" + }, + "src/mars/text/csv.h": { + "mode": 420, + "sha256": "3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917" + }, + "src/mars/text/flat_kv.cpp": { + "mode": 420, + "sha256": "b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47" + }, + "src/mars/text/flat_kv.h": { + "mode": 420, + "sha256": "d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292" + }, + "src/mars/text/lines.h": { + "mode": 420, + "sha256": "b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65" + }, + "src/mars/text/manifest.cpp": { + "mode": 420, + "sha256": "4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e" + }, + "src/mars/text/manifest.h": { + "mode": 420, + "sha256": "dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102" + }, + "src/mars/text/result.h": { + "mode": 420, + "sha256": "7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606" + }, + "src/mars/text/value.cpp": { + "mode": 420, + "sha256": "94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479" + }, + "src/mars/text/value.h": { + "mode": 420, + "sha256": "d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07" + }, + "src/mars/vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786" + }, + "src/mars/vfs/path.cpp": { + "mode": 420, + "sha256": "e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb" + }, + "src/mars/vfs/path.h": { + "mode": 420, + "sha256": "043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033" + }, + "src/mars/vfs/result.h": { + "mode": 420, + "sha256": "19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748" + }, + "src/mars/vfs/vfs.cpp": { + "mode": 420, + "sha256": "ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba" + }, + "src/mars/vfs/vfs.h": { + "mode": 420, + "sha256": "2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90" + }, + "src/mars/vfs/zip_archive.cpp": { + "mode": 420, + "sha256": "d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87" + }, + "src/mars/vfs/zip_archive.h": { + "mode": 420, + "sha256": "0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d" + }, + "src/shim/binkw32.def": { + "mode": 420, + "sha256": "fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235" + }, + "src/shim/fpu_force.cpp": { + "mode": 420, + "sha256": "c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d" + }, + "src/shim/fpu_force.h": { + "mode": 420, + "sha256": "75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06" + }, + "src/shim/hooks/ai_orders.cpp": { + "mode": 420, + "sha256": "091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434" + }, + "src/shim/hooks/ai_orders.h": { + "mode": 420, + "sha256": "6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053" + }, + "src/shim/hooks/ai_rng.cpp": { + "mode": 420, + "sha256": "b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289" + }, + "src/shim/hooks/ai_rng.h": { + "mode": 420, + "sha256": "1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08" + }, + "src/shim/hooks/ai_visit.cpp": { + "mode": 420, + "sha256": "cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31" + }, + "src/shim/hooks/ai_visit.h": { + "mode": 420, + "sha256": "8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189" + }, + "src/shim/hooks/budget_inputs.cpp": { + "mode": 420, + "sha256": "fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b" + }, + "src/shim/hooks/budget_inputs.h": { + "mode": 420, + "sha256": "56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548" + }, + "src/shim/hooks/colony_inputs.cpp": { + "mode": 420, + "sha256": "7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e" + }, + "src/shim/hooks/colony_inputs.h": { + "mode": 420, + "sha256": "87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9" + }, + "src/shim/hooks/colony_turn.cpp": { + "mode": 420, + "sha256": "b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420" + }, + "src/shim/hooks/colony_turn.h": { + "mode": 420, + "sha256": "a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6" + }, + "src/shim/hooks/compute_budget.cpp": { + "mode": 420, + "sha256": "76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906" + }, + "src/shim/hooks/compute_budget.h": { + "mode": 420, + "sha256": "f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa" + }, + "src/shim/hooks/dictionaries.cpp": { + "mode": 420, + "sha256": "b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b" + }, + "src/shim/hooks/dictionaries.h": { + "mode": 420, + "sha256": "ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0" + }, + "src/shim/hooks/draw_sites.cpp": { + "mode": 420, + "sha256": "e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79" + }, + "src/shim/hooks/draw_sites.h": { + "mode": 420, + "sha256": "0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13" + }, + "src/shim/hooks/event_inputs.cpp": { + "mode": 420, + "sha256": "eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b" + }, + "src/shim/hooks/event_inputs.h": { + "mode": 420, + "sha256": "c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731" + }, + "src/shim/hooks/fleet_movement.cpp": { + "mode": 420, + "sha256": "f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0" + }, + "src/shim/hooks/fleet_movement.h": { + "mode": 420, + "sha256": "dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af" + }, + "src/shim/hooks/global_consts.cpp": { + "mode": 420, + "sha256": "87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1" + }, + "src/shim/hooks/global_consts.h": { + "mode": 420, + "sha256": "b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265" + }, + "src/shim/hooks/movement_inputs.cpp": { + "mode": 420, + "sha256": "0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502" + }, + "src/shim/hooks/movement_inputs.h": { + "mode": 420, + "sha256": "32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a" + }, + "src/shim/hooks/player_turn.cpp": { + "mode": 420, + "sha256": "33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23" + }, + "src/shim/hooks/player_turn.h": { + "mode": 420, + "sha256": "a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0" + }, + "src/shim/hooks/player_turn_inputs.cpp": { + "mode": 420, + "sha256": "993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799" + }, + "src/shim/hooks/player_turn_inputs.h": { + "mode": 420, + "sha256": "ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71" + }, + "src/shim/hooks/probe_entry.cpp": { + "mode": 420, + "sha256": "5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506" + }, + "src/shim/hooks/probe_entry.h": { + "mode": 420, + "sha256": "f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f" + }, + "src/shim/hooks/research.cpp": { + "mode": 420, + "sha256": "dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83" + }, + "src/shim/hooks/research.h": { + "mode": 420, + "sha256": "a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84" + }, + "src/shim/hooks/rng_ledger.cpp": { + "mode": 420, + "sha256": "119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb" + }, + "src/shim/hooks/rng_ledger.h": { + "mode": 420, + "sha256": "0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30" + }, + "src/shim/hooks/system_output.cpp": { + "mode": 420, + "sha256": "93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4" + }, + "src/shim/hooks/system_output.h": { + "mode": 420, + "sha256": "62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738" + }, + "src/shim/hooks/tail_rng.cpp": { + "mode": 420, + "sha256": "9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07" + }, + "src/shim/hooks/tail_rng.h": { + "mode": 420, + "sha256": "b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b" + }, + "src/shim/hooks/tech_effect_fields.cpp": { + "mode": 420, + "sha256": "4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3" + }, + "src/shim/hooks/tech_effect_fields.h": { + "mode": 420, + "sha256": "22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420" + }, + "src/shim/hooks/tech_effects.cpp": { + "mode": 420, + "sha256": "2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714" + }, + "src/shim/hooks/tech_effects.h": { + "mode": 420, + "sha256": "ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320" + }, + "src/shim/hooks/watchpoints.cpp": { + "mode": 420, + "sha256": "15c94333f22bb592129efe3fb800ea89987045f9ebbc0e6791d4397961fd727d" + }, + "src/shim/hooks/watchpoints.h": { + "mode": 420, + "sha256": "639ae42b230fb31762f50cac0422dcd5b7fda7a1a02c7739a86d1cd6eda62277" + }, + "src/shim/main.cpp": { + "mode": 420, + "sha256": "eebdac7f8f69b8b95cd290c96d41c6f3f0ed5c45ccd5de54ffc790af47083b99" + }, + "src/shim/shim.cfg": { + "mode": 420, + "sha256": "44ca58394455549150c3461cc888128a968b4f062807e19ef25b8eebf0bfd523" + }, + "src/shim/shim.cfg.b4compare": { + "mode": 420, + "sha256": "68bed5883a75132eb5e885b4750d23c1d5734c843a32a56dc7f96d2b73fdf962" + }, + "src/shim/shim.cfg.b4scout": { + "mode": 420, + "sha256": "faac0765478d88b63f371fbc307512e71fe05f2e6f97272e6e0ceb267cc6d626" + }, + "src/shim/shim.cfg.b4trace": { + "mode": 420, + "sha256": "6a89cdd3cfdf53cfbaff29278fd5d0edf156ad8a525c61624b60ddb1eb0575a1" + }, + "src/shim/shim.cfg.bupin": { + "mode": 420, + "sha256": "39d52ef1ccb18d4dea261b87d3f363ba45079022d1b9bc3531c552ef6df80ec2" + }, + "src/shim/shim.cfg.cbcapture": { + "mode": 420, + "sha256": "0939b1ea144976ded2d45ad885fa0f1ffa3d77f16cba9b4d5a9cb87623500a62" + }, + "src/shim/shim.cfg.cboff": { + "mode": 420, + "sha256": "7d5d6e2ceb7f86fd17543c9212e8547be6009f725871aadbaf6057af1f4f5484" + }, + "src/shim/shim.cfg.cbpin": { + "mode": 420, + "sha256": "72a222c025796458dc1a538eed3ea55f053ee5e3c01e5b19b802922a058d4fbe" + }, + "src/shim/shim.cfg.cbtrap": { + "mode": 420, + "sha256": "938c0893b95b576b75927d75787999c22b3424d28c8936456ea3723f62775e51" + }, + "src/shim/shim.cfg.crcompare": { + "mode": 420, + "sha256": "129031ceb358fef9e0fcee2fb42a0f20fd76d9db78f061f956bf75ce2cc51dec" + }, + "src/shim/shim.cfg.croff": { + "mode": 420, + "sha256": "f99345e7db55e695ecabf7a00fc16ced9a42e8882abfeabc8281b9a4ef26d730" + }, + "src/shim/shim.cfg.crreplace0": { + "mode": 420, + "sha256": "60c13bd76e546b4521ab4e6a7836439078e2a176a11e471e03434623153cb7d9" + }, + "src/shim/shim.cfg.crreplace1": { + "mode": 420, + "sha256": "d27f43eb970d6a9c8a0c8d8f7071633a226c34b675a6581b331c6e1ba6f36c9b" + }, + "src/shim/shim.cfg.fpu007f": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "src/shim/shim.cfg.fpu027f": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "src/shim/shim.cfg.fpu127f": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "src/shim/shim.cfg.fpu137f": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "src/shim/shim.cfg.fpu1a7f": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "src/shim/shim.cfg.fpuoff": { + "mode": 420, + "sha256": "ce637b3f0eca81c04490335cd9fe8a537cd09e5ef14cc5b3050f548ca4d54c65" + }, + "src/shim/shim.cfg.hoff": { + "mode": 420, + "sha256": "dc9b4619fe84921ea5896c2cd190afb5bd4ca89422fb86bfee8459665f92cd7a" + }, + "src/shim/shim.cfg.hp0": { + "mode": 420, + "sha256": "ede723fc540adb94bf16af0f3086c1935aac008acb6a8d550e2a4e97ff232c2c" + }, + "src/shim/shim.cfg.hp10": { + "mode": 420, + "sha256": "1c1f07dfdb7f99d63ed9a62aa9a447efda690623164beeaf434c588e02ef12cd" + }, + "src/shim/shim.cfg.hp11": { + "mode": 420, + "sha256": "36eae0d554a79b9536e3c57d2fef187ae81bd3266947c7f45035be554fb59404" + }, + "src/shim/shim.cfg.hp4": { + "mode": 420, + "sha256": "5bb0d636247c37def9b5cbf0cc9138b13590a50ae8212890fb7d31dfb9e837f4" + }, + "src/shim/shim.cfg.hp8": { + "mode": 420, + "sha256": "a8fe5f16a299b2b9eb81a811c7ec5a3b1baf635fa179a69f1e23243c7d1e2133" + }, + "src/shim/shim.cfg.hp9": { + "mode": 420, + "sha256": "765fdf337bb6942dbd1357166646dbf7fde3777678a606c4dbfd368078f09b5d" + }, + "src/shim/shim.cfg.hpall": { + "mode": 420, + "sha256": "630f99725ea6aa933984f4c545634d127787672de36f6756da2591e22a36f366" + }, + "src/shim/shim.cfg.hprobes": { + "mode": 420, + "sha256": "3bad5e3e7bf35a85acc7169d27531788e9659dbe0f8b1a0c719777fdb6beb5dc" + }, + "src/shim/shim.cfg.hprobes2": { + "mode": 420, + "sha256": "c335f1ec8aeff1165213cd40adcdcd59893c65edf95b1537fc4460e6060911c5" + }, + "src/shim/shim.cfg.l1control": { + "mode": 420, + "sha256": "c5dec81556268795b9a3df175bafde340a3fe76c7d6e05389e09e79d2b138b43" + }, + "src/shim/shim.cfg.l1hive": { + "mode": 420, + "sha256": "970ce465f2363f391a93086f1b596e904265510e02e7d2d38174cc6ea22d9b25" + }, + "src/shim/shim.cfg.l1off": { + "mode": 420, + "sha256": "a4197233c65acb876328666cf37754aea96f942b6ea08105bdfb61d6d5bcbd64" + }, + "src/shim/shim.cfg.l1seed": { + "mode": 420, + "sha256": "360af979eaa0c13eaa4db38ff13dcc64b3e2ab538300c26497921301fd3817b9" + }, + "src/shim/shim.cfg.l1snlv": { + "mode": 420, + "sha256": "3603508983a87906ecce02e4c2e9581cf2fa59390af25335f0b221765c57ef6d" + }, + "src/shim/shim.cfg.l3cont": { + "mode": 420, + "sha256": "629530a34412ebf85fc8ce8d2e5931684eea9891b6b619419e6f8db8c37f0976" + }, + "src/shim/shim.cfg.l3control": { + "mode": 420, + "sha256": "42b6ec7ebc9c83dae4a58884803f627d54956eb308611ce1e8d3691a12a74ccb" + }, + "src/shim/shim.cfg.l3probe": { + "mode": 420, + "sha256": "692dabb6f00343bfcc2f86d62ade827c295acc4630a18a1f2ddcebd53640978d" + }, + "src/shim/shim.cfg.l4control": { + "mode": 420, + "sha256": "ab13b7e3604ee98e9372e3405e0eacb6d5965e02d5317cfee0ea9b9afbd750e3" + }, + "src/shim/shim.cfg.l4dump": { + "mode": 420, + "sha256": "fb40d67d8d7dca4587a1dc13a95826ab68eb3fcf44feb6006388935f3ee346f2" + }, + "src/shim/shim.cfg.l4off": { + "mode": 420, + "sha256": "629a3e41d11daa53325f31aeb77d14d5abe67058e274d36ed8feb71e2e30dc13" + }, + "src/shim/shim.cfg.l4probes": { + "mode": 420, + "sha256": "a446ff3d6117d5352ad9b3c3c02f6d6300ce0b1089f055925afe19b77f0a20f3" + }, + "src/shim/shim.cfg.l4research": { + "mode": 420, + "sha256": "ad400f7082680db82c6fb0d39eed488710e6661f9e3215b9ea2eb0ba53444b9b" + }, + "src/shim/shim.cfg.l5budget": { + "mode": 420, + "sha256": "74df0fa1bd14fec6e8028ba05c516f3a370ba389386e5a8459d594c2c7ad83ae" + }, + "src/shim/shim.cfg.l5control": { + "mode": 420, + "sha256": "3557f716dde348a98fda65a5bad54911fe6d52f75c2cf6a82cc5d4fc47a6e968" + }, + "src/shim/shim.cfg.output": { + "mode": 420, + "sha256": "a811cffac230a1d6c0f9c5adacb1b691ae289ec08de0da3726309a4e1213acb0" + }, + "src/shim/shim.cfg.parbr": { + "mode": 420, + "sha256": "ea8230b596e7baae0c127f5700391ec2c96d546daba8c70ce8b2800c83b096dd" + }, + "src/shim/shim.cfg.parctl": { + "mode": 420, + "sha256": "2d1190d032bb705030746197020c715f4ab8af551f944e9ec0abe136912ea60d" + }, + "src/shim/shim.cfg.parorders": { + "mode": 420, + "sha256": "2107be5ec950e69d01c43ab30919fbfe652823878f150111b158927bc41de8d6" + }, + "src/shim/shim.cfg.parpin": { + "mode": 420, + "sha256": "893f1f81cdef0a964145ebb1c4b1e2725af8868b14fed412d40e3cce71f824f4" + }, + "src/shim/shim.cfg.recapb1": { + "mode": 420, + "sha256": "688840567305218dada122b29284f6af44c3c63ca173db87406de159bb547c8f" + }, + "src/shim/shim.cfg.recapb3": { + "mode": 420, + "sha256": "2120646255bd70adf29ed2880daa6b11d0867b9cfc9f1c9644d63b92c263b69b" + }, + "src/shim/shim.cfg.recapmisc": { + "mode": 420, + "sha256": "cb1f794c51b5d3d74eb91cc084c96a04444cd79f22fc694d821b51924544f595" + }, + "src/shim/shim.cfg.recaptrace": { + "mode": 420, + "sha256": "0ae410cc72fe155837d711c78543e14b1f5743310cd023298eb1e5bbd5457e71" + }, + "src/shim/shim.cfg.sdbr": { + "mode": 420, + "sha256": "7cb2bfd798ed1286628f3a879606eff076c4f6011d95e1223376eb4d0a392ca8" + }, + "src/shim/shim.cfg.sdoff": { + "mode": 420, + "sha256": "9195aeddeb2caa4e3db7dfd775c43e96eb99cfdc59a6a61e65d86fb325f0054a" + }, + "src/shim/shim.cfg.sdpin": { + "mode": 420, + "sha256": "61119f197b1dc8ddcad059d2d2c2753dae457b4bda4eb29e06c78282eeda6a0b" + }, + "src/shim/shim.cfg.sdpin2": { + "mode": 420, + "sha256": "d6d7f82b500df4f3ed120b4ff421178cf4373a145fa803e57d22a0654e4f0f63" + }, + "src/shim/shim.cfg.tturn": { + "mode": 420, + "sha256": "2ab2d64288043c3c55fde668facde9307c0739e0c801c900790e11db57c5759b" + }, + "src/shim/shim.cfg.tturncmp": { + "mode": 420, + "sha256": "114d325ae3ece29422069ee74c790603abb38c49162dd32520a3eecd18ab6061" + }, + "src/shim/shim.cfg.w2control": { + "mode": 420, + "sha256": "d042c0082a8eb4f55b8e21983df292f0950adc4ac5787d4a0b83088c10c5a3eb" + }, + "src/shim/shim.cfg.w2watch": { + "mode": 420, + "sha256": "ddb9c18a1c6b6c23758e51ca9ac18b4b95abe206b162497adc2978c0384d6ee5" + }, + "src/shim/shim.cfg.w3control": { + "mode": 420, + "sha256": "c6a3a5ea1e39a0714dffee0e44a0e8d91a2b450534d7e4377273a55b3e87de8c" + }, + "src/shim/shim.cfg.w3mod": { + "mode": 420, + "sha256": "7c7f82aaa8b5b007a740324373060ca2ba84edc765eb4e7ce55afcaba4e1c2e0" + }, + "src/shim/shim.cfg.w3tshn": { + "mode": 420, + "sha256": "51fa826d0b18d6f01987d6748e6610847ec3a761257ffc382a40d234670afec3" + }, + "src/shim/shim.cfg.zledger": { + "mode": 420, + "sha256": "31d0535aff9660eb1ad06f529c88a42aa71b83b36f8404b7541a29327c508a51" + }, + "src/shim/trace/emitter.cpp": { + "mode": 420, + "sha256": "4253cac49f0761e487fd555c3c01e02fa22e2010789ad3af37c62c8fd2e02030" + }, + "src/shim/trace/emitter.h": { + "mode": 420, + "sha256": "aa7804614b3d3a214d5c32c33ed245ae24276979080baa9d5481d6594ee3f79d" + }, + "src/shim/trace/hook.h": { + "mode": 420, + "sha256": "35be73ac1c9519664957ffea639d873e8a811b4620f0feecb21b54ea2776f800" + }, + "src/shim/trace/platform.h": { + "mode": 420, + "sha256": "f1b78d971798e45998b26c6b0e20db49fceb7d4c63f0c8c37452c6c2c6df9538" + }, + "src/shim/trace/selftest.cpp": { + "mode": 420, + "sha256": "31461ae6d329a8a3856589b245f3bcf8631f0db9a5e00530e4f94279950de354" + }, + "src/shim/trace/selftest.h": { + "mode": 420, + "sha256": "583d7a10ef04254c7a0fb7dd2a6071ad012a9a97dfae0896bbd598970b206475" + }, + "src/shim/trace/sha256.cpp": { + "mode": 420, + "sha256": "2faf44b5b273612c776204c1d83e0910d86394f4f6207129a01c81dedc170aa8" + }, + "src/shim/trace/sha256.h": { + "mode": 420, + "sha256": "31ce080acdc086ff7657d9093ac9bea438203eaa8e392ca38539152cdd15038f" + }, + "src/shim/trace/tracer.cpp": { + "mode": 420, + "sha256": "37d9490dbdedc399ecdb30f46eb27f31a4ff8c902eadb2eb48ecca7fb0e8fb88" + }, + "src/shim/trace/tracer.h": { + "mode": 420, + "sha256": "cbb80f167b8f98777f9fb58ce107226f42027ffdbd868a6808047c48caf10f76" + }, + "tests/addr_smoke.cpp": { + "mode": 420, + "sha256": "ace1ab9549bb6f3e0048d0e6e3ec6061035395581b2db46c0a5acb097c428890" + }, + "tests/app/CMakeLists.txt": { + "mode": 420, + "sha256": "dd18f8e25d2a9ce988dc226e03c7c6e02a275bbbea74f505d005e42ca5972037" + }, + "tests/app/test_alliance.cpp": { + "mode": 420, + "sha256": "671b2cb3295f360c61ee87005287999710d12e10e7e532331c1c946ab97f7c4d" + }, + "tests/app/test_catalog.cpp": { + "mode": 420, + "sha256": "c4cd9840c1f1b5d5a6829f7f1c5a0245b5e66135d3bed6410a2b6eca1a037225" + }, + "tests/app/test_command_replay.cpp": { + "mode": 420, + "sha256": "739ebeea5bed551f232774bc812bcb794cfa057015fd187529fa563b5d7ae5eb" + }, + "tests/app/test_event_phase.cpp": { + "mode": 420, + "sha256": "05498df256759fe5b8af80e9e56c2ca071eb26de0651f257798fe1641da627ca" + }, + "tests/app/test_trade_raid.cpp": { + "mode": 420, + "sha256": "2158008bc711b8062381f346fa347a430582d8d1943b0de5f40eb2a38e9a3f75" + }, + "tests/app/test_treaty.cpp": { + "mode": 420, + "sha256": "0f98150a3f9397fd12109eae7359ff7e04a4060e10e01ecf1693eb2a4606ead7" + }, + "tests/app/test_turn.cpp": { + "mode": 420, + "sha256": "6d45b1d2d065528f14ae83d95314f2b6559e53cc23f1b9e2531c7c09b4b97eab" + }, + "tests/app/test_turn_record.cpp": { + "mode": 420, + "sha256": "a845971b8d25d71c3b1138495354ad392e4fc298f87eb9b89d1567c01ab59cde" + }, + "tests/game_ai/CMakeLists.txt": { + "mode": 420, + "sha256": "a57a82d0c79ff933564e200a5b3137f120e70a19834264eeb2438c4cafd7ad3e" + }, + "tests/game_ai/test_agent.cpp": { + "mode": 420, + "sha256": "41cb3fbfc7e0b277771a2e8dd17601285a1e3a911543fc1335ce05a4e4b5f11c" + }, + "tests/game_ai/test_apply_order.cpp": { + "mode": 420, + "sha256": "8669c2e9a4c95b670a9c41262c68ce183d3cf3900bc262e0a2e33500bfffc594" + }, + "tests/game_ai/test_command_capture.cpp": { + "mode": 420, + "sha256": "8c2bae38754b347beeefe85d796c13bcf43cf5bc9bc99eb743626028b4dbd7ab" + }, + "tests/game_ai/test_live_blocks.cpp": { + "mode": 420, + "sha256": "44cb6bd8b34c13e329f9b1d50bb2a5c5513e52761537dccfb01afb7d48be7580" + }, + "tests/game_ai/test_orders.cpp": { + "mode": 420, + "sha256": "b13d1a3a628de411abb4faf024a1ce8d3e94518f12285bb3d7e7e86b012ad43f" + }, + "tests/game_ai/test_tasks.cpp": { + "mode": 420, + "sha256": "ffd8eed7fa76a24616d579a4e31031dadf43a0534e33743fb104dfca552367fc" + }, + "tests/game_ai/test_turn_order.cpp": { + "mode": 420, + "sha256": "382d6a30e9151c57849595cb134b8e2da25d2763738c9cbfa18d3cad51ecce97" + }, + "tests/game_combat/CMakeLists.txt": { + "mode": 420, + "sha256": "fd0c0dfb54033353b7014e3c764c916522cb529b6b3eae8a8d52afd044c13fe2" + }, + "tests/game_combat/test_retreat.cpp": { + "mode": 420, + "sha256": "3fb0be08d230bbd7c4ea4a59319de7ab252e5b7cbee924afd069847da8dcf73d" + }, + "tests/game_config/CMakeLists.txt": { + "mode": 420, + "sha256": "9874822d186e783f25b2dcd87495e7e380d873b8a0790c67fffb9430468094ed" + }, + "tests/game_config/manifest_tests.cpp": { + "mode": 420, + "sha256": "3bc62e7e49699254151a825421973d831b25bcf7a22028c789e3ca63b0d77319" + }, + "tests/game_config/replay_trace.cpp": { + "mode": 420, + "sha256": "83602ec974b8195c3616230ad44c2d4fd6032f8ef5f96e7aa76d49a0a04ac05e" + }, + "tests/game_config/unit_tests.cpp": { + "mode": 420, + "sha256": "45b07c7289abac61fccd0a6cd0ff87812542ec888eb6d295fb87c3f57755cc6a" + }, + "tests/game_data/CMakeLists.txt": { + "mode": 420, + "sha256": "cb8cffb7217e82077d3db749dcacf29c098549159cc0f312ef04bfccaa30155d" + }, + "tests/game_data/build_and_run.sh": { + "mode": 493, + "sha256": "69ea9cb94468c56c329fcc5b9350431067e97091ed47c08bb10b57b38412883a" + }, + "tests/game_data/dump_catalog.cpp": { + "mode": 420, + "sha256": "4588e699c69586dfb77f0d9289e375407d4f9cf019690e26bfc78f7182167c89" + }, + "tests/game_data/oracle/compare.py": { + "mode": 420, + "sha256": "2cfe1ac93790de3351256d284392372721f94de5375686e6301ef39b1943ad12" + }, + "tests/game_data/realdata_test.cpp": { + "mode": 420, + "sha256": "334a924bf81c6ce6192a6688435b374e115382358f7e4554aa164295bdd38321" + }, + "tests/game_data/test_catalog.cpp": { + "mode": 420, + "sha256": "9ea5c3fff2388c5d7fbf295123dfd7b702ef21f17fc7c45a970822814abfce2e" + }, + "tests/game_data/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_data/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_data/test_shipsection.cpp": { + "mode": 420, + "sha256": "b3519f0de60d061a6f1ab8ee81d470a28fc17cc81b113639ef2c1e139c249b4c" + }, + "tests/game_data/test_techtree.cpp": { + "mode": 420, + "sha256": "d05c889da9edb622bd2b66aa8e300d8162e0c8788950daa1086fc049b90dd4bc" + }, + "tests/game_data/test_turrets.cpp": { + "mode": 420, + "sha256": "66adff30b974e9bf2c96c1af024fb85677e1a8307c801933d23f3d2ec9d8222c" + }, + "tests/game_data/test_weapon.cpp": { + "mode": 420, + "sha256": "b16b0481c0a8697ff16e39c9feb3ad9d5406250b7dd1c828bf12f1bb40ed746b" + }, + "tests/game_design/CMakeLists.txt": { + "mode": 420, + "sha256": "a26524ff14878564870853bc067c379d2ebd26c14e45bcbb06593d300ee4b3ca" + }, + "tests/game_design/build_and_run.sh": { + "mode": 493, + "sha256": "b1aab4d13b09fb1ea4205978bd7d8b05af5a6422ebe4a34261c3247489b48bd7" + }, + "tests/game_design/dump_designs.cpp": { + "mode": 420, + "sha256": "b1b24c5cb534ad821a20325869713c04b742c541c448ade83543d75608f7eda2" + }, + "tests/game_design/json_min.h": { + "mode": 420, + "sha256": "9cfd3eabe9b36d6b2863872e08fe6ebaddf0749d1966dea693f8bbc0472780ac" + }, + "tests/game_design/mini_catalog.cpp": { + "mode": 420, + "sha256": "5817c0251883c999c6ebd54c77fdcf3981181b41fb5f7637d445824d60942810" + }, + "tests/game_design/mini_catalog.h": { + "mode": 420, + "sha256": "ecb7fd0dffa8709008bcdf9b9da3e70e68f735f9b5ecd0dcb4c871a35ae43b59" + }, + "tests/game_design/oracle/compare.py": { + "mode": 420, + "sha256": "2db14952f7fca9a587995e326651b0d549b39ceefd9c0ac59982cd35ae5d21e7" + }, + "tests/game_design/realdata_test.cpp": { + "mode": 420, + "sha256": "cea57cd53d881b3bf2557cc32ea402c4991aa6de5ff72340861f195a8e20c141" + }, + "tests/game_design/stock_designs.cpp": { + "mode": 420, + "sha256": "2ac1b8bcb0f61852f4bc0a8b7cda51167531ca2a05d1e485991a4758cf586d03" + }, + "tests/game_design/stock_designs.h": { + "mode": 420, + "sha256": "a49173bde083467f5650cfbfbaebba5f16208d660fe7f2f3da81c2caff07c807" + }, + "tests/game_design/test_banks.cpp": { + "mode": 420, + "sha256": "c1d34991c53523cb7610a569e861e8a312da1fe659de0522a3594fb14cad24a6" + }, + "tests/game_design/test_census_saves.cpp": { + "mode": 420, + "sha256": "814c17c7a14db7b123579b7636ee7f2b720fdf4a5cbbe90f676dc01709c45e3b" + }, + "tests/game_design/test_hull.cpp": { + "mode": 420, + "sha256": "cff70268d58ab95ed963d335904110ab55c79d6a0f660f613409cf6d5d63e2bd" + }, + "tests/game_design/test_json.cpp": { + "mode": 420, + "sha256": "e7fa196274a4591834a974f742ff59c7ed1fb15fb138091b48a071354d001c5d" + }, + "tests/game_design/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_design/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_design/test_stats.cpp": { + "mode": 420, + "sha256": "a3681df901095b848cc6b1ae63d04fd70eeeadd406e7d51f3c76671cbf523a7a" + }, + "tests/game_design/test_structure.cpp": { + "mode": 420, + "sha256": "d09f7707ee170f8a933c657628c1da4f61a29c7eb2dc687a96c3985bdac941aa" + }, + "tests/game_design/test_tech.cpp": { + "mode": 420, + "sha256": "689c081a324c7ece3f70d711f7ac67a5b93207f95e2800a3a708f2f8dbe31965" + }, + "tests/game_effects/CMakeLists.txt": { + "mode": 420, + "sha256": "c80413a7103ce0ed7944fb096ad22fc206a091645428a6015ec3d0e442414a0a" + }, + "tests/game_effects/build_and_run.sh": { + "mode": 493, + "sha256": "ab5085eeab0ec65d8f7ddd7d79357cd15183888b1b4e51cb563810d4e4c64506" + }, + "tests/game_effects/test_effects.cpp": { + "mode": 420, + "sha256": "b10d804b1ad4fb140e13cc1984c6372dbbfdd92560f37583f2411bbcb45c16d4" + }, + "tests/game_events/CMakeLists.txt": { + "mode": 420, + "sha256": "c962651d71ee7783d5565b418f653f2954e489cf698762c5686f5f2dbb4304db" + }, + "tests/game_events/build_and_run.sh": { + "mode": 493, + "sha256": "8b92d249138ee53f728583a0c68b153eaf4e2ad7f92d415d8b3a83df2fb3ec28" + }, + "tests/game_events/test_events.cpp": { + "mode": 420, + "sha256": "182941b9b809b20d24a2e29c5e4bbd626e6da8486e87dc38d1c6088161ec793b" + }, + "tests/game_nav/CMakeLists.txt": { + "mode": 420, + "sha256": "7ee85557a167281f4576252428b4e01795232f31dc1d93c23b284568074cec3b" + }, + "tests/game_nav/test_pathplan.cpp": { + "mode": 420, + "sha256": "6229cc2b1be1ffffb3fbb812c2ccc89dba7099d349be3a6f8f2c2e26aa1dd58d" + }, + "tests/game_sim/CMakeLists.txt": { + "mode": 420, + "sha256": "563547cdd93bce41ef29a73289e5104a5df61f71cc980e49ea37cdbe26743be7" + }, + "tests/game_sim/build_and_run.sh": { + "mode": 493, + "sha256": "a9c42a931242c7f266f512b4d4ad11f6f8ecf43a447a06a04f174301ee19328a" + }, + "tests/game_sim/check.h": { + "mode": 420, + "sha256": "faddddc37a528f0235f510b249cfc1776ce30aff709329954f09093b01231221" + }, + "tests/game_sim/mini_json.h": { + "mode": 420, + "sha256": "710218b637aaf1a5eb7c49eaa7d158bc3e495135ec14bf8b41384769d0227ba5" + }, + "tests/game_sim/smoke_real_save.cpp": { + "mode": 420, + "sha256": "2432e92ac18fadfb1152c54d9dec9a77b3dbf506ea122401cbbd48584b7c9190" + }, + "tests/game_sim/test_colony.cpp": { + "mode": 420, + "sha256": "45355673c46cbaef66b2c81d04a845cf65b6ddfd9819350c7338d9771fafb6fe" + }, + "tests/game_sim/test_construction.cpp": { + "mode": 420, + "sha256": "8df75076a3f460e949e34100d55acf60b054603da6d4aeda4f73297442c06e21" + }, + "tests/game_sim/test_economy.cpp": { + "mode": 420, + "sha256": "43fe658fd2347e3667a901afa642713d70c85ef0ec75094642da2d05b9ca471b" + }, + "tests/game_sim/test_movement.cpp": { + "mode": 420, + "sha256": "1927c371d52115458d88552014cef30bba60e9bef5eb3acfce11b2bc623e06a6" + }, + "tests/game_sim/test_observed.cpp": { + "mode": 420, + "sha256": "1f6ad16c1a2c80f0621573b5196989b0349e47351585d83835be5e27f6ef3fe4" + }, + "tests/game_sim/test_player_turn.cpp": { + "mode": 420, + "sha256": "13f76eaa6cad265deec25416acf0cae2028d6cd1c7b9585df6e9252ba3f0cbed" + }, + "tests/game_sim/test_research.cpp": { + "mode": 420, + "sha256": "3dc668eb889c41f58db6007a96f54fe2a6d56ee6501a298fba3afbbe9637baf6" + }, + "tests/game_sim/test_scriptobjects.cpp": { + "mode": 420, + "sha256": "dfe90a42bcd2844c2ea3666816f97c05237206bf44467ac29790c72b7b498582" + }, + "tests/game_sim/test_techgraph.cpp": { + "mode": 420, + "sha256": "0627ea1c8012b90b62285cae2f31599ba8a8cd47928452910ade91f93502d68e" + }, + "tests/game_sim/test_visibility.cpp": { + "mode": 420, + "sha256": "ad756975b6605a164f2f9106daf2511730642eff354a866bc764a93a4be1efe7" + }, + "tests/mars_parse/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_parse/CMakeLists.txt": { + "mode": 420, + "sha256": "898204fbc1cec44f697e2803c8bc4887857950ba2b1192dd153de74d26de0ea4" + }, + "tests/mars_parse/build_and_run.sh": { + "mode": 493, + "sha256": "550c6df5fffbd85cfffc3312a03a5fa9d59c1e0416e883ddc2576cdb73eac6de" + }, + "tests/mars_parse/canon.cpp": { + "mode": 420, + "sha256": "63e2bcfb2820e7533aa3a287bcec6c318f7238006dce61ad35381562b979cd47" + }, + "tests/mars_parse/canon.h": { + "mode": 420, + "sha256": "c9a78b866d62c4e58643de2c4149572380a1392b411049c8fe74e37475d21d9e" + }, + "tests/mars_parse/oracle/dump.py": { + "mode": 420, + "sha256": "16e98089d5b532e35d6b88b3d50b4bb07e879c18512cf8d06cc5fd2aa9da1117" + }, + "tests/mars_parse/oracle_check.cpp": { + "mode": 420, + "sha256": "5eb81a0c2db8f96c6f8e51246ea9991642e5571dd94dd2e410e2fad632d47adb" + }, + "tests/mars_parse/test_blocks.cpp": { + "mode": 420, + "sha256": "f376a57891a83768ecc8b73ef5eb2333291c280760f7581ead53f7c2a71a4df5" + }, + "tests/mars_parse/test_effect.cpp": { + "mode": 420, + "sha256": "8bb14e7c718e772bfb4a22a7370f41080c49beabfa597ddd603be257bc310011" + }, + "tests/mars_parse/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/mars_parse/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_parse/test_value.cpp": { + "mode": 420, + "sha256": "a8dbe3326e5339cdad8fed7dd678df92e8a8b675d0b854f4cea6517bf557069d" + }, + "tests/mars_stream/CMakeLists.txt": { + "mode": 420, + "sha256": "31c69840e6e2e566d2e0bbaf49ab3dec712d27e505d0810ddf0496ce3ff321e0" + }, + "tests/mars_stream/build_and_run.sh": { + "mode": 493, + "sha256": "3737e42960b66e788a11cdd7fa9917fe255b6a4f60280e9f620593bf688aab41" + }, + "tests/mars_stream/oracle/compare.py": { + "mode": 493, + "sha256": "f39dd70e4bbf1952cf99e3437fd1ed6252249f3455a2d3c73311f98d8ff4370e" + }, + "tests/mars_stream/test_domains.cpp": { + "mode": 420, + "sha256": "08394777f7bc4186883cd02058f17fda8f47c3ee47049892bd8762c28b5aa959" + }, + "tests/mars_stream/test_rng.cpp": { + "mode": 420, + "sha256": "55f77273d8af5880f976a24fb00dcd8042b31a7a33f15c9f4b62fdb85bba9d0a" + }, + "tests/mars_stream/test_save.cpp": { + "mode": 420, + "sha256": "50250bb4b4f2da05f9453c541f080e018b68731f24cbf93278d50ca93ddd8d63" + }, + "tests/mars_stream/test_stream.cpp": { + "mode": 420, + "sha256": "d0da9ac2287910527bdac875ab39e0147a9be2f5535f04b55460438f31be2537" + }, + "tests/mars_stream/test_wire_schema.cpp": { + "mode": 420, + "sha256": "1cfd259f554be8218cb182dd1facc07f6cd3dea52f0daf7303393e78c7c2eb97" + }, + "tests/mars_text/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_text/CMakeLists.txt": { + "mode": 420, + "sha256": "20f8e0cfa044fb4e6b1caca0ec8d6536e012c1c4ea4454fe990923f40a201752" + }, + "tests/mars_text/build_and_run.sh": { + "mode": 493, + "sha256": "59ae392080c01be0c7f5530ecb9ae4fbdcc02366242b27527c14b8efd5076d0c" + }, + "tests/mars_text/dump_json.cpp": { + "mode": 420, + "sha256": "e246384902c3adf4fa8f2a54e38c4912f6b58f168ebc9b1e158a719e2a52b1bc" + }, + "tests/mars_text/oracle/compare.py": { + "mode": 493, + "sha256": "46a796196a413aa28a0069086e45c96399f21308153b578f063801eb997b54ef" + }, + "tests/mars_text/oracle/dump.py": { + "mode": 493, + "sha256": "53fde94f6676a5504a247cf209e2a42d67e108cc9ea0b02f289562799ee7d880" + }, + "tests/mars_text/realdata_test.cpp": { + "mode": 420, + "sha256": "a399ad5cf91cf35f78809f5b9b5cac8b2eff344dbfbab07b8b27bf66058e1e3b" + }, + "tests/mars_text/unit_tests.cpp": { + "mode": 420, + "sha256": "cd1e9e4f6e0e503d4d9b0902bd2936513293490cdc680f94639ce93661ca09d7" + }, + "tests/mars_vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "282015598e03430be0f47b779ce7087662415b3a59de14814cb3ba35c17af363" + }, + "tests/mars_vfs/build_and_run.sh": { + "mode": 493, + "sha256": "b6a8e7b0706d7416f548f071e742e600cab226663f7d4ad42299dbb76f631701" + }, + "tests/mars_vfs/make_fixture.py": { + "mode": 493, + "sha256": "57586249e57550869dd5adfbc4fdab173a59d2aee630ba69c20d562018d249f1" + }, + "tests/mars_vfs/realdata_test.cpp": { + "mode": 420, + "sha256": "c95248ae53d32bd5d8cf963ca3a39ea82e5ef08b76de736104b6aa34ec88c789" + }, + "tests/mars_vfs/test_main.cpp": { + "mode": 420, + "sha256": "cdb7bdf9b9356eb0b7f6cb0fab081cda2161b34af14ecf60cc44970e79d517c2" + }, + "tests/mars_vfs/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_vfs/unit_tests.cpp": { + "mode": 420, + "sha256": "de8da00718799886fbbc5820e0f7d0e468a31ab0608361fb509b0c12932c9caf" + }, + "tests/mars_vfs/vfs_cat.cpp": { + "mode": 420, + "sha256": "4a443e779de264f5c0c68a631b1a353b1310a4e838d342527befd8ad1e2a25bd" + }, + "tests/mars_vfs/zip_builder.h": { + "mode": 420, + "sha256": "a0f3688e5a90b7e209497d66d0dcd30a0e1ac59a56ffcbed31b2a50967c1da3a" + }, + "tests/shim_budget/CMakeLists.txt": { + "mode": 420, + "sha256": "88a0f43e433c3a6879a7f6cccf8c84ba4559009614a3fe5adf6c558ea7a47245" + }, + "tests/shim_budget/unit_tests.cpp": { + "mode": 420, + "sha256": "654e96d0880232d3090223a0d9f92f428aeffa528fbd5eca89d6bfe348aefce0" + }, + "tests/shim_colony/CMakeLists.txt": { + "mode": 420, + "sha256": "d7b2674971b0eda32b2edd62244c32af81cea9e6d984a24ca6648edbaea80e06" + }, + "tests/shim_colony/unit_tests.cpp": { + "mode": 420, + "sha256": "4cc41308c10fa1e6aa047fb6c26e4c655b727884bce87b5a9e8e2f76db665474" + }, + "tests/shim_events/CMakeLists.txt": { + "mode": 420, + "sha256": "2b43190a2ce88cf7227250aa5a3b48e3006d24f0d6f5e9a5e48507c2733e4c45" + }, + "tests/shim_events/unit_tests.cpp": { + "mode": 420, + "sha256": "0dc151a4aecb24217cc38cb818bbe760b3da2b08a23ad734b3fa8506d25fe2b4" + }, + "tests/shim_movement/CMakeLists.txt": { + "mode": 420, + "sha256": "46ffe5a9815b189283e4d5ef67a0dcd159f60da7f9ca4a3577669035fefdc1f8" + }, + "tests/shim_movement/unit_tests.cpp": { + "mode": 420, + "sha256": "ee6ee983aa72f078a7ae398ca5f828aba14370c898ae4e56063697d28919ad69" + }, + "tests/shim_player_turn/CMakeLists.txt": { + "mode": 420, + "sha256": "f6affa205f857d4a45f8be05ae0426b6f9a2e8e127f5aeadbac2ed8a4c4daddc" + }, + "tests/shim_player_turn/unit_tests.cpp": { + "mode": 420, + "sha256": "0a528cdf64904dfd22c94ea911a15213701e7912921f04c1909799e6e6240450" + }, + "tests/shim_rng_ledger/CMakeLists.txt": { + "mode": 420, + "sha256": "b6a349f2611ec1f1de2013145a97f3da59cefec81dbc4d2f3e58af507e598bb4" + }, + "tests/shim_rng_ledger/unit_tests.cpp": { + "mode": 420, + "sha256": "d38d80dd907a3468036dbca2b017718b199ab4a0078eb5e5b019b913a9ef8d8c" + }, + "tests/shim_techfx/CMakeLists.txt": { + "mode": 420, + "sha256": "5eaf9a76df6b10258a8c1d2658b03d97377d48a778a1628ca94c9bd69fa7ba8a" + }, + "tests/shim_techfx/unit_tests.cpp": { + "mode": 420, + "sha256": "99a71a6d0ca1f53fc8ff0bc21e79acd64ba2cd9c9f990641e5970c866794595b" + }, + "tests/shim_trace/CMakeLists.txt": { + "mode": 420, + "sha256": "91bc736e198c5cef86ad2ad69ca77d93ab770e5faecf9e6d915f9263b9ce491b" + }, + "tests/shim_trace/check.h": { + "mode": 420, + "sha256": "f4b72b971886c64383880ba26484f9c908d21f5902dff0de0b42f276b00d8366" + }, + "tests/shim_trace/harness.h": { + "mode": 420, + "sha256": "d7eae563723843c1389b108fe2efb2e31b6c264d23567a370a09fb9b1d513697" + }, + "tests/shim_trace/oracle_emit.py": { + "mode": 420, + "sha256": "29ed06c602e9f0d6430bb3c81192b1946213a3f44b91107f7036f35f17b69f42" + }, + "tests/shim_trace/test_coverage.cpp": { + "mode": 420, + "sha256": "8ed5b6d755fe7e2bc98d525e97bc7817a5efb7ed5f0196d49d1c783de3a91bea" + }, + "tests/shim_trace/test_diff.cpp": { + "mode": 420, + "sha256": "afd8e5124cf6e1ad9c4f3e4c2beeb65d00002cf1d4cbaa2e876fea0817a7a347" + }, + "tests/shim_trace/test_emitter.cpp": { + "mode": 420, + "sha256": "a9255bbc055df36a01931e8a61dd1dbf16085f7713db7e7386f66b69ddb10762" + }, + "tests/shim_trace/test_hook.cpp": { + "mode": 420, + "sha256": "4dd67374e260ba2722219c2e44e6be76e583d0ad65844f34859cff49b66a30cc" + }, + "tests/shim_trace/test_sha256.cpp": { + "mode": 420, + "sha256": "b55aa15dc806e3e4a87ddf50657fa4e0af6a4e4e2205c4bd63d1ae066fe57428" + }, + "third_party/minhook/LICENSE.txt": { + "mode": 420, + "sha256": "d5c2224982b0b95a16b098a561335fa93f3eaf4d0aa964b7843edb986df78dc8" + }, + "third_party/minhook/VENDOR.txt": { + "mode": 420, + "sha256": "c79054234a5340f6199f8d9f47d6b3d88e8abd2120586cd78f081cfb81a6fabd" + }, + "third_party/minhook/include/MinHook.h": { + "mode": 420, + "sha256": "e34bbf7b855c842694f6e3dd78e2d280e99ed9732501e3dc1532a8626a8db8e5" + }, + "third_party/minhook/src/buffer.c": { + "mode": 420, + "sha256": "75a789eb718bd5ed2de039ccd330736a31d0a2d14e43d8e15e6cd2332432482d" + }, + "third_party/minhook/src/buffer.h": { + "mode": 420, + "sha256": "9769702bd625249e59a19ede05c84365fcc7707e1fa0e5df08df42227cee13e3" + }, + "third_party/minhook/src/hde/hde32.c": { + "mode": 420, + "sha256": "0ddbc3ab3e0b37e61691131289a151e34f508233ccf3f701752777e5d3f62d68" + }, + "third_party/minhook/src/hde/hde32.h": { + "mode": 420, + "sha256": "5132de5be8ac7a9d054420f5caef0fb01437faa892f03b3cdc77f795973bf15a" + }, + "third_party/minhook/src/hde/hde64.c": { + "mode": 420, + "sha256": "9bf19dd706d4bc255ebd1709f98fb44899df7a1f2412820d77295136e0620f1d" + }, + "third_party/minhook/src/hde/hde64.h": { + "mode": 420, + "sha256": "e99aa4997bda14b534c614c3d8cb78a72c4aca91a1212c8b03ec605d1d75e36e" + }, + "third_party/minhook/src/hde/pstdint.h": { + "mode": 420, + "sha256": "604d1cdf45c5a95bc9cf1bbf39ca05ef83013541101d34971c5cd7577e3d5247" + }, + "third_party/minhook/src/hde/table32.h": { + "mode": 420, + "sha256": "43bf687a9fff071b5f46070db4d36c846f8e069cdc57485ee897c499aacdde23" + }, + "third_party/minhook/src/hde/table64.h": { + "mode": 420, + "sha256": "b774446d2f110ce954fb0a710f4693c5562ddbd8d56fe84106f2ee80db8b50a2" + }, + "third_party/minhook/src/hook.c": { + "mode": 420, + "sha256": "3060d3c42f03a2f11324cbee95d853071757ed0fe4b1bc9eb5f0d8fc9e346a37" + }, + "third_party/minhook/src/trampoline.c": { + "mode": 420, + "sha256": "d837f8555681c3762468d712c43f2064ed31dee610e0b02965fd8aa54b88172f" + }, + "third_party/minhook/src/trampoline.h": { + "mode": 420, + "sha256": "27426751dde36cdd8346469e61cdcca47950b1056a69f21cc63f4b41743faf6a" + }, + "third_party/miniz/ChangeLog.md": { + "mode": 420, + "sha256": "ff3b6040f7cbd8c9779a0690e906c66408f7efe3cf88a25019323f0189025ec3" + }, + "third_party/miniz/LICENSE": { + "mode": 420, + "sha256": "0115478d567121238cf6cc1c0c361926cf07a49d9e4c9e66da97fac6a01646b3" + }, + "third_party/miniz/miniz.c": { + "mode": 420, + "sha256": "e2c1aeb66eef9191d8c3feb164db2def2335a61d039bf04ed849f6b042433b30" + }, + "third_party/miniz/miniz.h": { + "mode": 420, + "sha256": "b53b62ed122e559b8f679e3cb787a0b0035fe87a58f909da0e44931678f4e85f" + }, + "third_party/miniz/readme.md": { + "mode": 420, + "sha256": "b4ea367be28a36e5386f65118b73962bc659a67936d248be68b7a7c03b8d359b" + }, + "tools/build-shim.sh": { + "mode": 493, + "sha256": "1da3fdcc019dc6495c870a42b93cee9f21ff7f9623f033c2f50d9db9fd6a33e0" + }, + "tools/check_shim_configs.py": { + "mode": 420, + "sha256": "ef5e8f100c06d8c485a165ab668206af3e9aed3e1f6aa6ffec2592419fc2332f" + }, + "tools/clean_room_check.py": { + "mode": 420, + "sha256": "e15bc3ebfd29c6e2d8edfc32cc812858869b49ffa1404cafce14c4c24e0f4e24" + }, + "tools/clean_room_check.sh": { + "mode": 420, + "sha256": "6646eb6010be756113f7af39b9cfcb06e8580893fbd100a41993f87757ccfd6a" + }, + "tools/deploy.ps1": { + "mode": 420, + "sha256": "fe01f46bedc91d7b42ff98cb0e69633845094cc2802108d23d48eb70f32e3f27" + }, + "tools/sync-build.sh": { + "mode": 493, + "sha256": "ce418ace6c5edae8609849233bb5dfd24657f55141c8ef8507659608f12aee2d" + }, + "tools/undeploy.ps1": { + "mode": 420, + "sha256": "5730b6f95f161ba5a727dc0a34f26da7f1f697711495d6a9de9c289ecd747af0" + } + }, + "manifest_sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd", + "path": "/tmp/opencode/sots-final-research-engine" + }, + "re": { + "commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "ba56b745b84c6d15b7288df65f319831fed3cbf8edd1ab3a6476418f48fd95f8" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "e722b65480a9f72c2fde1c677c789d4f4b347ef9b450894e9f4295035373df7a" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "b3e3e5851645a05543e91f128eb6d349abdc6f22accfd997012526e4d35eaa8e" + }, + "README.md": { + "mode": 420, + "sha256": "e318014a84d03e53983cdb1e5b0310f372b959f659b91abc9214faf530544afc" + }, + "campaign/DASHBOARD.md": { + "mode": 420, + "sha256": "eb207987006a3a661bf05b24fc361e1dda74b7a7f42f4abf4a3788cb17a254e6" + }, + "campaign/README.md": { + "mode": 420, + "sha256": "dc702a81c2c664c07eb170f082deb65bc3ff24e2b80d892bb082c7c4feac64fd" + }, + "campaign/agents/analyst.md": { + "mode": 420, + "sha256": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952" + }, + "campaign/agents/implementer.md": { + "mode": 420, + "sha256": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91" + }, + "campaign/agents/lab.md": { + "mode": 420, + "sha256": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8" + }, + "campaign/agents/lead.md": { + "mode": 420, + "sha256": "7661bbfca972be50a52c735b7f15f5be740158542c3d0cdbdf9a6a2590c7f1ea" + }, + "campaign/agents/resolver.md": { + "mode": 420, + "sha256": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f" + }, + "campaign/agents/verifier.md": { + "mode": 420, + "sha256": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b" + }, + "campaign/backlog.md": { + "mode": 420, + "sha256": "a10edaae044e84ee4d26e7461b88e557112f572d60c57e0025171a53dd209a35" + }, + "campaign/board.md": { + "mode": 420, + "sha256": "040c12a20f5bf70b8e6a239efb205039d1ce00a805411ba194a12bde9f40c03e" + }, + "campaign/contract.schema.json": { + "mode": 420, + "sha256": "a2c76ec042ca097a57c3c05c1e519e392d498d387a31808c7d0f70482d43c201" + }, + "campaign/contracts/controls-bootstrap.json": { + "mode": 384, + "sha256": "2943d2281229c102dd612676428a9714510e540671c1e04dae3e6fa7ea1b56ab" + }, + "campaign/contracts/launcher-smoke.json": { + "mode": 384, + "sha256": "c0418dd22bafc321b2f800acaf574dca7956c37b239d789981b920d50ab36599" + }, + "campaign/contracts/research-completion-abi.json": { + "mode": 420, + "sha256": "a5cf5e4bbc5052aa13dc34b55ee65f2997f9342e0b01062e85ad2c16d99daf71" + }, + "campaign/contracts/research-replacement.json": { + "mode": 420, + "sha256": "1108d30bf7e28f30b2446014503fc3200a8b8198a8fab0b866b873a81bf7b8b9" + }, + "campaign/current.json": { + "mode": 384, + "sha256": "87661aaf5ddfbb872365dae8c531453a1e0cb7f91b3ada046be3e829d2555f77" + }, + "campaign/models.json": { + "mode": 420, + "sha256": "95f507237a8e4fcf14189da4aa102dfae1dbaa536d4d8db6bcbfc30162ac5443" + }, + "campaign/open-questions.md": { + "mode": 420, + "sha256": "efb1c736a07bff32e75e0eede20681c206e2c95f439dffe9824702cb864972e7" + }, + "campaign/pilots/research-replacement.md": { + "mode": 420, + "sha256": "3101b8959f28ba2c6ffbac02a82b5ae0e841e7d78bd1f40f05b9d1d2278490ad" + }, + "campaign/research/SESSION.md": { + "mode": 420, + "sha256": "258a2884486ee777fbd8ff180abf23a3a320b2981ee1e90b57d4e3efe18643f2" + }, + "campaign/rollout/RESULT.md": { + "mode": 420, + "sha256": "87aba912d66e2f7bd9779f86cbae3c78d64b1be2572db02ac39fc70c750cb79c" + }, + "campaign/rollout/architecture-decision.md": { + "mode": 420, + "sha256": "8c710f390671500386745d063d6cb6edb175e6e26572286334d2f14a36be6d41" + }, + "campaign/rollout/controls-followup.md": { + "mode": 420, + "sha256": "44d0c95978cbc0953d6b1feab4463b29fab68c9d8dad2eca5fd562bb5aee1578" + }, + "campaign/rollout/controls-worker-state.md": { + "mode": 420, + "sha256": "02ff66f3f0fa978819e5c100e24cfd3752b9041590e2aed36f6abd62ce790f4e" + }, + "campaign/rollout/controls-worker.md": { + "mode": 420, + "sha256": "d022483618d3c3412785ba40e71106976c9b1c9978c43e424e3023a67b8b3f0f" + }, + "campaign/rollout/controls_evidence.py": { + "mode": 420, + "sha256": "bfaf4e523b2ca39c0ecdab94adf0b2b19a3da68aab8a0fcba69a613aed46588a" + }, + "campaign/rollout/engine-followup.md": { + "mode": 420, + "sha256": "d3d289fb4e4cfb7cf1ab6c3de597f530eafd27d3b1aa2f3e8904d6da3a95ac44" + }, + "campaign/rollout/engine-worker-state.md": { + "mode": 420, + "sha256": "76601fa42c95bd7d78ce46f528a33ef0483e0b7f2e19a1cfe1cab8e560bed05c" + }, + "campaign/rollout/engine-worker.md": { + "mode": 420, + "sha256": "fd8bbe69947b69baa61449548d5746723c941ad8b663ec66d1b278234bebe5b2" + }, + "campaign/rollout/formal-verifier-state.md": { + "mode": 420, + "sha256": "2fbac02f5f22b45e94ee33f9f53779fa059c5e93282d3c2f5ad0af027029a1f4" + }, + "campaign/rollout/formal-verifier.md": { + "mode": 420, + "sha256": "f961ceaef0037001e6576d760e28e7aded0502f3d8311925e5ed1cc537c996dc" + }, + "campaign/rollout/gate-followup.md": { + "mode": 420, + "sha256": "677f17aef214e7a6c92958dd8ad98137b238cc7fe7c1da23bcf36d727f28f7c8" + }, + "campaign/rollout/gate-worker-state.md": { + "mode": 420, + "sha256": "96514befccc589487ac3b6ff9348106aca2e4e8e3aa348471943d589c74629e2" + }, + "campaign/rollout/gate-worker.md": { + "mode": 420, + "sha256": "55db7c5f637d849fb2f200ab12c35a794c86e377a5de3f562b1c32455583e65f" + }, + "campaign/rollout/housekeeping-completion.md": { + "mode": 420, + "sha256": "a25041ebaeb030f1cfc62564b5bc57a98818ea75e082f28036e9cc367096ccd1" + }, + "campaign/rollout/housekeeping-followup.md": { + "mode": 420, + "sha256": "5759aaf403c019173450822dc5e9d4aad711a7497eba906caea39bdb39bd3702" + }, + "campaign/rollout/housekeeping-worker-state.md": { + "mode": 420, + "sha256": "5ee9a48a691709af325994fd3d44a1ac6e40d05f26e09b03ae7efec2ecbe25cc" + }, + "campaign/rollout/housekeeping-worker.md": { + "mode": 420, + "sha256": "bab8219fadd0688e91d6211478a01403a36ae74fd2b6f7df0ad5c8745a542ca9" + }, + "campaign/rollout/independent-review.md": { + "mode": 420, + "sha256": "a7a8ebcce5202db0e67c8c65135df751e69ee6728c4c2ced92e1cc85b4279f22" + }, + "campaign/rollout/lead-state.md": { + "mode": 420, + "sha256": "3ded5b3f97d7882f72abef5ea268765a5db29c8b619486c153f5c92742040c01" + }, + "campaign/rollout/publishing-worker-state.md": { + "mode": 420, + "sha256": "641977e4d0ec400a3a6c38121ae5e7904aa1accc47179ee148ad7cb199029b0e" + }, + "campaign/rollout/publishing-worker.md": { + "mode": 420, + "sha256": "822812fbc803d443fb7e0855268c34224eda29f95e57274c217275b09ff4410f" + }, + "campaign/rollout/review-followup.md": { + "mode": 420, + "sha256": "853e3b5aab09cd77fd54cae6d8a61fb5ae092603ab2be8dee2db6d80492a6443" + }, + "campaign/rollout/review-worker-state.md": { + "mode": 420, + "sha256": "a704e6023eaf3424761bf431e49687ae1f1d687119fe00a466b9da2d9ef7bd42" + }, + "campaign/rollout/review-worker.md": { + "mode": 420, + "sha256": "0e348015440aabef95766010f14880619d34a472102698c9819dfbb029b8a6c8" + }, + "campaign/rollout/sync_verifier_snapshot.py": { + "mode": 420, + "sha256": "4133e536bfdb0e206ecdfc072062e7674b07b973c7f8b9d7f1a268520523d6eb" + }, + "findings/.keep.md": { + "mode": 420, + "sha256": "141ed928eaf10a2023dd2c0ff6ea68cf6ec423cfd28d5a359d9c5add730bf64c" + }, + "findings/00-strategy.md": { + "mode": 420, + "sha256": "3bc97827988c6eb4647713c5655271e156dfa466fad5685924010f3244fe6386" + }, + "findings/01-fingerprint.md": { + "mode": 420, + "sha256": "7cf0503c29f5beff852427c2c5bdf8e9d968386de777c47b6130771cac944cac" + }, + "findings/_template.md": { + "mode": 420, + "sha256": "b92d0ca7bfef4498a5f9e594453f15ab15e2c88c7582c4ed5df4c40e6871c3b1" + }, + "findings/control-flow/ai-visit-order-probe.md": { + "mode": 420, + "sha256": "e89f91a33139014ebdc22d79064ecfd06f9b4ffebb4bbc3da73734fc47534047" + }, + "findings/control-flow/alliance-mask-and-modcount.md": { + "mode": 420, + "sha256": "ec66c6b76d9e4c8bed385acf70e6a7d5da08e05eca72ac1e8e5cb307d87f2552" + }, + "findings/control-flow/combat-done-tail.md": { + "mode": 420, + "sha256": "799ace775f12ebe9a2737a711c8d0a6e617f0cefec70b93bf094e47cf81cc348" + }, + "findings/control-flow/combat-resolver.md": { + "mode": 420, + "sha256": "abf1a9329c1bd8a96c76481246a00b380e9a17fa8dc8900810218026e5fe1b9e" + }, + "findings/control-flow/combat-retreat-pipeline.md": { + "mode": 420, + "sha256": "6c40c8bdbdde672c9cd67248d740d88892ad2b93b30e27e9bebe0e96027cf136" + }, + "findings/control-flow/fleet-visit-order-mechanism.md": { + "mode": 420, + "sha256": "a2ea1a6ac9d383380e16910cff89dff0e9b23f1df66f47ef91dd266bd50b3a6d" + }, + "findings/control-flow/gate-indexed-rng-audit.md": { + "mode": 420, + "sha256": "5004b2480787eec7be66f40474648030fdaf7759087a4c4651091152d89351cd" + }, + "findings/control-flow/hive-creation-rng.md": { + "mode": 420, + "sha256": "5ff37d571c0380c798a137e0c6947a0c63109de489fd2100c99bfc6637fc272b" + }, + "findings/control-flow/indirect-edges.md": { + "mode": 420, + "sha256": "3dbf2acf7354f61de66348fe40965f3138dbc4bbff8cb0f06b2751e71ed06ee1" + }, + "findings/control-flow/inlined-draws.md": { + "mode": 420, + "sha256": "3b099718543d7fb112664699749602ff9d61de9aaebb561fc93f1f8b7a152134" + }, + "findings/control-flow/per-history-residue.md": { + "mode": 420, + "sha256": "739c7fc760583ca143036ce554e1eece640d1662fba4642e6f80fadd3dad13f9" + }, + "findings/control-flow/pinned-seed-rich-turn.md": { + "mode": 420, + "sha256": "7c62336767b7c69f513446543f37662ba2a0872e207b906279446bbe399d65b6" + }, + "findings/control-flow/raid-gate-multiplicity.md": { + "mode": 420, + "sha256": "6d7b7357be428ff79186478dc37063657ca4d8e2ad49fcdd92493753748a52f4" + }, + "findings/control-flow/raid-intercept-species-word.md": { + "mode": 420, + "sha256": "1da80eb14f0e3e5a0ce139f62976bb305e3e75a1e5e0631d8287f94eac093d8f" + }, + "findings/control-flow/raid-intercept-z-word.md": { + "mode": 420, + "sha256": "beb421953b70377c8c759f5cc936321faa6316be76d41020b41f26c99706acb3" + }, + "findings/control-flow/raid-target-pick-verdict.md": { + "mode": 420, + "sha256": "d0262a4187e35547b28d6be842e7c730aa3ee93565404b587a790706afabd694" + }, + "findings/control-flow/seed-exposure-forward-test.md": { + "mode": 420, + "sha256": "f108a07ce695b64c482af58db4caeb2607059a3357b62f04f7f36ce45c84ff4a" + }, + "findings/control-flow/standalone-generator-and-turn-record.md": { + "mode": 420, + "sha256": "e499f62534580f27c2a01395e08312ebc7df13bdd307342096f468212aec600b" + }, + "findings/control-flow/standalone-scaffold.md": { + "mode": 420, + "sha256": "0bf928260d5058815a2f09c4df8c08eb359430aeea941f872018de7cbca39105" + }, + "findings/control-flow/tail-probes.md": { + "mode": 420, + "sha256": "ae45e84a9c7f257170f7550301fc4e1a35d5210269bda8070469a5c921cce95e" + }, + "findings/control-flow/tail-rng-ledger.md": { + "mode": 420, + "sha256": "2db588423e7b7de7729e5319477c17fbcea5b7a9cb8ff00b01cfd72bfce25403" + }, + "findings/control-flow/trade-raid-rng-gate.md": { + "mode": 420, + "sha256": "85c7b27aa284988b07b5e67c8e48ef1725289f1a6956d88be2572577cc06e1bf" + }, + "findings/control-flow/turn-driver.md": { + "mode": 420, + "sha256": "3f4e92041a0842d211ea9ae1ae16a9fe400dacf9632209102a1f76acc6b30792" + }, + "findings/control-flow/turn-spine.md": { + "mode": 420, + "sha256": "e2a64f82e5dececb4ba56859d1e53a0f720e08472c79c39197beba7f6041811b" + }, + "findings/control-flow/w3-containers-status-handlers.md": { + "mode": 420, + "sha256": "fffbaa6e3701abbe57a54046416a102502afeaa29b14632f9506905c22bf3914" + }, + "findings/control-flow/watchpoints-modcount-status.md": { + "mode": 420, + "sha256": "0aec4c93ca7219e29827a5069a9829d5e58da2001e79a7316bce288d3e9a6c7d" + }, + "findings/objects/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/objects/00-inventory.md": { + "mode": 420, + "sha256": "cada5fc81c42cb50878a26e43a58640153c600319e66d4c92a23d7c363ff5f14" + }, + "findings/objects/aiagent-block.md": { + "mode": 420, + "sha256": "55d646ab57e90477993d263399254a3b103024d89fff42491b7df5cf4ffc8037" + }, + "findings/objects/classes-game.txt": { + "mode": 420, + "sha256": "e0eceb77c56e05bc7863d3a07805d703fc0ecec489ef24fabe7c6161f2835199" + }, + "findings/objects/classes-mars.txt": { + "mode": 420, + "sha256": "b624f7bd82a5277462a39627140a85c7a7929fd292b62e45edb5c96fd53b6145" + }, + "findings/objects/ghidra-recon.md": { + "mode": 420, + "sha256": "ca4b043a73c1d5573aa0c83cd3942db731884910c90e7d8544c8a32c939e2fda" + }, + "findings/objects/rtti-raw.txt": { + "mode": 420, + "sha256": "39f6fdf8793f8202c19cfb87a75466b215254a13050ec37c0c496699298247ad" + }, + "findings/objects/save-editor-structs.md": { + "mode": 420, + "sha256": "835d4fbf154275542383ea499a527c044ec7d577486c2735b817bd32d6e0c853" + }, + "findings/objects/schema-gaps-resolved.md": { + "mode": 420, + "sha256": "9ddae36eb8e3ef909c4902d01200fc8a17335271e4e063939ae162a3eea5bb3a" + }, + "findings/objects/serializable-types.txt": { + "mode": 420, + "sha256": "59c2f3942f55eb3f6687758a4c447b1ed8902caa60b97d9619bb8228e27c6838" + }, + "findings/objects/serializer-struct-recovery.md": { + "mode": 420, + "sha256": "5b56d8e1a5047d602cea7a76227f30e17244057fe21fde3d4e2cc76e9f185416" + }, + "findings/objects/ship-design-catalogue.md": { + "mode": 420, + "sha256": "feded2191180e184d34d4992935dc117bff8d052e8a2c63ecc29fa7b2e6b561d" + }, + "findings/objects/struct-recovery.md": { + "mode": 420, + "sha256": "4e99ef972529101f5700b52845e263fb3789e0b82d8cdeca921f1595a24d92db" + }, + "findings/objects/svsctob-variants.md": { + "mode": 420, + "sha256": "89617cd2909f2242e9e1657fd4a8f5aafe5aa0c1e0e9bc8926fb67c1e830dd2d" + }, + "findings/objects/svsctob-writers.md": { + "mode": 420, + "sha256": "7a9b7f3bf4eae63cf522246227410b2e3ca789284b7c620f01550fadf479622c" + }, + "findings/objects/turncommands-block.md": { + "mode": 420, + "sha256": "8eca2b79838114e7ae46d34c6e75eaf3b04c0448d9896ed4219b118f09e83046" + }, + "findings/objects/wire-schema-channel.md": { + "mode": 420, + "sha256": "31f0fc4e1cc3c3e7ef938aa22ad65cfdec32be4f1ade476a7ebf32c3c6f07d6f" + }, + "findings/objects/wire-schema-closeout.md": { + "mode": 420, + "sha256": "bbae848b4f8d6d0f2a914268ac34e75b4cea483f52816916202f3bd3cd084255" + }, + "findings/objects/wire-schema-ratchet-debt.md": { + "mode": 420, + "sha256": "0d144181478a607f2474a7c8a1b71ca49c881ef6fd068b5e8859c3fa8129507a" + }, + "findings/resolutions/2026-09-08-ai-seed-per-process.md": { + "mode": 420, + "sha256": "0765bdaeade29122ab5e64493f3a7c339f1e4c4445192ed09ae3d229dd6ae943" + }, + "findings/resolutions/2026-09-09-fleet-id-order-residue.md": { + "mode": 420, + "sha256": "b3d63a11e8ebd55da4af15760d044607b6105216898a018f5ceebc94750817e8" + }, + "findings/resolutions/2026-09-09-seed-exposure-is-a-predicate.md": { + "mode": 420, + "sha256": "dd7ce18738a625b9008ef80783bd64fc3857852775ab3b784b9e5f4fd5ae7de1" + }, + "findings/resolutions/2026-09-09-tail-draws.md": { + "mode": 420, + "sha256": "ff86a332ea9f87bd6f42a0b64e837e6f6f5876423ae9403a903aa9bfe7c42678" + }, + "findings/subsystems/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/subsystems/ai-client-seed-is-per-process.md": { + "mode": 420, + "sha256": "5e6de0418588ff28cee29cb9affd69c3183819318c314eeb0771bbe810e6b4ed" + }, + "findings/subsystems/ai-order-capture.md": { + "mode": 420, + "sha256": "6efebf9f00b375d2c7f29ddeb24ef7a04e3b02cac9027369b490157a196d08ce" + }, + "findings/subsystems/ai-order-emission.md": { + "mode": 420, + "sha256": "9e54a13a18387a4f93acc5c66dbf71d365c81f1a8e6d2aee31f7a89712894ace" + }, + "findings/subsystems/ai-stepping-and-passes.md": { + "mode": 420, + "sha256": "e7e2fc612457a4e77df362aea2928d20fa5a2456fe12a7fbafeaf3c9e01c1dc1" + }, + "findings/subsystems/ai-task-system.md": { + "mode": 420, + "sha256": "577f8fc41256ebdf9629f1e30df9aac7f51c1a84b55f60c2b59e4af4c55126b2" + }, + "findings/subsystems/ai-turn-logic.md": { + "mode": 420, + "sha256": "79e9b7c9592d583db7b9d9ce472804038a71febf7527bd69e31b3399caeb0770" + }, + "findings/subsystems/battle-load-profile.md": { + "mode": 420, + "sha256": "3cf8e28925ebbb162bca9c3be9e6b2599c82ab6aaf9a9d99ffd9c934bf773c77" + }, + "findings/subsystems/data-model.md": { + "mode": 420, + "sha256": "f01c9bfcf8ed9fbf9fdd30556308a1dbb1094896050cc8a5e4fbc1c6c61aff78" + }, + "findings/subsystems/data-parsers.md": { + "mode": 420, + "sha256": "6a428c14279ac2c589b4af932e762ef7e3ada1a878128527b8d88858c11fbc35" + }, + "findings/subsystems/determinism-oracle.md": { + "mode": 420, + "sha256": "4fe0abad0b1b825392cd47b792d06756742495f26ff40a6a433d8608b4680bcb" + }, + "findings/subsystems/eventlive-verification.md": { + "mode": 420, + "sha256": "8bfcc75e57ddf88ec8a4b8885f033be8ffd420965077ab284b1ebce535ecf1a0" + }, + "findings/subsystems/events.md": { + "mode": 420, + "sha256": "c5d6e168d6d48eabec0ae0a448f9c3ec8d0f751a67fc320bc1021ba10008a3bf" + }, + "findings/subsystems/formula-gaps.md": { + "mode": 420, + "sha256": "63ec96a27fac5381d33cdce3e549d230bd5b0230e4d8573f4f3d45bab7d47ffc" + }, + "findings/subsystems/fpu-precision-sensitivity.md": { + "mode": 420, + "sha256": "4cf84e2a1c3d0eaaf9b3a7f218ad663ffa6984389b2a25851249733ad708ff8f" + }, + "findings/subsystems/golden-trace-recapture.md": { + "mode": 420, + "sha256": "b244f939b87dd464d78d919675c0e6aa010b0ec7b4fc6e4178e26c2c8ebee738" + }, + "findings/subsystems/id-allocation.md": { + "mode": 420, + "sha256": "b04a14a5a7d4d1c6137c4f9072987eebc997421e550881dcc2c8e386187f5b90" + }, + "findings/subsystems/income-term.md": { + "mode": 420, + "sha256": "c40286635675a91ce779b887a0394e92f946844873a778015efb98c4a105b67e" + }, + "findings/subsystems/loader-prototypes.md": { + "mode": 420, + "sha256": "f1d09471d5e17c45413b86805f561329f5af24eadfb17c3c740686c39b167ed6" + }, + "findings/subsystems/money-chain-float-widths.md": { + "mode": 420, + "sha256": "99bded6f2d34a713bc175deb4ad5ab4559ce1cc90274b036c1818ad8257c2fef" + }, + "findings/subsystems/movefleet-position-rounding.md": { + "mode": 420, + "sha256": "12dbdc03658cb042b5927586769dc9c19fc2eb812f703e73bf26273f8b0d65a6" + }, + "findings/subsystems/multiplayer-combat.md": { + "mode": 420, + "sha256": "2f4957011b5c5875b8aa7f71531dd5dfe3fd8df4f2c67a7be2fb5999f090c02b" + }, + "findings/subsystems/multiplayer-gamespy.md": { + "mode": 420, + "sha256": "a878e97775d27e085e58b18eaf5a67aaa522456d1055ca142f0477e3d6152d47" + }, + "findings/subsystems/multiplayer-tier0-verified.md": { + "mode": 420, + "sha256": "942ce29cbe22d8f7de5af54f2017c0433c7b8e1a56c864868ec906ffcbb9059a" + }, + "findings/subsystems/nav-classifier-live.md": { + "mode": 420, + "sha256": "b8aacdea8072a99ba1192e235088b372180f094795baf164e8cb95bd2df9f3b0" + }, + "findings/subsystems/nvo-tshn-visible-owner.md": { + "mode": 420, + "sha256": "ef96bb61769c02affd7148cd95e70bf358cbe6263fbe9b47aba6cf4cfa8486ad" + }, + "findings/subsystems/observedtech-append.md": { + "mode": 420, + "sha256": "61efcf51bffe53b8a10a2cdb8123db3f8c55b6874db87418fc31737efedaa652" + }, + "findings/subsystems/output-term.md": { + "mode": 420, + "sha256": "9eb9ff58a1d4cf34d3138f5044788b6f87ff4c94fa871b2dedd6ff6667196533" + }, + "findings/subsystems/output-turn-path.md": { + "mode": 420, + "sha256": "4e199e5cc14802c1b14b37cff0c1359b43aca94dab833f9024c7825c4c512588" + }, + "findings/subsystems/path-solver.md": { + "mode": 420, + "sha256": "3e0e318d45e14f844831c4180e47011263f64067dacf3249742882186d65cf18" + }, + "findings/subsystems/players-residual.md": { + "mode": 420, + "sha256": "e2f56c7983856470d37cd0fba4834a0ccb34dcaddbaf9acaf5dcdc253c6b3507" + }, + "findings/subsystems/population-growth.md": { + "mode": 420, + "sha256": "c2ec2f062e1224045b761640549e7374336ac762bd61c686a0c1378ad829a993" + }, + "findings/subsystems/rcex-explained.md": { + "mode": 420, + "sha256": "df7c9de6f02c1bd38f69e3a5344ec663d97b1d6b738ff408dfdeb0e2f6175b32" + }, + "findings/subsystems/relabel-new-ids.md": { + "mode": 420, + "sha256": "562ffe347adc6432a7824bfa2b324b6b1812b4fcc18343f0732c0f3d9991be20" + }, + "findings/subsystems/research-replace.md": { + "mode": 420, + "sha256": "d0f692cf687a7fe6aab62fc5d7d076eb595e1c33fd84c6f1e437ed01025cab4b" + }, + "findings/subsystems/roll-parity.md": { + "mode": 420, + "sha256": "7d97d7e5eee7b9f135e32b6553bb94ca83fd05b1eca7d18c42e9d65cae4d95d1" + }, + "findings/subsystems/rung-b-rich-turn.md": { + "mode": 420, + "sha256": "44378c6a305a82b2d131270fa5d97fdcd8a7fd5c9760ecbad7715383eac2db68" + }, + "findings/subsystems/running-the-game.md": { + "mode": 420, + "sha256": "f6109f69c6b86e4cf01d0f2e1f8be9921ff632513bca5d9e44e7f6c34f1cd260" + }, + "findings/subsystems/setresearched-cascade.md": { + "mode": 420, + "sha256": "9c079de161a1d1387339b8e8081395c1356c1443a0c898942acfb6efb65a454f" + }, + "findings/subsystems/ship-construction.md": { + "mode": 420, + "sha256": "86f570b1872c8dfac3982d1d7335f4798ccbd1bfd73c91d481afba2734c41216" + }, + "findings/subsystems/ship-design-composer.md": { + "mode": 420, + "sha256": "639b276e9205aaf6c90d9c458a383cc073e89f401ef8f17f8ad5a8a0c5899fa8" + }, + "findings/subsystems/snlv-measured.md": { + "mode": 420, + "sha256": "785324d176be969e1809090acd6b7a48d27f4fa41472c0d9c6f568c0b3a1e539" + }, + "findings/subsystems/spy-detection-roll.md": { + "mode": 420, + "sha256": "214179f5091408ef01ce4b80565068cb9a0885d1c6a233cda476280b9bf29c0a" + }, + "findings/subsystems/spy-program-draws.md": { + "mode": 420, + "sha256": "0c61c2f9cc767ae679921bfc42ef9a207ec9a6e0dc88419a673a8e439f1abfc1" + }, + "findings/subsystems/strategic-turn-internals.md": { + "mode": 420, + "sha256": "3a5c17e025d4968db6030f8ef1daaa2b03ccd4def12d35cf3a0eabcb0b5cbb54" + }, + "findings/subsystems/strings-and-config.md": { + "mode": 420, + "sha256": "67aefda7792e329b7df3f6e8cf42c7bae7049867cdda0741e871b183bc528786" + }, + "findings/subsystems/system-visibility-prediction.md": { + "mode": 420, + "sha256": "b420526ca0410bd4578dd2ed29cd9a21ed3578d6345d9f853a883e0159c1f89c" + }, + "findings/subsystems/system-visibility-record.md": { + "mode": 420, + "sha256": "d2843e10c156a7c85d7dab40d00204475fc725dc9b93656f6cde941ceceb5f51" + }, + "findings/subsystems/t34-observed-designs.md": { + "mode": 420, + "sha256": "207641821a55f5671749b000d478afd9e427336e2d123a55ad2203f34dfaa796" + }, + "findings/subsystems/tech-effects.md": { + "mode": 420, + "sha256": "7423f1e2cb2a597738b244d58bdf467431ee5de725ac434b904676ddcbcfc609" + }, + "findings/subsystems/techid-name-map.md": { + "mode": 420, + "sha256": "cfd92a7885dad3775465fc0c5b40aeb1749499f90071b44855ab8e1746d5f752" + }, + "findings/subsystems/trade-and-spy-workload.md": { + "mode": 420, + "sha256": "147057456fa30b6218df19679abab1ac31b78276a4272d221b70776e154396ba" + }, + "findings/subsystems/treaty-turn-stamp.md": { + "mode": 420, + "sha256": "fa0a8588847cc2b9e92cddeca65fd00fe3d84a00a1034d9354053c7e6cd9ceb5" + }, + "findings/subsystems/turn-command-replay.md": { + "mode": 420, + "sha256": "b65fa3c3c01c67bc16ec488e4a44e6c748256e941c80987528b7602038a56e07" + }, + "findings/subsystems/turn1-to-turn2-nondeterminism.md": { + "mode": 420, + "sha256": "9ebe834fa0f7c1cf864032ec67da76730ed6c239d6bd3a717f147490116acc4d" + }, + "findings/subsystems/turncommands-capture.md": { + "mode": 420, + "sha256": "a57fd2a77784fef1b176749878b161c4f04ac77c1f4a061a6b713787d92fb9ef" + }, + "findings/subsystems/ui-screen-map.md": { + "mode": 420, + "sha256": "d266285e3ca99ba3b5ebbab47c78f3df247a8b539c0519c6fd27a999b9d6f84b" + }, + "findings/subsystems/unlock-cascade.md": { + "mode": 420, + "sha256": "38d29a9484aa3910f5a62b5dd08225ba590bf26901203c5aef1b0b466fbbc5fb" + }, + "findings/subsystems/value-domain-census.md": { + "mode": 420, + "sha256": "bc99139708aee5da4cafec585fc35ab3523b51571518038db19b5f1383c6a6c4" + }, + "findings/subsystems/writer-byte-exact.md": { + "mode": 420, + "sha256": "a0e91a90d2ae78328dbaef30b37d53037cab26489e4729413bcfebbafcab0978" + }, + "ghidra/addresses.d/README.md": { + "mode": 420, + "sha256": "cf2745d5d3e504725ae5a296dc20e3d63b8d32a903445aafe2af61828a6d59c5" + }, + "ghidra/addresses.d/ag.json": { + "mode": 420, + "sha256": "24d5b11779364cf198008b143c7a3a092117ec4a1530c489497dbc8acdf62d8e" + }, + "ghidra/addresses.d/ap.json": { + "mode": 420, + "sha256": "e37f478836eb297f9cc5186cd7df3f5942abc4b6396a4d2866e613841437f778" + }, + "ghidra/addresses.d/ar.json": { + "mode": 420, + "sha256": "8d8620be8dd807a610ff63c0d77cbf266f3d9ce272158991d1f55d9c9910c248" + }, + "ghidra/addresses.d/as.json": { + "mode": 420, + "sha256": "08a869ab9466d4b575363cfb6fc084ca72cdc05d509c5d87e658a9a9977a7ae9" + }, + "ghidra/addresses.d/az.json": { + "mode": 420, + "sha256": "60b9a169605ac171cffb848024141c9224f6897bf69b547b9a4f2b5ddfc8d835" + }, + "ghidra/addresses.d/bu.json": { + "mode": 420, + "sha256": "79037146ba621e43e561bcf0577afc25b2ffac4ced44c902d2ea8ed9171b1bb9" + }, + "ghidra/addresses.d/cz.json": { + "mode": 420, + "sha256": "35de20ff0e38d05b5c58c89690dfc81ce44eb280a2a594ae862e55d56edb5d3c" + }, + "ghidra/addresses.d/dn.json": { + "mode": 420, + "sha256": "c41f877a37bc864f8f315a47b720ac204c22c25de405f4de63b845180641eba0" + }, + "ghidra/addresses.d/dt.json": { + "mode": 420, + "sha256": "580762e01175fb7246d0f9214e4ed9ba16bebcdb82ad1525fd1f77c0910c660f" + }, + "ghidra/addresses.d/lane-a.json": { + "mode": 420, + "sha256": "fce5f06866bddc6bca095d53e376495103dfd8900ad7da0d0d6731f105915d71" + }, + "ghidra/addresses.d/lane-a2.json": { + "mode": 420, + "sha256": "1207088eb2ae041afc2618a627029e25f578ae9fe8db73bb9efb616f39c34bf0" + }, + "ghidra/addresses.d/lane-ac.json": { + "mode": 420, + "sha256": "02a1c2f01ca0d11a7c38d416d94fabaea64b5c5919f6ceaead83430fb398710e" + }, + "ghidra/addresses.d/lane-ai1.json": { + "mode": 420, + "sha256": "134a0cb87b95bf5f39ed015bcdf64c6e8da6b22e073d5b5487148cb5421addff" + }, + "ghidra/addresses.d/lane-ai2.json": { + "mode": 420, + "sha256": "e9d94ce026231d420538400fa9c73fa8a2fa882d16f542c6b8ce2c34014acda6" + }, + "ghidra/addresses.d/lane-ai3.json": { + "mode": 420, + "sha256": "89c29e1bbb1159b7b6fb4fc8c232902f8497efc82290aba6f50c9c9097feec6a" + }, + "ghidra/addresses.d/lane-ai4.json": { + "mode": 420, + "sha256": "78b7897d3d2678ddbff7cd982bfa7d93a0c26817846a148fd3f46790fef9d7fb" + }, + "ghidra/addresses.d/lane-b5.json": { + "mode": 420, + "sha256": "641c724d1fbf28f5469aac488401ea2f92bdd3b929fbf053ddeef0ba5b8de9da" + }, + "ghidra/addresses.d/lane-b6.json": { + "mode": 420, + "sha256": "b2b2833220e3a645efab2b767f1d93d1215a54d195e28e6743db8f1d89934697" + }, + "ghidra/addresses.d/lane-c3.json": { + "mode": 420, + "sha256": "b732932503c181c77bb14ba0136379c8fa3501d0c1471b02d9bca7d023bb5f5a" + }, + "ghidra/addresses.d/lane-d2.json": { + "mode": 420, + "sha256": "8b5df39fb5eea0cd40dffc20aaccabe169f5472171dfd242ca2e75dfc4ca608c" + }, + "ghidra/addresses.d/lane-e1.json": { + "mode": 420, + "sha256": "cb38b41b747bf74ee73fb7eaa301da4bb896d089fa1dea4197382e94940c7f69" + }, + "ghidra/addresses.d/lane-e3.json": { + "mode": 420, + "sha256": "a5fe9dbb37ee587bf36a311771bbc9d8dcaa4d4fcc0b420b8f45829929b0ff98" + }, + "ghidra/addresses.d/lane-ev.json": { + "mode": 420, + "sha256": "b243d31bcd69bfb1e5928ba8b70e958e559c88ee5190ca34e569f217a784798c" + }, + "ghidra/addresses.d/lane-g2.json": { + "mode": 420, + "sha256": "84401f05c5cf2ca0839e817877892e904b3fd2fd4175607abc34453acd8ce822" + }, + "ghidra/addresses.d/lane-g3.json": { + "mode": 420, + "sha256": "d176eb4a07bb6b98acea77e1a0a9904d317a594768ecf8719bbfacbdf6522729" + }, + "ghidra/addresses.d/lane-h.json": { + "mode": 420, + "sha256": "e8cffe89c7feb1d9fa1949f33aff01edc7b84b49ab752275662f6f613c16c0b6" + }, + "ghidra/addresses.d/lane-i.json": { + "mode": 420, + "sha256": "a4c482ff6fee78e96da3400b9ba7d76b58634a5933ff388db5993a1b105c8aca" + }, + "ghidra/addresses.d/lane-id.json": { + "mode": 420, + "sha256": "3f48c9b2e2c3a08e13a856bfb78d551af17f5a1a1079f03f8edbf4615f17ca7d" + }, + "ghidra/addresses.d/lane-j.json": { + "mode": 420, + "sha256": "4fd95b08fee60a2748995cb082fe50d61e7179ae90b106f230bfc5c55a35660d" + }, + "ghidra/addresses.d/lane-k.json": { + "mode": 420, + "sha256": "f6ead3ff256fd2e1408d52bfa28e308f106ad672b3fe1cce0d136faac351136e" + }, + "ghidra/addresses.d/lane-l1.json": { + "mode": 420, + "sha256": "ecbab4a1b602beefd6889effc4883b7f7de01afabb7c5c071bbc4e2237e9131b" + }, + "ghidra/addresses.d/lane-l3.json": { + "mode": 420, + "sha256": "eabb96253bee36c799f1eb89108e284162606cfdc5e9bd29dbf7b5f88ee88adf" + }, + "ghidra/addresses.d/lane-l4.json": { + "mode": 420, + "sha256": "5b2b54d2f3e123e352e9a2b0f1d80fc8afcdd0b97916a94ee5a62ddc03b0ae75" + }, + "ghidra/addresses.d/lane-l5.json": { + "mode": 420, + "sha256": "cedc4869149212d401c519c46fa3f02769f9c939fc560fe8d35cc4f898091482" + }, + "ghidra/addresses.d/lane-n.json": { + "mode": 420, + "sha256": "6987efa430f2da8987e42e61e53113f914cb00e3e52a7c679565e7faf5160c82" + }, + "ghidra/addresses.d/lane-o.json": { + "mode": 420, + "sha256": "7fcf357f25ccdf061b6bc688339e2006f830c551718b6419a0a9d0ac968bb555" + }, + "ghidra/addresses.d/lane-p2.json": { + "mode": 420, + "sha256": "7eaa63d64a0054ef88f323f58b31fca07bd2372dc21560b4bda64eb13d869792" + }, + "ghidra/addresses.d/lane-par.json": { + "mode": 420, + "sha256": "3836b786aec28feb028271d05f368d7c332b8930b51cfdceb36540133a3d3237" + }, + "ghidra/addresses.d/lane-pl.json": { + "mode": 420, + "sha256": "f29953d17effbb7d8256687833023d4656522e74c40bf1ea646d3b35da3635d7" + }, + "ghidra/addresses.d/lane-q.json": { + "mode": 420, + "sha256": "6f98496ffc288fb30c3a7347a7e5252b296f2345afd1bf678f98a2c934b8935a" + }, + "ghidra/addresses.d/lane-rb.json": { + "mode": 420, + "sha256": "bff95b9452e0efb63e74f741682c8d1843abfe3e722143cf01cf092aa894d75d" + }, + "ghidra/addresses.d/lane-sd.json": { + "mode": 420, + "sha256": "d3239b619cbef5cddc9c7bde6525301a99a6423f8a0e42c1ea53b9ae269c6da9" + }, + "ghidra/addresses.d/lane-sv.json": { + "mode": 420, + "sha256": "f574d8b4dc75da722870c74eb29cd56c75e04dd0ac384b4549fc95d425e3de3a" + }, + "ghidra/addresses.d/lane-t.json": { + "mode": 420, + "sha256": "70975f3c1dea55ceb11af12b9ba3a04e8f7bba2e25f1355ffcd3cd457c41545c" + }, + "ghidra/addresses.d/lane-t2.json": { + "mode": 420, + "sha256": "1e3c59089b769cc5f5d3cf16c33cb6db002966f5beb1a4fb9dd8e28fe54cd6a7" + }, + "ghidra/addresses.d/lane-u.json": { + "mode": 420, + "sha256": "bcccb6ec9257537eece135adbfd126904ca0becf14f9b5d17253adf5d8c9e8fe" + }, + "ghidra/addresses.d/lane-v2.json": { + "mode": 420, + "sha256": "6a4d4960ce99c05b928164159eaf4482bf763785a1f8c50efe133667886d9a54" + }, + "ghidra/addresses.d/lane-w.json": { + "mode": 420, + "sha256": "3971d65c772146534f5d8c350f2d203add70ac82801f57f3704c47cd59b51226" + }, + "ghidra/addresses.d/lane-w2.json": { + "mode": 420, + "sha256": "677648e94de8e1e0d538c9575c9be942d0b37c1a847effcb3c2312af5b6aa7d9" + }, + "ghidra/addresses.d/lane-w3.json": { + "mode": 420, + "sha256": "50ed8ed1b16288b00bac4df0886646dbf9d6d6392867029b4eac386806b41b51" + }, + "ghidra/addresses.d/lane-z.json": { + "mode": 420, + "sha256": "bc63a82f2d0cb7636e95f8a07f183f80817a4c65d2bb7263a047ec3c540512eb" + }, + "ghidra/addresses.json": { + "mode": 420, + "sha256": "865c02d88ac6ede656160a5ab20521ad8854efa381d5a943ab422216aca2c016" + }, + "ghidra/generated/sots_addresses.h": { + "mode": 420, + "sha256": "1cf6b4ab40d3cde306edee12ba4eb05292b98ddcf5c2b7c22c1c64b6075b1bdf" + }, + "ghidra/scripts/FixPlayer.java": { + "mode": 420, + "sha256": "9f9ea470af063339511b1f1c85d6dea2df0827c4fed5806c6f641b1aad3e5660" + }, + "ghidra/scripts/FixThis.java": { + "mode": 420, + "sha256": "aafeeb482f71d1bdcbc99a51fb3f21989a46fbb49b5a572f3d9e436c9b3b98b4" + }, + "ghidra/scripts/LoaderRecon.java": { + "mode": 420, + "sha256": "1275d460227e0098254885fe70666d618da7215bca99483a5475c1e701ab9b27" + }, + "ghidra/scripts/LoaderWriteBack.java": { + "mode": 420, + "sha256": "d1040cb9ee80f0fe4d2310d95b38d7d94b0972283f74ea6058de0bdb9e510e63" + }, + "ghidra/scripts/SpineRecon.java": { + "mode": 420, + "sha256": "bea798733cf60f9478373cc453692104058b643ba5b7fc68e76945ae6f496950" + }, + "ghidra/scripts/SpineRecon2.java": { + "mode": 420, + "sha256": "94f10ac953091d50187a46b74803abb4812b244356f9336fa8e133a8a6cba0c6" + }, + "ghidra/scripts/SpineRecon3.java": { + "mode": 420, + "sha256": "b2344ab3d7195cfb935505ba1949f3d4862f787ccb95b812cef3856f92c94ffc" + }, + "ghidra/scripts/SpineRecon4.java": { + "mode": 420, + "sha256": "1093ee635be94f0c0bb31b5bd79f030faa0d7cbab96a495426363172cbcd1d66" + }, + "ghidra/scripts/TechFx.java": { + "mode": 420, + "sha256": "bfa8e990d65ad7cb2b665ee284ec2d645395e0fb3794ea146b175e2937a159ad" + }, + "ghidra/scripts/TechFx2.java": { + "mode": 420, + "sha256": "ee7040ed3316f2e717bac207c3e8ba9bf5ecb560f9e2b38335582c4ca6bae5a8" + }, + "ghidra/scripts/TechFx3.java": { + "mode": 420, + "sha256": "b672751160abcfee37d16eb2f107a60420b7d6956c312fe93e9f62578c06b96a" + }, + "ghidra/scripts/TechFx4.java": { + "mode": 420, + "sha256": "ef912e86f802452f33c20a1adb87eeb96f0ec893e26ee4bbd02305ba0c5e46c7" + }, + "ghidra/scripts/WriteBack.java": { + "mode": 420, + "sha256": "e002a5b86bc58cf75ef8d08dbaeb84bdf3306c1e8d49e92c0382f8ed858c57ac" + }, + "ghidra/vtable-owners.json": { + "mode": 420, + "sha256": "8ee89f3b43f56283a6ffcc605394a1ab246f8071370a9db8f1e770942a5a82a3" + }, + "guides/lab-screen-wall.md": { + "mode": 420, + "sha256": "d398b47853013dbce63b4af2f2ec680c39775732b9fbba13f5fc42a46628550f" + }, + "guides/method-rules.md": { + "mode": 420, + "sha256": "a71a8415202fe97ccaee3805bf4035684776c37f5613dc39a1f260aa33f94b69" + }, + "guides/multi-agent-workflow.md": { + "mode": 420, + "sha256": "f5bf0c30c12a3a9e1725549fe000be0105d415ca25b120673a780901148f08da" + }, + "guides/re-windows-2000s-howto.md": { + "mode": 420, + "sha256": "3490650440d6e683cb029915b8c2cace914b1f52538c9db89175ad4547db2901" + }, + "guides/windows-lab-housekeeping.md": { + "mode": 420, + "sha256": "4a9e9d66dd76e6b5ee1951686186190c650a617fa812fa4bd236ef02b783939a" + }, + "notes/.keep.md": { + "mode": 420, + "sha256": "7878c159a1b9636974e9093902027a24bf7b3c7520f13a8d96f930bd10d22f1c" + }, + "objects/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "objects/layouts.h": { + "mode": 420, + "sha256": "24586f7f1c25530691193a919c6335ab1784fa2815b222326409cfe9e2a42981" + }, + "objects/layouts.json": { + "mode": 420, + "sha256": "16bfffa5020d98c12af61c72a48da8f2c5e06d1060358802717e585a49b150b2" + }, + "objects/layouts.md": { + "mode": 420, + "sha256": "83bc29fcd379847f9ebd6732edf9748c1c878052e889615928659307f97a148c" + }, + "objects/streams.json": { + "mode": 420, + "sha256": "60993eda14d0b1056578718d43a3b6d89816e12c4f5a00674806aeef9e81baf7" + }, + "opencode.json": { + "mode": 420, + "sha256": "d24be7fcee57d5eb04c6b7189822a2ca055dd4a70daafbea67f09a120945d49f" + }, + "scripts/.keep.md": { + "mode": 420, + "sha256": "b0cdcee8cfdc1b15ee444520b6b01c747399deea6d92ff2576ca6eb57331bbac" + }, + "scripts/forgejo_campaign.py": null, + "scripts/lane_v2_writeback.py": { + "mode": 420, + "sha256": "69a66058adb04926eeb6f0e81fa8f0392ce06de2e8d8eb61ebcf503bab6311da" + }, + "tools/DASHBOARD_README.md": { + "mode": 420, + "sha256": "f401cc54f64a4862a938263f37eaab22e6475e063e59726e02dce201f657dcc4" + }, + "tools/aiorders_to_tcb.py": { + "mode": 420, + "sha256": "9762d1fd45f3ab7c045088e222c5386a2cc63a6b25e1c09a49cbbd71837bfe17" + }, + "tools/cache_functions.py": { + "mode": 420, + "sha256": "18c037e48ab035764b0c877123ea7c998ef74240c63090e4f58142f57835e0b1" + }, + "tools/campaign.py": { + "mode": 420, + "sha256": "c7b7c7a30d907bba8e59386dee8704d7f3f5e978fcf709b686e37996fa465c31" + }, + "tools/check_agent_config.py": { + "mode": 420, + "sha256": "93115532cb38105777a5c5c20a9f2a808043370e0d4f560a9c82fe8e800076ec" + }, + "tools/dashboard.py": { + "mode": 420, + "sha256": "c84aeeea6fb7d5e45ccec8882bacc59182149f108edd9eb1585eab9ede99911c" + }, + "tools/displacement.py": null, + "tools/evidence.py": { + "mode": 420, + "sha256": "0a7f8497ed287b4b64aa5ba0cb25735172408e38f3605b3ff90f009c7f02eb85" + }, + "tools/gate.py": { + "mode": 420, + "sha256": "4df5ee7022fb2601687f06eab788e2cea1e345e580c4e92c9d47be1787d37460" + }, + "tools/gate.sh": { + "mode": 493, + "sha256": "d7ba27b9b0c6a03df48e4edc71884ef9986743f8afa751dbfec116df5aeee18c" + }, + "tools/gen_addresses.py": { + "mode": 493, + "sha256": "5d995585d4192a19db7cc6d31ed811fa80264159fc114f03f58793f9b6c4908e" + }, + "tools/gen_stream_schema.py": { + "mode": 420, + "sha256": "a9c3e925bb3370371a2c8cde8d738c657fe1cbf68c39c6155562bbb20c551461" + }, + "tools/max_income_oracle.py": { + "mode": 420, + "sha256": "8d3ec6ba5c677486200eab7d1ca55e1350947829e603737307fa394ac8e40bcd" + }, + "tools/max_income_predict.py": { + "mode": 420, + "sha256": "85400c82b6cb7c6786b7fb6486bdc7bcb1140817f7a0ff0b4fa4f7dbeded8797" + }, + "tools/probe_report.py": { + "mode": 420, + "sha256": "f3ef378c10bae4a8bef754d853f0e86616bb95b5e051e04cac97d362587df1a7" + }, + "tools/reva_call.py": { + "mode": 493, + "sha256": "89477650d38985f84b61a664572de1cbde1268b879d3da5e874598942822998b" + }, + "tools/rng_ledger_report.py": { + "mode": 493, + "sha256": "b4f3f581eb6de50118fd531c848354816c20197711e668ce8b0cfcb4d0392cf3" + }, + "tools/rng_oracle_check.py": { + "mode": 420, + "sha256": "f27ca7f9aa03bc672f04067bc71e73ac83742997f12f5f55ce11151bdc39d98a" + }, + "tools/rng_site_report.py": { + "mode": 493, + "sha256": "fabd950c002265403f7b13a8868a158d867828c9930770ed096a2610b086ad35" + }, + "tools/rtti_map.py": { + "mode": 420, + "sha256": "9ac88a8aa566fe08336ba6e50905ec4253409e1317f491c415b1b9ebcc0713e4" + }, + "tools/run_agent.py": { + "mode": 420, + "sha256": "0f5ccb53dcde59b64fe999768737b6cbd2dabcc1272e5605c1f1ecd86e5d5d2b" + }, + "tools/select_evidence.py": { + "mode": 420, + "sha256": "a6e648a77bcf799cc774ff9d0de83011283049ed0f0c44f6e08857a8410e9463" + }, + "tools/serializers.py": { + "mode": 420, + "sha256": "938904eb7b4ae30a61dd966494b112c6d52399f9d4a4658add06b40a54d6cb73" + }, + "tools/serializers_ghidra.py": { + "mode": 420, + "sha256": "d27da0afc8d043d31335bbe274fc76245e50cf0f9091a968b124f31c3a17997c" + }, + "tools/serializers_golden.py": { + "mode": 420, + "sha256": "29d2509b54704b80eff46a59a320719edb17a7eb67fd8acb8ad5e3c427d8e825" + }, + "tools/standalone_report.py": { + "mode": 420, + "sha256": "43a61c4031306732554aca23cd95b57d35f2a870766c33ccf8e005f22436525c" + }, + "tools/streams.py": { + "mode": 420, + "sha256": "57ec4ec5ad222a74f4461d70277d258e51779ae53ff74fd0e07eb51d4bae0afd" + }, + "tools/strfootprint.py": { + "mode": 420, + "sha256": "3b0db212c0b091ae2f63b866ee331435d013c535f233ec34ae3dfb63ded852dc" + }, + "tools/tcb_from_json.py": { + "mode": 420, + "sha256": "8fe09cff16802fda34db24f6f888610baa258399ab39173586b91a7a162f231a" + }, + "tools/techid_table.py": { + "mode": 420, + "sha256": "2c644bdbd3774b70dfdae7e77ff7a3a8e8563b58be7098a2d55ee30dc8b8fd07" + }, + "tools/turncommands_capture.py": { + "mode": 420, + "sha256": "0214d5da6f5f86e188bb2f03db8d3439267baee3a883c7df754601c7c1a38536" + }, + "tools/vmshot.py": { + "mode": 493, + "sha256": "09228bf8bd61918c49afc2b6da931fc8a7833be126be5384b85194e0e86eea44" + }, + "tools/vmwatch-install.sh": { + "mode": 493, + "sha256": "3c004f532422bd589a7294dabdf54d5a726f598c69012eaea3d73a748ad0123a" + }, + "tools/vmwatch.py": { + "mode": 493, + "sha256": "650d8232e46239a55b96f26d581d7d9c5815415c9014fd2e5b846b68c1346b39" + }, + "tools/vtable_map.py": { + "mode": 420, + "sha256": "2e19223efb79421ab4b807e32f0854b2592d7d3a3a52c12e84e47460b960f740" + }, + "tools/windows-housekeeping/Invoke-Housekeeping.ps1": { + "mode": 420, + "sha256": "a97911a3cfbd47813282efa7f52b4de03d28912487fffe0e7e7aa1a250cac01a" + }, + "tools/x86disp.py": { + "mode": 420, + "sha256": "a05a42d63813d2025a4da65bdd684e82a89c95c52901a8f490391e31c49a122e" + }, + "verify/campaign/test_controls.py": { + "mode": 420, + "sha256": "108460f4e90c4cb7036642e85de581e31fd70c478533c32364691260461814fc" + }, + "verify/config/test_agent_config.py": { + "mode": 420, + "sha256": "e60ee546672da91de08ca8fdd5d563b5f1207d0a865adf935017e06bf437585b" + }, + "verify/config/test_source_check.py": { + "mode": 420, + "sha256": "c16731e31a54256dde4f88d33007759ff21ad8537ca6cd2be38b9e34c59525ad" + }, + "verify/design-rules/SHIP_DESIGN_RULES.md": { + "mode": 420, + "sha256": "4decf51bfa03e8ab2b58478198332e834233100126949b920349f210b54521c8" + }, + "verify/design-rules/data/HiverInvasion_FleetTemplates.csv": { + "mode": 420, + "sha256": "327e799be3c75361267725c157f78b425d3a1df6ed6595104b2ce9993e8ae3a7" + }, + "verify/design-rules/data/UpstartApes_GiftFleetTemplates.csv": { + "mode": 420, + "sha256": "89939d70eb6ed48ec776a4a6fc50ccb68fc6be7162706bab199484bf7cdd5e44" + }, + "verify/design-rules/data/_defaultweapons.txt": { + "mode": 420, + "sha256": "ef9e33aa32840f1878ece67f88556d81a4255f63f6e8aad4ac73e575ef2c7ec8" + }, + "verify/design-rules/data/_turrets.txt": { + "mode": 420, + "sha256": "35de6ad40895f76298eef7dc354c739a5a59747b689c2324cfa5040442eddc18" + }, + "verify/design-rules/design_rules.py": { + "mode": 420, + "sha256": "772f70c7d6be2d20d10cf4f5d412233b267440d63d431bf7b320c29f3f06e313" + }, + "verify/design-rules/stock_designs.json": { + "mode": 420, + "sha256": "b363023e02899bc03e4c8b8423b394ef8abb190b1bcf437aade19be463353f68" + }, + "verify/design-rules/stock_designs.py": { + "mode": 420, + "sha256": "fe020f6058ec25b6fc456146abb6594825ee2b98ba5c5c5eeaff969ce4596031" + }, + "verify/design-rules/test_design_rules.py": { + "mode": 420, + "sha256": "6f6764d21d7a3337ec8aba9651b19947239a7d06a6cdf7c6e9be5ddefcfdd186" + }, + "verify/fpu-cw/cw_census.py": { + "mode": 420, + "sha256": "07b7ac5ae60df487867b592e82e9f74201b695437fba248813bc07305a21c7cc" + }, + "verify/fpu-cw/trace_bitdiff.py": { + "mode": 420, + "sha256": "b25c93d70e67ed2fa81e5ea7184f8ffe0cbd2e7c043bc94f923c3db1cf101b59" + }, + "verify/harness/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/harness/cb/README.md": { + "mode": 420, + "sha256": "7a656251a600a9343ffa8afaa4f227e7cb8086be7d3c6879c0a403ab8acec71d" + }, + "verify/harness/cb/cbdo.sh": { + "mode": 493, + "sha256": "6f3d7fd35aeedb0841be9df0ba19136be2e7ccb5c44950d8aa821c61727232a6" + }, + "verify/harness/cb/cbfull.sh": { + "mode": 493, + "sha256": "609101217e9d35bf1caa5cb66f362e0796fcf6c1264bd92ff550d0ed12ca2521" + }, + "verify/harness/cb/cbload.sh": { + "mode": 493, + "sha256": "2e56bb64609434f6dfc6ebcf71a3c839ae59170db80c996ebee7c2219cb664ec" + }, + "verify/harness/cb/cbmenu.py": { + "mode": 420, + "sha256": "fb2e72a1a5390aa28dcae0fbc2d7b920b06bf3b1ea161bb757d4db3c8cd23af2" + }, + "verify/harness/cb/cbstep.sh": { + "mode": 493, + "sha256": "5896b21e8cf08b40e2a2958e44a51beb7e5b5a58cf35d405879a5df7cdd375b4" + }, + "verify/harness/compare/TRACE_FORMAT.md": { + "mode": 420, + "sha256": "cf6f61dc255e3aed0f293c141d9fd3b0d5e848e3abe4dcf50b4ca2d58e37c024" + }, + "verify/harness/compare/mkfixture.py": { + "mode": 420, + "sha256": "f081dd92b9e82e838f59ce8f9c79d5cdebb825255f13b6c49178516e7f3ef118" + }, + "verify/harness/compare/oracle_parsers.py": { + "mode": 420, + "sha256": "b1a745bfa63b447c87279afdb2885a0218f2a0dc2539f79414f8a2534e24c97b" + }, + "verify/harness/compare/test_tracecmp.py": { + "mode": 420, + "sha256": "f25eb9d5ea7215b8366c44924fb49a5f028a0188e709dadfd90cfbc30db0823e" + }, + "verify/harness/compare/tracecmp.py": { + "mode": 420, + "sha256": "d6ca461cabf15351e2040150144084b93d3caf22d879ee158ede04052ab03cbb" + }, + "verify/harness/l2-ui/README.md": { + "mode": 420, + "sha256": "48effd757522ee5ff70af6d77449dcfd805bb7744c9093d01c039b86e030d7f6" + }, + "verify/harness/l2-ui/launch-b.cmd": { + "mode": 420, + "sha256": "8f26c451a88765c49ecb3c8160ed4a3d06f1100a6d9323b305efc01f039dfada" + }, + "verify/harness/l2-ui/socks.ps1": { + "mode": 420, + "sha256": "401cce47d495507f60eeae45942c146586464959046ef9715cd69605753af027" + }, + "verify/harness/l2-ui/ui.ps1": { + "mode": 420, + "sha256": "355c8f222bf99f547d9d16a1665a072e6914917d48e4db22b8438d2d83708e97" + }, + "verify/harness/profiling/battle-run.sh": { + "mode": 493, + "sha256": "79f14ded5c3731efd655a6f9a4ac6795f3ace0a9b064c43ba4bf9a2cb988a7cf" + }, + "verify/harness/profiling/funcs.py": { + "mode": 420, + "sha256": "841a6f5e5dc1d845b7439c9ce9dc08e045864929b0f367908abea7ab54259207" + }, + "verify/harness/profiling/funcs.txt": { + "mode": 420, + "sha256": "d35b17dbb3970f5c24ae862748c5b91aee87491968719c34e48a8b88c0615835" + }, + "verify/harness/profiling/iat.py": { + "mode": 420, + "sha256": "82465ef8284739ab3d3c99acd0fa6cc5a4bb80c8680eb7a949218305fd10d3d3" + }, + "verify/harness/profiling/inspect.ps1": { + "mode": 420, + "sha256": "35bc7dd85108e3f4686975ef7f510b1cc9306b5839329f7fdd2a5ac27a140611" + }, + "verify/harness/profiling/names.txt": { + "mode": 420, + "sha256": "89d90f934e445447c68569448471a8917ee0bbfcb5fb96bba3e6566be9b0779c" + }, + "verify/harness/profiling/parse.py": { + "mode": 420, + "sha256": "680df36804e923d74da8e9fd8877b5ea66975c9ce8d239ad4507c829f881722a" + }, + "verify/harness/profiling/sampler.ps1": { + "mode": 420, + "sha256": "ef0edde8535ef07e508a732f8e11dc3d50fef966e5a9e4d8161085a83372993e" + }, + "verify/harness/profiling/shots.sh": { + "mode": 420, + "sha256": "87e554abf08068d6438417e266f1e7820e34a900a7d559fa0a7c4a2fa18002b3" + }, + "verify/harness/profiling/timerres.ps1": { + "mode": 420, + "sha256": "80362eb9ec8bd882abddf2507236e70db2dd21f64c9db07d217bdd49361ed89c" + }, + "verify/harness/profiling/turnloop.sh": { + "mode": 493, + "sha256": "8e28f076599a9eb53eace77ad77a10b0770f1ce617c7a76e6a2b9044ee0c8774" + }, + "verify/harness/profiling/turnwin.py": { + "mode": 420, + "sha256": "e2033a8e519a7c9f65f67b5592494a9843eb8bef41af6ab5652343aa86bd4c60" + }, + "verify/harness/profiling/ui.sh": { + "mode": 493, + "sha256": "e66774a4d070285e6c6a62472000222a691c7192096039e75fa726bab9f6afb7" + }, + "verify/harness/run-recipe/click_helper.ps1": { + "mode": 420, + "sha256": "150a1c17e12e8479244107cd01d95233c84d550e95a6f5e352fd529818a21d7d" + }, + "verify/harness/run-recipe/display.cfg": { + "mode": 420, + "sha256": "76b4876abd1cd163a5cc6b65a6106670476cde40c9b868a53a0dc45f517e132f" + }, + "verify/harness/run-recipe/dxvk_d3d9.log": { + "mode": 420, + "sha256": "f48ff2684a78cea563ab7f10e2f005638044352fe9cfc30dedf0f26ec7fecf23" + }, + "verify/harness/run-recipe/launch.cmd": { + "mode": 420, + "sha256": "90a6effe8ae835bf641cc775a17ad709198fdfeded4379f658255a82f594e5c2" + }, + "verify/harness/run-recipe/lvp_icd.x86.json": { + "mode": 420, + "sha256": "b89a08526e043a84c3a2550b5ea2fd7692f547ea295e8dd70e79c64fe81f6fbf" + }, + "verify/harness/run-recipe/run.txt": { + "mode": 420, + "sha256": "12c83295dae9db4a98142ef8fe7e45321c90960428df504ed3496e27838a0413" + }, + "verify/harness/run-recipe/session.log": { + "mode": 420, + "sha256": "e9ce9b496e9ee55bd64cc27afe594cee6136dfbc6cf9d9d44e9914b27e568a93" + }, + "verify/parsers/PARITY_NOTES.md": { + "mode": 420, + "sha256": "beecfe60358f5977529bd0784ffe18ca03c38d2dd36766f351c6a9addac83bda" + }, + "verify/parsers/effect_txt.py": { + "mode": 420, + "sha256": "7219045dfaf305dd64218ff8096e8cac69a53df1aabdf85f15e6c5e01c963e74" + }, + "verify/parsers/flat_kv.py": { + "mode": 420, + "sha256": "a26149cb21d152be5cbada3b764e042187daf2ec306b2dba1081737af6a7ae4f" + }, + "verify/parsers/manifest.py": { + "mode": 420, + "sha256": "62a08cfd82d5f701ae3b3f567bc8382cfd1b33b49bf6049ade47a932ef7109da" + }, + "verify/parsers/mars_data.py": { + "mode": 420, + "sha256": "90c7b8421044b1d7e262e6f20e5af391d97a712b12c2d3f0c3033567881d536f" + }, + "verify/parsers/verify.py": { + "mode": 420, + "sha256": "cc5d619bd6b3ca161b4bc8050c30e7d77f6bd3e964c971cc29e051efc1e25a33" + }, + "verify/publishing/test_dashboard.py": { + "mode": 420, + "sha256": "cc44e516da663f5d27bf817cbcbf24c052f2db52ee887d08d7c271caf8f6a000" + }, + "verify/results/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/results/compare/.keep.md": { + "mode": 420, + "sha256": "4581f3fde61549f4c621b2f114228a62d066a528a270a9b41703238ff841ac1d" + }, + "verify/results/compare/b2-techfx-compare.json": { + "mode": 420, + "sha256": "b0533322d44b1694f36baf86d6660481ac5b22ce9c1d6b6b9668ea064cc08f4b" + }, + "verify/results/compare/b2-techfx-golden.json": { + "mode": 420, + "sha256": "4298a8229b85a3329c78d3618d3eb19aff096cb2da66e9238fd843d639b17f11" + }, + "verify/results/compare/cr-compare.json": { + "mode": 420, + "sha256": "f20e9a7c71412688c02b607f08a5224367598eba552e35a50e9922ca8f12edab" + }, + "verify/results/compare/cr-compare.md": { + "mode": 420, + "sha256": "0eb905744120b1cf264ba6e57497db64fdc8e225a87ef7bb86cf3f026ffe4d0d" + }, + "verify/results/compare/cr-replace0.json": { + "mode": 420, + "sha256": "f1556c5d74c236c82617061b5ec60b1a7ce4652bce87b6595eb89406ad832240" + }, + "verify/results/compare/cr-replace0.md": { + "mode": 420, + "sha256": "6f571e46350a29b811bc12b48e12ed2d443acba5f5be6310e0531c3790425d48" + }, + "verify/results/compare/cr-replace1.json": { + "mode": 420, + "sha256": "d0c1d6bd4a1f8f5343b584662d8202184479b01a51480443a97242daf27fccc2" + }, + "verify/results/compare/cr-replace1.md": { + "mode": 420, + "sha256": "111b51290468d5482a1910194487d26dc1b3ec534d699aa07a564de66bbf9d98" + }, + "verify/results/compare/eventlive-b3-t1-5.json": { + "mode": 420, + "sha256": "4f305180bcbe93523f407d1f8406ac52b84d4a20e2d611940716618fd37edfde" + }, + "verify/results/compare/eventlive-b3-t1-5.md": { + "mode": 420, + "sha256": "ec71d98210218fd5b5da69f6b17cf6991128a58a0358a6504e6497dd39159764" + }, + "verify/results/compare/eventlive-b3-t1.json": { + "mode": 420, + "sha256": "84f66c1e6a23f737d1615e75fd22fba958bfd851067acb42503e32a2812dd1de" + }, + "verify/results/compare/eventlive-b3-t1.md": { + "mode": 420, + "sha256": "299b8dd3f2cf42cbc9e6254fac01ee3dcb6abb0758c8f298beb6cc6464db4cfb" + }, + "verify/results/compare/eventlive-b3-zuul.json": { + "mode": 420, + "sha256": "a1a92c06202c8168362c33442edeb7ea7f76f6e586e5deea1b86dff9dc8f3494" + }, + "verify/results/compare/eventlive-b3-zuul.md": { + "mode": 420, + "sha256": "544791f9cd8b77a2d865f2a918d97e74559529f29943171bd1e8e2d8a120dec5" + }, + "verify/results/compare/l5-budget-boundary.md": { + "mode": 420, + "sha256": "6877f9cfc602876b4c213106493853822471a5aaa3e4e8ebf8dffd31373d89d9" + }, + "verify/results/compare/mf-after.json": { + "mode": 420, + "sha256": "586a824a0d0af1de0808c33c1c392c4022128f9c1305dc32b6749e8fa493e8f4" + }, + "verify/results/compare/mf-after.md": { + "mode": 420, + "sha256": "659be3da71cabfd3c34eb818f1bac07f848c58a878fd62d81ac7b1daa5f3ce03" + }, + "verify/results/compare/mf-before.json": { + "mode": 420, + "sha256": "259272b45ca9c63894d8c91e399ff91d7258b7836f1a0d5c91dd3972586b2498" + }, + "verify/results/compare/mf-before.md": { + "mode": 420, + "sha256": "4572530a1c93865d27aba47c23c418773ad39a834c8be1c004f5cc2f16f927a0" + }, + "verify/results/compare/output-ref-turn2.md": { + "mode": 420, + "sha256": "43a569165f9239f13edc31c7a848a6b839829ae06dd6e3b85d289a1552eb8d34" + }, + "verify/results/compare/output-zuul-and-ref.md": { + "mode": 420, + "sha256": "9bc0937c0b3e1e3e5a6cd3768dbfeae56a897615396b00834bd083611f3ef431" + }, + "verify/results/compare/recap-b1-compare.json": { + "mode": 420, + "sha256": "8e86cdd32373e41ac1cdc130b18acc188b35d5ab7112e1fc655d134c44ad9712" + }, + "verify/results/compare/recap-b1-compare.md": { + "mode": 420, + "sha256": "496a3246eda3be76d9d0f08726369d40aa879cf60a510f16209ae77585582841" + }, + "verify/results/compare/recap-b3-compare-t1-5.json": { + "mode": 420, + "sha256": "80eeeeccf15f427b75b053d06f6b32b1692a2ed9ca6b9a51c244e4166a1b0e78" + }, + "verify/results/compare/recap-b3-compare-t1-5.md": { + "mode": 420, + "sha256": "5b6295bff72d599f142e75fa913ca2da590322a6fd1d104328847159fc5e7802" + }, + "verify/results/compare/recap-b3-compare-t1.json": { + "mode": 420, + "sha256": "10d0d5f8aff90f6cce3cd87e30c7f8ff896c5b369f4dc8288141451e25727cb9" + }, + "verify/results/compare/recap-b3-compare-t1.md": { + "mode": 420, + "sha256": "2b0eb8865bb07a2dd8fd038bc19e38a34fbf19b9d3f6fabae085c16a74fbcc6f" + }, + "verify/results/compare/recap-golden-trace.json": { + "mode": 420, + "sha256": "50bb7e34ab2359adc83cc0647fc995d207173fcf6134e413565af450958f652f" + }, + "verify/results/compare/recap-golden-trace.md": { + "mode": 420, + "sha256": "586fc86fe78659902a5d0859c0bce44623bfcda0f375bb57b293796862c48e17" + }, + "verify/results/compare/recap-misc-compare.json": { + "mode": 420, + "sha256": "c73f3f3593a0d715a675b29c7b4f49c02a97578ee9d867ce15d217c43da2e466" + }, + "verify/results/compare/recap-misc-compare.md": { + "mode": 420, + "sha256": "b435c92441742b2b1b0236bfacff10c17757696baf446c544c4759b7e31237ed" + }, + "verify/results/compare/unlock-b3-t1-5.json": { + "mode": 420, + "sha256": "a4dbfc89f6f3d154edbbc62842a4e8d8a3c69b9589eafc1bb496b26a3ecf6e3d" + }, + "verify/results/compare/unlock-b3-t1-5.md": { + "mode": 420, + "sha256": "832626087ddc2da9064a192a1acfb3869d4a52c6398a070cbd66eaa1bdbe2e2e" + }, + "verify/results/compare/unlock-b3-t1.json": { + "mode": 420, + "sha256": "6d8938b8eaeb2da1c7fdccb1fb68f8e3a2b5b7f492cc096326cf3aadb2ab8d55" + }, + "verify/results/compare/unlock-b3-t1.md": { + "mode": 420, + "sha256": "8911e671a143c25765cd7c0b67f1b9cb23f4040fe26aad40ce59b1db858afdcd" + }, + "verify/results/compare/unlock-b3-zuul.json": { + "mode": 420, + "sha256": "3099d248d58c4395e92d65ad18c28227695a7c7935193be6c2bcf752fa0e0f04" + }, + "verify/results/compare/unlock-b3-zuul.md": { + "mode": 420, + "sha256": "f53b165c8502ba9b2416935179fdea68153fb6ebd2458b4ec9b4ecf6c741c91f" + }, + "verify/results/data-catalogs/crosslink.json": { + "mode": 420, + "sha256": "2966ba9780910b596e350c4f81eef5d74c4d235dc3a8d5cf6ad5fd53a407254a" + }, + "verify/results/data-catalogs/schema_stats.json": { + "mode": 420, + "sha256": "6e3f669ae77cdfa2c5cd6bbd29f5cecccd452d9a7b2397c2c23db6c33fda0a2a" + }, + "verify/results/data-catalogs/shipsections.json": { + "mode": 420, + "sha256": "2e7057c608d0cea755bf9dbfa291864d33e3f09ad5deff7bb3a8045bde7a4ab5" + }, + "verify/results/data-catalogs/strings.json": { + "mode": 420, + "sha256": "c36c1b2b9a2eace438f93698df6388fa94aec30d372bcd0bee7e09bb33c54d7c" + }, + "verify/results/data-catalogs/tech_tree.dot": { + "mode": 420, + "sha256": "96ce0492a1284167d82af2c07a8f8a0b3bb9864bc137195560d909df6a913055" + }, + "verify/results/data-catalogs/tech_tree.json": { + "mode": 420, + "sha256": "18df799410c5f650e15808c1ef247b4768a3dfff93795a5ec7f56cd6c4afc597" + }, + "verify/results/data-catalogs/weapons.json": { + "mode": 420, + "sha256": "a446b445c21519fc7992c84155c9652239567030843c405b4219d1f65022db01" + }, + "verify/results/fpu-cw/README.md": { + "mode": 420, + "sha256": "3928fd0f6a03a8ff0b170a7ed23a059120b5014b13bf6870d4f187ff299d5975" + }, + "verify/results/fpu-cw/cw-census.txt": { + "mode": 420, + "sha256": "b7854dc5cd249a2490d04264d758f1894a9ddf4b95573650365d47587c7589d3" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f-rep/shim.log": { + "mode": 420, + "sha256": "73b5b86da743a1cb37d4c0d97b29978923b55a7a47f80c7fa20ca47d424f6c02" + }, + "verify/results/fpu-cw/run-007f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f/shim.cfg": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "verify/results/fpu-cw/run-007f/shim.log": { + "mode": 420, + "sha256": "5721f47d7fd862156ce2cd1832cd1739636b5aee53c82323ef233ff6401775bb" + }, + "verify/results/fpu-cw/run-007f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "149c4fcf750fcf9e81dc86d8696271d9a14ca788891ac95cf96995e3737c68e4" + }, + "verify/results/fpu-cw/run-027f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-027f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-027f/shim.cfg": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "verify/results/fpu-cw/run-027f/shim.log": { + "mode": 420, + "sha256": "4bd3f88bd27eb2e3ae1f42f4dc2ccf1cc5df1a2c1171d2eff8be86e7be684187" + }, + "verify/results/fpu-cw/run-027f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b5d2611d0c08946c1e1eaa244a7e44782eac2592c392efb3d7147fbbd86816e7" + }, + "verify/results/fpu-cw/run-127f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-127f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-127f/shim.cfg": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "verify/results/fpu-cw/run-127f/shim.log": { + "mode": 420, + "sha256": "03f1999dc8964912697782e856f89f190b6680d5732f2cd00b1569bff727a545" + }, + "verify/results/fpu-cw/run-127f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "fb1b9063cc53a6b39ea0a58e0545b9334fbd15d65dd839e72f2c4febbb1dd3f0" + }, + "verify/results/fpu-cw/run-137f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-137f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-137f/shim.cfg": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "verify/results/fpu-cw/run-137f/shim.log": { + "mode": 420, + "sha256": "83aa72572412d5248179397895029367685fd590d795991ab91c98cf9828ae29" + }, + "verify/results/fpu-cw/run-137f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "aad1fb6abd86beafb9f44e2c6060157e22618811d105f2379252e19008839b66" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f-rep/shim.log": { + "mode": 420, + "sha256": "38f2824fbe91bf2fa1ef55473a7468707248420805b6f6dc85245fd34fa94200" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f/shim.cfg": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "verify/results/fpu-cw/run-1a7f/shim.log": { + "mode": 420, + "sha256": "a1bb0bd06dae6955ec09e7d0c6cd1e68e19aa2a114256cdeae1275def0a63091" + }, + "verify/results/fpu-cw/run-1a7f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b9a7affb8235626fcfdd5afe143e4ec03be869b6b386bd9ac78389097df88cef" + }, + "verify/results/fpu-cw/run-off/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-off/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-off/shim.cfg": { + "mode": 420, + "sha256": "6a19c362121a3dba0aac857d6e998131e8b2478f19edcdcbd58006645d096c70" + }, + "verify/results/fpu-cw/run-off/shim.log": { + "mode": 420, + "sha256": "9e3cbd005f0b68037681939b289834c55629bac0e9cd35ac55e6d8ef5333a116" + }, + "verify/results/fpu-cw/run-off/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "ec2271c0d7e09fe51ead7f8d58859c692e8b302233191841d506ea14248caa8c" + }, + "verify/results/fpu-cw/state-checksum-diffs.txt": { + "mode": 420, + "sha256": "3417dfc1b75ad896ac6a5e974d51248eecca319565e2422e146897d19e121b68" + }, + "verify/results/fpu-cw/trace-bitdiff.txt": { + "mode": 420, + "sha256": "8f86707f26f30638097c85f0db6df219adbfebac4e9ec24f1feb8bfce112d4f2" + }, + "verify/results/housekeeping/vm140-result.json": { + "mode": 420, + "sha256": "2250b02342f5c02ba5464cb4656543c6366dec098fbc948006600896ac9254c0" + }, + "verify/results/housekeeping/vm141-result.json": { + "mode": 420, + "sha256": "03d92ffd2947b2f0c058e5c613e04567cffee45be456aece6d771b789f32fb93" + }, + "verify/results/housekeeping/vm144-result.json": { + "mode": 420, + "sha256": "ace15320f7e60995a68f2c9c03a5a44159ae2d64fa273d34d38e285d313a0393" + }, + "verify/results/housekeeping/vm145-result.json": { + "mode": 420, + "sha256": "768666178bf2910a2ff026351727b5cc96e48df70e1ba012031d34eafc95ad7a" + }, + "verify/results/housekeeping/vm146-result.json": { + "mode": 420, + "sha256": "eebb306a3ec8533abae6dfd59f127c48effe9f21107e0c5c09c751108e77bb97" + }, + "verify/results/multiplayer/l2-combat-hud-client.png": { + "mode": 420, + "sha256": "02c86592531ab2889a0eae04e44a644d33c754096fe60aca6640068a7a3f421f" + }, + "verify/results/multiplayer/l2-combat-hud-host.png": { + "mode": 420, + "sha256": "a56daf36fcc88627b29116ad9874c95a3c46960074ff9b823aa15c4ea2660dd7" + }, + "verify/results/multiplayer/l2-combat-loading.png": { + "mode": 420, + "sha256": "f94a718cee08e1b7d346490058f13a107d23aaa7c269fdd53b159a75d62fa558" + }, + "verify/results/multiplayer/l2-combat-round-draw.png": { + "mode": 420, + "sha256": "c1b8424540b702915302f9ff38eaf765e8e95fddc3c5c4d894438dcfcf8b6256" + }, + "verify/results/multiplayer/l2-combat.pcap": { + "mode": 420, + "sha256": "0f112ef96da6c465dbda51baf99eedd66967eed61c097f643bf6c66fc26af31b" + }, + "verify/results/multiplayer/l2-encounter-query-client.png": { + "mode": 420, + "sha256": "4c41b268ad256b0109483a2d9b5ba35de7b9cadb4eb32ef4a68f7867e6e747fd" + }, + "verify/results/multiplayer/l2-encounter-query-host.png": { + "mode": 420, + "sha256": "8c7b0c6d65ddde45eb3447f044589ffc36500b40c4d676af8321f800162f38a0" + }, + "verify/results/multiplayer/l2-fleet-built.png": { + "mode": 420, + "sha256": "6ac91fcf9b42caef50134de01804046d8e60d0fd3966592e9738ceff511949c2" + }, + "verify/results/multiplayer/l2-lobby-client-joined.png": { + "mode": 420, + "sha256": "4a8e698c9ea935449ff0421cd59acd517ebffa388a7572279b28be0369141ff6" + }, + "verify/results/multiplayer/l2-lobby-host-created.png": { + "mode": 420, + "sha256": "e6a7377cabafa973396cedafa5ad5b4863a42f9866709db88faf9572e0ed3c98" + }, + "verify/results/multiplayer/l2-move-warning-dialog.png": { + "mode": 420, + "sha256": "43c6219d74bc0cb28495f13784cdbd3a90c89746b108824c3a2138dbdadcb53e" + }, + "verify/results/multiplayer/l2-socks.log": { + "mode": 420, + "sha256": "109b630d6548d07404f9f905e6c527f10e25221698f1b66226f67f94c5f294b5" + }, + "verify/results/multiplayer/l2-turn13-client.png": { + "mode": 420, + "sha256": "d19f17c4219f21f6c9950440d528a1a91fe3907761df21fd0ba99321b8820baa" + }, + "verify/results/multiplayer/l2-turn13-host.png": { + "mode": 420, + "sha256": "811efcfb571d60435f772a3b619bb329717d1e162b88e440ec0d636b1c6042fc" + }, + "verify/results/multiplayer/w2-internet-browser-no-error.png": { + "mode": 420, + "sha256": "6409b977056c95b29928a0098f75fffd71c501128f9d9325c3000837131c8791" + }, + "verify/results/multiplayer/w2-join-manually-dialog.png": { + "mode": 420, + "sha256": "86904e94a5aec41c1e89271d2712558c3b5055bd2ae4fededfda103d1e22fb71" + }, + "verify/results/multiplayer/w2-lan-browse-listing.png": { + "mode": 420, + "sha256": "6f5d16fa719fb63dd627fba551221c7665b69002e83fe35b8d84912cd7d8ce83" + }, + "verify/results/multiplayer/w2-lobby-client.png": { + "mode": 420, + "sha256": "ede652b21e2a4ea07c8132e4080ba903d1052ebca336bb007e1e8efa62787f10" + }, + "verify/results/multiplayer/w2-mp-turn1.png": { + "mode": 420, + "sha256": "59f9a1f5d8c0fff45d3ae3406dfd9878a5915f18e999d909a5238a90a3b86ed6" + }, + "verify/results/multiplayer/w2-mp-turn2-client.png": { + "mode": 420, + "sha256": "d9da4c151cd8290f80b31eb5ed8a74a0a30a87d1f7a80a179fa082a9439e08e5" + }, + "verify/results/multiplayer/w2-mp-turn2-host.png": { + "mode": 420, + "sha256": "910efd36b4a7c1a85d8ad487660f856339af037b9b00fef0cafd5e77ebdc36e5" + }, + "verify/results/multiplayer/w2-tier0-filtered.pcap": { + "mode": 420, + "sha256": "e108778fd1afb7718c53a4164310b8523415ef073706d310583dab424e5921cc" + }, + "verify/results/saves/ac-turn20-raider.sav": { + "mode": 420, + "sha256": "ee787db8f63d8f564c597bd5a82709790a0fdf47827912037f96b736f2cbed34" + }, + "verify/results/saves/ac-turn22-raider.sav": { + "mode": 420, + "sha256": "0faeaa601e6a867876819e5646b85f8787851093b8e6bd6e3946eb867f2dcc74" + }, + "verify/results/saves/ad-oracle-A-post.sav": { + "mode": 420, + "sha256": "a634510e7208cceb10d8ce016ceb0153601f11d7291f08122bcdb6418e313331" + }, + "verify/results/saves/ad-oracle-B-post.sav": { + "mode": 420, + "sha256": "676b1778880b5d4784ba7f6ef48b1a8e56745adab70a815943b7744876686260" + }, + "verify/results/saves/ad-turn27-two-raiders.sav": { + "mode": 420, + "sha256": "1c8baa27680809d585ab1728391e82729642d32aaedffd5bf95b616f0a11a436" + }, + "verify/results/saves/ap-deploy-turn15.sav": { + "mode": 420, + "sha256": "844f2b746060dc2c4e2099cdc6ceffd5f55ef858c9e347df28c8aca3041f7165" + }, + "verify/results/saves/ap-oa-turn16.sav": { + "mode": 420, + "sha256": "e296394f578b3a5668e5934b9eec8d6c4638ca7411200078f97de1abd346f4c5" + }, + "verify/results/saves/ap-ob-turn16.sav": { + "mode": 420, + "sha256": "262f8bda97c9511d8d2b41e6a8a0582d6f5364c2b01b1caf99e639d0e4f53ebe" + }, + "verify/results/saves/ap-turn22-spydetected.sav": { + "mode": 420, + "sha256": "91381bd7e722ac3847795a402d78ebb31d74dbb5d2909f33d243aec3ef8abaf8" + }, + "verify/results/saves/ap-turn25-spydestroyed.sav": { + "mode": 420, + "sha256": "46380fcf4498d67507e4471eb9ee3762647c53ee5473be142fe5c34e37344bc3" + }, + "verify/results/saves/ar-oracle-A-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-oracle-A-pre.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/ar-oracle-B-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-r1-turn43-post.sav": { + "mode": 420, + "sha256": "37f4a54fd32303fdcc86522b07104fbf2fcb124eec9b1f7005b3446fefcc429f" + }, + "verify/results/saves/ar-r2-probes8-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-turn37-816raiders.sav": { + "mode": 420, + "sha256": "b6f4e05ff226eabd1695003b36293553642553cea96ef417364393e2332a7094" + }, + "verify/results/saves/as-turn14-predeploy.sav": { + "mode": 420, + "sha256": "53986f8511cbf9920f32e2ea406ccf531dd08903fa5d06024fcf03ea7627221d" + }, + "verify/results/saves/as-turn15-spydeployed.sav": { + "mode": 420, + "sha256": "854a10fa1ea602f0f7909f9bf9154942e56ea5fa1db4cce47d6d32bf53952e08" + }, + "verify/results/saves/az-turn11-16destroyers.sav": { + "mode": 420, + "sha256": "501583c7cf2ac81c9db3191203cd3dc5ba5b9e228b9b9ce3dbdcc3650d0070a9" + }, + "verify/results/saves/az-turn23-tarka-comraid.sav": { + "mode": 420, + "sha256": "3d5eb826c149d1fd0278c746f32e6148ca9883a1bc5b522c0d5e6e13fac9788a" + }, + "verify/results/saves/bp-pinA-turn28.sav": { + "mode": 420, + "sha256": "e913ff41188211c02d536da616337544e64133996cd7cc7a6521a8df1960226f" + }, + "verify/results/saves/bp-pinB-turn28.sav": { + "mode": 420, + "sha256": "724528ffde9a7514b69ab9e82ed3b8c8ade63d622c0720de30503a73a92df11e" + }, + "verify/results/saves/bp-turn28-pre.sav": { + "mode": 420, + "sha256": "16f63adbf383946db17c381998957172bca803406b7df78f3b03805fef0bbcb8" + }, + "verify/results/saves/bq/bq-1A-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1A-post.sav": { + "mode": 420, + "sha256": "56980aa086e1a145b00f781b9d9cf618b152986f1c2267b9fd96cca0f1f604b9" + }, + "verify/results/saves/bq/bq-1B-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1B-post.sav": { + "mode": 420, + "sha256": "b36ac0ec2986f3a814dd22ca312c895ba6ec8a0e55fca54d8a7fd08a2f96a2c4" + }, + "verify/results/saves/bq/bq-1bA-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bA-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-1bB-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bB-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-res-post.sav": { + "mode": 420, + "sha256": "28bbd9b5c377afcd8f075b535eb1036ee46acf71ab614e7091ccdbdfb3703db2" + }, + "verify/results/saves/bs/bs-C-endturn.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/bs/bs-C-f38-autosave.sav": { + "mode": 420, + "sha256": "0fe8f37479a702d2e4e7752e6cb160dc242f00a082dc4115b7d10c77b24989f0" + }, + "verify/results/saves/bs/bs-C-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/bs/bs-L-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bs/bs-L-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/cb-c3-turn1to2-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5a-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5b-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-turn2to3-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/cb-turn2to3-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/saves/certified-pairs.md": { + "mode": 420, + "sha256": "4e1cfb79cf5a51446b2eae21f91b565348ffa95a9ebac8f95e23019012aefb57" + }, + "verify/results/saves/cr/cr-oracle-autosave.sav": { + "mode": 420, + "sha256": "79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420" + }, + "verify/results/saves/cr/cr-oracle-endturn.sav": { + "mode": 420, + "sha256": "e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f" + }, + "verify/results/saves/cr/cr-replace0-autosave.sav": { + "mode": 420, + "sha256": "6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5" + }, + "verify/results/saves/cr/cr-replace1-autosave.sav": { + "mode": 420, + "sha256": "8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235" + }, + "verify/results/saves/determinism-hashes.txt": { + "mode": 420, + "sha256": "bfa0615c4b310ae21c09a7d373d5a9d8799f36a0460089e5950fa0edf9d614d2" + }, + "verify/results/saves/human-turn11-spytechs.sav": { + "mode": 420, + "sha256": "aa63dd3d5489884f70d9c35acfb06c23c84531f403798842e7b0cf8cde94d1d4" + }, + "verify/results/saves/human-turn15-spyprogram.sav": { + "mode": 420, + "sha256": "22306d26f8831b90a62c00a2ebad5a97e77017b62ee96a7439d4c2c76c455cca" + }, + "verify/results/saves/human-turn2-orders.sav": { + "mode": 420, + "sha256": "9a94dec562622310893d6f522a0fae06f1033470f4182098e808b175e7df7c8d" + }, + "verify/results/saves/human-turn3-noderoute.sav": { + "mode": 420, + "sha256": "6db0912a050a846c8f3a184811644c76df3fdb65e83dffbf70289e21cc098a90" + }, + "verify/results/saves/human-turn5-traderoutes.sav": { + "mode": 420, + "sha256": "3829e6c6d8f26cd1183a972bd66edadbd71364c11a224b0a6e40461011bcab29" + }, + "verify/results/saves/human-turn8-traderoutes.sav": { + "mode": 420, + "sha256": "afeb3b2d724e07cf59f15eb1bdb9fcf853391fc06fe21beb20c069ff75b2f836" + }, + "verify/results/saves/turn1-state.sav": { + "mode": 420, + "sha256": "a3f9dc4b49fc669c814b09b87a9c6795de21bac80a1c7bfe3901b8e239fa36cc" + }, + "verify/results/saves/turn2-state.sav": { + "mode": 420, + "sha256": "ab4ac2d7e2977260a4de916f65c7ecc6dd5b0094dac4bb51241317232ea17ab4" + }, + "verify/results/saves/turn2-strict-issues.txt": { + "mode": 420, + "sha256": "33a169a2de29ad502e9b7c0159cd543e0b4d71f2d9b3903f5be58c7846db2429" + }, + "verify/results/saves/turn3-state.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/zuul-turn15-orders.sav": { + "mode": 420, + "sha256": "ef86a0d61de3533f023af5dc2b9a5720e4e0c5c97d900d88181603a13db7d045" + }, + "verify/results/saves/zuul-turn16-noderoute.sav": { + "mode": 420, + "sha256": "b6b5d283b62cc46bca914e86c34cf45e8960a653e818e59664087429bbb30103" + }, + "verify/results/saves/zuul-turn17-orders2.sav": { + "mode": 420, + "sha256": "1b863e684edecb4afe738ba30c8132065ebcf2d9977409325e714fe0173056e8" + }, + "verify/results/saves/zuul-turn17-rollpending.sav": { + "mode": 420, + "sha256": "aac5ba5b10ff1af6b0e38c565b2f0a60c16858ee4e89dd2a2f5b037eae95ee7d" + }, + "verify/results/saves/zuul-turn23-fleet23.sav": { + "mode": 420, + "sha256": "fd3748327d87b8c478f50fcd09d097eacff21e57d946ecb43b8119b4d0d78b1b" + }, + "verify/results/saves/zuul-turn5-species5.sav": { + "mode": 420, + "sha256": "48559ab5b719b332e47b4bf43af85a616bff1508125d62edb211b80637234af6" + }, + "verify/results/shim/ac/ac-probe-run-shim.log": { + "mode": 420, + "sha256": "b9b4a5f0e399e16b477cde0bd7e2c4ce378549eb5a467f7b8ae5eb64d75cb106" + }, + "verify/results/shim/ac/ac-probe-run-watch.txt": { + "mode": 420, + "sha256": "543d76d150aeb9318b9ae27acf638b8935eea30b1a2d47fb15354b584a458163" + }, + "verify/results/shim/ad/ad-r1-shim.log": { + "mode": 420, + "sha256": "fec98888b030ed42b84551aac1286c0baeaf15b8a545af068dc6605615e96df0" + }, + "verify/results/shim/aidesign/parse_aidesign.py": { + "mode": 420, + "sha256": "fbd4aeb71db548759bdb1ff65a5fdd0af6c192927e6ebe4b510f1083c3bdba13" + }, + "verify/results/shim/aidesign/sd-br-p1-hashes.txt": { + "mode": 420, + "sha256": "cd276116a51df01129f0e840d4c04f7964be34f75e51c384cd8df65969f458e6" + }, + "verify/results/shim/aidesign/sd-br-p1.txt": { + "mode": 420, + "sha256": "325cb9fcfa505ab2a93bbd00d60a7a4644b6b5970cb16a288cc7a43f2e825dd3" + }, + "verify/results/shim/aidesign/sd-pin-p1-hashes.txt": { + "mode": 420, + "sha256": "f0371c0a439d736ae7e67e71bd87d693481100d08243d16a1ac1f2ad0ab8bdce" + }, + "verify/results/shim/aidesign/sd-pin-p1.txt": { + "mode": 420, + "sha256": "45e693d279899e7a04cf59bda67190058896b56f3b0607d5aee21abb12f03071" + }, + "verify/results/shim/aidesign/sd-pin-p2-hashes.txt": { + "mode": 420, + "sha256": "e7d6dc12a940305087ee03dc7f8826f3c6343d24d8fea0f2aa78665d887138c9" + }, + "verify/results/shim/aidesign/sd-pin-p2.txt": { + "mode": 420, + "sha256": "b0206869206bc3a41bebb5175e31179f1a5d125a44b5ddfc10c67c4a0d13c22c" + }, + "verify/results/shim/aidesign/sd-t15-p1-hashes.txt": { + "mode": 420, + "sha256": "1ee71a623eb17e08c623ec8de3775218dc3a7c2de50d36a25dd2395382195962" + }, + "verify/results/shim/aidesign/sd-t15-p1.txt": { + "mode": 420, + "sha256": "df9f4906ee8bbb2efc9ba9a38c41607b89711d0bc9f705473d8448e9715d9280" + }, + "verify/results/shim/aiorders/cb-c1-turn2to3.txt": { + "mode": 420, + "sha256": "9d5014b346cb0fa9e2172f45db77c4437a03b069930eaaa80ea94e742891eb8f" + }, + "verify/results/shim/aiorders/cb-c3-turn1to2-run1.txt": { + "mode": 420, + "sha256": "fdaf27a32b93fdb3024f7a45f0d90b2cf833d3f592960027c3a6cf4ecbb8c616" + }, + "verify/results/shim/aiorders/cb-c5a-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "d4daa0c2599c1b573ed59617243a392861dbc4e1fbeb707c7248708c015d998f" + }, + "verify/results/shim/aiorders/cb-c5b-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "9682186176024242fddb901b10d9a5ad6beba91bd895c2001ca954fc293eab73" + }, + "verify/results/shim/aiorders/l4-research-run1.txt": { + "mode": 420, + "sha256": "5caf1fa25b7b8c2d6af213e59c6ec821be3c46cdd92a1024a6faf5d0a3b1d71c" + }, + "verify/results/shim/aiorders/l4-research-run2.txt": { + "mode": 420, + "sha256": "846ef2cfbc365e7ee2f481048978baf820d57026737261bfba3a328d59cdaad8" + }, + "verify/results/shim/aiorders/l4-turn1to2-aiorders.txt": { + "mode": 420, + "sha256": "c55d9b3c48cb552c02731003c26bb6dfcb8afb611c2a188d21fd4a39f550d269" + }, + "verify/results/shim/aiorders/l4-turn1to2-hooksoff-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/shim/aiorders/l4-turn1to2-instrumented-autosave.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/aiorders/l4-turn2to3-aiorders.txt": { + "mode": 420, + "sha256": "696c34996e4b5be0383794fae7ea114779f7fdd0a8cdceff5a00aeb07392933a" + }, + "verify/results/shim/airng/par-br-p1-hashes.txt": { + "mode": 420, + "sha256": "656b1d0c073d9988287e5b76543e42eb1c050d9ebc9872e2b7ec5208b7534b42" + }, + "verify/results/shim/airng/par-br-p1.txt": { + "mode": 420, + "sha256": "eadf1cfb7efd7b374472867ddf1cea5f60e30096090c950049f0c264b0299398" + }, + "verify/results/shim/airng/par-br-p2-hashes.txt": { + "mode": 420, + "sha256": "d97916075c7b4c10464962e9e38aed69288a4d68a16a369c1133df16fa134146" + }, + "verify/results/shim/airng/par-br-p2.txt": { + "mode": 420, + "sha256": "bda355cbbf07301cd6d3716eba32312261c402848c91780a97a6d5cce14c3d92" + }, + "verify/results/shim/airng/par-pin-a1-hashes.txt": { + "mode": 420, + "sha256": "5eb1b557826d45fe9d843b37a92aaef54cd1b8a60900f9c34b4fe25e4bd46a24" + }, + "verify/results/shim/airng/par-pin-a1.txt": { + "mode": 420, + "sha256": "17750bab77512434dcc9e66fc86cbfc34df497cadab5b732cf3b0ef3958e09a4" + }, + "verify/results/shim/airng/par-t1-br-p1-hashes.txt": { + "mode": 420, + "sha256": "7577c33ec33d9e94fb77225929c1f34a3dd94c18fe72a394017811b3b5d53467" + }, + "verify/results/shim/airng/par-t1-br-p1.txt": { + "mode": 420, + "sha256": "8bc9969e2da730d26cc5538b758858a00a4ba6ab2d398458ff4dece1edf8bf92" + }, + "verify/results/shim/airng/par-t1-br-p2-hashes.txt": { + "mode": 420, + "sha256": "7e60fc8615163e8ebccf22fc8910f2e7c4f72a9be7a74bc832bc2a0f64ade0da" + }, + "verify/results/shim/airng/par-t1-br-p2.txt": { + "mode": 420, + "sha256": "7e50a728eb5909bd602a9e6996b908b1b2665c8c983cc0258dad000c8bff8e35" + }, + "verify/results/shim/airng/par-t1-br-p3-hashes.txt": { + "mode": 420, + "sha256": "00ce6b3b4c9dbfd192d09b3b06d91b95576cee8a5a85fccdc36a85547fbdcbc4" + }, + "verify/results/shim/airng/par-t1-br-p3.txt": { + "mode": 420, + "sha256": "28cdf1f6b83c1764f1d1e51a67e3f873566b8503f8504ef52f5b5af24b21c0cb" + }, + "verify/results/shim/airng/parse_airng.py": { + "mode": 493, + "sha256": "3fafa7cf2363620d6a25248d085fbc4e3bd1fdbb9388a6795244834a9a2a2ed0" + }, + "verify/results/shim/ap/ap-probes8-d.shim.log": { + "mode": 420, + "sha256": "115545172568edc6a1d5bb3b559f968aa8a7aaa1f6aeba970daebce98fe56a0c" + }, + "verify/results/shim/ap/ap-probes8-w.shim.log": { + "mode": 420, + "sha256": "8af0897a884bb314958c5e6f2fccd88ff8b1890322dafd3bc904b3f983838620" + }, + "verify/results/shim/ar/ar-r1-ledger.txt": { + "mode": 420, + "sha256": "44bddfc0b9e94812a3a1cfd681a1350caedf2ed8e1174900c2f81c90dc95187e" + }, + "verify/results/shim/ar/ar-r1-probes.txt": { + "mode": 420, + "sha256": "c10251c9bcca5436dc42b2c0bd37b66c144aec4036f2069c2df9340fd764992c" + }, + "verify/results/shim/ar/ar-r1-shim.log": { + "mode": 420, + "sha256": "07003ee203d60a638cc8a1cb0a0f6b8042ba227705b4355f1254312c6dd54e28" + }, + "verify/results/shim/ar/ar-r1-sites.txt": { + "mode": 420, + "sha256": "d1923d549ef3567488d0382ae0ef75fa25c5b1b5812ee5349c5c47aea7a30514" + }, + "verify/results/shim/ar/ar-r2-shim.log": { + "mode": 420, + "sha256": "06dbf04cff5a56b0e55d8e73e5b1e3e9d9235f4afafc8139517b68d676781909" + }, + "verify/results/shim/as/as-probes8-run.shim.log": { + "mode": 420, + "sha256": "cd25c93d8b79e0f0df594fe681917fe880741a54a4188d4d72d2fbc6c42ba8d9" + }, + "verify/results/shim/bp/A-aiorders.txt": { + "mode": 420, + "sha256": "ee9f8bb1073e3bf02e115fdee014f79b11100a0e1e35e308c2bcd4b798302c34" + }, + "verify/results/shim/bp/A-shim.log": { + "mode": 420, + "sha256": "853eab98d09ff1e7a8e7da375a678561b02d6236adec627202ff3bb34d90e797" + }, + "verify/results/shim/bp/B-aiorders.txt": { + "mode": 420, + "sha256": "07daeacf33a16afbed64a8a01ffd26fa73c6d2acd0e6993dd9deb06a7fd93fc3" + }, + "verify/results/shim/bp/B-shim.log": { + "mode": 420, + "sha256": "cde2202333e81cc4eec2c47915181229a68a5fa99879968905a2809c4fe0a79a" + }, + "verify/results/shim/bp/L-aiorders.txt": { + "mode": 420, + "sha256": "28492b0f9be74f61db45eae49b44b41efbc1a3bf6f6d2c888e5cc40bfb7753bd" + }, + "verify/results/shim/bp/L-shim.log": { + "mode": 420, + "sha256": "550d8986a35b3f4742e7522df11bfbf2e832e417ad42cc1bff1a39dd4ee510fd" + }, + "verify/results/shim/bp/statecheck-AB.txt": { + "mode": 420, + "sha256": "dacb5cfa5541934f37b2b1c02b87e809c3f65ba8488aa88d925b295fade0083d" + }, + "verify/results/shim/bq/bq-res-aiorders.txt": { + "mode": 420, + "sha256": "991543eb53fbf1353fe99ed96d4ca358e05f6bac32f00bd1f6dc60fcc002c8b4" + }, + "verify/results/shim/bq/bq-res-shim.log": { + "mode": 420, + "sha256": "7855bd268f69443e7ddfda71873458144728630264703482901bf6d8ffbccd3a" + }, + "verify/results/shim/br/BR-aiorders.txt": { + "mode": 420, + "sha256": "d71e11e7c40aaa740adc55651af556afb9e92768336bc11747ad67151f33f4d1" + }, + "verify/results/shim/br/BR-airng.txt": { + "mode": 420, + "sha256": "04eaeaa688a448f64df00dedfd692b78bca0e3e1207a8292c2fafad507f919ea" + }, + "verify/results/shim/br/BR-shim.log": { + "mode": 420, + "sha256": "bc6ef7aa465c2b1a81d08555174e15fb1a97a207da9eefaa8a6155440869a13e" + }, + "verify/results/shim/br/BR2-deep-aiorders.txt": { + "mode": 420, + "sha256": "b9edb53f7d56c1bb26d3bb77349543dce9564930484bc832475a3a04e5f2ad15" + }, + "verify/results/shim/br/BR2-shim.log": { + "mode": 420, + "sha256": "0de7609693747fdf0abaebd60598af127c918f32561c993715aead91cd24b334" + }, + "verify/results/shim/br/aiorders-diff.txt": { + "mode": 420, + "sha256": "411ceb2bacd62185d25a3c58f199c0bdfcd2759705bef2b36536da3870f73a67" + }, + "verify/results/shim/br/cmp_aiorders.py": { + "mode": 420, + "sha256": "b6c192efb40866aa56f29d9ba2b89e17f18ae0579645db8f34a01010db09cc28" + }, + "verify/results/shim/br/shim.cfg.brdeep": { + "mode": 420, + "sha256": "b8017e344666df816f1191906cf8f54504d631bb7ce9d2f51f6f959e4934ff04" + }, + "verify/results/shim/br/shim.cfg.brprobe": { + "mode": 420, + "sha256": "4f090999dba63ef22ab4993bd6af557e9500819c84f27decc126771f48f98efb" + }, + "verify/results/shim/bs/C-aiorders.txt": { + "mode": 420, + "sha256": "5abc20b68edf6ff52301c01825040e1d6b41b582ba40403ed6c4edc42dcbe4e2" + }, + "verify/results/shim/bs/C-airng.txt": { + "mode": 420, + "sha256": "5a4a56506d1eeb82d3bf0fbba95842566911178a82f0aad9d700a9fe00f1b300" + }, + "verify/results/shim/bs/C-shim.log": { + "mode": 420, + "sha256": "8b8dad987589fd159e789806e89dbcf7a7b40b86446d55e1d0bf10ff25cb8f6f" + }, + "verify/results/shim/bs/L-aiorders.txt": { + "mode": 420, + "sha256": "a03e8c1587633ecbb683c376f30e35e126e98ff0e8204c4ee6b5e2b4fc254104" + }, + "verify/results/shim/bs/L-airng.txt": { + "mode": 420, + "sha256": "8d21083857facd3728446af612b3a97b47e5287a5fe0bdf01423812f8445dacd" + }, + "verify/results/shim/bs/L-shim.log": { + "mode": 420, + "sha256": "246af272e464c715c7abb00471b4ddc404b81143f4065006aa4daec4d82cadb9" + }, + "verify/results/shim/bs/shim.cfg.bsrun": { + "mode": 420, + "sha256": "570b15c208d31a367ec6c6886019693cb17b98d254cebead11ec6746ae5af256" + }, + "verify/results/shim/bu/BU1-aiorders.txt": { + "mode": 420, + "sha256": "944eeb701fcd22480513c34d93f8310541977e89a24ae237bd947aed44092529" + }, + "verify/results/shim/bu/BU1-aivisit.txt": { + "mode": 420, + "sha256": "721f038ef80be92325728fc30f095846b54ff1ac67a41537d4a4d1b97d5e9758" + }, + "verify/results/shim/bu/BU1-shim.log": { + "mode": 420, + "sha256": "28ca02f56823e577662744108965bc3ab1d7241143704ac8ceaacf2e9cd077f3" + }, + "verify/results/shim/bu/BU2-aiorders.txt": { + "mode": 420, + "sha256": "5c388039a3e832465f67b4ca88f3f67550d5189a3a68f33c508c4a467733c9ac" + }, + "verify/results/shim/bu/BU2-aivisit.txt": { + "mode": 420, + "sha256": "19963ed364f47fd965508d96fbf9d1f424938f711f2b1cdc83697f789189271a" + }, + "verify/results/shim/bu/BU2-shim.log": { + "mode": 420, + "sha256": "c0a8c467bc4b4134dc83ca5dedbbfed8dac887b432a56cd12f6e211c8d58daca" + }, + "verify/results/shim/bu/BU3-aiorders.txt": { + "mode": 420, + "sha256": "b6443b3f7db541149f54435f14ba830f54d2f950420f3f0694ff12a8b1eec143" + }, + "verify/results/shim/bu/BU3-aivisit.txt": { + "mode": 420, + "sha256": "fe67a4a1cc6a67e06b2eb5675b4b8543ab9f25ea39a18d7f4c83bce74482e0cc" + }, + "verify/results/shim/bu/BU3-shim.log": { + "mode": 420, + "sha256": "0a802ec556c87f44efaa06f211e75d9b89a66ac6db5a08e34d2a7eae992121ed" + }, + "verify/results/shim/bu/claim-order.txt": { + "mode": 420, + "sha256": "7135e3ed0204a4615e546bc882992073d4b48ee42ea341186c32b6b3dd3dfc47" + }, + "verify/results/shim/bu/claimcheck.py": { + "mode": 420, + "sha256": "85c5ec747f12cf37ec2dbc4021447909eeded68ecd1abb697a6fb60005a54aff" + }, + "verify/results/shim/bu/shim.cfg.bupin": { + "mode": 420, + "sha256": "6b37b047adc95f7c08b6767cdec5bd715a8851f14bff7f187772835d1cc032a7" + }, + "verify/results/shim/cr/cr-N.log": { + "mode": 420, + "sha256": "d5459e6dcf44fbe55d0f60f1ac40d68bed96319bb55986cc24a1b9ca0d8103e0" + }, + "verify/results/shim/cr/cr-R0.log": { + "mode": 420, + "sha256": "3b703881aa2b9a1c111201ff9543f2dcae0f948567ee877df275a1093bb567f7" + }, + "verify/results/shim/cr/cr-R1.log": { + "mode": 420, + "sha256": "8df6af84f74891ff9b0b02fa150641f5fadcd0419bc53c41cbe80bf14ec9c712" + }, + "verify/results/shim/eventlive/c6b-loaded.png": { + "mode": 420, + "sha256": "f442d4b211a47b331cef9a255e83732b80a1ede70ac200596c796ac0aa320017" + }, + "verify/results/shim/eventlive/c7b-turn3.png": { + "mode": 420, + "sha256": "3e070abfbdf4efd2662951049f8545f328aa172d64d00b9c5a1f4243426e803a" + }, + "verify/results/shim/eventlive/load-dialog-8files.png": { + "mode": 420, + "sha256": "e0fc5af16042a70b53bf7d44220db56c56a466c22c4abd641557e94b8e6c1693" + }, + "verify/results/shim/eventlive/shim-zuul.log": { + "mode": 420, + "sha256": "f9d184b33c46cab9d497f7a38056c099ce2ff9b5e8149f563a2353d91985fea1" + }, + "verify/results/shim/eventlive/shim.log": { + "mode": 420, + "sha256": "e65f2e3efa1ce8f70c483bb966448239923db2d3924c709a669bb1a890411b0c" + }, + "verify/results/shim/eventlive/t7-after.png": { + "mode": 420, + "sha256": "dc0a3e8f5a5c9032ead266d106fa69a57677711eb807d26376f29baa6ec0b934" + }, + "verify/results/shim/eventlive/zuul-turn1.png": { + "mode": 420, + "sha256": "f9af979ed08315c0a8d644af800318634b3641628f710f3f9b4d2c77d4f70fdc" + }, + "verify/results/shim/l1/README.md": { + "mode": 420, + "sha256": "f008081756d99825aa81d2802869476f8341f81aeb8c4dbbb77502cf76db5145" + }, + "verify/results/shim/l1/cdiff-frames-2-51.txt": { + "mode": 420, + "sha256": "57cb1911c5bfc7bdfacafc6bb1ad382fc05f46fb9cdcee4479d861af48e585c1" + }, + "verify/results/shim/l1/cdiff.py": { + "mode": 420, + "sha256": "2ace41ce6017cfac8758d8b9955f02de84738d90067a7dfadeb8bffffc842027" + }, + "verify/results/shim/l1/rep.py": { + "mode": 420, + "sha256": "1a7a3819da8e9aeaaf213a62b696388b0a9489924c964407536831b5f7dd9488" + }, + "verify/results/shim/l1/saves/l1-t1t2-post-hooksoff.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/l1/saves/l1-t1t2-post.sav": { + "mode": 420, + "sha256": "62061918176e344106e82357e58acc8adec488f6b2969831cb99a84cf25e31c5" + }, + "verify/results/shim/l1/saves/l1-t2t3-post.sav": { + "mode": 420, + "sha256": "2177c659d8dbc39cf7485abe367d42d55cc42cc9a61949d403dcbc79989ec32d" + }, + "verify/results/shim/l1/saves/l1-t2t3-pre.sav": { + "mode": 420, + "sha256": "641a33f06b2fe1c1caf0c4994442bf13a4b03f25a85b34a9875cd22b75715896" + }, + "verify/results/shim/l1/seed-two-processes.txt": { + "mode": 420, + "sha256": "d60412049ced59705284a46078f1906e1aad4140f90db2169e08aeb9530dd985" + }, + "verify/results/shim/l1/seedrep.py": { + "mode": 420, + "sha256": "a06de5d5ccc1e87808eb3877534076340ef5330bee9a86953b8f4dae0268e087" + }, + "verify/results/shim/l1/trace-et1.jsonl": { + "mode": 420, + "sha256": "f21a213bc56983bc94f24303b0837b160f93bfb7e3ca6abdbf2e18321f8dfa19" + }, + "verify/results/shim/l1/trace-et2.jsonl": { + "mode": 420, + "sha256": "6e44b0fc541c3082f91b115de67f5315f43b9db21f0696b856cfff2ead51323a" + }, + "verify/results/shim/l1/trace-oracle.jsonl": { + "mode": 420, + "sha256": "ad9ecbe79a71c84930302868850806798228fe0f2e625b442dd3ed579c05092c" + }, + "verify/results/shim/l1/trace-playforward-f51.jsonl": { + "mode": 420, + "sha256": "6ed0af385dfe7288ad2c994458c8f5d75fc8e29b603dd6607a3703591d25eeb4" + }, + "verify/results/shim/l1/trace-seed-proc1.jsonl": { + "mode": 420, + "sha256": "120074583eb02cd4c3a29aab5826f789d52a6146930b1763f9b0bb824e9a350a" + }, + "verify/results/shim/l1/trace-seed-proc2.jsonl": { + "mode": 420, + "sha256": "03dffeafeff0c33d926207f869741dc544141425c8f665bf58aad4fd363e2f95" + }, + "verify/results/shim/l1/watch-arm.txt": { + "mode": 420, + "sha256": "f8d5811c938d16d003a72a97f2b4b33112914a7ee378fa2b334282616592943e" + }, + "verify/results/shim/l1/watch-hits.txt": { + "mode": 420, + "sha256": "1bf62ac965036a189055cd59a92007c70a2a6aca307df54ce8ccb997048f43d5" + }, + "verify/results/shim/l3/l3-probe-run-shim.log": { + "mode": 420, + "sha256": "f5cd336971ae3d3eaff642e80d9defa20ec2e1ee11e212a082c24365b18d8684" + }, + "verify/results/shim/l3/l3-probe-run-watch.txt": { + "mode": 420, + "sha256": "8d969595789c690a688f7b8fac05288c614d5d9210388ca94315158948c85f24" + }, + "verify/results/shim/l3/l3-spy-run-shim.log": { + "mode": 420, + "sha256": "5abfd08445e9e8139945b095ddddfb56480062019ce6d40304a440c317f21fd1" + }, + "verify/results/shim/l3/l3-spy-run-watch.txt": { + "mode": 420, + "sha256": "c669ccf79202e7060c153151e4fe1be96acf4030cb64aa71bd6a5c212b550b47" + }, + "verify/results/shim/m0-main-menu.png": { + "mode": 420, + "sha256": "465207fda4722ca53585b71647a08b1149944036792a072e7c34e2c437a3e37c" + }, + "verify/results/shim/m0.log": { + "mode": 420, + "sha256": "581d63139503892b6aeeff71acb742143393e9f107aa1f3605d8c028c927cad1" + }, + "verify/results/shim/m1-shim.log": { + "mode": 420, + "sha256": "35401ea82b9a64dbfdb54c282c06c51d7b696afd4ea2794e16071e0fd5c7cbef" + }, + "verify/results/shim/m2-scout-shim.log": { + "mode": 420, + "sha256": "8c46117bdde6b6911a4d77b059b40803d4966652990c8fa3ed67773e5db0459f" + }, + "verify/results/shim/mf-after-shim.log": { + "mode": 420, + "sha256": "86601372b980828171e98fc71afe865f207b1745ef4dcdca646a618c91d17426" + }, + "verify/results/shim/mf-after-turn2.png": { + "mode": 420, + "sha256": "a1f83011ff96e990d7cc80f8306e8fe0c58b96f84eb73ccb6cb013019900133d" + }, + "verify/results/shim/mf-after-turn7.png": { + "mode": 420, + "sha256": "313f3863ab901320174c8ff7cf6f1f6b0d5b3d9d7a2f8999eae6413aedc46fc5" + }, + "verify/results/shim/mf-before-shim.log": { + "mode": 420, + "sha256": "8377a87c7ed05fd0cd7b61e3f1d5fc9c2b9fa294f812c67183d4ce31323a64b1" + }, + "verify/results/shim/mf-before-turn2.png": { + "mode": 420, + "sha256": "c9805791f402ec159fcc6acdd283120eae8536b230666d3049374525595b589f" + }, + "verify/results/shim/mf-before-turn7.png": { + "mode": 420, + "sha256": "3b880b8f96c4cc328aaff8e41068db29b295be8f000c432e321a51b6030b1272" + }, + "verify/results/shim/mf-human-home-no-ships.png": { + "mode": 420, + "sha256": "dfda3e9784eefdc7b75d04908e95c3a192eda7796685907c65bfde3068d6f2bb" + }, + "verify/results/shim/probes/human-t3-5-perturbed.txt": { + "mode": 420, + "sha256": "9b594ab18cdd9aec4fdf807b4d97576191bc6fd48a85cc872c222b515d0f7c01" + }, + "verify/results/shim/probes/human-t5.txt": { + "mode": 420, + "sha256": "0ddd9f0391a3a5d655f1809a9e79d537badd8071f8834e58bdbc7f95d9ff1320" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/shim/probes/zuul-t24-25.txt": { + "mode": 420, + "sha256": "50567b7cb1f008d025baf6cb4b4ad7af7d767a2182afd082c3ac1b1a66c79541" + }, + "verify/results/shim/recap-b1-shim.log": { + "mode": 420, + "sha256": "601cd4cbbec3e8c1f7776eadc4203256ec4c5d1e3e180295369727e1da69ff37" + }, + "verify/results/shim/recap-b3-shim.log": { + "mode": 420, + "sha256": "7c5110a9d4431cc03729a7bddcb13ee69a6d428199051e175b0921391fc02a80" + }, + "verify/results/shim/recap-misc-shim.log": { + "mode": 420, + "sha256": "7cadf2eadb08979cda39fe7e3ed6cfa3f62bdbcd256fc7550b3e27c3f08c9b3e" + }, + "verify/results/shim/recap-misc-turn7.png": { + "mode": 420, + "sha256": "2c1451ded36ad79389f0eb3db098b4e0b0a6f12495d64c832f6e093374005c29" + }, + "verify/results/shim/recap-trace-shim.log": { + "mode": 420, + "sha256": "56da143a92b2edda727862a6fd4a056c716153e23cfddbde076e218ce4c4285f" + }, + "verify/results/shim/recap-turn2-loaded.png": { + "mode": 420, + "sha256": "62a42c44f99d8a53bca735d54a5adf48b89449bb859e859ec573cb40e1a7f2d0" + }, + "verify/results/shim/tailrng/save_rng_delta.py": { + "mode": 420, + "sha256": "a9a04b131427a43372d87688b8eaf230a82a79e2c3c241a90ff4eb31e039749e" + }, + "verify/results/shim/tailrng/z-t5-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z-t6-autosave.sav": { + "mode": 420, + "sha256": "2ce6aef9d49ea238455f3ac680556c6a251065af3e28b6540fe09597ae38571c" + }, + "verify/results/shim/tailrng/z-t6-endturn.sav": { + "mode": 420, + "sha256": "afb112896c0236fa715ab3c10139958294085bb2066e22a6d7b76deb0dfa46dc" + }, + "verify/results/shim/tailrng/z2-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z2-endturn.sav": { + "mode": 420, + "sha256": "8648957fecf5041233f9add4c8173f78981f026f133ecdbecdb89ddd10917048" + }, + "verify/results/shim/unlock-shim.log": { + "mode": 420, + "sha256": "20a6625b369acb773543e530f1bfdc8b7eaca5c6b58415cc5009bb9858e16f22" + }, + "verify/results/shim/watchpoints/w2-modcount-status-2turns.txt": { + "mode": 420, + "sha256": "335be910dc11a20c9fb80f3b0f37f04fd50a9d8074697bb5365c3fea02790b74" + }, + "verify/results/shim/watchpoints/w2-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "9a344045270e3815004a3376eccfbd030372faba54374d9b6626fd80740b8b13" + }, + "verify/results/shim/watchpoints/w3-modcount-turn1.txt": { + "mode": 420, + "sha256": "328a2319e320f5382e82ad497b6b73245c397cf67515e8a27fa9712418af81ae" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt-turn1.txt": { + "mode": 420, + "sha256": "a9b3c20f90a76ee624bde6ee4cae9d1ff1f2baa67aa770a0e70042cb44d11915" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "af9fe2258fe4168f6066768809c509380183f61bc337331392c5202b900d906a" + }, + "verify/results/shim/watchpoints/w3-tshn-containers.txt": { + "mode": 420, + "sha256": "08eab48d1a202f975f1be87e2279379646142f8b22d9dafc56295399083ed0af" + }, + "verify/results/standalone/cv/cv-input-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "d29f3514e4209954d6c068f34285615aef5f4627ba4627ce97c0e65f93620159" + }, + "verify/results/standalone/cv/cv-leaf-worklist.txt": { + "mode": 420, + "sha256": "0f309711de89cc10cf940d0d4b051b5052ce49a3cc0f3f80c532b50256410778" + }, + "verify/results/standalone/cv/cv-noreplay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "3734f197cfefd017dbe562fd421d40859bfc2c37d9ac2cedf9c7ddd340a3a4a7" + }, + "verify/results/standalone/cv/cv-replay-run.log": { + "mode": 420, + "sha256": "7372c7da437ece21098cc6f66d0631e146d8aae14a9242bd2278a9922a7f7c02" + }, + "verify/results/standalone/cv/cv-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "1932158abec82f45b9b838f4cb79b1088190ca5281d388f57356af7776e96950" + }, + "verify/results/standalone/dt/dt-canonical-after.txt": { + "mode": 420, + "sha256": "f32fdcf7d6431293133e951045b42a55e8a27d75cd859ad08cd719e5fb696712" + }, + "verify/results/standalone/dt/dt-canonical-before.txt": { + "mode": 420, + "sha256": "b56160cfdcfa0fff25be2aa566959261e375004905814803e231889da665188f" + }, + "verify/results/standalone/dt/dt-observed-leaves-remaining.txt": { + "mode": 420, + "sha256": "e14bd20e60480f98a564e585c0d25d2e758f71016811b8981dbdacd9d51c0c82" + }, + "verify/results/standalone/dt/dt-replay-run.log": { + "mode": 420, + "sha256": "4b7907fc4e735b1c12e3cf64671079abaad757aabd752b134a9fb27d065656cd" + }, + "verify/results/standalone/dt/dt-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "8ddb84e7e6c2f663b1bc4b9611a56a46aac9d09863dcc5be765cb70dc9642c22" + }, + "verify/results/standalone/max-income-oracle.json": { + "mode": 420, + "sha256": "245796e0aea5f5c2238686cba10c651156117fb454805553b2508a8a8fe71a69" + }, + "verify/results/standalone/report.txt": { + "mode": 420, + "sha256": "b47e90432eaf38149f2ecb5316d1962813b6b1423848e36fcc9435ad1f5485df" + }, + "verify/results/standalone/rng-oracle.json": { + "mode": 420, + "sha256": "98a364c80f69d6a84b86c3f9ccc16176d9e769ff061569b0c0ddfced53f9146c" + }, + "verify/results/standalone/rng-oracle.txt": { + "mode": 420, + "sha256": "3496a217a7e4f80bb18c1b067eaedcafcf7bdc877460c6346606fd7f6a55b877" + }, + "verify/results/standalone/status.json": { + "mode": 420, + "sha256": "d38ca6222c83df3a5886e6b32a30772c7174cc0e584f4a3beabedc05770df9cd" + }, + "verify/results/standalone/t36-turnrecord.md": { + "mode": 420, + "sha256": "b017a93ad04af69ef469cd8ea536dff4cab17140d20b3665e7c89533ab5b8a84" + }, + "verify/results/state-checksum/ad-oracleA-vs-oracleB.txt": { + "mode": 420, + "sha256": "b6c440e20108ad2727a7d7aa32a4bd673ec03ca4372461797705d619de1ba48a" + }, + "verify/results/state-checksum/chain-turn1-3.json": { + "mode": 420, + "sha256": "33941d0dd77bfb79e4302f82a410f5f18fe3ae1ade684b5b59c6ed352789a696" + }, + "verify/results/state-checksum/chain.txt": { + "mode": 420, + "sha256": "ae1037dd8394b258ce91262877d348a0561c5f5056cfae74cc0d058e4166aa83" + }, + "verify/results/state-checksum/float-census.txt": { + "mode": 420, + "sha256": "c697c0f187ee8a8ebb157cbff8d7ae42c92f36a501b16acd9f9839a0ffc306a9" + }, + "verify/results/state-checksum/identical-roots.txt": { + "mode": 420, + "sha256": "1143fabfe96954440542adcd3830ad1d862be6c091f3c1b2e63e92a2751703e7" + }, + "verify/results/state-checksum/resave-localisation.txt": { + "mode": 420, + "sha256": "85f4e8fe3581ba5d0ae74974d757c4c2fddc008f3fbe6781891ae8ef65aa693e" + }, + "verify/results/state-checksum/roots.txt": { + "mode": 420, + "sha256": "6ea7ad668703baaff870720683bcc13beff557cebf8e7843526d6677e5b5ef68" + }, + "verify/results/state-checksum/turn2-to-turn3.txt": { + "mode": 420, + "sha256": "3649c86742460a54d89714df1917508f76952c44c07cb7fbc19010910c5df0f4" + }, + "verify/results/turncommands/br2-turn27-deep.tcb": { + "mode": 420, + "sha256": "329b9c3f1e9f85ddeeb71148bd5c0e38f7d26445ed349df60ffbfaf63db46102" + }, + "verify/results/turncommands/br2-turn27-shallow.tcb": { + "mode": 420, + "sha256": "d8346969421a92fa199d0b9faafa642dc2e71a527b08d27984fe73ee70ecbd6b" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.json": { + "mode": 420, + "sha256": "01e572975339fbe8a242b2438719173bd5bb4f4916078e5887026408923eb356" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.tcb": { + "mode": 420, + "sha256": "16e349db6c46e46520cd2e5f0a9fcf70b537dce878324dd873418ef6cebd8658" + }, + "verify/results/turncommands/cb-turn1to2-pinned.json": { + "mode": 420, + "sha256": "2d4f108b8ac6b1e582382ac25d53f354c293e7caf390b8462d15beaf8e43e01c" + }, + "verify/results/turncommands/cb-turn1to2-pinned.tcb": { + "mode": 420, + "sha256": "28ebfecc3495cc4f5b2892e420cb1b83f3cbdb6b7aabe107f4b1d18233a06094" + }, + "verify/results/turncommands/cb-turn1to2-run1.json": { + "mode": 420, + "sha256": "c9de70196af5453df15cfebcb92c973dfed9d54ffa0dc0a397839cf951ac9b58" + }, + "verify/results/turncommands/cb-turn1to2-run1.tcb": { + "mode": 420, + "sha256": "5cdcfb3ade6cdfb2c00c234f5535c791780230f520d27be14f617462347b4948" + }, + "verify/results/turncommands/cb-turn2to3.json": { + "mode": 420, + "sha256": "8a0d4fc9efae9dcb4eca0de41bf28444d79eb5a4fd4e426671a4d80ab5a46f44" + }, + "verify/results/turncommands/cb-turn2to3.tcb": { + "mode": 420, + "sha256": "420a5d03f2a4ecfa0789835cc46f98961d11bbd7c7fd5f59dc28301aa0b65b6b" + }, + "verify/results/turncommands/l4-turn1to2.tcb": { + "mode": 420, + "sha256": "1b9faa7f8aad9196e36cf1c450e340f37c502a69ccfcaaad7e289bd7b4727b12" + }, + "verify/results/turncommands/l4-turn2to3.tcb": { + "mode": 420, + "sha256": "b0443f176c3915389278de608a8e7c63fa48d4777b924c0e383c7279f2a297e0" + }, + "verify/save-reader/SAVE_FORMAT.md": { + "mode": 420, + "sha256": "5ac2556b6c063c9296ef29e8514cc312983d48a8e2c2832f504c970629990b33" + }, + "verify/save-reader/fixture_joint.sav": { + "mode": 420, + "sha256": "fbe41595e50bb580786f36b197d5b85f87820974c545107c864fa2f1862af3f1" + }, + "verify/save-reader/fixture_split.sav": { + "mode": 420, + "sha256": "3909f12d021bf840617dc8d599841b64d67be46e1c6882cba7728d312d310071" + }, + "verify/save-reader/save_reader.py": { + "mode": 420, + "sha256": "2dcac286b5382b67fe8f2dbce58c80950dd430b726ed0e98f3bcea155df0df35" + }, + "verify/save-reader/save_writer_stub.py": { + "mode": 420, + "sha256": "8343ad15f742ee1b9cd62108efbc9c4b2718c3807442e3dfcfa9513ced7d3638" + }, + "verify/save-reader/test_save_reader.py": { + "mode": 420, + "sha256": "29f609d037eed99bb5444004facbff7b2c5c36fae568e815810585fdc3ddd393" + }, + "verify/state-checksum/STATE_CHECKSUM.md": { + "mode": 420, + "sha256": "5680299a4df27e30cdb545d9d2a640caf9299d61acb662b9512589e4390954e1" + }, + "verify/state-checksum/float_census.py": { + "mode": 420, + "sha256": "a568aad8b9f38aba2474f33941550bf948d050694a1d04dc5c85d15687223ae9" + }, + "verify/state-checksum/run_validation.sh": { + "mode": 493, + "sha256": "bf84b999d2b90368703e80235bac0258b70a1c37dd1902c9205a914a59cb1fc2" + }, + "verify/state-checksum/stability_check.py": { + "mode": 420, + "sha256": "8e640561b05decf590524fbe0dbf3b76a5e2f9c7fde93e005ca6e79464c305f1" + }, + "verify/state-checksum/state_checksum.py": { + "mode": 420, + "sha256": "ed80458e84d92040aa3872464d8df315e935f379ca0da5a2df81c3049826e5b8" + }, + "verify/state-checksum/test_state_checksum.py": { + "mode": 420, + "sha256": "d0ccf8e8390fd0a5d76a8695a490d85dc7e8e415a06ec50b592c57474cc9a73b" + }, + "verify/tooling/README.md": { + "mode": 420, + "sha256": "b05249530d65d43220c1e5c4666939c360d6139ed404a8881f6ad0a9c5c27af6" + }, + "verify/tooling/fixtures.py": { + "mode": 420, + "sha256": "56cccc88b9b9468e07c9ddff39d65813098053ec9e8f00432736906389f200a7" + }, + "verify/tooling/host-tests.json": { + "mode": 420, + "sha256": "90833c99e2749ff890b16b943f43f6ebfc1a1c611f2ed1e40555426fded45c97" + }, + "verify/tooling/test_tooling.py": { + "mode": 420, + "sha256": "bb8d15960dfda13f15cffc57f3b669003b127b4dedbf34100bb4a51c29dd3c6d" + }, + "verify/traces/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/traces/ac-probe-baseline-turn15.jsonl": { + "mode": 420, + "sha256": "a2f4e410f6a8d77f7680b4a69b5b2ac2f59fa80515b0cfe8209e7fec8e4a5b6b" + }, + "verify/traces/ac-probe-turn21-turn23.jsonl": { + "mode": 420, + "sha256": "2bb9317b82744c0da36ef6d9c1a78f31ebacea49b82a18005c0cc75bad62d345" + }, + "verify/traces/ad-r1-turn28-turn29.jsonl": { + "mode": 420, + "sha256": "cde7a1e010aa6195163f3b9320aa5c496fd8c271e9648c90c7319837dd967571" + }, + "verify/traces/ap-probes8-deploy-turn15.jsonl.gz": { + "mode": 420, + "sha256": "e257d5ea3fcb4be8da570d6a5589022e6ba412ff2712f4f06832812d8859e08a" + }, + "verify/traces/ap-probes8-turn16-turn26.jsonl.gz": { + "mode": 420, + "sha256": "df4fb35d9824799d8be79f3a9e976b55b7cd0fb5488b3e12711d04eb3c320f13" + }, + "verify/traces/ar-r1-turn38-turn43.jsonl": { + "mode": 420, + "sha256": "f8653cbd1956346816897b313031c5d70898144d1c84b1c849ac37bfe3bd993c" + }, + "verify/traces/ar-r2-control-turn38-turn39.jsonl": { + "mode": 420, + "sha256": "c1068652ddf54d2ff266c1dc1ef1e69ea663f5d2a83143408f77ec782b3dd988" + }, + "verify/traces/as-probes8-turn15-turn16.jsonl.gz": { + "mode": 420, + "sha256": "024bb0663b167eb364c8e138bae0bf10403860c195bd593cb56f60281060c4e8" + }, + "verify/traces/b2-final-menu.png": { + "mode": 420, + "sha256": "5a95fe260c9cb13dad5fc6f00460819107db93f4ac89f455077ad056600f83fd" + }, + "verify/traces/b2-shim.log": { + "mode": 420, + "sha256": "c31cf01af3659b7fdf008ff44f88f67ee4016dcfb30fc4a72b4d72ea0da8e404" + }, + "verify/traces/b2-techfx-compare.jsonl": { + "mode": 420, + "sha256": "f0202f45b276db6744c80768f12695153812bc882de688cf64705ed6a52f243c" + }, + "verify/traces/b2-techfx-golden.jsonl": { + "mode": 420, + "sha256": "43639e75bd9d510ed270c9cfcbb0c9665f5a6546f748ba81eba3f015e7ca233c" + }, + "verify/traces/cr-N.jsonl.gz": { + "mode": 420, + "sha256": "0071ae72a142533ffb91f9f04caa6704102c826761ff5ae24b57a1c3e9652e46" + }, + "verify/traces/cr-R0.jsonl.gz": { + "mode": 420, + "sha256": "6228c88cebb4dad2158e5586ecbcf71d1160116f2f4a2a8bc020658da8d7d706" + }, + "verify/traces/cr-R1.jsonl.gz": { + "mode": 420, + "sha256": "73f5f15b3343381cf3f973caaf74588fd3d0b6759de1ddcf9e12b9b3ebf29713" + }, + "verify/traces/eventlive-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "9cb344f1d8a3beb4bc1a2bf16baed6c38667443ead9f66fa0f53474a683d263c" + }, + "verify/traces/eventlive-b3-t1.jsonl": { + "mode": 420, + "sha256": "2d9962de9a7ea7fb28b33b72209706b4a27673096f71c8789f9f10ac465f387b" + }, + "verify/traces/eventlive-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "0ee09bb884799e72c6a617ab02e741a7ba791ff458af439b9947a87b368a64de" + }, + "verify/traces/h-probes-human-perturbed-t3-5.jsonl.gz": { + "mode": 420, + "sha256": "2567f8ccb6276a4d647c4f4b88d14f7ae63aa4d1797f672a9bd9c7c86e4d7473" + }, + "verify/traces/h-probes-human-t5.jsonl.gz": { + "mode": 420, + "sha256": "92964779111573dc72e6a1845217cd7d709c9900594a106b3de7b59c2b7a88a7" + }, + "verify/traces/h-probes-zuul-t24-25.jsonl.gz": { + "mode": 420, + "sha256": "0966294af27b49159b1e72e683abc0b59fd52cc9bfd9f517130d30cedf7efa29" + }, + "verify/traces/l3-probe-turn8-turn15.jsonl": { + "mode": 420, + "sha256": "d1b5436f917bb4f6f74bd7b1967dbd0626db2c3a5cbc1d67684ef9f010826676" + }, + "verify/traces/m1-compare.jsonl": { + "mode": 420, + "sha256": "f0f6fd15bc73008e43e20d6ed4c4dd91fb2ec8b40935bfd3cc000d8a84ea6731" + }, + "verify/traces/m1-trace-golden.jsonl": { + "mode": 420, + "sha256": "4a4ddc031fb26a8f8b10dace297c73670f53dcbd250a9be94c0e31c9bb44dcc5" + }, + "verify/traces/mf-after-compare.jsonl": { + "mode": 420, + "sha256": "2a894892977176df1a9d6c8199b0f81b48c7bcac15d2c0e7786441fc6125226e" + }, + "verify/traces/mf-before-compare.jsonl": { + "mode": 420, + "sha256": "ee005097ebaac9f30c63f1e400fdf19a47e88010c71d215885234986d122410e" + }, + "verify/traces/output-ref-turn2.jsonl.gz": { + "mode": 420, + "sha256": "7af583350545501414eda38439f2d0fa39149342d9001d2926e2a4e4fdd5cdca" + }, + "verify/traces/output-zuul-and-ref.jsonl.gz": { + "mode": 420, + "sha256": "d581cb50f07766911fa59fa1df1524b33a9df6eec06226966efd5f54f09b6fb5" + }, + "verify/traces/recap-b1-compare.jsonl.gz": { + "mode": 420, + "sha256": "0ce1c92028a8cd10a38d7cca72f90c37ccbd844f24a1950bf0eb6e75739b44e2" + }, + "verify/traces/recap-b3-compare.jsonl": { + "mode": 420, + "sha256": "6ed3bcd99b4657d614bf63cc0fc2dfff650f4cb14e51086ea98c21bccbcf5fa8" + }, + "verify/traces/recap-golden-trace.jsonl.gz": { + "mode": 420, + "sha256": "d62431e9461ffb1b66adc16a39542b86fa8e0cf54a0ed446a8781c4d75a6c3bb" + }, + "verify/traces/recap-misc-compare.jsonl": { + "mode": 420, + "sha256": "d7c4446d45a9cab2af3da4a0d76f7a42c245da1f59db96fddf31d8b1f2c436ed" + }, + "verify/traces/tailrng-drawsites.jsonl.gz": { + "mode": 420, + "sha256": "5c1806e2b1452226674013119e3b220f3cf42be2ad8b0ed998050ad65d1f8415" + }, + "verify/traces/tailrng-refturn2.jsonl.gz": { + "mode": 420, + "sha256": "c33c6cafe015bda6acf5ca32b0c9595e1611f4ac82ecd3adaff8315c7bd3e560" + }, + "verify/traces/tailrng-zuul-long.jsonl.gz": { + "mode": 420, + "sha256": "213e7dd8a6809dd93190f41c87218e802f1fbe77d44d598f287c2a19544063af" + }, + "verify/traces/tailrng-zuul-noderoute.jsonl.gz": { + "mode": 420, + "sha256": "9476ee3b9b397ca9e20bc92eb887c109a075487cdd750746af051797e8838115" + }, + "verify/traces/unlock-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "f6e27a60bf6c74eb98d8bec50146fe1996642285ca008c6a70c3cb148c6ba54c" + }, + "verify/traces/unlock-b3-t1.jsonl.gz": { + "mode": 420, + "sha256": "bfa53bba3e59d17dd330e38ef52fd04fd92f05f3ad357fefd77388d083b49a05" + }, + "verify/traces/unlock-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "d94c635105a75a68cb811a3881faf371678c075d240998f48fcf348b8459063f" + } + }, + "manifest_sha256": "b4db6808cc2b8aca33fa27eaab330d32811ce146d829a1bb9474a03f7ccdaeb4", + "path": "/tmp/opencode/sots-final-research-re" + } + }, + "source_before": { + "engine": { + "commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5" + }, + "CMakeLists.txt": { + "mode": 420, + "sha256": "6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed" + }, + "CMakePresets.json": { + "mode": 420, + "sha256": "fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0" + }, + "CONTRIBUTING.md": { + "mode": 420, + "sha256": "26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506" + }, + "LICENSE": { + "mode": 420, + "sha256": "eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858" + }, + "README.md": { + "mode": 420, + "sha256": "66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1" + }, + "cmake/toolchain-mingw-i686.cmake": { + "mode": 420, + "sha256": "231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b" + }, + "docs/A2-alliance-and-modcount.md": { + "mode": 420, + "sha256": "0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701" + }, + "docs/AC-predictions.md": { + "mode": 420, + "sha256": "ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda" + }, + "docs/B1.md": { + "mode": 420, + "sha256": "42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364" + }, + "docs/B2.md": { + "mode": 420, + "sha256": "87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8" + }, + "docs/B3.md": { + "mode": 420, + "sha256": "fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518" + }, + "docs/B4.md": { + "mode": 420, + "sha256": "22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d" + }, + "docs/B6-ship-construction.md": { + "mode": 420, + "sha256": "9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab" + }, + "docs/CB-capture.md": { + "mode": 420, + "sha256": "ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0" + }, + "docs/CB-predictions.md": { + "mode": 420, + "sha256": "ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f" + }, + "docs/E-events.md": { + "mode": 420, + "sha256": "de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201" + }, + "docs/EV-events.md": { + "mode": 420, + "sha256": "e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9" + }, + "docs/G-wire-schema.md": { + "mode": 420, + "sha256": "19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591" + }, + "docs/G3-civilian-growth.md": { + "mode": 420, + "sha256": "38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30" + }, + "docs/H-probes.md": { + "mode": 420, + "sha256": "f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f" + }, + "docs/L1-predictions.md": { + "mode": 420, + "sha256": "af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754" + }, + "docs/L2-predictions.md": { + "mode": 420, + "sha256": "18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460" + }, + "docs/L3-predictions.md": { + "mode": 420, + "sha256": "d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e" + }, + "docs/L4-ai-orders.md": { + "mode": 420, + "sha256": "b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835" + }, + "docs/L4-predictions.md": { + "mode": 420, + "sha256": "6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44" + }, + "docs/L5-live-verification.md": { + "mode": 420, + "sha256": "4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4" + }, + "docs/M-movefleet.md": { + "mode": 420, + "sha256": "718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426" + }, + "docs/M0.md": { + "mode": 420, + "sha256": "e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705" + }, + "docs/M1.md": { + "mode": 420, + "sha256": "e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704" + }, + "docs/M2.md": { + "mode": 420, + "sha256": "25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61" + }, + "docs/N-output-term.md": { + "mode": 420, + "sha256": "3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde" + }, + "docs/P-events-wiring.md": { + "mode": 420, + "sha256": "72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba" + }, + "docs/PAR-predictions.md": { + "mode": 420, + "sha256": "16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846" + }, + "docs/PL-players-residual.md": { + "mode": 420, + "sha256": "9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc" + }, + "docs/R-recapture.md": { + "mode": 420, + "sha256": "73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f" + }, + "docs/RB-predictions.md": { + "mode": 420, + "sha256": "c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7" + }, + "docs/S-standalone.md": { + "mode": 420, + "sha256": "8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e" + }, + "docs/SD-predictions.md": { + "mode": 420, + "sha256": "a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0" + }, + "docs/SV-script-objects.md": { + "mode": 420, + "sha256": "80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409" + }, + "docs/T-turn-driver.md": { + "mode": 420, + "sha256": "a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e" + }, + "docs/U-unlock.md": { + "mode": 420, + "sha256": "5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901" + }, + "docs/V-eventlive.md": { + "mode": 420, + "sha256": "ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1" + }, + "docs/W2-predictions.md": { + "mode": 420, + "sha256": "9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5" + }, + "docs/W2-watchpoints.md": { + "mode": 420, + "sha256": "f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107" + }, + "docs/W3-predictions.md": { + "mode": 420, + "sha256": "211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf" + }, + "docs/W3-watchpoints.md": { + "mode": 420, + "sha256": "568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061" + }, + "docs/Y-standalone-rng-and-tail.md": { + "mode": 420, + "sha256": "49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b" + }, + "docs/Z-tail-rng.md": { + "mode": 420, + "sha256": "3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1" + }, + "docs/architecture.md": { + "mode": 420, + "sha256": "ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f" + }, + "docs/game-data.md": { + "mode": 420, + "sha256": "2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23" + }, + "docs/game-design.md": { + "mode": 420, + "sha256": "5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272" + }, + "docs/game-effects.md": { + "mode": 420, + "sha256": "e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d" + }, + "docs/game-sim.md": { + "mode": 420, + "sha256": "d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e" + }, + "docs/harness-audit.md": { + "mode": 420, + "sha256": "931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0" + }, + "docs/mars-parse.md": { + "mode": 420, + "sha256": "d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd" + }, + "docs/mars-rng.md": { + "mode": 420, + "sha256": "f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c" + }, + "docs/mars-stream.md": { + "mode": 420, + "sha256": "61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7" + }, + "docs/mars-text.md": { + "mode": 420, + "sha256": "2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1" + }, + "docs/mars-vfs.md": { + "mode": 420, + "sha256": "1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62" + }, + "docs/shim-trace.md": { + "mode": 420, + "sha256": "8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5" + }, + "include/generated/sots_addresses.h": { + "mode": 420, + "sha256": "fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448" + }, + "include/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "opencode.json": { + "mode": 420, + "sha256": "9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15" + }, + "src/app/CMakeLists.txt": { + "mode": 420, + "sha256": "142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717" + }, + "src/app/alliance.cpp": { + "mode": 420, + "sha256": "37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9" + }, + "src/app/alliance.h": { + "mode": 420, + "sha256": "08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd" + }, + "src/app/command_replay.cpp": { + "mode": 420, + "sha256": "739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824" + }, + "src/app/command_replay.h": { + "mode": 420, + "sha256": "956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2" + }, + "src/app/construction_phase.cpp": { + "mode": 420, + "sha256": "025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df" + }, + "src/app/construction_phase.h": { + "mode": 420, + "sha256": "a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e" + }, + "src/app/event_phase.cpp": { + "mode": 420, + "sha256": "80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90" + }, + "src/app/event_phase.h": { + "mode": 420, + "sha256": "54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34" + }, + "src/app/growth_phase.cpp": { + "mode": 420, + "sha256": "5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3" + }, + "src/app/growth_phase.h": { + "mode": 420, + "sha256": "8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b" + }, + "src/app/main.cpp": { + "mode": 420, + "sha256": "adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7" + }, + "src/app/observed_phase.cpp": { + "mode": 420, + "sha256": "31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3" + }, + "src/app/observed_phase.h": { + "mode": 420, + "sha256": "f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693" + }, + "src/app/phase_catalog.cpp": { + "mode": 420, + "sha256": "e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316" + }, + "src/app/phase_catalog.h": { + "mode": 420, + "sha256": "da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87" + }, + "src/app/report.cpp": { + "mode": 420, + "sha256": "da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228" + }, + "src/app/report.h": { + "mode": 420, + "sha256": "0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481" + }, + "src/app/script_phase.cpp": { + "mode": 420, + "sha256": "61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91" + }, + "src/app/script_phase.h": { + "mode": 420, + "sha256": "e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7" + }, + "src/app/trade_raid.cpp": { + "mode": 420, + "sha256": "07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf" + }, + "src/app/trade_raid.h": { + "mode": 420, + "sha256": "10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52" + }, + "src/app/treaty.cpp": { + "mode": 420, + "sha256": "317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575" + }, + "src/app/treaty.h": { + "mode": 420, + "sha256": "836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9" + }, + "src/app/turn.cpp": { + "mode": 420, + "sha256": "a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4" + }, + "src/app/turn.h": { + "mode": 420, + "sha256": "85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237" + }, + "src/app/turn_record.cpp": { + "mode": 420, + "sha256": "e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d" + }, + "src/app/turn_record.h": { + "mode": 420, + "sha256": "78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d" + }, + "src/app/visibility_phase.cpp": { + "mode": 420, + "sha256": "34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131" + }, + "src/app/visibility_phase.h": { + "mode": 420, + "sha256": "60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27" + }, + "src/game/ai/CMakeLists.txt": { + "mode": 420, + "sha256": "f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb" + }, + "src/game/ai/agent.cpp": { + "mode": 420, + "sha256": "e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7" + }, + "src/game/ai/agent.h": { + "mode": 420, + "sha256": "48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244" + }, + "src/game/ai/apply_order.cpp": { + "mode": 420, + "sha256": "122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253" + }, + "src/game/ai/apply_order.h": { + "mode": 420, + "sha256": "a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3" + }, + "src/game/ai/command_capture.cpp": { + "mode": 420, + "sha256": "cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec" + }, + "src/game/ai/command_capture.h": { + "mode": 420, + "sha256": "921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f" + }, + "src/game/ai/orders.cpp": { + "mode": 420, + "sha256": "1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640" + }, + "src/game/ai/orders.h": { + "mode": 420, + "sha256": "c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae" + }, + "src/game/ai/tasks.cpp": { + "mode": 420, + "sha256": "b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76" + }, + "src/game/ai/tasks.h": { + "mode": 420, + "sha256": "b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d" + }, + "src/game/ai/turn_order.cpp": { + "mode": 420, + "sha256": "858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22" + }, + "src/game/ai/turn_order.h": { + "mode": 420, + "sha256": "3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f" + }, + "src/game/combat/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115" + }, + "src/game/combat/retreat.cpp": { + "mode": 420, + "sha256": "eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f" + }, + "src/game/combat/retreat.h": { + "mode": 420, + "sha256": "5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d" + }, + "src/game/config/CMakeLists.txt": { + "mode": 420, + "sha256": "c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7" + }, + "src/game/config/config_loader.cpp": { + "mode": 420, + "sha256": "d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1" + }, + "src/game/config/config_loader.h": { + "mode": 420, + "sha256": "fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085" + }, + "src/game/config/manifest_loader.cpp": { + "mode": 420, + "sha256": "dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6" + }, + "src/game/config/manifest_loader.h": { + "mode": 420, + "sha256": "68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5" + }, + "src/game/config/msvc_sort.h": { + "mode": 420, + "sha256": "17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716" + }, + "src/game/data/CMakeLists.txt": { + "mode": 420, + "sha256": "677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51" + }, + "src/game/data/block.cpp": { + "mode": 420, + "sha256": "f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200" + }, + "src/game/data/block.h": { + "mode": 420, + "sha256": "f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc" + }, + "src/game/data/catalog.cpp": { + "mode": 420, + "sha256": "7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc" + }, + "src/game/data/catalog.h": { + "mode": 420, + "sha256": "80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e" + }, + "src/game/data/common.cpp": { + "mode": 420, + "sha256": "e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040" + }, + "src/game/data/common.h": { + "mode": 420, + "sha256": "d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187" + }, + "src/game/data/fields.h": { + "mode": 420, + "sha256": "4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb" + }, + "src/game/data/shipsection.cpp": { + "mode": 420, + "sha256": "82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264" + }, + "src/game/data/shipsection.h": { + "mode": 420, + "sha256": "bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0" + }, + "src/game/data/strings.cpp": { + "mode": 420, + "sha256": "6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59" + }, + "src/game/data/strings.h": { + "mode": 420, + "sha256": "fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055" + }, + "src/game/data/techtree.cpp": { + "mode": 420, + "sha256": "2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea" + }, + "src/game/data/techtree.h": { + "mode": 420, + "sha256": "504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007" + }, + "src/game/data/turrets.cpp": { + "mode": 420, + "sha256": "ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4" + }, + "src/game/data/turrets.h": { + "mode": 420, + "sha256": "f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64" + }, + "src/game/data/weapon.cpp": { + "mode": 420, + "sha256": "accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6" + }, + "src/game/data/weapon.h": { + "mode": 420, + "sha256": "63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009" + }, + "src/game/design/CMakeLists.txt": { + "mode": 420, + "sha256": "42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef" + }, + "src/game/design/defaults.cpp": { + "mode": 420, + "sha256": "8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528" + }, + "src/game/design/defaults.h": { + "mode": 420, + "sha256": "20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b" + }, + "src/game/design/design.cpp": { + "mode": 420, + "sha256": "e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20" + }, + "src/game/design/design.h": { + "mode": 420, + "sha256": "7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997" + }, + "src/game/design/hull.cpp": { + "mode": 420, + "sha256": "554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a" + }, + "src/game/design/hull.h": { + "mode": 420, + "sha256": "997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461" + }, + "src/game/design/rules.cpp": { + "mode": 420, + "sha256": "a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319" + }, + "src/game/design/rules.h": { + "mode": 420, + "sha256": "70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229" + }, + "src/game/design/stats.cpp": { + "mode": 420, + "sha256": "c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54" + }, + "src/game/design/stats.h": { + "mode": 420, + "sha256": "ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5" + }, + "src/game/effects/CMakeLists.txt": { + "mode": 420, + "sha256": "2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89" + }, + "src/game/effects/tech_effects.cpp": { + "mode": 420, + "sha256": "40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604" + }, + "src/game/effects/tech_effects.h": { + "mode": 420, + "sha256": "ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6" + }, + "src/game/effects/tech_id.cpp": { + "mode": 420, + "sha256": "11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6" + }, + "src/game/effects/tech_id.h": { + "mode": 420, + "sha256": "f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86" + }, + "src/game/events/CMakeLists.txt": { + "mode": 420, + "sha256": "9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2" + }, + "src/game/events/event_log.cpp": { + "mode": 420, + "sha256": "3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1" + }, + "src/game/events/event_log.h": { + "mode": 420, + "sha256": "2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953" + }, + "src/game/events/research_events.cpp": { + "mode": 420, + "sha256": "9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253" + }, + "src/game/events/research_events.h": { + "mode": 420, + "sha256": "b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22" + }, + "src/game/nav/CMakeLists.txt": { + "mode": 420, + "sha256": "79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a" + }, + "src/game/nav/pathplan.cpp": { + "mode": 420, + "sha256": "04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775" + }, + "src/game/nav/pathplan.h": { + "mode": 420, + "sha256": "28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7" + }, + "src/game/sim/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116" + }, + "src/game/sim/colony.cpp": { + "mode": 420, + "sha256": "e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77" + }, + "src/game/sim/colony.h": { + "mode": 420, + "sha256": "357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47" + }, + "src/game/sim/construction.cpp": { + "mode": 420, + "sha256": "8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130" + }, + "src/game/sim/construction.h": { + "mode": 420, + "sha256": "a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460" + }, + "src/game/sim/economy.cpp": { + "mode": 420, + "sha256": "1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89" + }, + "src/game/sim/economy.h": { + "mode": 420, + "sha256": "6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a" + }, + "src/game/sim/movement.cpp": { + "mode": 420, + "sha256": "80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2" + }, + "src/game/sim/movement.h": { + "mode": 420, + "sha256": "9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441" + }, + "src/game/sim/numeric.h": { + "mode": 420, + "sha256": "88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2" + }, + "src/game/sim/observed.cpp": { + "mode": 420, + "sha256": "43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22" + }, + "src/game/sim/observed.h": { + "mode": 420, + "sha256": "0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f" + }, + "src/game/sim/player_turn.cpp": { + "mode": 420, + "sha256": "beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2" + }, + "src/game/sim/player_turn.h": { + "mode": 420, + "sha256": "f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a" + }, + "src/game/sim/research.cpp": { + "mode": 420, + "sha256": "95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89" + }, + "src/game/sim/research.h": { + "mode": 420, + "sha256": "e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9" + }, + "src/game/sim/rng.h": { + "mode": 420, + "sha256": "f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c" + }, + "src/game/sim/scriptobjects.cpp": { + "mode": 420, + "sha256": "a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2" + }, + "src/game/sim/scriptobjects.h": { + "mode": 420, + "sha256": "210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b" + }, + "src/game/sim/species.h": { + "mode": 420, + "sha256": "83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298" + }, + "src/game/sim/techgraph.cpp": { + "mode": 420, + "sha256": "81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8" + }, + "src/game/sim/techgraph.h": { + "mode": 420, + "sha256": "b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e" + }, + "src/game/sim/tuning.h": { + "mode": 420, + "sha256": "4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194" + }, + "src/game/sim/visibility.cpp": { + "mode": 420, + "sha256": "25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0" + }, + "src/game/sim/visibility.h": { + "mode": 420, + "sha256": "783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f" + }, + "src/mars/parse/CMakeLists.txt": { + "mode": 420, + "sha256": "76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9" + }, + "src/mars/parse/blocks.cpp": { + "mode": 420, + "sha256": "e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b" + }, + "src/mars/parse/blocks.h": { + "mode": 420, + "sha256": "1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1" + }, + "src/mars/parse/effect.cpp": { + "mode": 420, + "sha256": "beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9" + }, + "src/mars/parse/effect.h": { + "mode": 420, + "sha256": "aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44" + }, + "src/mars/parse/result.h": { + "mode": 420, + "sha256": "58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9" + }, + "src/mars/parse/script.h": { + "mode": 420, + "sha256": "69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3" + }, + "src/mars/parse/value.cpp": { + "mode": 420, + "sha256": "712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623" + }, + "src/mars/parse/value.h": { + "mode": 420, + "sha256": "60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38" + }, + "src/mars/rng/CMakeLists.txt": { + "mode": 420, + "sha256": "dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc" + }, + "src/mars/rng/mt19937.cpp": { + "mode": 420, + "sha256": "0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b" + }, + "src/mars/rng/mt19937.h": { + "mode": 420, + "sha256": "300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e" + }, + "src/mars/stream/CMakeLists.txt": { + "mode": 420, + "sha256": "95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a" + }, + "src/mars/stream/archive.h": { + "mode": 420, + "sha256": "84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e" + }, + "src/mars/stream/bytes.h": { + "mode": 420, + "sha256": "9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1" + }, + "src/mars/stream/dump.cpp": { + "mode": 420, + "sha256": "1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16" + }, + "src/mars/stream/dump.h": { + "mode": 420, + "sha256": "a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f" + }, + "src/mars/stream/gzip.cpp": { + "mode": 420, + "sha256": "20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644" + }, + "src/mars/stream/gzip.h": { + "mode": 420, + "sha256": "6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9" + }, + "src/mars/stream/node.h": { + "mode": 420, + "sha256": "eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860" + }, + "src/mars/stream/probe.h": { + "mode": 420, + "sha256": "6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13" + }, + "src/mars/stream/reader.cpp": { + "mode": 420, + "sha256": "90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3" + }, + "src/mars/stream/reader.h": { + "mode": 420, + "sha256": "900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4" + }, + "src/mars/stream/save.cpp": { + "mode": 420, + "sha256": "6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049" + }, + "src/mars/stream/save.h": { + "mode": 420, + "sha256": "b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469" + }, + "src/mars/stream/savedump_main.cpp": { + "mode": 420, + "sha256": "8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c" + }, + "src/mars/stream/schema.h": { + "mode": 420, + "sha256": "b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05" + }, + "src/mars/stream/shapes.h": { + "mode": 420, + "sha256": "45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d" + }, + "src/mars/stream/writer.cpp": { + "mode": 420, + "sha256": "54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083" + }, + "src/mars/stream/writer.h": { + "mode": 420, + "sha256": "921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340" + }, + "src/mars/text/CMakeLists.txt": { + "mode": 420, + "sha256": "dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436" + }, + "src/mars/text/csv.cpp": { + "mode": 420, + "sha256": "b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af" + }, + "src/mars/text/csv.h": { + "mode": 420, + "sha256": "3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917" + }, + "src/mars/text/flat_kv.cpp": { + "mode": 420, + "sha256": "b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47" + }, + "src/mars/text/flat_kv.h": { + "mode": 420, + "sha256": "d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292" + }, + "src/mars/text/lines.h": { + "mode": 420, + "sha256": "b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65" + }, + "src/mars/text/manifest.cpp": { + "mode": 420, + "sha256": "4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e" + }, + "src/mars/text/manifest.h": { + "mode": 420, + "sha256": "dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102" + }, + "src/mars/text/result.h": { + "mode": 420, + "sha256": "7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606" + }, + "src/mars/text/value.cpp": { + "mode": 420, + "sha256": "94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479" + }, + "src/mars/text/value.h": { + "mode": 420, + "sha256": "d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07" + }, + "src/mars/vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786" + }, + "src/mars/vfs/path.cpp": { + "mode": 420, + "sha256": "e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb" + }, + "src/mars/vfs/path.h": { + "mode": 420, + "sha256": "043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033" + }, + "src/mars/vfs/result.h": { + "mode": 420, + "sha256": "19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748" + }, + "src/mars/vfs/vfs.cpp": { + "mode": 420, + "sha256": "ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba" + }, + "src/mars/vfs/vfs.h": { + "mode": 420, + "sha256": "2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90" + }, + "src/mars/vfs/zip_archive.cpp": { + "mode": 420, + "sha256": "d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87" + }, + "src/mars/vfs/zip_archive.h": { + "mode": 420, + "sha256": "0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d" + }, + "src/shim/binkw32.def": { + "mode": 420, + "sha256": "fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235" + }, + "src/shim/fpu_force.cpp": { + "mode": 420, + "sha256": "c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d" + }, + "src/shim/fpu_force.h": { + "mode": 420, + "sha256": "75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06" + }, + "src/shim/hooks/ai_orders.cpp": { + "mode": 420, + "sha256": "091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434" + }, + "src/shim/hooks/ai_orders.h": { + "mode": 420, + "sha256": "6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053" + }, + "src/shim/hooks/ai_rng.cpp": { + "mode": 420, + "sha256": "b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289" + }, + "src/shim/hooks/ai_rng.h": { + "mode": 420, + "sha256": "1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08" + }, + "src/shim/hooks/ai_visit.cpp": { + "mode": 420, + "sha256": "cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31" + }, + "src/shim/hooks/ai_visit.h": { + "mode": 420, + "sha256": "8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189" + }, + "src/shim/hooks/budget_inputs.cpp": { + "mode": 420, + "sha256": "fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b" + }, + "src/shim/hooks/budget_inputs.h": { + "mode": 420, + "sha256": "56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548" + }, + "src/shim/hooks/colony_inputs.cpp": { + "mode": 420, + "sha256": "7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e" + }, + "src/shim/hooks/colony_inputs.h": { + "mode": 420, + "sha256": "87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9" + }, + "src/shim/hooks/colony_turn.cpp": { + "mode": 420, + "sha256": "b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420" + }, + "src/shim/hooks/colony_turn.h": { + "mode": 420, + "sha256": "a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6" + }, + "src/shim/hooks/compute_budget.cpp": { + "mode": 420, + "sha256": "76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906" + }, + "src/shim/hooks/compute_budget.h": { + "mode": 420, + "sha256": "f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa" + }, + "src/shim/hooks/dictionaries.cpp": { + "mode": 420, + "sha256": "b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b" + }, + "src/shim/hooks/dictionaries.h": { + "mode": 420, + "sha256": "ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0" + }, + "src/shim/hooks/draw_sites.cpp": { + "mode": 420, + "sha256": "e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79" + }, + "src/shim/hooks/draw_sites.h": { + "mode": 420, + "sha256": "0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13" + }, + "src/shim/hooks/event_inputs.cpp": { + "mode": 420, + "sha256": "eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b" + }, + "src/shim/hooks/event_inputs.h": { + "mode": 420, + "sha256": "c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731" + }, + "src/shim/hooks/fleet_movement.cpp": { + "mode": 420, + "sha256": "f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0" + }, + "src/shim/hooks/fleet_movement.h": { + "mode": 420, + "sha256": "dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af" + }, + "src/shim/hooks/global_consts.cpp": { + "mode": 420, + "sha256": "87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1" + }, + "src/shim/hooks/global_consts.h": { + "mode": 420, + "sha256": "b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265" + }, + "src/shim/hooks/movement_inputs.cpp": { + "mode": 420, + "sha256": "0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502" + }, + "src/shim/hooks/movement_inputs.h": { + "mode": 420, + "sha256": "32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a" + }, + "src/shim/hooks/player_turn.cpp": { + "mode": 420, + "sha256": "33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23" + }, + "src/shim/hooks/player_turn.h": { + "mode": 420, + "sha256": "a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0" + }, + "src/shim/hooks/player_turn_inputs.cpp": { + "mode": 420, + "sha256": "993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799" + }, + "src/shim/hooks/player_turn_inputs.h": { + "mode": 420, + "sha256": "ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71" + }, + "src/shim/hooks/probe_entry.cpp": { + "mode": 420, + "sha256": "5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506" + }, + "src/shim/hooks/probe_entry.h": { + "mode": 420, + "sha256": "f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f" + }, + "src/shim/hooks/research.cpp": { + "mode": 420, + "sha256": "dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83" + }, + "src/shim/hooks/research.h": { + "mode": 420, + "sha256": "a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84" + }, + "src/shim/hooks/rng_ledger.cpp": { + "mode": 420, + "sha256": "119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb" + }, + "src/shim/hooks/rng_ledger.h": { + "mode": 420, + "sha256": "0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30" + }, + "src/shim/hooks/system_output.cpp": { + "mode": 420, + "sha256": "93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4" + }, + "src/shim/hooks/system_output.h": { + "mode": 420, + "sha256": "62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738" + }, + "src/shim/hooks/tail_rng.cpp": { + "mode": 420, + "sha256": "9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07" + }, + "src/shim/hooks/tail_rng.h": { + "mode": 420, + "sha256": "b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b" + }, + "src/shim/hooks/tech_effect_fields.cpp": { + "mode": 420, + "sha256": "4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3" + }, + "src/shim/hooks/tech_effect_fields.h": { + "mode": 420, + "sha256": "22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420" + }, + "src/shim/hooks/tech_effects.cpp": { + "mode": 420, + "sha256": "2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714" + }, + "src/shim/hooks/tech_effects.h": { + "mode": 420, + "sha256": "ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320" + }, + "src/shim/hooks/watchpoints.cpp": { + "mode": 420, + "sha256": "15c94333f22bb592129efe3fb800ea89987045f9ebbc0e6791d4397961fd727d" + }, + "src/shim/hooks/watchpoints.h": { + "mode": 420, + "sha256": "639ae42b230fb31762f50cac0422dcd5b7fda7a1a02c7739a86d1cd6eda62277" + }, + "src/shim/main.cpp": { + "mode": 420, + "sha256": "eebdac7f8f69b8b95cd290c96d41c6f3f0ed5c45ccd5de54ffc790af47083b99" + }, + "src/shim/shim.cfg": { + "mode": 420, + "sha256": "44ca58394455549150c3461cc888128a968b4f062807e19ef25b8eebf0bfd523" + }, + "src/shim/shim.cfg.b4compare": { + "mode": 420, + "sha256": "68bed5883a75132eb5e885b4750d23c1d5734c843a32a56dc7f96d2b73fdf962" + }, + "src/shim/shim.cfg.b4scout": { + "mode": 420, + "sha256": "faac0765478d88b63f371fbc307512e71fe05f2e6f97272e6e0ceb267cc6d626" + }, + "src/shim/shim.cfg.b4trace": { + "mode": 420, + "sha256": "6a89cdd3cfdf53cfbaff29278fd5d0edf156ad8a525c61624b60ddb1eb0575a1" + }, + "src/shim/shim.cfg.bupin": { + "mode": 420, + "sha256": "39d52ef1ccb18d4dea261b87d3f363ba45079022d1b9bc3531c552ef6df80ec2" + }, + "src/shim/shim.cfg.cbcapture": { + "mode": 420, + "sha256": "0939b1ea144976ded2d45ad885fa0f1ffa3d77f16cba9b4d5a9cb87623500a62" + }, + "src/shim/shim.cfg.cboff": { + "mode": 420, + "sha256": "7d5d6e2ceb7f86fd17543c9212e8547be6009f725871aadbaf6057af1f4f5484" + }, + "src/shim/shim.cfg.cbpin": { + "mode": 420, + "sha256": "72a222c025796458dc1a538eed3ea55f053ee5e3c01e5b19b802922a058d4fbe" + }, + "src/shim/shim.cfg.cbtrap": { + "mode": 420, + "sha256": "938c0893b95b576b75927d75787999c22b3424d28c8936456ea3723f62775e51" + }, + "src/shim/shim.cfg.crcompare": { + "mode": 420, + "sha256": "129031ceb358fef9e0fcee2fb42a0f20fd76d9db78f061f956bf75ce2cc51dec" + }, + "src/shim/shim.cfg.croff": { + "mode": 420, + "sha256": "f99345e7db55e695ecabf7a00fc16ced9a42e8882abfeabc8281b9a4ef26d730" + }, + "src/shim/shim.cfg.crreplace0": { + "mode": 420, + "sha256": "60c13bd76e546b4521ab4e6a7836439078e2a176a11e471e03434623153cb7d9" + }, + "src/shim/shim.cfg.crreplace1": { + "mode": 420, + "sha256": "d27f43eb970d6a9c8a0c8d8f7071633a226c34b675a6581b331c6e1ba6f36c9b" + }, + "src/shim/shim.cfg.fpu007f": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "src/shim/shim.cfg.fpu027f": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "src/shim/shim.cfg.fpu127f": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "src/shim/shim.cfg.fpu137f": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "src/shim/shim.cfg.fpu1a7f": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "src/shim/shim.cfg.fpuoff": { + "mode": 420, + "sha256": "ce637b3f0eca81c04490335cd9fe8a537cd09e5ef14cc5b3050f548ca4d54c65" + }, + "src/shim/shim.cfg.hoff": { + "mode": 420, + "sha256": "dc9b4619fe84921ea5896c2cd190afb5bd4ca89422fb86bfee8459665f92cd7a" + }, + "src/shim/shim.cfg.hp0": { + "mode": 420, + "sha256": "ede723fc540adb94bf16af0f3086c1935aac008acb6a8d550e2a4e97ff232c2c" + }, + "src/shim/shim.cfg.hp10": { + "mode": 420, + "sha256": "1c1f07dfdb7f99d63ed9a62aa9a447efda690623164beeaf434c588e02ef12cd" + }, + "src/shim/shim.cfg.hp11": { + "mode": 420, + "sha256": "36eae0d554a79b9536e3c57d2fef187ae81bd3266947c7f45035be554fb59404" + }, + "src/shim/shim.cfg.hp4": { + "mode": 420, + "sha256": "5bb0d636247c37def9b5cbf0cc9138b13590a50ae8212890fb7d31dfb9e837f4" + }, + "src/shim/shim.cfg.hp8": { + "mode": 420, + "sha256": "a8fe5f16a299b2b9eb81a811c7ec5a3b1baf635fa179a69f1e23243c7d1e2133" + }, + "src/shim/shim.cfg.hp9": { + "mode": 420, + "sha256": "765fdf337bb6942dbd1357166646dbf7fde3777678a606c4dbfd368078f09b5d" + }, + "src/shim/shim.cfg.hpall": { + "mode": 420, + "sha256": "630f99725ea6aa933984f4c545634d127787672de36f6756da2591e22a36f366" + }, + "src/shim/shim.cfg.hprobes": { + "mode": 420, + "sha256": "3bad5e3e7bf35a85acc7169d27531788e9659dbe0f8b1a0c719777fdb6beb5dc" + }, + "src/shim/shim.cfg.hprobes2": { + "mode": 420, + "sha256": "c335f1ec8aeff1165213cd40adcdcd59893c65edf95b1537fc4460e6060911c5" + }, + "src/shim/shim.cfg.l1control": { + "mode": 420, + "sha256": "c5dec81556268795b9a3df175bafde340a3fe76c7d6e05389e09e79d2b138b43" + }, + "src/shim/shim.cfg.l1hive": { + "mode": 420, + "sha256": "970ce465f2363f391a93086f1b596e904265510e02e7d2d38174cc6ea22d9b25" + }, + "src/shim/shim.cfg.l1off": { + "mode": 420, + "sha256": "a4197233c65acb876328666cf37754aea96f942b6ea08105bdfb61d6d5bcbd64" + }, + "src/shim/shim.cfg.l1seed": { + "mode": 420, + "sha256": "360af979eaa0c13eaa4db38ff13dcc64b3e2ab538300c26497921301fd3817b9" + }, + "src/shim/shim.cfg.l1snlv": { + "mode": 420, + "sha256": "3603508983a87906ecce02e4c2e9581cf2fa59390af25335f0b221765c57ef6d" + }, + "src/shim/shim.cfg.l3cont": { + "mode": 420, + "sha256": "629530a34412ebf85fc8ce8d2e5931684eea9891b6b619419e6f8db8c37f0976" + }, + "src/shim/shim.cfg.l3control": { + "mode": 420, + "sha256": "42b6ec7ebc9c83dae4a58884803f627d54956eb308611ce1e8d3691a12a74ccb" + }, + "src/shim/shim.cfg.l3probe": { + "mode": 420, + "sha256": "692dabb6f00343bfcc2f86d62ade827c295acc4630a18a1f2ddcebd53640978d" + }, + "src/shim/shim.cfg.l4control": { + "mode": 420, + "sha256": "ab13b7e3604ee98e9372e3405e0eacb6d5965e02d5317cfee0ea9b9afbd750e3" + }, + "src/shim/shim.cfg.l4dump": { + "mode": 420, + "sha256": "fb40d67d8d7dca4587a1dc13a95826ab68eb3fcf44feb6006388935f3ee346f2" + }, + "src/shim/shim.cfg.l4off": { + "mode": 420, + "sha256": "629a3e41d11daa53325f31aeb77d14d5abe67058e274d36ed8feb71e2e30dc13" + }, + "src/shim/shim.cfg.l4probes": { + "mode": 420, + "sha256": "a446ff3d6117d5352ad9b3c3c02f6d6300ce0b1089f055925afe19b77f0a20f3" + }, + "src/shim/shim.cfg.l4research": { + "mode": 420, + "sha256": "ad400f7082680db82c6fb0d39eed488710e6661f9e3215b9ea2eb0ba53444b9b" + }, + "src/shim/shim.cfg.l5budget": { + "mode": 420, + "sha256": "74df0fa1bd14fec6e8028ba05c516f3a370ba389386e5a8459d594c2c7ad83ae" + }, + "src/shim/shim.cfg.l5control": { + "mode": 420, + "sha256": "3557f716dde348a98fda65a5bad54911fe6d52f75c2cf6a82cc5d4fc47a6e968" + }, + "src/shim/shim.cfg.output": { + "mode": 420, + "sha256": "a811cffac230a1d6c0f9c5adacb1b691ae289ec08de0da3726309a4e1213acb0" + }, + "src/shim/shim.cfg.parbr": { + "mode": 420, + "sha256": "ea8230b596e7baae0c127f5700391ec2c96d546daba8c70ce8b2800c83b096dd" + }, + "src/shim/shim.cfg.parctl": { + "mode": 420, + "sha256": "2d1190d032bb705030746197020c715f4ab8af551f944e9ec0abe136912ea60d" + }, + "src/shim/shim.cfg.parorders": { + "mode": 420, + "sha256": "2107be5ec950e69d01c43ab30919fbfe652823878f150111b158927bc41de8d6" + }, + "src/shim/shim.cfg.parpin": { + "mode": 420, + "sha256": "893f1f81cdef0a964145ebb1c4b1e2725af8868b14fed412d40e3cce71f824f4" + }, + "src/shim/shim.cfg.recapb1": { + "mode": 420, + "sha256": "688840567305218dada122b29284f6af44c3c63ca173db87406de159bb547c8f" + }, + "src/shim/shim.cfg.recapb3": { + "mode": 420, + "sha256": "2120646255bd70adf29ed2880daa6b11d0867b9cfc9f1c9644d63b92c263b69b" + }, + "src/shim/shim.cfg.recapmisc": { + "mode": 420, + "sha256": "cb1f794c51b5d3d74eb91cc084c96a04444cd79f22fc694d821b51924544f595" + }, + "src/shim/shim.cfg.recaptrace": { + "mode": 420, + "sha256": "0ae410cc72fe155837d711c78543e14b1f5743310cd023298eb1e5bbd5457e71" + }, + "src/shim/shim.cfg.sdbr": { + "mode": 420, + "sha256": "7cb2bfd798ed1286628f3a879606eff076c4f6011d95e1223376eb4d0a392ca8" + }, + "src/shim/shim.cfg.sdoff": { + "mode": 420, + "sha256": "9195aeddeb2caa4e3db7dfd775c43e96eb99cfdc59a6a61e65d86fb325f0054a" + }, + "src/shim/shim.cfg.sdpin": { + "mode": 420, + "sha256": "61119f197b1dc8ddcad059d2d2c2753dae457b4bda4eb29e06c78282eeda6a0b" + }, + "src/shim/shim.cfg.sdpin2": { + "mode": 420, + "sha256": "d6d7f82b500df4f3ed120b4ff421178cf4373a145fa803e57d22a0654e4f0f63" + }, + "src/shim/shim.cfg.tturn": { + "mode": 420, + "sha256": "2ab2d64288043c3c55fde668facde9307c0739e0c801c900790e11db57c5759b" + }, + "src/shim/shim.cfg.tturncmp": { + "mode": 420, + "sha256": "114d325ae3ece29422069ee74c790603abb38c49162dd32520a3eecd18ab6061" + }, + "src/shim/shim.cfg.w2control": { + "mode": 420, + "sha256": "d042c0082a8eb4f55b8e21983df292f0950adc4ac5787d4a0b83088c10c5a3eb" + }, + "src/shim/shim.cfg.w2watch": { + "mode": 420, + "sha256": "ddb9c18a1c6b6c23758e51ca9ac18b4b95abe206b162497adc2978c0384d6ee5" + }, + "src/shim/shim.cfg.w3control": { + "mode": 420, + "sha256": "c6a3a5ea1e39a0714dffee0e44a0e8d91a2b450534d7e4377273a55b3e87de8c" + }, + "src/shim/shim.cfg.w3mod": { + "mode": 420, + "sha256": "7c7f82aaa8b5b007a740324373060ca2ba84edc765eb4e7ce55afcaba4e1c2e0" + }, + "src/shim/shim.cfg.w3tshn": { + "mode": 420, + "sha256": "51fa826d0b18d6f01987d6748e6610847ec3a761257ffc382a40d234670afec3" + }, + "src/shim/shim.cfg.zledger": { + "mode": 420, + "sha256": "31d0535aff9660eb1ad06f529c88a42aa71b83b36f8404b7541a29327c508a51" + }, + "src/shim/trace/emitter.cpp": { + "mode": 420, + "sha256": "4253cac49f0761e487fd555c3c01e02fa22e2010789ad3af37c62c8fd2e02030" + }, + "src/shim/trace/emitter.h": { + "mode": 420, + "sha256": "aa7804614b3d3a214d5c32c33ed245ae24276979080baa9d5481d6594ee3f79d" + }, + "src/shim/trace/hook.h": { + "mode": 420, + "sha256": "35be73ac1c9519664957ffea639d873e8a811b4620f0feecb21b54ea2776f800" + }, + "src/shim/trace/platform.h": { + "mode": 420, + "sha256": "f1b78d971798e45998b26c6b0e20db49fceb7d4c63f0c8c37452c6c2c6df9538" + }, + "src/shim/trace/selftest.cpp": { + "mode": 420, + "sha256": "31461ae6d329a8a3856589b245f3bcf8631f0db9a5e00530e4f94279950de354" + }, + "src/shim/trace/selftest.h": { + "mode": 420, + "sha256": "583d7a10ef04254c7a0fb7dd2a6071ad012a9a97dfae0896bbd598970b206475" + }, + "src/shim/trace/sha256.cpp": { + "mode": 420, + "sha256": "2faf44b5b273612c776204c1d83e0910d86394f4f6207129a01c81dedc170aa8" + }, + "src/shim/trace/sha256.h": { + "mode": 420, + "sha256": "31ce080acdc086ff7657d9093ac9bea438203eaa8e392ca38539152cdd15038f" + }, + "src/shim/trace/tracer.cpp": { + "mode": 420, + "sha256": "37d9490dbdedc399ecdb30f46eb27f31a4ff8c902eadb2eb48ecca7fb0e8fb88" + }, + "src/shim/trace/tracer.h": { + "mode": 420, + "sha256": "cbb80f167b8f98777f9fb58ce107226f42027ffdbd868a6808047c48caf10f76" + }, + "tests/addr_smoke.cpp": { + "mode": 420, + "sha256": "ace1ab9549bb6f3e0048d0e6e3ec6061035395581b2db46c0a5acb097c428890" + }, + "tests/app/CMakeLists.txt": { + "mode": 420, + "sha256": "dd18f8e25d2a9ce988dc226e03c7c6e02a275bbbea74f505d005e42ca5972037" + }, + "tests/app/test_alliance.cpp": { + "mode": 420, + "sha256": "671b2cb3295f360c61ee87005287999710d12e10e7e532331c1c946ab97f7c4d" + }, + "tests/app/test_catalog.cpp": { + "mode": 420, + "sha256": "c4cd9840c1f1b5d5a6829f7f1c5a0245b5e66135d3bed6410a2b6eca1a037225" + }, + "tests/app/test_command_replay.cpp": { + "mode": 420, + "sha256": "739ebeea5bed551f232774bc812bcb794cfa057015fd187529fa563b5d7ae5eb" + }, + "tests/app/test_event_phase.cpp": { + "mode": 420, + "sha256": "05498df256759fe5b8af80e9e56c2ca071eb26de0651f257798fe1641da627ca" + }, + "tests/app/test_trade_raid.cpp": { + "mode": 420, + "sha256": "2158008bc711b8062381f346fa347a430582d8d1943b0de5f40eb2a38e9a3f75" + }, + "tests/app/test_treaty.cpp": { + "mode": 420, + "sha256": "0f98150a3f9397fd12109eae7359ff7e04a4060e10e01ecf1693eb2a4606ead7" + }, + "tests/app/test_turn.cpp": { + "mode": 420, + "sha256": "6d45b1d2d065528f14ae83d95314f2b6559e53cc23f1b9e2531c7c09b4b97eab" + }, + "tests/app/test_turn_record.cpp": { + "mode": 420, + "sha256": "a845971b8d25d71c3b1138495354ad392e4fc298f87eb9b89d1567c01ab59cde" + }, + "tests/game_ai/CMakeLists.txt": { + "mode": 420, + "sha256": "a57a82d0c79ff933564e200a5b3137f120e70a19834264eeb2438c4cafd7ad3e" + }, + "tests/game_ai/test_agent.cpp": { + "mode": 420, + "sha256": "41cb3fbfc7e0b277771a2e8dd17601285a1e3a911543fc1335ce05a4e4b5f11c" + }, + "tests/game_ai/test_apply_order.cpp": { + "mode": 420, + "sha256": "8669c2e9a4c95b670a9c41262c68ce183d3cf3900bc262e0a2e33500bfffc594" + }, + "tests/game_ai/test_command_capture.cpp": { + "mode": 420, + "sha256": "8c2bae38754b347beeefe85d796c13bcf43cf5bc9bc99eb743626028b4dbd7ab" + }, + "tests/game_ai/test_live_blocks.cpp": { + "mode": 420, + "sha256": "44cb6bd8b34c13e329f9b1d50bb2a5c5513e52761537dccfb01afb7d48be7580" + }, + "tests/game_ai/test_orders.cpp": { + "mode": 420, + "sha256": "b13d1a3a628de411abb4faf024a1ce8d3e94518f12285bb3d7e7e86b012ad43f" + }, + "tests/game_ai/test_tasks.cpp": { + "mode": 420, + "sha256": "ffd8eed7fa76a24616d579a4e31031dadf43a0534e33743fb104dfca552367fc" + }, + "tests/game_ai/test_turn_order.cpp": { + "mode": 420, + "sha256": "382d6a30e9151c57849595cb134b8e2da25d2763738c9cbfa18d3cad51ecce97" + }, + "tests/game_combat/CMakeLists.txt": { + "mode": 420, + "sha256": "fd0c0dfb54033353b7014e3c764c916522cb529b6b3eae8a8d52afd044c13fe2" + }, + "tests/game_combat/test_retreat.cpp": { + "mode": 420, + "sha256": "3fb0be08d230bbd7c4ea4a59319de7ab252e5b7cbee924afd069847da8dcf73d" + }, + "tests/game_config/CMakeLists.txt": { + "mode": 420, + "sha256": "9874822d186e783f25b2dcd87495e7e380d873b8a0790c67fffb9430468094ed" + }, + "tests/game_config/manifest_tests.cpp": { + "mode": 420, + "sha256": "3bc62e7e49699254151a825421973d831b25bcf7a22028c789e3ca63b0d77319" + }, + "tests/game_config/replay_trace.cpp": { + "mode": 420, + "sha256": "83602ec974b8195c3616230ad44c2d4fd6032f8ef5f96e7aa76d49a0a04ac05e" + }, + "tests/game_config/unit_tests.cpp": { + "mode": 420, + "sha256": "45b07c7289abac61fccd0a6cd0ff87812542ec888eb6d295fb87c3f57755cc6a" + }, + "tests/game_data/CMakeLists.txt": { + "mode": 420, + "sha256": "cb8cffb7217e82077d3db749dcacf29c098549159cc0f312ef04bfccaa30155d" + }, + "tests/game_data/build_and_run.sh": { + "mode": 493, + "sha256": "69ea9cb94468c56c329fcc5b9350431067e97091ed47c08bb10b57b38412883a" + }, + "tests/game_data/dump_catalog.cpp": { + "mode": 420, + "sha256": "4588e699c69586dfb77f0d9289e375407d4f9cf019690e26bfc78f7182167c89" + }, + "tests/game_data/oracle/compare.py": { + "mode": 420, + "sha256": "2cfe1ac93790de3351256d284392372721f94de5375686e6301ef39b1943ad12" + }, + "tests/game_data/realdata_test.cpp": { + "mode": 420, + "sha256": "334a924bf81c6ce6192a6688435b374e115382358f7e4554aa164295bdd38321" + }, + "tests/game_data/test_catalog.cpp": { + "mode": 420, + "sha256": "9ea5c3fff2388c5d7fbf295123dfd7b702ef21f17fc7c45a970822814abfce2e" + }, + "tests/game_data/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_data/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_data/test_shipsection.cpp": { + "mode": 420, + "sha256": "b3519f0de60d061a6f1ab8ee81d470a28fc17cc81b113639ef2c1e139c249b4c" + }, + "tests/game_data/test_techtree.cpp": { + "mode": 420, + "sha256": "d05c889da9edb622bd2b66aa8e300d8162e0c8788950daa1086fc049b90dd4bc" + }, + "tests/game_data/test_turrets.cpp": { + "mode": 420, + "sha256": "66adff30b974e9bf2c96c1af024fb85677e1a8307c801933d23f3d2ec9d8222c" + }, + "tests/game_data/test_weapon.cpp": { + "mode": 420, + "sha256": "b16b0481c0a8697ff16e39c9feb3ad9d5406250b7dd1c828bf12f1bb40ed746b" + }, + "tests/game_design/CMakeLists.txt": { + "mode": 420, + "sha256": "a26524ff14878564870853bc067c379d2ebd26c14e45bcbb06593d300ee4b3ca" + }, + "tests/game_design/build_and_run.sh": { + "mode": 493, + "sha256": "b1aab4d13b09fb1ea4205978bd7d8b05af5a6422ebe4a34261c3247489b48bd7" + }, + "tests/game_design/dump_designs.cpp": { + "mode": 420, + "sha256": "b1b24c5cb534ad821a20325869713c04b742c541c448ade83543d75608f7eda2" + }, + "tests/game_design/json_min.h": { + "mode": 420, + "sha256": "9cfd3eabe9b36d6b2863872e08fe6ebaddf0749d1966dea693f8bbc0472780ac" + }, + "tests/game_design/mini_catalog.cpp": { + "mode": 420, + "sha256": "5817c0251883c999c6ebd54c77fdcf3981181b41fb5f7637d445824d60942810" + }, + "tests/game_design/mini_catalog.h": { + "mode": 420, + "sha256": "ecb7fd0dffa8709008bcdf9b9da3e70e68f735f9b5ecd0dcb4c871a35ae43b59" + }, + "tests/game_design/oracle/compare.py": { + "mode": 420, + "sha256": "2db14952f7fca9a587995e326651b0d549b39ceefd9c0ac59982cd35ae5d21e7" + }, + "tests/game_design/realdata_test.cpp": { + "mode": 420, + "sha256": "cea57cd53d881b3bf2557cc32ea402c4991aa6de5ff72340861f195a8e20c141" + }, + "tests/game_design/stock_designs.cpp": { + "mode": 420, + "sha256": "2ac1b8bcb0f61852f4bc0a8b7cda51167531ca2a05d1e485991a4758cf586d03" + }, + "tests/game_design/stock_designs.h": { + "mode": 420, + "sha256": "a49173bde083467f5650cfbfbaebba5f16208d660fe7f2f3da81c2caff07c807" + }, + "tests/game_design/test_banks.cpp": { + "mode": 420, + "sha256": "c1d34991c53523cb7610a569e861e8a312da1fe659de0522a3594fb14cad24a6" + }, + "tests/game_design/test_census_saves.cpp": { + "mode": 420, + "sha256": "814c17c7a14db7b123579b7636ee7f2b720fdf4a5cbbe90f676dc01709c45e3b" + }, + "tests/game_design/test_hull.cpp": { + "mode": 420, + "sha256": "cff70268d58ab95ed963d335904110ab55c79d6a0f660f613409cf6d5d63e2bd" + }, + "tests/game_design/test_json.cpp": { + "mode": 420, + "sha256": "e7fa196274a4591834a974f742ff59c7ed1fb15fb138091b48a071354d001c5d" + }, + "tests/game_design/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_design/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_design/test_stats.cpp": { + "mode": 420, + "sha256": "a3681df901095b848cc6b1ae63d04fd70eeeadd406e7d51f3c76671cbf523a7a" + }, + "tests/game_design/test_structure.cpp": { + "mode": 420, + "sha256": "d09f7707ee170f8a933c657628c1da4f61a29c7eb2dc687a96c3985bdac941aa" + }, + "tests/game_design/test_tech.cpp": { + "mode": 420, + "sha256": "689c081a324c7ece3f70d711f7ac67a5b93207f95e2800a3a708f2f8dbe31965" + }, + "tests/game_effects/CMakeLists.txt": { + "mode": 420, + "sha256": "c80413a7103ce0ed7944fb096ad22fc206a091645428a6015ec3d0e442414a0a" + }, + "tests/game_effects/build_and_run.sh": { + "mode": 493, + "sha256": "ab5085eeab0ec65d8f7ddd7d79357cd15183888b1b4e51cb563810d4e4c64506" + }, + "tests/game_effects/test_effects.cpp": { + "mode": 420, + "sha256": "b10d804b1ad4fb140e13cc1984c6372dbbfdd92560f37583f2411bbcb45c16d4" + }, + "tests/game_events/CMakeLists.txt": { + "mode": 420, + "sha256": "c962651d71ee7783d5565b418f653f2954e489cf698762c5686f5f2dbb4304db" + }, + "tests/game_events/build_and_run.sh": { + "mode": 493, + "sha256": "8b92d249138ee53f728583a0c68b153eaf4e2ad7f92d415d8b3a83df2fb3ec28" + }, + "tests/game_events/test_events.cpp": { + "mode": 420, + "sha256": "182941b9b809b20d24a2e29c5e4bbd626e6da8486e87dc38d1c6088161ec793b" + }, + "tests/game_nav/CMakeLists.txt": { + "mode": 420, + "sha256": "7ee85557a167281f4576252428b4e01795232f31dc1d93c23b284568074cec3b" + }, + "tests/game_nav/test_pathplan.cpp": { + "mode": 420, + "sha256": "6229cc2b1be1ffffb3fbb812c2ccc89dba7099d349be3a6f8f2c2e26aa1dd58d" + }, + "tests/game_sim/CMakeLists.txt": { + "mode": 420, + "sha256": "563547cdd93bce41ef29a73289e5104a5df61f71cc980e49ea37cdbe26743be7" + }, + "tests/game_sim/build_and_run.sh": { + "mode": 493, + "sha256": "a9c42a931242c7f266f512b4d4ad11f6f8ecf43a447a06a04f174301ee19328a" + }, + "tests/game_sim/check.h": { + "mode": 420, + "sha256": "faddddc37a528f0235f510b249cfc1776ce30aff709329954f09093b01231221" + }, + "tests/game_sim/mini_json.h": { + "mode": 420, + "sha256": "710218b637aaf1a5eb7c49eaa7d158bc3e495135ec14bf8b41384769d0227ba5" + }, + "tests/game_sim/smoke_real_save.cpp": { + "mode": 420, + "sha256": "2432e92ac18fadfb1152c54d9dec9a77b3dbf506ea122401cbbd48584b7c9190" + }, + "tests/game_sim/test_colony.cpp": { + "mode": 420, + "sha256": "45355673c46cbaef66b2c81d04a845cf65b6ddfd9819350c7338d9771fafb6fe" + }, + "tests/game_sim/test_construction.cpp": { + "mode": 420, + "sha256": "8df75076a3f460e949e34100d55acf60b054603da6d4aeda4f73297442c06e21" + }, + "tests/game_sim/test_economy.cpp": { + "mode": 420, + "sha256": "43fe658fd2347e3667a901afa642713d70c85ef0ec75094642da2d05b9ca471b" + }, + "tests/game_sim/test_movement.cpp": { + "mode": 420, + "sha256": "1927c371d52115458d88552014cef30bba60e9bef5eb3acfce11b2bc623e06a6" + }, + "tests/game_sim/test_observed.cpp": { + "mode": 420, + "sha256": "1f6ad16c1a2c80f0621573b5196989b0349e47351585d83835be5e27f6ef3fe4" + }, + "tests/game_sim/test_player_turn.cpp": { + "mode": 420, + "sha256": "13f76eaa6cad265deec25416acf0cae2028d6cd1c7b9585df6e9252ba3f0cbed" + }, + "tests/game_sim/test_research.cpp": { + "mode": 420, + "sha256": "3dc668eb889c41f58db6007a96f54fe2a6d56ee6501a298fba3afbbe9637baf6" + }, + "tests/game_sim/test_scriptobjects.cpp": { + "mode": 420, + "sha256": "dfe90a42bcd2844c2ea3666816f97c05237206bf44467ac29790c72b7b498582" + }, + "tests/game_sim/test_techgraph.cpp": { + "mode": 420, + "sha256": "0627ea1c8012b90b62285cae2f31599ba8a8cd47928452910ade91f93502d68e" + }, + "tests/game_sim/test_visibility.cpp": { + "mode": 420, + "sha256": "ad756975b6605a164f2f9106daf2511730642eff354a866bc764a93a4be1efe7" + }, + "tests/mars_parse/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_parse/CMakeLists.txt": { + "mode": 420, + "sha256": "898204fbc1cec44f697e2803c8bc4887857950ba2b1192dd153de74d26de0ea4" + }, + "tests/mars_parse/build_and_run.sh": { + "mode": 493, + "sha256": "550c6df5fffbd85cfffc3312a03a5fa9d59c1e0416e883ddc2576cdb73eac6de" + }, + "tests/mars_parse/canon.cpp": { + "mode": 420, + "sha256": "63e2bcfb2820e7533aa3a287bcec6c318f7238006dce61ad35381562b979cd47" + }, + "tests/mars_parse/canon.h": { + "mode": 420, + "sha256": "c9a78b866d62c4e58643de2c4149572380a1392b411049c8fe74e37475d21d9e" + }, + "tests/mars_parse/oracle/dump.py": { + "mode": 420, + "sha256": "16e98089d5b532e35d6b88b3d50b4bb07e879c18512cf8d06cc5fd2aa9da1117" + }, + "tests/mars_parse/oracle_check.cpp": { + "mode": 420, + "sha256": "5eb81a0c2db8f96c6f8e51246ea9991642e5571dd94dd2e410e2fad632d47adb" + }, + "tests/mars_parse/test_blocks.cpp": { + "mode": 420, + "sha256": "f376a57891a83768ecc8b73ef5eb2333291c280760f7581ead53f7c2a71a4df5" + }, + "tests/mars_parse/test_effect.cpp": { + "mode": 420, + "sha256": "8bb14e7c718e772bfb4a22a7370f41080c49beabfa597ddd603be257bc310011" + }, + "tests/mars_parse/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/mars_parse/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_parse/test_value.cpp": { + "mode": 420, + "sha256": "a8dbe3326e5339cdad8fed7dd678df92e8a8b675d0b854f4cea6517bf557069d" + }, + "tests/mars_stream/CMakeLists.txt": { + "mode": 420, + "sha256": "31c69840e6e2e566d2e0bbaf49ab3dec712d27e505d0810ddf0496ce3ff321e0" + }, + "tests/mars_stream/build_and_run.sh": { + "mode": 493, + "sha256": "3737e42960b66e788a11cdd7fa9917fe255b6a4f60280e9f620593bf688aab41" + }, + "tests/mars_stream/oracle/compare.py": { + "mode": 493, + "sha256": "f39dd70e4bbf1952cf99e3437fd1ed6252249f3455a2d3c73311f98d8ff4370e" + }, + "tests/mars_stream/test_domains.cpp": { + "mode": 420, + "sha256": "08394777f7bc4186883cd02058f17fda8f47c3ee47049892bd8762c28b5aa959" + }, + "tests/mars_stream/test_rng.cpp": { + "mode": 420, + "sha256": "55f77273d8af5880f976a24fb00dcd8042b31a7a33f15c9f4b62fdb85bba9d0a" + }, + "tests/mars_stream/test_save.cpp": { + "mode": 420, + "sha256": "50250bb4b4f2da05f9453c541f080e018b68731f24cbf93278d50ca93ddd8d63" + }, + "tests/mars_stream/test_stream.cpp": { + "mode": 420, + "sha256": "d0da9ac2287910527bdac875ab39e0147a9be2f5535f04b55460438f31be2537" + }, + "tests/mars_stream/test_wire_schema.cpp": { + "mode": 420, + "sha256": "1cfd259f554be8218cb182dd1facc07f6cd3dea52f0daf7303393e78c7c2eb97" + }, + "tests/mars_text/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_text/CMakeLists.txt": { + "mode": 420, + "sha256": "20f8e0cfa044fb4e6b1caca0ec8d6536e012c1c4ea4454fe990923f40a201752" + }, + "tests/mars_text/build_and_run.sh": { + "mode": 493, + "sha256": "59ae392080c01be0c7f5530ecb9ae4fbdcc02366242b27527c14b8efd5076d0c" + }, + "tests/mars_text/dump_json.cpp": { + "mode": 420, + "sha256": "e246384902c3adf4fa8f2a54e38c4912f6b58f168ebc9b1e158a719e2a52b1bc" + }, + "tests/mars_text/oracle/compare.py": { + "mode": 493, + "sha256": "46a796196a413aa28a0069086e45c96399f21308153b578f063801eb997b54ef" + }, + "tests/mars_text/oracle/dump.py": { + "mode": 493, + "sha256": "53fde94f6676a5504a247cf209e2a42d67e108cc9ea0b02f289562799ee7d880" + }, + "tests/mars_text/realdata_test.cpp": { + "mode": 420, + "sha256": "a399ad5cf91cf35f78809f5b9b5cac8b2eff344dbfbab07b8b27bf66058e1e3b" + }, + "tests/mars_text/unit_tests.cpp": { + "mode": 420, + "sha256": "cd1e9e4f6e0e503d4d9b0902bd2936513293490cdc680f94639ce93661ca09d7" + }, + "tests/mars_vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "282015598e03430be0f47b779ce7087662415b3a59de14814cb3ba35c17af363" + }, + "tests/mars_vfs/build_and_run.sh": { + "mode": 493, + "sha256": "b6a8e7b0706d7416f548f071e742e600cab226663f7d4ad42299dbb76f631701" + }, + "tests/mars_vfs/make_fixture.py": { + "mode": 493, + "sha256": "57586249e57550869dd5adfbc4fdab173a59d2aee630ba69c20d562018d249f1" + }, + "tests/mars_vfs/realdata_test.cpp": { + "mode": 420, + "sha256": "c95248ae53d32bd5d8cf963ca3a39ea82e5ef08b76de736104b6aa34ec88c789" + }, + "tests/mars_vfs/test_main.cpp": { + "mode": 420, + "sha256": "cdb7bdf9b9356eb0b7f6cb0fab081cda2161b34af14ecf60cc44970e79d517c2" + }, + "tests/mars_vfs/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_vfs/unit_tests.cpp": { + "mode": 420, + "sha256": "de8da00718799886fbbc5820e0f7d0e468a31ab0608361fb509b0c12932c9caf" + }, + "tests/mars_vfs/vfs_cat.cpp": { + "mode": 420, + "sha256": "4a443e779de264f5c0c68a631b1a353b1310a4e838d342527befd8ad1e2a25bd" + }, + "tests/mars_vfs/zip_builder.h": { + "mode": 420, + "sha256": "a0f3688e5a90b7e209497d66d0dcd30a0e1ac59a56ffcbed31b2a50967c1da3a" + }, + "tests/shim_budget/CMakeLists.txt": { + "mode": 420, + "sha256": "88a0f43e433c3a6879a7f6cccf8c84ba4559009614a3fe5adf6c558ea7a47245" + }, + "tests/shim_budget/unit_tests.cpp": { + "mode": 420, + "sha256": "654e96d0880232d3090223a0d9f92f428aeffa528fbd5eca89d6bfe348aefce0" + }, + "tests/shim_colony/CMakeLists.txt": { + "mode": 420, + "sha256": "d7b2674971b0eda32b2edd62244c32af81cea9e6d984a24ca6648edbaea80e06" + }, + "tests/shim_colony/unit_tests.cpp": { + "mode": 420, + "sha256": "4cc41308c10fa1e6aa047fb6c26e4c655b727884bce87b5a9e8e2f76db665474" + }, + "tests/shim_events/CMakeLists.txt": { + "mode": 420, + "sha256": "2b43190a2ce88cf7227250aa5a3b48e3006d24f0d6f5e9a5e48507c2733e4c45" + }, + "tests/shim_events/unit_tests.cpp": { + "mode": 420, + "sha256": "0dc151a4aecb24217cc38cb818bbe760b3da2b08a23ad734b3fa8506d25fe2b4" + }, + "tests/shim_movement/CMakeLists.txt": { + "mode": 420, + "sha256": "46ffe5a9815b189283e4d5ef67a0dcd159f60da7f9ca4a3577669035fefdc1f8" + }, + "tests/shim_movement/unit_tests.cpp": { + "mode": 420, + "sha256": "ee6ee983aa72f078a7ae398ca5f828aba14370c898ae4e56063697d28919ad69" + }, + "tests/shim_player_turn/CMakeLists.txt": { + "mode": 420, + "sha256": "f6affa205f857d4a45f8be05ae0426b6f9a2e8e127f5aeadbac2ed8a4c4daddc" + }, + "tests/shim_player_turn/unit_tests.cpp": { + "mode": 420, + "sha256": "0a528cdf64904dfd22c94ea911a15213701e7912921f04c1909799e6e6240450" + }, + "tests/shim_rng_ledger/CMakeLists.txt": { + "mode": 420, + "sha256": "b6a349f2611ec1f1de2013145a97f3da59cefec81dbc4d2f3e58af507e598bb4" + }, + "tests/shim_rng_ledger/unit_tests.cpp": { + "mode": 420, + "sha256": "d38d80dd907a3468036dbca2b017718b199ab4a0078eb5e5b019b913a9ef8d8c" + }, + "tests/shim_techfx/CMakeLists.txt": { + "mode": 420, + "sha256": "5eaf9a76df6b10258a8c1d2658b03d97377d48a778a1628ca94c9bd69fa7ba8a" + }, + "tests/shim_techfx/unit_tests.cpp": { + "mode": 420, + "sha256": "99a71a6d0ca1f53fc8ff0bc21e79acd64ba2cd9c9f990641e5970c866794595b" + }, + "tests/shim_trace/CMakeLists.txt": { + "mode": 420, + "sha256": "91bc736e198c5cef86ad2ad69ca77d93ab770e5faecf9e6d915f9263b9ce491b" + }, + "tests/shim_trace/check.h": { + "mode": 420, + "sha256": "f4b72b971886c64383880ba26484f9c908d21f5902dff0de0b42f276b00d8366" + }, + "tests/shim_trace/harness.h": { + "mode": 420, + "sha256": "d7eae563723843c1389b108fe2efb2e31b6c264d23567a370a09fb9b1d513697" + }, + "tests/shim_trace/oracle_emit.py": { + "mode": 420, + "sha256": "29ed06c602e9f0d6430bb3c81192b1946213a3f44b91107f7036f35f17b69f42" + }, + "tests/shim_trace/test_coverage.cpp": { + "mode": 420, + "sha256": "8ed5b6d755fe7e2bc98d525e97bc7817a5efb7ed5f0196d49d1c783de3a91bea" + }, + "tests/shim_trace/test_diff.cpp": { + "mode": 420, + "sha256": "afd8e5124cf6e1ad9c4f3e4c2beeb65d00002cf1d4cbaa2e876fea0817a7a347" + }, + "tests/shim_trace/test_emitter.cpp": { + "mode": 420, + "sha256": "a9255bbc055df36a01931e8a61dd1dbf16085f7713db7e7386f66b69ddb10762" + }, + "tests/shim_trace/test_hook.cpp": { + "mode": 420, + "sha256": "4dd67374e260ba2722219c2e44e6be76e583d0ad65844f34859cff49b66a30cc" + }, + "tests/shim_trace/test_sha256.cpp": { + "mode": 420, + "sha256": "b55aa15dc806e3e4a87ddf50657fa4e0af6a4e4e2205c4bd63d1ae066fe57428" + }, + "third_party/minhook/LICENSE.txt": { + "mode": 420, + "sha256": "d5c2224982b0b95a16b098a561335fa93f3eaf4d0aa964b7843edb986df78dc8" + }, + "third_party/minhook/VENDOR.txt": { + "mode": 420, + "sha256": "c79054234a5340f6199f8d9f47d6b3d88e8abd2120586cd78f081cfb81a6fabd" + }, + "third_party/minhook/include/MinHook.h": { + "mode": 420, + "sha256": "e34bbf7b855c842694f6e3dd78e2d280e99ed9732501e3dc1532a8626a8db8e5" + }, + "third_party/minhook/src/buffer.c": { + "mode": 420, + "sha256": "75a789eb718bd5ed2de039ccd330736a31d0a2d14e43d8e15e6cd2332432482d" + }, + "third_party/minhook/src/buffer.h": { + "mode": 420, + "sha256": "9769702bd625249e59a19ede05c84365fcc7707e1fa0e5df08df42227cee13e3" + }, + "third_party/minhook/src/hde/hde32.c": { + "mode": 420, + "sha256": "0ddbc3ab3e0b37e61691131289a151e34f508233ccf3f701752777e5d3f62d68" + }, + "third_party/minhook/src/hde/hde32.h": { + "mode": 420, + "sha256": "5132de5be8ac7a9d054420f5caef0fb01437faa892f03b3cdc77f795973bf15a" + }, + "third_party/minhook/src/hde/hde64.c": { + "mode": 420, + "sha256": "9bf19dd706d4bc255ebd1709f98fb44899df7a1f2412820d77295136e0620f1d" + }, + "third_party/minhook/src/hde/hde64.h": { + "mode": 420, + "sha256": "e99aa4997bda14b534c614c3d8cb78a72c4aca91a1212c8b03ec605d1d75e36e" + }, + "third_party/minhook/src/hde/pstdint.h": { + "mode": 420, + "sha256": "604d1cdf45c5a95bc9cf1bbf39ca05ef83013541101d34971c5cd7577e3d5247" + }, + "third_party/minhook/src/hde/table32.h": { + "mode": 420, + "sha256": "43bf687a9fff071b5f46070db4d36c846f8e069cdc57485ee897c499aacdde23" + }, + "third_party/minhook/src/hde/table64.h": { + "mode": 420, + "sha256": "b774446d2f110ce954fb0a710f4693c5562ddbd8d56fe84106f2ee80db8b50a2" + }, + "third_party/minhook/src/hook.c": { + "mode": 420, + "sha256": "3060d3c42f03a2f11324cbee95d853071757ed0fe4b1bc9eb5f0d8fc9e346a37" + }, + "third_party/minhook/src/trampoline.c": { + "mode": 420, + "sha256": "d837f8555681c3762468d712c43f2064ed31dee610e0b02965fd8aa54b88172f" + }, + "third_party/minhook/src/trampoline.h": { + "mode": 420, + "sha256": "27426751dde36cdd8346469e61cdcca47950b1056a69f21cc63f4b41743faf6a" + }, + "third_party/miniz/ChangeLog.md": { + "mode": 420, + "sha256": "ff3b6040f7cbd8c9779a0690e906c66408f7efe3cf88a25019323f0189025ec3" + }, + "third_party/miniz/LICENSE": { + "mode": 420, + "sha256": "0115478d567121238cf6cc1c0c361926cf07a49d9e4c9e66da97fac6a01646b3" + }, + "third_party/miniz/miniz.c": { + "mode": 420, + "sha256": "e2c1aeb66eef9191d8c3feb164db2def2335a61d039bf04ed849f6b042433b30" + }, + "third_party/miniz/miniz.h": { + "mode": 420, + "sha256": "b53b62ed122e559b8f679e3cb787a0b0035fe87a58f909da0e44931678f4e85f" + }, + "third_party/miniz/readme.md": { + "mode": 420, + "sha256": "b4ea367be28a36e5386f65118b73962bc659a67936d248be68b7a7c03b8d359b" + }, + "tools/build-shim.sh": { + "mode": 493, + "sha256": "1da3fdcc019dc6495c870a42b93cee9f21ff7f9623f033c2f50d9db9fd6a33e0" + }, + "tools/check_shim_configs.py": { + "mode": 420, + "sha256": "ef5e8f100c06d8c485a165ab668206af3e9aed3e1f6aa6ffec2592419fc2332f" + }, + "tools/clean_room_check.py": { + "mode": 420, + "sha256": "e15bc3ebfd29c6e2d8edfc32cc812858869b49ffa1404cafce14c4c24e0f4e24" + }, + "tools/clean_room_check.sh": { + "mode": 420, + "sha256": "6646eb6010be756113f7af39b9cfcb06e8580893fbd100a41993f87757ccfd6a" + }, + "tools/deploy.ps1": { + "mode": 420, + "sha256": "fe01f46bedc91d7b42ff98cb0e69633845094cc2802108d23d48eb70f32e3f27" + }, + "tools/sync-build.sh": { + "mode": 493, + "sha256": "ce418ace6c5edae8609849233bb5dfd24657f55141c8ef8507659608f12aee2d" + }, + "tools/undeploy.ps1": { + "mode": 420, + "sha256": "5730b6f95f161ba5a727dc0a34f26da7f1f697711495d6a9de9c289ecd747af0" + } + }, + "manifest_sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd", + "path": "/tmp/opencode/sots-final-research-engine" + }, + "re": { + "commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "ba56b745b84c6d15b7288df65f319831fed3cbf8edd1ab3a6476418f48fd95f8" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "e722b65480a9f72c2fde1c677c789d4f4b347ef9b450894e9f4295035373df7a" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "b3e3e5851645a05543e91f128eb6d349abdc6f22accfd997012526e4d35eaa8e" + }, + "README.md": { + "mode": 420, + "sha256": "e318014a84d03e53983cdb1e5b0310f372b959f659b91abc9214faf530544afc" + }, + "campaign/DASHBOARD.md": { + "mode": 420, + "sha256": "eb207987006a3a661bf05b24fc361e1dda74b7a7f42f4abf4a3788cb17a254e6" + }, + "campaign/README.md": { + "mode": 420, + "sha256": "dc702a81c2c664c07eb170f082deb65bc3ff24e2b80d892bb082c7c4feac64fd" + }, + "campaign/agents/analyst.md": { + "mode": 420, + "sha256": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952" + }, + "campaign/agents/implementer.md": { + "mode": 420, + "sha256": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91" + }, + "campaign/agents/lab.md": { + "mode": 420, + "sha256": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8" + }, + "campaign/agents/lead.md": { + "mode": 420, + "sha256": "7661bbfca972be50a52c735b7f15f5be740158542c3d0cdbdf9a6a2590c7f1ea" + }, + "campaign/agents/resolver.md": { + "mode": 420, + "sha256": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f" + }, + "campaign/agents/verifier.md": { + "mode": 420, + "sha256": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b" + }, + "campaign/backlog.md": { + "mode": 420, + "sha256": "a10edaae044e84ee4d26e7461b88e557112f572d60c57e0025171a53dd209a35" + }, + "campaign/board.md": { + "mode": 420, + "sha256": "040c12a20f5bf70b8e6a239efb205039d1ce00a805411ba194a12bde9f40c03e" + }, + "campaign/contract.schema.json": { + "mode": 420, + "sha256": "a2c76ec042ca097a57c3c05c1e519e392d498d387a31808c7d0f70482d43c201" + }, + "campaign/contracts/controls-bootstrap.json": { + "mode": 384, + "sha256": "2943d2281229c102dd612676428a9714510e540671c1e04dae3e6fa7ea1b56ab" + }, + "campaign/contracts/launcher-smoke.json": { + "mode": 384, + "sha256": "c0418dd22bafc321b2f800acaf574dca7956c37b239d789981b920d50ab36599" + }, + "campaign/contracts/research-completion-abi.json": { + "mode": 420, + "sha256": "a5cf5e4bbc5052aa13dc34b55ee65f2997f9342e0b01062e85ad2c16d99daf71" + }, + "campaign/contracts/research-replacement.json": { + "mode": 420, + "sha256": "1108d30bf7e28f30b2446014503fc3200a8b8198a8fab0b866b873a81bf7b8b9" + }, + "campaign/current.json": { + "mode": 384, + "sha256": "87661aaf5ddfbb872365dae8c531453a1e0cb7f91b3ada046be3e829d2555f77" + }, + "campaign/models.json": { + "mode": 420, + "sha256": "95f507237a8e4fcf14189da4aa102dfae1dbaa536d4d8db6bcbfc30162ac5443" + }, + "campaign/open-questions.md": { + "mode": 420, + "sha256": "efb1c736a07bff32e75e0eede20681c206e2c95f439dffe9824702cb864972e7" + }, + "campaign/pilots/research-replacement.md": { + "mode": 420, + "sha256": "3101b8959f28ba2c6ffbac02a82b5ae0e841e7d78bd1f40f05b9d1d2278490ad" + }, + "campaign/research/SESSION.md": { + "mode": 420, + "sha256": "258a2884486ee777fbd8ff180abf23a3a320b2981ee1e90b57d4e3efe18643f2" + }, + "campaign/rollout/RESULT.md": { + "mode": 420, + "sha256": "87aba912d66e2f7bd9779f86cbae3c78d64b1be2572db02ac39fc70c750cb79c" + }, + "campaign/rollout/architecture-decision.md": { + "mode": 420, + "sha256": "8c710f390671500386745d063d6cb6edb175e6e26572286334d2f14a36be6d41" + }, + "campaign/rollout/controls-followup.md": { + "mode": 420, + "sha256": "44d0c95978cbc0953d6b1feab4463b29fab68c9d8dad2eca5fd562bb5aee1578" + }, + "campaign/rollout/controls-worker-state.md": { + "mode": 420, + "sha256": "02ff66f3f0fa978819e5c100e24cfd3752b9041590e2aed36f6abd62ce790f4e" + }, + "campaign/rollout/controls-worker.md": { + "mode": 420, + "sha256": "d022483618d3c3412785ba40e71106976c9b1c9978c43e424e3023a67b8b3f0f" + }, + "campaign/rollout/controls_evidence.py": { + "mode": 420, + "sha256": "bfaf4e523b2ca39c0ecdab94adf0b2b19a3da68aab8a0fcba69a613aed46588a" + }, + "campaign/rollout/engine-followup.md": { + "mode": 420, + "sha256": "d3d289fb4e4cfb7cf1ab6c3de597f530eafd27d3b1aa2f3e8904d6da3a95ac44" + }, + "campaign/rollout/engine-worker-state.md": { + "mode": 420, + "sha256": "76601fa42c95bd7d78ce46f528a33ef0483e0b7f2e19a1cfe1cab8e560bed05c" + }, + "campaign/rollout/engine-worker.md": { + "mode": 420, + "sha256": "fd8bbe69947b69baa61449548d5746723c941ad8b663ec66d1b278234bebe5b2" + }, + "campaign/rollout/formal-verifier-state.md": { + "mode": 420, + "sha256": "2fbac02f5f22b45e94ee33f9f53779fa059c5e93282d3c2f5ad0af027029a1f4" + }, + "campaign/rollout/formal-verifier.md": { + "mode": 420, + "sha256": "f961ceaef0037001e6576d760e28e7aded0502f3d8311925e5ed1cc537c996dc" + }, + "campaign/rollout/gate-followup.md": { + "mode": 420, + "sha256": "677f17aef214e7a6c92958dd8ad98137b238cc7fe7c1da23bcf36d727f28f7c8" + }, + "campaign/rollout/gate-worker-state.md": { + "mode": 420, + "sha256": "96514befccc589487ac3b6ff9348106aca2e4e8e3aa348471943d589c74629e2" + }, + "campaign/rollout/gate-worker.md": { + "mode": 420, + "sha256": "55db7c5f637d849fb2f200ab12c35a794c86e377a5de3f562b1c32455583e65f" + }, + "campaign/rollout/housekeeping-completion.md": { + "mode": 420, + "sha256": "a25041ebaeb030f1cfc62564b5bc57a98818ea75e082f28036e9cc367096ccd1" + }, + "campaign/rollout/housekeeping-followup.md": { + "mode": 420, + "sha256": "5759aaf403c019173450822dc5e9d4aad711a7497eba906caea39bdb39bd3702" + }, + "campaign/rollout/housekeeping-worker-state.md": { + "mode": 420, + "sha256": "5ee9a48a691709af325994fd3d44a1ac6e40d05f26e09b03ae7efec2ecbe25cc" + }, + "campaign/rollout/housekeeping-worker.md": { + "mode": 420, + "sha256": "bab8219fadd0688e91d6211478a01403a36ae74fd2b6f7df0ad5c8745a542ca9" + }, + "campaign/rollout/independent-review.md": { + "mode": 420, + "sha256": "a7a8ebcce5202db0e67c8c65135df751e69ee6728c4c2ced92e1cc85b4279f22" + }, + "campaign/rollout/lead-state.md": { + "mode": 420, + "sha256": "3ded5b3f97d7882f72abef5ea268765a5db29c8b619486c153f5c92742040c01" + }, + "campaign/rollout/publishing-worker-state.md": { + "mode": 420, + "sha256": "641977e4d0ec400a3a6c38121ae5e7904aa1accc47179ee148ad7cb199029b0e" + }, + "campaign/rollout/publishing-worker.md": { + "mode": 420, + "sha256": "822812fbc803d443fb7e0855268c34224eda29f95e57274c217275b09ff4410f" + }, + "campaign/rollout/review-followup.md": { + "mode": 420, + "sha256": "853e3b5aab09cd77fd54cae6d8a61fb5ae092603ab2be8dee2db6d80492a6443" + }, + "campaign/rollout/review-worker-state.md": { + "mode": 420, + "sha256": "a704e6023eaf3424761bf431e49687ae1f1d687119fe00a466b9da2d9ef7bd42" + }, + "campaign/rollout/review-worker.md": { + "mode": 420, + "sha256": "0e348015440aabef95766010f14880619d34a472102698c9819dfbb029b8a6c8" + }, + "campaign/rollout/sync_verifier_snapshot.py": { + "mode": 420, + "sha256": "4133e536bfdb0e206ecdfc072062e7674b07b973c7f8b9d7f1a268520523d6eb" + }, + "findings/.keep.md": { + "mode": 420, + "sha256": "141ed928eaf10a2023dd2c0ff6ea68cf6ec423cfd28d5a359d9c5add730bf64c" + }, + "findings/00-strategy.md": { + "mode": 420, + "sha256": "3bc97827988c6eb4647713c5655271e156dfa466fad5685924010f3244fe6386" + }, + "findings/01-fingerprint.md": { + "mode": 420, + "sha256": "7cf0503c29f5beff852427c2c5bdf8e9d968386de777c47b6130771cac944cac" + }, + "findings/_template.md": { + "mode": 420, + "sha256": "b92d0ca7bfef4498a5f9e594453f15ab15e2c88c7582c4ed5df4c40e6871c3b1" + }, + "findings/control-flow/ai-visit-order-probe.md": { + "mode": 420, + "sha256": "e89f91a33139014ebdc22d79064ecfd06f9b4ffebb4bbc3da73734fc47534047" + }, + "findings/control-flow/alliance-mask-and-modcount.md": { + "mode": 420, + "sha256": "ec66c6b76d9e4c8bed385acf70e6a7d5da08e05eca72ac1e8e5cb307d87f2552" + }, + "findings/control-flow/combat-done-tail.md": { + "mode": 420, + "sha256": "799ace775f12ebe9a2737a711c8d0a6e617f0cefec70b93bf094e47cf81cc348" + }, + "findings/control-flow/combat-resolver.md": { + "mode": 420, + "sha256": "abf1a9329c1bd8a96c76481246a00b380e9a17fa8dc8900810218026e5fe1b9e" + }, + "findings/control-flow/combat-retreat-pipeline.md": { + "mode": 420, + "sha256": "6c40c8bdbdde672c9cd67248d740d88892ad2b93b30e27e9bebe0e96027cf136" + }, + "findings/control-flow/fleet-visit-order-mechanism.md": { + "mode": 420, + "sha256": "a2ea1a6ac9d383380e16910cff89dff0e9b23f1df66f47ef91dd266bd50b3a6d" + }, + "findings/control-flow/gate-indexed-rng-audit.md": { + "mode": 420, + "sha256": "5004b2480787eec7be66f40474648030fdaf7759087a4c4651091152d89351cd" + }, + "findings/control-flow/hive-creation-rng.md": { + "mode": 420, + "sha256": "5ff37d571c0380c798a137e0c6947a0c63109de489fd2100c99bfc6637fc272b" + }, + "findings/control-flow/indirect-edges.md": { + "mode": 420, + "sha256": "3dbf2acf7354f61de66348fe40965f3138dbc4bbff8cb0f06b2751e71ed06ee1" + }, + "findings/control-flow/inlined-draws.md": { + "mode": 420, + "sha256": "3b099718543d7fb112664699749602ff9d61de9aaebb561fc93f1f8b7a152134" + }, + "findings/control-flow/per-history-residue.md": { + "mode": 420, + "sha256": "739c7fc760583ca143036ce554e1eece640d1662fba4642e6f80fadd3dad13f9" + }, + "findings/control-flow/pinned-seed-rich-turn.md": { + "mode": 420, + "sha256": "7c62336767b7c69f513446543f37662ba2a0872e207b906279446bbe399d65b6" + }, + "findings/control-flow/raid-gate-multiplicity.md": { + "mode": 420, + "sha256": "6d7b7357be428ff79186478dc37063657ca4d8e2ad49fcdd92493753748a52f4" + }, + "findings/control-flow/raid-intercept-species-word.md": { + "mode": 420, + "sha256": "1da80eb14f0e3e5a0ce139f62976bb305e3e75a1e5e0631d8287f94eac093d8f" + }, + "findings/control-flow/raid-intercept-z-word.md": { + "mode": 420, + "sha256": "beb421953b70377c8c759f5cc936321faa6316be76d41020b41f26c99706acb3" + }, + "findings/control-flow/raid-target-pick-verdict.md": { + "mode": 420, + "sha256": "d0262a4187e35547b28d6be842e7c730aa3ee93565404b587a790706afabd694" + }, + "findings/control-flow/seed-exposure-forward-test.md": { + "mode": 420, + "sha256": "f108a07ce695b64c482af58db4caeb2607059a3357b62f04f7f36ce45c84ff4a" + }, + "findings/control-flow/standalone-generator-and-turn-record.md": { + "mode": 420, + "sha256": "e499f62534580f27c2a01395e08312ebc7df13bdd307342096f468212aec600b" + }, + "findings/control-flow/standalone-scaffold.md": { + "mode": 420, + "sha256": "0bf928260d5058815a2f09c4df8c08eb359430aeea941f872018de7cbca39105" + }, + "findings/control-flow/tail-probes.md": { + "mode": 420, + "sha256": "ae45e84a9c7f257170f7550301fc4e1a35d5210269bda8070469a5c921cce95e" + }, + "findings/control-flow/tail-rng-ledger.md": { + "mode": 420, + "sha256": "2db588423e7b7de7729e5319477c17fbcea5b7a9cb8ff00b01cfd72bfce25403" + }, + "findings/control-flow/trade-raid-rng-gate.md": { + "mode": 420, + "sha256": "85c7b27aa284988b07b5e67c8e48ef1725289f1a6956d88be2572577cc06e1bf" + }, + "findings/control-flow/turn-driver.md": { + "mode": 420, + "sha256": "3f4e92041a0842d211ea9ae1ae16a9fe400dacf9632209102a1f76acc6b30792" + }, + "findings/control-flow/turn-spine.md": { + "mode": 420, + "sha256": "e2a64f82e5dececb4ba56859d1e53a0f720e08472c79c39197beba7f6041811b" + }, + "findings/control-flow/w3-containers-status-handlers.md": { + "mode": 420, + "sha256": "fffbaa6e3701abbe57a54046416a102502afeaa29b14632f9506905c22bf3914" + }, + "findings/control-flow/watchpoints-modcount-status.md": { + "mode": 420, + "sha256": "0aec4c93ca7219e29827a5069a9829d5e58da2001e79a7316bce288d3e9a6c7d" + }, + "findings/objects/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/objects/00-inventory.md": { + "mode": 420, + "sha256": "cada5fc81c42cb50878a26e43a58640153c600319e66d4c92a23d7c363ff5f14" + }, + "findings/objects/aiagent-block.md": { + "mode": 420, + "sha256": "55d646ab57e90477993d263399254a3b103024d89fff42491b7df5cf4ffc8037" + }, + "findings/objects/classes-game.txt": { + "mode": 420, + "sha256": "e0eceb77c56e05bc7863d3a07805d703fc0ecec489ef24fabe7c6161f2835199" + }, + "findings/objects/classes-mars.txt": { + "mode": 420, + "sha256": "b624f7bd82a5277462a39627140a85c7a7929fd292b62e45edb5c96fd53b6145" + }, + "findings/objects/ghidra-recon.md": { + "mode": 420, + "sha256": "ca4b043a73c1d5573aa0c83cd3942db731884910c90e7d8544c8a32c939e2fda" + }, + "findings/objects/rtti-raw.txt": { + "mode": 420, + "sha256": "39f6fdf8793f8202c19cfb87a75466b215254a13050ec37c0c496699298247ad" + }, + "findings/objects/save-editor-structs.md": { + "mode": 420, + "sha256": "835d4fbf154275542383ea499a527c044ec7d577486c2735b817bd32d6e0c853" + }, + "findings/objects/schema-gaps-resolved.md": { + "mode": 420, + "sha256": "9ddae36eb8e3ef909c4902d01200fc8a17335271e4e063939ae162a3eea5bb3a" + }, + "findings/objects/serializable-types.txt": { + "mode": 420, + "sha256": "59c2f3942f55eb3f6687758a4c447b1ed8902caa60b97d9619bb8228e27c6838" + }, + "findings/objects/serializer-struct-recovery.md": { + "mode": 420, + "sha256": "5b56d8e1a5047d602cea7a76227f30e17244057fe21fde3d4e2cc76e9f185416" + }, + "findings/objects/ship-design-catalogue.md": { + "mode": 420, + "sha256": "feded2191180e184d34d4992935dc117bff8d052e8a2c63ecc29fa7b2e6b561d" + }, + "findings/objects/struct-recovery.md": { + "mode": 420, + "sha256": "4e99ef972529101f5700b52845e263fb3789e0b82d8cdeca921f1595a24d92db" + }, + "findings/objects/svsctob-variants.md": { + "mode": 420, + "sha256": "89617cd2909f2242e9e1657fd4a8f5aafe5aa0c1e0e9bc8926fb67c1e830dd2d" + }, + "findings/objects/svsctob-writers.md": { + "mode": 420, + "sha256": "7a9b7f3bf4eae63cf522246227410b2e3ca789284b7c620f01550fadf479622c" + }, + "findings/objects/turncommands-block.md": { + "mode": 420, + "sha256": "8eca2b79838114e7ae46d34c6e75eaf3b04c0448d9896ed4219b118f09e83046" + }, + "findings/objects/wire-schema-channel.md": { + "mode": 420, + "sha256": "31f0fc4e1cc3c3e7ef938aa22ad65cfdec32be4f1ade476a7ebf32c3c6f07d6f" + }, + "findings/objects/wire-schema-closeout.md": { + "mode": 420, + "sha256": "bbae848b4f8d6d0f2a914268ac34e75b4cea483f52816916202f3bd3cd084255" + }, + "findings/objects/wire-schema-ratchet-debt.md": { + "mode": 420, + "sha256": "0d144181478a607f2474a7c8a1b71ca49c881ef6fd068b5e8859c3fa8129507a" + }, + "findings/resolutions/2026-09-08-ai-seed-per-process.md": { + "mode": 420, + "sha256": "0765bdaeade29122ab5e64493f3a7c339f1e4c4445192ed09ae3d229dd6ae943" + }, + "findings/resolutions/2026-09-09-fleet-id-order-residue.md": { + "mode": 420, + "sha256": "b3d63a11e8ebd55da4af15760d044607b6105216898a018f5ceebc94750817e8" + }, + "findings/resolutions/2026-09-09-seed-exposure-is-a-predicate.md": { + "mode": 420, + "sha256": "dd7ce18738a625b9008ef80783bd64fc3857852775ab3b784b9e5f4fd5ae7de1" + }, + "findings/resolutions/2026-09-09-tail-draws.md": { + "mode": 420, + "sha256": "ff86a332ea9f87bd6f42a0b64e837e6f6f5876423ae9403a903aa9bfe7c42678" + }, + "findings/subsystems/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/subsystems/ai-client-seed-is-per-process.md": { + "mode": 420, + "sha256": "5e6de0418588ff28cee29cb9affd69c3183819318c314eeb0771bbe810e6b4ed" + }, + "findings/subsystems/ai-order-capture.md": { + "mode": 420, + "sha256": "6efebf9f00b375d2c7f29ddeb24ef7a04e3b02cac9027369b490157a196d08ce" + }, + "findings/subsystems/ai-order-emission.md": { + "mode": 420, + "sha256": "9e54a13a18387a4f93acc5c66dbf71d365c81f1a8e6d2aee31f7a89712894ace" + }, + "findings/subsystems/ai-stepping-and-passes.md": { + "mode": 420, + "sha256": "e7e2fc612457a4e77df362aea2928d20fa5a2456fe12a7fbafeaf3c9e01c1dc1" + }, + "findings/subsystems/ai-task-system.md": { + "mode": 420, + "sha256": "577f8fc41256ebdf9629f1e30df9aac7f51c1a84b55f60c2b59e4af4c55126b2" + }, + "findings/subsystems/ai-turn-logic.md": { + "mode": 420, + "sha256": "79e9b7c9592d583db7b9d9ce472804038a71febf7527bd69e31b3399caeb0770" + }, + "findings/subsystems/battle-load-profile.md": { + "mode": 420, + "sha256": "3cf8e28925ebbb162bca9c3be9e6b2599c82ab6aaf9a9d99ffd9c934bf773c77" + }, + "findings/subsystems/data-model.md": { + "mode": 420, + "sha256": "f01c9bfcf8ed9fbf9fdd30556308a1dbb1094896050cc8a5e4fbc1c6c61aff78" + }, + "findings/subsystems/data-parsers.md": { + "mode": 420, + "sha256": "6a428c14279ac2c589b4af932e762ef7e3ada1a878128527b8d88858c11fbc35" + }, + "findings/subsystems/determinism-oracle.md": { + "mode": 420, + "sha256": "4fe0abad0b1b825392cd47b792d06756742495f26ff40a6a433d8608b4680bcb" + }, + "findings/subsystems/eventlive-verification.md": { + "mode": 420, + "sha256": "8bfcc75e57ddf88ec8a4b8885f033be8ffd420965077ab284b1ebce535ecf1a0" + }, + "findings/subsystems/events.md": { + "mode": 420, + "sha256": "c5d6e168d6d48eabec0ae0a448f9c3ec8d0f751a67fc320bc1021ba10008a3bf" + }, + "findings/subsystems/formula-gaps.md": { + "mode": 420, + "sha256": "63ec96a27fac5381d33cdce3e549d230bd5b0230e4d8573f4f3d45bab7d47ffc" + }, + "findings/subsystems/fpu-precision-sensitivity.md": { + "mode": 420, + "sha256": "4cf84e2a1c3d0eaaf9b3a7f218ad663ffa6984389b2a25851249733ad708ff8f" + }, + "findings/subsystems/golden-trace-recapture.md": { + "mode": 420, + "sha256": "b244f939b87dd464d78d919675c0e6aa010b0ec7b4fc6e4178e26c2c8ebee738" + }, + "findings/subsystems/id-allocation.md": { + "mode": 420, + "sha256": "b04a14a5a7d4d1c6137c4f9072987eebc997421e550881dcc2c8e386187f5b90" + }, + "findings/subsystems/income-term.md": { + "mode": 420, + "sha256": "c40286635675a91ce779b887a0394e92f946844873a778015efb98c4a105b67e" + }, + "findings/subsystems/loader-prototypes.md": { + "mode": 420, + "sha256": "f1d09471d5e17c45413b86805f561329f5af24eadfb17c3c740686c39b167ed6" + }, + "findings/subsystems/money-chain-float-widths.md": { + "mode": 420, + "sha256": "99bded6f2d34a713bc175deb4ad5ab4559ce1cc90274b036c1818ad8257c2fef" + }, + "findings/subsystems/movefleet-position-rounding.md": { + "mode": 420, + "sha256": "12dbdc03658cb042b5927586769dc9c19fc2eb812f703e73bf26273f8b0d65a6" + }, + "findings/subsystems/multiplayer-combat.md": { + "mode": 420, + "sha256": "2f4957011b5c5875b8aa7f71531dd5dfe3fd8df4f2c67a7be2fb5999f090c02b" + }, + "findings/subsystems/multiplayer-gamespy.md": { + "mode": 420, + "sha256": "a878e97775d27e085e58b18eaf5a67aaa522456d1055ca142f0477e3d6152d47" + }, + "findings/subsystems/multiplayer-tier0-verified.md": { + "mode": 420, + "sha256": "942ce29cbe22d8f7de5af54f2017c0433c7b8e1a56c864868ec906ffcbb9059a" + }, + "findings/subsystems/nav-classifier-live.md": { + "mode": 420, + "sha256": "b8aacdea8072a99ba1192e235088b372180f094795baf164e8cb95bd2df9f3b0" + }, + "findings/subsystems/nvo-tshn-visible-owner.md": { + "mode": 420, + "sha256": "ef96bb61769c02affd7148cd95e70bf358cbe6263fbe9b47aba6cf4cfa8486ad" + }, + "findings/subsystems/observedtech-append.md": { + "mode": 420, + "sha256": "61efcf51bffe53b8a10a2cdb8123db3f8c55b6874db87418fc31737efedaa652" + }, + "findings/subsystems/output-term.md": { + "mode": 420, + "sha256": "9eb9ff58a1d4cf34d3138f5044788b6f87ff4c94fa871b2dedd6ff6667196533" + }, + "findings/subsystems/output-turn-path.md": { + "mode": 420, + "sha256": "4e199e5cc14802c1b14b37cff0c1359b43aca94dab833f9024c7825c4c512588" + }, + "findings/subsystems/path-solver.md": { + "mode": 420, + "sha256": "3e0e318d45e14f844831c4180e47011263f64067dacf3249742882186d65cf18" + }, + "findings/subsystems/players-residual.md": { + "mode": 420, + "sha256": "e2f56c7983856470d37cd0fba4834a0ccb34dcaddbaf9acaf5dcdc253c6b3507" + }, + "findings/subsystems/population-growth.md": { + "mode": 420, + "sha256": "c2ec2f062e1224045b761640549e7374336ac762bd61c686a0c1378ad829a993" + }, + "findings/subsystems/rcex-explained.md": { + "mode": 420, + "sha256": "df7c9de6f02c1bd38f69e3a5344ec663d97b1d6b738ff408dfdeb0e2f6175b32" + }, + "findings/subsystems/relabel-new-ids.md": { + "mode": 420, + "sha256": "562ffe347adc6432a7824bfa2b324b6b1812b4fcc18343f0732c0f3d9991be20" + }, + "findings/subsystems/research-replace.md": { + "mode": 420, + "sha256": "d0f692cf687a7fe6aab62fc5d7d076eb595e1c33fd84c6f1e437ed01025cab4b" + }, + "findings/subsystems/roll-parity.md": { + "mode": 420, + "sha256": "7d97d7e5eee7b9f135e32b6553bb94ca83fd05b1eca7d18c42e9d65cae4d95d1" + }, + "findings/subsystems/rung-b-rich-turn.md": { + "mode": 420, + "sha256": "44378c6a305a82b2d131270fa5d97fdcd8a7fd5c9760ecbad7715383eac2db68" + }, + "findings/subsystems/running-the-game.md": { + "mode": 420, + "sha256": "f6109f69c6b86e4cf01d0f2e1f8be9921ff632513bca5d9e44e7f6c34f1cd260" + }, + "findings/subsystems/setresearched-cascade.md": { + "mode": 420, + "sha256": "9c079de161a1d1387339b8e8081395c1356c1443a0c898942acfb6efb65a454f" + }, + "findings/subsystems/ship-construction.md": { + "mode": 420, + "sha256": "86f570b1872c8dfac3982d1d7335f4798ccbd1bfd73c91d481afba2734c41216" + }, + "findings/subsystems/ship-design-composer.md": { + "mode": 420, + "sha256": "639b276e9205aaf6c90d9c458a383cc073e89f401ef8f17f8ad5a8a0c5899fa8" + }, + "findings/subsystems/snlv-measured.md": { + "mode": 420, + "sha256": "785324d176be969e1809090acd6b7a48d27f4fa41472c0d9c6f568c0b3a1e539" + }, + "findings/subsystems/spy-detection-roll.md": { + "mode": 420, + "sha256": "214179f5091408ef01ce4b80565068cb9a0885d1c6a233cda476280b9bf29c0a" + }, + "findings/subsystems/spy-program-draws.md": { + "mode": 420, + "sha256": "0c61c2f9cc767ae679921bfc42ef9a207ec9a6e0dc88419a673a8e439f1abfc1" + }, + "findings/subsystems/strategic-turn-internals.md": { + "mode": 420, + "sha256": "3a5c17e025d4968db6030f8ef1daaa2b03ccd4def12d35cf3a0eabcb0b5cbb54" + }, + "findings/subsystems/strings-and-config.md": { + "mode": 420, + "sha256": "67aefda7792e329b7df3f6e8cf42c7bae7049867cdda0741e871b183bc528786" + }, + "findings/subsystems/system-visibility-prediction.md": { + "mode": 420, + "sha256": "b420526ca0410bd4578dd2ed29cd9a21ed3578d6345d9f853a883e0159c1f89c" + }, + "findings/subsystems/system-visibility-record.md": { + "mode": 420, + "sha256": "d2843e10c156a7c85d7dab40d00204475fc725dc9b93656f6cde941ceceb5f51" + }, + "findings/subsystems/t34-observed-designs.md": { + "mode": 420, + "sha256": "207641821a55f5671749b000d478afd9e427336e2d123a55ad2203f34dfaa796" + }, + "findings/subsystems/tech-effects.md": { + "mode": 420, + "sha256": "7423f1e2cb2a597738b244d58bdf467431ee5de725ac434b904676ddcbcfc609" + }, + "findings/subsystems/techid-name-map.md": { + "mode": 420, + "sha256": "cfd92a7885dad3775465fc0c5b40aeb1749499f90071b44855ab8e1746d5f752" + }, + "findings/subsystems/trade-and-spy-workload.md": { + "mode": 420, + "sha256": "147057456fa30b6218df19679abab1ac31b78276a4272d221b70776e154396ba" + }, + "findings/subsystems/treaty-turn-stamp.md": { + "mode": 420, + "sha256": "fa0a8588847cc2b9e92cddeca65fd00fe3d84a00a1034d9354053c7e6cd9ceb5" + }, + "findings/subsystems/turn-command-replay.md": { + "mode": 420, + "sha256": "b65fa3c3c01c67bc16ec488e4a44e6c748256e941c80987528b7602038a56e07" + }, + "findings/subsystems/turn1-to-turn2-nondeterminism.md": { + "mode": 420, + "sha256": "9ebe834fa0f7c1cf864032ec67da76730ed6c239d6bd3a717f147490116acc4d" + }, + "findings/subsystems/turncommands-capture.md": { + "mode": 420, + "sha256": "a57fd2a77784fef1b176749878b161c4f04ac77c1f4a061a6b713787d92fb9ef" + }, + "findings/subsystems/ui-screen-map.md": { + "mode": 420, + "sha256": "d266285e3ca99ba3b5ebbab47c78f3df247a8b539c0519c6fd27a999b9d6f84b" + }, + "findings/subsystems/unlock-cascade.md": { + "mode": 420, + "sha256": "38d29a9484aa3910f5a62b5dd08225ba590bf26901203c5aef1b0b466fbbc5fb" + }, + "findings/subsystems/value-domain-census.md": { + "mode": 420, + "sha256": "bc99139708aee5da4cafec585fc35ab3523b51571518038db19b5f1383c6a6c4" + }, + "findings/subsystems/writer-byte-exact.md": { + "mode": 420, + "sha256": "a0e91a90d2ae78328dbaef30b37d53037cab26489e4729413bcfebbafcab0978" + }, + "ghidra/addresses.d/README.md": { + "mode": 420, + "sha256": "cf2745d5d3e504725ae5a296dc20e3d63b8d32a903445aafe2af61828a6d59c5" + }, + "ghidra/addresses.d/ag.json": { + "mode": 420, + "sha256": "24d5b11779364cf198008b143c7a3a092117ec4a1530c489497dbc8acdf62d8e" + }, + "ghidra/addresses.d/ap.json": { + "mode": 420, + "sha256": "e37f478836eb297f9cc5186cd7df3f5942abc4b6396a4d2866e613841437f778" + }, + "ghidra/addresses.d/ar.json": { + "mode": 420, + "sha256": "8d8620be8dd807a610ff63c0d77cbf266f3d9ce272158991d1f55d9c9910c248" + }, + "ghidra/addresses.d/as.json": { + "mode": 420, + "sha256": "08a869ab9466d4b575363cfb6fc084ca72cdc05d509c5d87e658a9a9977a7ae9" + }, + "ghidra/addresses.d/az.json": { + "mode": 420, + "sha256": "60b9a169605ac171cffb848024141c9224f6897bf69b547b9a4f2b5ddfc8d835" + }, + "ghidra/addresses.d/bu.json": { + "mode": 420, + "sha256": "79037146ba621e43e561bcf0577afc25b2ffac4ced44c902d2ea8ed9171b1bb9" + }, + "ghidra/addresses.d/cz.json": { + "mode": 420, + "sha256": "35de20ff0e38d05b5c58c89690dfc81ce44eb280a2a594ae862e55d56edb5d3c" + }, + "ghidra/addresses.d/dn.json": { + "mode": 420, + "sha256": "c41f877a37bc864f8f315a47b720ac204c22c25de405f4de63b845180641eba0" + }, + "ghidra/addresses.d/dt.json": { + "mode": 420, + "sha256": "580762e01175fb7246d0f9214e4ed9ba16bebcdb82ad1525fd1f77c0910c660f" + }, + "ghidra/addresses.d/lane-a.json": { + "mode": 420, + "sha256": "fce5f06866bddc6bca095d53e376495103dfd8900ad7da0d0d6731f105915d71" + }, + "ghidra/addresses.d/lane-a2.json": { + "mode": 420, + "sha256": "1207088eb2ae041afc2618a627029e25f578ae9fe8db73bb9efb616f39c34bf0" + }, + "ghidra/addresses.d/lane-ac.json": { + "mode": 420, + "sha256": "02a1c2f01ca0d11a7c38d416d94fabaea64b5c5919f6ceaead83430fb398710e" + }, + "ghidra/addresses.d/lane-ai1.json": { + "mode": 420, + "sha256": "134a0cb87b95bf5f39ed015bcdf64c6e8da6b22e073d5b5487148cb5421addff" + }, + "ghidra/addresses.d/lane-ai2.json": { + "mode": 420, + "sha256": "e9d94ce026231d420538400fa9c73fa8a2fa882d16f542c6b8ce2c34014acda6" + }, + "ghidra/addresses.d/lane-ai3.json": { + "mode": 420, + "sha256": "89c29e1bbb1159b7b6fb4fc8c232902f8497efc82290aba6f50c9c9097feec6a" + }, + "ghidra/addresses.d/lane-ai4.json": { + "mode": 420, + "sha256": "78b7897d3d2678ddbff7cd982bfa7d93a0c26817846a148fd3f46790fef9d7fb" + }, + "ghidra/addresses.d/lane-b5.json": { + "mode": 420, + "sha256": "641c724d1fbf28f5469aac488401ea2f92bdd3b929fbf053ddeef0ba5b8de9da" + }, + "ghidra/addresses.d/lane-b6.json": { + "mode": 420, + "sha256": "b2b2833220e3a645efab2b767f1d93d1215a54d195e28e6743db8f1d89934697" + }, + "ghidra/addresses.d/lane-c3.json": { + "mode": 420, + "sha256": "b732932503c181c77bb14ba0136379c8fa3501d0c1471b02d9bca7d023bb5f5a" + }, + "ghidra/addresses.d/lane-d2.json": { + "mode": 420, + "sha256": "8b5df39fb5eea0cd40dffc20aaccabe169f5472171dfd242ca2e75dfc4ca608c" + }, + "ghidra/addresses.d/lane-e1.json": { + "mode": 420, + "sha256": "cb38b41b747bf74ee73fb7eaa301da4bb896d089fa1dea4197382e94940c7f69" + }, + "ghidra/addresses.d/lane-e3.json": { + "mode": 420, + "sha256": "a5fe9dbb37ee587bf36a311771bbc9d8dcaa4d4fcc0b420b8f45829929b0ff98" + }, + "ghidra/addresses.d/lane-ev.json": { + "mode": 420, + "sha256": "b243d31bcd69bfb1e5928ba8b70e958e559c88ee5190ca34e569f217a784798c" + }, + "ghidra/addresses.d/lane-g2.json": { + "mode": 420, + "sha256": "84401f05c5cf2ca0839e817877892e904b3fd2fd4175607abc34453acd8ce822" + }, + "ghidra/addresses.d/lane-g3.json": { + "mode": 420, + "sha256": "d176eb4a07bb6b98acea77e1a0a9904d317a594768ecf8719bbfacbdf6522729" + }, + "ghidra/addresses.d/lane-h.json": { + "mode": 420, + "sha256": "e8cffe89c7feb1d9fa1949f33aff01edc7b84b49ab752275662f6f613c16c0b6" + }, + "ghidra/addresses.d/lane-i.json": { + "mode": 420, + "sha256": "a4c482ff6fee78e96da3400b9ba7d76b58634a5933ff388db5993a1b105c8aca" + }, + "ghidra/addresses.d/lane-id.json": { + "mode": 420, + "sha256": "3f48c9b2e2c3a08e13a856bfb78d551af17f5a1a1079f03f8edbf4615f17ca7d" + }, + "ghidra/addresses.d/lane-j.json": { + "mode": 420, + "sha256": "4fd95b08fee60a2748995cb082fe50d61e7179ae90b106f230bfc5c55a35660d" + }, + "ghidra/addresses.d/lane-k.json": { + "mode": 420, + "sha256": "f6ead3ff256fd2e1408d52bfa28e308f106ad672b3fe1cce0d136faac351136e" + }, + "ghidra/addresses.d/lane-l1.json": { + "mode": 420, + "sha256": "ecbab4a1b602beefd6889effc4883b7f7de01afabb7c5c071bbc4e2237e9131b" + }, + "ghidra/addresses.d/lane-l3.json": { + "mode": 420, + "sha256": "eabb96253bee36c799f1eb89108e284162606cfdc5e9bd29dbf7b5f88ee88adf" + }, + "ghidra/addresses.d/lane-l4.json": { + "mode": 420, + "sha256": "5b2b54d2f3e123e352e9a2b0f1d80fc8afcdd0b97916a94ee5a62ddc03b0ae75" + }, + "ghidra/addresses.d/lane-l5.json": { + "mode": 420, + "sha256": "cedc4869149212d401c519c46fa3f02769f9c939fc560fe8d35cc4f898091482" + }, + "ghidra/addresses.d/lane-n.json": { + "mode": 420, + "sha256": "6987efa430f2da8987e42e61e53113f914cb00e3e52a7c679565e7faf5160c82" + }, + "ghidra/addresses.d/lane-o.json": { + "mode": 420, + "sha256": "7fcf357f25ccdf061b6bc688339e2006f830c551718b6419a0a9d0ac968bb555" + }, + "ghidra/addresses.d/lane-p2.json": { + "mode": 420, + "sha256": "7eaa63d64a0054ef88f323f58b31fca07bd2372dc21560b4bda64eb13d869792" + }, + "ghidra/addresses.d/lane-par.json": { + "mode": 420, + "sha256": "3836b786aec28feb028271d05f368d7c332b8930b51cfdceb36540133a3d3237" + }, + "ghidra/addresses.d/lane-pl.json": { + "mode": 420, + "sha256": "f29953d17effbb7d8256687833023d4656522e74c40bf1ea646d3b35da3635d7" + }, + "ghidra/addresses.d/lane-q.json": { + "mode": 420, + "sha256": "6f98496ffc288fb30c3a7347a7e5252b296f2345afd1bf678f98a2c934b8935a" + }, + "ghidra/addresses.d/lane-rb.json": { + "mode": 420, + "sha256": "bff95b9452e0efb63e74f741682c8d1843abfe3e722143cf01cf092aa894d75d" + }, + "ghidra/addresses.d/lane-sd.json": { + "mode": 420, + "sha256": "d3239b619cbef5cddc9c7bde6525301a99a6423f8a0e42c1ea53b9ae269c6da9" + }, + "ghidra/addresses.d/lane-sv.json": { + "mode": 420, + "sha256": "f574d8b4dc75da722870c74eb29cd56c75e04dd0ac384b4549fc95d425e3de3a" + }, + "ghidra/addresses.d/lane-t.json": { + "mode": 420, + "sha256": "70975f3c1dea55ceb11af12b9ba3a04e8f7bba2e25f1355ffcd3cd457c41545c" + }, + "ghidra/addresses.d/lane-t2.json": { + "mode": 420, + "sha256": "1e3c59089b769cc5f5d3cf16c33cb6db002966f5beb1a4fb9dd8e28fe54cd6a7" + }, + "ghidra/addresses.d/lane-u.json": { + "mode": 420, + "sha256": "bcccb6ec9257537eece135adbfd126904ca0becf14f9b5d17253adf5d8c9e8fe" + }, + "ghidra/addresses.d/lane-v2.json": { + "mode": 420, + "sha256": "6a4d4960ce99c05b928164159eaf4482bf763785a1f8c50efe133667886d9a54" + }, + "ghidra/addresses.d/lane-w.json": { + "mode": 420, + "sha256": "3971d65c772146534f5d8c350f2d203add70ac82801f57f3704c47cd59b51226" + }, + "ghidra/addresses.d/lane-w2.json": { + "mode": 420, + "sha256": "677648e94de8e1e0d538c9575c9be942d0b37c1a847effcb3c2312af5b6aa7d9" + }, + "ghidra/addresses.d/lane-w3.json": { + "mode": 420, + "sha256": "50ed8ed1b16288b00bac4df0886646dbf9d6d6392867029b4eac386806b41b51" + }, + "ghidra/addresses.d/lane-z.json": { + "mode": 420, + "sha256": "bc63a82f2d0cb7636e95f8a07f183f80817a4c65d2bb7263a047ec3c540512eb" + }, + "ghidra/addresses.json": { + "mode": 420, + "sha256": "865c02d88ac6ede656160a5ab20521ad8854efa381d5a943ab422216aca2c016" + }, + "ghidra/generated/sots_addresses.h": { + "mode": 420, + "sha256": "1cf6b4ab40d3cde306edee12ba4eb05292b98ddcf5c2b7c22c1c64b6075b1bdf" + }, + "ghidra/scripts/FixPlayer.java": { + "mode": 420, + "sha256": "9f9ea470af063339511b1f1c85d6dea2df0827c4fed5806c6f641b1aad3e5660" + }, + "ghidra/scripts/FixThis.java": { + "mode": 420, + "sha256": "aafeeb482f71d1bdcbc99a51fb3f21989a46fbb49b5a572f3d9e436c9b3b98b4" + }, + "ghidra/scripts/LoaderRecon.java": { + "mode": 420, + "sha256": "1275d460227e0098254885fe70666d618da7215bca99483a5475c1e701ab9b27" + }, + "ghidra/scripts/LoaderWriteBack.java": { + "mode": 420, + "sha256": "d1040cb9ee80f0fe4d2310d95b38d7d94b0972283f74ea6058de0bdb9e510e63" + }, + "ghidra/scripts/SpineRecon.java": { + "mode": 420, + "sha256": "bea798733cf60f9478373cc453692104058b643ba5b7fc68e76945ae6f496950" + }, + "ghidra/scripts/SpineRecon2.java": { + "mode": 420, + "sha256": "94f10ac953091d50187a46b74803abb4812b244356f9336fa8e133a8a6cba0c6" + }, + "ghidra/scripts/SpineRecon3.java": { + "mode": 420, + "sha256": "b2344ab3d7195cfb935505ba1949f3d4862f787ccb95b812cef3856f92c94ffc" + }, + "ghidra/scripts/SpineRecon4.java": { + "mode": 420, + "sha256": "1093ee635be94f0c0bb31b5bd79f030faa0d7cbab96a495426363172cbcd1d66" + }, + "ghidra/scripts/TechFx.java": { + "mode": 420, + "sha256": "bfa8e990d65ad7cb2b665ee284ec2d645395e0fb3794ea146b175e2937a159ad" + }, + "ghidra/scripts/TechFx2.java": { + "mode": 420, + "sha256": "ee7040ed3316f2e717bac207c3e8ba9bf5ecb560f9e2b38335582c4ca6bae5a8" + }, + "ghidra/scripts/TechFx3.java": { + "mode": 420, + "sha256": "b672751160abcfee37d16eb2f107a60420b7d6956c312fe93e9f62578c06b96a" + }, + "ghidra/scripts/TechFx4.java": { + "mode": 420, + "sha256": "ef912e86f802452f33c20a1adb87eeb96f0ec893e26ee4bbd02305ba0c5e46c7" + }, + "ghidra/scripts/WriteBack.java": { + "mode": 420, + "sha256": "e002a5b86bc58cf75ef8d08dbaeb84bdf3306c1e8d49e92c0382f8ed858c57ac" + }, + "ghidra/vtable-owners.json": { + "mode": 420, + "sha256": "8ee89f3b43f56283a6ffcc605394a1ab246f8071370a9db8f1e770942a5a82a3" + }, + "guides/lab-screen-wall.md": { + "mode": 420, + "sha256": "d398b47853013dbce63b4af2f2ec680c39775732b9fbba13f5fc42a46628550f" + }, + "guides/method-rules.md": { + "mode": 420, + "sha256": "a71a8415202fe97ccaee3805bf4035684776c37f5613dc39a1f260aa33f94b69" + }, + "guides/multi-agent-workflow.md": { + "mode": 420, + "sha256": "f5bf0c30c12a3a9e1725549fe000be0105d415ca25b120673a780901148f08da" + }, + "guides/re-windows-2000s-howto.md": { + "mode": 420, + "sha256": "3490650440d6e683cb029915b8c2cace914b1f52538c9db89175ad4547db2901" + }, + "guides/windows-lab-housekeeping.md": { + "mode": 420, + "sha256": "4a9e9d66dd76e6b5ee1951686186190c650a617fa812fa4bd236ef02b783939a" + }, + "notes/.keep.md": { + "mode": 420, + "sha256": "7878c159a1b9636974e9093902027a24bf7b3c7520f13a8d96f930bd10d22f1c" + }, + "objects/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "objects/layouts.h": { + "mode": 420, + "sha256": "24586f7f1c25530691193a919c6335ab1784fa2815b222326409cfe9e2a42981" + }, + "objects/layouts.json": { + "mode": 420, + "sha256": "16bfffa5020d98c12af61c72a48da8f2c5e06d1060358802717e585a49b150b2" + }, + "objects/layouts.md": { + "mode": 420, + "sha256": "83bc29fcd379847f9ebd6732edf9748c1c878052e889615928659307f97a148c" + }, + "objects/streams.json": { + "mode": 420, + "sha256": "60993eda14d0b1056578718d43a3b6d89816e12c4f5a00674806aeef9e81baf7" + }, + "opencode.json": { + "mode": 420, + "sha256": "d24be7fcee57d5eb04c6b7189822a2ca055dd4a70daafbea67f09a120945d49f" + }, + "scripts/.keep.md": { + "mode": 420, + "sha256": "b0cdcee8cfdc1b15ee444520b6b01c747399deea6d92ff2576ca6eb57331bbac" + }, + "scripts/forgejo_campaign.py": null, + "scripts/lane_v2_writeback.py": { + "mode": 420, + "sha256": "69a66058adb04926eeb6f0e81fa8f0392ce06de2e8d8eb61ebcf503bab6311da" + }, + "tools/DASHBOARD_README.md": { + "mode": 420, + "sha256": "f401cc54f64a4862a938263f37eaab22e6475e063e59726e02dce201f657dcc4" + }, + "tools/aiorders_to_tcb.py": { + "mode": 420, + "sha256": "9762d1fd45f3ab7c045088e222c5386a2cc63a6b25e1c09a49cbbd71837bfe17" + }, + "tools/cache_functions.py": { + "mode": 420, + "sha256": "18c037e48ab035764b0c877123ea7c998ef74240c63090e4f58142f57835e0b1" + }, + "tools/campaign.py": { + "mode": 420, + "sha256": "c7b7c7a30d907bba8e59386dee8704d7f3f5e978fcf709b686e37996fa465c31" + }, + "tools/check_agent_config.py": { + "mode": 420, + "sha256": "93115532cb38105777a5c5c20a9f2a808043370e0d4f560a9c82fe8e800076ec" + }, + "tools/dashboard.py": { + "mode": 420, + "sha256": "c84aeeea6fb7d5e45ccec8882bacc59182149f108edd9eb1585eab9ede99911c" + }, + "tools/displacement.py": null, + "tools/evidence.py": { + "mode": 420, + "sha256": "0a7f8497ed287b4b64aa5ba0cb25735172408e38f3605b3ff90f009c7f02eb85" + }, + "tools/gate.py": { + "mode": 420, + "sha256": "4df5ee7022fb2601687f06eab788e2cea1e345e580c4e92c9d47be1787d37460" + }, + "tools/gate.sh": { + "mode": 493, + "sha256": "d7ba27b9b0c6a03df48e4edc71884ef9986743f8afa751dbfec116df5aeee18c" + }, + "tools/gen_addresses.py": { + "mode": 493, + "sha256": "5d995585d4192a19db7cc6d31ed811fa80264159fc114f03f58793f9b6c4908e" + }, + "tools/gen_stream_schema.py": { + "mode": 420, + "sha256": "a9c3e925bb3370371a2c8cde8d738c657fe1cbf68c39c6155562bbb20c551461" + }, + "tools/max_income_oracle.py": { + "mode": 420, + "sha256": "8d3ec6ba5c677486200eab7d1ca55e1350947829e603737307fa394ac8e40bcd" + }, + "tools/max_income_predict.py": { + "mode": 420, + "sha256": "85400c82b6cb7c6786b7fb6486bdc7bcb1140817f7a0ff0b4fa4f7dbeded8797" + }, + "tools/probe_report.py": { + "mode": 420, + "sha256": "f3ef378c10bae4a8bef754d853f0e86616bb95b5e051e04cac97d362587df1a7" + }, + "tools/reva_call.py": { + "mode": 493, + "sha256": "89477650d38985f84b61a664572de1cbde1268b879d3da5e874598942822998b" + }, + "tools/rng_ledger_report.py": { + "mode": 493, + "sha256": "b4f3f581eb6de50118fd531c848354816c20197711e668ce8b0cfcb4d0392cf3" + }, + "tools/rng_oracle_check.py": { + "mode": 420, + "sha256": "f27ca7f9aa03bc672f04067bc71e73ac83742997f12f5f55ce11151bdc39d98a" + }, + "tools/rng_site_report.py": { + "mode": 493, + "sha256": "fabd950c002265403f7b13a8868a158d867828c9930770ed096a2610b086ad35" + }, + "tools/rtti_map.py": { + "mode": 420, + "sha256": "9ac88a8aa566fe08336ba6e50905ec4253409e1317f491c415b1b9ebcc0713e4" + }, + "tools/run_agent.py": { + "mode": 420, + "sha256": "0f5ccb53dcde59b64fe999768737b6cbd2dabcc1272e5605c1f1ecd86e5d5d2b" + }, + "tools/select_evidence.py": { + "mode": 420, + "sha256": "a6e648a77bcf799cc774ff9d0de83011283049ed0f0c44f6e08857a8410e9463" + }, + "tools/serializers.py": { + "mode": 420, + "sha256": "938904eb7b4ae30a61dd966494b112c6d52399f9d4a4658add06b40a54d6cb73" + }, + "tools/serializers_ghidra.py": { + "mode": 420, + "sha256": "d27da0afc8d043d31335bbe274fc76245e50cf0f9091a968b124f31c3a17997c" + }, + "tools/serializers_golden.py": { + "mode": 420, + "sha256": "29d2509b54704b80eff46a59a320719edb17a7eb67fd8acb8ad5e3c427d8e825" + }, + "tools/standalone_report.py": { + "mode": 420, + "sha256": "43a61c4031306732554aca23cd95b57d35f2a870766c33ccf8e005f22436525c" + }, + "tools/streams.py": { + "mode": 420, + "sha256": "57ec4ec5ad222a74f4461d70277d258e51779ae53ff74fd0e07eb51d4bae0afd" + }, + "tools/strfootprint.py": { + "mode": 420, + "sha256": "3b0db212c0b091ae2f63b866ee331435d013c535f233ec34ae3dfb63ded852dc" + }, + "tools/tcb_from_json.py": { + "mode": 420, + "sha256": "8fe09cff16802fda34db24f6f888610baa258399ab39173586b91a7a162f231a" + }, + "tools/techid_table.py": { + "mode": 420, + "sha256": "2c644bdbd3774b70dfdae7e77ff7a3a8e8563b58be7098a2d55ee30dc8b8fd07" + }, + "tools/turncommands_capture.py": { + "mode": 420, + "sha256": "0214d5da6f5f86e188bb2f03db8d3439267baee3a883c7df754601c7c1a38536" + }, + "tools/vmshot.py": { + "mode": 493, + "sha256": "09228bf8bd61918c49afc2b6da931fc8a7833be126be5384b85194e0e86eea44" + }, + "tools/vmwatch-install.sh": { + "mode": 493, + "sha256": "3c004f532422bd589a7294dabdf54d5a726f598c69012eaea3d73a748ad0123a" + }, + "tools/vmwatch.py": { + "mode": 493, + "sha256": "650d8232e46239a55b96f26d581d7d9c5815415c9014fd2e5b846b68c1346b39" + }, + "tools/vtable_map.py": { + "mode": 420, + "sha256": "2e19223efb79421ab4b807e32f0854b2592d7d3a3a52c12e84e47460b960f740" + }, + "tools/windows-housekeeping/Invoke-Housekeeping.ps1": { + "mode": 420, + "sha256": "a97911a3cfbd47813282efa7f52b4de03d28912487fffe0e7e7aa1a250cac01a" + }, + "tools/x86disp.py": { + "mode": 420, + "sha256": "a05a42d63813d2025a4da65bdd684e82a89c95c52901a8f490391e31c49a122e" + }, + "verify/campaign/test_controls.py": { + "mode": 420, + "sha256": "108460f4e90c4cb7036642e85de581e31fd70c478533c32364691260461814fc" + }, + "verify/config/test_agent_config.py": { + "mode": 420, + "sha256": "e60ee546672da91de08ca8fdd5d563b5f1207d0a865adf935017e06bf437585b" + }, + "verify/config/test_source_check.py": { + "mode": 420, + "sha256": "c16731e31a54256dde4f88d33007759ff21ad8537ca6cd2be38b9e34c59525ad" + }, + "verify/design-rules/SHIP_DESIGN_RULES.md": { + "mode": 420, + "sha256": "4decf51bfa03e8ab2b58478198332e834233100126949b920349f210b54521c8" + }, + "verify/design-rules/data/HiverInvasion_FleetTemplates.csv": { + "mode": 420, + "sha256": "327e799be3c75361267725c157f78b425d3a1df6ed6595104b2ce9993e8ae3a7" + }, + "verify/design-rules/data/UpstartApes_GiftFleetTemplates.csv": { + "mode": 420, + "sha256": "89939d70eb6ed48ec776a4a6fc50ccb68fc6be7162706bab199484bf7cdd5e44" + }, + "verify/design-rules/data/_defaultweapons.txt": { + "mode": 420, + "sha256": "ef9e33aa32840f1878ece67f88556d81a4255f63f6e8aad4ac73e575ef2c7ec8" + }, + "verify/design-rules/data/_turrets.txt": { + "mode": 420, + "sha256": "35de6ad40895f76298eef7dc354c739a5a59747b689c2324cfa5040442eddc18" + }, + "verify/design-rules/design_rules.py": { + "mode": 420, + "sha256": "772f70c7d6be2d20d10cf4f5d412233b267440d63d431bf7b320c29f3f06e313" + }, + "verify/design-rules/stock_designs.json": { + "mode": 420, + "sha256": "b363023e02899bc03e4c8b8423b394ef8abb190b1bcf437aade19be463353f68" + }, + "verify/design-rules/stock_designs.py": { + "mode": 420, + "sha256": "fe020f6058ec25b6fc456146abb6594825ee2b98ba5c5c5eeaff969ce4596031" + }, + "verify/design-rules/test_design_rules.py": { + "mode": 420, + "sha256": "6f6764d21d7a3337ec8aba9651b19947239a7d06a6cdf7c6e9be5ddefcfdd186" + }, + "verify/fpu-cw/cw_census.py": { + "mode": 420, + "sha256": "07b7ac5ae60df487867b592e82e9f74201b695437fba248813bc07305a21c7cc" + }, + "verify/fpu-cw/trace_bitdiff.py": { + "mode": 420, + "sha256": "b25c93d70e67ed2fa81e5ea7184f8ffe0cbd2e7c043bc94f923c3db1cf101b59" + }, + "verify/harness/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/harness/cb/README.md": { + "mode": 420, + "sha256": "7a656251a600a9343ffa8afaa4f227e7cb8086be7d3c6879c0a403ab8acec71d" + }, + "verify/harness/cb/cbdo.sh": { + "mode": 493, + "sha256": "6f3d7fd35aeedb0841be9df0ba19136be2e7ccb5c44950d8aa821c61727232a6" + }, + "verify/harness/cb/cbfull.sh": { + "mode": 493, + "sha256": "609101217e9d35bf1caa5cb66f362e0796fcf6c1264bd92ff550d0ed12ca2521" + }, + "verify/harness/cb/cbload.sh": { + "mode": 493, + "sha256": "2e56bb64609434f6dfc6ebcf71a3c839ae59170db80c996ebee7c2219cb664ec" + }, + "verify/harness/cb/cbmenu.py": { + "mode": 420, + "sha256": "fb2e72a1a5390aa28dcae0fbc2d7b920b06bf3b1ea161bb757d4db3c8cd23af2" + }, + "verify/harness/cb/cbstep.sh": { + "mode": 493, + "sha256": "5896b21e8cf08b40e2a2958e44a51beb7e5b5a58cf35d405879a5df7cdd375b4" + }, + "verify/harness/compare/TRACE_FORMAT.md": { + "mode": 420, + "sha256": "cf6f61dc255e3aed0f293c141d9fd3b0d5e848e3abe4dcf50b4ca2d58e37c024" + }, + "verify/harness/compare/mkfixture.py": { + "mode": 420, + "sha256": "f081dd92b9e82e838f59ce8f9c79d5cdebb825255f13b6c49178516e7f3ef118" + }, + "verify/harness/compare/oracle_parsers.py": { + "mode": 420, + "sha256": "b1a745bfa63b447c87279afdb2885a0218f2a0dc2539f79414f8a2534e24c97b" + }, + "verify/harness/compare/test_tracecmp.py": { + "mode": 420, + "sha256": "f25eb9d5ea7215b8366c44924fb49a5f028a0188e709dadfd90cfbc30db0823e" + }, + "verify/harness/compare/tracecmp.py": { + "mode": 420, + "sha256": "d6ca461cabf15351e2040150144084b93d3caf22d879ee158ede04052ab03cbb" + }, + "verify/harness/l2-ui/README.md": { + "mode": 420, + "sha256": "48effd757522ee5ff70af6d77449dcfd805bb7744c9093d01c039b86e030d7f6" + }, + "verify/harness/l2-ui/launch-b.cmd": { + "mode": 420, + "sha256": "8f26c451a88765c49ecb3c8160ed4a3d06f1100a6d9323b305efc01f039dfada" + }, + "verify/harness/l2-ui/socks.ps1": { + "mode": 420, + "sha256": "401cce47d495507f60eeae45942c146586464959046ef9715cd69605753af027" + }, + "verify/harness/l2-ui/ui.ps1": { + "mode": 420, + "sha256": "355c8f222bf99f547d9d16a1665a072e6914917d48e4db22b8438d2d83708e97" + }, + "verify/harness/profiling/battle-run.sh": { + "mode": 493, + "sha256": "79f14ded5c3731efd655a6f9a4ac6795f3ace0a9b064c43ba4bf9a2cb988a7cf" + }, + "verify/harness/profiling/funcs.py": { + "mode": 420, + "sha256": "841a6f5e5dc1d845b7439c9ce9dc08e045864929b0f367908abea7ab54259207" + }, + "verify/harness/profiling/funcs.txt": { + "mode": 420, + "sha256": "d35b17dbb3970f5c24ae862748c5b91aee87491968719c34e48a8b88c0615835" + }, + "verify/harness/profiling/iat.py": { + "mode": 420, + "sha256": "82465ef8284739ab3d3c99acd0fa6cc5a4bb80c8680eb7a949218305fd10d3d3" + }, + "verify/harness/profiling/inspect.ps1": { + "mode": 420, + "sha256": "35bc7dd85108e3f4686975ef7f510b1cc9306b5839329f7fdd2a5ac27a140611" + }, + "verify/harness/profiling/names.txt": { + "mode": 420, + "sha256": "89d90f934e445447c68569448471a8917ee0bbfcb5fb96bba3e6566be9b0779c" + }, + "verify/harness/profiling/parse.py": { + "mode": 420, + "sha256": "680df36804e923d74da8e9fd8877b5ea66975c9ce8d239ad4507c829f881722a" + }, + "verify/harness/profiling/sampler.ps1": { + "mode": 420, + "sha256": "ef0edde8535ef07e508a732f8e11dc3d50fef966e5a9e4d8161085a83372993e" + }, + "verify/harness/profiling/shots.sh": { + "mode": 420, + "sha256": "87e554abf08068d6438417e266f1e7820e34a900a7d559fa0a7c4a2fa18002b3" + }, + "verify/harness/profiling/timerres.ps1": { + "mode": 420, + "sha256": "80362eb9ec8bd882abddf2507236e70db2dd21f64c9db07d217bdd49361ed89c" + }, + "verify/harness/profiling/turnloop.sh": { + "mode": 493, + "sha256": "8e28f076599a9eb53eace77ad77a10b0770f1ce617c7a76e6a2b9044ee0c8774" + }, + "verify/harness/profiling/turnwin.py": { + "mode": 420, + "sha256": "e2033a8e519a7c9f65f67b5592494a9843eb8bef41af6ab5652343aa86bd4c60" + }, + "verify/harness/profiling/ui.sh": { + "mode": 493, + "sha256": "e66774a4d070285e6c6a62472000222a691c7192096039e75fa726bab9f6afb7" + }, + "verify/harness/run-recipe/click_helper.ps1": { + "mode": 420, + "sha256": "150a1c17e12e8479244107cd01d95233c84d550e95a6f5e352fd529818a21d7d" + }, + "verify/harness/run-recipe/display.cfg": { + "mode": 420, + "sha256": "76b4876abd1cd163a5cc6b65a6106670476cde40c9b868a53a0dc45f517e132f" + }, + "verify/harness/run-recipe/dxvk_d3d9.log": { + "mode": 420, + "sha256": "f48ff2684a78cea563ab7f10e2f005638044352fe9cfc30dedf0f26ec7fecf23" + }, + "verify/harness/run-recipe/launch.cmd": { + "mode": 420, + "sha256": "90a6effe8ae835bf641cc775a17ad709198fdfeded4379f658255a82f594e5c2" + }, + "verify/harness/run-recipe/lvp_icd.x86.json": { + "mode": 420, + "sha256": "b89a08526e043a84c3a2550b5ea2fd7692f547ea295e8dd70e79c64fe81f6fbf" + }, + "verify/harness/run-recipe/run.txt": { + "mode": 420, + "sha256": "12c83295dae9db4a98142ef8fe7e45321c90960428df504ed3496e27838a0413" + }, + "verify/harness/run-recipe/session.log": { + "mode": 420, + "sha256": "e9ce9b496e9ee55bd64cc27afe594cee6136dfbc6cf9d9d44e9914b27e568a93" + }, + "verify/parsers/PARITY_NOTES.md": { + "mode": 420, + "sha256": "beecfe60358f5977529bd0784ffe18ca03c38d2dd36766f351c6a9addac83bda" + }, + "verify/parsers/effect_txt.py": { + "mode": 420, + "sha256": "7219045dfaf305dd64218ff8096e8cac69a53df1aabdf85f15e6c5e01c963e74" + }, + "verify/parsers/flat_kv.py": { + "mode": 420, + "sha256": "a26149cb21d152be5cbada3b764e042187daf2ec306b2dba1081737af6a7ae4f" + }, + "verify/parsers/manifest.py": { + "mode": 420, + "sha256": "62a08cfd82d5f701ae3b3f567bc8382cfd1b33b49bf6049ade47a932ef7109da" + }, + "verify/parsers/mars_data.py": { + "mode": 420, + "sha256": "90c7b8421044b1d7e262e6f20e5af391d97a712b12c2d3f0c3033567881d536f" + }, + "verify/parsers/verify.py": { + "mode": 420, + "sha256": "cc5d619bd6b3ca161b4bc8050c30e7d77f6bd3e964c971cc29e051efc1e25a33" + }, + "verify/publishing/test_dashboard.py": { + "mode": 420, + "sha256": "cc44e516da663f5d27bf817cbcbf24c052f2db52ee887d08d7c271caf8f6a000" + }, + "verify/results/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/results/compare/.keep.md": { + "mode": 420, + "sha256": "4581f3fde61549f4c621b2f114228a62d066a528a270a9b41703238ff841ac1d" + }, + "verify/results/compare/b2-techfx-compare.json": { + "mode": 420, + "sha256": "b0533322d44b1694f36baf86d6660481ac5b22ce9c1d6b6b9668ea064cc08f4b" + }, + "verify/results/compare/b2-techfx-golden.json": { + "mode": 420, + "sha256": "4298a8229b85a3329c78d3618d3eb19aff096cb2da66e9238fd843d639b17f11" + }, + "verify/results/compare/cr-compare.json": { + "mode": 420, + "sha256": "f20e9a7c71412688c02b607f08a5224367598eba552e35a50e9922ca8f12edab" + }, + "verify/results/compare/cr-compare.md": { + "mode": 420, + "sha256": "0eb905744120b1cf264ba6e57497db64fdc8e225a87ef7bb86cf3f026ffe4d0d" + }, + "verify/results/compare/cr-replace0.json": { + "mode": 420, + "sha256": "f1556c5d74c236c82617061b5ec60b1a7ce4652bce87b6595eb89406ad832240" + }, + "verify/results/compare/cr-replace0.md": { + "mode": 420, + "sha256": "6f571e46350a29b811bc12b48e12ed2d443acba5f5be6310e0531c3790425d48" + }, + "verify/results/compare/cr-replace1.json": { + "mode": 420, + "sha256": "d0c1d6bd4a1f8f5343b584662d8202184479b01a51480443a97242daf27fccc2" + }, + "verify/results/compare/cr-replace1.md": { + "mode": 420, + "sha256": "111b51290468d5482a1910194487d26dc1b3ec534d699aa07a564de66bbf9d98" + }, + "verify/results/compare/eventlive-b3-t1-5.json": { + "mode": 420, + "sha256": "4f305180bcbe93523f407d1f8406ac52b84d4a20e2d611940716618fd37edfde" + }, + "verify/results/compare/eventlive-b3-t1-5.md": { + "mode": 420, + "sha256": "ec71d98210218fd5b5da69f6b17cf6991128a58a0358a6504e6497dd39159764" + }, + "verify/results/compare/eventlive-b3-t1.json": { + "mode": 420, + "sha256": "84f66c1e6a23f737d1615e75fd22fba958bfd851067acb42503e32a2812dd1de" + }, + "verify/results/compare/eventlive-b3-t1.md": { + "mode": 420, + "sha256": "299b8dd3f2cf42cbc9e6254fac01ee3dcb6abb0758c8f298beb6cc6464db4cfb" + }, + "verify/results/compare/eventlive-b3-zuul.json": { + "mode": 420, + "sha256": "a1a92c06202c8168362c33442edeb7ea7f76f6e586e5deea1b86dff9dc8f3494" + }, + "verify/results/compare/eventlive-b3-zuul.md": { + "mode": 420, + "sha256": "544791f9cd8b77a2d865f2a918d97e74559529f29943171bd1e8e2d8a120dec5" + }, + "verify/results/compare/l5-budget-boundary.md": { + "mode": 420, + "sha256": "6877f9cfc602876b4c213106493853822471a5aaa3e4e8ebf8dffd31373d89d9" + }, + "verify/results/compare/mf-after.json": { + "mode": 420, + "sha256": "586a824a0d0af1de0808c33c1c392c4022128f9c1305dc32b6749e8fa493e8f4" + }, + "verify/results/compare/mf-after.md": { + "mode": 420, + "sha256": "659be3da71cabfd3c34eb818f1bac07f848c58a878fd62d81ac7b1daa5f3ce03" + }, + "verify/results/compare/mf-before.json": { + "mode": 420, + "sha256": "259272b45ca9c63894d8c91e399ff91d7258b7836f1a0d5c91dd3972586b2498" + }, + "verify/results/compare/mf-before.md": { + "mode": 420, + "sha256": "4572530a1c93865d27aba47c23c418773ad39a834c8be1c004f5cc2f16f927a0" + }, + "verify/results/compare/output-ref-turn2.md": { + "mode": 420, + "sha256": "43a569165f9239f13edc31c7a848a6b839829ae06dd6e3b85d289a1552eb8d34" + }, + "verify/results/compare/output-zuul-and-ref.md": { + "mode": 420, + "sha256": "9bc0937c0b3e1e3e5a6cd3768dbfeae56a897615396b00834bd083611f3ef431" + }, + "verify/results/compare/recap-b1-compare.json": { + "mode": 420, + "sha256": "8e86cdd32373e41ac1cdc130b18acc188b35d5ab7112e1fc655d134c44ad9712" + }, + "verify/results/compare/recap-b1-compare.md": { + "mode": 420, + "sha256": "496a3246eda3be76d9d0f08726369d40aa879cf60a510f16209ae77585582841" + }, + "verify/results/compare/recap-b3-compare-t1-5.json": { + "mode": 420, + "sha256": "80eeeeccf15f427b75b053d06f6b32b1692a2ed9ca6b9a51c244e4166a1b0e78" + }, + "verify/results/compare/recap-b3-compare-t1-5.md": { + "mode": 420, + "sha256": "5b6295bff72d599f142e75fa913ca2da590322a6fd1d104328847159fc5e7802" + }, + "verify/results/compare/recap-b3-compare-t1.json": { + "mode": 420, + "sha256": "10d0d5f8aff90f6cce3cd87e30c7f8ff896c5b369f4dc8288141451e25727cb9" + }, + "verify/results/compare/recap-b3-compare-t1.md": { + "mode": 420, + "sha256": "2b0eb8865bb07a2dd8fd038bc19e38a34fbf19b9d3f6fabae085c16a74fbcc6f" + }, + "verify/results/compare/recap-golden-trace.json": { + "mode": 420, + "sha256": "50bb7e34ab2359adc83cc0647fc995d207173fcf6134e413565af450958f652f" + }, + "verify/results/compare/recap-golden-trace.md": { + "mode": 420, + "sha256": "586fc86fe78659902a5d0859c0bce44623bfcda0f375bb57b293796862c48e17" + }, + "verify/results/compare/recap-misc-compare.json": { + "mode": 420, + "sha256": "c73f3f3593a0d715a675b29c7b4f49c02a97578ee9d867ce15d217c43da2e466" + }, + "verify/results/compare/recap-misc-compare.md": { + "mode": 420, + "sha256": "b435c92441742b2b1b0236bfacff10c17757696baf446c544c4759b7e31237ed" + }, + "verify/results/compare/unlock-b3-t1-5.json": { + "mode": 420, + "sha256": "a4dbfc89f6f3d154edbbc62842a4e8d8a3c69b9589eafc1bb496b26a3ecf6e3d" + }, + "verify/results/compare/unlock-b3-t1-5.md": { + "mode": 420, + "sha256": "832626087ddc2da9064a192a1acfb3869d4a52c6398a070cbd66eaa1bdbe2e2e" + }, + "verify/results/compare/unlock-b3-t1.json": { + "mode": 420, + "sha256": "6d8938b8eaeb2da1c7fdccb1fb68f8e3a2b5b7f492cc096326cf3aadb2ab8d55" + }, + "verify/results/compare/unlock-b3-t1.md": { + "mode": 420, + "sha256": "8911e671a143c25765cd7c0b67f1b9cb23f4040fe26aad40ce59b1db858afdcd" + }, + "verify/results/compare/unlock-b3-zuul.json": { + "mode": 420, + "sha256": "3099d248d58c4395e92d65ad18c28227695a7c7935193be6c2bcf752fa0e0f04" + }, + "verify/results/compare/unlock-b3-zuul.md": { + "mode": 420, + "sha256": "f53b165c8502ba9b2416935179fdea68153fb6ebd2458b4ec9b4ecf6c741c91f" + }, + "verify/results/data-catalogs/crosslink.json": { + "mode": 420, + "sha256": "2966ba9780910b596e350c4f81eef5d74c4d235dc3a8d5cf6ad5fd53a407254a" + }, + "verify/results/data-catalogs/schema_stats.json": { + "mode": 420, + "sha256": "6e3f669ae77cdfa2c5cd6bbd29f5cecccd452d9a7b2397c2c23db6c33fda0a2a" + }, + "verify/results/data-catalogs/shipsections.json": { + "mode": 420, + "sha256": "2e7057c608d0cea755bf9dbfa291864d33e3f09ad5deff7bb3a8045bde7a4ab5" + }, + "verify/results/data-catalogs/strings.json": { + "mode": 420, + "sha256": "c36c1b2b9a2eace438f93698df6388fa94aec30d372bcd0bee7e09bb33c54d7c" + }, + "verify/results/data-catalogs/tech_tree.dot": { + "mode": 420, + "sha256": "96ce0492a1284167d82af2c07a8f8a0b3bb9864bc137195560d909df6a913055" + }, + "verify/results/data-catalogs/tech_tree.json": { + "mode": 420, + "sha256": "18df799410c5f650e15808c1ef247b4768a3dfff93795a5ec7f56cd6c4afc597" + }, + "verify/results/data-catalogs/weapons.json": { + "mode": 420, + "sha256": "a446b445c21519fc7992c84155c9652239567030843c405b4219d1f65022db01" + }, + "verify/results/fpu-cw/README.md": { + "mode": 420, + "sha256": "3928fd0f6a03a8ff0b170a7ed23a059120b5014b13bf6870d4f187ff299d5975" + }, + "verify/results/fpu-cw/cw-census.txt": { + "mode": 420, + "sha256": "b7854dc5cd249a2490d04264d758f1894a9ddf4b95573650365d47587c7589d3" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f-rep/shim.log": { + "mode": 420, + "sha256": "73b5b86da743a1cb37d4c0d97b29978923b55a7a47f80c7fa20ca47d424f6c02" + }, + "verify/results/fpu-cw/run-007f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f/shim.cfg": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "verify/results/fpu-cw/run-007f/shim.log": { + "mode": 420, + "sha256": "5721f47d7fd862156ce2cd1832cd1739636b5aee53c82323ef233ff6401775bb" + }, + "verify/results/fpu-cw/run-007f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "149c4fcf750fcf9e81dc86d8696271d9a14ca788891ac95cf96995e3737c68e4" + }, + "verify/results/fpu-cw/run-027f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-027f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-027f/shim.cfg": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "verify/results/fpu-cw/run-027f/shim.log": { + "mode": 420, + "sha256": "4bd3f88bd27eb2e3ae1f42f4dc2ccf1cc5df1a2c1171d2eff8be86e7be684187" + }, + "verify/results/fpu-cw/run-027f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b5d2611d0c08946c1e1eaa244a7e44782eac2592c392efb3d7147fbbd86816e7" + }, + "verify/results/fpu-cw/run-127f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-127f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-127f/shim.cfg": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "verify/results/fpu-cw/run-127f/shim.log": { + "mode": 420, + "sha256": "03f1999dc8964912697782e856f89f190b6680d5732f2cd00b1569bff727a545" + }, + "verify/results/fpu-cw/run-127f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "fb1b9063cc53a6b39ea0a58e0545b9334fbd15d65dd839e72f2c4febbb1dd3f0" + }, + "verify/results/fpu-cw/run-137f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-137f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-137f/shim.cfg": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "verify/results/fpu-cw/run-137f/shim.log": { + "mode": 420, + "sha256": "83aa72572412d5248179397895029367685fd590d795991ab91c98cf9828ae29" + }, + "verify/results/fpu-cw/run-137f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "aad1fb6abd86beafb9f44e2c6060157e22618811d105f2379252e19008839b66" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f-rep/shim.log": { + "mode": 420, + "sha256": "38f2824fbe91bf2fa1ef55473a7468707248420805b6f6dc85245fd34fa94200" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f/shim.cfg": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "verify/results/fpu-cw/run-1a7f/shim.log": { + "mode": 420, + "sha256": "a1bb0bd06dae6955ec09e7d0c6cd1e68e19aa2a114256cdeae1275def0a63091" + }, + "verify/results/fpu-cw/run-1a7f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b9a7affb8235626fcfdd5afe143e4ec03be869b6b386bd9ac78389097df88cef" + }, + "verify/results/fpu-cw/run-off/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-off/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-off/shim.cfg": { + "mode": 420, + "sha256": "6a19c362121a3dba0aac857d6e998131e8b2478f19edcdcbd58006645d096c70" + }, + "verify/results/fpu-cw/run-off/shim.log": { + "mode": 420, + "sha256": "9e3cbd005f0b68037681939b289834c55629bac0e9cd35ac55e6d8ef5333a116" + }, + "verify/results/fpu-cw/run-off/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "ec2271c0d7e09fe51ead7f8d58859c692e8b302233191841d506ea14248caa8c" + }, + "verify/results/fpu-cw/state-checksum-diffs.txt": { + "mode": 420, + "sha256": "3417dfc1b75ad896ac6a5e974d51248eecca319565e2422e146897d19e121b68" + }, + "verify/results/fpu-cw/trace-bitdiff.txt": { + "mode": 420, + "sha256": "8f86707f26f30638097c85f0db6df219adbfebac4e9ec24f1feb8bfce112d4f2" + }, + "verify/results/housekeeping/vm140-result.json": { + "mode": 420, + "sha256": "2250b02342f5c02ba5464cb4656543c6366dec098fbc948006600896ac9254c0" + }, + "verify/results/housekeeping/vm141-result.json": { + "mode": 420, + "sha256": "03d92ffd2947b2f0c058e5c613e04567cffee45be456aece6d771b789f32fb93" + }, + "verify/results/housekeeping/vm144-result.json": { + "mode": 420, + "sha256": "ace15320f7e60995a68f2c9c03a5a44159ae2d64fa273d34d38e285d313a0393" + }, + "verify/results/housekeeping/vm145-result.json": { + "mode": 420, + "sha256": "768666178bf2910a2ff026351727b5cc96e48df70e1ba012031d34eafc95ad7a" + }, + "verify/results/housekeeping/vm146-result.json": { + "mode": 420, + "sha256": "eebb306a3ec8533abae6dfd59f127c48effe9f21107e0c5c09c751108e77bb97" + }, + "verify/results/multiplayer/l2-combat-hud-client.png": { + "mode": 420, + "sha256": "02c86592531ab2889a0eae04e44a644d33c754096fe60aca6640068a7a3f421f" + }, + "verify/results/multiplayer/l2-combat-hud-host.png": { + "mode": 420, + "sha256": "a56daf36fcc88627b29116ad9874c95a3c46960074ff9b823aa15c4ea2660dd7" + }, + "verify/results/multiplayer/l2-combat-loading.png": { + "mode": 420, + "sha256": "f94a718cee08e1b7d346490058f13a107d23aaa7c269fdd53b159a75d62fa558" + }, + "verify/results/multiplayer/l2-combat-round-draw.png": { + "mode": 420, + "sha256": "c1b8424540b702915302f9ff38eaf765e8e95fddc3c5c4d894438dcfcf8b6256" + }, + "verify/results/multiplayer/l2-combat.pcap": { + "mode": 420, + "sha256": "0f112ef96da6c465dbda51baf99eedd66967eed61c097f643bf6c66fc26af31b" + }, + "verify/results/multiplayer/l2-encounter-query-client.png": { + "mode": 420, + "sha256": "4c41b268ad256b0109483a2d9b5ba35de7b9cadb4eb32ef4a68f7867e6e747fd" + }, + "verify/results/multiplayer/l2-encounter-query-host.png": { + "mode": 420, + "sha256": "8c7b0c6d65ddde45eb3447f044589ffc36500b40c4d676af8321f800162f38a0" + }, + "verify/results/multiplayer/l2-fleet-built.png": { + "mode": 420, + "sha256": "6ac91fcf9b42caef50134de01804046d8e60d0fd3966592e9738ceff511949c2" + }, + "verify/results/multiplayer/l2-lobby-client-joined.png": { + "mode": 420, + "sha256": "4a8e698c9ea935449ff0421cd59acd517ebffa388a7572279b28be0369141ff6" + }, + "verify/results/multiplayer/l2-lobby-host-created.png": { + "mode": 420, + "sha256": "e6a7377cabafa973396cedafa5ad5b4863a42f9866709db88faf9572e0ed3c98" + }, + "verify/results/multiplayer/l2-move-warning-dialog.png": { + "mode": 420, + "sha256": "43c6219d74bc0cb28495f13784cdbd3a90c89746b108824c3a2138dbdadcb53e" + }, + "verify/results/multiplayer/l2-socks.log": { + "mode": 420, + "sha256": "109b630d6548d07404f9f905e6c527f10e25221698f1b66226f67f94c5f294b5" + }, + "verify/results/multiplayer/l2-turn13-client.png": { + "mode": 420, + "sha256": "d19f17c4219f21f6c9950440d528a1a91fe3907761df21fd0ba99321b8820baa" + }, + "verify/results/multiplayer/l2-turn13-host.png": { + "mode": 420, + "sha256": "811efcfb571d60435f772a3b619bb329717d1e162b88e440ec0d636b1c6042fc" + }, + "verify/results/multiplayer/w2-internet-browser-no-error.png": { + "mode": 420, + "sha256": "6409b977056c95b29928a0098f75fffd71c501128f9d9325c3000837131c8791" + }, + "verify/results/multiplayer/w2-join-manually-dialog.png": { + "mode": 420, + "sha256": "86904e94a5aec41c1e89271d2712558c3b5055bd2ae4fededfda103d1e22fb71" + }, + "verify/results/multiplayer/w2-lan-browse-listing.png": { + "mode": 420, + "sha256": "6f5d16fa719fb63dd627fba551221c7665b69002e83fe35b8d84912cd7d8ce83" + }, + "verify/results/multiplayer/w2-lobby-client.png": { + "mode": 420, + "sha256": "ede652b21e2a4ea07c8132e4080ba903d1052ebca336bb007e1e8efa62787f10" + }, + "verify/results/multiplayer/w2-mp-turn1.png": { + "mode": 420, + "sha256": "59f9a1f5d8c0fff45d3ae3406dfd9878a5915f18e999d909a5238a90a3b86ed6" + }, + "verify/results/multiplayer/w2-mp-turn2-client.png": { + "mode": 420, + "sha256": "d9da4c151cd8290f80b31eb5ed8a74a0a30a87d1f7a80a179fa082a9439e08e5" + }, + "verify/results/multiplayer/w2-mp-turn2-host.png": { + "mode": 420, + "sha256": "910efd36b4a7c1a85d8ad487660f856339af037b9b00fef0cafd5e77ebdc36e5" + }, + "verify/results/multiplayer/w2-tier0-filtered.pcap": { + "mode": 420, + "sha256": "e108778fd1afb7718c53a4164310b8523415ef073706d310583dab424e5921cc" + }, + "verify/results/saves/ac-turn20-raider.sav": { + "mode": 420, + "sha256": "ee787db8f63d8f564c597bd5a82709790a0fdf47827912037f96b736f2cbed34" + }, + "verify/results/saves/ac-turn22-raider.sav": { + "mode": 420, + "sha256": "0faeaa601e6a867876819e5646b85f8787851093b8e6bd6e3946eb867f2dcc74" + }, + "verify/results/saves/ad-oracle-A-post.sav": { + "mode": 420, + "sha256": "a634510e7208cceb10d8ce016ceb0153601f11d7291f08122bcdb6418e313331" + }, + "verify/results/saves/ad-oracle-B-post.sav": { + "mode": 420, + "sha256": "676b1778880b5d4784ba7f6ef48b1a8e56745adab70a815943b7744876686260" + }, + "verify/results/saves/ad-turn27-two-raiders.sav": { + "mode": 420, + "sha256": "1c8baa27680809d585ab1728391e82729642d32aaedffd5bf95b616f0a11a436" + }, + "verify/results/saves/ap-deploy-turn15.sav": { + "mode": 420, + "sha256": "844f2b746060dc2c4e2099cdc6ceffd5f55ef858c9e347df28c8aca3041f7165" + }, + "verify/results/saves/ap-oa-turn16.sav": { + "mode": 420, + "sha256": "e296394f578b3a5668e5934b9eec8d6c4638ca7411200078f97de1abd346f4c5" + }, + "verify/results/saves/ap-ob-turn16.sav": { + "mode": 420, + "sha256": "262f8bda97c9511d8d2b41e6a8a0582d6f5364c2b01b1caf99e639d0e4f53ebe" + }, + "verify/results/saves/ap-turn22-spydetected.sav": { + "mode": 420, + "sha256": "91381bd7e722ac3847795a402d78ebb31d74dbb5d2909f33d243aec3ef8abaf8" + }, + "verify/results/saves/ap-turn25-spydestroyed.sav": { + "mode": 420, + "sha256": "46380fcf4498d67507e4471eb9ee3762647c53ee5473be142fe5c34e37344bc3" + }, + "verify/results/saves/ar-oracle-A-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-oracle-A-pre.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/ar-oracle-B-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-r1-turn43-post.sav": { + "mode": 420, + "sha256": "37f4a54fd32303fdcc86522b07104fbf2fcb124eec9b1f7005b3446fefcc429f" + }, + "verify/results/saves/ar-r2-probes8-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-turn37-816raiders.sav": { + "mode": 420, + "sha256": "b6f4e05ff226eabd1695003b36293553642553cea96ef417364393e2332a7094" + }, + "verify/results/saves/as-turn14-predeploy.sav": { + "mode": 420, + "sha256": "53986f8511cbf9920f32e2ea406ccf531dd08903fa5d06024fcf03ea7627221d" + }, + "verify/results/saves/as-turn15-spydeployed.sav": { + "mode": 420, + "sha256": "854a10fa1ea602f0f7909f9bf9154942e56ea5fa1db4cce47d6d32bf53952e08" + }, + "verify/results/saves/az-turn11-16destroyers.sav": { + "mode": 420, + "sha256": "501583c7cf2ac81c9db3191203cd3dc5ba5b9e228b9b9ce3dbdcc3650d0070a9" + }, + "verify/results/saves/az-turn23-tarka-comraid.sav": { + "mode": 420, + "sha256": "3d5eb826c149d1fd0278c746f32e6148ca9883a1bc5b522c0d5e6e13fac9788a" + }, + "verify/results/saves/bp-pinA-turn28.sav": { + "mode": 420, + "sha256": "e913ff41188211c02d536da616337544e64133996cd7cc7a6521a8df1960226f" + }, + "verify/results/saves/bp-pinB-turn28.sav": { + "mode": 420, + "sha256": "724528ffde9a7514b69ab9e82ed3b8c8ade63d622c0720de30503a73a92df11e" + }, + "verify/results/saves/bp-turn28-pre.sav": { + "mode": 420, + "sha256": "16f63adbf383946db17c381998957172bca803406b7df78f3b03805fef0bbcb8" + }, + "verify/results/saves/bq/bq-1A-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1A-post.sav": { + "mode": 420, + "sha256": "56980aa086e1a145b00f781b9d9cf618b152986f1c2267b9fd96cca0f1f604b9" + }, + "verify/results/saves/bq/bq-1B-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1B-post.sav": { + "mode": 420, + "sha256": "b36ac0ec2986f3a814dd22ca312c895ba6ec8a0e55fca54d8a7fd08a2f96a2c4" + }, + "verify/results/saves/bq/bq-1bA-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bA-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-1bB-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bB-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-res-post.sav": { + "mode": 420, + "sha256": "28bbd9b5c377afcd8f075b535eb1036ee46acf71ab614e7091ccdbdfb3703db2" + }, + "verify/results/saves/bs/bs-C-endturn.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/bs/bs-C-f38-autosave.sav": { + "mode": 420, + "sha256": "0fe8f37479a702d2e4e7752e6cb160dc242f00a082dc4115b7d10c77b24989f0" + }, + "verify/results/saves/bs/bs-C-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/bs/bs-L-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bs/bs-L-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/cb-c3-turn1to2-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5a-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5b-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-turn2to3-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/cb-turn2to3-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/saves/certified-pairs.md": { + "mode": 420, + "sha256": "4e1cfb79cf5a51446b2eae21f91b565348ffa95a9ebac8f95e23019012aefb57" + }, + "verify/results/saves/cr/cr-oracle-autosave.sav": { + "mode": 420, + "sha256": "79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420" + }, + "verify/results/saves/cr/cr-oracle-endturn.sav": { + "mode": 420, + "sha256": "e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f" + }, + "verify/results/saves/cr/cr-replace0-autosave.sav": { + "mode": 420, + "sha256": "6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5" + }, + "verify/results/saves/cr/cr-replace1-autosave.sav": { + "mode": 420, + "sha256": "8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235" + }, + "verify/results/saves/determinism-hashes.txt": { + "mode": 420, + "sha256": "bfa0615c4b310ae21c09a7d373d5a9d8799f36a0460089e5950fa0edf9d614d2" + }, + "verify/results/saves/human-turn11-spytechs.sav": { + "mode": 420, + "sha256": "aa63dd3d5489884f70d9c35acfb06c23c84531f403798842e7b0cf8cde94d1d4" + }, + "verify/results/saves/human-turn15-spyprogram.sav": { + "mode": 420, + "sha256": "22306d26f8831b90a62c00a2ebad5a97e77017b62ee96a7439d4c2c76c455cca" + }, + "verify/results/saves/human-turn2-orders.sav": { + "mode": 420, + "sha256": "9a94dec562622310893d6f522a0fae06f1033470f4182098e808b175e7df7c8d" + }, + "verify/results/saves/human-turn3-noderoute.sav": { + "mode": 420, + "sha256": "6db0912a050a846c8f3a184811644c76df3fdb65e83dffbf70289e21cc098a90" + }, + "verify/results/saves/human-turn5-traderoutes.sav": { + "mode": 420, + "sha256": "3829e6c6d8f26cd1183a972bd66edadbd71364c11a224b0a6e40461011bcab29" + }, + "verify/results/saves/human-turn8-traderoutes.sav": { + "mode": 420, + "sha256": "afeb3b2d724e07cf59f15eb1bdb9fcf853391fc06fe21beb20c069ff75b2f836" + }, + "verify/results/saves/turn1-state.sav": { + "mode": 420, + "sha256": "a3f9dc4b49fc669c814b09b87a9c6795de21bac80a1c7bfe3901b8e239fa36cc" + }, + "verify/results/saves/turn2-state.sav": { + "mode": 420, + "sha256": "ab4ac2d7e2977260a4de916f65c7ecc6dd5b0094dac4bb51241317232ea17ab4" + }, + "verify/results/saves/turn2-strict-issues.txt": { + "mode": 420, + "sha256": "33a169a2de29ad502e9b7c0159cd543e0b4d71f2d9b3903f5be58c7846db2429" + }, + "verify/results/saves/turn3-state.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/zuul-turn15-orders.sav": { + "mode": 420, + "sha256": "ef86a0d61de3533f023af5dc2b9a5720e4e0c5c97d900d88181603a13db7d045" + }, + "verify/results/saves/zuul-turn16-noderoute.sav": { + "mode": 420, + "sha256": "b6b5d283b62cc46bca914e86c34cf45e8960a653e818e59664087429bbb30103" + }, + "verify/results/saves/zuul-turn17-orders2.sav": { + "mode": 420, + "sha256": "1b863e684edecb4afe738ba30c8132065ebcf2d9977409325e714fe0173056e8" + }, + "verify/results/saves/zuul-turn17-rollpending.sav": { + "mode": 420, + "sha256": "aac5ba5b10ff1af6b0e38c565b2f0a60c16858ee4e89dd2a2f5b037eae95ee7d" + }, + "verify/results/saves/zuul-turn23-fleet23.sav": { + "mode": 420, + "sha256": "fd3748327d87b8c478f50fcd09d097eacff21e57d946ecb43b8119b4d0d78b1b" + }, + "verify/results/saves/zuul-turn5-species5.sav": { + "mode": 420, + "sha256": "48559ab5b719b332e47b4bf43af85a616bff1508125d62edb211b80637234af6" + }, + "verify/results/shim/ac/ac-probe-run-shim.log": { + "mode": 420, + "sha256": "b9b4a5f0e399e16b477cde0bd7e2c4ce378549eb5a467f7b8ae5eb64d75cb106" + }, + "verify/results/shim/ac/ac-probe-run-watch.txt": { + "mode": 420, + "sha256": "543d76d150aeb9318b9ae27acf638b8935eea30b1a2d47fb15354b584a458163" + }, + "verify/results/shim/ad/ad-r1-shim.log": { + "mode": 420, + "sha256": "fec98888b030ed42b84551aac1286c0baeaf15b8a545af068dc6605615e96df0" + }, + "verify/results/shim/aidesign/parse_aidesign.py": { + "mode": 420, + "sha256": "fbd4aeb71db548759bdb1ff65a5fdd0af6c192927e6ebe4b510f1083c3bdba13" + }, + "verify/results/shim/aidesign/sd-br-p1-hashes.txt": { + "mode": 420, + "sha256": "cd276116a51df01129f0e840d4c04f7964be34f75e51c384cd8df65969f458e6" + }, + "verify/results/shim/aidesign/sd-br-p1.txt": { + "mode": 420, + "sha256": "325cb9fcfa505ab2a93bbd00d60a7a4644b6b5970cb16a288cc7a43f2e825dd3" + }, + "verify/results/shim/aidesign/sd-pin-p1-hashes.txt": { + "mode": 420, + "sha256": "f0371c0a439d736ae7e67e71bd87d693481100d08243d16a1ac1f2ad0ab8bdce" + }, + "verify/results/shim/aidesign/sd-pin-p1.txt": { + "mode": 420, + "sha256": "45e693d279899e7a04cf59bda67190058896b56f3b0607d5aee21abb12f03071" + }, + "verify/results/shim/aidesign/sd-pin-p2-hashes.txt": { + "mode": 420, + "sha256": "e7d6dc12a940305087ee03dc7f8826f3c6343d24d8fea0f2aa78665d887138c9" + }, + "verify/results/shim/aidesign/sd-pin-p2.txt": { + "mode": 420, + "sha256": "b0206869206bc3a41bebb5175e31179f1a5d125a44b5ddfc10c67c4a0d13c22c" + }, + "verify/results/shim/aidesign/sd-t15-p1-hashes.txt": { + "mode": 420, + "sha256": "1ee71a623eb17e08c623ec8de3775218dc3a7c2de50d36a25dd2395382195962" + }, + "verify/results/shim/aidesign/sd-t15-p1.txt": { + "mode": 420, + "sha256": "df9f4906ee8bbb2efc9ba9a38c41607b89711d0bc9f705473d8448e9715d9280" + }, + "verify/results/shim/aiorders/cb-c1-turn2to3.txt": { + "mode": 420, + "sha256": "9d5014b346cb0fa9e2172f45db77c4437a03b069930eaaa80ea94e742891eb8f" + }, + "verify/results/shim/aiorders/cb-c3-turn1to2-run1.txt": { + "mode": 420, + "sha256": "fdaf27a32b93fdb3024f7a45f0d90b2cf833d3f592960027c3a6cf4ecbb8c616" + }, + "verify/results/shim/aiorders/cb-c5a-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "d4daa0c2599c1b573ed59617243a392861dbc4e1fbeb707c7248708c015d998f" + }, + "verify/results/shim/aiorders/cb-c5b-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "9682186176024242fddb901b10d9a5ad6beba91bd895c2001ca954fc293eab73" + }, + "verify/results/shim/aiorders/l4-research-run1.txt": { + "mode": 420, + "sha256": "5caf1fa25b7b8c2d6af213e59c6ec821be3c46cdd92a1024a6faf5d0a3b1d71c" + }, + "verify/results/shim/aiorders/l4-research-run2.txt": { + "mode": 420, + "sha256": "846ef2cfbc365e7ee2f481048978baf820d57026737261bfba3a328d59cdaad8" + }, + "verify/results/shim/aiorders/l4-turn1to2-aiorders.txt": { + "mode": 420, + "sha256": "c55d9b3c48cb552c02731003c26bb6dfcb8afb611c2a188d21fd4a39f550d269" + }, + "verify/results/shim/aiorders/l4-turn1to2-hooksoff-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/shim/aiorders/l4-turn1to2-instrumented-autosave.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/aiorders/l4-turn2to3-aiorders.txt": { + "mode": 420, + "sha256": "696c34996e4b5be0383794fae7ea114779f7fdd0a8cdceff5a00aeb07392933a" + }, + "verify/results/shim/airng/par-br-p1-hashes.txt": { + "mode": 420, + "sha256": "656b1d0c073d9988287e5b76543e42eb1c050d9ebc9872e2b7ec5208b7534b42" + }, + "verify/results/shim/airng/par-br-p1.txt": { + "mode": 420, + "sha256": "eadf1cfb7efd7b374472867ddf1cea5f60e30096090c950049f0c264b0299398" + }, + "verify/results/shim/airng/par-br-p2-hashes.txt": { + "mode": 420, + "sha256": "d97916075c7b4c10464962e9e38aed69288a4d68a16a369c1133df16fa134146" + }, + "verify/results/shim/airng/par-br-p2.txt": { + "mode": 420, + "sha256": "bda355cbbf07301cd6d3716eba32312261c402848c91780a97a6d5cce14c3d92" + }, + "verify/results/shim/airng/par-pin-a1-hashes.txt": { + "mode": 420, + "sha256": "5eb1b557826d45fe9d843b37a92aaef54cd1b8a60900f9c34b4fe25e4bd46a24" + }, + "verify/results/shim/airng/par-pin-a1.txt": { + "mode": 420, + "sha256": "17750bab77512434dcc9e66fc86cbfc34df497cadab5b732cf3b0ef3958e09a4" + }, + "verify/results/shim/airng/par-t1-br-p1-hashes.txt": { + "mode": 420, + "sha256": "7577c33ec33d9e94fb77225929c1f34a3dd94c18fe72a394017811b3b5d53467" + }, + "verify/results/shim/airng/par-t1-br-p1.txt": { + "mode": 420, + "sha256": "8bc9969e2da730d26cc5538b758858a00a4ba6ab2d398458ff4dece1edf8bf92" + }, + "verify/results/shim/airng/par-t1-br-p2-hashes.txt": { + "mode": 420, + "sha256": "7e60fc8615163e8ebccf22fc8910f2e7c4f72a9be7a74bc832bc2a0f64ade0da" + }, + "verify/results/shim/airng/par-t1-br-p2.txt": { + "mode": 420, + "sha256": "7e50a728eb5909bd602a9e6996b908b1b2665c8c983cc0258dad000c8bff8e35" + }, + "verify/results/shim/airng/par-t1-br-p3-hashes.txt": { + "mode": 420, + "sha256": "00ce6b3b4c9dbfd192d09b3b06d91b95576cee8a5a85fccdc36a85547fbdcbc4" + }, + "verify/results/shim/airng/par-t1-br-p3.txt": { + "mode": 420, + "sha256": "28cdf1f6b83c1764f1d1e51a67e3f873566b8503f8504ef52f5b5af24b21c0cb" + }, + "verify/results/shim/airng/parse_airng.py": { + "mode": 493, + "sha256": "3fafa7cf2363620d6a25248d085fbc4e3bd1fdbb9388a6795244834a9a2a2ed0" + }, + "verify/results/shim/ap/ap-probes8-d.shim.log": { + "mode": 420, + "sha256": "115545172568edc6a1d5bb3b559f968aa8a7aaa1f6aeba970daebce98fe56a0c" + }, + "verify/results/shim/ap/ap-probes8-w.shim.log": { + "mode": 420, + "sha256": "8af0897a884bb314958c5e6f2fccd88ff8b1890322dafd3bc904b3f983838620" + }, + "verify/results/shim/ar/ar-r1-ledger.txt": { + "mode": 420, + "sha256": "44bddfc0b9e94812a3a1cfd681a1350caedf2ed8e1174900c2f81c90dc95187e" + }, + "verify/results/shim/ar/ar-r1-probes.txt": { + "mode": 420, + "sha256": "c10251c9bcca5436dc42b2c0bd37b66c144aec4036f2069c2df9340fd764992c" + }, + "verify/results/shim/ar/ar-r1-shim.log": { + "mode": 420, + "sha256": "07003ee203d60a638cc8a1cb0a0f6b8042ba227705b4355f1254312c6dd54e28" + }, + "verify/results/shim/ar/ar-r1-sites.txt": { + "mode": 420, + "sha256": "d1923d549ef3567488d0382ae0ef75fa25c5b1b5812ee5349c5c47aea7a30514" + }, + "verify/results/shim/ar/ar-r2-shim.log": { + "mode": 420, + "sha256": "06dbf04cff5a56b0e55d8e73e5b1e3e9d9235f4afafc8139517b68d676781909" + }, + "verify/results/shim/as/as-probes8-run.shim.log": { + "mode": 420, + "sha256": "cd25c93d8b79e0f0df594fe681917fe880741a54a4188d4d72d2fbc6c42ba8d9" + }, + "verify/results/shim/bp/A-aiorders.txt": { + "mode": 420, + "sha256": "ee9f8bb1073e3bf02e115fdee014f79b11100a0e1e35e308c2bcd4b798302c34" + }, + "verify/results/shim/bp/A-shim.log": { + "mode": 420, + "sha256": "853eab98d09ff1e7a8e7da375a678561b02d6236adec627202ff3bb34d90e797" + }, + "verify/results/shim/bp/B-aiorders.txt": { + "mode": 420, + "sha256": "07daeacf33a16afbed64a8a01ffd26fa73c6d2acd0e6993dd9deb06a7fd93fc3" + }, + "verify/results/shim/bp/B-shim.log": { + "mode": 420, + "sha256": "cde2202333e81cc4eec2c47915181229a68a5fa99879968905a2809c4fe0a79a" + }, + "verify/results/shim/bp/L-aiorders.txt": { + "mode": 420, + "sha256": "28492b0f9be74f61db45eae49b44b41efbc1a3bf6f6d2c888e5cc40bfb7753bd" + }, + "verify/results/shim/bp/L-shim.log": { + "mode": 420, + "sha256": "550d8986a35b3f4742e7522df11bfbf2e832e417ad42cc1bff1a39dd4ee510fd" + }, + "verify/results/shim/bp/statecheck-AB.txt": { + "mode": 420, + "sha256": "dacb5cfa5541934f37b2b1c02b87e809c3f65ba8488aa88d925b295fade0083d" + }, + "verify/results/shim/bq/bq-res-aiorders.txt": { + "mode": 420, + "sha256": "991543eb53fbf1353fe99ed96d4ca358e05f6bac32f00bd1f6dc60fcc002c8b4" + }, + "verify/results/shim/bq/bq-res-shim.log": { + "mode": 420, + "sha256": "7855bd268f69443e7ddfda71873458144728630264703482901bf6d8ffbccd3a" + }, + "verify/results/shim/br/BR-aiorders.txt": { + "mode": 420, + "sha256": "d71e11e7c40aaa740adc55651af556afb9e92768336bc11747ad67151f33f4d1" + }, + "verify/results/shim/br/BR-airng.txt": { + "mode": 420, + "sha256": "04eaeaa688a448f64df00dedfd692b78bca0e3e1207a8292c2fafad507f919ea" + }, + "verify/results/shim/br/BR-shim.log": { + "mode": 420, + "sha256": "bc6ef7aa465c2b1a81d08555174e15fb1a97a207da9eefaa8a6155440869a13e" + }, + "verify/results/shim/br/BR2-deep-aiorders.txt": { + "mode": 420, + "sha256": "b9edb53f7d56c1bb26d3bb77349543dce9564930484bc832475a3a04e5f2ad15" + }, + "verify/results/shim/br/BR2-shim.log": { + "mode": 420, + "sha256": "0de7609693747fdf0abaebd60598af127c918f32561c993715aead91cd24b334" + }, + "verify/results/shim/br/aiorders-diff.txt": { + "mode": 420, + "sha256": "411ceb2bacd62185d25a3c58f199c0bdfcd2759705bef2b36536da3870f73a67" + }, + "verify/results/shim/br/cmp_aiorders.py": { + "mode": 420, + "sha256": "b6c192efb40866aa56f29d9ba2b89e17f18ae0579645db8f34a01010db09cc28" + }, + "verify/results/shim/br/shim.cfg.brdeep": { + "mode": 420, + "sha256": "b8017e344666df816f1191906cf8f54504d631bb7ce9d2f51f6f959e4934ff04" + }, + "verify/results/shim/br/shim.cfg.brprobe": { + "mode": 420, + "sha256": "4f090999dba63ef22ab4993bd6af557e9500819c84f27decc126771f48f98efb" + }, + "verify/results/shim/bs/C-aiorders.txt": { + "mode": 420, + "sha256": "5abc20b68edf6ff52301c01825040e1d6b41b582ba40403ed6c4edc42dcbe4e2" + }, + "verify/results/shim/bs/C-airng.txt": { + "mode": 420, + "sha256": "5a4a56506d1eeb82d3bf0fbba95842566911178a82f0aad9d700a9fe00f1b300" + }, + "verify/results/shim/bs/C-shim.log": { + "mode": 420, + "sha256": "8b8dad987589fd159e789806e89dbcf7a7b40b86446d55e1d0bf10ff25cb8f6f" + }, + "verify/results/shim/bs/L-aiorders.txt": { + "mode": 420, + "sha256": "a03e8c1587633ecbb683c376f30e35e126e98ff0e8204c4ee6b5e2b4fc254104" + }, + "verify/results/shim/bs/L-airng.txt": { + "mode": 420, + "sha256": "8d21083857facd3728446af612b3a97b47e5287a5fe0bdf01423812f8445dacd" + }, + "verify/results/shim/bs/L-shim.log": { + "mode": 420, + "sha256": "246af272e464c715c7abb00471b4ddc404b81143f4065006aa4daec4d82cadb9" + }, + "verify/results/shim/bs/shim.cfg.bsrun": { + "mode": 420, + "sha256": "570b15c208d31a367ec6c6886019693cb17b98d254cebead11ec6746ae5af256" + }, + "verify/results/shim/bu/BU1-aiorders.txt": { + "mode": 420, + "sha256": "944eeb701fcd22480513c34d93f8310541977e89a24ae237bd947aed44092529" + }, + "verify/results/shim/bu/BU1-aivisit.txt": { + "mode": 420, + "sha256": "721f038ef80be92325728fc30f095846b54ff1ac67a41537d4a4d1b97d5e9758" + }, + "verify/results/shim/bu/BU1-shim.log": { + "mode": 420, + "sha256": "28ca02f56823e577662744108965bc3ab1d7241143704ac8ceaacf2e9cd077f3" + }, + "verify/results/shim/bu/BU2-aiorders.txt": { + "mode": 420, + "sha256": "5c388039a3e832465f67b4ca88f3f67550d5189a3a68f33c508c4a467733c9ac" + }, + "verify/results/shim/bu/BU2-aivisit.txt": { + "mode": 420, + "sha256": "19963ed364f47fd965508d96fbf9d1f424938f711f2b1cdc83697f789189271a" + }, + "verify/results/shim/bu/BU2-shim.log": { + "mode": 420, + "sha256": "c0a8c467bc4b4134dc83ca5dedbbfed8dac887b432a56cd12f6e211c8d58daca" + }, + "verify/results/shim/bu/BU3-aiorders.txt": { + "mode": 420, + "sha256": "b6443b3f7db541149f54435f14ba830f54d2f950420f3f0694ff12a8b1eec143" + }, + "verify/results/shim/bu/BU3-aivisit.txt": { + "mode": 420, + "sha256": "fe67a4a1cc6a67e06b2eb5675b4b8543ab9f25ea39a18d7f4c83bce74482e0cc" + }, + "verify/results/shim/bu/BU3-shim.log": { + "mode": 420, + "sha256": "0a802ec556c87f44efaa06f211e75d9b89a66ac6db5a08e34d2a7eae992121ed" + }, + "verify/results/shim/bu/claim-order.txt": { + "mode": 420, + "sha256": "7135e3ed0204a4615e546bc882992073d4b48ee42ea341186c32b6b3dd3dfc47" + }, + "verify/results/shim/bu/claimcheck.py": { + "mode": 420, + "sha256": "85c5ec747f12cf37ec2dbc4021447909eeded68ecd1abb697a6fb60005a54aff" + }, + "verify/results/shim/bu/shim.cfg.bupin": { + "mode": 420, + "sha256": "6b37b047adc95f7c08b6767cdec5bd715a8851f14bff7f187772835d1cc032a7" + }, + "verify/results/shim/cr/cr-N.log": { + "mode": 420, + "sha256": "d5459e6dcf44fbe55d0f60f1ac40d68bed96319bb55986cc24a1b9ca0d8103e0" + }, + "verify/results/shim/cr/cr-R0.log": { + "mode": 420, + "sha256": "3b703881aa2b9a1c111201ff9543f2dcae0f948567ee877df275a1093bb567f7" + }, + "verify/results/shim/cr/cr-R1.log": { + "mode": 420, + "sha256": "8df6af84f74891ff9b0b02fa150641f5fadcd0419bc53c41cbe80bf14ec9c712" + }, + "verify/results/shim/eventlive/c6b-loaded.png": { + "mode": 420, + "sha256": "f442d4b211a47b331cef9a255e83732b80a1ede70ac200596c796ac0aa320017" + }, + "verify/results/shim/eventlive/c7b-turn3.png": { + "mode": 420, + "sha256": "3e070abfbdf4efd2662951049f8545f328aa172d64d00b9c5a1f4243426e803a" + }, + "verify/results/shim/eventlive/load-dialog-8files.png": { + "mode": 420, + "sha256": "e0fc5af16042a70b53bf7d44220db56c56a466c22c4abd641557e94b8e6c1693" + }, + "verify/results/shim/eventlive/shim-zuul.log": { + "mode": 420, + "sha256": "f9d184b33c46cab9d497f7a38056c099ce2ff9b5e8149f563a2353d91985fea1" + }, + "verify/results/shim/eventlive/shim.log": { + "mode": 420, + "sha256": "e65f2e3efa1ce8f70c483bb966448239923db2d3924c709a669bb1a890411b0c" + }, + "verify/results/shim/eventlive/t7-after.png": { + "mode": 420, + "sha256": "dc0a3e8f5a5c9032ead266d106fa69a57677711eb807d26376f29baa6ec0b934" + }, + "verify/results/shim/eventlive/zuul-turn1.png": { + "mode": 420, + "sha256": "f9af979ed08315c0a8d644af800318634b3641628f710f3f9b4d2c77d4f70fdc" + }, + "verify/results/shim/l1/README.md": { + "mode": 420, + "sha256": "f008081756d99825aa81d2802869476f8341f81aeb8c4dbbb77502cf76db5145" + }, + "verify/results/shim/l1/cdiff-frames-2-51.txt": { + "mode": 420, + "sha256": "57cb1911c5bfc7bdfacafc6bb1ad382fc05f46fb9cdcee4479d861af48e585c1" + }, + "verify/results/shim/l1/cdiff.py": { + "mode": 420, + "sha256": "2ace41ce6017cfac8758d8b9955f02de84738d90067a7dfadeb8bffffc842027" + }, + "verify/results/shim/l1/rep.py": { + "mode": 420, + "sha256": "1a7a3819da8e9aeaaf213a62b696388b0a9489924c964407536831b5f7dd9488" + }, + "verify/results/shim/l1/saves/l1-t1t2-post-hooksoff.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/l1/saves/l1-t1t2-post.sav": { + "mode": 420, + "sha256": "62061918176e344106e82357e58acc8adec488f6b2969831cb99a84cf25e31c5" + }, + "verify/results/shim/l1/saves/l1-t2t3-post.sav": { + "mode": 420, + "sha256": "2177c659d8dbc39cf7485abe367d42d55cc42cc9a61949d403dcbc79989ec32d" + }, + "verify/results/shim/l1/saves/l1-t2t3-pre.sav": { + "mode": 420, + "sha256": "641a33f06b2fe1c1caf0c4994442bf13a4b03f25a85b34a9875cd22b75715896" + }, + "verify/results/shim/l1/seed-two-processes.txt": { + "mode": 420, + "sha256": "d60412049ced59705284a46078f1906e1aad4140f90db2169e08aeb9530dd985" + }, + "verify/results/shim/l1/seedrep.py": { + "mode": 420, + "sha256": "a06de5d5ccc1e87808eb3877534076340ef5330bee9a86953b8f4dae0268e087" + }, + "verify/results/shim/l1/trace-et1.jsonl": { + "mode": 420, + "sha256": "f21a213bc56983bc94f24303b0837b160f93bfb7e3ca6abdbf2e18321f8dfa19" + }, + "verify/results/shim/l1/trace-et2.jsonl": { + "mode": 420, + "sha256": "6e44b0fc541c3082f91b115de67f5315f43b9db21f0696b856cfff2ead51323a" + }, + "verify/results/shim/l1/trace-oracle.jsonl": { + "mode": 420, + "sha256": "ad9ecbe79a71c84930302868850806798228fe0f2e625b442dd3ed579c05092c" + }, + "verify/results/shim/l1/trace-playforward-f51.jsonl": { + "mode": 420, + "sha256": "6ed0af385dfe7288ad2c994458c8f5d75fc8e29b603dd6607a3703591d25eeb4" + }, + "verify/results/shim/l1/trace-seed-proc1.jsonl": { + "mode": 420, + "sha256": "120074583eb02cd4c3a29aab5826f789d52a6146930b1763f9b0bb824e9a350a" + }, + "verify/results/shim/l1/trace-seed-proc2.jsonl": { + "mode": 420, + "sha256": "03dffeafeff0c33d926207f869741dc544141425c8f665bf58aad4fd363e2f95" + }, + "verify/results/shim/l1/watch-arm.txt": { + "mode": 420, + "sha256": "f8d5811c938d16d003a72a97f2b4b33112914a7ee378fa2b334282616592943e" + }, + "verify/results/shim/l1/watch-hits.txt": { + "mode": 420, + "sha256": "1bf62ac965036a189055cd59a92007c70a2a6aca307df54ce8ccb997048f43d5" + }, + "verify/results/shim/l3/l3-probe-run-shim.log": { + "mode": 420, + "sha256": "f5cd336971ae3d3eaff642e80d9defa20ec2e1ee11e212a082c24365b18d8684" + }, + "verify/results/shim/l3/l3-probe-run-watch.txt": { + "mode": 420, + "sha256": "8d969595789c690a688f7b8fac05288c614d5d9210388ca94315158948c85f24" + }, + "verify/results/shim/l3/l3-spy-run-shim.log": { + "mode": 420, + "sha256": "5abfd08445e9e8139945b095ddddfb56480062019ce6d40304a440c317f21fd1" + }, + "verify/results/shim/l3/l3-spy-run-watch.txt": { + "mode": 420, + "sha256": "c669ccf79202e7060c153151e4fe1be96acf4030cb64aa71bd6a5c212b550b47" + }, + "verify/results/shim/m0-main-menu.png": { + "mode": 420, + "sha256": "465207fda4722ca53585b71647a08b1149944036792a072e7c34e2c437a3e37c" + }, + "verify/results/shim/m0.log": { + "mode": 420, + "sha256": "581d63139503892b6aeeff71acb742143393e9f107aa1f3605d8c028c927cad1" + }, + "verify/results/shim/m1-shim.log": { + "mode": 420, + "sha256": "35401ea82b9a64dbfdb54c282c06c51d7b696afd4ea2794e16071e0fd5c7cbef" + }, + "verify/results/shim/m2-scout-shim.log": { + "mode": 420, + "sha256": "8c46117bdde6b6911a4d77b059b40803d4966652990c8fa3ed67773e5db0459f" + }, + "verify/results/shim/mf-after-shim.log": { + "mode": 420, + "sha256": "86601372b980828171e98fc71afe865f207b1745ef4dcdca646a618c91d17426" + }, + "verify/results/shim/mf-after-turn2.png": { + "mode": 420, + "sha256": "a1f83011ff96e990d7cc80f8306e8fe0c58b96f84eb73ccb6cb013019900133d" + }, + "verify/results/shim/mf-after-turn7.png": { + "mode": 420, + "sha256": "313f3863ab901320174c8ff7cf6f1f6b0d5b3d9d7a2f8999eae6413aedc46fc5" + }, + "verify/results/shim/mf-before-shim.log": { + "mode": 420, + "sha256": "8377a87c7ed05fd0cd7b61e3f1d5fc9c2b9fa294f812c67183d4ce31323a64b1" + }, + "verify/results/shim/mf-before-turn2.png": { + "mode": 420, + "sha256": "c9805791f402ec159fcc6acdd283120eae8536b230666d3049374525595b589f" + }, + "verify/results/shim/mf-before-turn7.png": { + "mode": 420, + "sha256": "3b880b8f96c4cc328aaff8e41068db29b295be8f000c432e321a51b6030b1272" + }, + "verify/results/shim/mf-human-home-no-ships.png": { + "mode": 420, + "sha256": "dfda3e9784eefdc7b75d04908e95c3a192eda7796685907c65bfde3068d6f2bb" + }, + "verify/results/shim/probes/human-t3-5-perturbed.txt": { + "mode": 420, + "sha256": "9b594ab18cdd9aec4fdf807b4d97576191bc6fd48a85cc872c222b515d0f7c01" + }, + "verify/results/shim/probes/human-t5.txt": { + "mode": 420, + "sha256": "0ddd9f0391a3a5d655f1809a9e79d537badd8071f8834e58bdbc7f95d9ff1320" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/shim/probes/zuul-t24-25.txt": { + "mode": 420, + "sha256": "50567b7cb1f008d025baf6cb4b4ad7af7d767a2182afd082c3ac1b1a66c79541" + }, + "verify/results/shim/recap-b1-shim.log": { + "mode": 420, + "sha256": "601cd4cbbec3e8c1f7776eadc4203256ec4c5d1e3e180295369727e1da69ff37" + }, + "verify/results/shim/recap-b3-shim.log": { + "mode": 420, + "sha256": "7c5110a9d4431cc03729a7bddcb13ee69a6d428199051e175b0921391fc02a80" + }, + "verify/results/shim/recap-misc-shim.log": { + "mode": 420, + "sha256": "7cadf2eadb08979cda39fe7e3ed6cfa3f62bdbcd256fc7550b3e27c3f08c9b3e" + }, + "verify/results/shim/recap-misc-turn7.png": { + "mode": 420, + "sha256": "2c1451ded36ad79389f0eb3db098b4e0b0a6f12495d64c832f6e093374005c29" + }, + "verify/results/shim/recap-trace-shim.log": { + "mode": 420, + "sha256": "56da143a92b2edda727862a6fd4a056c716153e23cfddbde076e218ce4c4285f" + }, + "verify/results/shim/recap-turn2-loaded.png": { + "mode": 420, + "sha256": "62a42c44f99d8a53bca735d54a5adf48b89449bb859e859ec573cb40e1a7f2d0" + }, + "verify/results/shim/tailrng/save_rng_delta.py": { + "mode": 420, + "sha256": "a9a04b131427a43372d87688b8eaf230a82a79e2c3c241a90ff4eb31e039749e" + }, + "verify/results/shim/tailrng/z-t5-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z-t6-autosave.sav": { + "mode": 420, + "sha256": "2ce6aef9d49ea238455f3ac680556c6a251065af3e28b6540fe09597ae38571c" + }, + "verify/results/shim/tailrng/z-t6-endturn.sav": { + "mode": 420, + "sha256": "afb112896c0236fa715ab3c10139958294085bb2066e22a6d7b76deb0dfa46dc" + }, + "verify/results/shim/tailrng/z2-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z2-endturn.sav": { + "mode": 420, + "sha256": "8648957fecf5041233f9add4c8173f78981f026f133ecdbecdb89ddd10917048" + }, + "verify/results/shim/unlock-shim.log": { + "mode": 420, + "sha256": "20a6625b369acb773543e530f1bfdc8b7eaca5c6b58415cc5009bb9858e16f22" + }, + "verify/results/shim/watchpoints/w2-modcount-status-2turns.txt": { + "mode": 420, + "sha256": "335be910dc11a20c9fb80f3b0f37f04fd50a9d8074697bb5365c3fea02790b74" + }, + "verify/results/shim/watchpoints/w2-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "9a344045270e3815004a3376eccfbd030372faba54374d9b6626fd80740b8b13" + }, + "verify/results/shim/watchpoints/w3-modcount-turn1.txt": { + "mode": 420, + "sha256": "328a2319e320f5382e82ad497b6b73245c397cf67515e8a27fa9712418af81ae" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt-turn1.txt": { + "mode": 420, + "sha256": "a9b3c20f90a76ee624bde6ee4cae9d1ff1f2baa67aa770a0e70042cb44d11915" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "af9fe2258fe4168f6066768809c509380183f61bc337331392c5202b900d906a" + }, + "verify/results/shim/watchpoints/w3-tshn-containers.txt": { + "mode": 420, + "sha256": "08eab48d1a202f975f1be87e2279379646142f8b22d9dafc56295399083ed0af" + }, + "verify/results/standalone/cv/cv-input-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "d29f3514e4209954d6c068f34285615aef5f4627ba4627ce97c0e65f93620159" + }, + "verify/results/standalone/cv/cv-leaf-worklist.txt": { + "mode": 420, + "sha256": "0f309711de89cc10cf940d0d4b051b5052ce49a3cc0f3f80c532b50256410778" + }, + "verify/results/standalone/cv/cv-noreplay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "3734f197cfefd017dbe562fd421d40859bfc2c37d9ac2cedf9c7ddd340a3a4a7" + }, + "verify/results/standalone/cv/cv-replay-run.log": { + "mode": 420, + "sha256": "7372c7da437ece21098cc6f66d0631e146d8aae14a9242bd2278a9922a7f7c02" + }, + "verify/results/standalone/cv/cv-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "1932158abec82f45b9b838f4cb79b1088190ca5281d388f57356af7776e96950" + }, + "verify/results/standalone/dt/dt-canonical-after.txt": { + "mode": 420, + "sha256": "f32fdcf7d6431293133e951045b42a55e8a27d75cd859ad08cd719e5fb696712" + }, + "verify/results/standalone/dt/dt-canonical-before.txt": { + "mode": 420, + "sha256": "b56160cfdcfa0fff25be2aa566959261e375004905814803e231889da665188f" + }, + "verify/results/standalone/dt/dt-observed-leaves-remaining.txt": { + "mode": 420, + "sha256": "e14bd20e60480f98a564e585c0d25d2e758f71016811b8981dbdacd9d51c0c82" + }, + "verify/results/standalone/dt/dt-replay-run.log": { + "mode": 420, + "sha256": "4b7907fc4e735b1c12e3cf64671079abaad757aabd752b134a9fb27d065656cd" + }, + "verify/results/standalone/dt/dt-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "8ddb84e7e6c2f663b1bc4b9611a56a46aac9d09863dcc5be765cb70dc9642c22" + }, + "verify/results/standalone/max-income-oracle.json": { + "mode": 420, + "sha256": "245796e0aea5f5c2238686cba10c651156117fb454805553b2508a8a8fe71a69" + }, + "verify/results/standalone/report.txt": { + "mode": 420, + "sha256": "b47e90432eaf38149f2ecb5316d1962813b6b1423848e36fcc9435ad1f5485df" + }, + "verify/results/standalone/rng-oracle.json": { + "mode": 420, + "sha256": "98a364c80f69d6a84b86c3f9ccc16176d9e769ff061569b0c0ddfced53f9146c" + }, + "verify/results/standalone/rng-oracle.txt": { + "mode": 420, + "sha256": "3496a217a7e4f80bb18c1b067eaedcafcf7bdc877460c6346606fd7f6a55b877" + }, + "verify/results/standalone/status.json": { + "mode": 420, + "sha256": "d38ca6222c83df3a5886e6b32a30772c7174cc0e584f4a3beabedc05770df9cd" + }, + "verify/results/standalone/t36-turnrecord.md": { + "mode": 420, + "sha256": "b017a93ad04af69ef469cd8ea536dff4cab17140d20b3665e7c89533ab5b8a84" + }, + "verify/results/state-checksum/ad-oracleA-vs-oracleB.txt": { + "mode": 420, + "sha256": "b6c440e20108ad2727a7d7aa32a4bd673ec03ca4372461797705d619de1ba48a" + }, + "verify/results/state-checksum/chain-turn1-3.json": { + "mode": 420, + "sha256": "33941d0dd77bfb79e4302f82a410f5f18fe3ae1ade684b5b59c6ed352789a696" + }, + "verify/results/state-checksum/chain.txt": { + "mode": 420, + "sha256": "ae1037dd8394b258ce91262877d348a0561c5f5056cfae74cc0d058e4166aa83" + }, + "verify/results/state-checksum/float-census.txt": { + "mode": 420, + "sha256": "c697c0f187ee8a8ebb157cbff8d7ae42c92f36a501b16acd9f9839a0ffc306a9" + }, + "verify/results/state-checksum/identical-roots.txt": { + "mode": 420, + "sha256": "1143fabfe96954440542adcd3830ad1d862be6c091f3c1b2e63e92a2751703e7" + }, + "verify/results/state-checksum/resave-localisation.txt": { + "mode": 420, + "sha256": "85f4e8fe3581ba5d0ae74974d757c4c2fddc008f3fbe6781891ae8ef65aa693e" + }, + "verify/results/state-checksum/roots.txt": { + "mode": 420, + "sha256": "6ea7ad668703baaff870720683bcc13beff557cebf8e7843526d6677e5b5ef68" + }, + "verify/results/state-checksum/turn2-to-turn3.txt": { + "mode": 420, + "sha256": "3649c86742460a54d89714df1917508f76952c44c07cb7fbc19010910c5df0f4" + }, + "verify/results/turncommands/br2-turn27-deep.tcb": { + "mode": 420, + "sha256": "329b9c3f1e9f85ddeeb71148bd5c0e38f7d26445ed349df60ffbfaf63db46102" + }, + "verify/results/turncommands/br2-turn27-shallow.tcb": { + "mode": 420, + "sha256": "d8346969421a92fa199d0b9faafa642dc2e71a527b08d27984fe73ee70ecbd6b" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.json": { + "mode": 420, + "sha256": "01e572975339fbe8a242b2438719173bd5bb4f4916078e5887026408923eb356" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.tcb": { + "mode": 420, + "sha256": "16e349db6c46e46520cd2e5f0a9fcf70b537dce878324dd873418ef6cebd8658" + }, + "verify/results/turncommands/cb-turn1to2-pinned.json": { + "mode": 420, + "sha256": "2d4f108b8ac6b1e582382ac25d53f354c293e7caf390b8462d15beaf8e43e01c" + }, + "verify/results/turncommands/cb-turn1to2-pinned.tcb": { + "mode": 420, + "sha256": "28ebfecc3495cc4f5b2892e420cb1b83f3cbdb6b7aabe107f4b1d18233a06094" + }, + "verify/results/turncommands/cb-turn1to2-run1.json": { + "mode": 420, + "sha256": "c9de70196af5453df15cfebcb92c973dfed9d54ffa0dc0a397839cf951ac9b58" + }, + "verify/results/turncommands/cb-turn1to2-run1.tcb": { + "mode": 420, + "sha256": "5cdcfb3ade6cdfb2c00c234f5535c791780230f520d27be14f617462347b4948" + }, + "verify/results/turncommands/cb-turn2to3.json": { + "mode": 420, + "sha256": "8a0d4fc9efae9dcb4eca0de41bf28444d79eb5a4fd4e426671a4d80ab5a46f44" + }, + "verify/results/turncommands/cb-turn2to3.tcb": { + "mode": 420, + "sha256": "420a5d03f2a4ecfa0789835cc46f98961d11bbd7c7fd5f59dc28301aa0b65b6b" + }, + "verify/results/turncommands/l4-turn1to2.tcb": { + "mode": 420, + "sha256": "1b9faa7f8aad9196e36cf1c450e340f37c502a69ccfcaaad7e289bd7b4727b12" + }, + "verify/results/turncommands/l4-turn2to3.tcb": { + "mode": 420, + "sha256": "b0443f176c3915389278de608a8e7c63fa48d4777b924c0e383c7279f2a297e0" + }, + "verify/save-reader/SAVE_FORMAT.md": { + "mode": 420, + "sha256": "5ac2556b6c063c9296ef29e8514cc312983d48a8e2c2832f504c970629990b33" + }, + "verify/save-reader/fixture_joint.sav": { + "mode": 420, + "sha256": "fbe41595e50bb580786f36b197d5b85f87820974c545107c864fa2f1862af3f1" + }, + "verify/save-reader/fixture_split.sav": { + "mode": 420, + "sha256": "3909f12d021bf840617dc8d599841b64d67be46e1c6882cba7728d312d310071" + }, + "verify/save-reader/save_reader.py": { + "mode": 420, + "sha256": "2dcac286b5382b67fe8f2dbce58c80950dd430b726ed0e98f3bcea155df0df35" + }, + "verify/save-reader/save_writer_stub.py": { + "mode": 420, + "sha256": "8343ad15f742ee1b9cd62108efbc9c4b2718c3807442e3dfcfa9513ced7d3638" + }, + "verify/save-reader/test_save_reader.py": { + "mode": 420, + "sha256": "29f609d037eed99bb5444004facbff7b2c5c36fae568e815810585fdc3ddd393" + }, + "verify/state-checksum/STATE_CHECKSUM.md": { + "mode": 420, + "sha256": "5680299a4df27e30cdb545d9d2a640caf9299d61acb662b9512589e4390954e1" + }, + "verify/state-checksum/float_census.py": { + "mode": 420, + "sha256": "a568aad8b9f38aba2474f33941550bf948d050694a1d04dc5c85d15687223ae9" + }, + "verify/state-checksum/run_validation.sh": { + "mode": 493, + "sha256": "bf84b999d2b90368703e80235bac0258b70a1c37dd1902c9205a914a59cb1fc2" + }, + "verify/state-checksum/stability_check.py": { + "mode": 420, + "sha256": "8e640561b05decf590524fbe0dbf3b76a5e2f9c7fde93e005ca6e79464c305f1" + }, + "verify/state-checksum/state_checksum.py": { + "mode": 420, + "sha256": "ed80458e84d92040aa3872464d8df315e935f379ca0da5a2df81c3049826e5b8" + }, + "verify/state-checksum/test_state_checksum.py": { + "mode": 420, + "sha256": "d0ccf8e8390fd0a5d76a8695a490d85dc7e8e415a06ec50b592c57474cc9a73b" + }, + "verify/tooling/README.md": { + "mode": 420, + "sha256": "b05249530d65d43220c1e5c4666939c360d6139ed404a8881f6ad0a9c5c27af6" + }, + "verify/tooling/fixtures.py": { + "mode": 420, + "sha256": "56cccc88b9b9468e07c9ddff39d65813098053ec9e8f00432736906389f200a7" + }, + "verify/tooling/host-tests.json": { + "mode": 420, + "sha256": "90833c99e2749ff890b16b943f43f6ebfc1a1c611f2ed1e40555426fded45c97" + }, + "verify/tooling/test_tooling.py": { + "mode": 420, + "sha256": "bb8d15960dfda13f15cffc57f3b669003b127b4dedbf34100bb4a51c29dd3c6d" + }, + "verify/traces/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/traces/ac-probe-baseline-turn15.jsonl": { + "mode": 420, + "sha256": "a2f4e410f6a8d77f7680b4a69b5b2ac2f59fa80515b0cfe8209e7fec8e4a5b6b" + }, + "verify/traces/ac-probe-turn21-turn23.jsonl": { + "mode": 420, + "sha256": "2bb9317b82744c0da36ef6d9c1a78f31ebacea49b82a18005c0cc75bad62d345" + }, + "verify/traces/ad-r1-turn28-turn29.jsonl": { + "mode": 420, + "sha256": "cde7a1e010aa6195163f3b9320aa5c496fd8c271e9648c90c7319837dd967571" + }, + "verify/traces/ap-probes8-deploy-turn15.jsonl.gz": { + "mode": 420, + "sha256": "e257d5ea3fcb4be8da570d6a5589022e6ba412ff2712f4f06832812d8859e08a" + }, + "verify/traces/ap-probes8-turn16-turn26.jsonl.gz": { + "mode": 420, + "sha256": "df4fb35d9824799d8be79f3a9e976b55b7cd0fb5488b3e12711d04eb3c320f13" + }, + "verify/traces/ar-r1-turn38-turn43.jsonl": { + "mode": 420, + "sha256": "f8653cbd1956346816897b313031c5d70898144d1c84b1c849ac37bfe3bd993c" + }, + "verify/traces/ar-r2-control-turn38-turn39.jsonl": { + "mode": 420, + "sha256": "c1068652ddf54d2ff266c1dc1ef1e69ea663f5d2a83143408f77ec782b3dd988" + }, + "verify/traces/as-probes8-turn15-turn16.jsonl.gz": { + "mode": 420, + "sha256": "024bb0663b167eb364c8e138bae0bf10403860c195bd593cb56f60281060c4e8" + }, + "verify/traces/b2-final-menu.png": { + "mode": 420, + "sha256": "5a95fe260c9cb13dad5fc6f00460819107db93f4ac89f455077ad056600f83fd" + }, + "verify/traces/b2-shim.log": { + "mode": 420, + "sha256": "c31cf01af3659b7fdf008ff44f88f67ee4016dcfb30fc4a72b4d72ea0da8e404" + }, + "verify/traces/b2-techfx-compare.jsonl": { + "mode": 420, + "sha256": "f0202f45b276db6744c80768f12695153812bc882de688cf64705ed6a52f243c" + }, + "verify/traces/b2-techfx-golden.jsonl": { + "mode": 420, + "sha256": "43639e75bd9d510ed270c9cfcbb0c9665f5a6546f748ba81eba3f015e7ca233c" + }, + "verify/traces/cr-N.jsonl.gz": { + "mode": 420, + "sha256": "0071ae72a142533ffb91f9f04caa6704102c826761ff5ae24b57a1c3e9652e46" + }, + "verify/traces/cr-R0.jsonl.gz": { + "mode": 420, + "sha256": "6228c88cebb4dad2158e5586ecbcf71d1160116f2f4a2a8bc020658da8d7d706" + }, + "verify/traces/cr-R1.jsonl.gz": { + "mode": 420, + "sha256": "73f5f15b3343381cf3f973caaf74588fd3d0b6759de1ddcf9e12b9b3ebf29713" + }, + "verify/traces/eventlive-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "9cb344f1d8a3beb4bc1a2bf16baed6c38667443ead9f66fa0f53474a683d263c" + }, + "verify/traces/eventlive-b3-t1.jsonl": { + "mode": 420, + "sha256": "2d9962de9a7ea7fb28b33b72209706b4a27673096f71c8789f9f10ac465f387b" + }, + "verify/traces/eventlive-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "0ee09bb884799e72c6a617ab02e741a7ba791ff458af439b9947a87b368a64de" + }, + "verify/traces/h-probes-human-perturbed-t3-5.jsonl.gz": { + "mode": 420, + "sha256": "2567f8ccb6276a4d647c4f4b88d14f7ae63aa4d1797f672a9bd9c7c86e4d7473" + }, + "verify/traces/h-probes-human-t5.jsonl.gz": { + "mode": 420, + "sha256": "92964779111573dc72e6a1845217cd7d709c9900594a106b3de7b59c2b7a88a7" + }, + "verify/traces/h-probes-zuul-t24-25.jsonl.gz": { + "mode": 420, + "sha256": "0966294af27b49159b1e72e683abc0b59fd52cc9bfd9f517130d30cedf7efa29" + }, + "verify/traces/l3-probe-turn8-turn15.jsonl": { + "mode": 420, + "sha256": "d1b5436f917bb4f6f74bd7b1967dbd0626db2c3a5cbc1d67684ef9f010826676" + }, + "verify/traces/m1-compare.jsonl": { + "mode": 420, + "sha256": "f0f6fd15bc73008e43e20d6ed4c4dd91fb2ec8b40935bfd3cc000d8a84ea6731" + }, + "verify/traces/m1-trace-golden.jsonl": { + "mode": 420, + "sha256": "4a4ddc031fb26a8f8b10dace297c73670f53dcbd250a9be94c0e31c9bb44dcc5" + }, + "verify/traces/mf-after-compare.jsonl": { + "mode": 420, + "sha256": "2a894892977176df1a9d6c8199b0f81b48c7bcac15d2c0e7786441fc6125226e" + }, + "verify/traces/mf-before-compare.jsonl": { + "mode": 420, + "sha256": "ee005097ebaac9f30c63f1e400fdf19a47e88010c71d215885234986d122410e" + }, + "verify/traces/output-ref-turn2.jsonl.gz": { + "mode": 420, + "sha256": "7af583350545501414eda38439f2d0fa39149342d9001d2926e2a4e4fdd5cdca" + }, + "verify/traces/output-zuul-and-ref.jsonl.gz": { + "mode": 420, + "sha256": "d581cb50f07766911fa59fa1df1524b33a9df6eec06226966efd5f54f09b6fb5" + }, + "verify/traces/recap-b1-compare.jsonl.gz": { + "mode": 420, + "sha256": "0ce1c92028a8cd10a38d7cca72f90c37ccbd844f24a1950bf0eb6e75739b44e2" + }, + "verify/traces/recap-b3-compare.jsonl": { + "mode": 420, + "sha256": "6ed3bcd99b4657d614bf63cc0fc2dfff650f4cb14e51086ea98c21bccbcf5fa8" + }, + "verify/traces/recap-golden-trace.jsonl.gz": { + "mode": 420, + "sha256": "d62431e9461ffb1b66adc16a39542b86fa8e0cf54a0ed446a8781c4d75a6c3bb" + }, + "verify/traces/recap-misc-compare.jsonl": { + "mode": 420, + "sha256": "d7c4446d45a9cab2af3da4a0d76f7a42c245da1f59db96fddf31d8b1f2c436ed" + }, + "verify/traces/tailrng-drawsites.jsonl.gz": { + "mode": 420, + "sha256": "5c1806e2b1452226674013119e3b220f3cf42be2ad8b0ed998050ad65d1f8415" + }, + "verify/traces/tailrng-refturn2.jsonl.gz": { + "mode": 420, + "sha256": "c33c6cafe015bda6acf5ca32b0c9595e1611f4ac82ecd3adaff8315c7bd3e560" + }, + "verify/traces/tailrng-zuul-long.jsonl.gz": { + "mode": 420, + "sha256": "213e7dd8a6809dd93190f41c87218e802f1fbe77d44d598f287c2a19544063af" + }, + "verify/traces/tailrng-zuul-noderoute.jsonl.gz": { + "mode": 420, + "sha256": "9476ee3b9b397ca9e20bc92eb887c109a075487cdd750746af051797e8838115" + }, + "verify/traces/unlock-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "f6e27a60bf6c74eb98d8bec50146fe1996642285ca008c6a70c3cb148c6ba54c" + }, + "verify/traces/unlock-b3-t1.jsonl.gz": { + "mode": 420, + "sha256": "bfa53bba3e59d17dd330e38ef52fd04fd92f05f3ad357fefd77388d083b49a05" + }, + "verify/traces/unlock-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "d94c635105a75a68cb811a3881faf371678c075d240998f48fcf348b8459063f" + } + }, + "manifest_sha256": "b4db6808cc2b8aca33fa27eaab330d32811ce146d829a1bb9474a03f7ccdaeb4", + "path": "/tmp/opencode/sots-final-research-re" + } + }, + "started_at": "2026-09-10T04:41:58.123452+00:00", + "status": "complete", + "stderr": "campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.stderr.log", + "worktrees": { + "engine": "/tmp/opencode/sots-final-research-engine", + "re": "/tmp/opencode/sots-final-research-re" + } +} diff --git a/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.jsonl b/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.jsonl new file mode 100644 index 0000000..7ebbe08 --- /dev/null +++ b/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.jsonl @@ -0,0 +1,102 @@ +{"type":"step_start","timestamp":1789015322274,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899f6e9d001FiFplQ2PXGezjJ","messageID":"msg_0899f650c001F2q9ZydtTfk2QO","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"1f44e222901d317039556bd316c26ea76cf459f4","type":"step-start"}} +{"type":"tool_use","timestamp":1789015326754,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"todowrite","callID":"call_Z1K3SFu3bFSdn7yaA28gYNJA","state":{"status":"completed","input":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"in_progress","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"pending","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"pending","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Read campaign authority, contract, checkpoint, and open surprises\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce handoff evidence and run independent/held-out verification without implementation edits\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory canonical checkpoint with results and one exact next action\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"in_progress","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"pending","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"pending","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"pending","priority":"high"}],"truncated":false},"title":"4 todos","time":{"start":1789015326746,"end":1789015326750}},"metadata":{"openai":{"itemId":"fc_0666ff9e8d1350f6016aa2351b881c87d18f3c61a1eb5c04f2"}},"id":"prt_0899f742d001DiuV8Ak3ZDPYMd","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899f650c001F2q9ZydtTfk2QO"}} +{"type":"step_finish","timestamp":1789015326796,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899f8048001Rkbh8r8uG0yo7D","reason":"tool-calls","snapshot":"7fc3ec8dcd732d3a0705eb1612716552a3b7950f","messageID":"msg_0899f650c001F2q9ZydtTfk2QO","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":5954,"input":2873,"output":122,"reasoning":15,"cache":{"write":0,"read":2944}},"cost":0}} +{"type":"step_start","timestamp":1789015329491,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899f8ace001YLkrnyqoeXEgtX","messageID":"msg_0899f8072001xqlIRAmkPBi40A","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"fc9a4e40547574c0a644c74c7f0926dc46631ea0","type":"step-start"}} +{"type":"tool_use","timestamp":1789015333570,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_BxmkrQoIIs6BO5c6K44WPKwK","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/README.md"},"output":"/home/alex/sots-re/campaign/README.md\nfile\n\n1: # Canonical campaign controls\n2: \n3: `sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\n4: surprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\n5: projections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n6: \n7: Framework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\n8: see [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\n9: Active work is reverse engineering. Change tooling only to unblock a named RE experiment.\n10: \n11: ## Contract format\n12: \n13: `contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\n14: The standard-library validator implements the schema's used subset. A populated example is\n15: [contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n16: \n17: Required fields:\n18: \n19: | Field | Structure |\n20: |---|---|\n21: | `id`, `title`, `status` | Slug, short title, lifecycle state |\n22: | `owner` | `{ \"name\": \"worker-identity\", \"role\": \"implementer\" }` |\n23: | `baseline` | `{ \"engine\": {\"path\":\"/absolute/canonical/engine\",\"commit\":\"full-commit-id\"}, \"re\": {\"path\":\"/absolute/canonical/re\",\"commit\":\"full-commit-id\"} }` |\n24: | `scope`, `inputs`, `effects` | Arrays of explicit nonempty strings; include full write set and runtime inputs |\n25: | `original_dependencies` | String array, including original-assisted portions and unavailable inputs |\n26: | `dependencies` | Array of other contract IDs; all must be accepted before ready/implementing |\n27: | `acceptance` | Array of `{ \"id\": \"unique-criterion\", \"axis\": \"validation-scope\", \"criterion\": \"executable requirement\" }` |\n28: | `predictions`, `stop_conditions` | String arrays of predictions and conditions that halt work |\n29: | `checkpoint` | `null` or `campaign/runtime/checkpoints/.json` |\n30: \n31: Optional `evidence` is an array of\n32: `{id,axis,path,sha256,source,integrated,source_binding,binaries,inputs,outcomes}`.\n33: `path` is an existing canonical RE-relative artifact; `sha256` hashes its actual bytes; `source`\n34: equals the contract's complete baseline object. Store understanding,\n35: implementation, original dependencies, and validation scope as separate acceptance/evidence axes.\n36: There is no generic `verified` scalar. Baseline commit IDs describe starting repositories;\n37: dirty source identity is machine-bound by `source_binding`, never inferred from those commits.\n38: Criteria need distinct states, branch exposure, positive execution, complete writes/elements,\n39: allocations/IDs/events/RNG/runtime inputs, synthetic and original-game differentials as applicable.\n40: The CLI checks package identity and declared axes; the independent reviewer evaluates the actual\n41: criteria, gate outcomes, full manifests and integrated reproduction. A passing measurement alone\n42: does not establish acceptance.\n43: \n44: ### Source-bound evidence interface (R4)\n45: \n46: `source_binding` is `{engine:{path,commit,sha256},re:{path,commit,sha256}}`. Generate it with:\n47: \n48: ```sh\n49: python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-replacement --engine-worktree /absolute/candidate-engine --re-worktree /absolute/candidate-re\n50: ```\n51: \n52: Omit both worktree arguments to bind the canonical integrated trees. Paths must be Git worktree\n53: roots in the respective baseline repositories. `commit` is the actual current HEAD; `sha256`\n54: is the deterministic digest of the actual file manifest, including dirty/untracked nonignored\n55: files, deleted tracked paths (`null`), file bytes and Unix modes. Symlinks/submodules fail closed.\n56: The fixed manifest policy uses `git ls-files --cached --others --exclude-standard`; ignored\n57: untracked build/output files are not source. Python cache directories are excluded. In RE only,\n58: `verify/results/` and `campaign/` are excluded **except** `campaign/models.json`,\n59: `campaign/contract.schema.json`, and `campaign/agents/**`. These exclusions prevent mutable\n60: contracts/checkpoints/evidence/projections from hashing themselves. Relevant RE tools, tests,\n61: generated facts and guides remain bound. Any consumed item outside that source inventory must\n62: appear among immutable input/binary artifacts. The independent reviewer checks inventory adequacy.\n63: \n64: `binaries` and `inputs` are nonempty arrays of `{path,sha256}` artifact references; for tooling\n65: contracts, bind the executable scripts/interpreter identity package and fixture input package.\n66: `outcomes` exactly covers the acceptance criterion IDs for that evidence axis, with entries\n67: `{criterion,status,artifact:{path,sha256}}`; promotion requires `status: \"pass\"`. Outcome artifacts\n68: contain positive execution, branch/state exposures, reproduction recipe and required effect/input\n69: accounting. The CLI checks identities, hashes and declared outcomes, **not arbitrary criterion\n70: semantics**. The independent verifier must reproduce and challenge those claims.\n71: \n72: For example, an outcome for the bootstrap contract is:\n73: \n74: ```json\n75: {\"criterion\":\"controls-negative-paths\",\"status\":\"pass\",\"artifact\":{\"path\":\"verify/results/controls/result.json\",\"sha256\":\"\"}}\n76: ```\n77: \n78: Capture bindings when producing evidence; do not attach a fresh source hash to old measurements.\n79: Every evidence/verdict/promotion check rehashes referenced sources and artifacts. Same-HEAD byte\n80: changes reject old evidence and verdicts. Integrated records require canonical paths, lead in\n81: integration state, and one identical binding across **all** final integrated evidence. A lead's\n82: `integrated` boolean cannot substitute for this check. Verdicts bind the full evidence array and\n83: the source-binding array; old verdicts lacking these identities must be reproduced.\n84: \n85: This contract wrapper is separate from gate measurement schema **`sots-gate/1`**, whose `source`\n86: still has `engine`/`re`. Reference its immutable manifest/binary/input package; do not rename its\n87: fields to match contract `source`. Reporter output is measured evidence, with `--require-match`\n88: for required equality, and gains acceptance only through independent contract/integration gates.\n89: \n90: ## State and transactions\n91: \n92: Every command requires `--state-root /absolute/canonical/sots-re` (the repository, not `campaign/`).\n93: No sibling inference. Control records stay below canonical `campaign/runtime/`; contracts remain\n94: in `campaign/contracts/`. Immutable hashed artifacts may be referenced anywhere inside canonical\n95: RE, including existing `verify/` corpora, without copying them. Absolute/traversing artifact paths,\n96: outside symlinks, Git internals and named secret/private-key locations are rejected; aliases are\n97: checked after resolution too. Never reference secrets or commit owner-supplied binaries/assets.\n98: JSON writes are atomic and fsynced; a canonical `flock` serializes\n99: CLI mutations, WIP decisions, and resource acquisition. Do not hand-edit active state concurrently\n100: with commands. Interrupted multi-file operations retain blocking records and require inspection.\n101: \n102: Runtime APIs (JSON files; no server):\n103: \n104: - `runtime/checkpoints/*.json`: `sots-checkpoint/1`, contract, actor/role/model/session, timestamp,\n105: contract `basis` digest, bounded summary (6000 characters), up to 32 `{path,sha256}` artifacts,\n106: and one `next_action` (2000 characters). Include observations versus decisions, source identities,\n107: tests, blockers, resources/access/cleanup, exact next action in the summary/artifacts.\n108: Do not attach the checkpoint's own contract as an artifact: saving the pointer changes that\n109: file. Its task metadata is already covered by `basis`; the CLI rejects this self-reference.\n110: - `runtime/surprises/*.json`: `sots-surprise/1`, id, contract, `status: open|resolved`, summary,\n111: discriminating probe, actor/model/session provenance where applicable, optional decision ID.\n112: - `runtime/decisions/*.json`: `sots-decision/1`, Astra resolution, explanation/probe, invalidated\n113: evidence and checkpoint; prior verdict is marked invalidated. Resolution returns needs-revision\n114: only when all surprises are closed. Re-probe and rebuild evidence; resolution is not acceptance.\n115: - `runtime/verdicts/.json`: independent verifier actor/session/model, pass/fail,\n116: explanation, contract basis, complete evidence digest and source-bindings digest.\n117: - `runtime/transitions/*.json`: actor/model, previous/next lifecycle state, timestamp.\n118: - `runtime/leases/.json`: owner, random token, held/released, acquisition/release provenance.\n119: - `runtime/runs/run-*.json`, `.jsonl`, `.stderr.log`: requested model/config, command, worktree\n120: manifests before/after, expanded prompt hash, effective configuration hashes, canonical config\n121: file hashes, actual events/session/model when emitted, completion/checkpoint status. Effective\n122: provider config is hashed rather than persisted because it can contain credentials.\n123: `active-.json` reserves the contract. Interrupted running reservations never auto-expire.\n124: \n125: Lifecycle: `proposed -> ready -> implementing -> verification -> integration -> accepted`.\n126: Blocked and needs-revision edges support repairs; no skipping stages. Ready requires scope,\n127: inputs, acceptance, stop conditions, valid pinned baseline and accepted dependencies. Implementing\n128: is atomically capped at two concurrent contracts; lead schedules only one pilot before enabling\n129: two independent slices. Verification requires fresh checkpoint/artifacts after implementation start.\n130: Integration requires lead plus independent passing verifier bound to current source/evidence.\n131: Accepted requires every declared axis in integrated evidence, passing independent verdict over\n132: that final package, and no open surprises. Adding integrated evidence changes the evidence digest:\n133: the verifier must attest the integrated package again. Handoff/promotion/end checkpoints must be\n134: within 15 minutes; recovery start has no age limit.\n135: \n136: Role/model registry: lead/architecture-review/analyst/implementer/verifier/lab =\n137: `openai/gpt-5.6-sol`; resolver = `openai/gpt-6-astra`.\n138: CLI identity fields are **claims, not authenticated model authority**. The runner requests the\n139: registry model explicitly and records emitted provenance. Editable JSON, agent permissions and\n140: shell-accessible tooling are not a security boundary. No silent routing fallback.\n141: \n142: ## Commands\n143: \n144: Run from either repository using the canonical tool path when necessary. Examples:\n145: \n146: ```sh\n147: python3 tools/campaign.py --state-root /home/alex/sots-re validate\n148: python3 tools/campaign.py --state-root /home/alex/sots-re list\n149: python3 tools/campaign.py --state-root /home/alex/sots-re status research-replacement\n150: python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint controls-bootstrap --actor controls-architect --role architecture-review --model openai/gpt-6-astra --session rollout-controls --summary 'Source identities, observations, decisions, tests and blockers are in the attached checkpoint.' --artifact campaign/rollout/controls-worker-state.md --next-action 'Run the independent controls review.'\n151: python3 tools/campaign.py --state-root /home/alex/sots-re transition controls-bootstrap ready --actor controls-architect --role architecture-review --model openai/gpt-6-astra\n152: ```\n153: \n154: `surprise CONTRACT --summary TEXT --probe TEXT` blocks immediately. `resolve SURPRISE_ID\n155: --explanation TEXT --probe TEXT` requires claimed Astra lead/resolver. Both also require\n156: `--actor NAME --role ROLE --model MODEL`. `evidence CONTRACT --record campaign/path.json`\n157: uses the same identity flags; record format is the evidence object above. Integrated records\n158: require lead and integration state. `verdict CONTRACT --session SESSION --verdict pass|fail\n159: --explanation TEXT` requires verifier identity flags and independent actor/session.\n160: \n161: ```sh\n162: python3 tools/campaign.py --state-root /home/alex/sots-re lease acquire windows-vm --actor lab-one --role lab --model openai/gpt-5.5\n163: python3 tools/campaign.py --state-root /home/alex/sots-re lease show windows-vm\n164: python3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lab-one --role lab --model openai/gpt-5.5 --token TOKEN_FROM_ACQUIRE\n165: python3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lead --role lead --model openai/gpt-6-astra --lead-release --reason 'Confirmed prior operator stopped; access and cleanup checked.'\n166: ```\n167: \n168: No stale lease stealing. Explicit lead release requires an explanation and lab preconditions,\n169: side effects, cleanup, and access verification in the operator checkpoint. Treat lease tokens\n170: as local owner capabilities, not secrets to put in a board/dashboard.\n171: \n172: ## Fresh bounded launches\n173: \n174: Prepare **two actual linked worktrees**, each distinct from its canonical source repository,\n175: at the contract's full baseline commit. No auto commits/worktree creation. Launch uses explicit\n176: canonical `OPENCODE_CONFIG`, checks matching repo-local agent/model/40 steps, and sets the final\n177: environment overlay to bind requested role/model/steps. Other inherited config overrides are\n178: cleared. `opencode models` must list the exact requested model even for dry runs.\n179: \n180: ```sh\n181: python3 tools/run_agent.py --state-root /home/alex/sots-re --role implementer --actor worker-one --contract slice-one --engine-worktree /home/alex/worktrees/slice-one-engine --re-worktree /home/alex/worktrees/slice-one-re --cwd engine --dry-run\n182: ```\n183: \n184: Remove `--dry-run` to execute. Normal worker launch requires a valid durable checkpoint, matching\n185: owner/role/status, no open surprises, baseline HEADs and canonical Git common-directory identity.\n186: Recovery checks checkpoint identity/basis and artifact hashes regardless of age, rechecks any\n187: source-bound evidence, and validates paired Git worktree/baseline identity. Missing ordinary-worker\n188: state still blocks. Bootstrap lead/architecture-review can start without a checkpoint; they still\n189: need paired worktrees. Astra lead/resolver may launch a blocked contract with open surprises and\n190: without a worker checkpoint in **resolution-only** scope: read evidence and write decisions/state,\n191: no implementation. Its prompt and permission overlay carry that limit, and worktree source changes\n192: fail completion. Ordinary affected workers stay blocked. Other Astra architecture actors receive\n193: explicit architecture authority within their owned scope. Each run is a fresh\n194: `opencode run --format json --model ... --agent ...`; no resume/continue option is used. The prompt\n195: supplies the run ID to use as checkpoint `--session`; actual OpenCode session IDs are captured\n196: separately when emitted. On exit, a checkpoint after start matching actor/role/model/run ID is\n197: mandatory or the run is marked incomplete. Completion additionally requires a zero exit, no\n198: `type:error`, a successful `step_finish` with `part.reason: \"stop\"`, one nonempty actual session ID,\n199: and consistent explicitly emitted model IDs. Text/tool-call/length events alone cannot complete a\n200: run. Missing model emission is recorded `observed_model_status: \"unavailable\"`, never invented.\n201: \n202: The runner checks the exact Git baseline again under reservation lock, rejects intervening contract\n203: changes, and checks canonical model/prompt/config files and effective configuration for drift at\n204: completion. Expanded role prompt/model/steps are frozen in the last-layer environment overlay.\n205: `opencode debug config` runs in the actual launch cwd with the actual environment before execution\n206: and again at completion. Permissions explicitly allow read/search, ordinary worker shell commands,\n207: and external-directory access to the assigned paired trees plus canonical RE; role-specific edit\n208: denies survive. Task delegation and interactive questions are denied. No `--auto` is required.\n209: Noninteractive command/environment tests and a live loader check cover this overlay; an actual\n210: normal worker launch smoke is a separate lead integration check. Permissions and before/after\n211: checks are operational guards, not a sandbox or continuous filesystem audit.\n212: Compaction is a backstop; no token threshold or machine-enforced 20-tool-call claim.\n213: \n214: ## Local verification\n215: \n216: ```sh\n217: python3 -m unittest discover -s verify/campaign -p 'test_*.py' -v\n218: python3 tools/campaign.py --state-root /home/alex/sots-re validate\n219: ```\n220: \n221: Tests create commits only in disposable fixture repositories, linked worktrees and fake OpenCode processes; they do\n222: not launch agents or touch the lab. Historical rollout artifacts retain the scope and source identity\n223: of their runs; consult the accepted contract and current evidence, not an old handoff's status prose.\n\n(End of file - total 223 lines)\n","metadata":{"preview":"# Canonical campaign controls\n\n`sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\nsurprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\nprojections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n\nFramework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\nsee [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\nActive work is reverse engineering. Change tooling only to unblock a named RE experiment.\n\n## Contract format\n\n`contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\nThe standard-library validator implements the schema's used subset. A populated example is\n[contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n\nRequired fields:\n\n| Field | Structure |\n|---|---|","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/README.md","text":"# Canonical campaign controls\n\n`sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\nsurprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\nprojections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n\nFramework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\nsee [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\nActive work is reverse engineering. Change tooling only to unblock a named RE experiment.\n\n## Contract format\n\n`contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\nThe standard-library validator implements the schema's used subset. A populated example is\n[contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n\nRequired fields:\n\n| Field | Structure |\n|---|---|\n| `id`, `title`, `status` | Slug, short title, lifecycle state |\n| `owner` | `{ \"name\": \"worker-identity\", \"role\": \"implementer\" }` |\n| `baseline` | `{ \"engine\": {\"path\":\"/absolute/canonical/engine\",\"commit\":\"full-commit-id\"}, \"re\": {\"path\":\"/absolute/canonical/re\",\"commit\":\"full-commit-id\"} }` |\n| `scope`, `inputs`, `effects` | Arrays of explicit nonempty strings; include full write set and runtime inputs |\n| `original_dependencies` | String array, including original-assisted portions and unavailable inputs |\n| `dependencies` | Array of other contract IDs; all must be accepted before ready/implementing |\n| `acceptance` | Array of `{ \"id\": \"unique-criterion\", \"axis\": \"validation-scope\", \"criterion\": \"executable requirement\" }` |\n| `predictions`, `stop_conditions` | String arrays of predictions and conditions that halt work |\n| `checkpoint` | `null` or `campaign/runtime/checkpoints/.json` |\n\nOptional `evidence` is an array of\n`{id,axis,path,sha256,source,integrated,source_binding,binaries,inputs,outcomes}`.\n`path` is an existing canonical RE-relative artifact; `sha256` hashes its actual bytes; `source`\nequals the contract's complete baseline object. Store understanding,\nimplementation, original dependencies, and validation scope as separate acceptance/evidence axes.\nThere is no generic `verified` scalar. Baseline commit IDs describe starting repositories;\ndirty source identity is machine-bound by `source_binding`, never inferred from those commits.\nCriteria need distinct states, branch exposure, positive execution, complete writes/elements,\nallocations/IDs/events/RNG/runtime inputs, synthetic and original-game differentials as applicable.\nThe CLI checks package identity and declared axes; the independent reviewer evaluates the actual\ncriteria, gate outcomes, full manifests and integrated reproduction. A passing measurement alone\ndoes not establish acceptance.\n\n### Source-bound evidence interface (R4)\n\n`source_binding` is `{engine:{path,commit,sha256},re:{path,commit,sha256}}`. Generate it with:\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-replacement --engine-worktree /absolute/candidate-engine --re-worktree /absolute/candidate-re\n```\n\nOmit both worktree arguments to bind the canonical integrated trees. Paths must be Git worktree\nroots in the respective baseline repositories. `commit` is the actual current HEAD; `sha256`\nis the deterministic digest of the actual file manifest, including dirty/untracked nonignored\nfiles, deleted tracked paths (`null`), file bytes and Unix modes. Symlinks/submodules fail closed.\nThe fixed manifest policy uses `git ls-files --cached --others --exclude-standard`; ignored\nuntracked build/output files are not source. Python cache directories are excluded. In RE only,\n`verify/results/` and `campaign/` are excluded **except** `campaign/models.json`,\n`campaign/contract.schema.json`, and `campaign/agents/**`. These exclusions prevent mutable\ncontracts/checkpoints/evidence/projections from hashing themselves. Relevant RE tools, tests,\ngenerated facts and guides remain bound. Any consumed item outside that source inventory must\nappear among immutable input/binary artifacts. The independent reviewer checks inventory adequacy.\n\n`binaries` and `inputs` are nonempty arrays of `{path,sha256}` artifact references; for tooling\ncontracts, bind the executable scripts/interpreter identity package and fixture input package.\n`outcomes` exactly covers the acceptance criterion IDs for that evidence axis, with entries\n`{criterion,status,artifact:{path,sha256}}`; promotion requires `status: \"pass\"`. Outcome artifacts\ncontain positive execution, branch/state exposures, reproduction recipe and required effect/input\naccounting. The CLI checks identities, hashes and declared outcomes, **not arbitrary criterion\nsemantics**. The independent verifier must reproduce and challenge those claims.\n\nFor example, an outcome for the bootstrap contract is:\n\n```json\n{\"criterion\":\"controls-negative-paths\",\"status\":\"pass\",\"artifact\":{\"path\":\"verify/results/controls/result.json\",\"sha256\":\"\"}}\n```\n\nCapture bindings when producing evidence; do not attach a fresh source hash to old measurements.\nEvery evidence/verdict/promotion check rehashes referenced sources and artifacts. Same-HEAD byte\nchanges reject old evidence and verdicts. Integrated records require canonical paths, lead in\nintegration state, and one identical binding across **all** final integrated evidence. A lead's\n`integrated` boolean cannot substitute for this check. Verdicts bind the full evidence array and\nthe source-binding array; old verdicts lacking these identities must be reproduced.\n\nThis contract wrapper is separate from gate measurement schema **`sots-gate/1`**, whose `source`\nstill has `engine`/`re`. Reference its immutable manifest/binary/input package; do not rename its\nfields to match contract `source`. Reporter output is measured evidence, with `--require-match`\nfor required equality, and gains acceptance only through independent contract/integration gates.\n\n## State and transactions\n\nEvery command requires `--state-root /absolute/canonical/sots-re` (the repository, not `campaign/`).\nNo sibling inference. Control records stay below canonical `campaign/runtime/`; contracts remain\nin `campaign/contracts/`. Immutable hashed artifacts may be referenced anywhere inside canonical\nRE, including existing `verify/` corpora, without copying them. Absolute/traversing artifact paths,\noutside symlinks, Git internals and named secret/private-key locations are rejected; aliases are\nchecked after resolution too. Never reference secrets or commit owner-supplied binaries/assets.\nJSON writes are atomic and fsynced; a canonical `flock` serializes\nCLI mutations, WIP decisions, and resource acquisition. Do not hand-edit active state concurrently\nwith commands. Interrupted multi-file operations retain blocking records and require inspection.\n\nRuntime APIs (JSON files; no server):\n\n- `runtime/checkpoints/*.json`: `sots-checkpoint/1`, contract, actor/role/model/session, timestamp,\n contract `basis` digest, bounded summary (6000 characters), up to 32 `{path,sha256}` artifacts,\n and one `next_action` (2000 characters). Include observations versus decisions, source identities,\n tests, blockers, resources/access/cleanup, exact next action in the summary/artifacts.\n Do not attach the checkpoint's own contract as an artifact: saving the pointer changes that\n file. Its task metadata is already covered by `basis`; the CLI rejects this self-reference.\n- `runtime/surprises/*.json`: `sots-surprise/1`, id, contract, `status: open|resolved`, summary,\n discriminating probe, actor/model/session provenance where applicable, optional decision ID.\n- `runtime/decisions/*.json`: `sots-decision/1`, Astra resolution, explanation/probe, invalidated\n evidence and checkpoint; prior verdict is marked invalidated. Resolution returns needs-revision\n only when all surprises are closed. Re-probe and rebuild evidence; resolution is not acceptance.\n- `runtime/verdicts/.json`: independent verifier actor/session/model, pass/fail,\n explanation, contract basis, complete evidence digest and source-bindings digest.\n- `runtime/transitions/*.json`: actor/model, previous/next lifecycle state, timestamp.\n- `runtime/leases/.json`: owner, random token, held/released, acquisition/release provenance.\n- `runtime/runs/run-*.json`, `.jsonl`, `.stderr.log`: requested model/config, command, worktree\n manifests before/after, expanded prompt hash, effective configuration hashes, canonical config\n file hashes, actual events/session/model when emitted, completion/checkpoint status. Effective\n provider config is hashed rather than persisted because it can contain credentials.\n `active-.json` reserves the contract. Interrupted running reservations never auto-expire.\n\nLifecycle: `proposed -> ready -> implementing -> verification -> integration -> accepted`.\nBlocked and needs-revision edges support repairs; no skipping stages. Ready requires scope,\ninputs, acceptance, stop conditions, valid pinned baseline and accepted dependencies. Implementing\nis atomically capped at two concurrent contracts; lead schedules only one pilot before enabling\ntwo independent slices. Verification requires fresh checkpoint/artifacts after implementation start.\nIntegration requires lead plus independent passing verifier bound to current source/evidence.\nAccepted requires every declared axis in integrated evidence, passing independent verdict over\nthat final package, and no open surprises. Adding integrated evidence changes the evidence digest:\nthe verifier must attest the integrated package again. Handoff/promotion/end checkpoints must be\nwithin 15 minutes; recovery start has no age limit.\n\nRole/model registry: lead/architecture-review/analyst/implementer/verifier/lab =\n`openai/gpt-5.6-sol`; resolver = `openai/gpt-6-astra`.\nCLI identity fields are **claims, not authenticated model authority**. The runner requests the\nregistry model explicitly and records emitted provenance. Editable JSON, agent permissions and\nshell-accessible tooling are not a security boundary. No silent routing fallback.\n\n## Commands\n\nRun from either repository using the canonical tool path when necessary. Examples:\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re validate\npython3 tools/campaign.py --state-root /home/alex/sots-re list\npython3 tools/campaign.py --state-root /home/alex/sots-re status research-replacement\npython3 tools/campaign.py --state-root /home/alex/sots-re checkpoint controls-bootstrap --actor controls-architect --role architecture-review --model openai/gpt-6-astra --session rollout-controls --summary 'Source identities, observations, decisions, tests and blockers are in the attached checkpoint.' --artifact campaign/rollout/controls-worker-state.md --next-action 'Run the independent controls review.'\npython3 tools/campaign.py --state-root /home/alex/sots-re transition controls-bootstrap ready --actor controls-architect --role architecture-review --model openai/gpt-6-astra\n```\n\n`surprise CONTRACT --summary TEXT --probe TEXT` blocks immediately. `resolve SURPRISE_ID\n--explanation TEXT --probe TEXT` requires claimed Astra lead/resolver. Both also require\n`--actor NAME --role ROLE --model MODEL`. `evidence CONTRACT --record campaign/path.json`\nuses the same identity flags; record format is the evidence object above. Integrated records\nrequire lead and integration state. `verdict CONTRACT --session SESSION --verdict pass|fail\n--explanation TEXT` requires verifier identity flags and independent actor/session.\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re lease acquire windows-vm --actor lab-one --role lab --model openai/gpt-5.5\npython3 tools/campaign.py --state-root /home/alex/sots-re lease show windows-vm\npython3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lab-one --role lab --model openai/gpt-5.5 --token TOKEN_FROM_ACQUIRE\npython3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lead --role lead --model openai/gpt-6-astra --lead-release --reason 'Confirmed prior operator stopped; access and cleanup checked.'\n```\n\nNo stale lease stealing. Explicit lead release requires an explanation and lab preconditions,\nside effects, cleanup, and access verification in the operator checkpoint. Treat lease tokens\nas local owner capabilities, not secrets to put in a board/dashboard.\n\n## Fresh bounded launches\n\nPrepare **two actual linked worktrees**, each distinct from its canonical source repository,\nat the contract's full baseline commit. No auto commits/worktree creation. Launch uses explicit\ncanonical `OPENCODE_CONFIG`, checks matching repo-local agent/model/40 steps, and sets the final\nenvironment overlay to bind requested role/model/steps. Other inherited config overrides are\ncleared. `opencode models` must list the exact requested model even for dry runs.\n\n```sh\npython3 tools/run_agent.py --state-root /home/alex/sots-re --role implementer --actor worker-one --contract slice-one --engine-worktree /home/alex/worktrees/slice-one-engine --re-worktree /home/alex/worktrees/slice-one-re --cwd engine --dry-run\n```\n\nRemove `--dry-run` to execute. Normal worker launch requires a valid durable checkpoint, matching\nowner/role/status, no open surprises, baseline HEADs and canonical Git common-directory identity.\nRecovery checks checkpoint identity/basis and artifact hashes regardless of age, rechecks any\nsource-bound evidence, and validates paired Git worktree/baseline identity. Missing ordinary-worker\nstate still blocks. Bootstrap lead/architecture-review can start without a checkpoint; they still\nneed paired worktrees. Astra lead/resolver may launch a blocked contract with open surprises and\nwithout a worker checkpoint in **resolution-only** scope: read evidence and write decisions/state,\nno implementation. Its prompt and permission overlay carry that limit, and worktree source changes\nfail completion. Ordinary affected workers stay blocked. Other Astra architecture actors receive\nexplicit architecture authority within their owned scope. Each run is a fresh\n`opencode run --format json --model ... --agent ...`; no resume/continue option is used. The prompt\nsupplies the run ID to use as checkpoint `--session`; actual OpenCode session IDs are captured\nseparately when emitted. On exit, a checkpoint after start matching actor/role/model/run ID is\nmandatory or the run is marked incomplete. Completion additionally requires a zero exit, no\n`type:error`, a successful `step_finish` with `part.reason: \"stop\"`, one nonempty actual session ID,\nand consistent explicitly emitted model IDs. Text/tool-call/length events alone cannot complete a\nrun. Missing model emission is recorded `observed_model_status: \"unavailable\"`, never invented.\n\nThe runner checks the exact Git baseline again under reservation lock, rejects intervening contract\nchanges, and checks canonical model/prompt/config files and effective configuration for drift at\ncompletion. Expanded role prompt/model/steps are frozen in the last-layer environment overlay.\n`opencode debug config` runs in the actual launch cwd with the actual environment before execution\nand again at completion. Permissions explicitly allow read/search, ordinary worker shell commands,\nand external-directory access to the assigned paired trees plus canonical RE; role-specific edit\ndenies survive. Task delegation and interactive questions are denied. No `--auto` is required.\nNoninteractive command/environment tests and a live loader check cover this overlay; an actual\nnormal worker launch smoke is a separate lead integration check. Permissions and before/after\nchecks are operational guards, not a sandbox or continuous filesystem audit.\nCompaction is a backstop; no token threshold or machine-enforced 20-tool-call claim.\n\n## Local verification\n\n```sh\npython3 -m unittest discover -s verify/campaign -p 'test_*.py' -v\npython3 tools/campaign.py --state-root /home/alex/sots-re validate\n```\n\nTests create commits only in disposable fixture repositories, linked worktrees and fake OpenCode processes; they do\nnot launch agents or touch the lab. Historical rollout artifacts retain the scope and source identity\nof their runs; consult the accepted contract and current evidence, not an old handoff's status prose.","lineStart":1,"lineEnd":223,"totalLines":223,"truncated":false}},"title":"campaign/README.md","time":{"start":1789015333556,"end":1789015333566}},"metadata":{"openai":{"itemId":"fc_0278568bd1fce517016aa2352142a087d1a1d182efef32f278"}},"id":"prt_0899f8ad1001kRRr4Jqe0Wxj02","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899f8072001xqlIRAmkPBi40A"}} +{"type":"step_finish","timestamp":1789015334294,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899f9d92001XzOPeY2vHCeTze","reason":"tool-calls","snapshot":"9dfb15e7ee022fc6e5f1470370b77d493123874c","messageID":"msg_0899f8072001xqlIRAmkPBi40A","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":6150,"input":489,"output":29,"reasoning":0,"cache":{"write":0,"read":5632}},"cost":0}} +{"type":"step_start","timestamp":1789015335937,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fa3fc001B1Fb1JIStPY2KQ","messageID":"msg_0899f9dc000112KXuJoXzD5re3","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"c99e8fb292f2566b9972fbb8c34ed963dad82d0b","type":"step-start"}} +{"type":"tool_use","timestamp":1789015336903,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_ywjpUuXDNh4ozrIt5Qs55vqm","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json"},"output":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json\nfile\n\n1: {\n2: \"acceptance\": [\n3: {\n4: \"axis\": \"static-recovery\",\n5: \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n6: \"id\": \"ownership-recovered\"\n7: },\n8: {\n9: \"axis\": \"validation\",\n10: \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n11: \"id\": \"independent-cross-check\"\n12: }\n13: ],\n14: \"baseline\": {\n15: \"engine\": {\n16: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n17: \"path\": \"/home/alex/sots-engine\"\n18: },\n19: \"re\": {\n20: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n21: \"path\": \"/home/alex/sots-re\"\n22: }\n23: },\n24: \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json\",\n25: \"dependencies\": [\n26: \"controls-bootstrap\"\n27: ],\n28: \"effects\": [\n29: \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n30: ],\n31: \"evidence\": [],\n32: \"id\": \"research-completion-abi\",\n33: \"inputs\": [\n34: \"Existing binary fingerprint/address contract and private RE findings\",\n35: \"Owner-supplied binary or live read-only ReVa endpoint\",\n36: \"Archived CR traces/saves for observed behavior\",\n37: \"Source-identical current engine/RE worktree snapshots\"\n38: ],\n39: \"original_dependencies\": [\n40: \"Original binary is the object of analysis, not a replacement dependency decision\"\n41: ],\n42: \"owner\": {\n43: \"name\": \"research-abi-analyst\",\n44: \"role\": \"analyst\"\n45: },\n46: \"predictions\": [\n47: \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n48: \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n49: ],\n50: \"scope\": [\n51: \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n52: \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n53: \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n54: \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n55: \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n56: ],\n57: \"status\": \"verification\",\n58: \"stop_conditions\": [\n59: \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n60: \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n61: \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n62: ],\n63: \"title\": \"RE: research completion record construction and allocator ABI\"\n64: }\n\n(End of file - total 64 lines)\n","metadata":{"preview":"{\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json","text":"{\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"verification\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n}","lineStart":1,"lineEnd":64,"totalLines":64,"truncated":false}},"title":"campaign/contracts/research-completion-abi.json","time":{"start":1789015336893,"end":1789015336900}},"metadata":{"openai":{"itemId":"fc_0e43487098a160f1016aa23527e9d887d19332762c5fe46bcc"}},"id":"prt_0899fa3ff001rYM9FZVkJ5Dcok","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899f9dc000112KXuJoXzD5re3"}} +{"type":"step_finish","timestamp":1789015336960,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fa7fc001qbdkbsBhkjDJL6","reason":"tool-calls","snapshot":"7ad254417c6b372a7119cfcde6885c8351137fd5","messageID":"msg_0899f9dc000112KXuJoXzD5re3","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":10134,"input":4084,"output":34,"reasoning":0,"cache":{"write":0,"read":6016}},"cost":0}} +{"type":"step_start","timestamp":1789015338878,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899faf7b001KnxkNn860D0Iwq","messageID":"msg_0899fa8260016I53ZSTI3i1yeT","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"019eb1b6f398a228664942c06640ea868f42ab37","type":"step-start"}} +{"type":"tool_use","timestamp":1789015340355,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_3pb6ydb2KCXfg50P3nJsFAZM","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json"},"output":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-correction-verifier\",\n3: \"artifacts\": [\n4: {\n5: \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n6: \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n7: },\n8: {\n9: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n10: \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n11: }\n12: ],\n13: \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n14: \"contract\": \"research-completion-abi\",\n15: \"id\": \"16467a02077d4a5b689b5531\",\n16: \"model\": \"openai/gpt-5.6-sol\",\n17: \"next_action\": \"Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.\",\n18: \"role\": \"verifier\",\n19: \"schema\": \"sots-checkpoint/1\",\n20: \"session\": \"run-ee78b8773688ca09f8046e21\",\n21: \"summary\": \"Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.\",\n22: \"timestamp\": \"2026-09-10T04:39:38.094702+00:00\"\n23: }\n\n(End of file - total 23 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"16467a02077d4a5b689b5531\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json","text":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"16467a02077d4a5b689b5531\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"summary\": \"Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.\",\n \"timestamp\": \"2026-09-10T04:39:38.094702+00:00\"\n}","lineStart":1,"lineEnd":23,"totalLines":23,"truncated":false}},"title":"campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json","time":{"start":1789015340345,"end":1789015340352}},"metadata":{"openai":{"itemId":"fc_0338c259acc82262016aa2352ad98c87d19c3c57532fdf3617"}},"id":"prt_0899faf7d001qjXseDA5l7AgxJ","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fa8260016I53ZSTI3i1yeT"}} +{"type":"step_finish","timestamp":1789015340425,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fb585001QuRUUBkElp6xIZ","reason":"tool-calls","snapshot":"625a2f057350b3b00f7144745eb0a20b4d18c83b","messageID":"msg_0899fa8260016I53ZSTI3i1yeT","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":11266,"input":1231,"output":51,"reasoning":0,"cache":{"write":0,"read":9984}},"cost":0}} +{"type":"step_start","timestamp":1789015342148,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fbc3f001jCFpKBKcB616NB","messageID":"msg_0899fb5ac001lwXlBXhmsqFQ22","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"82d2ade5150c9a07c9462baa37bca954e56d40a3","type":"step-start"}} +{"type":"tool_use","timestamp":1789015348463,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_zLsQU4ql1TeLIT1sYL1Nb0Pd","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/guides/multi-agent-workflow.md"},"output":"/home/alex/sots-re/guides/multi-agent-workflow.md\nfile\n\n1: # Multi-agent operating architecture\n2: \n3: ## Product and milestone\n4: \n5: Reconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\n6: milestone is standalone replay given a captured command stream and complete declared runtime\n7: inputs. The first workflow pilot is the complete research write set. A passing host build is a\n8: component baseline, not a playable engine or independent replacement.\n9: \n10: ## Source of truth\n11: \n12: `campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\n13: leases and surprises, and evidence packages identify inputs, source and executable artifacts.\n14: `campaign/current.json` selects published evidence by path and digest. Board/dashboard are\n15: generated projections, never alternate writable authorities. Exact tool CLI/schema is documented\n16: in `campaign/README.md`. Historical findings retain their original experiment scope; they are\n17: not promoted by copying an old status into a new contract.\n18: \n19: ## Model authority\n20: \n21: | Responsibility | Model |\n22: |---|---|\n23: | Normal planning, architecture and integration loop | GPT-5.6 Sol |\n24: | Bounded RE analysis, implementation and independent verification | GPT-5.6 Sol |\n25: | Routine lab/workload operations | GPT-5.6 Sol |\n26: | Problem and surprise resolution | GPT-6 Astra |\n27: | Context compaction | GPT-5.5 |\n28: \n29: Exact provider IDs are in `campaign/models.json`. The lead escalates to Astra when a falsified\n30: assumption, conflict, instrument effect, or scope change blocks the loop. No fallback is automatic. Model names in editable JSON are\n31: provenance, not authentication: launcher events and independent review support the record.\n32: Permissions reduce accidental role drift; unrestricted local shell access is not a sandbox.\n33: \n34: ## Behavioral slice\n35: \n36: The lead specifies a bounded input domain, full observable write set, dependencies, acceptance\n37: workloads and stop conditions. The analyst recovers behavior; the verifier specifies discriminating\n38: tests before implementation; the implementer changes engine/adapters; the lab operator captures\n39: controls; the verifier reproduces; the integrator tests the combined source snapshot.\n40: \n41: Include transitive effects: allocations, IDs, container ELEMENTS, event text/records, RNG and\n42: nonserialized state. An address/function name is not a sufficient replacement boundary. If a\n43: neighbor function supplies required effects, extend the approved contract or expose it as an\n44: original dependency. Do not call the original and label the result independent.\n45: \n46: Lifecycle is `proposed → ready → implementing → verification → integration → accepted`, with\n47: blocked/revision states. Lifecycle is distinct from evidence strength. Acceptance is scoped to\n48: the manifest's exact procedure and workloads, never universal correctness.\n49: \n50: ## Independence\n51: \n52: Verifier and implementer are different executions. Verification starts with the contract, raw\n53: evidence and reproduction recipe, not just the author's conclusion. Require one meaningful\n54: challenge: held-out state, boundary, negative control, ablation, or independent state accounting.\n55: Both synthetic tests and original-game experiments matter. Repeat-call volume cannot replace\n56: branch and distinct-state coverage. Null effects and zero executions must be distinguishable.\n57: \n58: ## Sessions and recovery\n59: \n60: At most two implementation slices after a single-slice pilot. No nested worker delegation.\n61: Paired worktrees isolate source changes; unique build directories isolate artifacts. Canonical\n62: RE runtime state remains explicit even when a worker runs in `/tmp` worktrees.\n63: \n64: Checkpoint every 20 calls or 15min; also before experiments, compaction, handoff and stopping.\n65: Record source identities, exact changed paths, commands/results, artifacts and hashes, open\n66: surprises, held leases, requested/observed model, session identity and exact next action. Avoid\n67: large prose histories: raw logs belong in evidence; the checkpoint is a bounded resumption record.\n68: \n69: The launcher caps a quantum at 40 agent steps. A new quantum starts fresh using contract and\n70: checkpoint. Auto-compaction with an ample reserved window and four retained turns is enabled.\n71: This is a best-effort context backstop; regular durable checkpoints and fresh quanta provide the\n72: actual recovery discipline. Never claim a model compacted merely because a setting exists.\n73: \n74: ## Surprises\n75: \n76: On a falsified prediction, contradictory claim, unexplained regression, instrument interference,\n77: or newly necessary dependency: record the observation and evidence; block affected work. Astra\n78: first checks the instrument and source identity, then marks claims surviving/qualified/overturned,\n79: chooses a discriminating experiment, and records the revised plan. Unaffected contracted work\n80: may continue. Updating a paragraph without invalidating affected acceptance is insufficient.\n81: \n82: ## Lab ownership\n83: \n84: Acquire a canonical resource lease before VM, build-host or Ghidra mutation. An expired timestamp\n85: does not authorize stealing a lease. The lead reconciles stale ownership with actual processes.\n86: Use one guest at a time for maintenance, capture before/after inventory, preserve access and\n87: runtime dependencies, and verify unattended console login plus authenticated administration.\n88: Reboots require a free guest and a recorded recovery path. Runtime/Ghidra changes are experiments\n89: with provenance, not undocumented preparatory steps.\n90: \n91: ## Gate and publication\n92: \n93: Run the local gate with explicit engine, corpus, new output directory and profile. It snapshots\n94: source, uses fresh builds, records manifests and runs the expected test inventory once. Host\n95: profile allows a named list of unavailable asset/trace tests and publishes them as limitations.\n96: Full acceptance requires the full profile and the slice-specific original oracle; no blanket\n97: waiver converts a host pass to fidelity. Standalone measurement may diverge; acceptance may not.\n98: \n99: The integrator alone selects current results after verifying their hashes and source binding.\n100: No percentages of LOC, mapped rows or closed leaves purport to measure engine completeness.\n101: Run failure and missing evidence are visible states. Old results remain historical, not current.\n\n(End of file - total 101 lines)\n","metadata":{"preview":"# Multi-agent operating architecture\n\n## Product and milestone\n\nReconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\nmilestone is standalone replay given a captured command stream and complete declared runtime\ninputs. The first workflow pilot is the complete research write set. A passing host build is a\ncomponent baseline, not a playable engine or independent replacement.\n\n## Source of truth\n\n`campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\nleases and surprises, and evidence packages identify inputs, source and executable artifacts.\n`campaign/current.json` selects published evidence by path and digest. Board/dashboard are\ngenerated projections, never alternate writable authorities. Exact tool CLI/schema is documented\nin `campaign/README.md`. Historical findings retain their original experiment scope; they are\nnot promoted by copying an old status into a new contract.\n\n## Model authority\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/guides/multi-agent-workflow.md","text":"# Multi-agent operating architecture\n\n## Product and milestone\n\nReconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\nmilestone is standalone replay given a captured command stream and complete declared runtime\ninputs. The first workflow pilot is the complete research write set. A passing host build is a\ncomponent baseline, not a playable engine or independent replacement.\n\n## Source of truth\n\n`campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\nleases and surprises, and evidence packages identify inputs, source and executable artifacts.\n`campaign/current.json` selects published evidence by path and digest. Board/dashboard are\ngenerated projections, never alternate writable authorities. Exact tool CLI/schema is documented\nin `campaign/README.md`. Historical findings retain their original experiment scope; they are\nnot promoted by copying an old status into a new contract.\n\n## Model authority\n\n| Responsibility | Model |\n|---|---|\n| Normal planning, architecture and integration loop | GPT-5.6 Sol |\n| Bounded RE analysis, implementation and independent verification | GPT-5.6 Sol |\n| Routine lab/workload operations | GPT-5.6 Sol |\n| Problem and surprise resolution | GPT-6 Astra |\n| Context compaction | GPT-5.5 |\n\nExact provider IDs are in `campaign/models.json`. The lead escalates to Astra when a falsified\nassumption, conflict, instrument effect, or scope change blocks the loop. No fallback is automatic. Model names in editable JSON are\nprovenance, not authentication: launcher events and independent review support the record.\nPermissions reduce accidental role drift; unrestricted local shell access is not a sandbox.\n\n## Behavioral slice\n\nThe lead specifies a bounded input domain, full observable write set, dependencies, acceptance\nworkloads and stop conditions. The analyst recovers behavior; the verifier specifies discriminating\ntests before implementation; the implementer changes engine/adapters; the lab operator captures\ncontrols; the verifier reproduces; the integrator tests the combined source snapshot.\n\nInclude transitive effects: allocations, IDs, container ELEMENTS, event text/records, RNG and\nnonserialized state. An address/function name is not a sufficient replacement boundary. If a\nneighbor function supplies required effects, extend the approved contract or expose it as an\noriginal dependency. Do not call the original and label the result independent.\n\nLifecycle is `proposed → ready → implementing → verification → integration → accepted`, with\nblocked/revision states. Lifecycle is distinct from evidence strength. Acceptance is scoped to\nthe manifest's exact procedure and workloads, never universal correctness.\n\n## Independence\n\nVerifier and implementer are different executions. Verification starts with the contract, raw\nevidence and reproduction recipe, not just the author's conclusion. Require one meaningful\nchallenge: held-out state, boundary, negative control, ablation, or independent state accounting.\nBoth synthetic tests and original-game experiments matter. Repeat-call volume cannot replace\nbranch and distinct-state coverage. Null effects and zero executions must be distinguishable.\n\n## Sessions and recovery\n\nAt most two implementation slices after a single-slice pilot. No nested worker delegation.\nPaired worktrees isolate source changes; unique build directories isolate artifacts. Canonical\nRE runtime state remains explicit even when a worker runs in `/tmp` worktrees.\n\nCheckpoint every 20 calls or 15min; also before experiments, compaction, handoff and stopping.\nRecord source identities, exact changed paths, commands/results, artifacts and hashes, open\nsurprises, held leases, requested/observed model, session identity and exact next action. Avoid\nlarge prose histories: raw logs belong in evidence; the checkpoint is a bounded resumption record.\n\nThe launcher caps a quantum at 40 agent steps. A new quantum starts fresh using contract and\ncheckpoint. Auto-compaction with an ample reserved window and four retained turns is enabled.\nThis is a best-effort context backstop; regular durable checkpoints and fresh quanta provide the\nactual recovery discipline. Never claim a model compacted merely because a setting exists.\n\n## Surprises\n\nOn a falsified prediction, contradictory claim, unexplained regression, instrument interference,\nor newly necessary dependency: record the observation and evidence; block affected work. Astra\nfirst checks the instrument and source identity, then marks claims surviving/qualified/overturned,\nchooses a discriminating experiment, and records the revised plan. Unaffected contracted work\nmay continue. Updating a paragraph without invalidating affected acceptance is insufficient.\n\n## Lab ownership\n\nAcquire a canonical resource lease before VM, build-host or Ghidra mutation. An expired timestamp\ndoes not authorize stealing a lease. The lead reconciles stale ownership with actual processes.\nUse one guest at a time for maintenance, capture before/after inventory, preserve access and\nruntime dependencies, and verify unattended console login plus authenticated administration.\nReboots require a free guest and a recorded recovery path. Runtime/Ghidra changes are experiments\nwith provenance, not undocumented preparatory steps.\n\n## Gate and publication\n\nRun the local gate with explicit engine, corpus, new output directory and profile. It snapshots\nsource, uses fresh builds, records manifests and runs the expected test inventory once. Host\nprofile allows a named list of unavailable asset/trace tests and publishes them as limitations.\nFull acceptance requires the full profile and the slice-specific original oracle; no blanket\nwaiver converts a host pass to fidelity. Standalone measurement may diverge; acceptance may not.\n\nThe integrator alone selects current results after verifying their hashes and source binding.\nNo percentages of LOC, mapped rows or closed leaves purport to measure engine completeness.\nRun failure and missing evidence are visible states. Old results remain historical, not current.","lineStart":1,"lineEnd":101,"totalLines":101,"truncated":false}},"title":"guides/multi-agent-workflow.md","time":{"start":1789015348407,"end":1789015348457}},"metadata":{"openai":{"itemId":"fc_009e163edaa01cad016aa23534428c87d1b9225284021b1974"}},"id":"prt_0899fd4b3001EM04Sv9sqnBFn4","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fb5ac001lwXlBXhmsqFQ22"}} +{"type":"tool_use","timestamp":1789015348479,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"glob","callID":"call_Fg19VrOTT8Xef0s2FfAh0n8W","state":{"status":"completed","input":{"pattern":"campaign/runtime/surprises/*.json","path":"/home/alex/sots-re"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json\n/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json\n/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json\n/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json\n/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json\n/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json\n/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json\n/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json\n/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json\n/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json\n/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json","metadata":{"count":11,"truncated":false},"title":"","time":{"start":1789015348401,"end":1789015348465}},"metadata":{"openai":{"itemId":"fc_009e163edaa01cad016aa23534427c87d19844a0707cccaf5d"}},"id":"prt_0899fd4a8001h9ohhzUsD9fQP9","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fb5ac001lwXlBXhmsqFQ22"}} +{"type":"tool_use","timestamp":1789015348480,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_KKT8lB3J7ITIimtCWvfJD7Sx","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\nfile\n\n1: # Independent correction verification plan\n2: \n3: Session `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`;\n4: model `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static\n5: reproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.\n6: \n7: ## Required identities and positive execution\n8: \n9: The assigned paired source manifests must rehash to engine\n10: `ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD\n11: `7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE\n12: `6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD\n13: `3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte\n14: `dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`.\n15: The instrument must be 373,888-byte `/usr/bin/objdump` SHA-256\n16: `1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU\n17: objdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.\n18: \n19: ## Falsifiers\n20: \n21: 1. Any source, binary, tool, command boundary, byte count, or digest mismatch fails\n22: reproduction; a decoded-looking listing does not override provenance failure.\n23: 2. Any write to `[EBP-0x20]` in get/create before the call at `0x00885413` falsifies the\n24: corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime\n25: value, randomness, or allocator safety.\n26: 3. Failure of append to copy source `+4` to destination `+4`, or advancement of `_Mylast`\n27: before nested copy returns, falsifies the claimed append ordering.\n28: 4. A final requested-turn store before temporary nested cleanup, or a returned pointer other\n29: than `_Mylast-0x18`, falsifies the usable miss-path postcondition.\n30: 5. A nested-copy destination not initialized to three null pointers, allocation on its empty\n31: branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than\n32: `0x74` falsifies the nested ownership interpretation.\n33: 6. A null nested-vector destructor path that destroys/frees, or a nonnull path lacking\n34: per-element virtual destruction, `0x00924faa` free, and final three-pointer zeroing,\n35: falsifies cleanup accounting.\n36: 7. Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four\n37: declared windows fails the package even if surviving hashes match.\n38: \n39: ## Required branch exposures and distinct states\n40: \n41: * Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the\n42: last; hit early return with no construction; and miss construction through cleanup/final store.\n43: These are static control-flow states, not executed runtime fixtures.\n44: * Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the\n45: source-inside-vector branch must be distinguished where the window exposes it. No allocation\n46: failure is claimed executed.\n47: * Nested copy: empty source (no allocation) versus nonempty source (allocation and `0x74`-stride\n48: range copy), plus visible unwind edge without claiming a thrown execution.\n49: * Nested destruction: null first pointer versus nonnull element loop/free, including final\n50: pointer-zero state.\n51: * Ordering: incoming transient scalar copy, nested copy completion, outer `_Mylast` advance,\n52: temporary nested cleanup, requested-turn publication, then returned last element.\n53: \n54: ## Held-out challenge / ablation\n55: \n56: In addition to byte-for-byte reproduction of the four handoff commands, capture each window with\n57: its stop address widened by four bytes. Require every original stream's instruction rows to be an\n58: exact prefix of the widened stream's rows and inspect the first added instruction. This challenges\n59: the assumption that exact stop boundaries did not truncate a terminal instruction, the provenance\n60: failure that invalidated earlier packages. Independently enumerate get/create stack-memory writes\n61: through `0x00885413`; do not infer the answer from report prose.\n62: \n63: ## Acceptance limits\n64: \n65: Success is an **independent static full compare** of four windows plus a static boundary ablation.\n66: It is not original-game runtime comparison, integrated replay, live allocator safety, failure-path\n67: execution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live\n68: nested-copy state, transient observation, and induced unwind remain residuals.\n\n(End of file - total 68 lines)\n","metadata":{"preview":"# Independent correction verification plan\n\nSession `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`;\nmodel `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static\nreproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.\n\n## Required identities and positive execution\n\nThe assigned paired source manifests must rehash to engine\n`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD\n`7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE\n`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD\n`3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte\n`dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`.\nThe instrument must be 373,888-byte `/usr/bin/objdump` SHA-256\n`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU\nobjdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.\n\n## Falsifiers\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md","text":"# Independent correction verification plan\n\nSession `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`;\nmodel `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static\nreproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.\n\n## Required identities and positive execution\n\nThe assigned paired source manifests must rehash to engine\n`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD\n`7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE\n`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD\n`3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte\n`dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`.\nThe instrument must be 373,888-byte `/usr/bin/objdump` SHA-256\n`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU\nobjdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.\n\n## Falsifiers\n\n1. Any source, binary, tool, command boundary, byte count, or digest mismatch fails\n reproduction; a decoded-looking listing does not override provenance failure.\n2. Any write to `[EBP-0x20]` in get/create before the call at `0x00885413` falsifies the\n corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime\n value, randomness, or allocator safety.\n3. Failure of append to copy source `+4` to destination `+4`, or advancement of `_Mylast`\n before nested copy returns, falsifies the claimed append ordering.\n4. A final requested-turn store before temporary nested cleanup, or a returned pointer other\n than `_Mylast-0x18`, falsifies the usable miss-path postcondition.\n5. A nested-copy destination not initialized to three null pointers, allocation on its empty\n branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than\n `0x74` falsifies the nested ownership interpretation.\n6. A null nested-vector destructor path that destroys/frees, or a nonnull path lacking\n per-element virtual destruction, `0x00924faa` free, and final three-pointer zeroing,\n falsifies cleanup accounting.\n7. Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four\n declared windows fails the package even if surviving hashes match.\n\n## Required branch exposures and distinct states\n\n* Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the\n last; hit early return with no construction; and miss construction through cleanup/final store.\n These are static control-flow states, not executed runtime fixtures.\n* Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the\n source-inside-vector branch must be distinguished where the window exposes it. No allocation\n failure is claimed executed.\n* Nested copy: empty source (no allocation) versus nonempty source (allocation and `0x74`-stride\n range copy), plus visible unwind edge without claiming a thrown execution.\n* Nested destruction: null first pointer versus nonnull element loop/free, including final\n pointer-zero state.\n* Ordering: incoming transient scalar copy, nested copy completion, outer `_Mylast` advance,\n temporary nested cleanup, requested-turn publication, then returned last element.\n\n## Held-out challenge / ablation\n\nIn addition to byte-for-byte reproduction of the four handoff commands, capture each window with\nits stop address widened by four bytes. Require every original stream's instruction rows to be an\nexact prefix of the widened stream's rows and inspect the first added instruction. This challenges\nthe assumption that exact stop boundaries did not truncate a terminal instruction, the provenance\nfailure that invalidated earlier packages. Independently enumerate get/create stack-memory writes\nthrough `0x00885413`; do not infer the answer from report prose.\n\n## Acceptance limits\n\nSuccess is an **independent static full compare** of four windows plus a static boundary ablation.\nIt is not original-game runtime comparison, integrated replay, live allocator safety, failure-path\nexecution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live\nnested-copy state, transient observation, and induced unwind remain residuals.","lineStart":1,"lineEnd":68,"totalLines":68,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md","time":{"start":1789015348413,"end":1789015348478}},"metadata":{"openai":{"itemId":"fc_009e163edaa01cad016aa23534429487d181df7d07263cd143"}},"id":"prt_0899fd4b9001Awok99zAJz6EDn","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fb5ac001lwXlBXhmsqFQ22"}} +{"type":"tool_use","timestamp":1789015348483,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_RACzpDamrUzooAtSSq0LbLUx","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\nfile\n\n1: {\n2: \"schema\": \"sots-abi-static-capture/1\",\n3: \"session\": \"run-16f8e9b6376b278c4870be09\",\n4: \"actor\": \"research-abi-analyst\",\n5: \"role\": \"analyst\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n8: \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n9: \"source_binding\": {\n10: \"engine\": {\n11: \"path\": \"/tmp/opencode/sots-final-research-engine\",\n12: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n13: \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n14: },\n15: \"re\": {\n16: \"path\": \"/tmp/opencode/sots-final-research-re\",\n17: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n18: \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n19: }\n20: },\n21: \"input\": {\n22: \"path\": \"dumps/sots.exe\",\n23: \"bytes\": 7898624,\n24: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n25: },\n26: \"tool\": {\n27: \"path\": \"/usr/bin/objdump\",\n28: \"bytes\": 373888,\n29: \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n30: \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n31: },\n32: \"windows\": [\n33: {\n34: \"name\": \"turn-get-create\",\n35: \"argv\": [\n36: \"/usr/bin/objdump\",\n37: \"-D\",\n38: \"-Mintel\",\n39: \"--start-address=0x00885380\",\n40: \"--stop-address=0x0088544a\",\n41: \"/home/alex/sots-re/dumps/sots.exe\"\n42: ],\n43: \"cwd\": \"/home/alex/sots-re\",\n44: \"start\": \"0x00885380\",\n45: \"stop\": \"0x0088544a\",\n46: \"returncode\": 0,\n47: \"stdout\": {\n48: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\",\n49: \"bytes\": 3974,\n50: \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n51: },\n52: \"stderr\": {\n53: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\",\n54: \"bytes\": 0,\n55: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n56: }\n57: },\n58: {\n59: \"name\": \"turn-append\",\n60: \"argv\": [\n61: \"/usr/bin/objdump\",\n62: \"-D\",\n63: \"-Mintel\",\n64: \"--start-address=0x00884cb0\",\n65: \"--stop-address=0x00884d8f\",\n66: \"/home/alex/sots-re/dumps/sots.exe\"\n67: ],\n68: \"cwd\": \"/home/alex/sots-re\",\n69: \"start\": \"0x00884cb0\",\n70: \"stop\": \"0x00884d8f\",\n71: \"returncode\": 0,\n72: \"stdout\": {\n73: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\",\n74: \"bytes\": 4179,\n75: \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n76: },\n77: \"stderr\": {\n78: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt\",\n79: \"bytes\": 0,\n80: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n81: }\n82: },\n83: {\n84: \"name\": \"nested-copy\",\n85: \"argv\": [\n86: \"/usr/bin/objdump\",\n87: \"-D\",\n88: \"-Mintel\",\n89: \"--start-address=0x00779850\",\n90: \"--stop-address=0x00779a20\",\n91: \"/home/alex/sots-re/dumps/sots.exe\"\n92: ],\n93: \"cwd\": \"/home/alex/sots-re\",\n94: \"start\": \"0x00779850\",\n95: \"stop\": \"0x00779a20\",\n96: \"returncode\": 0,\n97: \"stdout\": {\n98: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\",\n99: \"bytes\": 8469,\n100: \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n101: },\n102: \"stderr\": {\n103: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\",\n104: \"bytes\": 0,\n105: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n106: }\n107: },\n108: {\n109: \"name\": \"nested-dtor\",\n110: \"argv\": [\n111: \"/usr/bin/objdump\",\n112: \"-D\",\n113: \"-Mintel\",\n114: \"--start-address=0x00629580\",\n115: \"--stop-address=0x006295ca\",\n116: \"/home/alex/sots-re/dumps/sots.exe\"\n117: ],\n118: \"cwd\": \"/home/alex/sots-re\",\n119: \"start\": \"0x00629580\",\n120: \"stop\": \"0x006295ca\",\n121: \"returncode\": 0,\n122: \"stdout\": {\n123: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\",\n124: \"bytes\": 1727,\n125: \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n126: },\n127: \"stderr\": {\n128: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\",\n129: \"bytes\": 0,\n130: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n131: }\n132: }\n133: ]\n134: }\n\n(End of file - total 134 lines)\n","metadata":{"preview":"{\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n },","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json","text":"{\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n },\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"windows\": [\n {\n \"name\": \"turn-get-create\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544a\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00885380\",\n \"stop\": \"0x0088544a\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\",\n \"bytes\": 3974,\n \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d8f\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00884cb0\",\n \"stop\": \"0x00884d8f\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\",\n \"bytes\": 4179,\n \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a20\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00779850\",\n \"stop\": \"0x00779a20\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\",\n \"bytes\": 8469,\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ca\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00629580\",\n \"stop\": \"0x006295ca\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\",\n \"bytes\": 1727,\n \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n }\n ]\n}","lineStart":1,"lineEnd":134,"totalLines":134,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json","time":{"start":1789015348419,"end":1789015348481}},"metadata":{"openai":{"itemId":"fc_009e163edaa01cad016aa23534429887d190bd2bfb8c2414d5"}},"id":"prt_0899fd4bf0019vmXbzyB5fx6jm","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fb5ac001lwXlBXhmsqFQ22"}} +{"type":"step_finish","timestamp":1789015348541,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fd539001C64D61L421cbEE","reason":"tool-calls","snapshot":"bd280d4035121f20c41bdb076f7e6e2fede91f0a","messageID":"msg_0899fb5ac001lwXlBXhmsqFQ22","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":12269,"input":12077,"output":180,"reasoning":12,"cache":{"write":0,"read":0}},"cost":0}} +{"type":"step_start","timestamp":1789015350031,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fdb08001Bs97MntQoJdTnP","messageID":"msg_0899fd5630018BH9e1tJ7d1AH5","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"37d77df7e5abe2c2f6e13f58c2a0ebd650c3464c","type":"step-start"}} +{"type":"tool_use","timestamp":1789015352142,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_9B04Kl4oDbFH9Iia8hs3RxSr","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json\nfile\n\n1: {\n2: \"actor\": \"controls-architect\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-42c6d0b4ee5114e6f2e07c99\",\n5: \"id\": \"s-410e48d5ae6cc4da0a6ae649\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Introduce an immutable typed acceptance package binding candidate/integrated source manifests, built binary, inputs and per-criterion results; change source bytes at unchanged HEAD and require integration/acceptance rejection.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent review R4: lifecycle source binding checks baseline path/commit and artifact hashes, but not the actual candidate/integrated source manifest. Implementation bytes can change at the same HEAD without invalidating the current evidence/verdict. This requires a cross-cutting evidence package/interface decision with publishing and gate owners.\",\n12: \"timestamp\": \"2026-09-09T21:34:52.829937+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-42c6d0b4ee5114e6f2e07c99\",\n \"id\": \"s-410e48d5ae6cc4da0a6ae649\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Introduce an immutable typed acceptance package binding candidate/integrated source manifests, built binary, inputs and per-criterion results; change source bytes at unchanged HEAD and require integration/acceptance rejection.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R4: lifecycle source binding checks baseline path/commit and artifact hashes, but not the actual candidate/integrated source manifest. Implementation bytes can change at the same HEAD without invalidating the current evidence/verdict. This requires a cross-cutting evidence package/interface decision with publishing and gate owners.\",\n \"timestamp\": \"2026-09-09T21:34:52.829937+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json","text":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-42c6d0b4ee5114e6f2e07c99\",\n \"id\": \"s-410e48d5ae6cc4da0a6ae649\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Introduce an immutable typed acceptance package binding candidate/integrated source manifests, built binary, inputs and per-criterion results; change source bytes at unchanged HEAD and require integration/acceptance rejection.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R4: lifecycle source binding checks baseline path/commit and artifact hashes, but not the actual candidate/integrated source manifest. Implementation bytes can change at the same HEAD without invalidating the current evidence/verdict. This requires a cross-cutting evidence package/interface decision with publishing and gate owners.\",\n \"timestamp\": \"2026-09-09T21:34:52.829937+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json","time":{"start":1789015352133,"end":1789015352140}},"metadata":{"openai":{"itemId":"fc_01a2291d4c8e7c72016aa23536e65487d1adcf6ebdc48709ef"}},"id":"prt_0899fdea2001wTxXAiuhx3ndPl","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fd5630018BH9e1tJ7d1AH5"}} +{"type":"step_finish","timestamp":1789015352234,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_0899fe3a7001HDAiXODh9OJ2mz","reason":"tool-calls","snapshot":"6c0d9ea2b26265c19a13cfc0942cd284524f9717","messageID":"msg_0899fd5630018BH9e1tJ7d1AH5","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":17473,"input":6273,"output":50,"reasoning":14,"cache":{"write":0,"read":11136}},"cost":0}} +{"type":"step_start","timestamp":1789015361850,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a00935001OY2G1MYvfCenI7","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"f1600a7e0e80cabba891abebbd381e1abd2a5139","type":"step-start"}} +{"type":"tool_use","timestamp":1789015361982,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_bj4YLKDcZN6SpyhYtTizVvcF","state":{"status":"error","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f"},"error":"File not found: /home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f\n\nDid you mean one of these?\n/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json","time":{"start":1789015361954,"end":1789015361961}},"metadata":{"openai":{"itemId":"fc_031742a591f666fa016aa23541c0f887d1a1c3f107d3ff584e"}},"id":"prt_089a0099f001aT5tbc1g2icgtQ","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8"}} +{"type":"tool_use","timestamp":1789015361982,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_WoP4vb7jA65bfTFKBhiR2ZpD","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json\nfile\n\n1: {\n2: \"actor\": \"live-record surprise resolver\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-b51f3f76803e852ed250846a\",\n5: \"id\": \"s-c6786945b302de2a0b629960\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.\",\n8: \"role\": \"resolver\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.\",\n12: \"timestamp\": \"2026-09-10T04:18:25.950030+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-b51f3f76803e852ed250846a\",\n \"id\": \"s-c6786945b302de2a0b629960\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.\",\n \"timestamp\": \"2026-09-10T04:18:25.950030+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json","text":"{\n \"actor\": \"live-record surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-b51f3f76803e852ed250846a\",\n \"id\": \"s-c6786945b302de2a0b629960\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.\",\n \"timestamp\": \"2026-09-10T04:18:25.950030+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-c6786945b302de2a0b629960.json","time":{"start":1789015361931,"end":1789015361971}},"metadata":{"openai":{"itemId":"fc_031742a591f666fa016aa23541c0c887d19d62b926294958e9"}},"id":"prt_089a00938001miRwk0j9lKKAgm","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8"}} +{"type":"tool_use","timestamp":1789015361982,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_1H8aUZ6mwnlvxFMf7hWehS0M","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json\nfile\n\n1: {\n2: \"actor\": \"final-controls-verifier\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-d2aeed91781c4da6057f00a7\",\n5: \"id\": \"s-abd1c3613c9922cc94c608d5\",\n6: \"model\": \"openai/gpt-5.6-terra\",\n7: \"probe\": \"From canonical RE, run source-binding once with no worktree arguments and once with the assigned paired paths; confirm the differing RE digest and absence of paired tools/campaign.py plus verify/campaign/test_controls.py. Astra must decide whether independent integrated reproduction may use only dirty canonical trees or provide source-identical linked worktrees and repeat/attest verification.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Falsified paired-worktree reproducibility assumption. The assigned /tmp/opencode/sots-launch-re is clean at the pinned RE HEAD but lacks tools/campaign.py and verify/campaign/test_controls.py; its source binding is 67b7b60509fe43c8d23382003fed069fb32549094eea0c039b75475e32a7a9eb, not the evidence binding 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Engine paired binding likewise differs (949dfb46... versus ccd8e020...). Canonical integrated trees do rehash exactly to the claimed binding and declared binary/input/outcome hashes match, but the supplied isolated paired source cannot reproduce the package from handoff alone. This blocks the final independent integrated verdict under the required linked-worktree/reproduction guard.\",\n12: \"timestamp\": \"2026-09-09T22:25:50.265100+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"final-controls-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-d2aeed91781c4da6057f00a7\",\n \"id\": \"s-abd1c3613c9922cc94c608d5\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"From canonical RE, run source-binding once with no worktree arguments and once with the assigned paired paths; confirm the differing RE digest and absence of paired tools/campaign.py plus verify/campaign/test_controls.py. Astra must decide whether independent integrated reproduction may use only dirty canonical trees or provide source-identical linked worktrees and repeat/attest verification.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Falsified paired-worktree reproducibility assumption. The assigned /tmp/opencode/sots-launch-re is clean at the pinned RE HEAD but lacks tools/campaign.py and verify/campaign/test_controls.py; its source binding is 67b7b60509fe43c8d23382003fed069fb32549094eea0c039b75475e32a7a9eb, not the evidence binding 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Engine paired binding likewise differs (949dfb46... versus ccd8e020...). Canonical integrated trees do rehash exactly to the claimed binding and declared binary/input/outcome hashes match, but the supplied isolated paired source cannot reproduce the package from handoff alone. This blocks the final independent integrated verdict under the required linked-worktree/reproduction guard.\",\n \"timestamp\": \"2026-09-09T22:25:50.265100+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json","text":"{\n \"actor\": \"final-controls-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-d2aeed91781c4da6057f00a7\",\n \"id\": \"s-abd1c3613c9922cc94c608d5\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"From canonical RE, run source-binding once with no worktree arguments and once with the assigned paired paths; confirm the differing RE digest and absence of paired tools/campaign.py plus verify/campaign/test_controls.py. Astra must decide whether independent integrated reproduction may use only dirty canonical trees or provide source-identical linked worktrees and repeat/attest verification.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Falsified paired-worktree reproducibility assumption. The assigned /tmp/opencode/sots-launch-re is clean at the pinned RE HEAD but lacks tools/campaign.py and verify/campaign/test_controls.py; its source binding is 67b7b60509fe43c8d23382003fed069fb32549094eea0c039b75475e32a7a9eb, not the evidence binding 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Engine paired binding likewise differs (949dfb46... versus ccd8e020...). Canonical integrated trees do rehash exactly to the claimed binding and declared binary/input/outcome hashes match, but the supplied isolated paired source cannot reproduce the package from handoff alone. This blocks the final independent integrated verdict under the required linked-worktree/reproduction guard.\",\n \"timestamp\": \"2026-09-09T22:25:50.265100+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json","time":{"start":1789015361937,"end":1789015361974}},"metadata":{"openai":{"itemId":"fc_031742a591f666fa016aa23541c0dc87d1b1fc637ac84f931e"}},"id":"prt_089a0098e0015GfgiYYphiSc5l","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8"}} +{"type":"tool_use","timestamp":1789015361982,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_PSa4glN7wS9WTHzufAb9wNbJ","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json\nfile\n\n1: {\n2: \"actor\": \"live-record bridge architect\",\n3: \"contract\": \"research-live-record-bridge\",\n4: \"decision\": \"d-6f4134237e68860fb02e8684\",\n5: \"id\": \"s-5a78d3a0a10c1f8545df8eb1\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.\",\n12: \"timestamp\": \"2026-09-10T04:14:21.422536+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-6f4134237e68860fb02e8684\",\n \"id\": \"s-5a78d3a0a10c1f8545df8eb1\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.\",\n \"timestamp\": \"2026-09-10T04:14:21.422536+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json","text":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-6f4134237e68860fb02e8684\",\n \"id\": \"s-5a78d3a0a10c1f8545df8eb1\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.\",\n \"timestamp\": \"2026-09-10T04:14:21.422536+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json","time":{"start":1789015361944,"end":1789015361976}},"metadata":{"openai":{"itemId":"fc_031742a591f666fa016aa23541c0e887d184368c20bf41665c"}},"id":"prt_089a009930013j387U12oYYeRQ","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8"}} +{"type":"tool_use","timestamp":1789015361982,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_mRL05YV6k3w82sZrJGGpCyQG","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json\nfile\n\n1: {\n2: \"actor\": \"rollout-lead\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-6239404c8f40351310c8abf0\",\n5: \"id\": \"s-6d1fcc617a20ca2bcbffc0cc\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Allow verifier launch in verification and integration; reject owner overlap, source drift and open surprises in both.\",\n8: \"role\": \"lead\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent Astra R8: verifier launch permits verification only, but final integrated evidence requires a fresh verifier execution in integration.\",\n12: \"timestamp\": \"2026-09-09T22:09:56.316247+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"rollout-lead\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-6239404c8f40351310c8abf0\",\n \"id\": \"s-6d1fcc617a20ca2bcbffc0cc\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Allow verifier launch in verification and integration; reject owner overlap, source drift and open surprises in both.\",\n \"role\": \"lead\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent Astra R8: verifier launch permits verification only, but final integrated evidence requires a fresh verifier execution in integration.\",\n \"timestamp\": \"2026-09-09T22:09:56.316247+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json","text":"{\n \"actor\": \"rollout-lead\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-6239404c8f40351310c8abf0\",\n \"id\": \"s-6d1fcc617a20ca2bcbffc0cc\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Allow verifier launch in verification and integration; reject owner overlap, source drift and open surprises in both.\",\n \"role\": \"lead\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent Astra R8: verifier launch permits verification only, but final integrated evidence requires a fresh verifier execution in integration.\",\n \"timestamp\": \"2026-09-09T22:09:56.316247+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json","time":{"start":1789015361949,"end":1789015361979}},"metadata":{"openai":{"itemId":"fc_031742a591f666fa016aa23541c0f087d1aff7b5b7c6a681d7"}},"id":"prt_089a00999001e4iEt62g7upJ14","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8"}} +{"type":"step_finish","timestamp":1789015362024,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a009e4001C7Pq3gOFAr62iv","reason":"tool-calls","snapshot":"a02f5e9b92b08ace03d5d6778b690484c0851c45","messageID":"msg_0899fe3d7001QydDxi9D7hXTX8","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":18049,"input":531,"output":238,"reasoning":0,"cache":{"write":0,"read":17280}},"cost":0}} +{"type":"step_start","timestamp":1789015363727,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a0108b0013D1jflWKx5O1uY","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"2a5092e39412fc0b58fb471842452f03afab9a56","type":"step-start"}} +{"type":"tool_use","timestamp":1789015373463,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_02iTmUx05ocLOzNFjy0UG89p","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-independent\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-d2a9b8be6399a6abaa0e05a5\",\n5: \"id\": \"s-5c58b6a921997731f5b5ae1f\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra should first rerun both objdump -D -Mintel --start-address=0x00825d40 --stop-address=0x00825e65 dumps/sots.exe and the minimally widened --stop-address=0x00825e67 command against SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, archive raw stdout bytes and objdump executable hash/version, and decide whether the existing capture was manually spliced or generated with a different effective boundary. Repair provenance before independent ABI interpretation resumes.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent reproduction falsified the handoff claim that objdump-2026-09-09-dedup-helper.txt is unfiltered output from its exact first command. With the SHA256-matched executable and GNU objdump 2.38, the declared stop-address 0x00825e65 truncates the three-byte instruction beginning at 0x00825e64: current stdout is bytes c2 while the archive records c2 08 00. The other three declared windows reproduce exactly after only line-end whitespace normalization. This is a provenance/instrument-boundary contradiction; dedup interpretation is paused rather than converting the otherwise matching instructions into success.\",\n12: \"timestamp\": \"2026-09-10T00:19:20.577736+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d2a9b8be6399a6abaa0e05a5\",\n \"id\": \"s-5c58b6a921997731f5b5ae1f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should first rerun both objdump -D -Mintel --start-address=0x00825d40 --stop-address=0x00825e65 dumps/sots.exe and the minimally widened --stop-address=0x00825e67 command against SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, archive raw stdout bytes and objdump executable hash/version, and decide whether the existing capture was manually spliced or generated with a different effective boundary. Repair provenance before independent ABI interpretation resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent reproduction falsified the handoff claim that objdump-2026-09-09-dedup-helper.txt is unfiltered output from its exact first command. With the SHA256-matched executable and GNU objdump 2.38, the declared stop-address 0x00825e65 truncates the three-byte instruction beginning at 0x00825e64: current stdout is bytes c2 while the archive records c2 08 00. The other three declared windows reproduce exactly after only line-end whitespace normalization. This is a provenance/instrument-boundary contradiction; dedup interpretation is paused rather than converting the otherwise matching instructions into success.\",\n \"timestamp\": \"2026-09-10T00:19:20.577736+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json","text":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d2a9b8be6399a6abaa0e05a5\",\n \"id\": \"s-5c58b6a921997731f5b5ae1f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should first rerun both objdump -D -Mintel --start-address=0x00825d40 --stop-address=0x00825e65 dumps/sots.exe and the minimally widened --stop-address=0x00825e67 command against SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, archive raw stdout bytes and objdump executable hash/version, and decide whether the existing capture was manually spliced or generated with a different effective boundary. Repair provenance before independent ABI interpretation resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent reproduction falsified the handoff claim that objdump-2026-09-09-dedup-helper.txt is unfiltered output from its exact first command. With the SHA256-matched executable and GNU objdump 2.38, the declared stop-address 0x00825e65 truncates the three-byte instruction beginning at 0x00825e64: current stdout is bytes c2 while the archive records c2 08 00. The other three declared windows reproduce exactly after only line-end whitespace normalization. This is a provenance/instrument-boundary contradiction; dedup interpretation is paused rather than converting the otherwise matching instructions into success.\",\n \"timestamp\": \"2026-09-10T00:19:20.577736+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json","time":{"start":1789015373448,"end":1789015373461}},"metadata":{"openai":{"itemId":"fc_049d64f06dc64b9e016aa2354d310087d1a62bba5b8e951b9f"}},"id":"prt_089a03656001Se1eHRJ0yCSARX","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr"}} +{"type":"tool_use","timestamp":1789015373514,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_2JZGaxAYYo7R1PtvgOV8A9sd","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json\nfile\n\n1: {\n2: \"actor\": \"live-record bridge architect\",\n3: \"contract\": \"research-live-record-bridge\",\n4: \"decision\": \"d-3205df5e8425dc9e1779e673\",\n5: \"id\": \"s-d2c8ec81e980396f2306f8fe\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra must compare the stored file with fresh command stdout under the pinned binary/tool identity, decide whether a byte-exact replacement supersedes only capture provenance, and require a fresh hash-bound reserve manifest before the ObservedTech append/growth row is treated as reconciled.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Fresh provenance check falsified the claim that verify/results/research-live-record-bridge/run-ebf85a84ad4247c38792a787/observed-reserve.stdout.txt is byte-exact raw stdout. The stored manually transcribed capture is 2464 bytes/SHA256 5d10954f54a2f8c731ee8d4760414851963ab8dc539ecb66383cf09e176b5c87; rerunning pinned GNU objdump 2.38 against the hash-matched executable with start 0x007b5820 and stop 0x007b5899 produces 2472 bytes/SHA256 2d011ed96329c4c4ff462cbfd65decac9dccf40558765244c769be1dedc92275. First difference is one alignment space at byte 477. SURVIVES: binary/tool/source identities, decoded instructions, append ABI branches, reserve capacity rule, and references to accepted append/reallocator captures. QUALIFIED: the new reserve interpretation is an observation awaiting a byte-exact immutable capture. OVERTURNED: the newly added file cannot be called raw/unfiltered or used as source-bound capture evidence. Affected ABI-row promotion is paused; contract remains proposed. No implementation or lab work occurred.\",\n12: \"timestamp\": \"2026-09-10T02:50:12.833918+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-3205df5e8425dc9e1779e673\",\n \"id\": \"s-d2c8ec81e980396f2306f8fe\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must compare the stored file with fresh command stdout under the pinned binary/tool identity, decide whether a byte-exact replacement supersedes only capture provenance, and require a fresh hash-bound reserve manifest before the ObservedTech append/growth row is treated as reconciled.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh provenance check falsified the claim that verify/results/research-live-record-bridge/run-ebf85a84ad4247c38792a787/observed-reserve.stdout.txt is byte-exact raw stdout. The stored manually transcribed capture is 2464 bytes/SHA256 5d10954f54a2f8c731ee8d4760414851963ab8dc539ecb66383cf09e176b5c87; rerunning pinned GNU objdump 2.38 against the hash-matched executable with start 0x007b5820 and stop 0x007b5899 produces 2472 bytes/SHA256 2d011ed96329c4c4ff462cbfd65decac9dccf40558765244c769be1dedc92275. First difference is one alignment space at byte 477. SURVIVES: binary/tool/source identities, decoded instructions, append ABI branches, reserve capacity rule, and references to accepted append/reallocator captures. QUALIFIED: the new reserve interpretation is an observation awaiting a byte-exact immutable capture. OVERTURNED: the newly added file cannot be called raw/unfiltered or used as source-bound capture evidence. Affected ABI-row promotion is paused; contract remains proposed. No implementation or lab work occurred.\",\n \"timestamp\": \"2026-09-10T02:50:12.833918+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json","text":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-3205df5e8425dc9e1779e673\",\n \"id\": \"s-d2c8ec81e980396f2306f8fe\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must compare the stored file with fresh command stdout under the pinned binary/tool identity, decide whether a byte-exact replacement supersedes only capture provenance, and require a fresh hash-bound reserve manifest before the ObservedTech append/growth row is treated as reconciled.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh provenance check falsified the claim that verify/results/research-live-record-bridge/run-ebf85a84ad4247c38792a787/observed-reserve.stdout.txt is byte-exact raw stdout. The stored manually transcribed capture is 2464 bytes/SHA256 5d10954f54a2f8c731ee8d4760414851963ab8dc539ecb66383cf09e176b5c87; rerunning pinned GNU objdump 2.38 against the hash-matched executable with start 0x007b5820 and stop 0x007b5899 produces 2472 bytes/SHA256 2d011ed96329c4c4ff462cbfd65decac9dccf40558765244c769be1dedc92275. First difference is one alignment space at byte 477. SURVIVES: binary/tool/source identities, decoded instructions, append ABI branches, reserve capacity rule, and references to accepted append/reallocator captures. QUALIFIED: the new reserve interpretation is an observation awaiting a byte-exact immutable capture. OVERTURNED: the newly added file cannot be called raw/unfiltered or used as source-bound capture evidence. Affected ABI-row promotion is paused; contract remains proposed. No implementation or lab work occurred.\",\n \"timestamp\": \"2026-09-10T02:50:12.833918+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json","time":{"start":1789015373501,"end":1789015373512}},"metadata":{"openai":{"itemId":"fc_049d64f06dc64b9e016aa2354d311487d19c5f92cab8f4cd5c"}},"id":"prt_089a0368a0010K4hKhtl6d48Zw","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr"}} +{"type":"tool_use","timestamp":1789015373602,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_ZKldH7soenct5GLzEJUJN11d","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json\nfile\n\n1: {\n2: \"actor\": \"controls-independent-verifier\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-2570bf9c76ae66711bdac461\",\n5: \"id\": \"s-4a7d66ebd7d8a8f3ec59f11d\",\n6: \"model\": \"openai/gpt-5.6-terra\",\n7: \"probe\": \"Parse every nonblank JSONL line of campaign/runtime/runs/run-cb15199f9272fe496bd10a8a.jsonl; compare count, error events, stop events, sessions, source_before/source_after and run record fields. Determine whether the false 24-event assertion invalidates only narrative verifier artifacts or the integrated controls evidence/verdict package.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Contradictory prior verification claim: verdict controls-bootstrap.json and checkpoint b467c2d772260f1f03637133 report 24 parsed events for run-cb15199f9272fe496bd10a8a, but independent JSONL parsing finds 67 valid events. The run record itself reports event_count 67. The zero-error, one-session, one-stop, return-0 and unchanged-source facts agree; the count claim is false. Existing source-bound evidence does not document this raw-run count, so its acceptance impact needs Astra resolution before a new verdict.\",\n12: \"timestamp\": \"2026-09-09T22:17:38.435822+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"controls-independent-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-2570bf9c76ae66711bdac461\",\n \"id\": \"s-4a7d66ebd7d8a8f3ec59f11d\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"Parse every nonblank JSONL line of campaign/runtime/runs/run-cb15199f9272fe496bd10a8a.jsonl; compare count, error events, stop events, sessions, source_before/source_after and run record fields. Determine whether the false 24-event assertion invalidates only narrative verifier artifacts or the integrated controls evidence/verdict package.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Contradictory prior verification claim: verdict controls-bootstrap.json and checkpoint b467c2d772260f1f03637133 report 24 parsed events for run-cb15199f9272fe496bd10a8a, but independent JSONL parsing finds 67 valid events. The run record itself reports event_count 67. The zero-error, one-session, one-stop, return-0 and unchanged-source facts agree; the count claim is false. Existing source-bound evidence does not document this raw-run count, so its acceptance impact needs Astra resolution before a new verdict.\",\n \"timestamp\": \"2026-09-09T22:17:38.435822+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json","text":"{\n \"actor\": \"controls-independent-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-2570bf9c76ae66711bdac461\",\n \"id\": \"s-4a7d66ebd7d8a8f3ec59f11d\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"Parse every nonblank JSONL line of campaign/runtime/runs/run-cb15199f9272fe496bd10a8a.jsonl; compare count, error events, stop events, sessions, source_before/source_after and run record fields. Determine whether the false 24-event assertion invalidates only narrative verifier artifacts or the integrated controls evidence/verdict package.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Contradictory prior verification claim: verdict controls-bootstrap.json and checkpoint b467c2d772260f1f03637133 report 24 parsed events for run-cb15199f9272fe496bd10a8a, but independent JSONL parsing finds 67 valid events. The run record itself reports event_count 67. The zero-error, one-session, one-stop, return-0 and unchanged-source facts agree; the count claim is false. Existing source-bound evidence does not document this raw-run count, so its acceptance impact needs Astra resolution before a new verdict.\",\n \"timestamp\": \"2026-09-09T22:17:38.435822+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json","time":{"start":1789015373590,"end":1789015373599}},"metadata":{"openai":{"itemId":"fc_049d64f06dc64b9e016aa2354d312087d19b547236f2321217"}},"id":"prt_089a036d9001UE0UQ1J1SfgHAN","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr"}} +{"type":"tool_use","timestamp":1789015373629,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_wvSu0Zwb06VQKJsneDLWrCRD","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-independent\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-d4c494ba02ada278030ef473\",\n5: \"id\": \"s-4f71bf4a5df4e5fc992bb6b2\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra should inspect session manifest verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/manifest.json and raw observed-alloc/player-append/player-copy streams, compare the three archive lines, then require fresh paired narrow and minimally widened raw stdout/stderr captures with pinned input/tool/source identities for every ownership window whose terminal instruction is truncated. Decide whether to supersede only provenance or additional completeness claims; do not infer archive production history. After repair, a fresh independent verifier must reproduce the full windows and resume ownership/NaN/static-state checks.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Session run-eba7860308317f839eb35392 fresh independent reproduction finds the repaired dedup window is correct, but exposes the same unfiltered-stop-boundary provenance contradiction in the ownership archive. objdump-2026-09-09-ownership.txt declares exact stops 0x0057e5e4, 0x0086c62e and 0x007694c0 yet prints complete c2 04 00 terminal instructions beginning at 0x0057e5e3, 0x0086c62d and 0x007694bf. Fresh GNU objdump 2.38 against the hash-matched executable prints only c2 for each command because each stop is one byte after the instruction start. Thus those archived sections cannot be literal unfiltered output of their declared commands under the bound instrument. The affected ABI/provenance review is paused; matching decoded semantics are not converted into success.\",\n12: \"timestamp\": \"2026-09-10T00:44:38.527547+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d4c494ba02ada278030ef473\",\n \"id\": \"s-4f71bf4a5df4e5fc992bb6b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should inspect session manifest verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/manifest.json and raw observed-alloc/player-append/player-copy streams, compare the three archive lines, then require fresh paired narrow and minimally widened raw stdout/stderr captures with pinned input/tool/source identities for every ownership window whose terminal instruction is truncated. Decide whether to supersede only provenance or additional completeness claims; do not infer archive production history. After repair, a fresh independent verifier must reproduce the full windows and resume ownership/NaN/static-state checks.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-eba7860308317f839eb35392 fresh independent reproduction finds the repaired dedup window is correct, but exposes the same unfiltered-stop-boundary provenance contradiction in the ownership archive. objdump-2026-09-09-ownership.txt declares exact stops 0x0057e5e4, 0x0086c62e and 0x007694c0 yet prints complete c2 04 00 terminal instructions beginning at 0x0057e5e3, 0x0086c62d and 0x007694bf. Fresh GNU objdump 2.38 against the hash-matched executable prints only c2 for each command because each stop is one byte after the instruction start. Thus those archived sections cannot be literal unfiltered output of their declared commands under the bound instrument. The affected ABI/provenance review is paused; matching decoded semantics are not converted into success.\",\n \"timestamp\": \"2026-09-10T00:44:38.527547+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json","text":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d4c494ba02ada278030ef473\",\n \"id\": \"s-4f71bf4a5df4e5fc992bb6b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should inspect session manifest verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/manifest.json and raw observed-alloc/player-append/player-copy streams, compare the three archive lines, then require fresh paired narrow and minimally widened raw stdout/stderr captures with pinned input/tool/source identities for every ownership window whose terminal instruction is truncated. Decide whether to supersede only provenance or additional completeness claims; do not infer archive production history. After repair, a fresh independent verifier must reproduce the full windows and resume ownership/NaN/static-state checks.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-eba7860308317f839eb35392 fresh independent reproduction finds the repaired dedup window is correct, but exposes the same unfiltered-stop-boundary provenance contradiction in the ownership archive. objdump-2026-09-09-ownership.txt declares exact stops 0x0057e5e4, 0x0086c62e and 0x007694c0 yet prints complete c2 04 00 terminal instructions beginning at 0x0057e5e3, 0x0086c62d and 0x007694bf. Fresh GNU objdump 2.38 against the hash-matched executable prints only c2 for each command because each stop is one byte after the instruction start. Thus those archived sections cannot be literal unfiltered output of their declared commands under the bound instrument. The affected ABI/provenance review is paused; matching decoded semantics are not converted into success.\",\n \"timestamp\": \"2026-09-10T00:44:38.527547+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json","time":{"start":1789015373614,"end":1789015373627}},"metadata":{"openai":{"itemId":"fc_049d64f06dc64b9e016aa2354d312487d18d55758606ddb7c3"}},"id":"prt_089a03718001Rf7j4G1SCQQvmP","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr"}} +{"type":"tool_use","timestamp":1789015373645,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_lDVqS5KXsWpUqtpgfqNz1JZ6","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json\nfile\n\n1: {\n2: \"actor\": \"controls-architect\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-ab717735fc6c1661919f6894\",\n5: \"id\": \"s-f1c41532e618c77d41538902\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Separate recovery identity/basis/artifact validation from end-run freshness; test old valid recovery state, missing/mismatched state, fresh end-run checkpoint and a resolution-only Astra launch with affected workers still blocked.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent review R6: current launch guard applies 15-minute end-run freshness to recovery, preventing next-day recovery from valid durable state; unconditional open-surprise rejection also prevents a resolver quantum. Assignment explicitly requested no-open-surprise launch guards, so the resolver exception requires lead clarification.\",\n12: \"timestamp\": \"2026-09-09T21:34:59.734916+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-ab717735fc6c1661919f6894\",\n \"id\": \"s-f1c41532e618c77d41538902\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Separate recovery identity/basis/artifact validation from end-run freshness; test old valid recovery state, missing/mismatched state, fresh end-run checkpoint and a resolution-only Astra launch with affected workers still blocked.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R6: current launch guard applies 15-minute end-run freshness to recovery, preventing next-day recovery from valid durable state; unconditional open-surprise rejection also prevents a resolver quantum. Assignment explicitly requested no-open-surprise launch guards, so the resolver exception requires lead clarification.\",\n \"timestamp\": \"2026-09-09T21:34:59.734916+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json","text":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-ab717735fc6c1661919f6894\",\n \"id\": \"s-f1c41532e618c77d41538902\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Separate recovery identity/basis/artifact validation from end-run freshness; test old valid recovery state, missing/mismatched state, fresh end-run checkpoint and a resolution-only Astra launch with affected workers still blocked.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R6: current launch guard applies 15-minute end-run freshness to recovery, preventing next-day recovery from valid durable state; unconditional open-surprise rejection also prevents a resolver quantum. Assignment explicitly requested no-open-surprise launch guards, so the resolver exception requires lead clarification.\",\n \"timestamp\": \"2026-09-09T21:34:59.734916+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-f1c41532e618c77d41538902.json","time":{"start":1789015373630,"end":1789015373642}},"metadata":{"openai":{"itemId":"fc_049d64f06dc64b9e016aa2354d312c87d1b7b87628db82358d"}},"id":"prt_089a03730001bjeu0P8P7rIUCO","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr"}} +{"type":"tool_use","timestamp":1789015373666,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_UNgeOqu4xTTCJ48xEVIkqQSC","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-analyst\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-2ff30c9f5355116bea822924\",\n5: \"id\": \"s-8996365dab2cd6dc0e17bb9f\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"First verify 0x0046f8c0 is std::string equality (or otherwise characterize it) from independent raw instructions/callers; then use or construct two same-bucket PlayerEvents identical in EvAct/EvLoc/EvPos/EvMsg/EvImg but differing only in EvDsc. If 0x00825d40 returns null they are distinct and EvDsc is compared; if it returns the existing element the inherited omission survives and the call has another meaning.\",\n8: \"role\": \"analyst\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Fresh raw GNU objdump capture contradicts the standing event dedup semantic claim in findings/subsystems/events.md:185 that EvDsc is not compared. At 0x00825e11 candidate+0x08 and 0x00825e15 stored+0x08 are passed to 0x0046f8c0; its boolean result at 0x00825e21 branches to match return only when true. This occurs after EvAct, EvLoc, EvPos, EvMsg and EvImg comparisons, so description appears to participate in equality. The affected dedup interpretation is paused; no implementation or acceptance claim may use either version pending Astra resolution.\",\n12: \"timestamp\": \"2026-09-09T23:47:56.138628+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-analyst\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-2ff30c9f5355116bea822924\",\n \"id\": \"s-8996365dab2cd6dc0e17bb9f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"First verify 0x0046f8c0 is std::string equality (or otherwise characterize it) from independent raw instructions/callers; then use or construct two same-bucket PlayerEvents identical in EvAct/EvLoc/EvPos/EvMsg/EvImg but differing only in EvDsc. If 0x00825d40 returns null they are distinct and EvDsc is compared; if it returns the existing element the inherited omission survives and the call has another meaning.\",\n \"role\": \"analyst\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh raw GNU objdump capture contradicts the standing event dedup semantic claim in findings/subsystems/events.md:185 that EvDsc is not compared. At 0x00825e11 candidate+0x08 and 0x00825e15 stored+0x08 are passed to 0x0046f8c0; its boolean result at 0x00825e21 branches to match return only when true. This occurs after EvAct, EvLoc, EvPos, EvMsg and EvImg comparisons, so description appears to participate in equality. The affected dedup interpretation is paused; no implementation or acceptance claim may use either version pending Astra resolution.\",\n \"timestamp\": \"2026-09-09T23:47:56.138628+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json","text":"{\n \"actor\": \"research-abi-analyst\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-2ff30c9f5355116bea822924\",\n \"id\": \"s-8996365dab2cd6dc0e17bb9f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"First verify 0x0046f8c0 is std::string equality (or otherwise characterize it) from independent raw instructions/callers; then use or construct two same-bucket PlayerEvents identical in EvAct/EvLoc/EvPos/EvMsg/EvImg but differing only in EvDsc. If 0x00825d40 returns null they are distinct and EvDsc is compared; if it returns the existing element the inherited omission survives and the call has another meaning.\",\n \"role\": \"analyst\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh raw GNU objdump capture contradicts the standing event dedup semantic claim in findings/subsystems/events.md:185 that EvDsc is not compared. At 0x00825e11 candidate+0x08 and 0x00825e15 stored+0x08 are passed to 0x0046f8c0; its boolean result at 0x00825e21 branches to match return only when true. This occurs after EvAct, EvLoc, EvPos, EvMsg and EvImg comparisons, so description appears to participate in equality. The affected dedup interpretation is paused; no implementation or acceptance claim may use either version pending Astra resolution.\",\n \"timestamp\": \"2026-09-09T23:47:56.138628+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json","time":{"start":1789015373659,"end":1789015373665}},"metadata":{"openai":{"itemId":"fc_049d64f06dc64b9e016aa2354d313487d1a27d74dd3c4a9ebe"}},"id":"prt_089a0374c001UjznByK7X7hP6N","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr"}} +{"type":"step_finish","timestamp":1789015373794,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a037df001pFXhf9JgQTEySL","reason":"tool-calls","snapshot":"82876a679a241e7d69f1141ca4a99f88b9e45db0","messageID":"msg_089a00a0f001IJ55tpDlqgwTJr","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":20322,"input":2356,"output":288,"reasoning":14,"cache":{"write":0,"read":17664}},"cost":0}} +{"type":"step_start","timestamp":1789015375324,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a03dd9001qRGIEuHX14U98s","messageID":"msg_089a03807001bc0WGb0Yn6wMWV","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"20780b1bc77ff9c31d60ed2638f5f8bf9af0e6ac","type":"step-start"}} +{"type":"tool_use","timestamp":1789015385279,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"todowrite","callID":"call_1dv27YY7de3Lkeaa1vEm4wtT","state":{"status":"completed","input":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"in_progress","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"pending","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Read campaign authority, contract, checkpoint, and open surprises\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce handoff evidence and run independent/held-out verification without implementation edits\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory canonical checkpoint with results and one exact next action\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"in_progress","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"pending","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"pending","priority":"high"}],"truncated":false},"title":"3 todos","time":{"start":1789015385275,"end":1789015385277}},"metadata":{"openai":{"itemId":"fc_057b95406e167be0016aa23559100c87d18d512a073b8f6fc9"}},"id":"prt_089a06472001YXi4uPUZN66c3Q","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a03807001bc0WGb0Yn6wMWV"}} +{"type":"step_finish","timestamp":1789015385458,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a0655f001lszFodsdkHW5AQ","reason":"tool-calls","snapshot":"bb7d96ae11855f901382281b6a0e90e81804ac84","messageID":"msg_089a03807001bc0WGb0Yn6wMWV","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":23364,"input":3325,"output":122,"reasoning":77,"cache":{"write":0,"read":19840}},"cost":0}} +{"type":"step_start","timestamp":1789015397026,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a0929f001ISCZc4jvzYUIxN","messageID":"msg_089a0659d001X5Dhw3TaHrc58w","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"54bc9b27d121b29b105339e6ce4e4234ca391a80","type":"step-start"}} +{"type":"tool_use","timestamp":1789015397246,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_RVfJ2vrpKkF5UnywYHPfKECt","state":{"status":"completed","input":{"command":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","workdir":"/tmp/opencode/sots-final-research-engine"},"output":"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\n/tmp/opencode/sots-final-research-engine\n/home/alex/sots-engine/.git\n M CONTRIBUTING.md\n M README.md\n M docs/S-standalone.md\n M src/app/turn.cpp\n M src/game/sim/CMakeLists.txt\n M src/mars/rng/mt19937.cpp\n M src/mars/rng/mt19937.h\n M tests/app/CMakeLists.txt\n M tests/app/test_command_replay.cpp\n M tests/app/test_turn.cpp\n M tests/app/test_turn_record.cpp\n M tests/game_config/CMakeLists.txt\n M tests/game_data/CMakeLists.txt\n M tests/game_design/CMakeLists.txt\n M tests/game_design/test_census_saves.cpp\n M tests/game_sim/CMakeLists.txt\n M tests/mars_stream/CMakeLists.txt\n M tests/mars_stream/test_domains.cpp\n M tests/mars_stream/test_rng.cpp\n M tests/mars_stream/test_save.cpp\n M tests/mars_text/CMakeLists.txt\n M tests/mars_vfs/CMakeLists.txt\n M tools/clean_room_check.sh\n?? AGENTS.md\n?? CLAUDE.md\n?? docs/architecture.md\n?? opencode.json\n?? tools/clean_room_check.py\n","metadata":{"output":"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\n/tmp/opencode/sots-final-research-engine\n/home/alex/sots-engine/.git\n M CONTRIBUTING.md\n M README.md\n M docs/S-standalone.md\n M src/app/turn.cpp\n M src/game/sim/CMakeLists.txt\n M src/mars/rng/mt19937.cpp\n M src/mars/rng/mt19937.h\n M tests/app/CMakeLists.txt\n M tests/app/test_command_replay.cpp\n M tests/app/test_turn.cpp\n M tests/app/test_turn_record.cpp\n M tests/game_config/CMakeLists.txt\n M tests/game_data/CMakeLists.txt\n M tests/game_design/CMakeLists.txt\n M tests/game_design/test_census_saves.cpp\n M tests/game_sim/CMakeLists.txt\n M tests/mars_stream/CMakeLists.txt\n M tests/mars_stream/test_domains.cpp\n M tests/mars_stream/test_rng.cpp\n M tests/mars_stream/test_save.cpp\n M tests/mars_text/CMakeLists.txt\n M tests/mars_vfs/CMakeLists.txt\n M tools/clean_room_check.sh\n?? AGENTS.md\n?? CLAUDE.md\n?? docs/architecture.md\n?? opencode.json\n?? tools/clean_room_check.py\n","exit":0,"truncated":false},"title":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","time":{"start":1789015397099,"end":1789015397222}},"metadata":{"openai":{"itemId":"fc_0988fc26f911fd1f016aa23564e71c87d1b540d88ee19b0a94"}},"id":"prt_089a092a1001kZ2CFVo0wsvcQV","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0659d001X5Dhw3TaHrc58w"}} +{"type":"tool_use","timestamp":1789015397246,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_mozEpBljIhXRu8TU3ErGcJ9b","state":{"status":"completed","input":{"command":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","workdir":"/tmp/opencode/sots-final-research-re"},"output":"3bfde5a70d874a723e797a695bbd847fd82c0aa7\n/tmp/opencode/sots-final-research-re\n/home/alex/sots-re/.git\n M README.md\n M campaign/DASHBOARD.md\n M campaign/backlog.md\n M campaign/board.md\n M campaign/open-questions.md\n M findings/00-strategy.md\n M findings/subsystems/nav-classifier-live.md\n M findings/subsystems/research-replace.md\n M guides/method-rules.md\n D scripts/forgejo_campaign.py\n M tools/DASHBOARD_README.md\n M tools/dashboard.py\n D tools/displacement.py\n M tools/gate.sh\n M tools/standalone_report.py\n?? AGENTS.md\n?? CLAUDE.md\n?? campaign/README.md\n?? campaign/agents/\n?? campaign/contract.schema.json\n?? campaign/contracts/\n?? campaign/current.json\n?? campaign/models.json\n?? campaign/pilots/\n?? campaign/research/\n?? campaign/rollout/\n?? guides/multi-agent-workflow.md\n?? guides/windows-lab-housekeeping.md\n?? opencode.json\n?? tools/campaign.py\n?? tools/check_agent_config.py\n?? tools/evidence.py\n?? tools/gate.py\n?? tools/run_agent.py\n?? tools/select_evidence.py\n?? tools/windows-housekeeping/\n?? verify/campaign/\n?? verify/config/\n?? verify/publishing/\n?? verify/results/housekeeping/\n?? verify/tooling/\n","metadata":{"output":"3bfde5a70d874a723e797a695bbd847fd82c0aa7\n/tmp/opencode/sots-final-research-re\n/home/alex/sots-re/.git\n M README.md\n M campaign/DASHBOARD.md\n M campaign/backlog.md\n M campaign/board.md\n M campaign/open-questions.md\n M findings/00-strategy.md\n M findings/subsystems/nav-classifier-live.md\n M findings/subsystems/research-replace.md\n M guides/method-rules.md\n D scripts/forgejo_campaign.py\n M tools/DASHBOARD_README.md\n M tools/dashboard.py\n D tools/displacement.py\n M tools/gate.sh\n M tools/standalone_report.py\n?? AGENTS.md\n?? CLAUDE.md\n?? campaign/README.md\n?? campaign/agents/\n?? campaign/contract.schema.json\n?? campaign/contracts/\n?? campaign/current.json\n?? campaign/models.json\n?? campaign/pilots/\n?? campaign/research/\n?? campaign/rollout/\n?? guides/multi-agent-workflow.md\n?? guides/windows-lab-housekeeping.md\n?? opencode.json\n?? tools/campaign.py\n?? tools/check_agent_config.py\n?? tools/evidence.py\n?? tools/gate.py\n?? tools/run_agent.py\n?? tools/select_evidence.py\n?? tools/windows-housekeeping/\n?? verify/campaign/\n?? verify/config/\n?? verify/publishing/\n?? verify/results/housekeeping/\n?? verify/tooling/\n","exit":0,"truncated":false},"title":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","time":{"start":1789015397110,"end":1789015397228}},"metadata":{"openai":{"itemId":"fc_0988fc26f911fd1f016aa23564e72c87d19ba1bdf35048609a"}},"id":"prt_089a092ed001bobom61lGRK1Rt","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0659d001X5Dhw3TaHrc58w"}} +{"type":"tool_use","timestamp":1789015397247,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_8KX42WehlYYXbYegKY4eHVHc","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi","workdir":"/home/alex/sots-re"},"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"verification\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n","metadata":{"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"verification\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi","time":{"start":1789015397115,"end":1789015397233}},"metadata":{"openai":{"itemId":"fc_0988fc26f911fd1f016aa23564e73887d19d7d3d209027bc67"}},"id":"prt_089a092f8001MdIFP5Sw70c1EN","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0659d001X5Dhw3TaHrc58w"}} +{"type":"tool_use","timestamp":1789015397247,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_dm1Pz8g62DUPC8NWEXbPXPBC","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re validate","workdir":"/home/alex/sots-re"},"output":"[\n \"controls-bootstrap\",\n \"launcher-smoke\",\n \"research-completion-abi\",\n \"research-live-record-bridge\",\n \"research-replacement\"\n]\n","metadata":{"output":"[\n \"controls-bootstrap\",\n \"launcher-smoke\",\n \"research-completion-abi\",\n \"research-live-record-bridge\",\n \"research-replacement\"\n]\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re validate","time":{"start":1789015397121,"end":1789015397236}},"metadata":{"openai":{"itemId":"fc_0988fc26f911fd1f016aa23564e74087d187e38dce8f3c118e"}},"id":"prt_089a092fd001NSxzZy6kvUyakz","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0659d001X5Dhw3TaHrc58w"}} +{"type":"tool_use","timestamp":1789015397338,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_lZ8R801IqqIR8bvHEpcdlQui","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-completion-abi --engine-worktree /tmp/opencode/sots-final-research-engine --re-worktree /tmp/opencode/sots-final-research-re","workdir":"/home/alex/sots-re","timeout":120000},"output":"{\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n}\n","metadata":{"output":"{\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-completion-abi --engine-worktree /tmp/opencode/sots-final-research-engine --re-worktree /tmp/opencode/sots-final-research-re","time":{"start":1789015397128,"end":1789015397335}},"metadata":{"openai":{"itemId":"fc_0988fc26f911fd1f016aa23564e74887d18c6e332ecfe76f9f"}},"id":"prt_089a09303001UDZEDoIQdgtANN","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0659d001X5Dhw3TaHrc58w"}} +{"type":"step_finish","timestamp":1789015397378,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a093ff001Y2GtcY0ucuRMGv","reason":"tool-calls","snapshot":"3d2f5ca2aab07e40546b179e70f53593f5e6d83c","messageID":"msg_089a0659d001X5Dhw3TaHrc58w","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":23828,"input":491,"output":297,"reasoning":0,"cache":{"write":0,"read":23040}},"cost":0}} +{"type":"step_start","timestamp":1789015400242,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a09f2f001qg67HYx4xoPnFm","messageID":"msg_089a09432001pDNcgYhSE0C0pI","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"753139fbedd1b59cf721b541f03447843ba09906","type":"step-start"}} +{"type":"tool_use","timestamp":1789015413696,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_fwmAaeSFUm7axStD6ZdIN91P","state":{"status":"completed","input":{"command":"sha256sum dumps/sots.exe /usr/bin/objdump && stat -c '%n %s' dumps/sots.exe /usr/bin/objdump && /usr/bin/objdump --version","workdir":"/home/alex/sots-re"},"output":"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 dumps/sots.exe\n1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd /usr/bin/objdump\ndumps/sots.exe 7898624\n/usr/bin/objdump 24\nGNU objdump (GNU Binutils for Ubuntu) 2.38\nCopyright (C) 2022 Free Software Foundation, Inc.\nThis program is free software; you may redistribute it under the terms of\nthe GNU General Public License version 3 or (at your option) any later version.\nThis program has absolutely no warranty.\n","metadata":{"output":"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 dumps/sots.exe\n1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd /usr/bin/objdump\ndumps/sots.exe 7898624\n/usr/bin/objdump 24\nGNU objdump (GNU Binutils for Ubuntu) 2.38\nCopyright (C) 2022 Free Software Foundation, Inc.\nThis program is free software; you may redistribute it under the terms of\nthe GNU General Public License version 3 or (at your option) any later version.\nThis program has absolutely no warranty.\n","exit":0,"truncated":false},"title":"sha256sum dumps/sots.exe /usr/bin/objdump && stat -c '%n %s' dumps/sots.exe /usr/bin/objdump && /usr/bin/objdump --version","time":{"start":1789015413656,"end":1789015413693}},"metadata":{"openai":{"itemId":"fc_0e1aba014df67ea7016aa23574ce9487d18cfc09f092702170"}},"id":"prt_089a0d344001HCCFWXyltjkHOd","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a09432001pDNcgYhSE0C0pI"}} +{"type":"tool_use","timestamp":1789015413811,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"glob","callID":"call_PY4dAtpqvx1xS6pkg2NXiYad","state":{"status":"completed","input":{"pattern":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/*","path":"/home/alex/sots-re"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/capture.py\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt","metadata":{"count":11,"truncated":false},"title":"","time":{"start":1789015413794,"end":1789015413810}},"metadata":{"openai":{"itemId":"fc_0e1aba014df67ea7016aa23574ceac87d19e2c754fdf86a06e"}},"id":"prt_089a0d3bf001MccXmMn3sZVGD8","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a09432001pDNcgYhSE0C0pI"}} +{"type":"tool_use","timestamp":1789015413947,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_EMchFhIijsVXXzJvBOClpQuy","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/research/research-completion-abi.md"},"output":"/home/alex/sots-re/campaign/research/research-completion-abi.md\nfile\n\n1: # Completion record ABI recovery\n2: \n3: Static handoff only. The provenance index is\n4: `verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\n5: capture and interpretation are respectively\n6: `verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n7: `verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n8: `verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\n9: provenance is superseded by the paired captures and identity record in\n10: `verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n11: `d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\n12: SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n13: `9969481c39f4b33a8a21c48b62abee4c`.\n14: \n15: The ownership archive's terminal-byte provenance is likewise superseded by the complete package\n16: `verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n17: `d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\n18: audit establish the encoded return immediates while preserving the static-only limitation. The\n19: package found three additional truncated historical stops (ObservedTech append/reallocator and\n20: string allocation/replacement); their widened streams are now the byte authority. No archive\n21: production-history inference or live-safety claim is made.\n22: \n23: ## Implementable machine boundaries recovered\n24: \n25: * `0x008562a0`: ObservedTech default constructor, ECX receiver, EAX return, plain `ret`.\n26: * `0x007b7320`: ObservedTech vector append, ECX receiver plus one stack word, `ret 4`; stride `0x2c`.\n27: Its copy helper is `0x0079a150` (cdecl-style allocator/destination/source stack arguments), which copy-constructs the embedded string rather than copying a\n28: vector element header. Capacity growth is `0x007b5820` -> `0x007b34e0` -> `0x0057e590`.\n29: * `0x0057e590` calls `0x00924fb6` with `count * 0x2c`; reallocation destroys every old element via\n30: virtual slot 0 with zero and frees the array through `0x00924faa`. These are MSVCR100 scalar-new\n31: and scalar-delete import thunks, not clean-room allocator operations.\n32: * `0x0086c580`: PlayerEvent vector append, ECX receiver plus one stack word, `ret 4`; stride `0x74`.\n33: It grows via `0x00869500` and copy-constructs through `0x007693f0` (ECX destination, stack source,\n34: EAX destination return, ret 4), independently assigning all\n35: three strings. `0x0061ae90` releases each long string via `0x00924faa` when capacity is `>= 0x10`.\n36: * `0x004249a0` (reached by `0x00425430` assignment) allocates through `0x00924fb6` and releases a\n37: prior long destination buffer through `0x00924faa`. A temporary long string is therefore not\n38: transferable by raw header copy.\n39: * `0x00885380`: get-or-create TurnEvents bucket, ECX EventStorage receiver plus stack turn, EAX\n40: bucket return, `ret 4`. It returns the last existing matching turn. On absence it initializes the\n41: stack bucket's vptr and empty nested-vector header but **not** its `EvTurn`; `0x00884cb0` copies\n42: that incoming stack word and deep-copies the nested vector. After temporary nested-vector cleanup,\n43: get/create writes the requested turn into the stored last element and returns it. The transient\n44: word is not measured randomness or a zero default. Fresh correction capture:\n45: `verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/`, governed by\n46: `d-b51f3f76803e852ed250846a`.\n47: * `0x00884cb0`: outer TurnEvents vector append, ECX vector receiver plus stack source, `ret 4`,\n48: stride `0x18`. Full-capacity growth is `0x008841a0` -> `0x00883a60`; allocation is\n49: `0x006e8f50` -> `0x00924fb6` with `count * 0x18`. Existing buckets are copy-constructed by\n50: `0x0077fed0`, including an independently allocated/copied nested PlayerEvent vector via\n51: `0x00779850` -> `0x0078af40` (`count * 0x74`) -> `0x007725a0` -> `0x007693f0`.\n52: * TurnEvents virtual slot zero resolves from vtable `0x00a0f07c` to `0x0062e120`. It destroys the\n53: nested vector through `0x00629580`; that destroys every `0x74` PlayerEvent, frees the nested block,\n54: and zeros its three pointers. Static unwind edges clean partial PlayerEvent and TurnEvents ranges\n55: and free the new outer block, but no allocation failure was executed live.\n56: \n57: ## Ordering / visible effects\n58: \n59: RecordObservedTech's append predicate is name absence, not capacity. A matching existing record\n60: keeps first-turn/name and updates last-turn/with mask. `0x00825d40` scans a bucket's events in\n61: `0x74` steps, checking action, location, three floats, message and image before passing both\n62: description strings to `0x0046f8c0`. Fresh paired-boundary instructions establish that helper as\n63: caller-cleaned `bool string_not_equal(stored, candidate)`: it returns one for any byte/length\n64: difference and zero for equality, handling each operand's inline/heap representation at capacity\n65: `0x10`. FindDuplicate reaches the match return only on zero, so `EvDsc` equality is required and a\n66: description-only difference does not deduplicate. This statically contradicts the inherited\n67: description-omission claim; decision `d-2ff30c9f5355116bea822924` required the now-archived complete\n68: branch/helper repair. The later provenance correction does not itself prove these semantics: an\n69: independent verifier must reproduce the repaired package and predeclared falsifiers. The wrapper\n70: returns the first element equal in all fields and writes nothing.\n71: `0x00879eb0` prunes only a leading\n72: stale run (`EvTurn < turn-50`), deep-shifts from the run's last stale element, and therefore removes\n73: `n-1`: one stale bucket survives, a single stale bucket causes no write, and stale buckets after a\n74: fresh bucket are not inspected. The no-duplicate EventStorage path remains distinct from event-vector\n75: capacity: it is the path that appends a `0x74` PlayerEvent and changes IDs/vector contents. Caller\n76: text/position/action/defaulting and the exact PostEvent write order remain required inputs/effects.\n77: No RNG draw occurs in the recovered bucket, duplicate, prune, copy, allocation, or destruction\n78: boundaries.\n79: \n80: ## Original/runtime dependencies and limits\n81: \n82: Any original-assisted allocation, string assignment or deletion must retain allocator-family\n83: compatibility: the recovered calls target the original MSVCR100 import thunks. A standalone\n84: replacement needs its own coherent allocation/destruction boundary; calling these original helpers\n85: is an original dependency, not independent replacement. Calling `0x0046f8c0` likewise retains an\n86: original string-layout/comparison dependency, though its equality behavior is implementable without\n87: allocation in a standalone boundary. Required unavailable proof inputs are a safe\n88: long-string/full-capacity pre/post fixture (or equivalent archived trace), same-bucket\n89: equal/description-only-different event fixtures covering short and long strings, exact exceptional\n90: cleanup outcomes under a live throw, and independent reproduction of the named static windows and\n91: falsifiers. This handoff makes no live\n92: allocator-safety, runtime event-construction, or replacement-acceptance claim.\n\n(End of file - total 92 lines)\n","metadata":{"preview":"# Completion record ABI recovery\n\nStatic handoff only. The provenance index is\n`verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\ncapture and interpretation are respectively\n`verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n`verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\nprovenance is superseded by the paired captures and identity record in\n`verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n`d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\nSHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe ownership archive's terminal-byte provenance is likewise superseded by the complete package\n`verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n`d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\naudit establish the encoded return immediates while preserving the static-only limitation. The\npackage found three additional truncated historical stops (ObservedTech append/reallocator and\nstring allocation/replacement); their widened streams are now the byte authority. No archive","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/research/research-completion-abi.md","text":"# Completion record ABI recovery\n\nStatic handoff only. The provenance index is\n`verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\ncapture and interpretation are respectively\n`verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n`verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\nprovenance is superseded by the paired captures and identity record in\n`verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n`d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\nSHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe ownership archive's terminal-byte provenance is likewise superseded by the complete package\n`verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n`d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\naudit establish the encoded return immediates while preserving the static-only limitation. The\npackage found three additional truncated historical stops (ObservedTech append/reallocator and\nstring allocation/replacement); their widened streams are now the byte authority. No archive\nproduction-history inference or live-safety claim is made.\n\n## Implementable machine boundaries recovered\n\n* `0x008562a0`: ObservedTech default constructor, ECX receiver, EAX return, plain `ret`.\n* `0x007b7320`: ObservedTech vector append, ECX receiver plus one stack word, `ret 4`; stride `0x2c`.\n Its copy helper is `0x0079a150` (cdecl-style allocator/destination/source stack arguments), which copy-constructs the embedded string rather than copying a\n vector element header. Capacity growth is `0x007b5820` -> `0x007b34e0` -> `0x0057e590`.\n* `0x0057e590` calls `0x00924fb6` with `count * 0x2c`; reallocation destroys every old element via\n virtual slot 0 with zero and frees the array through `0x00924faa`. These are MSVCR100 scalar-new\n and scalar-delete import thunks, not clean-room allocator operations.\n* `0x0086c580`: PlayerEvent vector append, ECX receiver plus one stack word, `ret 4`; stride `0x74`.\n It grows via `0x00869500` and copy-constructs through `0x007693f0` (ECX destination, stack source,\n EAX destination return, ret 4), independently assigning all\n three strings. `0x0061ae90` releases each long string via `0x00924faa` when capacity is `>= 0x10`.\n* `0x004249a0` (reached by `0x00425430` assignment) allocates through `0x00924fb6` and releases a\n prior long destination buffer through `0x00924faa`. A temporary long string is therefore not\n transferable by raw header copy.\n* `0x00885380`: get-or-create TurnEvents bucket, ECX EventStorage receiver plus stack turn, EAX\n bucket return, `ret 4`. It returns the last existing matching turn. On absence it initializes the\n stack bucket's vptr and empty nested-vector header but **not** its `EvTurn`; `0x00884cb0` copies\n that incoming stack word and deep-copies the nested vector. After temporary nested-vector cleanup,\n get/create writes the requested turn into the stored last element and returns it. The transient\n word is not measured randomness or a zero default. Fresh correction capture:\n `verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/`, governed by\n `d-b51f3f76803e852ed250846a`.\n* `0x00884cb0`: outer TurnEvents vector append, ECX vector receiver plus stack source, `ret 4`,\n stride `0x18`. Full-capacity growth is `0x008841a0` -> `0x00883a60`; allocation is\n `0x006e8f50` -> `0x00924fb6` with `count * 0x18`. Existing buckets are copy-constructed by\n `0x0077fed0`, including an independently allocated/copied nested PlayerEvent vector via\n `0x00779850` -> `0x0078af40` (`count * 0x74`) -> `0x007725a0` -> `0x007693f0`.\n* TurnEvents virtual slot zero resolves from vtable `0x00a0f07c` to `0x0062e120`. It destroys the\n nested vector through `0x00629580`; that destroys every `0x74` PlayerEvent, frees the nested block,\n and zeros its three pointers. Static unwind edges clean partial PlayerEvent and TurnEvents ranges\n and free the new outer block, but no allocation failure was executed live.\n\n## Ordering / visible effects\n\nRecordObservedTech's append predicate is name absence, not capacity. A matching existing record\nkeeps first-turn/name and updates last-turn/with mask. `0x00825d40` scans a bucket's events in\n`0x74` steps, checking action, location, three floats, message and image before passing both\ndescription strings to `0x0046f8c0`. Fresh paired-boundary instructions establish that helper as\ncaller-cleaned `bool string_not_equal(stored, candidate)`: it returns one for any byte/length\ndifference and zero for equality, handling each operand's inline/heap representation at capacity\n`0x10`. FindDuplicate reaches the match return only on zero, so `EvDsc` equality is required and a\ndescription-only difference does not deduplicate. This statically contradicts the inherited\ndescription-omission claim; decision `d-2ff30c9f5355116bea822924` required the now-archived complete\nbranch/helper repair. The later provenance correction does not itself prove these semantics: an\nindependent verifier must reproduce the repaired package and predeclared falsifiers. The wrapper\nreturns the first element equal in all fields and writes nothing.\n`0x00879eb0` prunes only a leading\nstale run (`EvTurn < turn-50`), deep-shifts from the run's last stale element, and therefore removes\n`n-1`: one stale bucket survives, a single stale bucket causes no write, and stale buckets after a\nfresh bucket are not inspected. The no-duplicate EventStorage path remains distinct from event-vector\ncapacity: it is the path that appends a `0x74` PlayerEvent and changes IDs/vector contents. Caller\ntext/position/action/defaulting and the exact PostEvent write order remain required inputs/effects.\nNo RNG draw occurs in the recovered bucket, duplicate, prune, copy, allocation, or destruction\nboundaries.\n\n## Original/runtime dependencies and limits\n\nAny original-assisted allocation, string assignment or deletion must retain allocator-family\ncompatibility: the recovered calls target the original MSVCR100 import thunks. A standalone\nreplacement needs its own coherent allocation/destruction boundary; calling these original helpers\nis an original dependency, not independent replacement. Calling `0x0046f8c0` likewise retains an\noriginal string-layout/comparison dependency, though its equality behavior is implementable without\nallocation in a standalone boundary. Required unavailable proof inputs are a safe\nlong-string/full-capacity pre/post fixture (or equivalent archived trace), same-bucket\nequal/description-only-different event fixtures covering short and long strings, exact exceptional\ncleanup outcomes under a live throw, and independent reproduction of the named static windows and\nfalsifiers. This handoff makes no live\nallocator-safety, runtime event-construction, or replacement-acceptance claim.","lineStart":1,"lineEnd":92,"totalLines":92,"truncated":false}},"title":"campaign/research/research-completion-abi.md","time":{"start":1789015413938,"end":1789015413945}},"metadata":{"openai":{"itemId":"fc_0e1aba014df67ea7016aa23574ceb487d181f23a58d23ba51d"}},"id":"prt_089a0d43b001ECj0cUKUwbtB8Q","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a09432001pDNcgYhSE0C0pI"}} +{"type":"tool_use","timestamp":1789015414066,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"glob","callID":"call_ZwyIa3eP2s085PO18XT18c1X","state":{"status":"completed","input":{"pattern":"verify/results/research-completion-abi-correction-verifier/*","path":"/home/alex/sots-re"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","metadata":{"count":2,"truncated":false},"title":"","time":{"start":1789015414045,"end":1789015414064}},"metadata":{"openai":{"itemId":"fc_0e1aba014df67ea7016aa23574cec087d1ba7c1fff38615ab2"}},"id":"prt_089a0d4d20017U7hSeWbp2UjfH","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a09432001pDNcgYhSE0C0pI"}} +{"type":"step_finish","timestamp":1789015415012,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a0d8e1001CuIrrUQEVLJqSZ","reason":"tool-calls","snapshot":"acda0b07525b1d0ebaf23e30c8a8d032ce9e07e6","messageID":"msg_089a09432001pDNcgYhSE0C0pI","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":25831,"input":2172,"output":201,"reasoning":34,"cache":{"write":0,"read":23424}},"cost":0}} +{"type":"step_start","timestamp":1789015416796,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a0dfd80010brF4jn6NncBVM","messageID":"msg_089a0d911001qjZddoPhtZycWt","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"fe21e6410648385a0cd252c3a2bebf7ee580096d","type":"step-start"}} +{"type":"tool_use","timestamp":1789015423344,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_jyPzaxgRbBZAR4bnY3WTWLSl","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\nfile\n\n1: #!/usr/bin/env python3\n2: import hashlib, json, re, subprocess\n3: from datetime import datetime, timezone\n4: from pathlib import Path\n5: \n6: ROOT = Path('/home/alex/sots-re')\n7: OUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\n8: AUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\n9: TOOL = Path('/usr/bin/objdump')\n10: BINARY = ROOT / 'dumps/sots.exe'\n11: WINDOWS = {\n12: 'turn-get-create': (0x00885380, 0x0088544a),\n13: 'turn-append': (0x00884cb0, 0x00884d8f),\n14: 'nested-copy': (0x00779850, 0x00779a20),\n15: 'nested-dtor': (0x00629580, 0x006295ca),\n16: }\n17: EXPECTED = {\n18: 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n19: 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n20: }\n21: ROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n22: \n23: def sha(data): return hashlib.sha256(data).hexdigest()\n24: def rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n25: \n26: OUT.mkdir(parents=True, exist_ok=True)\n27: checks = []\n28: records = []\n29: for name, (start, stop) in WINDOWS.items():\n30: variants = {}\n31: for suffix, end in (('exact', stop), ('wide', stop + 4)):\n32: argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n33: f'--stop-address=0x{end:08x}', str(BINARY)]\n34: p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n35: for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n36: (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n37: variants[suffix] = p.stdout\n38: records.append({'name': name, 'variant': suffix, 'argv': argv,\n39: 'returncode': p.returncode,\n40: 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n41: 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n42: checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n43: (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n44: (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n45: archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n46: exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n47: checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n48: (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n49: (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n50: \n51: get = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\n52: pre_call = get.split('885413:', 1)[0]\n53: stack20_writes = [line.strip() for line in pre_call.splitlines()\n54: if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\n55: append = (OUT / 'turn-append-exact.stdout.txt').read_text()\n56: copy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\n57: dtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\n58: checks += [\n59: ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n60: ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n61: ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n62: ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n63: ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n64: ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n65: ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n66: ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n67: ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n68: ]\n69: \n70: failed = [name for name, ok in checks if not ok]\n71: manifest = {\n72: 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n73: 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n74: 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n75: 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n76: 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n77: 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n78: 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n79: 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n80: 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n81: 'failed': failed,\n82: 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n83: }\n84: (OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\n85: print(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n86: 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\n87: raise SystemExit(bool(failed))\n\n(End of file - total 87 lines)\n","metadata":{"preview":"#!/usr/bin/env python3\nimport hashlib, json, re, subprocess\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nROOT = Path('/home/alex/sots-re')\nOUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\nAUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\nTOOL = Path('/usr/bin/objdump')\nBINARY = ROOT / 'dumps/sots.exe'\nWINDOWS = {\n 'turn-get-create': (0x00885380, 0x0088544a),\n 'turn-append': (0x00884cb0, 0x00884d8f),\n 'nested-copy': (0x00779850, 0x00779a20),\n 'nested-dtor': (0x00629580, 0x006295ca),\n}\nEXPECTED = {\n 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","text":"#!/usr/bin/env python3\nimport hashlib, json, re, subprocess\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nROOT = Path('/home/alex/sots-re')\nOUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\nAUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\nTOOL = Path('/usr/bin/objdump')\nBINARY = ROOT / 'dumps/sots.exe'\nWINDOWS = {\n 'turn-get-create': (0x00885380, 0x0088544a),\n 'turn-append': (0x00884cb0, 0x00884d8f),\n 'nested-copy': (0x00779850, 0x00779a20),\n 'nested-dtor': (0x00629580, 0x006295ca),\n}\nEXPECTED = {\n 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n}\nROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n\ndef sha(data): return hashlib.sha256(data).hexdigest()\ndef rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n\nOUT.mkdir(parents=True, exist_ok=True)\nchecks = []\nrecords = []\nfor name, (start, stop) in WINDOWS.items():\n variants = {}\n for suffix, end in (('exact', stop), ('wide', stop + 4)):\n argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n f'--stop-address=0x{end:08x}', str(BINARY)]\n p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n variants[suffix] = p.stdout\n records.append({'name': name, 'variant': suffix, 'argv': argv,\n 'returncode': p.returncode,\n 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n\nget = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\npre_call = get.split('885413:', 1)[0]\nstack20_writes = [line.strip() for line in pre_call.splitlines()\n if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\nappend = (OUT / 'turn-append-exact.stdout.txt').read_text()\ncopy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\ndtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\nchecks += [\n ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n]\n\nfailed = [name for name, ok in checks if not ok]\nmanifest = {\n 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n 'failed': failed,\n 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n}\n(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\nprint(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\nraise SystemExit(bool(failed))","lineStart":1,"lineEnd":87,"totalLines":87,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","time":{"start":1789015423334,"end":1789015423342}},"metadata":{"openai":{"itemId":"fc_043627922fafbeb4016aa2357e0db487d1b8aff7ae9754a9ff"}},"id":"prt_089a0f4b8001jel2WhZiXm8Kop","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0d911001qjZddoPhtZycWt"}} +{"type":"step_finish","timestamp":1789015423494,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a0f9ed001bKZis5SuZaO4bq","reason":"tool-calls","snapshot":"7f4f3fa503428837e18807d5c4287c06add0898c","messageID":"msg_089a0d911001qjZddoPhtZycWt","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":28798,"input":3125,"output":57,"reasoning":144,"cache":{"write":0,"read":25472}},"cost":0}} +{"type":"step_start","timestamp":1789015426287,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a104eb00177kKrTNDWP87QP","messageID":"msg_089a0fa30001MeN7xAF9TVPa51","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"64146544808d369cb83dd41e209a7e3dd5f4d348","type":"step-start"}} +{"type":"tool_use","timestamp":1789015432146,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_UoFWW3Z1xH8hZ9ftep3rLBjY","state":{"status":"completed","input":{"command":"readlink /usr/bin/objdump && stat -Lc '%n %s' /usr/bin/objdump","workdir":"/home/alex/sots-re"},"output":"x86_64-linux-gnu-objdump\n/usr/bin/objdump 373888\n","metadata":{"output":"x86_64-linux-gnu-objdump\n/usr/bin/objdump 373888\n","exit":0,"truncated":false},"title":"readlink /usr/bin/objdump && stat -Lc '%n %s' /usr/bin/objdump","time":{"start":1789015432131,"end":1789015432144}},"metadata":{"openai":{"itemId":"fc_09396b9907f29f01016aa23586c82c87d19999da33f6256266"}},"id":"prt_089a116b3001Mfjq9WJa2og60k","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a0fa30001MeN7xAF9TVPa51"}} +{"type":"step_finish","timestamp":1789015432267,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a11c48001mE29667flllsLR","reason":"tool-calls","snapshot":"9112e470e0ac902cfc70ac9fb8ed02b1d3e8c9a4","messageID":"msg_089a0fa30001MeN7xAF9TVPa51","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":30804,"input":2215,"output":53,"reasoning":120,"cache":{"write":0,"read":28416}},"cost":0}} +{"type":"step_start","timestamp":1789015433841,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1226e001Qd3VkvJ9cyD0I9","messageID":"msg_089a11c6f001xVItzMPs7nP372","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"abd97f5ea727e09ae157fa3592b73ba92929d2fa","type":"step-start"}} +{"type":"tool_use","timestamp":1789015453501,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_rxKZJ7zZwxtE1T3Q1uNaEIsY","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-5bd0e537bb0c4c4f43987ac1 --summary 'Pre-experiment recovery checkpoint. Observations: read canonical AGENTS/campaign README/current policy, contract, prior checkpoint, all surprise records; status is verification, open_surprises is empty, validate passes. Assigned worktrees have contract HEADs and correct common repositories; their expected dirty/untracked manifests independently source-bind to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Input hashes to 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 at 7898624 bytes. /usr/bin/objdump is a 24-byte symlink whose dereferenced executable is 373888 bytes and hashes to 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd; version is GNU objdump 2.38, consistent with Path.stat/read_bytes capture semantics. Decision: retain predeclared falsifiers, required static states/branches, and held-out +4 stop ablation in attached plan. Reject identity mismatch, nonzero/empty/truncated execution, archive differences, pre-call [EBP-0x20] write, copy/order/lifetime contradictions. Scope remains independent static full compare only, not original runtime, allocator safety, replacement or integrated replay. No lease or lab use; no source edits. Blocker: none before read-only capture.' --artifact verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Run python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE and inspect every generated command/check plus decoded instruction ordering.'","workdir":"/home/alex/sots-re"},"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"7608da5661fb071222d780b6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Run python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE and inspect every generated command/check plus decoded instruction ordering.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-5bd0e537bb0c4c4f43987ac1\",\n \"summary\": \"Pre-experiment recovery checkpoint. Observations: read canonical AGENTS/campaign README/current policy, contract, prior checkpoint, all surprise records; status is verification, open_surprises is empty, validate passes. Assigned worktrees have contract HEADs and correct common repositories; their expected dirty/untracked manifests independently source-bind to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Input hashes to 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 at 7898624 bytes. /usr/bin/objdump is a 24-byte symlink whose dereferenced executable is 373888 bytes and hashes to 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd; version is GNU objdump 2.38, consistent with Path.stat/read_bytes capture semantics. Decision: retain predeclared falsifiers, required static states/branches, and held-out +4 stop ablation in attached plan. Reject identity mismatch, nonzero/empty/truncated execution, archive differences, pre-call [EBP-0x20] write, copy/order/lifetime contradictions. Scope remains independent static full compare only, not original runtime, allocator safety, replacement or integrated replay. No lease or lab use; no source edits. Blocker: none before read-only capture.\",\n \"timestamp\": \"2026-09-10T04:44:13.474607+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"7608da5661fb071222d780b6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Run python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE and inspect every generated command/check plus decoded instruction ordering.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-5bd0e537bb0c4c4f43987ac1\",\n \"summary\": \"Pre-experiment recovery checkpoint. Observations: read canonical AGENTS/campaign README/current policy, contract, prior checkpoint, all surprise records; status is verification, open_surprises is empty, validate passes. Assigned worktrees have contract HEADs and correct common repositories; their expected dirty/untracked manifests independently source-bind to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Input hashes to 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 at 7898624 bytes. /usr/bin/objdump is a 24-byte symlink whose dereferenced executable is 373888 bytes and hashes to 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd; version is GNU objdump 2.38, consistent with Path.stat/read_bytes capture semantics. Decision: retain predeclared falsifiers, required static states/branches, and held-out +4 stop ablation in attached plan. Reject identity mismatch, nonzero/empty/truncated execution, archive differences, pre-call [EBP-0x20] write, copy/order/lifetime contradictions. Scope remains independent static full compare only, not original runtime, allocator safety, replacement or integrated replay. No lease or lab use; no source edits. Blocker: none before read-only capture.\",\n \"timestamp\": \"2026-09-10T04:44:13.474607+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-5bd0e537bb0c4c4f43987ac1 --summary 'Pre-experiment recovery checkpoint. Observations: read canonical AGENTS/campaign README/current policy, contract, prior checkpoint, all surprise records; status is verification, open_surprises is empty, validate passes. Assigned worktrees have contract HEADs and correct common repositories; their expected dirty/untracked manifests independently source-bind to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Input hashes to 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 at 7898624 bytes. /usr/bin/objdump is a 24-byte symlink whose dereferenced executable is 373888 bytes and hashes to 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd; version is GNU objdump 2.38, consistent with Path.stat/read_bytes capture semantics. Decision: retain predeclared falsifiers, required static states/branches, and held-out +4 stop ablation in attached plan. Reject identity mismatch, nonzero/empty/truncated execution, archive differences, pre-call [EBP-0x20] write, copy/order/lifetime contradictions. Scope remains independent static full compare only, not original runtime, allocator safety, replacement or integrated replay. No lease or lab use; no source edits. Blocker: none before read-only capture.' --artifact verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Run python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE and inspect every generated command/check plus decoded instruction ordering.'","time":{"start":1789015453429,"end":1789015453499}},"metadata":{"openai":{"itemId":"fc_0093d9edda57e2c8016aa2358b1b8c87d18ee99a051e177d75"}},"id":"prt_089a127a9001YqqzMXbAEkIASE","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a11c6f001xVItzMPs7nP372"}} +{"type":"step_finish","timestamp":1789015453659,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a16fd80013m0mOr87J3woM6","reason":"tool-calls","snapshot":"c96a4ca8b2349ef63464d417fc013169302be595","messageID":"msg_089a11c6f001xVItzMPs7nP372","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":31445,"input":371,"output":589,"reasoning":21,"cache":{"write":0,"read":30464}},"cost":0}} +{"type":"step_start","timestamp":1789015457483,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a17ec8001e8tq1YcBiXqfe1","messageID":"msg_089a1700400121ZC5MGlanN6Qn","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"cda004b94cc196b16af8b88e70c7361384b64368","type":"step-start"}} +{"type":"tool_use","timestamp":1789015472225,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"todowrite","callID":"call_V7WeF8XzNQeynKNXw9W5A5X9","state":{"status":"completed","input":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"completed","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"in_progress","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Read campaign authority, contract, checkpoint, and open surprises\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce handoff evidence and run independent/held-out verification without implementation edits\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory canonical checkpoint with results and one exact next action\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"completed","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"in_progress","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"pending","priority":"high"}],"truncated":false},"title":"2 todos","time":{"start":1789015472221,"end":1789015472224}},"metadata":{"openai":{"itemId":"fc_045fcaefd9e56ded016aa235b00fa487d189bdc0cf10d433b9"}},"id":"prt_089a1b81f0013G4O6kc2ioUkGD","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a1700400121ZC5MGlanN6Qn"}} +{"type":"step_finish","timestamp":1789015472282,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1b898001yqv2FmeoLMTL83","reason":"tool-calls","snapshot":"2c3ab32cfeb64197fa3ade0a90af9a422cf4f8ce","messageID":"msg_089a1700400121ZC5MGlanN6Qn","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":32370,"input":1520,"output":122,"reasoning":8,"cache":{"write":0,"read":30720}},"cost":0}} +{"type":"step_start","timestamp":1789015474349,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1c0a4001rS16m4hH7yRgYW","messageID":"msg_089a1b8c3001fnuRhh7MwFHDIm","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"145d50ccc446341d7abc1ffce5d17eab949f69fc","type":"step-start"}} +{"type":"tool_use","timestamp":1789015476350,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_eDsV4lvS4Pzq8A7fEhbXpsLu","state":{"status":"completed","input":{"command":"python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","workdir":"/home/alex/sots-re","timeout":120000},"output":"{\n \"commands\": 8,\n \"checks\": 45,\n \"failed\": [\n \"nested-copy-wide-row-prefix\"\n ],\n \"manifest\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\"\n}\n","metadata":{"output":"{\n \"commands\": 8,\n \"checks\": 45,\n \"failed\": [\n \"nested-copy-wide-row-prefix\"\n ],\n \"manifest\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\"\n}\n","exit":1,"truncated":false},"title":"python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","time":{"start":1789015476255,"end":1789015476349}},"metadata":{"openai":{"itemId":"fc_0e1ce7346dbf6adf016aa235b24c5c87d1bb38c0b578617cc1"}},"id":"prt_089a1c0ab001KGlnAMwXdgE156","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a1b8c3001fnuRhh7MwFHDIm"}} +{"type":"step_finish","timestamp":1789015476403,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1c8b0001uVw928EOPCDyvI","reason":"tool-calls","snapshot":"e62fadfce216d90be3654176fb40e86842dc2bc0","messageID":"msg_089a1b8c3001fnuRhh7MwFHDIm","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":32602,"input":409,"output":65,"reasoning":0,"cache":{"write":0,"read":32128}},"cost":0}} +{"type":"step_start","timestamp":1789015478090,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1cf46001WgyB9dj7iv9BRA","messageID":"msg_089a1c8dc001LnWYAxgK5wugQ4","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"71b2ae94f91011a90e86f64dec847daf87f75de7","type":"step-start"}} +{"type":"tool_use","timestamp":1789015481585,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_bexeZbSbP5A3L9nZrkvuEhD8","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\nfile\n\n1: {\n2: \"schema\": \"sots-abi-independent-static/1\",\n3: \"session\": \"run-ee78b8773688ca09f8046e21\",\n4: \"actor\": \"research-abi-correction-verifier\",\n5: \"role\": \"verifier\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"timestamp\": \"2026-09-10T04:44:36.333584+00:00\",\n8: \"input\": {\n9: \"path\": \"dumps/sots.exe\",\n10: \"bytes\": 7898624,\n11: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n12: },\n13: \"tool\": {\n14: \"path\": \"/usr/bin/objdump\",\n15: \"bytes\": 373888,\n16: \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n17: \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n18: },\n19: \"author_manifest_sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\",\n20: \"stack_writes_to_ebp_minus_20_before_0x885413\": [],\n21: \"commands\": [\n22: {\n23: \"name\": \"turn-get-create\",\n24: \"variant\": \"exact\",\n25: \"argv\": [\n26: \"/usr/bin/objdump\",\n27: \"-D\",\n28: \"-Mintel\",\n29: \"--start-address=0x00885380\",\n30: \"--stop-address=0x0088544a\",\n31: \"/home/alex/sots-re/dumps/sots.exe\"\n32: ],\n33: \"returncode\": 0,\n34: \"stdout\": {\n35: \"bytes\": 3974,\n36: \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n37: },\n38: \"stderr\": {\n39: \"bytes\": 0,\n40: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n41: }\n42: },\n43: {\n44: \"name\": \"turn-get-create\",\n45: \"variant\": \"wide\",\n46: \"argv\": [\n47: \"/usr/bin/objdump\",\n48: \"-D\",\n49: \"-Mintel\",\n50: \"--start-address=0x00885380\",\n51: \"--stop-address=0x0088544e\",\n52: \"/home/alex/sots-re/dumps/sots.exe\"\n53: ],\n54: \"returncode\": 0,\n55: \"stdout\": {\n56: \"bytes\": 4134,\n57: \"sha256\": \"9cb7d2ccfcc645b3b642e520ba51c85330c57d6d4395ed3fbd4a4a1950436e80\"\n58: },\n59: \"stderr\": {\n60: \"bytes\": 0,\n61: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n62: }\n63: },\n64: {\n65: \"name\": \"turn-append\",\n66: \"variant\": \"exact\",\n67: \"argv\": [\n68: \"/usr/bin/objdump\",\n69: \"-D\",\n70: \"-Mintel\",\n71: \"--start-address=0x00884cb0\",\n72: \"--stop-address=0x00884d8f\",\n73: \"/home/alex/sots-re/dumps/sots.exe\"\n74: ],\n75: \"returncode\": 0,\n76: \"stdout\": {\n77: \"bytes\": 4179,\n78: \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n79: },\n80: \"stderr\": {\n81: \"bytes\": 0,\n82: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n83: }\n84: },\n85: {\n86: \"name\": \"turn-append\",\n87: \"variant\": \"wide\",\n88: \"argv\": [\n89: \"/usr/bin/objdump\",\n90: \"-D\",\n91: \"-Mintel\",\n92: \"--start-address=0x00884cb0\",\n93: \"--stop-address=0x00884d93\",\n94: \"/home/alex/sots-re/dumps/sots.exe\"\n95: ],\n96: \"returncode\": 0,\n97: \"stdout\": {\n98: \"bytes\": 4309,\n99: \"sha256\": \"957339f40b2af8947cb883cc1d3a9d1e151bf7663305415065472ef9171dc33d\"\n100: },\n101: \"stderr\": {\n102: \"bytes\": 0,\n103: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n104: }\n105: },\n106: {\n107: \"name\": \"nested-copy\",\n108: \"variant\": \"exact\",\n109: \"argv\": [\n110: \"/usr/bin/objdump\",\n111: \"-D\",\n112: \"-Mintel\",\n113: \"--start-address=0x00779850\",\n114: \"--stop-address=0x00779a20\",\n115: \"/home/alex/sots-re/dumps/sots.exe\"\n116: ],\n117: \"returncode\": 0,\n118: \"stdout\": {\n119: \"bytes\": 8469,\n120: \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n121: },\n122: \"stderr\": {\n123: \"bytes\": 0,\n124: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n125: }\n126: },\n127: {\n128: \"name\": \"nested-copy\",\n129: \"variant\": \"wide\",\n130: \"argv\": [\n131: \"/usr/bin/objdump\",\n132: \"-D\",\n133: \"-Mintel\",\n134: \"--start-address=0x00779850\",\n135: \"--stop-address=0x00779a24\",\n136: \"/home/alex/sots-re/dumps/sots.exe\"\n137: ],\n138: \"returncode\": 0,\n139: \"stdout\": {\n140: \"bytes\": 8558,\n141: \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n142: },\n143: \"stderr\": {\n144: \"bytes\": 0,\n145: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n146: }\n147: },\n148: {\n149: \"name\": \"nested-dtor\",\n150: \"variant\": \"exact\",\n151: \"argv\": [\n152: \"/usr/bin/objdump\",\n153: \"-D\",\n154: \"-Mintel\",\n155: \"--start-address=0x00629580\",\n156: \"--stop-address=0x006295ca\",\n157: \"/home/alex/sots-re/dumps/sots.exe\"\n158: ],\n159: \"returncode\": 0,\n160: \"stdout\": {\n161: \"bytes\": 1727,\n162: \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n163: },\n164: \"stderr\": {\n165: \"bytes\": 0,\n166: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n167: }\n168: },\n169: {\n170: \"name\": \"nested-dtor\",\n171: \"variant\": \"wide\",\n172: \"argv\": [\n173: \"/usr/bin/objdump\",\n174: \"-D\",\n175: \"-Mintel\",\n176: \"--start-address=0x00629580\",\n177: \"--stop-address=0x006295ce\",\n178: \"/home/alex/sots-re/dumps/sots.exe\"\n179: ],\n180: \"returncode\": 0,\n181: \"stdout\": {\n182: \"bytes\": 1887,\n183: \"sha256\": \"0aba6fc800760e3a113c07238cfb6e721623eb0bb8a933a990d3e2e82823d00f\"\n184: },\n185: \"stderr\": {\n186: \"bytes\": 0,\n187: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n188: }\n189: }\n190: ],\n191: \"checks\": [\n192: {\n193: \"name\": \"turn-get-create-exact-return-zero\",\n194: \"status\": \"pass\"\n195: },\n196: {\n197: \"name\": \"turn-get-create-exact-stdout-nonempty\",\n198: \"status\": \"pass\"\n199: },\n200: {\n201: \"name\": \"turn-get-create-exact-stderr-empty\",\n202: \"status\": \"pass\"\n203: },\n204: {\n205: \"name\": \"turn-get-create-wide-return-zero\",\n206: \"status\": \"pass\"\n207: },\n208: {\n209: \"name\": \"turn-get-create-wide-stdout-nonempty\",\n210: \"status\": \"pass\"\n211: },\n212: {\n213: \"name\": \"turn-get-create-wide-stderr-empty\",\n214: \"status\": \"pass\"\n215: },\n216: {\n217: \"name\": \"turn-get-create-byte-exact-author-compare\",\n218: \"status\": \"pass\"\n219: },\n220: {\n221: \"name\": \"turn-get-create-wide-row-prefix\",\n222: \"status\": \"pass\"\n223: },\n224: {\n225: \"name\": \"turn-get-create-wide-adds-row\",\n226: \"status\": \"pass\"\n227: },\n228: {\n229: \"name\": \"turn-append-exact-return-zero\",\n230: \"status\": \"pass\"\n231: },\n232: {\n233: \"name\": \"turn-append-exact-stdout-nonempty\",\n234: \"status\": \"pass\"\n235: },\n236: {\n237: \"name\": \"turn-append-exact-stderr-empty\",\n238: \"status\": \"pass\"\n239: },\n240: {\n241: \"name\": \"turn-append-wide-return-zero\",\n242: \"status\": \"pass\"\n243: },\n244: {\n245: \"name\": \"turn-append-wide-stdout-nonempty\",\n246: \"status\": \"pass\"\n247: },\n248: {\n249: \"name\": \"turn-append-wide-stderr-empty\",\n250: \"status\": \"pass\"\n251: },\n252: {\n253: \"name\": \"turn-append-byte-exact-author-compare\",\n254: \"status\": \"pass\"\n255: },\n256: {\n257: \"name\": \"turn-append-wide-row-prefix\",\n258: \"status\": \"pass\"\n259: },\n260: {\n261: \"name\": \"turn-append-wide-adds-row\",\n262: \"status\": \"pass\"\n263: },\n264: {\n265: \"name\": \"nested-copy-exact-return-zero\",\n266: \"status\": \"pass\"\n267: },\n268: {\n269: \"name\": \"nested-copy-exact-stdout-nonempty\",\n270: \"status\": \"pass\"\n271: },\n272: {\n273: \"name\": \"nested-copy-exact-stderr-empty\",\n274: \"status\": \"pass\"\n275: },\n276: {\n277: \"name\": \"nested-copy-wide-return-zero\",\n278: \"status\": \"pass\"\n279: },\n280: {\n281: \"name\": \"nested-copy-wide-stdout-nonempty\",\n282: \"status\": \"pass\"\n283: },\n284: {\n285: \"name\": \"nested-copy-wide-stderr-empty\",\n286: \"status\": \"pass\"\n287: },\n288: {\n289: \"name\": \"nested-copy-byte-exact-author-compare\",\n290: \"status\": \"pass\"\n291: },\n292: {\n293: \"name\": \"nested-copy-wide-row-prefix\",\n294: \"status\": \"fail\"\n295: },\n296: {\n297: \"name\": \"nested-copy-wide-adds-row\",\n298: \"status\": \"pass\"\n299: },\n300: {\n301: \"name\": \"nested-dtor-exact-return-zero\",\n302: \"status\": \"pass\"\n303: },\n304: {\n305: \"name\": \"nested-dtor-exact-stdout-nonempty\",\n306: \"status\": \"pass\"\n307: },\n308: {\n309: \"name\": \"nested-dtor-exact-stderr-empty\",\n310: \"status\": \"pass\"\n311: },\n312: {\n313: \"name\": \"nested-dtor-wide-return-zero\",\n314: \"status\": \"pass\"\n315: },\n316: {\n317: \"name\": \"nested-dtor-wide-stdout-nonempty\",\n318: \"status\": \"pass\"\n319: },\n320: {\n321: \"name\": \"nested-dtor-wide-stderr-empty\",\n322: \"status\": \"pass\"\n323: },\n324: {\n325: \"name\": \"nested-dtor-byte-exact-author-compare\",\n326: \"status\": \"pass\"\n327: },\n328: {\n329: \"name\": \"nested-dtor-wide-row-prefix\",\n330: \"status\": \"pass\"\n331: },\n332: {\n333: \"name\": \"nested-dtor-wide-adds-row\",\n334: \"status\": \"pass\"\n335: },\n336: {\n337: \"name\": \"binary-hash\",\n338: \"status\": \"pass\"\n339: },\n340: {\n341: \"name\": \"tool-hash\",\n342: \"status\": \"pass\"\n343: },\n344: {\n345: \"name\": \"get-no-precall-ebp-minus-20-write\",\n346: \"status\": \"pass\"\n347: },\n348: {\n349: \"name\": \"get-last-match-overwrite-visible\",\n350: \"status\": \"pass\"\n351: },\n352: {\n353: \"name\": \"get-cleanup-before-final-store\",\n354: \"status\": \"pass\"\n355: },\n356: {\n357: \"name\": \"append-source4-copy-before-nested-copy-before-advance\",\n358: \"status\": \"pass\"\n359: },\n360: {\n361: \"name\": \"nested-copy-three-null-initializers\",\n362: \"status\": \"pass\"\n363: },\n364: {\n365: \"name\": \"nested-copy-empty-and-nonempty-branches\",\n366: \"status\": \"pass\"\n367: },\n368: {\n369: \"name\": \"nested-dtor-null-branch-loop-free-zero\",\n370: \"status\": \"pass\"\n371: }\n372: ],\n373: \"failed\": [\n374: \"nested-copy-wide-row-prefix\"\n375: ],\n376: \"scope\": \"Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.\"\n377: }\n\n(End of file - total 377 lines)\n","metadata":{"preview":"{\n \"schema\": \"sots-abi-independent-static/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"actor\": \"research-abi-correction-verifier\",\n \"role\": \"verifier\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:44:36.333584+00:00\",\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"author_manifest_sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\",\n \"stack_writes_to_ebp_minus_20_before_0x885413\": [],","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json","text":"{\n \"schema\": \"sots-abi-independent-static/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"actor\": \"research-abi-correction-verifier\",\n \"role\": \"verifier\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:44:36.333584+00:00\",\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"author_manifest_sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\",\n \"stack_writes_to_ebp_minus_20_before_0x885413\": [],\n \"commands\": [\n {\n \"name\": \"turn-get-create\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544a\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 3974,\n \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-get-create\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544e\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 4134,\n \"sha256\": \"9cb7d2ccfcc645b3b642e520ba51c85330c57d6d4395ed3fbd4a4a1950436e80\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d8f\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 4179,\n \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d93\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 4309,\n \"sha256\": \"957339f40b2af8947cb883cc1d3a9d1e151bf7663305415065472ef9171dc33d\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a20\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 8469,\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a24\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 8558,\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ca\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 1727,\n \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ce\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 1887,\n \"sha256\": \"0aba6fc800760e3a113c07238cfb6e721623eb0bb8a933a990d3e2e82823d00f\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n }\n ],\n \"checks\": [\n {\n \"name\": \"turn-get-create-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-row-prefix\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-row-prefix\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-row-prefix\",\n \"status\": \"fail\"\n },\n {\n \"name\": \"nested-copy-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-row-prefix\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"binary-hash\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"tool-hash\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"get-no-precall-ebp-minus-20-write\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"get-last-match-overwrite-visible\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"get-cleanup-before-final-store\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"append-source4-copy-before-nested-copy-before-advance\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-three-null-initializers\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-empty-and-nonempty-branches\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-null-branch-loop-free-zero\",\n \"status\": \"pass\"\n }\n ],\n \"failed\": [\n \"nested-copy-wide-row-prefix\"\n ],\n \"scope\": \"Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.\"\n}","lineStart":1,"lineEnd":377,"totalLines":377,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json","time":{"start":1789015481567,"end":1789015481582}},"metadata":{"openai":{"itemId":"fc_03aaecf810f25797016aa235b8335887d1bf09dd4362f4a200"}},"id":"prt_089a1d7d7001NUydc43Te5sFxW","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a1c8dc001LnWYAxgK5wugQ4"}} +{"type":"step_finish","timestamp":1789015481660,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1dd39001DOdMoc4qdaTTHw","reason":"tool-calls","snapshot":"ba31fdb6c0a872eb467c7ea3e4d7f84a21bf9fde","messageID":"msg_089a1c8dc001LnWYAxgK5wugQ4","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":32781,"input":295,"output":56,"reasoning":46,"cache":{"write":0,"read":32384}},"cost":0}} +{"type":"step_start","timestamp":1789015483431,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a1e424001ru3yFKhFm2dmZB","messageID":"msg_089a1dd6b001wpLASB34TPPLIA","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"712a53f48ea8a03459f63ec1e2edff22c9bf8ca0","type":"step-start"}} +{"type":"tool_use","timestamp":1789015493438,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_whLflgfn70w9tg4urKzr2gjJ","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","offset":130,"limit":40},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\nfile\n\n130: 7799a5:\t50 \tpush eax\n131: 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n132: 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n133: 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n134: 7799b5:\t83 c4 08 \tadd esp,0x8\n135: 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n136: 7799bc:\t73 03 \tjae 0x7799c1\n137: 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n138: 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n139: 7799c7:\t6a 00 \tpush 0x0\n140: 7799c9:\t56 \tpush esi\n141: 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n142: 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n143: 7799d4:\t6a 00 \tpush 0x0\n144: 7799d6:\t50 \tpush eax\n145: 7799d7:\t52 \tpush edx\n146: 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n147: 7799dd:\t83 c4 1c \tadd esp,0x1c\n148: 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n149: 7799e4:\t72 0c \tjb 0x7799f2\n150: 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n151: 7799e9:\t50 \tpush eax\n152: 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n153: 7799ef:\t83 c4 04 \tadd esp,0x4\n154: 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n155: 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n156: 7799fc:\t59 \tpop ecx\n157: 7799fd:\t5e \tpop esi\n158: 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n159: 779a01:\t33 cd \txor ecx,ebp\n160: 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n161: 779a08:\t8b e5 \tmov esp,ebp\n162: 779a0a:\t5d \tpop ebp\n163: 779a0b:\tc3 \tret \n164: 779a0c:\tcc \tint3 \n165: 779a0d:\tcc \tint3 \n166: 779a0e:\tcc \tint3 \n167: 779a0f:\tcc \tint3 \n168: 779a10:\t53 \tpush ebx\n169: 779a11:\t56 \tpush esi\n\n(Showing lines 130-169 of 175. Use offset=170 to continue.)\n","metadata":{"preview":" 7799a5:\t50 \tpush eax\n 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799b5:\t83 c4 08 \tadd esp,0x8\n 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799bc:\t73 03 \tjae 0x7799c1\n 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n 7799c7:\t6a 00 \tpush 0x0\n 7799c9:\t56 \tpush esi\n 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n 7799d4:\t6a 00 \tpush 0x0\n 7799d6:\t50 \tpush eax\n 7799d7:\t52 \tpush edx\n 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n 7799dd:\t83 c4 1c \tadd esp,0x1c\n 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799e4:\t72 0c \tjb 0x7799f2","truncated":true,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","text":" 7799a5:\t50 \tpush eax\n 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799b5:\t83 c4 08 \tadd esp,0x8\n 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799bc:\t73 03 \tjae 0x7799c1\n 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n 7799c7:\t6a 00 \tpush 0x0\n 7799c9:\t56 \tpush esi\n 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n 7799d4:\t6a 00 \tpush 0x0\n 7799d6:\t50 \tpush eax\n 7799d7:\t52 \tpush edx\n 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n 7799dd:\t83 c4 1c \tadd esp,0x1c\n 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799e4:\t72 0c \tjb 0x7799f2\n 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799e9:\t50 \tpush eax\n 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n 7799ef:\t83 c4 04 \tadd esp,0x4\n 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 7799fc:\t59 \tpop ecx\n 7799fd:\t5e \tpop esi\n 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n 779a01:\t33 cd \txor ecx,ebp\n 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n 779a08:\t8b e5 \tmov esp,ebp\n 779a0a:\t5d \tpop ebp\n 779a0b:\tc3 \tret \n 779a0c:\tcc \tint3 \n 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi","lineStart":130,"lineEnd":169,"totalLines":175,"truncated":true}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","time":{"start":1789015493429,"end":1789015493436}},"metadata":{"openai":{"itemId":"fc_04d2cc9efdd377ec016aa235c5313487d1b9df4a4eb416099c"}},"id":"prt_089a20ad3001Pb2kWFL9b6447w","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a1dd6b001wpLASB34TPPLIA"}} +{"type":"tool_use","timestamp":1789015493585,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_vyW9US8BVLK7v34tfH6ONjU6","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","offset":130,"limit":45},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\nfile\n\n130: 7799a5:\t50 \tpush eax\n131: 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n132: 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n133: 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n134: 7799b5:\t83 c4 08 \tadd esp,0x8\n135: 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n136: 7799bc:\t73 03 \tjae 0x7799c1\n137: 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n138: 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n139: 7799c7:\t6a 00 \tpush 0x0\n140: 7799c9:\t56 \tpush esi\n141: 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n142: 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n143: 7799d4:\t6a 00 \tpush 0x0\n144: 7799d6:\t50 \tpush eax\n145: 7799d7:\t52 \tpush edx\n146: 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n147: 7799dd:\t83 c4 1c \tadd esp,0x1c\n148: 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n149: 7799e4:\t72 0c \tjb 0x7799f2\n150: 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n151: 7799e9:\t50 \tpush eax\n152: 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n153: 7799ef:\t83 c4 04 \tadd esp,0x4\n154: 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n155: 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n156: 7799fc:\t59 \tpop ecx\n157: 7799fd:\t5e \tpop esi\n158: 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n159: 779a01:\t33 cd \txor ecx,ebp\n160: 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n161: 779a08:\t8b e5 \tmov esp,ebp\n162: 779a0a:\t5d \tpop ebp\n163: 779a0b:\tc3 \tret \n164: 779a0c:\tcc \tint3 \n165: 779a0d:\tcc \tint3 \n166: 779a0e:\tcc \tint3 \n167: 779a0f:\tcc \tint3 \n168: 779a10:\t53 \tpush ebx\n169: 779a11:\t56 \tpush esi\n170: 779a12:\t8b f1 \tmov esi,ecx\n171: 779a14:\t57 \tpush edi\n172: 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n173: 779a1b:\t33 db \txor ebx,ebx\n174: 779a1d:\t3b fb \tcmp edi,ebx\n\n(Showing lines 130-174 of 177. Use offset=175 to continue.)\n","metadata":{"preview":" 7799a5:\t50 \tpush eax\n 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799b5:\t83 c4 08 \tadd esp,0x8\n 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799bc:\t73 03 \tjae 0x7799c1\n 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n 7799c7:\t6a 00 \tpush 0x0\n 7799c9:\t56 \tpush esi\n 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n 7799d4:\t6a 00 \tpush 0x0\n 7799d6:\t50 \tpush eax\n 7799d7:\t52 \tpush edx\n 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n 7799dd:\t83 c4 1c \tadd esp,0x1c\n 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799e4:\t72 0c \tjb 0x7799f2","truncated":true,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","text":" 7799a5:\t50 \tpush eax\n 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799b5:\t83 c4 08 \tadd esp,0x8\n 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799bc:\t73 03 \tjae 0x7799c1\n 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n 7799c7:\t6a 00 \tpush 0x0\n 7799c9:\t56 \tpush esi\n 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n 7799d4:\t6a 00 \tpush 0x0\n 7799d6:\t50 \tpush eax\n 7799d7:\t52 \tpush edx\n 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n 7799dd:\t83 c4 1c \tadd esp,0x1c\n 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799e4:\t72 0c \tjb 0x7799f2\n 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799e9:\t50 \tpush eax\n 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n 7799ef:\t83 c4 04 \tadd esp,0x4\n 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 7799fc:\t59 \tpop ecx\n 7799fd:\t5e \tpop esi\n 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n 779a01:\t33 cd \txor ecx,ebp\n 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n 779a08:\t8b e5 \tmov esp,ebp\n 779a0a:\t5d \tpop ebp\n 779a0b:\tc3 \tret \n 779a0c:\tcc \tint3 \n 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx","lineStart":130,"lineEnd":174,"totalLines":177,"truncated":true}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","time":{"start":1789015493576,"end":1789015493583}},"metadata":{"openai":{"itemId":"fc_04d2cc9efdd377ec016aa235c5315087d1baae64d2e0681e22"}},"id":"prt_089a20b620014NPM7Lp3Z5Ef9b","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a1dd6b001wpLASB34TPPLIA"}} +{"type":"step_finish","timestamp":1789015493724,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a20c59001O0ubso9x6gqflr","reason":"tool-calls","snapshot":"de62bac1048e4c1d54103622f3ae0c9c90ada2e4","messageID":"msg_089a1dd6b001wpLASB34TPPLIA","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":36877,"input":4204,"output":145,"reasoning":16,"cache":{"write":0,"read":32512}},"cost":0}} +{"type":"step_start","timestamp":1789015500395,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a22666001chCxC3DQYWGetq","messageID":"msg_089a20c84001kz0W6vNOwV4nBL","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"e4c940c2c7cb8805b45b233f5a1050b9fb3ca98c","type":"step-start"}} +{"type":"tool_use","timestamp":1789015500497,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_JZPz3mJuMqPk78xw6IOSbOee","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","offset":165,"limit":20},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\nfile\n\n165: 779a0d:\tcc \tint3 \n166: 779a0e:\tcc \tint3 \n167: 779a0f:\tcc \tint3 \n168: 779a10:\t53 \tpush ebx\n169: 779a11:\t56 \tpush esi\n170: 779a12:\t8b f1 \tmov esi,ecx\n171: 779a14:\t57 \tpush edi\n172: 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n173: 779a1b:\t33 db \txor ebx,ebx\n174: 779a1d:\t3b fb \tcmp edi,ebx\n175: 779a1f:\t74 \tje 0x779a31\n\n(End of file - total 175 lines)\n","metadata":{"preview":" 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx\n 779a1f:\t74 \tje 0x779a31","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","text":" 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx\n 779a1f:\t74 \tje 0x779a31","lineStart":165,"lineEnd":175,"totalLines":175,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","time":{"start":1789015500474,"end":1789015500495}},"metadata":{"openai":{"itemId":"fc_0e2ca5a1405661e6016aa235cc4db887d188eab1e5071b91a4"}},"id":"prt_089a22669001RPg5C4lQ2QHYpT","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a20c84001kz0W6vNOwV4nBL"}} +{"type":"tool_use","timestamp":1789015500506,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"read","callID":"call_yIzmaEgUzu2ZKkbnQ9pS9q1N","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","offset":165,"limit":20},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\nfile\n\n165: 779a0d:\tcc \tint3 \n166: 779a0e:\tcc \tint3 \n167: 779a0f:\tcc \tint3 \n168: 779a10:\t53 \tpush ebx\n169: 779a11:\t56 \tpush esi\n170: 779a12:\t8b f1 \tmov esi,ecx\n171: 779a14:\t57 \tpush edi\n172: 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n173: 779a1b:\t33 db \txor ebx,ebx\n174: 779a1d:\t3b fb \tcmp edi,ebx\n175: 779a1f:\t74 10 \tje 0x779a31\n176: 779a21:\t8b cf \tmov ecx,edi\n177: 779a23:\te8 \tcall 0x770450\n\n(End of file - total 177 lines)\n","metadata":{"preview":" 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx\n 779a1f:\t74 10 \tje 0x779a31\n 779a21:\t8b cf \tmov ecx,edi\n 779a23:\te8 \tcall 0x770450","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","text":" 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx\n 779a1f:\t74 10 \tje 0x779a31\n 779a21:\t8b cf \tmov ecx,edi\n 779a23:\te8 \tcall 0x770450","lineStart":165,"lineEnd":177,"totalLines":177,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","time":{"start":1789015500486,"end":1789015500504}},"metadata":{"openai":{"itemId":"fc_0e2ca5a1405661e6016aa235cc4dcc87d1bda4c4cdf5bcf47f"}},"id":"prt_089a226bc001x8Ezeizkqv9z7o","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a20c84001kz0W6vNOwV4nBL"}} +{"type":"step_finish","timestamp":1789015500613,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a22742001DMGimsnAAqXimG","reason":"tool-calls","snapshot":"02e3be2d0715960c79f9e77a94756362c2a90532","messageID":"msg_089a20c84001kz0W6vNOwV4nBL","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":39215,"input":2464,"output":143,"reasoning":0,"cache":{"write":0,"read":36608}},"cost":0}} +{"type":"step_start","timestamp":1789015502954,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a23062001Tr4KRTnI52WwOE","messageID":"msg_089a22770001XcKBSAzvtwnmrH","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"fcc01559d91acdd3c0e8402d3830e73fafef77be","type":"step-start"}} +{"type":"tool_use","timestamp":1789015517297,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_ctxfl1ZbfD7Z4xqufYkswFAN","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re surprise research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-5bd0e537bb0c4c4f43987ac1 --summary 'Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.' --probe 'Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.'","workdir":"/home/alex/sots-re"},"output":"usage: campaign.py [-h] --state-root STATE_ROOT\n {list,status,validate,source-binding,checkpoint,transition,surprise,resolve,evidence,verdict,lease}\n ...\ncampaign.py: error: unrecognized arguments: --session run-5bd0e537bb0c4c4f43987ac1\n","metadata":{"output":"usage: campaign.py [-h] --state-root STATE_ROOT\n {list,status,validate,source-binding,checkpoint,transition,surprise,resolve,evidence,verdict,lease}\n ...\ncampaign.py: error: unrecognized arguments: --session run-5bd0e537bb0c4c4f43987ac1\n","exit":2,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re surprise research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-5bd0e537bb0c4c4f43987ac1 --summary 'Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.' --probe 'Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.'","time":{"start":1789015517248,"end":1789015517295}},"metadata":{"openai":{"itemId":"fc_00059a540c791abd016aa235d0ef2087d199e316ec7ddffdf5"}},"id":"prt_089a2385d0014tdclxoNkidDPK","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a22770001XcKBSAzvtwnmrH"}} +{"type":"step_finish","timestamp":1789015517381,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a268c2001tcsqBF3wntTx0d","reason":"tool-calls","snapshot":"e3e4e61bc51b4a832cfafca260ef23a9ed0fa820","messageID":"msg_089a22770001XcKBSAzvtwnmrH","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":40264,"input":917,"output":394,"reasoning":41,"cache":{"write":0,"read":38912}},"cost":0}} +{"type":"step_start","timestamp":1789015519486,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a270fb001rDK3SJo5ZDHDSC","messageID":"msg_089a268ef00182xtb4xBeckk2J","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"61f15d1fe9a3c6d14c22f8c97247855ceb1f5375","type":"step-start"}} +{"type":"tool_use","timestamp":1789015532438,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_A1bDI1HSKY0Vgpnlw6L5p8kB","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re surprise research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --summary 'Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.' --probe 'Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.'","workdir":"/home/alex/sots-re"},"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re surprise research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --summary 'Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.' --probe 'Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.'","time":{"start":1789015532370,"end":1789015532436}},"metadata":{"openai":{"itemId":"fc_00d803d9d9f62065016aa235e0e47c87d1a27579c10ac0404f"}},"id":"prt_089a27705001LYXtSvK2P6RWBA","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a268ef00182xtb4xBeckk2J"}} +{"type":"step_finish","timestamp":1789015532512,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a2a3dd0016DdyCkOg7mYCIg","reason":"tool-calls","snapshot":"4dd3ba3ba902997c89dc11b9ddbf9332e1f85156","messageID":"msg_089a268ef00182xtb4xBeckk2J","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":40747,"input":666,"output":374,"reasoning":27,"cache":{"write":0,"read":39680}},"cost":0}} +{"type":"step_start","timestamp":1789015534338,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a2aafe001IKNcD3N1aRnPPb","messageID":"msg_089a2a40f001hE3pkABeMLzO6v","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"bf9c6906eff50f577aca065b926c863235a334bd","type":"step-start"}} +{"type":"tool_use","timestamp":1789015583130,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"apply_patch","callID":"call_ANK6XybjbT8DKOKmCwBvGQZM","state":{"status":"completed","input":{"patchText":"*** Begin Patch\n*** Add File: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n+# Independent correction verification result\n+\n+Actor `research-abi-correction-verifier`, role `verifier`, requested model\n+`openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`.\n+\n+## Scope and identities\n+\n+This was an independent static partial comparison plus held-out stop-boundary ablation. It was not\n+original-game runtime comparison, live allocator validation, independent replacement, integrated\n+replay, or an acceptance verdict. The paired source bindings reproduced as engine\n+`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE\n+`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs.\n+The 7,898,624-byte input SHA-256 was\n+`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced\n+373,888-byte GNU objdump 2.38 executable SHA-256 was\n+`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`.\n+\n+## Reproduction and observations\n+\n+From `/home/alex/sots-re`:\n+\n+```sh\n+python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n+```\n+\n+The process exited 1 after eight positive objdump executions (four exact windows and four held-out\n+windows widened by four bytes). Every subprocess returned zero, emitted nonempty stdout, and emitted\n+empty stderr. All four exact stdout streams byte-matched the analyst captures. Binary/tool checks,\n+the independent empty list of pre-`0x00885413` writes to `[EBP-0x20]`, get/create ordering, append\n+copy ordering, nested empty/nonempty-copy branch markers, and destructor null/non-null branch markers\n+passed. The generated manifest reports 44 passing checks and one failure.\n+\n+The failed check is `nested-copy-wide-row-prefix`. Exact stop `0x00779a20` ends with:\n+\n+```text\n+779a1f: 74 je 0x779a31\n+```\n+\n+The widened stop `0x00779a24` exposes the complete instruction:\n+\n+```text\n+779a1f: 74 10 je 0x779a31\n+```\n+\n+and then rows at `0x00779a21` and `0x00779a23`; the latter call is itself truncated by that widened\n+boundary. Thus exact rows are not a byte-identical prefix of widened rows and the analyst's\n+`nested-copy` window has a truncated terminal instruction. This falsifies the predeclared boundary\n+prediction. Surprise `s-4f4fb5e8ee42ccff7e68efb5` records and blocks the affected interpretation.\n+\n+## Provenance defect and residuals\n+\n+The reproduction helper was inherited from the prior verifier checkpoint and hard-codes prior\n+session `run-ee78b8773688ca09f8046e21` into its generated manifest. Although the raw commands ran in\n+this fresh quantum, that manifest does not truthfully identify the current campaign session and is\n+not acceptable as a current-session evidence record. This report records the actual invocation and\n+does not relabel the generated manifest.\n+\n+No success is claimed for the failed full compare. Surviving rows remain partial static\n+measurements. Residuals include a complete non-truncated nested-copy boundary, fresh analyst and\n+verifier provenance, live spare/full-capacity fixtures, nonempty live nested-copy state, allocator\n+safety, induced unwind, original runtime comparison, whole-state/RNG validation, independent\n+replacement, and integrated replay. No RNG execution occurred; static no-RNG prose was not treated\n+as runtime state accounting.\n*** End Patch"},"output":"Success. Updated the following files:\nA verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md","metadata":{"diff":"Index: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n===================================================================\n--- /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n+++ /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n@@ -0,0 +1,63 @@\n+# Independent correction verification result\n+\n+Actor `research-abi-correction-verifier`, role `verifier`, requested model\n+`openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`.\n+\n+## Scope and identities\n+\n+This was an independent static partial comparison plus held-out stop-boundary ablation. It was not\n+original-game runtime comparison, live allocator validation, independent replacement, integrated\n+replay, or an acceptance verdict. The paired source bindings reproduced as engine\n+`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE\n+`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs.\n+The 7,898,624-byte input SHA-256 was\n+`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced\n+373,888-byte GNU objdump 2.38 executable SHA-256 was\n+`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`.\n+\n+## Reproduction and observations\n+\n+From `/home/alex/sots-re`:\n+\n+```sh\n+python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n+```\n+\n+The process exited 1 after eight positive objdump executions (four exact windows and four held-out\n+windows widened by four bytes). Every subprocess returned zero, emitted nonempty stdout, and emitted\n+empty stderr. All four exact stdout streams byte-matched the analyst captures. Binary/tool checks,\n+the independent empty list of pre-`0x00885413` writes to `[EBP-0x20]`, get/create ordering, append\n+copy ordering, nested empty/nonempty-copy branch markers, and destructor null/non-null branch markers\n+passed. The generated manifest reports 44 passing checks and one failure.\n+\n+The failed check is `nested-copy-wide-row-prefix`. Exact stop `0x00779a20` ends with:\n+\n+```text\n+779a1f: 74 je 0x779a31\n+```\n+\n+The widened stop `0x00779a24` exposes the complete instruction:\n+\n+```text\n+779a1f: 74 10 je 0x779a31\n+```\n+\n+and then rows at `0x00779a21` and `0x00779a23`; the latter call is itself truncated by that widened\n+boundary. Thus exact rows are not a byte-identical prefix of widened rows and the analyst's\n+`nested-copy` window has a truncated terminal instruction. This falsifies the predeclared boundary\n+prediction. Surprise `s-4f4fb5e8ee42ccff7e68efb5` records and blocks the affected interpretation.\n+\n+## Provenance defect and residuals\n+\n+The reproduction helper was inherited from the prior verifier checkpoint and hard-codes prior\n+session `run-ee78b8773688ca09f8046e21` into its generated manifest. Although the raw commands ran in\n+this fresh quantum, that manifest does not truthfully identify the current campaign session and is\n+not acceptable as a current-session evidence record. This report records the actual invocation and\n+does not relabel the generated manifest.\n+\n+No success is claimed for the failed full compare. Surviving rows remain partial static\n+measurements. Residuals include a complete non-truncated nested-copy boundary, fresh analyst and\n+verifier provenance, live spare/full-capacity fixtures, nonempty live nested-copy state, allocator\n+safety, induced unwind, original runtime comparison, whole-state/RNG validation, independent\n+replacement, and integrated replay. No RNG execution occurred; static no-RNG prose was not treated\n+as runtime state accounting.\n\n","files":[{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md","relativePath":"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md","type":"add","patch":"Index: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n===================================================================\n--- /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n+++ /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\n@@ -0,0 +1,63 @@\n+# Independent correction verification result\n+\n+Actor `research-abi-correction-verifier`, role `verifier`, requested model\n+`openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`.\n+\n+## Scope and identities\n+\n+This was an independent static partial comparison plus held-out stop-boundary ablation. It was not\n+original-game runtime comparison, live allocator validation, independent replacement, integrated\n+replay, or an acceptance verdict. The paired source bindings reproduced as engine\n+`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE\n+`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs.\n+The 7,898,624-byte input SHA-256 was\n+`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced\n+373,888-byte GNU objdump 2.38 executable SHA-256 was\n+`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`.\n+\n+## Reproduction and observations\n+\n+From `/home/alex/sots-re`:\n+\n+```sh\n+python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n+```\n+\n+The process exited 1 after eight positive objdump executions (four exact windows and four held-out\n+windows widened by four bytes). Every subprocess returned zero, emitted nonempty stdout, and emitted\n+empty stderr. All four exact stdout streams byte-matched the analyst captures. Binary/tool checks,\n+the independent empty list of pre-`0x00885413` writes to `[EBP-0x20]`, get/create ordering, append\n+copy ordering, nested empty/nonempty-copy branch markers, and destructor null/non-null branch markers\n+passed. The generated manifest reports 44 passing checks and one failure.\n+\n+The failed check is `nested-copy-wide-row-prefix`. Exact stop `0x00779a20` ends with:\n+\n+```text\n+779a1f: 74 je 0x779a31\n+```\n+\n+The widened stop `0x00779a24` exposes the complete instruction:\n+\n+```text\n+779a1f: 74 10 je 0x779a31\n+```\n+\n+and then rows at `0x00779a21` and `0x00779a23`; the latter call is itself truncated by that widened\n+boundary. Thus exact rows are not a byte-identical prefix of widened rows and the analyst's\n+`nested-copy` window has a truncated terminal instruction. This falsifies the predeclared boundary\n+prediction. Surprise `s-4f4fb5e8ee42ccff7e68efb5` records and blocks the affected interpretation.\n+\n+## Provenance defect and residuals\n+\n+The reproduction helper was inherited from the prior verifier checkpoint and hard-codes prior\n+session `run-ee78b8773688ca09f8046e21` into its generated manifest. Although the raw commands ran in\n+this fresh quantum, that manifest does not truthfully identify the current campaign session and is\n+not acceptable as a current-session evidence record. This report records the actual invocation and\n+does not relabel the generated manifest.\n+\n+No success is claimed for the failed full compare. Surviving rows remain partial static\n+measurements. Residuals include a complete non-truncated nested-copy boundary, fresh analyst and\n+verifier provenance, live spare/full-capacity fixtures, nonempty live nested-copy state, allocator\n+safety, induced unwind, original runtime comparison, whole-state/RNG validation, independent\n+replacement, and integrated replay. No RNG execution occurred; static no-RNG prose was not treated\n+as runtime state accounting.\n","additions":63,"deletions":0}],"diagnostics":{},"truncated":false},"title":"Success. Updated the following files:\nA verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md","time":{"start":1789015583120,"end":1789015583127}},"metadata":{"openai":{"itemId":"fc_072ec49b12ea6d59016aa235fe4ac487d199be1b2292cfd52e"}},"id":"prt_089a2e9a0001H9w142aTvfqlyn","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a2a40f001hE3pkABeMLzO6v"}} +{"type":"step_finish","timestamp":1789015583278,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a36a2b001mT7d8c3N6lvTND","reason":"tool-calls","snapshot":"55e85cd372850e88106c5c969880dc9ec2435ba6","messageID":"msg_089a2a40f001hE3pkABeMLzO6v","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":42701,"input":987,"output":1040,"reasoning":482,"cache":{"write":0,"read":40192}},"cost":0}} +{"type":"step_start","timestamp":1789015584991,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a370db001xGi1DRmOAh0b6G","messageID":"msg_089a36a5e001V6aUVwgaDpbz6b","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"773f5870a2b3e08d420abeda076cf4e288888cc7","type":"step-start"}} +{"type":"tool_use","timestamp":1789015595642,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_xZBsFIxk75Aavf2uI85vCUy4","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re surprise research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --summary 'Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.' --probe 'Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.'","workdir":"/home/alex/sots-re"},"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re surprise research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --summary 'Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.' --probe 'Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.'","time":{"start":1789015595576,"end":1789015595640}},"metadata":{"openai":{"itemId":"fc_041405d3516a312e016aa23622128c87d1af8e276f74581234"}},"id":"prt_089a37574001JH4ry34yyii8Oj","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a36a5e001V6aUVwgaDpbz6b"}} +{"type":"step_finish","timestamp":1789015595678,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a39a9b001H4FHZxVDNMDreE","reason":"tool-calls","snapshot":"3f58c0f44767c6b160c2a769b923e6a4fbe79881","messageID":"msg_089a36a5e001V6aUVwgaDpbz6b","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":43080,"input":1664,"output":314,"reasoning":14,"cache":{"write":0,"read":41088}},"cost":0}} +{"type":"step_start","timestamp":1789015597328,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a3a10d001Igma3mVZVgjhIQ","messageID":"msg_089a39ac6001iD5CPCBBPB6QtU","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"c3349a9b430d63d756c2d0830617a8ade4e9adc1","type":"step-start"}} +{"type":"tool_use","timestamp":1789015601902,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_O2WLk4e4EabKSQm14Jnhm2MZ","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi","workdir":"/home/alex/sots-re"},"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-7608da5661fb071222d780b6.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n },\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n }\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"blocked\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n","metadata":{"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-7608da5661fb071222d780b6.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n },\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n }\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"blocked\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi","time":{"start":1789015601850,"end":1789015601900}},"metadata":{"openai":{"itemId":"fc_007b430c405bc757016aa23630bf1487d196e5821e33ca86e9"}},"id":"prt_089a3aeed0017v14d6x38cy6r6","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a39ac6001iD5CPCBBPB6QtU"}} +{"type":"step_finish","timestamp":1789015601985,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a3b329001Yy5a2Wv2FKPBVs","reason":"tool-calls","snapshot":"5757190ae6b26bf2fa2e91e705b700e3584f3185","messageID":"msg_089a39ac6001iD5CPCBBPB6QtU","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":43585,"input":825,"output":52,"reasoning":84,"cache":{"write":0,"read":42624}},"cost":0}} +{"type":"step_start","timestamp":1789015604881,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a3be8d001H6G6uM0m5pw21a","messageID":"msg_089a3b379001AL246O1eeMTdKT","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"459d56265454d9119a7e12c0ff5d53ee873476b0","type":"step-start"}} +{"type":"tool_use","timestamp":1789015631746,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"bash","callID":"call_lNyZ6esz5uvjERwgkz0XJ0VU","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-5bd0e537bb0c4c4f43987ac1 --summary 'Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.' --artifact verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt --artifact campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json --artifact campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json --next-action 'Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.'","workdir":"/home/alex/sots-re"},"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n {\n \"path\": \"campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json\",\n \"sha256\": \"8bdaf42989c5946491d63833d9fe4c2e79c3a3024b6176fdd538f0693cf1e3a8\"\n },\n {\n \"path\": \"campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json\",\n \"sha256\": \"6b2f182b492dc484642fe2e45f60d5dd02a0deda34f841b48473c380876ada94\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"bbe83c0b7516313cc7cc27b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-5bd0e537bb0c4c4f43987ac1\",\n \"summary\": \"Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.\",\n \"timestamp\": \"2026-09-10T04:47:11.721030+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n {\n \"path\": \"campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json\",\n \"sha256\": \"8bdaf42989c5946491d63833d9fe4c2e79c3a3024b6176fdd538f0693cf1e3a8\"\n },\n {\n \"path\": \"campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json\",\n \"sha256\": \"6b2f182b492dc484642fe2e45f60d5dd02a0deda34f841b48473c380876ada94\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"bbe83c0b7516313cc7cc27b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-5bd0e537bb0c4c4f43987ac1\",\n \"summary\": \"Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.\",\n \"timestamp\": \"2026-09-10T04:47:11.721030+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-5bd0e537bb0c4c4f43987ac1 --summary 'Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.' --artifact verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt --artifact campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json --artifact campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json --next-action 'Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.'","time":{"start":1789015631678,"end":1789015631743}},"metadata":{"openai":{"itemId":"fc_05bdefdf601e20d0016aa2363802ec87d182cb0b73df310ea1"}},"id":"prt_089a3cb5b001ui9dgcfL1wU96n","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a3b379001AL246O1eeMTdKT"}} +{"type":"step_finish","timestamp":1789015631782,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a427a3001dBfEr28pLwy3ZY","reason":"tool-calls","snapshot":"6a3c692cd392bc580a3742e9320699542439ab0d","messageID":"msg_089a3b379001AL246O1eeMTdKT","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":46120,"input":2024,"output":766,"reasoning":66,"cache":{"write":0,"read":43264}},"cost":0}} +{"type":"step_start","timestamp":1789015634273,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a43159001IaeikxT1Lws8YU","messageID":"msg_089a427d8001DLb18B6PsKdfxw","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"612577622e82d0e9499a3cebf1f24a076d945317","type":"step-start"}} +{"type":"tool_use","timestamp":1789015640175,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"type":"tool","tool":"todowrite","callID":"call_ZZeOPHyTnVa6qRCilt8v5mKj","state":{"status":"completed","input":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"completed","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"completed","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"completed","priority":"high"}]},"output":"[\n {\n \"content\": \"Read campaign authority, contract, checkpoint, and open surprises\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce handoff evidence and run independent/held-out verification without implementation edits\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory canonical checkpoint with results and one exact next action\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read campaign authority, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify source, worktree, and resource identities; define verification falsifiers and branch/state requirements","status":"completed","priority":"high"},{"content":"Reproduce handoff evidence and run independent/held-out verification without implementation edits","status":"completed","priority":"high"},{"content":"Write mandatory canonical checkpoint with results and one exact next action","status":"completed","priority":"high"}],"truncated":false},"title":"0 todos","time":{"start":1789015640170,"end":1789015640172}},"metadata":{"openai":{"itemId":"fc_0cdf2f4eaac25529016aa236544d0c87d19c515738d253c834"}},"id":"prt_089a4397e001q2LKK34MjUpqAA","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","messageID":"msg_089a427d8001DLb18B6PsKdfxw"}} +{"type":"step_finish","timestamp":1789015640800,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a44add001iONa3gEQWB8mKq","reason":"tool-calls","snapshot":"31fb412f0c9b714bcbbfa638ff736cc47b036624","messageID":"msg_089a427d8001DLb18B6PsKdfxw","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":47461,"input":2112,"output":121,"reasoning":44,"cache":{"write":0,"read":45184}},"cost":0}} +{"type":"step_start","timestamp":1789015642529,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a4519e0013A8qWkBu1kForl","messageID":"msg_089a44b0f001KKi9xPBXvklZjp","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","snapshot":"0eb98f291b3af9368ba7be0f5e84c13b4d515ef3","type":"step-start"}} +{"type":"text","timestamp":1789015652098,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a458c900145b531T4n3nGTx","messageID":"msg_089a44b0f001KKi9xPBXvklZjp","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"text","text":"Verification quantum completed and stopped.\n\n- Source/worktree, binary, and objdump identities matched.\n- Reproduction ran 8 objdump commands; all executed successfully.\n- Result: **44/45 checks passed**.\n- Held-out boundary ablation failed: nested-copy stop `0x00779a20` truncates the instruction at `0x00779a1f`.\n- Capture manifest also contains a stale prior-session identifier.\n- No acceptance verdict or evidence promotion issued.\n- Contract is now **blocked**.\n\nOpen surprises:\n\n- `s-4f4fb5e8ee42ccff7e68efb5`\n- `s-d44b9f9e62272794d88bbed6`\n\nArtifacts:\n\n- `verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md`\n- Checkpoint: `campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json`\n\nExact next action: launch an authorized `openai/gpt-6-astra` resolver for both surprises before further capture or verification.","time":{"start":1789015644361,"end":1789015652095},"metadata":{"openai":{"itemId":"msg_072dcbeeee20ea62016aa2365c4f5c87d19828fe83a4d3d2e0","phase":"final_answer"}}}} +{"type":"step_finish","timestamp":1789015652157,"sessionID":"ses_f76609cacffehgocHJBjwwfpHi","part":{"id":"prt_089a4773a00159jpsc0o8SXGYy","reason":"stop","snapshot":"4e133e9df019663cb837e66ec44cf9b1cfd6fb2c","messageID":"msg_089a44b0f001KKi9xPBXvklZjp","sessionID":"ses_f76609cacffehgocHJBjwwfpHi","type":"step-finish","tokens":{"total":47922,"input":523,"output":251,"reasoning":44,"cache":{"write":0,"read":47104}},"cost":0}} diff --git a/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.stderr.log b/campaign/runtime/runs/run-5bd0e537bb0c4c4f43987ac1.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/campaign/runtime/runs/run-daefd1b77558f324ae730b27.json b/campaign/runtime/runs/run-daefd1b77558f324ae730b27.json new file mode 100644 index 0000000..f9a163b --- /dev/null +++ b/campaign/runtime/runs/run-daefd1b77558f324ae730b27.json @@ -0,0 +1,10369 @@ +{ + "actor": "research ABI surprise resolver", + "checkpoint": "campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json", + "checkpoint_session": "run-daefd1b77558f324ae730b27", + "command": [ + "opencode", + "run", + "--format", + "json", + "--model", + "openai/gpt-6-astra", + "--agent", + "sots-resolver", + "Start a FRESH bounded campaign quantum (40 steps). No delegation.\nRole=resolver; requested model=openai/gpt-6-astra; actor=research ABI surprise resolver; checkpoint session=run-daefd1b77558f324ae730b27.\nCanonical state root: /home/alex/sots-re\nContract: /home/alex/sots-re/campaign/contracts/research-completion-abi.json\nLatest checkpoint: campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\nEngine worktree: /tmp/opencode/sots-final-research-engine\nRE worktree: /tmp/opencode/sots-final-research-re\nRead canonical campaign/README.md, contract, latest checkpoint and open surprises before work. Verify source/worktree/resource identities. Only edit owned scope. Missing state means blocked. Do not commit, stage, push or mutate lab resources without explicit authority and a lease. Checkpoint every 20 tool calls or 15 minutes, before experiments, compaction and stopping; persist under canonical campaign/ using tools/campaign.py with the session above, exact model, actor and role. Include observations versus decisions, source identities, artifact paths, tests, blockers and ONE exact next action. Fresh checkpoint at quantum end is mandatory. Record a surprise and pause affected work if assumptions are falsified. RESOLUTION-ONLY: read evidence, record decisions/checkpoints; no implementation or architecture source edits. Do not rely on chat resume or automatic compaction." + ], + "completed_sessions": [ + "ses_f765b10e7ffefKGO8c1iyfK4iV" + ], + "config": { + "canonical_files": { + "campaign/agents/analyst.md": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952", + "campaign/agents/implementer.md": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91", + "campaign/agents/lab.md": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8", + "campaign/agents/lead.md": "8fcfe52be845ed98a172afb47ea888b19bb7bffa80f7b50ace58d2bb66924220", + "campaign/agents/resolver.md": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f", + "campaign/agents/verifier.md": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b", + "campaign/models.json": "00f959ff4ce16ba22f6befa7a9d495eb85d62d9e8001b1e1345eaae0e11b6e48", + "opencode.json": "027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99" + }, + "effective": { + "agent_sha256": "538b7262e3a21bba755e48cc1974eefb35bf710a5d23dde6d05fedb73250b7a0", + "sha256": "a1af2e7a400b316721b62a04182808806d2f1e774a248420663c627375e4984b" + }, + "expanded_prompt_sha256": "75226903f94e211868d70015e18e88cc3e3d338111743753bcd8a0f35e13e317", + "overlay": { + "agent": { + "sots-resolver": { + "model": "openai/gpt-6-astra", + "permission": { + "bash": { + "*": "deny", + "git -C * diff *": "allow", + "git -C * log *": "allow", + "git -C * rev-parse *": "allow", + "git -C * show *": "allow", + "git -C * status *": "allow", + "python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint *": "allow", + "python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve *": "allow", + "python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re status *": "allow", + "python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re surprise *": "allow", + "python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re validate *": "allow" + }, + "edit": { + "*": "deny", + "/home/alex/sots-re/campaign/contracts/*": "allow", + "/home/alex/sots-re/campaign/runtime/*": "allow" + }, + "external_directory": { + "*": "deny", + "/home/alex/sots-re": "allow", + "/home/alex/sots-re/*": "allow", + "/tmp/opencode/sots-final-research-engine": "allow", + "/tmp/opencode/sots-final-research-engine/*": "allow", + "/tmp/opencode/sots-final-research-re": "allow", + "/tmp/opencode/sots-final-research-re/*": "allow" + }, + "glob": "allow", + "grep": "allow", + "list": "allow", + "question": "deny", + "read": "allow", + "task": "deny" + }, + "prompt": "You are the SOTS resolver, running GPT-6 Astra. Read canonical RE AGENTS.md, campaign/README.md,\nthe surprise, affected contracts, checkpoints and raw evidence. First state the observation and\nits provenance. Check source/binary/input identity, positive execution and instrument neutrality\nbefore interpreting game behavior. Do not diagnose a stale build as a game mechanism.\n\nFor every affected claim record survives / qualified / overturned and exact domain. Name the\ncheapest discriminating experiment, revised scope/dependencies and affected evidence that must\nbe invalidated. Resolve through campaign controls with a durable Astra decision. Never silently\nwaive acceptance or treat untested inference as measurement. Leave blocked work blocked until\nthe decision supplies a valid next action. No autonomous lab mutation or nested delegation.\n\nCheckpoint every 20 calls/15min and before compaction, handoff or stop. Use short bounded sessions;\nthe repository carries decisions, not chat memory. Do not create another explanatory history in\nthe live board: link the actual decision and regenerate projections after integration.\n", + "steps": 40 + } + }, + "model": "openai/gpt-6-astra" + }, + "path": "/home/alex/sots-re/opencode.json", + "sha256": "027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99" + }, + "contract": "research-completion-abi", + "cwd": "/tmp/opencode/sots-final-research-re", + "ended_at": "2026-09-10T04:52:08.842722+00:00", + "error_events": 0, + "event_count": 73, + "id": "run-daefd1b77558f324ae730b27", + "log": "campaign/runtime/runs/run-daefd1b77558f324ae730b27.jsonl", + "malformed_events": 0, + "max_steps": 40, + "observed_model_status": "unavailable", + "observed_models": [], + "observed_sessions": [ + "ses_f765b10e7ffefKGO8c1iyfK4iV" + ], + "requested_model": "openai/gpt-6-astra", + "resolution_only": true, + "returncode": 0, + "role": "resolver", + "schema": "sots-run/1", + "source_after": { + "engine": { + "commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5" + }, + "CMakeLists.txt": { + "mode": 420, + "sha256": "6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed" + }, + "CMakePresets.json": { + "mode": 420, + "sha256": "fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0" + }, + "CONTRIBUTING.md": { + "mode": 420, + "sha256": "26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506" + }, + "LICENSE": { + "mode": 420, + "sha256": "eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858" + }, + "README.md": { + "mode": 420, + "sha256": "66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1" + }, + "cmake/toolchain-mingw-i686.cmake": { + "mode": 420, + "sha256": "231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b" + }, + "docs/A2-alliance-and-modcount.md": { + "mode": 420, + "sha256": "0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701" + }, + "docs/AC-predictions.md": { + "mode": 420, + "sha256": "ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda" + }, + "docs/B1.md": { + "mode": 420, + "sha256": "42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364" + }, + "docs/B2.md": { + "mode": 420, + "sha256": "87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8" + }, + "docs/B3.md": { + "mode": 420, + "sha256": "fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518" + }, + "docs/B4.md": { + "mode": 420, + "sha256": "22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d" + }, + "docs/B6-ship-construction.md": { + "mode": 420, + "sha256": "9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab" + }, + "docs/CB-capture.md": { + "mode": 420, + "sha256": "ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0" + }, + "docs/CB-predictions.md": { + "mode": 420, + "sha256": "ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f" + }, + "docs/E-events.md": { + "mode": 420, + "sha256": "de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201" + }, + "docs/EV-events.md": { + "mode": 420, + "sha256": "e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9" + }, + "docs/G-wire-schema.md": { + "mode": 420, + "sha256": "19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591" + }, + "docs/G3-civilian-growth.md": { + "mode": 420, + "sha256": "38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30" + }, + "docs/H-probes.md": { + "mode": 420, + "sha256": "f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f" + }, + "docs/L1-predictions.md": { + "mode": 420, + "sha256": "af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754" + }, + "docs/L2-predictions.md": { + "mode": 420, + "sha256": "18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460" + }, + "docs/L3-predictions.md": { + "mode": 420, + "sha256": "d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e" + }, + "docs/L4-ai-orders.md": { + "mode": 420, + "sha256": "b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835" + }, + "docs/L4-predictions.md": { + "mode": 420, + "sha256": "6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44" + }, + "docs/L5-live-verification.md": { + "mode": 420, + "sha256": "4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4" + }, + "docs/M-movefleet.md": { + "mode": 420, + "sha256": "718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426" + }, + "docs/M0.md": { + "mode": 420, + "sha256": "e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705" + }, + "docs/M1.md": { + "mode": 420, + "sha256": "e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704" + }, + "docs/M2.md": { + "mode": 420, + "sha256": "25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61" + }, + "docs/N-output-term.md": { + "mode": 420, + "sha256": "3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde" + }, + "docs/P-events-wiring.md": { + "mode": 420, + "sha256": "72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba" + }, + "docs/PAR-predictions.md": { + "mode": 420, + "sha256": "16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846" + }, + "docs/PL-players-residual.md": { + "mode": 420, + "sha256": "9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc" + }, + "docs/R-recapture.md": { + "mode": 420, + "sha256": "73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f" + }, + "docs/RB-predictions.md": { + "mode": 420, + "sha256": "c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7" + }, + "docs/S-standalone.md": { + "mode": 420, + "sha256": "8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e" + }, + "docs/SD-predictions.md": { + "mode": 420, + "sha256": "a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0" + }, + "docs/SV-script-objects.md": { + "mode": 420, + "sha256": "80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409" + }, + "docs/T-turn-driver.md": { + "mode": 420, + "sha256": "a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e" + }, + "docs/U-unlock.md": { + "mode": 420, + "sha256": "5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901" + }, + "docs/V-eventlive.md": { + "mode": 420, + "sha256": "ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1" + }, + "docs/W2-predictions.md": { + "mode": 420, + "sha256": "9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5" + }, + "docs/W2-watchpoints.md": { + "mode": 420, + "sha256": "f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107" + }, + "docs/W3-predictions.md": { + "mode": 420, + "sha256": "211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf" + }, + "docs/W3-watchpoints.md": { + "mode": 420, + "sha256": "568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061" + }, + "docs/Y-standalone-rng-and-tail.md": { + "mode": 420, + "sha256": "49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b" + }, + "docs/Z-tail-rng.md": { + "mode": 420, + "sha256": "3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1" + }, + "docs/architecture.md": { + "mode": 420, + "sha256": "ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f" + }, + "docs/game-data.md": { + "mode": 420, + "sha256": "2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23" + }, + "docs/game-design.md": { + "mode": 420, + "sha256": "5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272" + }, + "docs/game-effects.md": { + "mode": 420, + "sha256": "e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d" + }, + "docs/game-sim.md": { + "mode": 420, + "sha256": "d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e" + }, + "docs/harness-audit.md": { + "mode": 420, + "sha256": "931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0" + }, + "docs/mars-parse.md": { + "mode": 420, + "sha256": "d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd" + }, + "docs/mars-rng.md": { + "mode": 420, + "sha256": "f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c" + }, + "docs/mars-stream.md": { + "mode": 420, + "sha256": "61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7" + }, + "docs/mars-text.md": { + "mode": 420, + "sha256": "2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1" + }, + "docs/mars-vfs.md": { + "mode": 420, + "sha256": "1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62" + }, + "docs/shim-trace.md": { + "mode": 420, + "sha256": "8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5" + }, + "include/generated/sots_addresses.h": { + "mode": 420, + "sha256": "fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448" + }, + "include/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "opencode.json": { + "mode": 420, + "sha256": "9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15" + }, + "src/app/CMakeLists.txt": { + "mode": 420, + "sha256": "142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717" + }, + "src/app/alliance.cpp": { + "mode": 420, + "sha256": "37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9" + }, + "src/app/alliance.h": { + "mode": 420, + "sha256": "08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd" + }, + "src/app/command_replay.cpp": { + "mode": 420, + "sha256": "739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824" + }, + "src/app/command_replay.h": { + "mode": 420, + "sha256": "956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2" + }, + "src/app/construction_phase.cpp": { + "mode": 420, + "sha256": "025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df" + }, + "src/app/construction_phase.h": { + "mode": 420, + "sha256": "a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e" + }, + "src/app/event_phase.cpp": { + "mode": 420, + "sha256": "80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90" + }, + "src/app/event_phase.h": { + "mode": 420, + "sha256": "54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34" + }, + "src/app/growth_phase.cpp": { + "mode": 420, + "sha256": "5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3" + }, + "src/app/growth_phase.h": { + "mode": 420, + "sha256": "8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b" + }, + "src/app/main.cpp": { + "mode": 420, + "sha256": "adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7" + }, + "src/app/observed_phase.cpp": { + "mode": 420, + "sha256": "31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3" + }, + "src/app/observed_phase.h": { + "mode": 420, + "sha256": "f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693" + }, + "src/app/phase_catalog.cpp": { + "mode": 420, + "sha256": "e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316" + }, + "src/app/phase_catalog.h": { + "mode": 420, + "sha256": "da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87" + }, + "src/app/report.cpp": { + "mode": 420, + "sha256": "da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228" + }, + "src/app/report.h": { + "mode": 420, + "sha256": "0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481" + }, + "src/app/script_phase.cpp": { + "mode": 420, + "sha256": "61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91" + }, + "src/app/script_phase.h": { + "mode": 420, + "sha256": "e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7" + }, + "src/app/trade_raid.cpp": { + "mode": 420, + "sha256": "07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf" + }, + "src/app/trade_raid.h": { + "mode": 420, + "sha256": "10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52" + }, + "src/app/treaty.cpp": { + "mode": 420, + "sha256": "317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575" + }, + "src/app/treaty.h": { + "mode": 420, + "sha256": "836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9" + }, + "src/app/turn.cpp": { + "mode": 420, + "sha256": "a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4" + }, + "src/app/turn.h": { + "mode": 420, + "sha256": "85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237" + }, + "src/app/turn_record.cpp": { + "mode": 420, + "sha256": "e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d" + }, + "src/app/turn_record.h": { + "mode": 420, + "sha256": "78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d" + }, + "src/app/visibility_phase.cpp": { + "mode": 420, + "sha256": "34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131" + }, + "src/app/visibility_phase.h": { + "mode": 420, + "sha256": "60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27" + }, + "src/game/ai/CMakeLists.txt": { + "mode": 420, + "sha256": "f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb" + }, + "src/game/ai/agent.cpp": { + "mode": 420, + "sha256": "e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7" + }, + "src/game/ai/agent.h": { + "mode": 420, + "sha256": "48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244" + }, + "src/game/ai/apply_order.cpp": { + "mode": 420, + "sha256": "122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253" + }, + "src/game/ai/apply_order.h": { + "mode": 420, + "sha256": "a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3" + }, + "src/game/ai/command_capture.cpp": { + "mode": 420, + "sha256": "cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec" + }, + "src/game/ai/command_capture.h": { + "mode": 420, + "sha256": "921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f" + }, + "src/game/ai/orders.cpp": { + "mode": 420, + "sha256": "1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640" + }, + "src/game/ai/orders.h": { + "mode": 420, + "sha256": "c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae" + }, + "src/game/ai/tasks.cpp": { + "mode": 420, + "sha256": "b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76" + }, + "src/game/ai/tasks.h": { + "mode": 420, + "sha256": "b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d" + }, + "src/game/ai/turn_order.cpp": { + "mode": 420, + "sha256": "858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22" + }, + "src/game/ai/turn_order.h": { + "mode": 420, + "sha256": "3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f" + }, + "src/game/combat/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115" + }, + "src/game/combat/retreat.cpp": { + "mode": 420, + "sha256": "eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f" + }, + "src/game/combat/retreat.h": { + "mode": 420, + "sha256": "5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d" + }, + "src/game/config/CMakeLists.txt": { + "mode": 420, + "sha256": "c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7" + }, + "src/game/config/config_loader.cpp": { + "mode": 420, + "sha256": "d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1" + }, + "src/game/config/config_loader.h": { + "mode": 420, + "sha256": "fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085" + }, + "src/game/config/manifest_loader.cpp": { + "mode": 420, + "sha256": "dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6" + }, + "src/game/config/manifest_loader.h": { + "mode": 420, + "sha256": "68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5" + }, + "src/game/config/msvc_sort.h": { + "mode": 420, + "sha256": "17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716" + }, + "src/game/data/CMakeLists.txt": { + "mode": 420, + "sha256": "677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51" + }, + "src/game/data/block.cpp": { + "mode": 420, + "sha256": "f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200" + }, + "src/game/data/block.h": { + "mode": 420, + "sha256": "f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc" + }, + "src/game/data/catalog.cpp": { + "mode": 420, + "sha256": "7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc" + }, + "src/game/data/catalog.h": { + "mode": 420, + "sha256": "80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e" + }, + "src/game/data/common.cpp": { + "mode": 420, + "sha256": "e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040" + }, + "src/game/data/common.h": { + "mode": 420, + "sha256": "d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187" + }, + "src/game/data/fields.h": { + "mode": 420, + "sha256": "4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb" + }, + "src/game/data/shipsection.cpp": { + "mode": 420, + "sha256": "82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264" + }, + "src/game/data/shipsection.h": { + "mode": 420, + "sha256": "bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0" + }, + "src/game/data/strings.cpp": { + "mode": 420, + "sha256": "6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59" + }, + "src/game/data/strings.h": { + "mode": 420, + "sha256": "fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055" + }, + "src/game/data/techtree.cpp": { + "mode": 420, + "sha256": "2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea" + }, + "src/game/data/techtree.h": { + "mode": 420, + "sha256": "504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007" + }, + "src/game/data/turrets.cpp": { + "mode": 420, + "sha256": "ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4" + }, + "src/game/data/turrets.h": { + "mode": 420, + "sha256": "f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64" + }, + "src/game/data/weapon.cpp": { + "mode": 420, + "sha256": "accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6" + }, + "src/game/data/weapon.h": { + "mode": 420, + "sha256": "63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009" + }, + "src/game/design/CMakeLists.txt": { + "mode": 420, + "sha256": "42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef" + }, + "src/game/design/defaults.cpp": { + "mode": 420, + "sha256": "8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528" + }, + "src/game/design/defaults.h": { + "mode": 420, + "sha256": "20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b" + }, + "src/game/design/design.cpp": { + "mode": 420, + "sha256": "e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20" + }, + "src/game/design/design.h": { + "mode": 420, + "sha256": "7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997" + }, + "src/game/design/hull.cpp": { + "mode": 420, + "sha256": "554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a" + }, + "src/game/design/hull.h": { + "mode": 420, + "sha256": "997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461" + }, + "src/game/design/rules.cpp": { + "mode": 420, + "sha256": "a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319" + }, + "src/game/design/rules.h": { + "mode": 420, + "sha256": "70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229" + }, + "src/game/design/stats.cpp": { + "mode": 420, + "sha256": "c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54" + }, + "src/game/design/stats.h": { + "mode": 420, + "sha256": "ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5" + }, + "src/game/effects/CMakeLists.txt": { + "mode": 420, + "sha256": "2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89" + }, + "src/game/effects/tech_effects.cpp": { + "mode": 420, + "sha256": "40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604" + }, + "src/game/effects/tech_effects.h": { + "mode": 420, + "sha256": "ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6" + }, + "src/game/effects/tech_id.cpp": { + "mode": 420, + "sha256": "11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6" + }, + "src/game/effects/tech_id.h": { + "mode": 420, + "sha256": "f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86" + }, + "src/game/events/CMakeLists.txt": { + "mode": 420, + "sha256": "9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2" + }, + "src/game/events/event_log.cpp": { + "mode": 420, + "sha256": "3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1" + }, + "src/game/events/event_log.h": { + "mode": 420, + "sha256": "2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953" + }, + "src/game/events/research_events.cpp": { + "mode": 420, + "sha256": "9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253" + }, + "src/game/events/research_events.h": { + "mode": 420, + "sha256": "b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22" + }, + "src/game/nav/CMakeLists.txt": { + "mode": 420, + "sha256": "79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a" + }, + "src/game/nav/pathplan.cpp": { + "mode": 420, + "sha256": "04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775" + }, + "src/game/nav/pathplan.h": { + "mode": 420, + "sha256": "28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7" + }, + "src/game/sim/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116" + }, + "src/game/sim/colony.cpp": { + "mode": 420, + "sha256": "e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77" + }, + "src/game/sim/colony.h": { + "mode": 420, + "sha256": "357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47" + }, + "src/game/sim/construction.cpp": { + "mode": 420, + "sha256": "8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130" + }, + "src/game/sim/construction.h": { + "mode": 420, + "sha256": "a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460" + }, + "src/game/sim/economy.cpp": { + "mode": 420, + "sha256": "1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89" + }, + "src/game/sim/economy.h": { + "mode": 420, + "sha256": "6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a" + }, + "src/game/sim/movement.cpp": { + "mode": 420, + "sha256": "80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2" + }, + "src/game/sim/movement.h": { + "mode": 420, + "sha256": "9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441" + }, + "src/game/sim/numeric.h": { + "mode": 420, + "sha256": "88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2" + }, + "src/game/sim/observed.cpp": { + "mode": 420, + "sha256": "43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22" + }, + "src/game/sim/observed.h": { + "mode": 420, + "sha256": "0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f" + }, + "src/game/sim/player_turn.cpp": { + "mode": 420, + "sha256": "beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2" + }, + "src/game/sim/player_turn.h": { + "mode": 420, + "sha256": "f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a" + }, + "src/game/sim/research.cpp": { + "mode": 420, + "sha256": "95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89" + }, + "src/game/sim/research.h": { + "mode": 420, + "sha256": "e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9" + }, + "src/game/sim/rng.h": { + "mode": 420, + "sha256": "f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c" + }, + "src/game/sim/scriptobjects.cpp": { + "mode": 420, + "sha256": "a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2" + }, + "src/game/sim/scriptobjects.h": { + "mode": 420, + "sha256": "210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b" + }, + "src/game/sim/species.h": { + "mode": 420, + "sha256": "83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298" + }, + "src/game/sim/techgraph.cpp": { + "mode": 420, + "sha256": "81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8" + }, + "src/game/sim/techgraph.h": { + "mode": 420, + "sha256": "b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e" + }, + "src/game/sim/tuning.h": { + "mode": 420, + "sha256": "4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194" + }, + "src/game/sim/visibility.cpp": { + "mode": 420, + "sha256": "25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0" + }, + "src/game/sim/visibility.h": { + "mode": 420, + "sha256": "783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f" + }, + "src/mars/parse/CMakeLists.txt": { + "mode": 420, + "sha256": "76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9" + }, + "src/mars/parse/blocks.cpp": { + "mode": 420, + "sha256": "e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b" + }, + "src/mars/parse/blocks.h": { + "mode": 420, + "sha256": "1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1" + }, + "src/mars/parse/effect.cpp": { + "mode": 420, + "sha256": "beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9" + }, + "src/mars/parse/effect.h": { + "mode": 420, + "sha256": "aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44" + }, + "src/mars/parse/result.h": { + "mode": 420, + "sha256": "58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9" + }, + "src/mars/parse/script.h": { + "mode": 420, + "sha256": "69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3" + }, + "src/mars/parse/value.cpp": { + "mode": 420, + "sha256": "712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623" + }, + "src/mars/parse/value.h": { + "mode": 420, + "sha256": "60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38" + }, + "src/mars/rng/CMakeLists.txt": { + "mode": 420, + "sha256": "dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc" + }, + "src/mars/rng/mt19937.cpp": { + "mode": 420, + "sha256": "0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b" + }, + "src/mars/rng/mt19937.h": { + "mode": 420, + "sha256": "300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e" + }, + "src/mars/stream/CMakeLists.txt": { + "mode": 420, + "sha256": "95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a" + }, + "src/mars/stream/archive.h": { + "mode": 420, + "sha256": "84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e" + }, + "src/mars/stream/bytes.h": { + "mode": 420, + "sha256": "9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1" + }, + "src/mars/stream/dump.cpp": { + "mode": 420, + "sha256": "1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16" + }, + "src/mars/stream/dump.h": { + "mode": 420, + "sha256": "a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f" + }, + "src/mars/stream/gzip.cpp": { + "mode": 420, + "sha256": "20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644" + }, + "src/mars/stream/gzip.h": { + "mode": 420, + "sha256": "6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9" + }, + "src/mars/stream/node.h": { + "mode": 420, + "sha256": "eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860" + }, + "src/mars/stream/probe.h": { + "mode": 420, + "sha256": "6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13" + }, + "src/mars/stream/reader.cpp": { + "mode": 420, + "sha256": "90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3" + }, + "src/mars/stream/reader.h": { + "mode": 420, + "sha256": "900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4" + }, + "src/mars/stream/save.cpp": { + "mode": 420, + "sha256": "6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049" + }, + "src/mars/stream/save.h": { + "mode": 420, + "sha256": "b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469" + }, + "src/mars/stream/savedump_main.cpp": { + "mode": 420, + "sha256": "8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c" + }, + "src/mars/stream/schema.h": { + "mode": 420, + "sha256": "b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05" + }, + "src/mars/stream/shapes.h": { + "mode": 420, + "sha256": "45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d" + }, + "src/mars/stream/writer.cpp": { + "mode": 420, + "sha256": "54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083" + }, + "src/mars/stream/writer.h": { + "mode": 420, + "sha256": "921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340" + }, + "src/mars/text/CMakeLists.txt": { + "mode": 420, + "sha256": "dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436" + }, + "src/mars/text/csv.cpp": { + "mode": 420, + "sha256": "b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af" + }, + "src/mars/text/csv.h": { + "mode": 420, + "sha256": "3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917" + }, + "src/mars/text/flat_kv.cpp": { + "mode": 420, + "sha256": "b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47" + }, + "src/mars/text/flat_kv.h": { + "mode": 420, + "sha256": "d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292" + }, + "src/mars/text/lines.h": { + "mode": 420, + "sha256": "b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65" + }, + "src/mars/text/manifest.cpp": { + "mode": 420, + "sha256": "4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e" + }, + "src/mars/text/manifest.h": { + "mode": 420, + "sha256": "dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102" + }, + "src/mars/text/result.h": { + "mode": 420, + "sha256": "7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606" + }, + "src/mars/text/value.cpp": { + "mode": 420, + "sha256": "94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479" + }, + "src/mars/text/value.h": { + "mode": 420, + "sha256": "d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07" + }, + "src/mars/vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786" + }, + "src/mars/vfs/path.cpp": { + "mode": 420, + "sha256": "e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb" + }, + "src/mars/vfs/path.h": { + "mode": 420, + "sha256": "043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033" + }, + "src/mars/vfs/result.h": { + "mode": 420, + "sha256": "19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748" + }, + "src/mars/vfs/vfs.cpp": { + "mode": 420, + "sha256": "ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba" + }, + "src/mars/vfs/vfs.h": { + "mode": 420, + "sha256": "2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90" + }, + "src/mars/vfs/zip_archive.cpp": { + "mode": 420, + "sha256": "d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87" + }, + "src/mars/vfs/zip_archive.h": { + "mode": 420, + "sha256": "0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d" + }, + "src/shim/binkw32.def": { + "mode": 420, + "sha256": "fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235" + }, + "src/shim/fpu_force.cpp": { + "mode": 420, + "sha256": "c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d" + }, + "src/shim/fpu_force.h": { + "mode": 420, + "sha256": "75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06" + }, + "src/shim/hooks/ai_orders.cpp": { + "mode": 420, + "sha256": "091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434" + }, + "src/shim/hooks/ai_orders.h": { + "mode": 420, + "sha256": "6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053" + }, + "src/shim/hooks/ai_rng.cpp": { + "mode": 420, + "sha256": "b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289" + }, + "src/shim/hooks/ai_rng.h": { + "mode": 420, + "sha256": "1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08" + }, + "src/shim/hooks/ai_visit.cpp": { + "mode": 420, + "sha256": "cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31" + }, + "src/shim/hooks/ai_visit.h": { + "mode": 420, + "sha256": "8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189" + }, + "src/shim/hooks/budget_inputs.cpp": { + "mode": 420, + "sha256": "fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b" + }, + "src/shim/hooks/budget_inputs.h": { + "mode": 420, + "sha256": "56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548" + }, + "src/shim/hooks/colony_inputs.cpp": { + "mode": 420, + "sha256": "7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e" + }, + "src/shim/hooks/colony_inputs.h": { + "mode": 420, + "sha256": "87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9" + }, + "src/shim/hooks/colony_turn.cpp": { + "mode": 420, + "sha256": "b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420" + }, + "src/shim/hooks/colony_turn.h": { + "mode": 420, + "sha256": "a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6" + }, + "src/shim/hooks/compute_budget.cpp": { + "mode": 420, + "sha256": "76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906" + }, + "src/shim/hooks/compute_budget.h": { + "mode": 420, + "sha256": "f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa" + }, + "src/shim/hooks/dictionaries.cpp": { + "mode": 420, + "sha256": "b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b" + }, + "src/shim/hooks/dictionaries.h": { + "mode": 420, + "sha256": "ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0" + }, + "src/shim/hooks/draw_sites.cpp": { + "mode": 420, + "sha256": "e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79" + }, + "src/shim/hooks/draw_sites.h": { + "mode": 420, + "sha256": "0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13" + }, + "src/shim/hooks/event_inputs.cpp": { + "mode": 420, + "sha256": "eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b" + }, + "src/shim/hooks/event_inputs.h": { + "mode": 420, + "sha256": "c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731" + }, + "src/shim/hooks/fleet_movement.cpp": { + "mode": 420, + "sha256": "f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0" + }, + "src/shim/hooks/fleet_movement.h": { + "mode": 420, + "sha256": "dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af" + }, + "src/shim/hooks/global_consts.cpp": { + "mode": 420, + "sha256": "87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1" + }, + "src/shim/hooks/global_consts.h": { + "mode": 420, + "sha256": "b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265" + }, + "src/shim/hooks/movement_inputs.cpp": { + "mode": 420, + "sha256": "0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502" + }, + "src/shim/hooks/movement_inputs.h": { + "mode": 420, + "sha256": "32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a" + }, + "src/shim/hooks/player_turn.cpp": { + "mode": 420, + "sha256": "33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23" + }, + "src/shim/hooks/player_turn.h": { + "mode": 420, + "sha256": "a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0" + }, + "src/shim/hooks/player_turn_inputs.cpp": { + "mode": 420, + "sha256": "993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799" + }, + "src/shim/hooks/player_turn_inputs.h": { + "mode": 420, + "sha256": "ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71" + }, + "src/shim/hooks/probe_entry.cpp": { + "mode": 420, + "sha256": "5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506" + }, + "src/shim/hooks/probe_entry.h": { + "mode": 420, + "sha256": "f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f" + }, + "src/shim/hooks/research.cpp": { + "mode": 420, + "sha256": "dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83" + }, + "src/shim/hooks/research.h": { + "mode": 420, + "sha256": "a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84" + }, + "src/shim/hooks/rng_ledger.cpp": { + "mode": 420, + "sha256": "119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb" + }, + "src/shim/hooks/rng_ledger.h": { + "mode": 420, + "sha256": "0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30" + }, + "src/shim/hooks/system_output.cpp": { + "mode": 420, + "sha256": "93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4" + }, + "src/shim/hooks/system_output.h": { + "mode": 420, + "sha256": "62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738" + }, + "src/shim/hooks/tail_rng.cpp": { + "mode": 420, + "sha256": "9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07" + }, + "src/shim/hooks/tail_rng.h": { + "mode": 420, + "sha256": "b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b" + }, + "src/shim/hooks/tech_effect_fields.cpp": { + "mode": 420, + "sha256": "4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3" + }, + "src/shim/hooks/tech_effect_fields.h": { + "mode": 420, + "sha256": "22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420" + }, + "src/shim/hooks/tech_effects.cpp": { + "mode": 420, + "sha256": "2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714" + }, + "src/shim/hooks/tech_effects.h": { + "mode": 420, + "sha256": "ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320" + }, + "src/shim/hooks/watchpoints.cpp": { + "mode": 420, + "sha256": "15c94333f22bb592129efe3fb800ea89987045f9ebbc0e6791d4397961fd727d" + }, + "src/shim/hooks/watchpoints.h": { + "mode": 420, + "sha256": "639ae42b230fb31762f50cac0422dcd5b7fda7a1a02c7739a86d1cd6eda62277" + }, + "src/shim/main.cpp": { + "mode": 420, + "sha256": "eebdac7f8f69b8b95cd290c96d41c6f3f0ed5c45ccd5de54ffc790af47083b99" + }, + "src/shim/shim.cfg": { + "mode": 420, + "sha256": "44ca58394455549150c3461cc888128a968b4f062807e19ef25b8eebf0bfd523" + }, + "src/shim/shim.cfg.b4compare": { + "mode": 420, + "sha256": "68bed5883a75132eb5e885b4750d23c1d5734c843a32a56dc7f96d2b73fdf962" + }, + "src/shim/shim.cfg.b4scout": { + "mode": 420, + "sha256": "faac0765478d88b63f371fbc307512e71fe05f2e6f97272e6e0ceb267cc6d626" + }, + "src/shim/shim.cfg.b4trace": { + "mode": 420, + "sha256": "6a89cdd3cfdf53cfbaff29278fd5d0edf156ad8a525c61624b60ddb1eb0575a1" + }, + "src/shim/shim.cfg.bupin": { + "mode": 420, + "sha256": "39d52ef1ccb18d4dea261b87d3f363ba45079022d1b9bc3531c552ef6df80ec2" + }, + "src/shim/shim.cfg.cbcapture": { + "mode": 420, + "sha256": "0939b1ea144976ded2d45ad885fa0f1ffa3d77f16cba9b4d5a9cb87623500a62" + }, + "src/shim/shim.cfg.cboff": { + "mode": 420, + "sha256": "7d5d6e2ceb7f86fd17543c9212e8547be6009f725871aadbaf6057af1f4f5484" + }, + "src/shim/shim.cfg.cbpin": { + "mode": 420, + "sha256": "72a222c025796458dc1a538eed3ea55f053ee5e3c01e5b19b802922a058d4fbe" + }, + "src/shim/shim.cfg.cbtrap": { + "mode": 420, + "sha256": "938c0893b95b576b75927d75787999c22b3424d28c8936456ea3723f62775e51" + }, + "src/shim/shim.cfg.crcompare": { + "mode": 420, + "sha256": "129031ceb358fef9e0fcee2fb42a0f20fd76d9db78f061f956bf75ce2cc51dec" + }, + "src/shim/shim.cfg.croff": { + "mode": 420, + "sha256": "f99345e7db55e695ecabf7a00fc16ced9a42e8882abfeabc8281b9a4ef26d730" + }, + "src/shim/shim.cfg.crreplace0": { + "mode": 420, + "sha256": "60c13bd76e546b4521ab4e6a7836439078e2a176a11e471e03434623153cb7d9" + }, + "src/shim/shim.cfg.crreplace1": { + "mode": 420, + "sha256": "d27f43eb970d6a9c8a0c8d8f7071633a226c34b675a6581b331c6e1ba6f36c9b" + }, + "src/shim/shim.cfg.fpu007f": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "src/shim/shim.cfg.fpu027f": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "src/shim/shim.cfg.fpu127f": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "src/shim/shim.cfg.fpu137f": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "src/shim/shim.cfg.fpu1a7f": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "src/shim/shim.cfg.fpuoff": { + "mode": 420, + "sha256": "ce637b3f0eca81c04490335cd9fe8a537cd09e5ef14cc5b3050f548ca4d54c65" + }, + "src/shim/shim.cfg.hoff": { + "mode": 420, + "sha256": "dc9b4619fe84921ea5896c2cd190afb5bd4ca89422fb86bfee8459665f92cd7a" + }, + "src/shim/shim.cfg.hp0": { + "mode": 420, + "sha256": "ede723fc540adb94bf16af0f3086c1935aac008acb6a8d550e2a4e97ff232c2c" + }, + "src/shim/shim.cfg.hp10": { + "mode": 420, + "sha256": "1c1f07dfdb7f99d63ed9a62aa9a447efda690623164beeaf434c588e02ef12cd" + }, + "src/shim/shim.cfg.hp11": { + "mode": 420, + "sha256": "36eae0d554a79b9536e3c57d2fef187ae81bd3266947c7f45035be554fb59404" + }, + "src/shim/shim.cfg.hp4": { + "mode": 420, + "sha256": "5bb0d636247c37def9b5cbf0cc9138b13590a50ae8212890fb7d31dfb9e837f4" + }, + "src/shim/shim.cfg.hp8": { + "mode": 420, + "sha256": "a8fe5f16a299b2b9eb81a811c7ec5a3b1baf635fa179a69f1e23243c7d1e2133" + }, + "src/shim/shim.cfg.hp9": { + "mode": 420, + "sha256": "765fdf337bb6942dbd1357166646dbf7fde3777678a606c4dbfd368078f09b5d" + }, + "src/shim/shim.cfg.hpall": { + "mode": 420, + "sha256": "630f99725ea6aa933984f4c545634d127787672de36f6756da2591e22a36f366" + }, + "src/shim/shim.cfg.hprobes": { + "mode": 420, + "sha256": "3bad5e3e7bf35a85acc7169d27531788e9659dbe0f8b1a0c719777fdb6beb5dc" + }, + "src/shim/shim.cfg.hprobes2": { + "mode": 420, + "sha256": "c335f1ec8aeff1165213cd40adcdcd59893c65edf95b1537fc4460e6060911c5" + }, + "src/shim/shim.cfg.l1control": { + "mode": 420, + "sha256": "c5dec81556268795b9a3df175bafde340a3fe76c7d6e05389e09e79d2b138b43" + }, + "src/shim/shim.cfg.l1hive": { + "mode": 420, + "sha256": "970ce465f2363f391a93086f1b596e904265510e02e7d2d38174cc6ea22d9b25" + }, + "src/shim/shim.cfg.l1off": { + "mode": 420, + "sha256": "a4197233c65acb876328666cf37754aea96f942b6ea08105bdfb61d6d5bcbd64" + }, + "src/shim/shim.cfg.l1seed": { + "mode": 420, + "sha256": "360af979eaa0c13eaa4db38ff13dcc64b3e2ab538300c26497921301fd3817b9" + }, + "src/shim/shim.cfg.l1snlv": { + "mode": 420, + "sha256": "3603508983a87906ecce02e4c2e9581cf2fa59390af25335f0b221765c57ef6d" + }, + "src/shim/shim.cfg.l3cont": { + "mode": 420, + "sha256": "629530a34412ebf85fc8ce8d2e5931684eea9891b6b619419e6f8db8c37f0976" + }, + "src/shim/shim.cfg.l3control": { + "mode": 420, + "sha256": "42b6ec7ebc9c83dae4a58884803f627d54956eb308611ce1e8d3691a12a74ccb" + }, + "src/shim/shim.cfg.l3probe": { + "mode": 420, + "sha256": "692dabb6f00343bfcc2f86d62ade827c295acc4630a18a1f2ddcebd53640978d" + }, + "src/shim/shim.cfg.l4control": { + "mode": 420, + "sha256": "ab13b7e3604ee98e9372e3405e0eacb6d5965e02d5317cfee0ea9b9afbd750e3" + }, + "src/shim/shim.cfg.l4dump": { + "mode": 420, + "sha256": "fb40d67d8d7dca4587a1dc13a95826ab68eb3fcf44feb6006388935f3ee346f2" + }, + "src/shim/shim.cfg.l4off": { + "mode": 420, + "sha256": "629a3e41d11daa53325f31aeb77d14d5abe67058e274d36ed8feb71e2e30dc13" + }, + "src/shim/shim.cfg.l4probes": { + "mode": 420, + "sha256": "a446ff3d6117d5352ad9b3c3c02f6d6300ce0b1089f055925afe19b77f0a20f3" + }, + "src/shim/shim.cfg.l4research": { + "mode": 420, + "sha256": "ad400f7082680db82c6fb0d39eed488710e6661f9e3215b9ea2eb0ba53444b9b" + }, + "src/shim/shim.cfg.l5budget": { + "mode": 420, + "sha256": "74df0fa1bd14fec6e8028ba05c516f3a370ba389386e5a8459d594c2c7ad83ae" + }, + "src/shim/shim.cfg.l5control": { + "mode": 420, + "sha256": "3557f716dde348a98fda65a5bad54911fe6d52f75c2cf6a82cc5d4fc47a6e968" + }, + "src/shim/shim.cfg.output": { + "mode": 420, + "sha256": "a811cffac230a1d6c0f9c5adacb1b691ae289ec08de0da3726309a4e1213acb0" + }, + "src/shim/shim.cfg.parbr": { + "mode": 420, + "sha256": "ea8230b596e7baae0c127f5700391ec2c96d546daba8c70ce8b2800c83b096dd" + }, + "src/shim/shim.cfg.parctl": { + "mode": 420, + "sha256": "2d1190d032bb705030746197020c715f4ab8af551f944e9ec0abe136912ea60d" + }, + "src/shim/shim.cfg.parorders": { + "mode": 420, + "sha256": "2107be5ec950e69d01c43ab30919fbfe652823878f150111b158927bc41de8d6" + }, + "src/shim/shim.cfg.parpin": { + "mode": 420, + "sha256": "893f1f81cdef0a964145ebb1c4b1e2725af8868b14fed412d40e3cce71f824f4" + }, + "src/shim/shim.cfg.recapb1": { + "mode": 420, + "sha256": "688840567305218dada122b29284f6af44c3c63ca173db87406de159bb547c8f" + }, + "src/shim/shim.cfg.recapb3": { + "mode": 420, + "sha256": "2120646255bd70adf29ed2880daa6b11d0867b9cfc9f1c9644d63b92c263b69b" + }, + "src/shim/shim.cfg.recapmisc": { + "mode": 420, + "sha256": "cb1f794c51b5d3d74eb91cc084c96a04444cd79f22fc694d821b51924544f595" + }, + "src/shim/shim.cfg.recaptrace": { + "mode": 420, + "sha256": "0ae410cc72fe155837d711c78543e14b1f5743310cd023298eb1e5bbd5457e71" + }, + "src/shim/shim.cfg.sdbr": { + "mode": 420, + "sha256": "7cb2bfd798ed1286628f3a879606eff076c4f6011d95e1223376eb4d0a392ca8" + }, + "src/shim/shim.cfg.sdoff": { + "mode": 420, + "sha256": "9195aeddeb2caa4e3db7dfd775c43e96eb99cfdc59a6a61e65d86fb325f0054a" + }, + "src/shim/shim.cfg.sdpin": { + "mode": 420, + "sha256": "61119f197b1dc8ddcad059d2d2c2753dae457b4bda4eb29e06c78282eeda6a0b" + }, + "src/shim/shim.cfg.sdpin2": { + "mode": 420, + "sha256": "d6d7f82b500df4f3ed120b4ff421178cf4373a145fa803e57d22a0654e4f0f63" + }, + "src/shim/shim.cfg.tturn": { + "mode": 420, + "sha256": "2ab2d64288043c3c55fde668facde9307c0739e0c801c900790e11db57c5759b" + }, + "src/shim/shim.cfg.tturncmp": { + "mode": 420, + "sha256": "114d325ae3ece29422069ee74c790603abb38c49162dd32520a3eecd18ab6061" + }, + "src/shim/shim.cfg.w2control": { + "mode": 420, + "sha256": "d042c0082a8eb4f55b8e21983df292f0950adc4ac5787d4a0b83088c10c5a3eb" + }, + "src/shim/shim.cfg.w2watch": { + "mode": 420, + "sha256": "ddb9c18a1c6b6c23758e51ca9ac18b4b95abe206b162497adc2978c0384d6ee5" + }, + "src/shim/shim.cfg.w3control": { + "mode": 420, + "sha256": "c6a3a5ea1e39a0714dffee0e44a0e8d91a2b450534d7e4377273a55b3e87de8c" + }, + "src/shim/shim.cfg.w3mod": { + "mode": 420, + "sha256": "7c7f82aaa8b5b007a740324373060ca2ba84edc765eb4e7ce55afcaba4e1c2e0" + }, + "src/shim/shim.cfg.w3tshn": { + "mode": 420, + "sha256": "51fa826d0b18d6f01987d6748e6610847ec3a761257ffc382a40d234670afec3" + }, + "src/shim/shim.cfg.zledger": { + "mode": 420, + "sha256": "31d0535aff9660eb1ad06f529c88a42aa71b83b36f8404b7541a29327c508a51" + }, + "src/shim/trace/emitter.cpp": { + "mode": 420, + "sha256": "4253cac49f0761e487fd555c3c01e02fa22e2010789ad3af37c62c8fd2e02030" + }, + "src/shim/trace/emitter.h": { + "mode": 420, + "sha256": "aa7804614b3d3a214d5c32c33ed245ae24276979080baa9d5481d6594ee3f79d" + }, + "src/shim/trace/hook.h": { + "mode": 420, + "sha256": "35be73ac1c9519664957ffea639d873e8a811b4620f0feecb21b54ea2776f800" + }, + "src/shim/trace/platform.h": { + "mode": 420, + "sha256": "f1b78d971798e45998b26c6b0e20db49fceb7d4c63f0c8c37452c6c2c6df9538" + }, + "src/shim/trace/selftest.cpp": { + "mode": 420, + "sha256": "31461ae6d329a8a3856589b245f3bcf8631f0db9a5e00530e4f94279950de354" + }, + "src/shim/trace/selftest.h": { + "mode": 420, + "sha256": "583d7a10ef04254c7a0fb7dd2a6071ad012a9a97dfae0896bbd598970b206475" + }, + "src/shim/trace/sha256.cpp": { + "mode": 420, + "sha256": "2faf44b5b273612c776204c1d83e0910d86394f4f6207129a01c81dedc170aa8" + }, + "src/shim/trace/sha256.h": { + "mode": 420, + "sha256": "31ce080acdc086ff7657d9093ac9bea438203eaa8e392ca38539152cdd15038f" + }, + "src/shim/trace/tracer.cpp": { + "mode": 420, + "sha256": "37d9490dbdedc399ecdb30f46eb27f31a4ff8c902eadb2eb48ecca7fb0e8fb88" + }, + "src/shim/trace/tracer.h": { + "mode": 420, + "sha256": "cbb80f167b8f98777f9fb58ce107226f42027ffdbd868a6808047c48caf10f76" + }, + "tests/addr_smoke.cpp": { + "mode": 420, + "sha256": "ace1ab9549bb6f3e0048d0e6e3ec6061035395581b2db46c0a5acb097c428890" + }, + "tests/app/CMakeLists.txt": { + "mode": 420, + "sha256": "dd18f8e25d2a9ce988dc226e03c7c6e02a275bbbea74f505d005e42ca5972037" + }, + "tests/app/test_alliance.cpp": { + "mode": 420, + "sha256": "671b2cb3295f360c61ee87005287999710d12e10e7e532331c1c946ab97f7c4d" + }, + "tests/app/test_catalog.cpp": { + "mode": 420, + "sha256": "c4cd9840c1f1b5d5a6829f7f1c5a0245b5e66135d3bed6410a2b6eca1a037225" + }, + "tests/app/test_command_replay.cpp": { + "mode": 420, + "sha256": "739ebeea5bed551f232774bc812bcb794cfa057015fd187529fa563b5d7ae5eb" + }, + "tests/app/test_event_phase.cpp": { + "mode": 420, + "sha256": "05498df256759fe5b8af80e9e56c2ca071eb26de0651f257798fe1641da627ca" + }, + "tests/app/test_trade_raid.cpp": { + "mode": 420, + "sha256": "2158008bc711b8062381f346fa347a430582d8d1943b0de5f40eb2a38e9a3f75" + }, + "tests/app/test_treaty.cpp": { + "mode": 420, + "sha256": "0f98150a3f9397fd12109eae7359ff7e04a4060e10e01ecf1693eb2a4606ead7" + }, + "tests/app/test_turn.cpp": { + "mode": 420, + "sha256": "6d45b1d2d065528f14ae83d95314f2b6559e53cc23f1b9e2531c7c09b4b97eab" + }, + "tests/app/test_turn_record.cpp": { + "mode": 420, + "sha256": "a845971b8d25d71c3b1138495354ad392e4fc298f87eb9b89d1567c01ab59cde" + }, + "tests/game_ai/CMakeLists.txt": { + "mode": 420, + "sha256": "a57a82d0c79ff933564e200a5b3137f120e70a19834264eeb2438c4cafd7ad3e" + }, + "tests/game_ai/test_agent.cpp": { + "mode": 420, + "sha256": "41cb3fbfc7e0b277771a2e8dd17601285a1e3a911543fc1335ce05a4e4b5f11c" + }, + "tests/game_ai/test_apply_order.cpp": { + "mode": 420, + "sha256": "8669c2e9a4c95b670a9c41262c68ce183d3cf3900bc262e0a2e33500bfffc594" + }, + "tests/game_ai/test_command_capture.cpp": { + "mode": 420, + "sha256": "8c2bae38754b347beeefe85d796c13bcf43cf5bc9bc99eb743626028b4dbd7ab" + }, + "tests/game_ai/test_live_blocks.cpp": { + "mode": 420, + "sha256": "44cb6bd8b34c13e329f9b1d50bb2a5c5513e52761537dccfb01afb7d48be7580" + }, + "tests/game_ai/test_orders.cpp": { + "mode": 420, + "sha256": "b13d1a3a628de411abb4faf024a1ce8d3e94518f12285bb3d7e7e86b012ad43f" + }, + "tests/game_ai/test_tasks.cpp": { + "mode": 420, + "sha256": "ffd8eed7fa76a24616d579a4e31031dadf43a0534e33743fb104dfca552367fc" + }, + "tests/game_ai/test_turn_order.cpp": { + "mode": 420, + "sha256": "382d6a30e9151c57849595cb134b8e2da25d2763738c9cbfa18d3cad51ecce97" + }, + "tests/game_combat/CMakeLists.txt": { + "mode": 420, + "sha256": "fd0c0dfb54033353b7014e3c764c916522cb529b6b3eae8a8d52afd044c13fe2" + }, + "tests/game_combat/test_retreat.cpp": { + "mode": 420, + "sha256": "3fb0be08d230bbd7c4ea4a59319de7ab252e5b7cbee924afd069847da8dcf73d" + }, + "tests/game_config/CMakeLists.txt": { + "mode": 420, + "sha256": "9874822d186e783f25b2dcd87495e7e380d873b8a0790c67fffb9430468094ed" + }, + "tests/game_config/manifest_tests.cpp": { + "mode": 420, + "sha256": "3bc62e7e49699254151a825421973d831b25bcf7a22028c789e3ca63b0d77319" + }, + "tests/game_config/replay_trace.cpp": { + "mode": 420, + "sha256": "83602ec974b8195c3616230ad44c2d4fd6032f8ef5f96e7aa76d49a0a04ac05e" + }, + "tests/game_config/unit_tests.cpp": { + "mode": 420, + "sha256": "45b07c7289abac61fccd0a6cd0ff87812542ec888eb6d295fb87c3f57755cc6a" + }, + "tests/game_data/CMakeLists.txt": { + "mode": 420, + "sha256": "cb8cffb7217e82077d3db749dcacf29c098549159cc0f312ef04bfccaa30155d" + }, + "tests/game_data/build_and_run.sh": { + "mode": 493, + "sha256": "69ea9cb94468c56c329fcc5b9350431067e97091ed47c08bb10b57b38412883a" + }, + "tests/game_data/dump_catalog.cpp": { + "mode": 420, + "sha256": "4588e699c69586dfb77f0d9289e375407d4f9cf019690e26bfc78f7182167c89" + }, + "tests/game_data/oracle/compare.py": { + "mode": 420, + "sha256": "2cfe1ac93790de3351256d284392372721f94de5375686e6301ef39b1943ad12" + }, + "tests/game_data/realdata_test.cpp": { + "mode": 420, + "sha256": "334a924bf81c6ce6192a6688435b374e115382358f7e4554aa164295bdd38321" + }, + "tests/game_data/test_catalog.cpp": { + "mode": 420, + "sha256": "9ea5c3fff2388c5d7fbf295123dfd7b702ef21f17fc7c45a970822814abfce2e" + }, + "tests/game_data/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_data/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_data/test_shipsection.cpp": { + "mode": 420, + "sha256": "b3519f0de60d061a6f1ab8ee81d470a28fc17cc81b113639ef2c1e139c249b4c" + }, + "tests/game_data/test_techtree.cpp": { + "mode": 420, + "sha256": "d05c889da9edb622bd2b66aa8e300d8162e0c8788950daa1086fc049b90dd4bc" + }, + "tests/game_data/test_turrets.cpp": { + "mode": 420, + "sha256": "66adff30b974e9bf2c96c1af024fb85677e1a8307c801933d23f3d2ec9d8222c" + }, + "tests/game_data/test_weapon.cpp": { + "mode": 420, + "sha256": "b16b0481c0a8697ff16e39c9feb3ad9d5406250b7dd1c828bf12f1bb40ed746b" + }, + "tests/game_design/CMakeLists.txt": { + "mode": 420, + "sha256": "a26524ff14878564870853bc067c379d2ebd26c14e45bcbb06593d300ee4b3ca" + }, + "tests/game_design/build_and_run.sh": { + "mode": 493, + "sha256": "b1aab4d13b09fb1ea4205978bd7d8b05af5a6422ebe4a34261c3247489b48bd7" + }, + "tests/game_design/dump_designs.cpp": { + "mode": 420, + "sha256": "b1b24c5cb534ad821a20325869713c04b742c541c448ade83543d75608f7eda2" + }, + "tests/game_design/json_min.h": { + "mode": 420, + "sha256": "9cfd3eabe9b36d6b2863872e08fe6ebaddf0749d1966dea693f8bbc0472780ac" + }, + "tests/game_design/mini_catalog.cpp": { + "mode": 420, + "sha256": "5817c0251883c999c6ebd54c77fdcf3981181b41fb5f7637d445824d60942810" + }, + "tests/game_design/mini_catalog.h": { + "mode": 420, + "sha256": "ecb7fd0dffa8709008bcdf9b9da3e70e68f735f9b5ecd0dcb4c871a35ae43b59" + }, + "tests/game_design/oracle/compare.py": { + "mode": 420, + "sha256": "2db14952f7fca9a587995e326651b0d549b39ceefd9c0ac59982cd35ae5d21e7" + }, + "tests/game_design/realdata_test.cpp": { + "mode": 420, + "sha256": "cea57cd53d881b3bf2557cc32ea402c4991aa6de5ff72340861f195a8e20c141" + }, + "tests/game_design/stock_designs.cpp": { + "mode": 420, + "sha256": "2ac1b8bcb0f61852f4bc0a8b7cda51167531ca2a05d1e485991a4758cf586d03" + }, + "tests/game_design/stock_designs.h": { + "mode": 420, + "sha256": "a49173bde083467f5650cfbfbaebba5f16208d660fe7f2f3da81c2caff07c807" + }, + "tests/game_design/test_banks.cpp": { + "mode": 420, + "sha256": "c1d34991c53523cb7610a569e861e8a312da1fe659de0522a3594fb14cad24a6" + }, + "tests/game_design/test_census_saves.cpp": { + "mode": 420, + "sha256": "814c17c7a14db7b123579b7636ee7f2b720fdf4a5cbbe90f676dc01709c45e3b" + }, + "tests/game_design/test_hull.cpp": { + "mode": 420, + "sha256": "cff70268d58ab95ed963d335904110ab55c79d6a0f660f613409cf6d5d63e2bd" + }, + "tests/game_design/test_json.cpp": { + "mode": 420, + "sha256": "e7fa196274a4591834a974f742ff59c7ed1fb15fb138091b48a071354d001c5d" + }, + "tests/game_design/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_design/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_design/test_stats.cpp": { + "mode": 420, + "sha256": "a3681df901095b848cc6b1ae63d04fd70eeeadd406e7d51f3c76671cbf523a7a" + }, + "tests/game_design/test_structure.cpp": { + "mode": 420, + "sha256": "d09f7707ee170f8a933c657628c1da4f61a29c7eb2dc687a96c3985bdac941aa" + }, + "tests/game_design/test_tech.cpp": { + "mode": 420, + "sha256": "689c081a324c7ece3f70d711f7ac67a5b93207f95e2800a3a708f2f8dbe31965" + }, + "tests/game_effects/CMakeLists.txt": { + "mode": 420, + "sha256": "c80413a7103ce0ed7944fb096ad22fc206a091645428a6015ec3d0e442414a0a" + }, + "tests/game_effects/build_and_run.sh": { + "mode": 493, + "sha256": "ab5085eeab0ec65d8f7ddd7d79357cd15183888b1b4e51cb563810d4e4c64506" + }, + "tests/game_effects/test_effects.cpp": { + "mode": 420, + "sha256": "b10d804b1ad4fb140e13cc1984c6372dbbfdd92560f37583f2411bbcb45c16d4" + }, + "tests/game_events/CMakeLists.txt": { + "mode": 420, + "sha256": "c962651d71ee7783d5565b418f653f2954e489cf698762c5686f5f2dbb4304db" + }, + "tests/game_events/build_and_run.sh": { + "mode": 493, + "sha256": "8b92d249138ee53f728583a0c68b153eaf4e2ad7f92d415d8b3a83df2fb3ec28" + }, + "tests/game_events/test_events.cpp": { + "mode": 420, + "sha256": "182941b9b809b20d24a2e29c5e4bbd626e6da8486e87dc38d1c6088161ec793b" + }, + "tests/game_nav/CMakeLists.txt": { + "mode": 420, + "sha256": "7ee85557a167281f4576252428b4e01795232f31dc1d93c23b284568074cec3b" + }, + "tests/game_nav/test_pathplan.cpp": { + "mode": 420, + "sha256": "6229cc2b1be1ffffb3fbb812c2ccc89dba7099d349be3a6f8f2c2e26aa1dd58d" + }, + "tests/game_sim/CMakeLists.txt": { + "mode": 420, + "sha256": "563547cdd93bce41ef29a73289e5104a5df61f71cc980e49ea37cdbe26743be7" + }, + "tests/game_sim/build_and_run.sh": { + "mode": 493, + "sha256": "a9c42a931242c7f266f512b4d4ad11f6f8ecf43a447a06a04f174301ee19328a" + }, + "tests/game_sim/check.h": { + "mode": 420, + "sha256": "faddddc37a528f0235f510b249cfc1776ce30aff709329954f09093b01231221" + }, + "tests/game_sim/mini_json.h": { + "mode": 420, + "sha256": "710218b637aaf1a5eb7c49eaa7d158bc3e495135ec14bf8b41384769d0227ba5" + }, + "tests/game_sim/smoke_real_save.cpp": { + "mode": 420, + "sha256": "2432e92ac18fadfb1152c54d9dec9a77b3dbf506ea122401cbbd48584b7c9190" + }, + "tests/game_sim/test_colony.cpp": { + "mode": 420, + "sha256": "45355673c46cbaef66b2c81d04a845cf65b6ddfd9819350c7338d9771fafb6fe" + }, + "tests/game_sim/test_construction.cpp": { + "mode": 420, + "sha256": "8df75076a3f460e949e34100d55acf60b054603da6d4aeda4f73297442c06e21" + }, + "tests/game_sim/test_economy.cpp": { + "mode": 420, + "sha256": "43fe658fd2347e3667a901afa642713d70c85ef0ec75094642da2d05b9ca471b" + }, + "tests/game_sim/test_movement.cpp": { + "mode": 420, + "sha256": "1927c371d52115458d88552014cef30bba60e9bef5eb3acfce11b2bc623e06a6" + }, + "tests/game_sim/test_observed.cpp": { + "mode": 420, + "sha256": "1f6ad16c1a2c80f0621573b5196989b0349e47351585d83835be5e27f6ef3fe4" + }, + "tests/game_sim/test_player_turn.cpp": { + "mode": 420, + "sha256": "13f76eaa6cad265deec25416acf0cae2028d6cd1c7b9585df6e9252ba3f0cbed" + }, + "tests/game_sim/test_research.cpp": { + "mode": 420, + "sha256": "3dc668eb889c41f58db6007a96f54fe2a6d56ee6501a298fba3afbbe9637baf6" + }, + "tests/game_sim/test_scriptobjects.cpp": { + "mode": 420, + "sha256": "dfe90a42bcd2844c2ea3666816f97c05237206bf44467ac29790c72b7b498582" + }, + "tests/game_sim/test_techgraph.cpp": { + "mode": 420, + "sha256": "0627ea1c8012b90b62285cae2f31599ba8a8cd47928452910ade91f93502d68e" + }, + "tests/game_sim/test_visibility.cpp": { + "mode": 420, + "sha256": "ad756975b6605a164f2f9106daf2511730642eff354a866bc764a93a4be1efe7" + }, + "tests/mars_parse/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_parse/CMakeLists.txt": { + "mode": 420, + "sha256": "898204fbc1cec44f697e2803c8bc4887857950ba2b1192dd153de74d26de0ea4" + }, + "tests/mars_parse/build_and_run.sh": { + "mode": 493, + "sha256": "550c6df5fffbd85cfffc3312a03a5fa9d59c1e0416e883ddc2576cdb73eac6de" + }, + "tests/mars_parse/canon.cpp": { + "mode": 420, + "sha256": "63e2bcfb2820e7533aa3a287bcec6c318f7238006dce61ad35381562b979cd47" + }, + "tests/mars_parse/canon.h": { + "mode": 420, + "sha256": "c9a78b866d62c4e58643de2c4149572380a1392b411049c8fe74e37475d21d9e" + }, + "tests/mars_parse/oracle/dump.py": { + "mode": 420, + "sha256": "16e98089d5b532e35d6b88b3d50b4bb07e879c18512cf8d06cc5fd2aa9da1117" + }, + "tests/mars_parse/oracle_check.cpp": { + "mode": 420, + "sha256": "5eb81a0c2db8f96c6f8e51246ea9991642e5571dd94dd2e410e2fad632d47adb" + }, + "tests/mars_parse/test_blocks.cpp": { + "mode": 420, + "sha256": "f376a57891a83768ecc8b73ef5eb2333291c280760f7581ead53f7c2a71a4df5" + }, + "tests/mars_parse/test_effect.cpp": { + "mode": 420, + "sha256": "8bb14e7c718e772bfb4a22a7370f41080c49beabfa597ddd603be257bc310011" + }, + "tests/mars_parse/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/mars_parse/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_parse/test_value.cpp": { + "mode": 420, + "sha256": "a8dbe3326e5339cdad8fed7dd678df92e8a8b675d0b854f4cea6517bf557069d" + }, + "tests/mars_stream/CMakeLists.txt": { + "mode": 420, + "sha256": "31c69840e6e2e566d2e0bbaf49ab3dec712d27e505d0810ddf0496ce3ff321e0" + }, + "tests/mars_stream/build_and_run.sh": { + "mode": 493, + "sha256": "3737e42960b66e788a11cdd7fa9917fe255b6a4f60280e9f620593bf688aab41" + }, + "tests/mars_stream/oracle/compare.py": { + "mode": 493, + "sha256": "f39dd70e4bbf1952cf99e3437fd1ed6252249f3455a2d3c73311f98d8ff4370e" + }, + "tests/mars_stream/test_domains.cpp": { + "mode": 420, + "sha256": "08394777f7bc4186883cd02058f17fda8f47c3ee47049892bd8762c28b5aa959" + }, + "tests/mars_stream/test_rng.cpp": { + "mode": 420, + "sha256": "55f77273d8af5880f976a24fb00dcd8042b31a7a33f15c9f4b62fdb85bba9d0a" + }, + "tests/mars_stream/test_save.cpp": { + "mode": 420, + "sha256": "50250bb4b4f2da05f9453c541f080e018b68731f24cbf93278d50ca93ddd8d63" + }, + "tests/mars_stream/test_stream.cpp": { + "mode": 420, + "sha256": "d0da9ac2287910527bdac875ab39e0147a9be2f5535f04b55460438f31be2537" + }, + "tests/mars_stream/test_wire_schema.cpp": { + "mode": 420, + "sha256": "1cfd259f554be8218cb182dd1facc07f6cd3dea52f0daf7303393e78c7c2eb97" + }, + "tests/mars_text/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_text/CMakeLists.txt": { + "mode": 420, + "sha256": "20f8e0cfa044fb4e6b1caca0ec8d6536e012c1c4ea4454fe990923f40a201752" + }, + "tests/mars_text/build_and_run.sh": { + "mode": 493, + "sha256": "59ae392080c01be0c7f5530ecb9ae4fbdcc02366242b27527c14b8efd5076d0c" + }, + "tests/mars_text/dump_json.cpp": { + "mode": 420, + "sha256": "e246384902c3adf4fa8f2a54e38c4912f6b58f168ebc9b1e158a719e2a52b1bc" + }, + "tests/mars_text/oracle/compare.py": { + "mode": 493, + "sha256": "46a796196a413aa28a0069086e45c96399f21308153b578f063801eb997b54ef" + }, + "tests/mars_text/oracle/dump.py": { + "mode": 493, + "sha256": "53fde94f6676a5504a247cf209e2a42d67e108cc9ea0b02f289562799ee7d880" + }, + "tests/mars_text/realdata_test.cpp": { + "mode": 420, + "sha256": "a399ad5cf91cf35f78809f5b9b5cac8b2eff344dbfbab07b8b27bf66058e1e3b" + }, + "tests/mars_text/unit_tests.cpp": { + "mode": 420, + "sha256": "cd1e9e4f6e0e503d4d9b0902bd2936513293490cdc680f94639ce93661ca09d7" + }, + "tests/mars_vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "282015598e03430be0f47b779ce7087662415b3a59de14814cb3ba35c17af363" + }, + "tests/mars_vfs/build_and_run.sh": { + "mode": 493, + "sha256": "b6a8e7b0706d7416f548f071e742e600cab226663f7d4ad42299dbb76f631701" + }, + "tests/mars_vfs/make_fixture.py": { + "mode": 493, + "sha256": "57586249e57550869dd5adfbc4fdab173a59d2aee630ba69c20d562018d249f1" + }, + "tests/mars_vfs/realdata_test.cpp": { + "mode": 420, + "sha256": "c95248ae53d32bd5d8cf963ca3a39ea82e5ef08b76de736104b6aa34ec88c789" + }, + "tests/mars_vfs/test_main.cpp": { + "mode": 420, + "sha256": "cdb7bdf9b9356eb0b7f6cb0fab081cda2161b34af14ecf60cc44970e79d517c2" + }, + "tests/mars_vfs/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_vfs/unit_tests.cpp": { + "mode": 420, + "sha256": "de8da00718799886fbbc5820e0f7d0e468a31ab0608361fb509b0c12932c9caf" + }, + "tests/mars_vfs/vfs_cat.cpp": { + "mode": 420, + "sha256": "4a443e779de264f5c0c68a631b1a353b1310a4e838d342527befd8ad1e2a25bd" + }, + "tests/mars_vfs/zip_builder.h": { + "mode": 420, + "sha256": "a0f3688e5a90b7e209497d66d0dcd30a0e1ac59a56ffcbed31b2a50967c1da3a" + }, + "tests/shim_budget/CMakeLists.txt": { + "mode": 420, + "sha256": "88a0f43e433c3a6879a7f6cccf8c84ba4559009614a3fe5adf6c558ea7a47245" + }, + "tests/shim_budget/unit_tests.cpp": { + "mode": 420, + "sha256": "654e96d0880232d3090223a0d9f92f428aeffa528fbd5eca89d6bfe348aefce0" + }, + "tests/shim_colony/CMakeLists.txt": { + "mode": 420, + "sha256": "d7b2674971b0eda32b2edd62244c32af81cea9e6d984a24ca6648edbaea80e06" + }, + "tests/shim_colony/unit_tests.cpp": { + "mode": 420, + "sha256": "4cc41308c10fa1e6aa047fb6c26e4c655b727884bce87b5a9e8e2f76db665474" + }, + "tests/shim_events/CMakeLists.txt": { + "mode": 420, + "sha256": "2b43190a2ce88cf7227250aa5a3b48e3006d24f0d6f5e9a5e48507c2733e4c45" + }, + "tests/shim_events/unit_tests.cpp": { + "mode": 420, + "sha256": "0dc151a4aecb24217cc38cb818bbe760b3da2b08a23ad734b3fa8506d25fe2b4" + }, + "tests/shim_movement/CMakeLists.txt": { + "mode": 420, + "sha256": "46ffe5a9815b189283e4d5ef67a0dcd159f60da7f9ca4a3577669035fefdc1f8" + }, + "tests/shim_movement/unit_tests.cpp": { + "mode": 420, + "sha256": "ee6ee983aa72f078a7ae398ca5f828aba14370c898ae4e56063697d28919ad69" + }, + "tests/shim_player_turn/CMakeLists.txt": { + "mode": 420, + "sha256": "f6affa205f857d4a45f8be05ae0426b6f9a2e8e127f5aeadbac2ed8a4c4daddc" + }, + "tests/shim_player_turn/unit_tests.cpp": { + "mode": 420, + "sha256": "0a528cdf64904dfd22c94ea911a15213701e7912921f04c1909799e6e6240450" + }, + "tests/shim_rng_ledger/CMakeLists.txt": { + "mode": 420, + "sha256": "b6a349f2611ec1f1de2013145a97f3da59cefec81dbc4d2f3e58af507e598bb4" + }, + "tests/shim_rng_ledger/unit_tests.cpp": { + "mode": 420, + "sha256": "d38d80dd907a3468036dbca2b017718b199ab4a0078eb5e5b019b913a9ef8d8c" + }, + "tests/shim_techfx/CMakeLists.txt": { + "mode": 420, + "sha256": "5eaf9a76df6b10258a8c1d2658b03d97377d48a778a1628ca94c9bd69fa7ba8a" + }, + "tests/shim_techfx/unit_tests.cpp": { + "mode": 420, + "sha256": "99a71a6d0ca1f53fc8ff0bc21e79acd64ba2cd9c9f990641e5970c866794595b" + }, + "tests/shim_trace/CMakeLists.txt": { + "mode": 420, + "sha256": "91bc736e198c5cef86ad2ad69ca77d93ab770e5faecf9e6d915f9263b9ce491b" + }, + "tests/shim_trace/check.h": { + "mode": 420, + "sha256": "f4b72b971886c64383880ba26484f9c908d21f5902dff0de0b42f276b00d8366" + }, + "tests/shim_trace/harness.h": { + "mode": 420, + "sha256": "d7eae563723843c1389b108fe2efb2e31b6c264d23567a370a09fb9b1d513697" + }, + "tests/shim_trace/oracle_emit.py": { + "mode": 420, + "sha256": "29ed06c602e9f0d6430bb3c81192b1946213a3f44b91107f7036f35f17b69f42" + }, + "tests/shim_trace/test_coverage.cpp": { + "mode": 420, + "sha256": "8ed5b6d755fe7e2bc98d525e97bc7817a5efb7ed5f0196d49d1c783de3a91bea" + }, + "tests/shim_trace/test_diff.cpp": { + "mode": 420, + "sha256": "afd8e5124cf6e1ad9c4f3e4c2beeb65d00002cf1d4cbaa2e876fea0817a7a347" + }, + "tests/shim_trace/test_emitter.cpp": { + "mode": 420, + "sha256": "a9255bbc055df36a01931e8a61dd1dbf16085f7713db7e7386f66b69ddb10762" + }, + "tests/shim_trace/test_hook.cpp": { + "mode": 420, + "sha256": "4dd67374e260ba2722219c2e44e6be76e583d0ad65844f34859cff49b66a30cc" + }, + "tests/shim_trace/test_sha256.cpp": { + "mode": 420, + "sha256": "b55aa15dc806e3e4a87ddf50657fa4e0af6a4e4e2205c4bd63d1ae066fe57428" + }, + "third_party/minhook/LICENSE.txt": { + "mode": 420, + "sha256": "d5c2224982b0b95a16b098a561335fa93f3eaf4d0aa964b7843edb986df78dc8" + }, + "third_party/minhook/VENDOR.txt": { + "mode": 420, + "sha256": "c79054234a5340f6199f8d9f47d6b3d88e8abd2120586cd78f081cfb81a6fabd" + }, + "third_party/minhook/include/MinHook.h": { + "mode": 420, + "sha256": "e34bbf7b855c842694f6e3dd78e2d280e99ed9732501e3dc1532a8626a8db8e5" + }, + "third_party/minhook/src/buffer.c": { + "mode": 420, + "sha256": "75a789eb718bd5ed2de039ccd330736a31d0a2d14e43d8e15e6cd2332432482d" + }, + "third_party/minhook/src/buffer.h": { + "mode": 420, + "sha256": "9769702bd625249e59a19ede05c84365fcc7707e1fa0e5df08df42227cee13e3" + }, + "third_party/minhook/src/hde/hde32.c": { + "mode": 420, + "sha256": "0ddbc3ab3e0b37e61691131289a151e34f508233ccf3f701752777e5d3f62d68" + }, + "third_party/minhook/src/hde/hde32.h": { + "mode": 420, + "sha256": "5132de5be8ac7a9d054420f5caef0fb01437faa892f03b3cdc77f795973bf15a" + }, + "third_party/minhook/src/hde/hde64.c": { + "mode": 420, + "sha256": "9bf19dd706d4bc255ebd1709f98fb44899df7a1f2412820d77295136e0620f1d" + }, + "third_party/minhook/src/hde/hde64.h": { + "mode": 420, + "sha256": "e99aa4997bda14b534c614c3d8cb78a72c4aca91a1212c8b03ec605d1d75e36e" + }, + "third_party/minhook/src/hde/pstdint.h": { + "mode": 420, + "sha256": "604d1cdf45c5a95bc9cf1bbf39ca05ef83013541101d34971c5cd7577e3d5247" + }, + "third_party/minhook/src/hde/table32.h": { + "mode": 420, + "sha256": "43bf687a9fff071b5f46070db4d36c846f8e069cdc57485ee897c499aacdde23" + }, + "third_party/minhook/src/hde/table64.h": { + "mode": 420, + "sha256": "b774446d2f110ce954fb0a710f4693c5562ddbd8d56fe84106f2ee80db8b50a2" + }, + "third_party/minhook/src/hook.c": { + "mode": 420, + "sha256": "3060d3c42f03a2f11324cbee95d853071757ed0fe4b1bc9eb5f0d8fc9e346a37" + }, + "third_party/minhook/src/trampoline.c": { + "mode": 420, + "sha256": "d837f8555681c3762468d712c43f2064ed31dee610e0b02965fd8aa54b88172f" + }, + "third_party/minhook/src/trampoline.h": { + "mode": 420, + "sha256": "27426751dde36cdd8346469e61cdcca47950b1056a69f21cc63f4b41743faf6a" + }, + "third_party/miniz/ChangeLog.md": { + "mode": 420, + "sha256": "ff3b6040f7cbd8c9779a0690e906c66408f7efe3cf88a25019323f0189025ec3" + }, + "third_party/miniz/LICENSE": { + "mode": 420, + "sha256": "0115478d567121238cf6cc1c0c361926cf07a49d9e4c9e66da97fac6a01646b3" + }, + "third_party/miniz/miniz.c": { + "mode": 420, + "sha256": "e2c1aeb66eef9191d8c3feb164db2def2335a61d039bf04ed849f6b042433b30" + }, + "third_party/miniz/miniz.h": { + "mode": 420, + "sha256": "b53b62ed122e559b8f679e3cb787a0b0035fe87a58f909da0e44931678f4e85f" + }, + "third_party/miniz/readme.md": { + "mode": 420, + "sha256": "b4ea367be28a36e5386f65118b73962bc659a67936d248be68b7a7c03b8d359b" + }, + "tools/build-shim.sh": { + "mode": 493, + "sha256": "1da3fdcc019dc6495c870a42b93cee9f21ff7f9623f033c2f50d9db9fd6a33e0" + }, + "tools/check_shim_configs.py": { + "mode": 420, + "sha256": "ef5e8f100c06d8c485a165ab668206af3e9aed3e1f6aa6ffec2592419fc2332f" + }, + "tools/clean_room_check.py": { + "mode": 420, + "sha256": "e15bc3ebfd29c6e2d8edfc32cc812858869b49ffa1404cafce14c4c24e0f4e24" + }, + "tools/clean_room_check.sh": { + "mode": 420, + "sha256": "6646eb6010be756113f7af39b9cfcb06e8580893fbd100a41993f87757ccfd6a" + }, + "tools/deploy.ps1": { + "mode": 420, + "sha256": "fe01f46bedc91d7b42ff98cb0e69633845094cc2802108d23d48eb70f32e3f27" + }, + "tools/sync-build.sh": { + "mode": 493, + "sha256": "ce418ace6c5edae8609849233bb5dfd24657f55141c8ef8507659608f12aee2d" + }, + "tools/undeploy.ps1": { + "mode": 420, + "sha256": "5730b6f95f161ba5a727dc0a34f26da7f1f697711495d6a9de9c289ecd747af0" + } + }, + "manifest_sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd", + "path": "/tmp/opencode/sots-final-research-engine" + }, + "re": { + "commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "ba56b745b84c6d15b7288df65f319831fed3cbf8edd1ab3a6476418f48fd95f8" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "e722b65480a9f72c2fde1c677c789d4f4b347ef9b450894e9f4295035373df7a" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "b3e3e5851645a05543e91f128eb6d349abdc6f22accfd997012526e4d35eaa8e" + }, + "README.md": { + "mode": 420, + "sha256": "e318014a84d03e53983cdb1e5b0310f372b959f659b91abc9214faf530544afc" + }, + "campaign/DASHBOARD.md": { + "mode": 420, + "sha256": "eb207987006a3a661bf05b24fc361e1dda74b7a7f42f4abf4a3788cb17a254e6" + }, + "campaign/README.md": { + "mode": 420, + "sha256": "dc702a81c2c664c07eb170f082deb65bc3ff24e2b80d892bb082c7c4feac64fd" + }, + "campaign/agents/analyst.md": { + "mode": 420, + "sha256": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952" + }, + "campaign/agents/implementer.md": { + "mode": 420, + "sha256": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91" + }, + "campaign/agents/lab.md": { + "mode": 420, + "sha256": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8" + }, + "campaign/agents/lead.md": { + "mode": 420, + "sha256": "7661bbfca972be50a52c735b7f15f5be740158542c3d0cdbdf9a6a2590c7f1ea" + }, + "campaign/agents/resolver.md": { + "mode": 420, + "sha256": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f" + }, + "campaign/agents/verifier.md": { + "mode": 420, + "sha256": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b" + }, + "campaign/backlog.md": { + "mode": 420, + "sha256": "a10edaae044e84ee4d26e7461b88e557112f572d60c57e0025171a53dd209a35" + }, + "campaign/board.md": { + "mode": 420, + "sha256": "040c12a20f5bf70b8e6a239efb205039d1ce00a805411ba194a12bde9f40c03e" + }, + "campaign/contract.schema.json": { + "mode": 420, + "sha256": "a2c76ec042ca097a57c3c05c1e519e392d498d387a31808c7d0f70482d43c201" + }, + "campaign/contracts/controls-bootstrap.json": { + "mode": 384, + "sha256": "2943d2281229c102dd612676428a9714510e540671c1e04dae3e6fa7ea1b56ab" + }, + "campaign/contracts/launcher-smoke.json": { + "mode": 384, + "sha256": "c0418dd22bafc321b2f800acaf574dca7956c37b239d789981b920d50ab36599" + }, + "campaign/contracts/research-completion-abi.json": { + "mode": 420, + "sha256": "a5cf5e4bbc5052aa13dc34b55ee65f2997f9342e0b01062e85ad2c16d99daf71" + }, + "campaign/contracts/research-replacement.json": { + "mode": 420, + "sha256": "1108d30bf7e28f30b2446014503fc3200a8b8198a8fab0b866b873a81bf7b8b9" + }, + "campaign/current.json": { + "mode": 384, + "sha256": "87661aaf5ddfbb872365dae8c531453a1e0cb7f91b3ada046be3e829d2555f77" + }, + "campaign/models.json": { + "mode": 420, + "sha256": "95f507237a8e4fcf14189da4aa102dfae1dbaa536d4d8db6bcbfc30162ac5443" + }, + "campaign/open-questions.md": { + "mode": 420, + "sha256": "efb1c736a07bff32e75e0eede20681c206e2c95f439dffe9824702cb864972e7" + }, + "campaign/pilots/research-replacement.md": { + "mode": 420, + "sha256": "3101b8959f28ba2c6ffbac02a82b5ae0e841e7d78bd1f40f05b9d1d2278490ad" + }, + "campaign/research/SESSION.md": { + "mode": 420, + "sha256": "258a2884486ee777fbd8ff180abf23a3a320b2981ee1e90b57d4e3efe18643f2" + }, + "campaign/rollout/RESULT.md": { + "mode": 420, + "sha256": "87aba912d66e2f7bd9779f86cbae3c78d64b1be2572db02ac39fc70c750cb79c" + }, + "campaign/rollout/architecture-decision.md": { + "mode": 420, + "sha256": "8c710f390671500386745d063d6cb6edb175e6e26572286334d2f14a36be6d41" + }, + "campaign/rollout/controls-followup.md": { + "mode": 420, + "sha256": "44d0c95978cbc0953d6b1feab4463b29fab68c9d8dad2eca5fd562bb5aee1578" + }, + "campaign/rollout/controls-worker-state.md": { + "mode": 420, + "sha256": "02ff66f3f0fa978819e5c100e24cfd3752b9041590e2aed36f6abd62ce790f4e" + }, + "campaign/rollout/controls-worker.md": { + "mode": 420, + "sha256": "d022483618d3c3412785ba40e71106976c9b1c9978c43e424e3023a67b8b3f0f" + }, + "campaign/rollout/controls_evidence.py": { + "mode": 420, + "sha256": "bfaf4e523b2ca39c0ecdab94adf0b2b19a3da68aab8a0fcba69a613aed46588a" + }, + "campaign/rollout/engine-followup.md": { + "mode": 420, + "sha256": "d3d289fb4e4cfb7cf1ab6c3de597f530eafd27d3b1aa2f3e8904d6da3a95ac44" + }, + "campaign/rollout/engine-worker-state.md": { + "mode": 420, + "sha256": "76601fa42c95bd7d78ce46f528a33ef0483e0b7f2e19a1cfe1cab8e560bed05c" + }, + "campaign/rollout/engine-worker.md": { + "mode": 420, + "sha256": "fd8bbe69947b69baa61449548d5746723c941ad8b663ec66d1b278234bebe5b2" + }, + "campaign/rollout/formal-verifier-state.md": { + "mode": 420, + "sha256": "2fbac02f5f22b45e94ee33f9f53779fa059c5e93282d3c2f5ad0af027029a1f4" + }, + "campaign/rollout/formal-verifier.md": { + "mode": 420, + "sha256": "f961ceaef0037001e6576d760e28e7aded0502f3d8311925e5ed1cc537c996dc" + }, + "campaign/rollout/gate-followup.md": { + "mode": 420, + "sha256": "677f17aef214e7a6c92958dd8ad98137b238cc7fe7c1da23bcf36d727f28f7c8" + }, + "campaign/rollout/gate-worker-state.md": { + "mode": 420, + "sha256": "96514befccc589487ac3b6ff9348106aca2e4e8e3aa348471943d589c74629e2" + }, + "campaign/rollout/gate-worker.md": { + "mode": 420, + "sha256": "55db7c5f637d849fb2f200ab12c35a794c86e377a5de3f562b1c32455583e65f" + }, + "campaign/rollout/housekeeping-completion.md": { + "mode": 420, + "sha256": "a25041ebaeb030f1cfc62564b5bc57a98818ea75e082f28036e9cc367096ccd1" + }, + "campaign/rollout/housekeeping-followup.md": { + "mode": 420, + "sha256": "5759aaf403c019173450822dc5e9d4aad711a7497eba906caea39bdb39bd3702" + }, + "campaign/rollout/housekeeping-worker-state.md": { + "mode": 420, + "sha256": "5ee9a48a691709af325994fd3d44a1ac6e40d05f26e09b03ae7efec2ecbe25cc" + }, + "campaign/rollout/housekeeping-worker.md": { + "mode": 420, + "sha256": "bab8219fadd0688e91d6211478a01403a36ae74fd2b6f7df0ad5c8745a542ca9" + }, + "campaign/rollout/independent-review.md": { + "mode": 420, + "sha256": "a7a8ebcce5202db0e67c8c65135df751e69ee6728c4c2ced92e1cc85b4279f22" + }, + "campaign/rollout/lead-state.md": { + "mode": 420, + "sha256": "3ded5b3f97d7882f72abef5ea268765a5db29c8b619486c153f5c92742040c01" + }, + "campaign/rollout/publishing-worker-state.md": { + "mode": 420, + "sha256": "641977e4d0ec400a3a6c38121ae5e7904aa1accc47179ee148ad7cb199029b0e" + }, + "campaign/rollout/publishing-worker.md": { + "mode": 420, + "sha256": "822812fbc803d443fb7e0855268c34224eda29f95e57274c217275b09ff4410f" + }, + "campaign/rollout/review-followup.md": { + "mode": 420, + "sha256": "853e3b5aab09cd77fd54cae6d8a61fb5ae092603ab2be8dee2db6d80492a6443" + }, + "campaign/rollout/review-worker-state.md": { + "mode": 420, + "sha256": "a704e6023eaf3424761bf431e49687ae1f1d687119fe00a466b9da2d9ef7bd42" + }, + "campaign/rollout/review-worker.md": { + "mode": 420, + "sha256": "0e348015440aabef95766010f14880619d34a472102698c9819dfbb029b8a6c8" + }, + "campaign/rollout/sync_verifier_snapshot.py": { + "mode": 420, + "sha256": "4133e536bfdb0e206ecdfc072062e7674b07b973c7f8b9d7f1a268520523d6eb" + }, + "findings/.keep.md": { + "mode": 420, + "sha256": "141ed928eaf10a2023dd2c0ff6ea68cf6ec423cfd28d5a359d9c5add730bf64c" + }, + "findings/00-strategy.md": { + "mode": 420, + "sha256": "3bc97827988c6eb4647713c5655271e156dfa466fad5685924010f3244fe6386" + }, + "findings/01-fingerprint.md": { + "mode": 420, + "sha256": "7cf0503c29f5beff852427c2c5bdf8e9d968386de777c47b6130771cac944cac" + }, + "findings/_template.md": { + "mode": 420, + "sha256": "b92d0ca7bfef4498a5f9e594453f15ab15e2c88c7582c4ed5df4c40e6871c3b1" + }, + "findings/control-flow/ai-visit-order-probe.md": { + "mode": 420, + "sha256": "e89f91a33139014ebdc22d79064ecfd06f9b4ffebb4bbc3da73734fc47534047" + }, + "findings/control-flow/alliance-mask-and-modcount.md": { + "mode": 420, + "sha256": "ec66c6b76d9e4c8bed385acf70e6a7d5da08e05eca72ac1e8e5cb307d87f2552" + }, + "findings/control-flow/combat-done-tail.md": { + "mode": 420, + "sha256": "799ace775f12ebe9a2737a711c8d0a6e617f0cefec70b93bf094e47cf81cc348" + }, + "findings/control-flow/combat-resolver.md": { + "mode": 420, + "sha256": "abf1a9329c1bd8a96c76481246a00b380e9a17fa8dc8900810218026e5fe1b9e" + }, + "findings/control-flow/combat-retreat-pipeline.md": { + "mode": 420, + "sha256": "6c40c8bdbdde672c9cd67248d740d88892ad2b93b30e27e9bebe0e96027cf136" + }, + "findings/control-flow/fleet-visit-order-mechanism.md": { + "mode": 420, + "sha256": "a2ea1a6ac9d383380e16910cff89dff0e9b23f1df66f47ef91dd266bd50b3a6d" + }, + "findings/control-flow/gate-indexed-rng-audit.md": { + "mode": 420, + "sha256": "5004b2480787eec7be66f40474648030fdaf7759087a4c4651091152d89351cd" + }, + "findings/control-flow/hive-creation-rng.md": { + "mode": 420, + "sha256": "5ff37d571c0380c798a137e0c6947a0c63109de489fd2100c99bfc6637fc272b" + }, + "findings/control-flow/indirect-edges.md": { + "mode": 420, + "sha256": "3dbf2acf7354f61de66348fe40965f3138dbc4bbff8cb0f06b2751e71ed06ee1" + }, + "findings/control-flow/inlined-draws.md": { + "mode": 420, + "sha256": "3b099718543d7fb112664699749602ff9d61de9aaebb561fc93f1f8b7a152134" + }, + "findings/control-flow/per-history-residue.md": { + "mode": 420, + "sha256": "739c7fc760583ca143036ce554e1eece640d1662fba4642e6f80fadd3dad13f9" + }, + "findings/control-flow/pinned-seed-rich-turn.md": { + "mode": 420, + "sha256": "7c62336767b7c69f513446543f37662ba2a0872e207b906279446bbe399d65b6" + }, + "findings/control-flow/raid-gate-multiplicity.md": { + "mode": 420, + "sha256": "6d7b7357be428ff79186478dc37063657ca4d8e2ad49fcdd92493753748a52f4" + }, + "findings/control-flow/raid-intercept-species-word.md": { + "mode": 420, + "sha256": "1da80eb14f0e3e5a0ce139f62976bb305e3e75a1e5e0631d8287f94eac093d8f" + }, + "findings/control-flow/raid-intercept-z-word.md": { + "mode": 420, + "sha256": "beb421953b70377c8c759f5cc936321faa6316be76d41020b41f26c99706acb3" + }, + "findings/control-flow/raid-target-pick-verdict.md": { + "mode": 420, + "sha256": "d0262a4187e35547b28d6be842e7c730aa3ee93565404b587a790706afabd694" + }, + "findings/control-flow/seed-exposure-forward-test.md": { + "mode": 420, + "sha256": "f108a07ce695b64c482af58db4caeb2607059a3357b62f04f7f36ce45c84ff4a" + }, + "findings/control-flow/standalone-generator-and-turn-record.md": { + "mode": 420, + "sha256": "e499f62534580f27c2a01395e08312ebc7df13bdd307342096f468212aec600b" + }, + "findings/control-flow/standalone-scaffold.md": { + "mode": 420, + "sha256": "0bf928260d5058815a2f09c4df8c08eb359430aeea941f872018de7cbca39105" + }, + "findings/control-flow/tail-probes.md": { + "mode": 420, + "sha256": "ae45e84a9c7f257170f7550301fc4e1a35d5210269bda8070469a5c921cce95e" + }, + "findings/control-flow/tail-rng-ledger.md": { + "mode": 420, + "sha256": "2db588423e7b7de7729e5319477c17fbcea5b7a9cb8ff00b01cfd72bfce25403" + }, + "findings/control-flow/trade-raid-rng-gate.md": { + "mode": 420, + "sha256": "85c7b27aa284988b07b5e67c8e48ef1725289f1a6956d88be2572577cc06e1bf" + }, + "findings/control-flow/turn-driver.md": { + "mode": 420, + "sha256": "3f4e92041a0842d211ea9ae1ae16a9fe400dacf9632209102a1f76acc6b30792" + }, + "findings/control-flow/turn-spine.md": { + "mode": 420, + "sha256": "e2a64f82e5dececb4ba56859d1e53a0f720e08472c79c39197beba7f6041811b" + }, + "findings/control-flow/w3-containers-status-handlers.md": { + "mode": 420, + "sha256": "fffbaa6e3701abbe57a54046416a102502afeaa29b14632f9506905c22bf3914" + }, + "findings/control-flow/watchpoints-modcount-status.md": { + "mode": 420, + "sha256": "0aec4c93ca7219e29827a5069a9829d5e58da2001e79a7316bce288d3e9a6c7d" + }, + "findings/objects/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/objects/00-inventory.md": { + "mode": 420, + "sha256": "cada5fc81c42cb50878a26e43a58640153c600319e66d4c92a23d7c363ff5f14" + }, + "findings/objects/aiagent-block.md": { + "mode": 420, + "sha256": "55d646ab57e90477993d263399254a3b103024d89fff42491b7df5cf4ffc8037" + }, + "findings/objects/classes-game.txt": { + "mode": 420, + "sha256": "e0eceb77c56e05bc7863d3a07805d703fc0ecec489ef24fabe7c6161f2835199" + }, + "findings/objects/classes-mars.txt": { + "mode": 420, + "sha256": "b624f7bd82a5277462a39627140a85c7a7929fd292b62e45edb5c96fd53b6145" + }, + "findings/objects/ghidra-recon.md": { + "mode": 420, + "sha256": "ca4b043a73c1d5573aa0c83cd3942db731884910c90e7d8544c8a32c939e2fda" + }, + "findings/objects/rtti-raw.txt": { + "mode": 420, + "sha256": "39f6fdf8793f8202c19cfb87a75466b215254a13050ec37c0c496699298247ad" + }, + "findings/objects/save-editor-structs.md": { + "mode": 420, + "sha256": "835d4fbf154275542383ea499a527c044ec7d577486c2735b817bd32d6e0c853" + }, + "findings/objects/schema-gaps-resolved.md": { + "mode": 420, + "sha256": "9ddae36eb8e3ef909c4902d01200fc8a17335271e4e063939ae162a3eea5bb3a" + }, + "findings/objects/serializable-types.txt": { + "mode": 420, + "sha256": "59c2f3942f55eb3f6687758a4c447b1ed8902caa60b97d9619bb8228e27c6838" + }, + "findings/objects/serializer-struct-recovery.md": { + "mode": 420, + "sha256": "5b56d8e1a5047d602cea7a76227f30e17244057fe21fde3d4e2cc76e9f185416" + }, + "findings/objects/ship-design-catalogue.md": { + "mode": 420, + "sha256": "feded2191180e184d34d4992935dc117bff8d052e8a2c63ecc29fa7b2e6b561d" + }, + "findings/objects/struct-recovery.md": { + "mode": 420, + "sha256": "4e99ef972529101f5700b52845e263fb3789e0b82d8cdeca921f1595a24d92db" + }, + "findings/objects/svsctob-variants.md": { + "mode": 420, + "sha256": "89617cd2909f2242e9e1657fd4a8f5aafe5aa0c1e0e9bc8926fb67c1e830dd2d" + }, + "findings/objects/svsctob-writers.md": { + "mode": 420, + "sha256": "7a9b7f3bf4eae63cf522246227410b2e3ca789284b7c620f01550fadf479622c" + }, + "findings/objects/turncommands-block.md": { + "mode": 420, + "sha256": "8eca2b79838114e7ae46d34c6e75eaf3b04c0448d9896ed4219b118f09e83046" + }, + "findings/objects/wire-schema-channel.md": { + "mode": 420, + "sha256": "31f0fc4e1cc3c3e7ef938aa22ad65cfdec32be4f1ade476a7ebf32c3c6f07d6f" + }, + "findings/objects/wire-schema-closeout.md": { + "mode": 420, + "sha256": "bbae848b4f8d6d0f2a914268ac34e75b4cea483f52816916202f3bd3cd084255" + }, + "findings/objects/wire-schema-ratchet-debt.md": { + "mode": 420, + "sha256": "0d144181478a607f2474a7c8a1b71ca49c881ef6fd068b5e8859c3fa8129507a" + }, + "findings/resolutions/2026-09-08-ai-seed-per-process.md": { + "mode": 420, + "sha256": "0765bdaeade29122ab5e64493f3a7c339f1e4c4445192ed09ae3d229dd6ae943" + }, + "findings/resolutions/2026-09-09-fleet-id-order-residue.md": { + "mode": 420, + "sha256": "b3d63a11e8ebd55da4af15760d044607b6105216898a018f5ceebc94750817e8" + }, + "findings/resolutions/2026-09-09-seed-exposure-is-a-predicate.md": { + "mode": 420, + "sha256": "dd7ce18738a625b9008ef80783bd64fc3857852775ab3b784b9e5f4fd5ae7de1" + }, + "findings/resolutions/2026-09-09-tail-draws.md": { + "mode": 420, + "sha256": "ff86a332ea9f87bd6f42a0b64e837e6f6f5876423ae9403a903aa9bfe7c42678" + }, + "findings/subsystems/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/subsystems/ai-client-seed-is-per-process.md": { + "mode": 420, + "sha256": "5e6de0418588ff28cee29cb9affd69c3183819318c314eeb0771bbe810e6b4ed" + }, + "findings/subsystems/ai-order-capture.md": { + "mode": 420, + "sha256": "6efebf9f00b375d2c7f29ddeb24ef7a04e3b02cac9027369b490157a196d08ce" + }, + "findings/subsystems/ai-order-emission.md": { + "mode": 420, + "sha256": "9e54a13a18387a4f93acc5c66dbf71d365c81f1a8e6d2aee31f7a89712894ace" + }, + "findings/subsystems/ai-stepping-and-passes.md": { + "mode": 420, + "sha256": "e7e2fc612457a4e77df362aea2928d20fa5a2456fe12a7fbafeaf3c9e01c1dc1" + }, + "findings/subsystems/ai-task-system.md": { + "mode": 420, + "sha256": "577f8fc41256ebdf9629f1e30df9aac7f51c1a84b55f60c2b59e4af4c55126b2" + }, + "findings/subsystems/ai-turn-logic.md": { + "mode": 420, + "sha256": "79e9b7c9592d583db7b9d9ce472804038a71febf7527bd69e31b3399caeb0770" + }, + "findings/subsystems/battle-load-profile.md": { + "mode": 420, + "sha256": "3cf8e28925ebbb162bca9c3be9e6b2599c82ab6aaf9a9d99ffd9c934bf773c77" + }, + "findings/subsystems/data-model.md": { + "mode": 420, + "sha256": "f01c9bfcf8ed9fbf9fdd30556308a1dbb1094896050cc8a5e4fbc1c6c61aff78" + }, + "findings/subsystems/data-parsers.md": { + "mode": 420, + "sha256": "6a428c14279ac2c589b4af932e762ef7e3ada1a878128527b8d88858c11fbc35" + }, + "findings/subsystems/determinism-oracle.md": { + "mode": 420, + "sha256": "4fe0abad0b1b825392cd47b792d06756742495f26ff40a6a433d8608b4680bcb" + }, + "findings/subsystems/eventlive-verification.md": { + "mode": 420, + "sha256": "8bfcc75e57ddf88ec8a4b8885f033be8ffd420965077ab284b1ebce535ecf1a0" + }, + "findings/subsystems/events.md": { + "mode": 420, + "sha256": "c5d6e168d6d48eabec0ae0a448f9c3ec8d0f751a67fc320bc1021ba10008a3bf" + }, + "findings/subsystems/formula-gaps.md": { + "mode": 420, + "sha256": "63ec96a27fac5381d33cdce3e549d230bd5b0230e4d8573f4f3d45bab7d47ffc" + }, + "findings/subsystems/fpu-precision-sensitivity.md": { + "mode": 420, + "sha256": "4cf84e2a1c3d0eaaf9b3a7f218ad663ffa6984389b2a25851249733ad708ff8f" + }, + "findings/subsystems/golden-trace-recapture.md": { + "mode": 420, + "sha256": "b244f939b87dd464d78d919675c0e6aa010b0ec7b4fc6e4178e26c2c8ebee738" + }, + "findings/subsystems/id-allocation.md": { + "mode": 420, + "sha256": "b04a14a5a7d4d1c6137c4f9072987eebc997421e550881dcc2c8e386187f5b90" + }, + "findings/subsystems/income-term.md": { + "mode": 420, + "sha256": "c40286635675a91ce779b887a0394e92f946844873a778015efb98c4a105b67e" + }, + "findings/subsystems/loader-prototypes.md": { + "mode": 420, + "sha256": "f1d09471d5e17c45413b86805f561329f5af24eadfb17c3c740686c39b167ed6" + }, + "findings/subsystems/money-chain-float-widths.md": { + "mode": 420, + "sha256": "99bded6f2d34a713bc175deb4ad5ab4559ce1cc90274b036c1818ad8257c2fef" + }, + "findings/subsystems/movefleet-position-rounding.md": { + "mode": 420, + "sha256": "12dbdc03658cb042b5927586769dc9c19fc2eb812f703e73bf26273f8b0d65a6" + }, + "findings/subsystems/multiplayer-combat.md": { + "mode": 420, + "sha256": "2f4957011b5c5875b8aa7f71531dd5dfe3fd8df4f2c67a7be2fb5999f090c02b" + }, + "findings/subsystems/multiplayer-gamespy.md": { + "mode": 420, + "sha256": "a878e97775d27e085e58b18eaf5a67aaa522456d1055ca142f0477e3d6152d47" + }, + "findings/subsystems/multiplayer-tier0-verified.md": { + "mode": 420, + "sha256": "942ce29cbe22d8f7de5af54f2017c0433c7b8e1a56c864868ec906ffcbb9059a" + }, + "findings/subsystems/nav-classifier-live.md": { + "mode": 420, + "sha256": "b8aacdea8072a99ba1192e235088b372180f094795baf164e8cb95bd2df9f3b0" + }, + "findings/subsystems/nvo-tshn-visible-owner.md": { + "mode": 420, + "sha256": "ef96bb61769c02affd7148cd95e70bf358cbe6263fbe9b47aba6cf4cfa8486ad" + }, + "findings/subsystems/observedtech-append.md": { + "mode": 420, + "sha256": "61efcf51bffe53b8a10a2cdb8123db3f8c55b6874db87418fc31737efedaa652" + }, + "findings/subsystems/output-term.md": { + "mode": 420, + "sha256": "9eb9ff58a1d4cf34d3138f5044788b6f87ff4c94fa871b2dedd6ff6667196533" + }, + "findings/subsystems/output-turn-path.md": { + "mode": 420, + "sha256": "4e199e5cc14802c1b14b37cff0c1359b43aca94dab833f9024c7825c4c512588" + }, + "findings/subsystems/path-solver.md": { + "mode": 420, + "sha256": "3e0e318d45e14f844831c4180e47011263f64067dacf3249742882186d65cf18" + }, + "findings/subsystems/players-residual.md": { + "mode": 420, + "sha256": "e2f56c7983856470d37cd0fba4834a0ccb34dcaddbaf9acaf5dcdc253c6b3507" + }, + "findings/subsystems/population-growth.md": { + "mode": 420, + "sha256": "c2ec2f062e1224045b761640549e7374336ac762bd61c686a0c1378ad829a993" + }, + "findings/subsystems/rcex-explained.md": { + "mode": 420, + "sha256": "df7c9de6f02c1bd38f69e3a5344ec663d97b1d6b738ff408dfdeb0e2f6175b32" + }, + "findings/subsystems/relabel-new-ids.md": { + "mode": 420, + "sha256": "562ffe347adc6432a7824bfa2b324b6b1812b4fcc18343f0732c0f3d9991be20" + }, + "findings/subsystems/research-replace.md": { + "mode": 420, + "sha256": "d0f692cf687a7fe6aab62fc5d7d076eb595e1c33fd84c6f1e437ed01025cab4b" + }, + "findings/subsystems/roll-parity.md": { + "mode": 420, + "sha256": "7d97d7e5eee7b9f135e32b6553bb94ca83fd05b1eca7d18c42e9d65cae4d95d1" + }, + "findings/subsystems/rung-b-rich-turn.md": { + "mode": 420, + "sha256": "44378c6a305a82b2d131270fa5d97fdcd8a7fd5c9760ecbad7715383eac2db68" + }, + "findings/subsystems/running-the-game.md": { + "mode": 420, + "sha256": "f6109f69c6b86e4cf01d0f2e1f8be9921ff632513bca5d9e44e7f6c34f1cd260" + }, + "findings/subsystems/setresearched-cascade.md": { + "mode": 420, + "sha256": "9c079de161a1d1387339b8e8081395c1356c1443a0c898942acfb6efb65a454f" + }, + "findings/subsystems/ship-construction.md": { + "mode": 420, + "sha256": "86f570b1872c8dfac3982d1d7335f4798ccbd1bfd73c91d481afba2734c41216" + }, + "findings/subsystems/ship-design-composer.md": { + "mode": 420, + "sha256": "639b276e9205aaf6c90d9c458a383cc073e89f401ef8f17f8ad5a8a0c5899fa8" + }, + "findings/subsystems/snlv-measured.md": { + "mode": 420, + "sha256": "785324d176be969e1809090acd6b7a48d27f4fa41472c0d9c6f568c0b3a1e539" + }, + "findings/subsystems/spy-detection-roll.md": { + "mode": 420, + "sha256": "214179f5091408ef01ce4b80565068cb9a0885d1c6a233cda476280b9bf29c0a" + }, + "findings/subsystems/spy-program-draws.md": { + "mode": 420, + "sha256": "0c61c2f9cc767ae679921bfc42ef9a207ec9a6e0dc88419a673a8e439f1abfc1" + }, + "findings/subsystems/strategic-turn-internals.md": { + "mode": 420, + "sha256": "3a5c17e025d4968db6030f8ef1daaa2b03ccd4def12d35cf3a0eabcb0b5cbb54" + }, + "findings/subsystems/strings-and-config.md": { + "mode": 420, + "sha256": "67aefda7792e329b7df3f6e8cf42c7bae7049867cdda0741e871b183bc528786" + }, + "findings/subsystems/system-visibility-prediction.md": { + "mode": 420, + "sha256": "b420526ca0410bd4578dd2ed29cd9a21ed3578d6345d9f853a883e0159c1f89c" + }, + "findings/subsystems/system-visibility-record.md": { + "mode": 420, + "sha256": "d2843e10c156a7c85d7dab40d00204475fc725dc9b93656f6cde941ceceb5f51" + }, + "findings/subsystems/t34-observed-designs.md": { + "mode": 420, + "sha256": "207641821a55f5671749b000d478afd9e427336e2d123a55ad2203f34dfaa796" + }, + "findings/subsystems/tech-effects.md": { + "mode": 420, + "sha256": "7423f1e2cb2a597738b244d58bdf467431ee5de725ac434b904676ddcbcfc609" + }, + "findings/subsystems/techid-name-map.md": { + "mode": 420, + "sha256": "cfd92a7885dad3775465fc0c5b40aeb1749499f90071b44855ab8e1746d5f752" + }, + "findings/subsystems/trade-and-spy-workload.md": { + "mode": 420, + "sha256": "147057456fa30b6218df19679abab1ac31b78276a4272d221b70776e154396ba" + }, + "findings/subsystems/treaty-turn-stamp.md": { + "mode": 420, + "sha256": "fa0a8588847cc2b9e92cddeca65fd00fe3d84a00a1034d9354053c7e6cd9ceb5" + }, + "findings/subsystems/turn-command-replay.md": { + "mode": 420, + "sha256": "b65fa3c3c01c67bc16ec488e4a44e6c748256e941c80987528b7602038a56e07" + }, + "findings/subsystems/turn1-to-turn2-nondeterminism.md": { + "mode": 420, + "sha256": "9ebe834fa0f7c1cf864032ec67da76730ed6c239d6bd3a717f147490116acc4d" + }, + "findings/subsystems/turncommands-capture.md": { + "mode": 420, + "sha256": "a57fd2a77784fef1b176749878b161c4f04ac77c1f4a061a6b713787d92fb9ef" + }, + "findings/subsystems/ui-screen-map.md": { + "mode": 420, + "sha256": "d266285e3ca99ba3b5ebbab47c78f3df247a8b539c0519c6fd27a999b9d6f84b" + }, + "findings/subsystems/unlock-cascade.md": { + "mode": 420, + "sha256": "38d29a9484aa3910f5a62b5dd08225ba590bf26901203c5aef1b0b466fbbc5fb" + }, + "findings/subsystems/value-domain-census.md": { + "mode": 420, + "sha256": "bc99139708aee5da4cafec585fc35ab3523b51571518038db19b5f1383c6a6c4" + }, + "findings/subsystems/writer-byte-exact.md": { + "mode": 420, + "sha256": "a0e91a90d2ae78328dbaef30b37d53037cab26489e4729413bcfebbafcab0978" + }, + "ghidra/addresses.d/README.md": { + "mode": 420, + "sha256": "cf2745d5d3e504725ae5a296dc20e3d63b8d32a903445aafe2af61828a6d59c5" + }, + "ghidra/addresses.d/ag.json": { + "mode": 420, + "sha256": "24d5b11779364cf198008b143c7a3a092117ec4a1530c489497dbc8acdf62d8e" + }, + "ghidra/addresses.d/ap.json": { + "mode": 420, + "sha256": "e37f478836eb297f9cc5186cd7df3f5942abc4b6396a4d2866e613841437f778" + }, + "ghidra/addresses.d/ar.json": { + "mode": 420, + "sha256": "8d8620be8dd807a610ff63c0d77cbf266f3d9ce272158991d1f55d9c9910c248" + }, + "ghidra/addresses.d/as.json": { + "mode": 420, + "sha256": "08a869ab9466d4b575363cfb6fc084ca72cdc05d509c5d87e658a9a9977a7ae9" + }, + "ghidra/addresses.d/az.json": { + "mode": 420, + "sha256": "60b9a169605ac171cffb848024141c9224f6897bf69b547b9a4f2b5ddfc8d835" + }, + "ghidra/addresses.d/bu.json": { + "mode": 420, + "sha256": "79037146ba621e43e561bcf0577afc25b2ffac4ced44c902d2ea8ed9171b1bb9" + }, + "ghidra/addresses.d/cz.json": { + "mode": 420, + "sha256": "35de20ff0e38d05b5c58c89690dfc81ce44eb280a2a594ae862e55d56edb5d3c" + }, + "ghidra/addresses.d/dn.json": { + "mode": 420, + "sha256": "c41f877a37bc864f8f315a47b720ac204c22c25de405f4de63b845180641eba0" + }, + "ghidra/addresses.d/dt.json": { + "mode": 420, + "sha256": "580762e01175fb7246d0f9214e4ed9ba16bebcdb82ad1525fd1f77c0910c660f" + }, + "ghidra/addresses.d/lane-a.json": { + "mode": 420, + "sha256": "fce5f06866bddc6bca095d53e376495103dfd8900ad7da0d0d6731f105915d71" + }, + "ghidra/addresses.d/lane-a2.json": { + "mode": 420, + "sha256": "1207088eb2ae041afc2618a627029e25f578ae9fe8db73bb9efb616f39c34bf0" + }, + "ghidra/addresses.d/lane-ac.json": { + "mode": 420, + "sha256": "02a1c2f01ca0d11a7c38d416d94fabaea64b5c5919f6ceaead83430fb398710e" + }, + "ghidra/addresses.d/lane-ai1.json": { + "mode": 420, + "sha256": "134a0cb87b95bf5f39ed015bcdf64c6e8da6b22e073d5b5487148cb5421addff" + }, + "ghidra/addresses.d/lane-ai2.json": { + "mode": 420, + "sha256": "e9d94ce026231d420538400fa9c73fa8a2fa882d16f542c6b8ce2c34014acda6" + }, + "ghidra/addresses.d/lane-ai3.json": { + "mode": 420, + "sha256": "89c29e1bbb1159b7b6fb4fc8c232902f8497efc82290aba6f50c9c9097feec6a" + }, + "ghidra/addresses.d/lane-ai4.json": { + "mode": 420, + "sha256": "78b7897d3d2678ddbff7cd982bfa7d93a0c26817846a148fd3f46790fef9d7fb" + }, + "ghidra/addresses.d/lane-b5.json": { + "mode": 420, + "sha256": "641c724d1fbf28f5469aac488401ea2f92bdd3b929fbf053ddeef0ba5b8de9da" + }, + "ghidra/addresses.d/lane-b6.json": { + "mode": 420, + "sha256": "b2b2833220e3a645efab2b767f1d93d1215a54d195e28e6743db8f1d89934697" + }, + "ghidra/addresses.d/lane-c3.json": { + "mode": 420, + "sha256": "b732932503c181c77bb14ba0136379c8fa3501d0c1471b02d9bca7d023bb5f5a" + }, + "ghidra/addresses.d/lane-d2.json": { + "mode": 420, + "sha256": "8b5df39fb5eea0cd40dffc20aaccabe169f5472171dfd242ca2e75dfc4ca608c" + }, + "ghidra/addresses.d/lane-e1.json": { + "mode": 420, + "sha256": "cb38b41b747bf74ee73fb7eaa301da4bb896d089fa1dea4197382e94940c7f69" + }, + "ghidra/addresses.d/lane-e3.json": { + "mode": 420, + "sha256": "a5fe9dbb37ee587bf36a311771bbc9d8dcaa4d4fcc0b420b8f45829929b0ff98" + }, + "ghidra/addresses.d/lane-ev.json": { + "mode": 420, + "sha256": "b243d31bcd69bfb1e5928ba8b70e958e559c88ee5190ca34e569f217a784798c" + }, + "ghidra/addresses.d/lane-g2.json": { + "mode": 420, + "sha256": "84401f05c5cf2ca0839e817877892e904b3fd2fd4175607abc34453acd8ce822" + }, + "ghidra/addresses.d/lane-g3.json": { + "mode": 420, + "sha256": "d176eb4a07bb6b98acea77e1a0a9904d317a594768ecf8719bbfacbdf6522729" + }, + "ghidra/addresses.d/lane-h.json": { + "mode": 420, + "sha256": "e8cffe89c7feb1d9fa1949f33aff01edc7b84b49ab752275662f6f613c16c0b6" + }, + "ghidra/addresses.d/lane-i.json": { + "mode": 420, + "sha256": "a4c482ff6fee78e96da3400b9ba7d76b58634a5933ff388db5993a1b105c8aca" + }, + "ghidra/addresses.d/lane-id.json": { + "mode": 420, + "sha256": "3f48c9b2e2c3a08e13a856bfb78d551af17f5a1a1079f03f8edbf4615f17ca7d" + }, + "ghidra/addresses.d/lane-j.json": { + "mode": 420, + "sha256": "4fd95b08fee60a2748995cb082fe50d61e7179ae90b106f230bfc5c55a35660d" + }, + "ghidra/addresses.d/lane-k.json": { + "mode": 420, + "sha256": "f6ead3ff256fd2e1408d52bfa28e308f106ad672b3fe1cce0d136faac351136e" + }, + "ghidra/addresses.d/lane-l1.json": { + "mode": 420, + "sha256": "ecbab4a1b602beefd6889effc4883b7f7de01afabb7c5c071bbc4e2237e9131b" + }, + "ghidra/addresses.d/lane-l3.json": { + "mode": 420, + "sha256": "eabb96253bee36c799f1eb89108e284162606cfdc5e9bd29dbf7b5f88ee88adf" + }, + "ghidra/addresses.d/lane-l4.json": { + "mode": 420, + "sha256": "5b2b54d2f3e123e352e9a2b0f1d80fc8afcdd0b97916a94ee5a62ddc03b0ae75" + }, + "ghidra/addresses.d/lane-l5.json": { + "mode": 420, + "sha256": "cedc4869149212d401c519c46fa3f02769f9c939fc560fe8d35cc4f898091482" + }, + "ghidra/addresses.d/lane-n.json": { + "mode": 420, + "sha256": "6987efa430f2da8987e42e61e53113f914cb00e3e52a7c679565e7faf5160c82" + }, + "ghidra/addresses.d/lane-o.json": { + "mode": 420, + "sha256": "7fcf357f25ccdf061b6bc688339e2006f830c551718b6419a0a9d0ac968bb555" + }, + "ghidra/addresses.d/lane-p2.json": { + "mode": 420, + "sha256": "7eaa63d64a0054ef88f323f58b31fca07bd2372dc21560b4bda64eb13d869792" + }, + "ghidra/addresses.d/lane-par.json": { + "mode": 420, + "sha256": "3836b786aec28feb028271d05f368d7c332b8930b51cfdceb36540133a3d3237" + }, + "ghidra/addresses.d/lane-pl.json": { + "mode": 420, + "sha256": "f29953d17effbb7d8256687833023d4656522e74c40bf1ea646d3b35da3635d7" + }, + "ghidra/addresses.d/lane-q.json": { + "mode": 420, + "sha256": "6f98496ffc288fb30c3a7347a7e5252b296f2345afd1bf678f98a2c934b8935a" + }, + "ghidra/addresses.d/lane-rb.json": { + "mode": 420, + "sha256": "bff95b9452e0efb63e74f741682c8d1843abfe3e722143cf01cf092aa894d75d" + }, + "ghidra/addresses.d/lane-sd.json": { + "mode": 420, + "sha256": "d3239b619cbef5cddc9c7bde6525301a99a6423f8a0e42c1ea53b9ae269c6da9" + }, + "ghidra/addresses.d/lane-sv.json": { + "mode": 420, + "sha256": "f574d8b4dc75da722870c74eb29cd56c75e04dd0ac384b4549fc95d425e3de3a" + }, + "ghidra/addresses.d/lane-t.json": { + "mode": 420, + "sha256": "70975f3c1dea55ceb11af12b9ba3a04e8f7bba2e25f1355ffcd3cd457c41545c" + }, + "ghidra/addresses.d/lane-t2.json": { + "mode": 420, + "sha256": "1e3c59089b769cc5f5d3cf16c33cb6db002966f5beb1a4fb9dd8e28fe54cd6a7" + }, + "ghidra/addresses.d/lane-u.json": { + "mode": 420, + "sha256": "bcccb6ec9257537eece135adbfd126904ca0becf14f9b5d17253adf5d8c9e8fe" + }, + "ghidra/addresses.d/lane-v2.json": { + "mode": 420, + "sha256": "6a4d4960ce99c05b928164159eaf4482bf763785a1f8c50efe133667886d9a54" + }, + "ghidra/addresses.d/lane-w.json": { + "mode": 420, + "sha256": "3971d65c772146534f5d8c350f2d203add70ac82801f57f3704c47cd59b51226" + }, + "ghidra/addresses.d/lane-w2.json": { + "mode": 420, + "sha256": "677648e94de8e1e0d538c9575c9be942d0b37c1a847effcb3c2312af5b6aa7d9" + }, + "ghidra/addresses.d/lane-w3.json": { + "mode": 420, + "sha256": "50ed8ed1b16288b00bac4df0886646dbf9d6d6392867029b4eac386806b41b51" + }, + "ghidra/addresses.d/lane-z.json": { + "mode": 420, + "sha256": "bc63a82f2d0cb7636e95f8a07f183f80817a4c65d2bb7263a047ec3c540512eb" + }, + "ghidra/addresses.json": { + "mode": 420, + "sha256": "865c02d88ac6ede656160a5ab20521ad8854efa381d5a943ab422216aca2c016" + }, + "ghidra/generated/sots_addresses.h": { + "mode": 420, + "sha256": "1cf6b4ab40d3cde306edee12ba4eb05292b98ddcf5c2b7c22c1c64b6075b1bdf" + }, + "ghidra/scripts/FixPlayer.java": { + "mode": 420, + "sha256": "9f9ea470af063339511b1f1c85d6dea2df0827c4fed5806c6f641b1aad3e5660" + }, + "ghidra/scripts/FixThis.java": { + "mode": 420, + "sha256": "aafeeb482f71d1bdcbc99a51fb3f21989a46fbb49b5a572f3d9e436c9b3b98b4" + }, + "ghidra/scripts/LoaderRecon.java": { + "mode": 420, + "sha256": "1275d460227e0098254885fe70666d618da7215bca99483a5475c1e701ab9b27" + }, + "ghidra/scripts/LoaderWriteBack.java": { + "mode": 420, + "sha256": "d1040cb9ee80f0fe4d2310d95b38d7d94b0972283f74ea6058de0bdb9e510e63" + }, + "ghidra/scripts/SpineRecon.java": { + "mode": 420, + "sha256": "bea798733cf60f9478373cc453692104058b643ba5b7fc68e76945ae6f496950" + }, + "ghidra/scripts/SpineRecon2.java": { + "mode": 420, + "sha256": "94f10ac953091d50187a46b74803abb4812b244356f9336fa8e133a8a6cba0c6" + }, + "ghidra/scripts/SpineRecon3.java": { + "mode": 420, + "sha256": "b2344ab3d7195cfb935505ba1949f3d4862f787ccb95b812cef3856f92c94ffc" + }, + "ghidra/scripts/SpineRecon4.java": { + "mode": 420, + "sha256": "1093ee635be94f0c0bb31b5bd79f030faa0d7cbab96a495426363172cbcd1d66" + }, + "ghidra/scripts/TechFx.java": { + "mode": 420, + "sha256": "bfa8e990d65ad7cb2b665ee284ec2d645395e0fb3794ea146b175e2937a159ad" + }, + "ghidra/scripts/TechFx2.java": { + "mode": 420, + "sha256": "ee7040ed3316f2e717bac207c3e8ba9bf5ecb560f9e2b38335582c4ca6bae5a8" + }, + "ghidra/scripts/TechFx3.java": { + "mode": 420, + "sha256": "b672751160abcfee37d16eb2f107a60420b7d6956c312fe93e9f62578c06b96a" + }, + "ghidra/scripts/TechFx4.java": { + "mode": 420, + "sha256": "ef912e86f802452f33c20a1adb87eeb96f0ec893e26ee4bbd02305ba0c5e46c7" + }, + "ghidra/scripts/WriteBack.java": { + "mode": 420, + "sha256": "e002a5b86bc58cf75ef8d08dbaeb84bdf3306c1e8d49e92c0382f8ed858c57ac" + }, + "ghidra/vtable-owners.json": { + "mode": 420, + "sha256": "8ee89f3b43f56283a6ffcc605394a1ab246f8071370a9db8f1e770942a5a82a3" + }, + "guides/lab-screen-wall.md": { + "mode": 420, + "sha256": "d398b47853013dbce63b4af2f2ec680c39775732b9fbba13f5fc42a46628550f" + }, + "guides/method-rules.md": { + "mode": 420, + "sha256": "a71a8415202fe97ccaee3805bf4035684776c37f5613dc39a1f260aa33f94b69" + }, + "guides/multi-agent-workflow.md": { + "mode": 420, + "sha256": "f5bf0c30c12a3a9e1725549fe000be0105d415ca25b120673a780901148f08da" + }, + "guides/re-windows-2000s-howto.md": { + "mode": 420, + "sha256": "3490650440d6e683cb029915b8c2cace914b1f52538c9db89175ad4547db2901" + }, + "guides/windows-lab-housekeeping.md": { + "mode": 420, + "sha256": "4a9e9d66dd76e6b5ee1951686186190c650a617fa812fa4bd236ef02b783939a" + }, + "notes/.keep.md": { + "mode": 420, + "sha256": "7878c159a1b9636974e9093902027a24bf7b3c7520f13a8d96f930bd10d22f1c" + }, + "objects/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "objects/layouts.h": { + "mode": 420, + "sha256": "24586f7f1c25530691193a919c6335ab1784fa2815b222326409cfe9e2a42981" + }, + "objects/layouts.json": { + "mode": 420, + "sha256": "16bfffa5020d98c12af61c72a48da8f2c5e06d1060358802717e585a49b150b2" + }, + "objects/layouts.md": { + "mode": 420, + "sha256": "83bc29fcd379847f9ebd6732edf9748c1c878052e889615928659307f97a148c" + }, + "objects/streams.json": { + "mode": 420, + "sha256": "60993eda14d0b1056578718d43a3b6d89816e12c4f5a00674806aeef9e81baf7" + }, + "opencode.json": { + "mode": 420, + "sha256": "d24be7fcee57d5eb04c6b7189822a2ca055dd4a70daafbea67f09a120945d49f" + }, + "scripts/.keep.md": { + "mode": 420, + "sha256": "b0cdcee8cfdc1b15ee444520b6b01c747399deea6d92ff2576ca6eb57331bbac" + }, + "scripts/forgejo_campaign.py": null, + "scripts/lane_v2_writeback.py": { + "mode": 420, + "sha256": "69a66058adb04926eeb6f0e81fa8f0392ce06de2e8d8eb61ebcf503bab6311da" + }, + "tools/DASHBOARD_README.md": { + "mode": 420, + "sha256": "f401cc54f64a4862a938263f37eaab22e6475e063e59726e02dce201f657dcc4" + }, + "tools/aiorders_to_tcb.py": { + "mode": 420, + "sha256": "9762d1fd45f3ab7c045088e222c5386a2cc63a6b25e1c09a49cbbd71837bfe17" + }, + "tools/cache_functions.py": { + "mode": 420, + "sha256": "18c037e48ab035764b0c877123ea7c998ef74240c63090e4f58142f57835e0b1" + }, + "tools/campaign.py": { + "mode": 420, + "sha256": "c7b7c7a30d907bba8e59386dee8704d7f3f5e978fcf709b686e37996fa465c31" + }, + "tools/check_agent_config.py": { + "mode": 420, + "sha256": "93115532cb38105777a5c5c20a9f2a808043370e0d4f560a9c82fe8e800076ec" + }, + "tools/dashboard.py": { + "mode": 420, + "sha256": "c84aeeea6fb7d5e45ccec8882bacc59182149f108edd9eb1585eab9ede99911c" + }, + "tools/displacement.py": null, + "tools/evidence.py": { + "mode": 420, + "sha256": "0a7f8497ed287b4b64aa5ba0cb25735172408e38f3605b3ff90f009c7f02eb85" + }, + "tools/gate.py": { + "mode": 420, + "sha256": "4df5ee7022fb2601687f06eab788e2cea1e345e580c4e92c9d47be1787d37460" + }, + "tools/gate.sh": { + "mode": 493, + "sha256": "d7ba27b9b0c6a03df48e4edc71884ef9986743f8afa751dbfec116df5aeee18c" + }, + "tools/gen_addresses.py": { + "mode": 493, + "sha256": "5d995585d4192a19db7cc6d31ed811fa80264159fc114f03f58793f9b6c4908e" + }, + "tools/gen_stream_schema.py": { + "mode": 420, + "sha256": "a9c3e925bb3370371a2c8cde8d738c657fe1cbf68c39c6155562bbb20c551461" + }, + "tools/max_income_oracle.py": { + "mode": 420, + "sha256": "8d3ec6ba5c677486200eab7d1ca55e1350947829e603737307fa394ac8e40bcd" + }, + "tools/max_income_predict.py": { + "mode": 420, + "sha256": "85400c82b6cb7c6786b7fb6486bdc7bcb1140817f7a0ff0b4fa4f7dbeded8797" + }, + "tools/probe_report.py": { + "mode": 420, + "sha256": "f3ef378c10bae4a8bef754d853f0e86616bb95b5e051e04cac97d362587df1a7" + }, + "tools/reva_call.py": { + "mode": 493, + "sha256": "89477650d38985f84b61a664572de1cbde1268b879d3da5e874598942822998b" + }, + "tools/rng_ledger_report.py": { + "mode": 493, + "sha256": "b4f3f581eb6de50118fd531c848354816c20197711e668ce8b0cfcb4d0392cf3" + }, + "tools/rng_oracle_check.py": { + "mode": 420, + "sha256": "f27ca7f9aa03bc672f04067bc71e73ac83742997f12f5f55ce11151bdc39d98a" + }, + "tools/rng_site_report.py": { + "mode": 493, + "sha256": "fabd950c002265403f7b13a8868a158d867828c9930770ed096a2610b086ad35" + }, + "tools/rtti_map.py": { + "mode": 420, + "sha256": "9ac88a8aa566fe08336ba6e50905ec4253409e1317f491c415b1b9ebcc0713e4" + }, + "tools/run_agent.py": { + "mode": 420, + "sha256": "0f5ccb53dcde59b64fe999768737b6cbd2dabcc1272e5605c1f1ecd86e5d5d2b" + }, + "tools/select_evidence.py": { + "mode": 420, + "sha256": "a6e648a77bcf799cc774ff9d0de83011283049ed0f0c44f6e08857a8410e9463" + }, + "tools/serializers.py": { + "mode": 420, + "sha256": "938904eb7b4ae30a61dd966494b112c6d52399f9d4a4658add06b40a54d6cb73" + }, + "tools/serializers_ghidra.py": { + "mode": 420, + "sha256": "d27da0afc8d043d31335bbe274fc76245e50cf0f9091a968b124f31c3a17997c" + }, + "tools/serializers_golden.py": { + "mode": 420, + "sha256": "29d2509b54704b80eff46a59a320719edb17a7eb67fd8acb8ad5e3c427d8e825" + }, + "tools/standalone_report.py": { + "mode": 420, + "sha256": "43a61c4031306732554aca23cd95b57d35f2a870766c33ccf8e005f22436525c" + }, + "tools/streams.py": { + "mode": 420, + "sha256": "57ec4ec5ad222a74f4461d70277d258e51779ae53ff74fd0e07eb51d4bae0afd" + }, + "tools/strfootprint.py": { + "mode": 420, + "sha256": "3b0db212c0b091ae2f63b866ee331435d013c535f233ec34ae3dfb63ded852dc" + }, + "tools/tcb_from_json.py": { + "mode": 420, + "sha256": "8fe09cff16802fda34db24f6f888610baa258399ab39173586b91a7a162f231a" + }, + "tools/techid_table.py": { + "mode": 420, + "sha256": "2c644bdbd3774b70dfdae7e77ff7a3a8e8563b58be7098a2d55ee30dc8b8fd07" + }, + "tools/turncommands_capture.py": { + "mode": 420, + "sha256": "0214d5da6f5f86e188bb2f03db8d3439267baee3a883c7df754601c7c1a38536" + }, + "tools/vmshot.py": { + "mode": 493, + "sha256": "09228bf8bd61918c49afc2b6da931fc8a7833be126be5384b85194e0e86eea44" + }, + "tools/vmwatch-install.sh": { + "mode": 493, + "sha256": "3c004f532422bd589a7294dabdf54d5a726f598c69012eaea3d73a748ad0123a" + }, + "tools/vmwatch.py": { + "mode": 493, + "sha256": "650d8232e46239a55b96f26d581d7d9c5815415c9014fd2e5b846b68c1346b39" + }, + "tools/vtable_map.py": { + "mode": 420, + "sha256": "2e19223efb79421ab4b807e32f0854b2592d7d3a3a52c12e84e47460b960f740" + }, + "tools/windows-housekeeping/Invoke-Housekeeping.ps1": { + "mode": 420, + "sha256": "a97911a3cfbd47813282efa7f52b4de03d28912487fffe0e7e7aa1a250cac01a" + }, + "tools/x86disp.py": { + "mode": 420, + "sha256": "a05a42d63813d2025a4da65bdd684e82a89c95c52901a8f490391e31c49a122e" + }, + "verify/campaign/test_controls.py": { + "mode": 420, + "sha256": "108460f4e90c4cb7036642e85de581e31fd70c478533c32364691260461814fc" + }, + "verify/config/test_agent_config.py": { + "mode": 420, + "sha256": "e60ee546672da91de08ca8fdd5d563b5f1207d0a865adf935017e06bf437585b" + }, + "verify/config/test_source_check.py": { + "mode": 420, + "sha256": "c16731e31a54256dde4f88d33007759ff21ad8537ca6cd2be38b9e34c59525ad" + }, + "verify/design-rules/SHIP_DESIGN_RULES.md": { + "mode": 420, + "sha256": "4decf51bfa03e8ab2b58478198332e834233100126949b920349f210b54521c8" + }, + "verify/design-rules/data/HiverInvasion_FleetTemplates.csv": { + "mode": 420, + "sha256": "327e799be3c75361267725c157f78b425d3a1df6ed6595104b2ce9993e8ae3a7" + }, + "verify/design-rules/data/UpstartApes_GiftFleetTemplates.csv": { + "mode": 420, + "sha256": "89939d70eb6ed48ec776a4a6fc50ccb68fc6be7162706bab199484bf7cdd5e44" + }, + "verify/design-rules/data/_defaultweapons.txt": { + "mode": 420, + "sha256": "ef9e33aa32840f1878ece67f88556d81a4255f63f6e8aad4ac73e575ef2c7ec8" + }, + "verify/design-rules/data/_turrets.txt": { + "mode": 420, + "sha256": "35de6ad40895f76298eef7dc354c739a5a59747b689c2324cfa5040442eddc18" + }, + "verify/design-rules/design_rules.py": { + "mode": 420, + "sha256": "772f70c7d6be2d20d10cf4f5d412233b267440d63d431bf7b320c29f3f06e313" + }, + "verify/design-rules/stock_designs.json": { + "mode": 420, + "sha256": "b363023e02899bc03e4c8b8423b394ef8abb190b1bcf437aade19be463353f68" + }, + "verify/design-rules/stock_designs.py": { + "mode": 420, + "sha256": "fe020f6058ec25b6fc456146abb6594825ee2b98ba5c5c5eeaff969ce4596031" + }, + "verify/design-rules/test_design_rules.py": { + "mode": 420, + "sha256": "6f6764d21d7a3337ec8aba9651b19947239a7d06a6cdf7c6e9be5ddefcfdd186" + }, + "verify/fpu-cw/cw_census.py": { + "mode": 420, + "sha256": "07b7ac5ae60df487867b592e82e9f74201b695437fba248813bc07305a21c7cc" + }, + "verify/fpu-cw/trace_bitdiff.py": { + "mode": 420, + "sha256": "b25c93d70e67ed2fa81e5ea7184f8ffe0cbd2e7c043bc94f923c3db1cf101b59" + }, + "verify/harness/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/harness/cb/README.md": { + "mode": 420, + "sha256": "7a656251a600a9343ffa8afaa4f227e7cb8086be7d3c6879c0a403ab8acec71d" + }, + "verify/harness/cb/cbdo.sh": { + "mode": 493, + "sha256": "6f3d7fd35aeedb0841be9df0ba19136be2e7ccb5c44950d8aa821c61727232a6" + }, + "verify/harness/cb/cbfull.sh": { + "mode": 493, + "sha256": "609101217e9d35bf1caa5cb66f362e0796fcf6c1264bd92ff550d0ed12ca2521" + }, + "verify/harness/cb/cbload.sh": { + "mode": 493, + "sha256": "2e56bb64609434f6dfc6ebcf71a3c839ae59170db80c996ebee7c2219cb664ec" + }, + "verify/harness/cb/cbmenu.py": { + "mode": 420, + "sha256": "fb2e72a1a5390aa28dcae0fbc2d7b920b06bf3b1ea161bb757d4db3c8cd23af2" + }, + "verify/harness/cb/cbstep.sh": { + "mode": 493, + "sha256": "5896b21e8cf08b40e2a2958e44a51beb7e5b5a58cf35d405879a5df7cdd375b4" + }, + "verify/harness/compare/TRACE_FORMAT.md": { + "mode": 420, + "sha256": "cf6f61dc255e3aed0f293c141d9fd3b0d5e848e3abe4dcf50b4ca2d58e37c024" + }, + "verify/harness/compare/mkfixture.py": { + "mode": 420, + "sha256": "f081dd92b9e82e838f59ce8f9c79d5cdebb825255f13b6c49178516e7f3ef118" + }, + "verify/harness/compare/oracle_parsers.py": { + "mode": 420, + "sha256": "b1a745bfa63b447c87279afdb2885a0218f2a0dc2539f79414f8a2534e24c97b" + }, + "verify/harness/compare/test_tracecmp.py": { + "mode": 420, + "sha256": "f25eb9d5ea7215b8366c44924fb49a5f028a0188e709dadfd90cfbc30db0823e" + }, + "verify/harness/compare/tracecmp.py": { + "mode": 420, + "sha256": "d6ca461cabf15351e2040150144084b93d3caf22d879ee158ede04052ab03cbb" + }, + "verify/harness/l2-ui/README.md": { + "mode": 420, + "sha256": "48effd757522ee5ff70af6d77449dcfd805bb7744c9093d01c039b86e030d7f6" + }, + "verify/harness/l2-ui/launch-b.cmd": { + "mode": 420, + "sha256": "8f26c451a88765c49ecb3c8160ed4a3d06f1100a6d9323b305efc01f039dfada" + }, + "verify/harness/l2-ui/socks.ps1": { + "mode": 420, + "sha256": "401cce47d495507f60eeae45942c146586464959046ef9715cd69605753af027" + }, + "verify/harness/l2-ui/ui.ps1": { + "mode": 420, + "sha256": "355c8f222bf99f547d9d16a1665a072e6914917d48e4db22b8438d2d83708e97" + }, + "verify/harness/profiling/battle-run.sh": { + "mode": 493, + "sha256": "79f14ded5c3731efd655a6f9a4ac6795f3ace0a9b064c43ba4bf9a2cb988a7cf" + }, + "verify/harness/profiling/funcs.py": { + "mode": 420, + "sha256": "841a6f5e5dc1d845b7439c9ce9dc08e045864929b0f367908abea7ab54259207" + }, + "verify/harness/profiling/funcs.txt": { + "mode": 420, + "sha256": "d35b17dbb3970f5c24ae862748c5b91aee87491968719c34e48a8b88c0615835" + }, + "verify/harness/profiling/iat.py": { + "mode": 420, + "sha256": "82465ef8284739ab3d3c99acd0fa6cc5a4bb80c8680eb7a949218305fd10d3d3" + }, + "verify/harness/profiling/inspect.ps1": { + "mode": 420, + "sha256": "35bc7dd85108e3f4686975ef7f510b1cc9306b5839329f7fdd2a5ac27a140611" + }, + "verify/harness/profiling/names.txt": { + "mode": 420, + "sha256": "89d90f934e445447c68569448471a8917ee0bbfcb5fb96bba3e6566be9b0779c" + }, + "verify/harness/profiling/parse.py": { + "mode": 420, + "sha256": "680df36804e923d74da8e9fd8877b5ea66975c9ce8d239ad4507c829f881722a" + }, + "verify/harness/profiling/sampler.ps1": { + "mode": 420, + "sha256": "ef0edde8535ef07e508a732f8e11dc3d50fef966e5a9e4d8161085a83372993e" + }, + "verify/harness/profiling/shots.sh": { + "mode": 420, + "sha256": "87e554abf08068d6438417e266f1e7820e34a900a7d559fa0a7c4a2fa18002b3" + }, + "verify/harness/profiling/timerres.ps1": { + "mode": 420, + "sha256": "80362eb9ec8bd882abddf2507236e70db2dd21f64c9db07d217bdd49361ed89c" + }, + "verify/harness/profiling/turnloop.sh": { + "mode": 493, + "sha256": "8e28f076599a9eb53eace77ad77a10b0770f1ce617c7a76e6a2b9044ee0c8774" + }, + "verify/harness/profiling/turnwin.py": { + "mode": 420, + "sha256": "e2033a8e519a7c9f65f67b5592494a9843eb8bef41af6ab5652343aa86bd4c60" + }, + "verify/harness/profiling/ui.sh": { + "mode": 493, + "sha256": "e66774a4d070285e6c6a62472000222a691c7192096039e75fa726bab9f6afb7" + }, + "verify/harness/run-recipe/click_helper.ps1": { + "mode": 420, + "sha256": "150a1c17e12e8479244107cd01d95233c84d550e95a6f5e352fd529818a21d7d" + }, + "verify/harness/run-recipe/display.cfg": { + "mode": 420, + "sha256": "76b4876abd1cd163a5cc6b65a6106670476cde40c9b868a53a0dc45f517e132f" + }, + "verify/harness/run-recipe/dxvk_d3d9.log": { + "mode": 420, + "sha256": "f48ff2684a78cea563ab7f10e2f005638044352fe9cfc30dedf0f26ec7fecf23" + }, + "verify/harness/run-recipe/launch.cmd": { + "mode": 420, + "sha256": "90a6effe8ae835bf641cc775a17ad709198fdfeded4379f658255a82f594e5c2" + }, + "verify/harness/run-recipe/lvp_icd.x86.json": { + "mode": 420, + "sha256": "b89a08526e043a84c3a2550b5ea2fd7692f547ea295e8dd70e79c64fe81f6fbf" + }, + "verify/harness/run-recipe/run.txt": { + "mode": 420, + "sha256": "12c83295dae9db4a98142ef8fe7e45321c90960428df504ed3496e27838a0413" + }, + "verify/harness/run-recipe/session.log": { + "mode": 420, + "sha256": "e9ce9b496e9ee55bd64cc27afe594cee6136dfbc6cf9d9d44e9914b27e568a93" + }, + "verify/parsers/PARITY_NOTES.md": { + "mode": 420, + "sha256": "beecfe60358f5977529bd0784ffe18ca03c38d2dd36766f351c6a9addac83bda" + }, + "verify/parsers/effect_txt.py": { + "mode": 420, + "sha256": "7219045dfaf305dd64218ff8096e8cac69a53df1aabdf85f15e6c5e01c963e74" + }, + "verify/parsers/flat_kv.py": { + "mode": 420, + "sha256": "a26149cb21d152be5cbada3b764e042187daf2ec306b2dba1081737af6a7ae4f" + }, + "verify/parsers/manifest.py": { + "mode": 420, + "sha256": "62a08cfd82d5f701ae3b3f567bc8382cfd1b33b49bf6049ade47a932ef7109da" + }, + "verify/parsers/mars_data.py": { + "mode": 420, + "sha256": "90c7b8421044b1d7e262e6f20e5af391d97a712b12c2d3f0c3033567881d536f" + }, + "verify/parsers/verify.py": { + "mode": 420, + "sha256": "cc5d619bd6b3ca161b4bc8050c30e7d77f6bd3e964c971cc29e051efc1e25a33" + }, + "verify/publishing/test_dashboard.py": { + "mode": 420, + "sha256": "cc44e516da663f5d27bf817cbcbf24c052f2db52ee887d08d7c271caf8f6a000" + }, + "verify/results/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/results/compare/.keep.md": { + "mode": 420, + "sha256": "4581f3fde61549f4c621b2f114228a62d066a528a270a9b41703238ff841ac1d" + }, + "verify/results/compare/b2-techfx-compare.json": { + "mode": 420, + "sha256": "b0533322d44b1694f36baf86d6660481ac5b22ce9c1d6b6b9668ea064cc08f4b" + }, + "verify/results/compare/b2-techfx-golden.json": { + "mode": 420, + "sha256": "4298a8229b85a3329c78d3618d3eb19aff096cb2da66e9238fd843d639b17f11" + }, + "verify/results/compare/cr-compare.json": { + "mode": 420, + "sha256": "f20e9a7c71412688c02b607f08a5224367598eba552e35a50e9922ca8f12edab" + }, + "verify/results/compare/cr-compare.md": { + "mode": 420, + "sha256": "0eb905744120b1cf264ba6e57497db64fdc8e225a87ef7bb86cf3f026ffe4d0d" + }, + "verify/results/compare/cr-replace0.json": { + "mode": 420, + "sha256": "f1556c5d74c236c82617061b5ec60b1a7ce4652bce87b6595eb89406ad832240" + }, + "verify/results/compare/cr-replace0.md": { + "mode": 420, + "sha256": "6f571e46350a29b811bc12b48e12ed2d443acba5f5be6310e0531c3790425d48" + }, + "verify/results/compare/cr-replace1.json": { + "mode": 420, + "sha256": "d0c1d6bd4a1f8f5343b584662d8202184479b01a51480443a97242daf27fccc2" + }, + "verify/results/compare/cr-replace1.md": { + "mode": 420, + "sha256": "111b51290468d5482a1910194487d26dc1b3ec534d699aa07a564de66bbf9d98" + }, + "verify/results/compare/eventlive-b3-t1-5.json": { + "mode": 420, + "sha256": "4f305180bcbe93523f407d1f8406ac52b84d4a20e2d611940716618fd37edfde" + }, + "verify/results/compare/eventlive-b3-t1-5.md": { + "mode": 420, + "sha256": "ec71d98210218fd5b5da69f6b17cf6991128a58a0358a6504e6497dd39159764" + }, + "verify/results/compare/eventlive-b3-t1.json": { + "mode": 420, + "sha256": "84f66c1e6a23f737d1615e75fd22fba958bfd851067acb42503e32a2812dd1de" + }, + "verify/results/compare/eventlive-b3-t1.md": { + "mode": 420, + "sha256": "299b8dd3f2cf42cbc9e6254fac01ee3dcb6abb0758c8f298beb6cc6464db4cfb" + }, + "verify/results/compare/eventlive-b3-zuul.json": { + "mode": 420, + "sha256": "a1a92c06202c8168362c33442edeb7ea7f76f6e586e5deea1b86dff9dc8f3494" + }, + "verify/results/compare/eventlive-b3-zuul.md": { + "mode": 420, + "sha256": "544791f9cd8b77a2d865f2a918d97e74559529f29943171bd1e8e2d8a120dec5" + }, + "verify/results/compare/l5-budget-boundary.md": { + "mode": 420, + "sha256": "6877f9cfc602876b4c213106493853822471a5aaa3e4e8ebf8dffd31373d89d9" + }, + "verify/results/compare/mf-after.json": { + "mode": 420, + "sha256": "586a824a0d0af1de0808c33c1c392c4022128f9c1305dc32b6749e8fa493e8f4" + }, + "verify/results/compare/mf-after.md": { + "mode": 420, + "sha256": "659be3da71cabfd3c34eb818f1bac07f848c58a878fd62d81ac7b1daa5f3ce03" + }, + "verify/results/compare/mf-before.json": { + "mode": 420, + "sha256": "259272b45ca9c63894d8c91e399ff91d7258b7836f1a0d5c91dd3972586b2498" + }, + "verify/results/compare/mf-before.md": { + "mode": 420, + "sha256": "4572530a1c93865d27aba47c23c418773ad39a834c8be1c004f5cc2f16f927a0" + }, + "verify/results/compare/output-ref-turn2.md": { + "mode": 420, + "sha256": "43a569165f9239f13edc31c7a848a6b839829ae06dd6e3b85d289a1552eb8d34" + }, + "verify/results/compare/output-zuul-and-ref.md": { + "mode": 420, + "sha256": "9bc0937c0b3e1e3e5a6cd3768dbfeae56a897615396b00834bd083611f3ef431" + }, + "verify/results/compare/recap-b1-compare.json": { + "mode": 420, + "sha256": "8e86cdd32373e41ac1cdc130b18acc188b35d5ab7112e1fc655d134c44ad9712" + }, + "verify/results/compare/recap-b1-compare.md": { + "mode": 420, + "sha256": "496a3246eda3be76d9d0f08726369d40aa879cf60a510f16209ae77585582841" + }, + "verify/results/compare/recap-b3-compare-t1-5.json": { + "mode": 420, + "sha256": "80eeeeccf15f427b75b053d06f6b32b1692a2ed9ca6b9a51c244e4166a1b0e78" + }, + "verify/results/compare/recap-b3-compare-t1-5.md": { + "mode": 420, + "sha256": "5b6295bff72d599f142e75fa913ca2da590322a6fd1d104328847159fc5e7802" + }, + "verify/results/compare/recap-b3-compare-t1.json": { + "mode": 420, + "sha256": "10d0d5f8aff90f6cce3cd87e30c7f8ff896c5b369f4dc8288141451e25727cb9" + }, + "verify/results/compare/recap-b3-compare-t1.md": { + "mode": 420, + "sha256": "2b0eb8865bb07a2dd8fd038bc19e38a34fbf19b9d3f6fabae085c16a74fbcc6f" + }, + "verify/results/compare/recap-golden-trace.json": { + "mode": 420, + "sha256": "50bb7e34ab2359adc83cc0647fc995d207173fcf6134e413565af450958f652f" + }, + "verify/results/compare/recap-golden-trace.md": { + "mode": 420, + "sha256": "586fc86fe78659902a5d0859c0bce44623bfcda0f375bb57b293796862c48e17" + }, + "verify/results/compare/recap-misc-compare.json": { + "mode": 420, + "sha256": "c73f3f3593a0d715a675b29c7b4f49c02a97578ee9d867ce15d217c43da2e466" + }, + "verify/results/compare/recap-misc-compare.md": { + "mode": 420, + "sha256": "b435c92441742b2b1b0236bfacff10c17757696baf446c544c4759b7e31237ed" + }, + "verify/results/compare/unlock-b3-t1-5.json": { + "mode": 420, + "sha256": "a4dbfc89f6f3d154edbbc62842a4e8d8a3c69b9589eafc1bb496b26a3ecf6e3d" + }, + "verify/results/compare/unlock-b3-t1-5.md": { + "mode": 420, + "sha256": "832626087ddc2da9064a192a1acfb3869d4a52c6398a070cbd66eaa1bdbe2e2e" + }, + "verify/results/compare/unlock-b3-t1.json": { + "mode": 420, + "sha256": "6d8938b8eaeb2da1c7fdccb1fb68f8e3a2b5b7f492cc096326cf3aadb2ab8d55" + }, + "verify/results/compare/unlock-b3-t1.md": { + "mode": 420, + "sha256": "8911e671a143c25765cd7c0b67f1b9cb23f4040fe26aad40ce59b1db858afdcd" + }, + "verify/results/compare/unlock-b3-zuul.json": { + "mode": 420, + "sha256": "3099d248d58c4395e92d65ad18c28227695a7c7935193be6c2bcf752fa0e0f04" + }, + "verify/results/compare/unlock-b3-zuul.md": { + "mode": 420, + "sha256": "f53b165c8502ba9b2416935179fdea68153fb6ebd2458b4ec9b4ecf6c741c91f" + }, + "verify/results/data-catalogs/crosslink.json": { + "mode": 420, + "sha256": "2966ba9780910b596e350c4f81eef5d74c4d235dc3a8d5cf6ad5fd53a407254a" + }, + "verify/results/data-catalogs/schema_stats.json": { + "mode": 420, + "sha256": "6e3f669ae77cdfa2c5cd6bbd29f5cecccd452d9a7b2397c2c23db6c33fda0a2a" + }, + "verify/results/data-catalogs/shipsections.json": { + "mode": 420, + "sha256": "2e7057c608d0cea755bf9dbfa291864d33e3f09ad5deff7bb3a8045bde7a4ab5" + }, + "verify/results/data-catalogs/strings.json": { + "mode": 420, + "sha256": "c36c1b2b9a2eace438f93698df6388fa94aec30d372bcd0bee7e09bb33c54d7c" + }, + "verify/results/data-catalogs/tech_tree.dot": { + "mode": 420, + "sha256": "96ce0492a1284167d82af2c07a8f8a0b3bb9864bc137195560d909df6a913055" + }, + "verify/results/data-catalogs/tech_tree.json": { + "mode": 420, + "sha256": "18df799410c5f650e15808c1ef247b4768a3dfff93795a5ec7f56cd6c4afc597" + }, + "verify/results/data-catalogs/weapons.json": { + "mode": 420, + "sha256": "a446b445c21519fc7992c84155c9652239567030843c405b4219d1f65022db01" + }, + "verify/results/fpu-cw/README.md": { + "mode": 420, + "sha256": "3928fd0f6a03a8ff0b170a7ed23a059120b5014b13bf6870d4f187ff299d5975" + }, + "verify/results/fpu-cw/cw-census.txt": { + "mode": 420, + "sha256": "b7854dc5cd249a2490d04264d758f1894a9ddf4b95573650365d47587c7589d3" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f-rep/shim.log": { + "mode": 420, + "sha256": "73b5b86da743a1cb37d4c0d97b29978923b55a7a47f80c7fa20ca47d424f6c02" + }, + "verify/results/fpu-cw/run-007f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f/shim.cfg": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "verify/results/fpu-cw/run-007f/shim.log": { + "mode": 420, + "sha256": "5721f47d7fd862156ce2cd1832cd1739636b5aee53c82323ef233ff6401775bb" + }, + "verify/results/fpu-cw/run-007f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "149c4fcf750fcf9e81dc86d8696271d9a14ca788891ac95cf96995e3737c68e4" + }, + "verify/results/fpu-cw/run-027f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-027f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-027f/shim.cfg": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "verify/results/fpu-cw/run-027f/shim.log": { + "mode": 420, + "sha256": "4bd3f88bd27eb2e3ae1f42f4dc2ccf1cc5df1a2c1171d2eff8be86e7be684187" + }, + "verify/results/fpu-cw/run-027f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b5d2611d0c08946c1e1eaa244a7e44782eac2592c392efb3d7147fbbd86816e7" + }, + "verify/results/fpu-cw/run-127f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-127f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-127f/shim.cfg": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "verify/results/fpu-cw/run-127f/shim.log": { + "mode": 420, + "sha256": "03f1999dc8964912697782e856f89f190b6680d5732f2cd00b1569bff727a545" + }, + "verify/results/fpu-cw/run-127f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "fb1b9063cc53a6b39ea0a58e0545b9334fbd15d65dd839e72f2c4febbb1dd3f0" + }, + "verify/results/fpu-cw/run-137f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-137f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-137f/shim.cfg": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "verify/results/fpu-cw/run-137f/shim.log": { + "mode": 420, + "sha256": "83aa72572412d5248179397895029367685fd590d795991ab91c98cf9828ae29" + }, + "verify/results/fpu-cw/run-137f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "aad1fb6abd86beafb9f44e2c6060157e22618811d105f2379252e19008839b66" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f-rep/shim.log": { + "mode": 420, + "sha256": "38f2824fbe91bf2fa1ef55473a7468707248420805b6f6dc85245fd34fa94200" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f/shim.cfg": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "verify/results/fpu-cw/run-1a7f/shim.log": { + "mode": 420, + "sha256": "a1bb0bd06dae6955ec09e7d0c6cd1e68e19aa2a114256cdeae1275def0a63091" + }, + "verify/results/fpu-cw/run-1a7f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b9a7affb8235626fcfdd5afe143e4ec03be869b6b386bd9ac78389097df88cef" + }, + "verify/results/fpu-cw/run-off/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-off/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-off/shim.cfg": { + "mode": 420, + "sha256": "6a19c362121a3dba0aac857d6e998131e8b2478f19edcdcbd58006645d096c70" + }, + "verify/results/fpu-cw/run-off/shim.log": { + "mode": 420, + "sha256": "9e3cbd005f0b68037681939b289834c55629bac0e9cd35ac55e6d8ef5333a116" + }, + "verify/results/fpu-cw/run-off/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "ec2271c0d7e09fe51ead7f8d58859c692e8b302233191841d506ea14248caa8c" + }, + "verify/results/fpu-cw/state-checksum-diffs.txt": { + "mode": 420, + "sha256": "3417dfc1b75ad896ac6a5e974d51248eecca319565e2422e146897d19e121b68" + }, + "verify/results/fpu-cw/trace-bitdiff.txt": { + "mode": 420, + "sha256": "8f86707f26f30638097c85f0db6df219adbfebac4e9ec24f1feb8bfce112d4f2" + }, + "verify/results/housekeeping/vm140-result.json": { + "mode": 420, + "sha256": "2250b02342f5c02ba5464cb4656543c6366dec098fbc948006600896ac9254c0" + }, + "verify/results/housekeeping/vm141-result.json": { + "mode": 420, + "sha256": "03d92ffd2947b2f0c058e5c613e04567cffee45be456aece6d771b789f32fb93" + }, + "verify/results/housekeeping/vm144-result.json": { + "mode": 420, + "sha256": "ace15320f7e60995a68f2c9c03a5a44159ae2d64fa273d34d38e285d313a0393" + }, + "verify/results/housekeeping/vm145-result.json": { + "mode": 420, + "sha256": "768666178bf2910a2ff026351727b5cc96e48df70e1ba012031d34eafc95ad7a" + }, + "verify/results/housekeeping/vm146-result.json": { + "mode": 420, + "sha256": "eebb306a3ec8533abae6dfd59f127c48effe9f21107e0c5c09c751108e77bb97" + }, + "verify/results/multiplayer/l2-combat-hud-client.png": { + "mode": 420, + "sha256": "02c86592531ab2889a0eae04e44a644d33c754096fe60aca6640068a7a3f421f" + }, + "verify/results/multiplayer/l2-combat-hud-host.png": { + "mode": 420, + "sha256": "a56daf36fcc88627b29116ad9874c95a3c46960074ff9b823aa15c4ea2660dd7" + }, + "verify/results/multiplayer/l2-combat-loading.png": { + "mode": 420, + "sha256": "f94a718cee08e1b7d346490058f13a107d23aaa7c269fdd53b159a75d62fa558" + }, + "verify/results/multiplayer/l2-combat-round-draw.png": { + "mode": 420, + "sha256": "c1b8424540b702915302f9ff38eaf765e8e95fddc3c5c4d894438dcfcf8b6256" + }, + "verify/results/multiplayer/l2-combat.pcap": { + "mode": 420, + "sha256": "0f112ef96da6c465dbda51baf99eedd66967eed61c097f643bf6c66fc26af31b" + }, + "verify/results/multiplayer/l2-encounter-query-client.png": { + "mode": 420, + "sha256": "4c41b268ad256b0109483a2d9b5ba35de7b9cadb4eb32ef4a68f7867e6e747fd" + }, + "verify/results/multiplayer/l2-encounter-query-host.png": { + "mode": 420, + "sha256": "8c7b0c6d65ddde45eb3447f044589ffc36500b40c4d676af8321f800162f38a0" + }, + "verify/results/multiplayer/l2-fleet-built.png": { + "mode": 420, + "sha256": "6ac91fcf9b42caef50134de01804046d8e60d0fd3966592e9738ceff511949c2" + }, + "verify/results/multiplayer/l2-lobby-client-joined.png": { + "mode": 420, + "sha256": "4a8e698c9ea935449ff0421cd59acd517ebffa388a7572279b28be0369141ff6" + }, + "verify/results/multiplayer/l2-lobby-host-created.png": { + "mode": 420, + "sha256": "e6a7377cabafa973396cedafa5ad5b4863a42f9866709db88faf9572e0ed3c98" + }, + "verify/results/multiplayer/l2-move-warning-dialog.png": { + "mode": 420, + "sha256": "43c6219d74bc0cb28495f13784cdbd3a90c89746b108824c3a2138dbdadcb53e" + }, + "verify/results/multiplayer/l2-socks.log": { + "mode": 420, + "sha256": "109b630d6548d07404f9f905e6c527f10e25221698f1b66226f67f94c5f294b5" + }, + "verify/results/multiplayer/l2-turn13-client.png": { + "mode": 420, + "sha256": "d19f17c4219f21f6c9950440d528a1a91fe3907761df21fd0ba99321b8820baa" + }, + "verify/results/multiplayer/l2-turn13-host.png": { + "mode": 420, + "sha256": "811efcfb571d60435f772a3b619bb329717d1e162b88e440ec0d636b1c6042fc" + }, + "verify/results/multiplayer/w2-internet-browser-no-error.png": { + "mode": 420, + "sha256": "6409b977056c95b29928a0098f75fffd71c501128f9d9325c3000837131c8791" + }, + "verify/results/multiplayer/w2-join-manually-dialog.png": { + "mode": 420, + "sha256": "86904e94a5aec41c1e89271d2712558c3b5055bd2ae4fededfda103d1e22fb71" + }, + "verify/results/multiplayer/w2-lan-browse-listing.png": { + "mode": 420, + "sha256": "6f5d16fa719fb63dd627fba551221c7665b69002e83fe35b8d84912cd7d8ce83" + }, + "verify/results/multiplayer/w2-lobby-client.png": { + "mode": 420, + "sha256": "ede652b21e2a4ea07c8132e4080ba903d1052ebca336bb007e1e8efa62787f10" + }, + "verify/results/multiplayer/w2-mp-turn1.png": { + "mode": 420, + "sha256": "59f9a1f5d8c0fff45d3ae3406dfd9878a5915f18e999d909a5238a90a3b86ed6" + }, + "verify/results/multiplayer/w2-mp-turn2-client.png": { + "mode": 420, + "sha256": "d9da4c151cd8290f80b31eb5ed8a74a0a30a87d1f7a80a179fa082a9439e08e5" + }, + "verify/results/multiplayer/w2-mp-turn2-host.png": { + "mode": 420, + "sha256": "910efd36b4a7c1a85d8ad487660f856339af037b9b00fef0cafd5e77ebdc36e5" + }, + "verify/results/multiplayer/w2-tier0-filtered.pcap": { + "mode": 420, + "sha256": "e108778fd1afb7718c53a4164310b8523415ef073706d310583dab424e5921cc" + }, + "verify/results/saves/ac-turn20-raider.sav": { + "mode": 420, + "sha256": "ee787db8f63d8f564c597bd5a82709790a0fdf47827912037f96b736f2cbed34" + }, + "verify/results/saves/ac-turn22-raider.sav": { + "mode": 420, + "sha256": "0faeaa601e6a867876819e5646b85f8787851093b8e6bd6e3946eb867f2dcc74" + }, + "verify/results/saves/ad-oracle-A-post.sav": { + "mode": 420, + "sha256": "a634510e7208cceb10d8ce016ceb0153601f11d7291f08122bcdb6418e313331" + }, + "verify/results/saves/ad-oracle-B-post.sav": { + "mode": 420, + "sha256": "676b1778880b5d4784ba7f6ef48b1a8e56745adab70a815943b7744876686260" + }, + "verify/results/saves/ad-turn27-two-raiders.sav": { + "mode": 420, + "sha256": "1c8baa27680809d585ab1728391e82729642d32aaedffd5bf95b616f0a11a436" + }, + "verify/results/saves/ap-deploy-turn15.sav": { + "mode": 420, + "sha256": "844f2b746060dc2c4e2099cdc6ceffd5f55ef858c9e347df28c8aca3041f7165" + }, + "verify/results/saves/ap-oa-turn16.sav": { + "mode": 420, + "sha256": "e296394f578b3a5668e5934b9eec8d6c4638ca7411200078f97de1abd346f4c5" + }, + "verify/results/saves/ap-ob-turn16.sav": { + "mode": 420, + "sha256": "262f8bda97c9511d8d2b41e6a8a0582d6f5364c2b01b1caf99e639d0e4f53ebe" + }, + "verify/results/saves/ap-turn22-spydetected.sav": { + "mode": 420, + "sha256": "91381bd7e722ac3847795a402d78ebb31d74dbb5d2909f33d243aec3ef8abaf8" + }, + "verify/results/saves/ap-turn25-spydestroyed.sav": { + "mode": 420, + "sha256": "46380fcf4498d67507e4471eb9ee3762647c53ee5473be142fe5c34e37344bc3" + }, + "verify/results/saves/ar-oracle-A-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-oracle-A-pre.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/ar-oracle-B-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-r1-turn43-post.sav": { + "mode": 420, + "sha256": "37f4a54fd32303fdcc86522b07104fbf2fcb124eec9b1f7005b3446fefcc429f" + }, + "verify/results/saves/ar-r2-probes8-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-turn37-816raiders.sav": { + "mode": 420, + "sha256": "b6f4e05ff226eabd1695003b36293553642553cea96ef417364393e2332a7094" + }, + "verify/results/saves/as-turn14-predeploy.sav": { + "mode": 420, + "sha256": "53986f8511cbf9920f32e2ea406ccf531dd08903fa5d06024fcf03ea7627221d" + }, + "verify/results/saves/as-turn15-spydeployed.sav": { + "mode": 420, + "sha256": "854a10fa1ea602f0f7909f9bf9154942e56ea5fa1db4cce47d6d32bf53952e08" + }, + "verify/results/saves/az-turn11-16destroyers.sav": { + "mode": 420, + "sha256": "501583c7cf2ac81c9db3191203cd3dc5ba5b9e228b9b9ce3dbdcc3650d0070a9" + }, + "verify/results/saves/az-turn23-tarka-comraid.sav": { + "mode": 420, + "sha256": "3d5eb826c149d1fd0278c746f32e6148ca9883a1bc5b522c0d5e6e13fac9788a" + }, + "verify/results/saves/bp-pinA-turn28.sav": { + "mode": 420, + "sha256": "e913ff41188211c02d536da616337544e64133996cd7cc7a6521a8df1960226f" + }, + "verify/results/saves/bp-pinB-turn28.sav": { + "mode": 420, + "sha256": "724528ffde9a7514b69ab9e82ed3b8c8ade63d622c0720de30503a73a92df11e" + }, + "verify/results/saves/bp-turn28-pre.sav": { + "mode": 420, + "sha256": "16f63adbf383946db17c381998957172bca803406b7df78f3b03805fef0bbcb8" + }, + "verify/results/saves/bq/bq-1A-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1A-post.sav": { + "mode": 420, + "sha256": "56980aa086e1a145b00f781b9d9cf618b152986f1c2267b9fd96cca0f1f604b9" + }, + "verify/results/saves/bq/bq-1B-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1B-post.sav": { + "mode": 420, + "sha256": "b36ac0ec2986f3a814dd22ca312c895ba6ec8a0e55fca54d8a7fd08a2f96a2c4" + }, + "verify/results/saves/bq/bq-1bA-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bA-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-1bB-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bB-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-res-post.sav": { + "mode": 420, + "sha256": "28bbd9b5c377afcd8f075b535eb1036ee46acf71ab614e7091ccdbdfb3703db2" + }, + "verify/results/saves/bs/bs-C-endturn.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/bs/bs-C-f38-autosave.sav": { + "mode": 420, + "sha256": "0fe8f37479a702d2e4e7752e6cb160dc242f00a082dc4115b7d10c77b24989f0" + }, + "verify/results/saves/bs/bs-C-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/bs/bs-L-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bs/bs-L-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/cb-c3-turn1to2-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5a-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5b-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-turn2to3-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/cb-turn2to3-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/saves/certified-pairs.md": { + "mode": 420, + "sha256": "4e1cfb79cf5a51446b2eae21f91b565348ffa95a9ebac8f95e23019012aefb57" + }, + "verify/results/saves/cr/cr-oracle-autosave.sav": { + "mode": 420, + "sha256": "79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420" + }, + "verify/results/saves/cr/cr-oracle-endturn.sav": { + "mode": 420, + "sha256": "e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f" + }, + "verify/results/saves/cr/cr-replace0-autosave.sav": { + "mode": 420, + "sha256": "6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5" + }, + "verify/results/saves/cr/cr-replace1-autosave.sav": { + "mode": 420, + "sha256": "8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235" + }, + "verify/results/saves/determinism-hashes.txt": { + "mode": 420, + "sha256": "bfa0615c4b310ae21c09a7d373d5a9d8799f36a0460089e5950fa0edf9d614d2" + }, + "verify/results/saves/human-turn11-spytechs.sav": { + "mode": 420, + "sha256": "aa63dd3d5489884f70d9c35acfb06c23c84531f403798842e7b0cf8cde94d1d4" + }, + "verify/results/saves/human-turn15-spyprogram.sav": { + "mode": 420, + "sha256": "22306d26f8831b90a62c00a2ebad5a97e77017b62ee96a7439d4c2c76c455cca" + }, + "verify/results/saves/human-turn2-orders.sav": { + "mode": 420, + "sha256": "9a94dec562622310893d6f522a0fae06f1033470f4182098e808b175e7df7c8d" + }, + "verify/results/saves/human-turn3-noderoute.sav": { + "mode": 420, + "sha256": "6db0912a050a846c8f3a184811644c76df3fdb65e83dffbf70289e21cc098a90" + }, + "verify/results/saves/human-turn5-traderoutes.sav": { + "mode": 420, + "sha256": "3829e6c6d8f26cd1183a972bd66edadbd71364c11a224b0a6e40461011bcab29" + }, + "verify/results/saves/human-turn8-traderoutes.sav": { + "mode": 420, + "sha256": "afeb3b2d724e07cf59f15eb1bdb9fcf853391fc06fe21beb20c069ff75b2f836" + }, + "verify/results/saves/turn1-state.sav": { + "mode": 420, + "sha256": "a3f9dc4b49fc669c814b09b87a9c6795de21bac80a1c7bfe3901b8e239fa36cc" + }, + "verify/results/saves/turn2-state.sav": { + "mode": 420, + "sha256": "ab4ac2d7e2977260a4de916f65c7ecc6dd5b0094dac4bb51241317232ea17ab4" + }, + "verify/results/saves/turn2-strict-issues.txt": { + "mode": 420, + "sha256": "33a169a2de29ad502e9b7c0159cd543e0b4d71f2d9b3903f5be58c7846db2429" + }, + "verify/results/saves/turn3-state.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/zuul-turn15-orders.sav": { + "mode": 420, + "sha256": "ef86a0d61de3533f023af5dc2b9a5720e4e0c5c97d900d88181603a13db7d045" + }, + "verify/results/saves/zuul-turn16-noderoute.sav": { + "mode": 420, + "sha256": "b6b5d283b62cc46bca914e86c34cf45e8960a653e818e59664087429bbb30103" + }, + "verify/results/saves/zuul-turn17-orders2.sav": { + "mode": 420, + "sha256": "1b863e684edecb4afe738ba30c8132065ebcf2d9977409325e714fe0173056e8" + }, + "verify/results/saves/zuul-turn17-rollpending.sav": { + "mode": 420, + "sha256": "aac5ba5b10ff1af6b0e38c565b2f0a60c16858ee4e89dd2a2f5b037eae95ee7d" + }, + "verify/results/saves/zuul-turn23-fleet23.sav": { + "mode": 420, + "sha256": "fd3748327d87b8c478f50fcd09d097eacff21e57d946ecb43b8119b4d0d78b1b" + }, + "verify/results/saves/zuul-turn5-species5.sav": { + "mode": 420, + "sha256": "48559ab5b719b332e47b4bf43af85a616bff1508125d62edb211b80637234af6" + }, + "verify/results/shim/ac/ac-probe-run-shim.log": { + "mode": 420, + "sha256": "b9b4a5f0e399e16b477cde0bd7e2c4ce378549eb5a467f7b8ae5eb64d75cb106" + }, + "verify/results/shim/ac/ac-probe-run-watch.txt": { + "mode": 420, + "sha256": "543d76d150aeb9318b9ae27acf638b8935eea30b1a2d47fb15354b584a458163" + }, + "verify/results/shim/ad/ad-r1-shim.log": { + "mode": 420, + "sha256": "fec98888b030ed42b84551aac1286c0baeaf15b8a545af068dc6605615e96df0" + }, + "verify/results/shim/aidesign/parse_aidesign.py": { + "mode": 420, + "sha256": "fbd4aeb71db548759bdb1ff65a5fdd0af6c192927e6ebe4b510f1083c3bdba13" + }, + "verify/results/shim/aidesign/sd-br-p1-hashes.txt": { + "mode": 420, + "sha256": "cd276116a51df01129f0e840d4c04f7964be34f75e51c384cd8df65969f458e6" + }, + "verify/results/shim/aidesign/sd-br-p1.txt": { + "mode": 420, + "sha256": "325cb9fcfa505ab2a93bbd00d60a7a4644b6b5970cb16a288cc7a43f2e825dd3" + }, + "verify/results/shim/aidesign/sd-pin-p1-hashes.txt": { + "mode": 420, + "sha256": "f0371c0a439d736ae7e67e71bd87d693481100d08243d16a1ac1f2ad0ab8bdce" + }, + "verify/results/shim/aidesign/sd-pin-p1.txt": { + "mode": 420, + "sha256": "45e693d279899e7a04cf59bda67190058896b56f3b0607d5aee21abb12f03071" + }, + "verify/results/shim/aidesign/sd-pin-p2-hashes.txt": { + "mode": 420, + "sha256": "e7d6dc12a940305087ee03dc7f8826f3c6343d24d8fea0f2aa78665d887138c9" + }, + "verify/results/shim/aidesign/sd-pin-p2.txt": { + "mode": 420, + "sha256": "b0206869206bc3a41bebb5175e31179f1a5d125a44b5ddfc10c67c4a0d13c22c" + }, + "verify/results/shim/aidesign/sd-t15-p1-hashes.txt": { + "mode": 420, + "sha256": "1ee71a623eb17e08c623ec8de3775218dc3a7c2de50d36a25dd2395382195962" + }, + "verify/results/shim/aidesign/sd-t15-p1.txt": { + "mode": 420, + "sha256": "df9f4906ee8bbb2efc9ba9a38c41607b89711d0bc9f705473d8448e9715d9280" + }, + "verify/results/shim/aiorders/cb-c1-turn2to3.txt": { + "mode": 420, + "sha256": "9d5014b346cb0fa9e2172f45db77c4437a03b069930eaaa80ea94e742891eb8f" + }, + "verify/results/shim/aiorders/cb-c3-turn1to2-run1.txt": { + "mode": 420, + "sha256": "fdaf27a32b93fdb3024f7a45f0d90b2cf833d3f592960027c3a6cf4ecbb8c616" + }, + "verify/results/shim/aiorders/cb-c5a-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "d4daa0c2599c1b573ed59617243a392861dbc4e1fbeb707c7248708c015d998f" + }, + "verify/results/shim/aiorders/cb-c5b-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "9682186176024242fddb901b10d9a5ad6beba91bd895c2001ca954fc293eab73" + }, + "verify/results/shim/aiorders/l4-research-run1.txt": { + "mode": 420, + "sha256": "5caf1fa25b7b8c2d6af213e59c6ec821be3c46cdd92a1024a6faf5d0a3b1d71c" + }, + "verify/results/shim/aiorders/l4-research-run2.txt": { + "mode": 420, + "sha256": "846ef2cfbc365e7ee2f481048978baf820d57026737261bfba3a328d59cdaad8" + }, + "verify/results/shim/aiorders/l4-turn1to2-aiorders.txt": { + "mode": 420, + "sha256": "c55d9b3c48cb552c02731003c26bb6dfcb8afb611c2a188d21fd4a39f550d269" + }, + "verify/results/shim/aiorders/l4-turn1to2-hooksoff-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/shim/aiorders/l4-turn1to2-instrumented-autosave.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/aiorders/l4-turn2to3-aiorders.txt": { + "mode": 420, + "sha256": "696c34996e4b5be0383794fae7ea114779f7fdd0a8cdceff5a00aeb07392933a" + }, + "verify/results/shim/airng/par-br-p1-hashes.txt": { + "mode": 420, + "sha256": "656b1d0c073d9988287e5b76543e42eb1c050d9ebc9872e2b7ec5208b7534b42" + }, + "verify/results/shim/airng/par-br-p1.txt": { + "mode": 420, + "sha256": "eadf1cfb7efd7b374472867ddf1cea5f60e30096090c950049f0c264b0299398" + }, + "verify/results/shim/airng/par-br-p2-hashes.txt": { + "mode": 420, + "sha256": "d97916075c7b4c10464962e9e38aed69288a4d68a16a369c1133df16fa134146" + }, + "verify/results/shim/airng/par-br-p2.txt": { + "mode": 420, + "sha256": "bda355cbbf07301cd6d3716eba32312261c402848c91780a97a6d5cce14c3d92" + }, + "verify/results/shim/airng/par-pin-a1-hashes.txt": { + "mode": 420, + "sha256": "5eb1b557826d45fe9d843b37a92aaef54cd1b8a60900f9c34b4fe25e4bd46a24" + }, + "verify/results/shim/airng/par-pin-a1.txt": { + "mode": 420, + "sha256": "17750bab77512434dcc9e66fc86cbfc34df497cadab5b732cf3b0ef3958e09a4" + }, + "verify/results/shim/airng/par-t1-br-p1-hashes.txt": { + "mode": 420, + "sha256": "7577c33ec33d9e94fb77225929c1f34a3dd94c18fe72a394017811b3b5d53467" + }, + "verify/results/shim/airng/par-t1-br-p1.txt": { + "mode": 420, + "sha256": "8bc9969e2da730d26cc5538b758858a00a4ba6ab2d398458ff4dece1edf8bf92" + }, + "verify/results/shim/airng/par-t1-br-p2-hashes.txt": { + "mode": 420, + "sha256": "7e60fc8615163e8ebccf22fc8910f2e7c4f72a9be7a74bc832bc2a0f64ade0da" + }, + "verify/results/shim/airng/par-t1-br-p2.txt": { + "mode": 420, + "sha256": "7e50a728eb5909bd602a9e6996b908b1b2665c8c983cc0258dad000c8bff8e35" + }, + "verify/results/shim/airng/par-t1-br-p3-hashes.txt": { + "mode": 420, + "sha256": "00ce6b3b4c9dbfd192d09b3b06d91b95576cee8a5a85fccdc36a85547fbdcbc4" + }, + "verify/results/shim/airng/par-t1-br-p3.txt": { + "mode": 420, + "sha256": "28cdf1f6b83c1764f1d1e51a67e3f873566b8503f8504ef52f5b5af24b21c0cb" + }, + "verify/results/shim/airng/parse_airng.py": { + "mode": 493, + "sha256": "3fafa7cf2363620d6a25248d085fbc4e3bd1fdbb9388a6795244834a9a2a2ed0" + }, + "verify/results/shim/ap/ap-probes8-d.shim.log": { + "mode": 420, + "sha256": "115545172568edc6a1d5bb3b559f968aa8a7aaa1f6aeba970daebce98fe56a0c" + }, + "verify/results/shim/ap/ap-probes8-w.shim.log": { + "mode": 420, + "sha256": "8af0897a884bb314958c5e6f2fccd88ff8b1890322dafd3bc904b3f983838620" + }, + "verify/results/shim/ar/ar-r1-ledger.txt": { + "mode": 420, + "sha256": "44bddfc0b9e94812a3a1cfd681a1350caedf2ed8e1174900c2f81c90dc95187e" + }, + "verify/results/shim/ar/ar-r1-probes.txt": { + "mode": 420, + "sha256": "c10251c9bcca5436dc42b2c0bd37b66c144aec4036f2069c2df9340fd764992c" + }, + "verify/results/shim/ar/ar-r1-shim.log": { + "mode": 420, + "sha256": "07003ee203d60a638cc8a1cb0a0f6b8042ba227705b4355f1254312c6dd54e28" + }, + "verify/results/shim/ar/ar-r1-sites.txt": { + "mode": 420, + "sha256": "d1923d549ef3567488d0382ae0ef75fa25c5b1b5812ee5349c5c47aea7a30514" + }, + "verify/results/shim/ar/ar-r2-shim.log": { + "mode": 420, + "sha256": "06dbf04cff5a56b0e55d8e73e5b1e3e9d9235f4afafc8139517b68d676781909" + }, + "verify/results/shim/as/as-probes8-run.shim.log": { + "mode": 420, + "sha256": "cd25c93d8b79e0f0df594fe681917fe880741a54a4188d4d72d2fbc6c42ba8d9" + }, + "verify/results/shim/bp/A-aiorders.txt": { + "mode": 420, + "sha256": "ee9f8bb1073e3bf02e115fdee014f79b11100a0e1e35e308c2bcd4b798302c34" + }, + "verify/results/shim/bp/A-shim.log": { + "mode": 420, + "sha256": "853eab98d09ff1e7a8e7da375a678561b02d6236adec627202ff3bb34d90e797" + }, + "verify/results/shim/bp/B-aiorders.txt": { + "mode": 420, + "sha256": "07daeacf33a16afbed64a8a01ffd26fa73c6d2acd0e6993dd9deb06a7fd93fc3" + }, + "verify/results/shim/bp/B-shim.log": { + "mode": 420, + "sha256": "cde2202333e81cc4eec2c47915181229a68a5fa99879968905a2809c4fe0a79a" + }, + "verify/results/shim/bp/L-aiorders.txt": { + "mode": 420, + "sha256": "28492b0f9be74f61db45eae49b44b41efbc1a3bf6f6d2c888e5cc40bfb7753bd" + }, + "verify/results/shim/bp/L-shim.log": { + "mode": 420, + "sha256": "550d8986a35b3f4742e7522df11bfbf2e832e417ad42cc1bff1a39dd4ee510fd" + }, + "verify/results/shim/bp/statecheck-AB.txt": { + "mode": 420, + "sha256": "dacb5cfa5541934f37b2b1c02b87e809c3f65ba8488aa88d925b295fade0083d" + }, + "verify/results/shim/bq/bq-res-aiorders.txt": { + "mode": 420, + "sha256": "991543eb53fbf1353fe99ed96d4ca358e05f6bac32f00bd1f6dc60fcc002c8b4" + }, + "verify/results/shim/bq/bq-res-shim.log": { + "mode": 420, + "sha256": "7855bd268f69443e7ddfda71873458144728630264703482901bf6d8ffbccd3a" + }, + "verify/results/shim/br/BR-aiorders.txt": { + "mode": 420, + "sha256": "d71e11e7c40aaa740adc55651af556afb9e92768336bc11747ad67151f33f4d1" + }, + "verify/results/shim/br/BR-airng.txt": { + "mode": 420, + "sha256": "04eaeaa688a448f64df00dedfd692b78bca0e3e1207a8292c2fafad507f919ea" + }, + "verify/results/shim/br/BR-shim.log": { + "mode": 420, + "sha256": "bc6ef7aa465c2b1a81d08555174e15fb1a97a207da9eefaa8a6155440869a13e" + }, + "verify/results/shim/br/BR2-deep-aiorders.txt": { + "mode": 420, + "sha256": "b9edb53f7d56c1bb26d3bb77349543dce9564930484bc832475a3a04e5f2ad15" + }, + "verify/results/shim/br/BR2-shim.log": { + "mode": 420, + "sha256": "0de7609693747fdf0abaebd60598af127c918f32561c993715aead91cd24b334" + }, + "verify/results/shim/br/aiorders-diff.txt": { + "mode": 420, + "sha256": "411ceb2bacd62185d25a3c58f199c0bdfcd2759705bef2b36536da3870f73a67" + }, + "verify/results/shim/br/cmp_aiorders.py": { + "mode": 420, + "sha256": "b6c192efb40866aa56f29d9ba2b89e17f18ae0579645db8f34a01010db09cc28" + }, + "verify/results/shim/br/shim.cfg.brdeep": { + "mode": 420, + "sha256": "b8017e344666df816f1191906cf8f54504d631bb7ce9d2f51f6f959e4934ff04" + }, + "verify/results/shim/br/shim.cfg.brprobe": { + "mode": 420, + "sha256": "4f090999dba63ef22ab4993bd6af557e9500819c84f27decc126771f48f98efb" + }, + "verify/results/shim/bs/C-aiorders.txt": { + "mode": 420, + "sha256": "5abc20b68edf6ff52301c01825040e1d6b41b582ba40403ed6c4edc42dcbe4e2" + }, + "verify/results/shim/bs/C-airng.txt": { + "mode": 420, + "sha256": "5a4a56506d1eeb82d3bf0fbba95842566911178a82f0aad9d700a9fe00f1b300" + }, + "verify/results/shim/bs/C-shim.log": { + "mode": 420, + "sha256": "8b8dad987589fd159e789806e89dbcf7a7b40b86446d55e1d0bf10ff25cb8f6f" + }, + "verify/results/shim/bs/L-aiorders.txt": { + "mode": 420, + "sha256": "a03e8c1587633ecbb683c376f30e35e126e98ff0e8204c4ee6b5e2b4fc254104" + }, + "verify/results/shim/bs/L-airng.txt": { + "mode": 420, + "sha256": "8d21083857facd3728446af612b3a97b47e5287a5fe0bdf01423812f8445dacd" + }, + "verify/results/shim/bs/L-shim.log": { + "mode": 420, + "sha256": "246af272e464c715c7abb00471b4ddc404b81143f4065006aa4daec4d82cadb9" + }, + "verify/results/shim/bs/shim.cfg.bsrun": { + "mode": 420, + "sha256": "570b15c208d31a367ec6c6886019693cb17b98d254cebead11ec6746ae5af256" + }, + "verify/results/shim/bu/BU1-aiorders.txt": { + "mode": 420, + "sha256": "944eeb701fcd22480513c34d93f8310541977e89a24ae237bd947aed44092529" + }, + "verify/results/shim/bu/BU1-aivisit.txt": { + "mode": 420, + "sha256": "721f038ef80be92325728fc30f095846b54ff1ac67a41537d4a4d1b97d5e9758" + }, + "verify/results/shim/bu/BU1-shim.log": { + "mode": 420, + "sha256": "28ca02f56823e577662744108965bc3ab1d7241143704ac8ceaacf2e9cd077f3" + }, + "verify/results/shim/bu/BU2-aiorders.txt": { + "mode": 420, + "sha256": "5c388039a3e832465f67b4ca88f3f67550d5189a3a68f33c508c4a467733c9ac" + }, + "verify/results/shim/bu/BU2-aivisit.txt": { + "mode": 420, + "sha256": "19963ed364f47fd965508d96fbf9d1f424938f711f2b1cdc83697f789189271a" + }, + "verify/results/shim/bu/BU2-shim.log": { + "mode": 420, + "sha256": "c0a8c467bc4b4134dc83ca5dedbbfed8dac887b432a56cd12f6e211c8d58daca" + }, + "verify/results/shim/bu/BU3-aiorders.txt": { + "mode": 420, + "sha256": "b6443b3f7db541149f54435f14ba830f54d2f950420f3f0694ff12a8b1eec143" + }, + "verify/results/shim/bu/BU3-aivisit.txt": { + "mode": 420, + "sha256": "fe67a4a1cc6a67e06b2eb5675b4b8543ab9f25ea39a18d7f4c83bce74482e0cc" + }, + "verify/results/shim/bu/BU3-shim.log": { + "mode": 420, + "sha256": "0a802ec556c87f44efaa06f211e75d9b89a66ac6db5a08e34d2a7eae992121ed" + }, + "verify/results/shim/bu/claim-order.txt": { + "mode": 420, + "sha256": "7135e3ed0204a4615e546bc882992073d4b48ee42ea341186c32b6b3dd3dfc47" + }, + "verify/results/shim/bu/claimcheck.py": { + "mode": 420, + "sha256": "85c5ec747f12cf37ec2dbc4021447909eeded68ecd1abb697a6fb60005a54aff" + }, + "verify/results/shim/bu/shim.cfg.bupin": { + "mode": 420, + "sha256": "6b37b047adc95f7c08b6767cdec5bd715a8851f14bff7f187772835d1cc032a7" + }, + "verify/results/shim/cr/cr-N.log": { + "mode": 420, + "sha256": "d5459e6dcf44fbe55d0f60f1ac40d68bed96319bb55986cc24a1b9ca0d8103e0" + }, + "verify/results/shim/cr/cr-R0.log": { + "mode": 420, + "sha256": "3b703881aa2b9a1c111201ff9543f2dcae0f948567ee877df275a1093bb567f7" + }, + "verify/results/shim/cr/cr-R1.log": { + "mode": 420, + "sha256": "8df6af84f74891ff9b0b02fa150641f5fadcd0419bc53c41cbe80bf14ec9c712" + }, + "verify/results/shim/eventlive/c6b-loaded.png": { + "mode": 420, + "sha256": "f442d4b211a47b331cef9a255e83732b80a1ede70ac200596c796ac0aa320017" + }, + "verify/results/shim/eventlive/c7b-turn3.png": { + "mode": 420, + "sha256": "3e070abfbdf4efd2662951049f8545f328aa172d64d00b9c5a1f4243426e803a" + }, + "verify/results/shim/eventlive/load-dialog-8files.png": { + "mode": 420, + "sha256": "e0fc5af16042a70b53bf7d44220db56c56a466c22c4abd641557e94b8e6c1693" + }, + "verify/results/shim/eventlive/shim-zuul.log": { + "mode": 420, + "sha256": "f9d184b33c46cab9d497f7a38056c099ce2ff9b5e8149f563a2353d91985fea1" + }, + "verify/results/shim/eventlive/shim.log": { + "mode": 420, + "sha256": "e65f2e3efa1ce8f70c483bb966448239923db2d3924c709a669bb1a890411b0c" + }, + "verify/results/shim/eventlive/t7-after.png": { + "mode": 420, + "sha256": "dc0a3e8f5a5c9032ead266d106fa69a57677711eb807d26376f29baa6ec0b934" + }, + "verify/results/shim/eventlive/zuul-turn1.png": { + "mode": 420, + "sha256": "f9af979ed08315c0a8d644af800318634b3641628f710f3f9b4d2c77d4f70fdc" + }, + "verify/results/shim/l1/README.md": { + "mode": 420, + "sha256": "f008081756d99825aa81d2802869476f8341f81aeb8c4dbbb77502cf76db5145" + }, + "verify/results/shim/l1/cdiff-frames-2-51.txt": { + "mode": 420, + "sha256": "57cb1911c5bfc7bdfacafc6bb1ad382fc05f46fb9cdcee4479d861af48e585c1" + }, + "verify/results/shim/l1/cdiff.py": { + "mode": 420, + "sha256": "2ace41ce6017cfac8758d8b9955f02de84738d90067a7dfadeb8bffffc842027" + }, + "verify/results/shim/l1/rep.py": { + "mode": 420, + "sha256": "1a7a3819da8e9aeaaf213a62b696388b0a9489924c964407536831b5f7dd9488" + }, + "verify/results/shim/l1/saves/l1-t1t2-post-hooksoff.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/l1/saves/l1-t1t2-post.sav": { + "mode": 420, + "sha256": "62061918176e344106e82357e58acc8adec488f6b2969831cb99a84cf25e31c5" + }, + "verify/results/shim/l1/saves/l1-t2t3-post.sav": { + "mode": 420, + "sha256": "2177c659d8dbc39cf7485abe367d42d55cc42cc9a61949d403dcbc79989ec32d" + }, + "verify/results/shim/l1/saves/l1-t2t3-pre.sav": { + "mode": 420, + "sha256": "641a33f06b2fe1c1caf0c4994442bf13a4b03f25a85b34a9875cd22b75715896" + }, + "verify/results/shim/l1/seed-two-processes.txt": { + "mode": 420, + "sha256": "d60412049ced59705284a46078f1906e1aad4140f90db2169e08aeb9530dd985" + }, + "verify/results/shim/l1/seedrep.py": { + "mode": 420, + "sha256": "a06de5d5ccc1e87808eb3877534076340ef5330bee9a86953b8f4dae0268e087" + }, + "verify/results/shim/l1/trace-et1.jsonl": { + "mode": 420, + "sha256": "f21a213bc56983bc94f24303b0837b160f93bfb7e3ca6abdbf2e18321f8dfa19" + }, + "verify/results/shim/l1/trace-et2.jsonl": { + "mode": 420, + "sha256": "6e44b0fc541c3082f91b115de67f5315f43b9db21f0696b856cfff2ead51323a" + }, + "verify/results/shim/l1/trace-oracle.jsonl": { + "mode": 420, + "sha256": "ad9ecbe79a71c84930302868850806798228fe0f2e625b442dd3ed579c05092c" + }, + "verify/results/shim/l1/trace-playforward-f51.jsonl": { + "mode": 420, + "sha256": "6ed0af385dfe7288ad2c994458c8f5d75fc8e29b603dd6607a3703591d25eeb4" + }, + "verify/results/shim/l1/trace-seed-proc1.jsonl": { + "mode": 420, + "sha256": "120074583eb02cd4c3a29aab5826f789d52a6146930b1763f9b0bb824e9a350a" + }, + "verify/results/shim/l1/trace-seed-proc2.jsonl": { + "mode": 420, + "sha256": "03dffeafeff0c33d926207f869741dc544141425c8f665bf58aad4fd363e2f95" + }, + "verify/results/shim/l1/watch-arm.txt": { + "mode": 420, + "sha256": "f8d5811c938d16d003a72a97f2b4b33112914a7ee378fa2b334282616592943e" + }, + "verify/results/shim/l1/watch-hits.txt": { + "mode": 420, + "sha256": "1bf62ac965036a189055cd59a92007c70a2a6aca307df54ce8ccb997048f43d5" + }, + "verify/results/shim/l3/l3-probe-run-shim.log": { + "mode": 420, + "sha256": "f5cd336971ae3d3eaff642e80d9defa20ec2e1ee11e212a082c24365b18d8684" + }, + "verify/results/shim/l3/l3-probe-run-watch.txt": { + "mode": 420, + "sha256": "8d969595789c690a688f7b8fac05288c614d5d9210388ca94315158948c85f24" + }, + "verify/results/shim/l3/l3-spy-run-shim.log": { + "mode": 420, + "sha256": "5abfd08445e9e8139945b095ddddfb56480062019ce6d40304a440c317f21fd1" + }, + "verify/results/shim/l3/l3-spy-run-watch.txt": { + "mode": 420, + "sha256": "c669ccf79202e7060c153151e4fe1be96acf4030cb64aa71bd6a5c212b550b47" + }, + "verify/results/shim/m0-main-menu.png": { + "mode": 420, + "sha256": "465207fda4722ca53585b71647a08b1149944036792a072e7c34e2c437a3e37c" + }, + "verify/results/shim/m0.log": { + "mode": 420, + "sha256": "581d63139503892b6aeeff71acb742143393e9f107aa1f3605d8c028c927cad1" + }, + "verify/results/shim/m1-shim.log": { + "mode": 420, + "sha256": "35401ea82b9a64dbfdb54c282c06c51d7b696afd4ea2794e16071e0fd5c7cbef" + }, + "verify/results/shim/m2-scout-shim.log": { + "mode": 420, + "sha256": "8c46117bdde6b6911a4d77b059b40803d4966652990c8fa3ed67773e5db0459f" + }, + "verify/results/shim/mf-after-shim.log": { + "mode": 420, + "sha256": "86601372b980828171e98fc71afe865f207b1745ef4dcdca646a618c91d17426" + }, + "verify/results/shim/mf-after-turn2.png": { + "mode": 420, + "sha256": "a1f83011ff96e990d7cc80f8306e8fe0c58b96f84eb73ccb6cb013019900133d" + }, + "verify/results/shim/mf-after-turn7.png": { + "mode": 420, + "sha256": "313f3863ab901320174c8ff7cf6f1f6b0d5b3d9d7a2f8999eae6413aedc46fc5" + }, + "verify/results/shim/mf-before-shim.log": { + "mode": 420, + "sha256": "8377a87c7ed05fd0cd7b61e3f1d5fc9c2b9fa294f812c67183d4ce31323a64b1" + }, + "verify/results/shim/mf-before-turn2.png": { + "mode": 420, + "sha256": "c9805791f402ec159fcc6acdd283120eae8536b230666d3049374525595b589f" + }, + "verify/results/shim/mf-before-turn7.png": { + "mode": 420, + "sha256": "3b880b8f96c4cc328aaff8e41068db29b295be8f000c432e321a51b6030b1272" + }, + "verify/results/shim/mf-human-home-no-ships.png": { + "mode": 420, + "sha256": "dfda3e9784eefdc7b75d04908e95c3a192eda7796685907c65bfde3068d6f2bb" + }, + "verify/results/shim/probes/human-t3-5-perturbed.txt": { + "mode": 420, + "sha256": "9b594ab18cdd9aec4fdf807b4d97576191bc6fd48a85cc872c222b515d0f7c01" + }, + "verify/results/shim/probes/human-t5.txt": { + "mode": 420, + "sha256": "0ddd9f0391a3a5d655f1809a9e79d537badd8071f8834e58bdbc7f95d9ff1320" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/shim/probes/zuul-t24-25.txt": { + "mode": 420, + "sha256": "50567b7cb1f008d025baf6cb4b4ad7af7d767a2182afd082c3ac1b1a66c79541" + }, + "verify/results/shim/recap-b1-shim.log": { + "mode": 420, + "sha256": "601cd4cbbec3e8c1f7776eadc4203256ec4c5d1e3e180295369727e1da69ff37" + }, + "verify/results/shim/recap-b3-shim.log": { + "mode": 420, + "sha256": "7c5110a9d4431cc03729a7bddcb13ee69a6d428199051e175b0921391fc02a80" + }, + "verify/results/shim/recap-misc-shim.log": { + "mode": 420, + "sha256": "7cadf2eadb08979cda39fe7e3ed6cfa3f62bdbcd256fc7550b3e27c3f08c9b3e" + }, + "verify/results/shim/recap-misc-turn7.png": { + "mode": 420, + "sha256": "2c1451ded36ad79389f0eb3db098b4e0b0a6f12495d64c832f6e093374005c29" + }, + "verify/results/shim/recap-trace-shim.log": { + "mode": 420, + "sha256": "56da143a92b2edda727862a6fd4a056c716153e23cfddbde076e218ce4c4285f" + }, + "verify/results/shim/recap-turn2-loaded.png": { + "mode": 420, + "sha256": "62a42c44f99d8a53bca735d54a5adf48b89449bb859e859ec573cb40e1a7f2d0" + }, + "verify/results/shim/tailrng/save_rng_delta.py": { + "mode": 420, + "sha256": "a9a04b131427a43372d87688b8eaf230a82a79e2c3c241a90ff4eb31e039749e" + }, + "verify/results/shim/tailrng/z-t5-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z-t6-autosave.sav": { + "mode": 420, + "sha256": "2ce6aef9d49ea238455f3ac680556c6a251065af3e28b6540fe09597ae38571c" + }, + "verify/results/shim/tailrng/z-t6-endturn.sav": { + "mode": 420, + "sha256": "afb112896c0236fa715ab3c10139958294085bb2066e22a6d7b76deb0dfa46dc" + }, + "verify/results/shim/tailrng/z2-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z2-endturn.sav": { + "mode": 420, + "sha256": "8648957fecf5041233f9add4c8173f78981f026f133ecdbecdb89ddd10917048" + }, + "verify/results/shim/unlock-shim.log": { + "mode": 420, + "sha256": "20a6625b369acb773543e530f1bfdc8b7eaca5c6b58415cc5009bb9858e16f22" + }, + "verify/results/shim/watchpoints/w2-modcount-status-2turns.txt": { + "mode": 420, + "sha256": "335be910dc11a20c9fb80f3b0f37f04fd50a9d8074697bb5365c3fea02790b74" + }, + "verify/results/shim/watchpoints/w2-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "9a344045270e3815004a3376eccfbd030372faba54374d9b6626fd80740b8b13" + }, + "verify/results/shim/watchpoints/w3-modcount-turn1.txt": { + "mode": 420, + "sha256": "328a2319e320f5382e82ad497b6b73245c397cf67515e8a27fa9712418af81ae" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt-turn1.txt": { + "mode": 420, + "sha256": "a9b3c20f90a76ee624bde6ee4cae9d1ff1f2baa67aa770a0e70042cb44d11915" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "af9fe2258fe4168f6066768809c509380183f61bc337331392c5202b900d906a" + }, + "verify/results/shim/watchpoints/w3-tshn-containers.txt": { + "mode": 420, + "sha256": "08eab48d1a202f975f1be87e2279379646142f8b22d9dafc56295399083ed0af" + }, + "verify/results/standalone/cv/cv-input-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "d29f3514e4209954d6c068f34285615aef5f4627ba4627ce97c0e65f93620159" + }, + "verify/results/standalone/cv/cv-leaf-worklist.txt": { + "mode": 420, + "sha256": "0f309711de89cc10cf940d0d4b051b5052ce49a3cc0f3f80c532b50256410778" + }, + "verify/results/standalone/cv/cv-noreplay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "3734f197cfefd017dbe562fd421d40859bfc2c37d9ac2cedf9c7ddd340a3a4a7" + }, + "verify/results/standalone/cv/cv-replay-run.log": { + "mode": 420, + "sha256": "7372c7da437ece21098cc6f66d0631e146d8aae14a9242bd2278a9922a7f7c02" + }, + "verify/results/standalone/cv/cv-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "1932158abec82f45b9b838f4cb79b1088190ca5281d388f57356af7776e96950" + }, + "verify/results/standalone/dt/dt-canonical-after.txt": { + "mode": 420, + "sha256": "f32fdcf7d6431293133e951045b42a55e8a27d75cd859ad08cd719e5fb696712" + }, + "verify/results/standalone/dt/dt-canonical-before.txt": { + "mode": 420, + "sha256": "b56160cfdcfa0fff25be2aa566959261e375004905814803e231889da665188f" + }, + "verify/results/standalone/dt/dt-observed-leaves-remaining.txt": { + "mode": 420, + "sha256": "e14bd20e60480f98a564e585c0d25d2e758f71016811b8981dbdacd9d51c0c82" + }, + "verify/results/standalone/dt/dt-replay-run.log": { + "mode": 420, + "sha256": "4b7907fc4e735b1c12e3cf64671079abaad757aabd752b134a9fb27d065656cd" + }, + "verify/results/standalone/dt/dt-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "8ddb84e7e6c2f663b1bc4b9611a56a46aac9d09863dcc5be765cb70dc9642c22" + }, + "verify/results/standalone/max-income-oracle.json": { + "mode": 420, + "sha256": "245796e0aea5f5c2238686cba10c651156117fb454805553b2508a8a8fe71a69" + }, + "verify/results/standalone/report.txt": { + "mode": 420, + "sha256": "b47e90432eaf38149f2ecb5316d1962813b6b1423848e36fcc9435ad1f5485df" + }, + "verify/results/standalone/rng-oracle.json": { + "mode": 420, + "sha256": "98a364c80f69d6a84b86c3f9ccc16176d9e769ff061569b0c0ddfced53f9146c" + }, + "verify/results/standalone/rng-oracle.txt": { + "mode": 420, + "sha256": "3496a217a7e4f80bb18c1b067eaedcafcf7bdc877460c6346606fd7f6a55b877" + }, + "verify/results/standalone/status.json": { + "mode": 420, + "sha256": "d38ca6222c83df3a5886e6b32a30772c7174cc0e584f4a3beabedc05770df9cd" + }, + "verify/results/standalone/t36-turnrecord.md": { + "mode": 420, + "sha256": "b017a93ad04af69ef469cd8ea536dff4cab17140d20b3665e7c89533ab5b8a84" + }, + "verify/results/state-checksum/ad-oracleA-vs-oracleB.txt": { + "mode": 420, + "sha256": "b6c440e20108ad2727a7d7aa32a4bd673ec03ca4372461797705d619de1ba48a" + }, + "verify/results/state-checksum/chain-turn1-3.json": { + "mode": 420, + "sha256": "33941d0dd77bfb79e4302f82a410f5f18fe3ae1ade684b5b59c6ed352789a696" + }, + "verify/results/state-checksum/chain.txt": { + "mode": 420, + "sha256": "ae1037dd8394b258ce91262877d348a0561c5f5056cfae74cc0d058e4166aa83" + }, + "verify/results/state-checksum/float-census.txt": { + "mode": 420, + "sha256": "c697c0f187ee8a8ebb157cbff8d7ae42c92f36a501b16acd9f9839a0ffc306a9" + }, + "verify/results/state-checksum/identical-roots.txt": { + "mode": 420, + "sha256": "1143fabfe96954440542adcd3830ad1d862be6c091f3c1b2e63e92a2751703e7" + }, + "verify/results/state-checksum/resave-localisation.txt": { + "mode": 420, + "sha256": "85f4e8fe3581ba5d0ae74974d757c4c2fddc008f3fbe6781891ae8ef65aa693e" + }, + "verify/results/state-checksum/roots.txt": { + "mode": 420, + "sha256": "6ea7ad668703baaff870720683bcc13beff557cebf8e7843526d6677e5b5ef68" + }, + "verify/results/state-checksum/turn2-to-turn3.txt": { + "mode": 420, + "sha256": "3649c86742460a54d89714df1917508f76952c44c07cb7fbc19010910c5df0f4" + }, + "verify/results/turncommands/br2-turn27-deep.tcb": { + "mode": 420, + "sha256": "329b9c3f1e9f85ddeeb71148bd5c0e38f7d26445ed349df60ffbfaf63db46102" + }, + "verify/results/turncommands/br2-turn27-shallow.tcb": { + "mode": 420, + "sha256": "d8346969421a92fa199d0b9faafa642dc2e71a527b08d27984fe73ee70ecbd6b" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.json": { + "mode": 420, + "sha256": "01e572975339fbe8a242b2438719173bd5bb4f4916078e5887026408923eb356" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.tcb": { + "mode": 420, + "sha256": "16e349db6c46e46520cd2e5f0a9fcf70b537dce878324dd873418ef6cebd8658" + }, + "verify/results/turncommands/cb-turn1to2-pinned.json": { + "mode": 420, + "sha256": "2d4f108b8ac6b1e582382ac25d53f354c293e7caf390b8462d15beaf8e43e01c" + }, + "verify/results/turncommands/cb-turn1to2-pinned.tcb": { + "mode": 420, + "sha256": "28ebfecc3495cc4f5b2892e420cb1b83f3cbdb6b7aabe107f4b1d18233a06094" + }, + "verify/results/turncommands/cb-turn1to2-run1.json": { + "mode": 420, + "sha256": "c9de70196af5453df15cfebcb92c973dfed9d54ffa0dc0a397839cf951ac9b58" + }, + "verify/results/turncommands/cb-turn1to2-run1.tcb": { + "mode": 420, + "sha256": "5cdcfb3ade6cdfb2c00c234f5535c791780230f520d27be14f617462347b4948" + }, + "verify/results/turncommands/cb-turn2to3.json": { + "mode": 420, + "sha256": "8a0d4fc9efae9dcb4eca0de41bf28444d79eb5a4fd4e426671a4d80ab5a46f44" + }, + "verify/results/turncommands/cb-turn2to3.tcb": { + "mode": 420, + "sha256": "420a5d03f2a4ecfa0789835cc46f98961d11bbd7c7fd5f59dc28301aa0b65b6b" + }, + "verify/results/turncommands/l4-turn1to2.tcb": { + "mode": 420, + "sha256": "1b9faa7f8aad9196e36cf1c450e340f37c502a69ccfcaaad7e289bd7b4727b12" + }, + "verify/results/turncommands/l4-turn2to3.tcb": { + "mode": 420, + "sha256": "b0443f176c3915389278de608a8e7c63fa48d4777b924c0e383c7279f2a297e0" + }, + "verify/save-reader/SAVE_FORMAT.md": { + "mode": 420, + "sha256": "5ac2556b6c063c9296ef29e8514cc312983d48a8e2c2832f504c970629990b33" + }, + "verify/save-reader/fixture_joint.sav": { + "mode": 420, + "sha256": "fbe41595e50bb580786f36b197d5b85f87820974c545107c864fa2f1862af3f1" + }, + "verify/save-reader/fixture_split.sav": { + "mode": 420, + "sha256": "3909f12d021bf840617dc8d599841b64d67be46e1c6882cba7728d312d310071" + }, + "verify/save-reader/save_reader.py": { + "mode": 420, + "sha256": "2dcac286b5382b67fe8f2dbce58c80950dd430b726ed0e98f3bcea155df0df35" + }, + "verify/save-reader/save_writer_stub.py": { + "mode": 420, + "sha256": "8343ad15f742ee1b9cd62108efbc9c4b2718c3807442e3dfcfa9513ced7d3638" + }, + "verify/save-reader/test_save_reader.py": { + "mode": 420, + "sha256": "29f609d037eed99bb5444004facbff7b2c5c36fae568e815810585fdc3ddd393" + }, + "verify/state-checksum/STATE_CHECKSUM.md": { + "mode": 420, + "sha256": "5680299a4df27e30cdb545d9d2a640caf9299d61acb662b9512589e4390954e1" + }, + "verify/state-checksum/float_census.py": { + "mode": 420, + "sha256": "a568aad8b9f38aba2474f33941550bf948d050694a1d04dc5c85d15687223ae9" + }, + "verify/state-checksum/run_validation.sh": { + "mode": 493, + "sha256": "bf84b999d2b90368703e80235bac0258b70a1c37dd1902c9205a914a59cb1fc2" + }, + "verify/state-checksum/stability_check.py": { + "mode": 420, + "sha256": "8e640561b05decf590524fbe0dbf3b76a5e2f9c7fde93e005ca6e79464c305f1" + }, + "verify/state-checksum/state_checksum.py": { + "mode": 420, + "sha256": "ed80458e84d92040aa3872464d8df315e935f379ca0da5a2df81c3049826e5b8" + }, + "verify/state-checksum/test_state_checksum.py": { + "mode": 420, + "sha256": "d0ccf8e8390fd0a5d76a8695a490d85dc7e8e415a06ec50b592c57474cc9a73b" + }, + "verify/tooling/README.md": { + "mode": 420, + "sha256": "b05249530d65d43220c1e5c4666939c360d6139ed404a8881f6ad0a9c5c27af6" + }, + "verify/tooling/fixtures.py": { + "mode": 420, + "sha256": "56cccc88b9b9468e07c9ddff39d65813098053ec9e8f00432736906389f200a7" + }, + "verify/tooling/host-tests.json": { + "mode": 420, + "sha256": "90833c99e2749ff890b16b943f43f6ebfc1a1c611f2ed1e40555426fded45c97" + }, + "verify/tooling/test_tooling.py": { + "mode": 420, + "sha256": "bb8d15960dfda13f15cffc57f3b669003b127b4dedbf34100bb4a51c29dd3c6d" + }, + "verify/traces/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/traces/ac-probe-baseline-turn15.jsonl": { + "mode": 420, + "sha256": "a2f4e410f6a8d77f7680b4a69b5b2ac2f59fa80515b0cfe8209e7fec8e4a5b6b" + }, + "verify/traces/ac-probe-turn21-turn23.jsonl": { + "mode": 420, + "sha256": "2bb9317b82744c0da36ef6d9c1a78f31ebacea49b82a18005c0cc75bad62d345" + }, + "verify/traces/ad-r1-turn28-turn29.jsonl": { + "mode": 420, + "sha256": "cde7a1e010aa6195163f3b9320aa5c496fd8c271e9648c90c7319837dd967571" + }, + "verify/traces/ap-probes8-deploy-turn15.jsonl.gz": { + "mode": 420, + "sha256": "e257d5ea3fcb4be8da570d6a5589022e6ba412ff2712f4f06832812d8859e08a" + }, + "verify/traces/ap-probes8-turn16-turn26.jsonl.gz": { + "mode": 420, + "sha256": "df4fb35d9824799d8be79f3a9e976b55b7cd0fb5488b3e12711d04eb3c320f13" + }, + "verify/traces/ar-r1-turn38-turn43.jsonl": { + "mode": 420, + "sha256": "f8653cbd1956346816897b313031c5d70898144d1c84b1c849ac37bfe3bd993c" + }, + "verify/traces/ar-r2-control-turn38-turn39.jsonl": { + "mode": 420, + "sha256": "c1068652ddf54d2ff266c1dc1ef1e69ea663f5d2a83143408f77ec782b3dd988" + }, + "verify/traces/as-probes8-turn15-turn16.jsonl.gz": { + "mode": 420, + "sha256": "024bb0663b167eb364c8e138bae0bf10403860c195bd593cb56f60281060c4e8" + }, + "verify/traces/b2-final-menu.png": { + "mode": 420, + "sha256": "5a95fe260c9cb13dad5fc6f00460819107db93f4ac89f455077ad056600f83fd" + }, + "verify/traces/b2-shim.log": { + "mode": 420, + "sha256": "c31cf01af3659b7fdf008ff44f88f67ee4016dcfb30fc4a72b4d72ea0da8e404" + }, + "verify/traces/b2-techfx-compare.jsonl": { + "mode": 420, + "sha256": "f0202f45b276db6744c80768f12695153812bc882de688cf64705ed6a52f243c" + }, + "verify/traces/b2-techfx-golden.jsonl": { + "mode": 420, + "sha256": "43639e75bd9d510ed270c9cfcbb0c9665f5a6546f748ba81eba3f015e7ca233c" + }, + "verify/traces/cr-N.jsonl.gz": { + "mode": 420, + "sha256": "0071ae72a142533ffb91f9f04caa6704102c826761ff5ae24b57a1c3e9652e46" + }, + "verify/traces/cr-R0.jsonl.gz": { + "mode": 420, + "sha256": "6228c88cebb4dad2158e5586ecbcf71d1160116f2f4a2a8bc020658da8d7d706" + }, + "verify/traces/cr-R1.jsonl.gz": { + "mode": 420, + "sha256": "73f5f15b3343381cf3f973caaf74588fd3d0b6759de1ddcf9e12b9b3ebf29713" + }, + "verify/traces/eventlive-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "9cb344f1d8a3beb4bc1a2bf16baed6c38667443ead9f66fa0f53474a683d263c" + }, + "verify/traces/eventlive-b3-t1.jsonl": { + "mode": 420, + "sha256": "2d9962de9a7ea7fb28b33b72209706b4a27673096f71c8789f9f10ac465f387b" + }, + "verify/traces/eventlive-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "0ee09bb884799e72c6a617ab02e741a7ba791ff458af439b9947a87b368a64de" + }, + "verify/traces/h-probes-human-perturbed-t3-5.jsonl.gz": { + "mode": 420, + "sha256": "2567f8ccb6276a4d647c4f4b88d14f7ae63aa4d1797f672a9bd9c7c86e4d7473" + }, + "verify/traces/h-probes-human-t5.jsonl.gz": { + "mode": 420, + "sha256": "92964779111573dc72e6a1845217cd7d709c9900594a106b3de7b59c2b7a88a7" + }, + "verify/traces/h-probes-zuul-t24-25.jsonl.gz": { + "mode": 420, + "sha256": "0966294af27b49159b1e72e683abc0b59fd52cc9bfd9f517130d30cedf7efa29" + }, + "verify/traces/l3-probe-turn8-turn15.jsonl": { + "mode": 420, + "sha256": "d1b5436f917bb4f6f74bd7b1967dbd0626db2c3a5cbc1d67684ef9f010826676" + }, + "verify/traces/m1-compare.jsonl": { + "mode": 420, + "sha256": "f0f6fd15bc73008e43e20d6ed4c4dd91fb2ec8b40935bfd3cc000d8a84ea6731" + }, + "verify/traces/m1-trace-golden.jsonl": { + "mode": 420, + "sha256": "4a4ddc031fb26a8f8b10dace297c73670f53dcbd250a9be94c0e31c9bb44dcc5" + }, + "verify/traces/mf-after-compare.jsonl": { + "mode": 420, + "sha256": "2a894892977176df1a9d6c8199b0f81b48c7bcac15d2c0e7786441fc6125226e" + }, + "verify/traces/mf-before-compare.jsonl": { + "mode": 420, + "sha256": "ee005097ebaac9f30c63f1e400fdf19a47e88010c71d215885234986d122410e" + }, + "verify/traces/output-ref-turn2.jsonl.gz": { + "mode": 420, + "sha256": "7af583350545501414eda38439f2d0fa39149342d9001d2926e2a4e4fdd5cdca" + }, + "verify/traces/output-zuul-and-ref.jsonl.gz": { + "mode": 420, + "sha256": "d581cb50f07766911fa59fa1df1524b33a9df6eec06226966efd5f54f09b6fb5" + }, + "verify/traces/recap-b1-compare.jsonl.gz": { + "mode": 420, + "sha256": "0ce1c92028a8cd10a38d7cca72f90c37ccbd844f24a1950bf0eb6e75739b44e2" + }, + "verify/traces/recap-b3-compare.jsonl": { + "mode": 420, + "sha256": "6ed3bcd99b4657d614bf63cc0fc2dfff650f4cb14e51086ea98c21bccbcf5fa8" + }, + "verify/traces/recap-golden-trace.jsonl.gz": { + "mode": 420, + "sha256": "d62431e9461ffb1b66adc16a39542b86fa8e0cf54a0ed446a8781c4d75a6c3bb" + }, + "verify/traces/recap-misc-compare.jsonl": { + "mode": 420, + "sha256": "d7c4446d45a9cab2af3da4a0d76f7a42c245da1f59db96fddf31d8b1f2c436ed" + }, + "verify/traces/tailrng-drawsites.jsonl.gz": { + "mode": 420, + "sha256": "5c1806e2b1452226674013119e3b220f3cf42be2ad8b0ed998050ad65d1f8415" + }, + "verify/traces/tailrng-refturn2.jsonl.gz": { + "mode": 420, + "sha256": "c33c6cafe015bda6acf5ca32b0c9595e1611f4ac82ecd3adaff8315c7bd3e560" + }, + "verify/traces/tailrng-zuul-long.jsonl.gz": { + "mode": 420, + "sha256": "213e7dd8a6809dd93190f41c87218e802f1fbe77d44d598f287c2a19544063af" + }, + "verify/traces/tailrng-zuul-noderoute.jsonl.gz": { + "mode": 420, + "sha256": "9476ee3b9b397ca9e20bc92eb887c109a075487cdd750746af051797e8838115" + }, + "verify/traces/unlock-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "f6e27a60bf6c74eb98d8bec50146fe1996642285ca008c6a70c3cb148c6ba54c" + }, + "verify/traces/unlock-b3-t1.jsonl.gz": { + "mode": 420, + "sha256": "bfa53bba3e59d17dd330e38ef52fd04fd92f05f3ad357fefd77388d083b49a05" + }, + "verify/traces/unlock-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "d94c635105a75a68cb811a3881faf371678c075d240998f48fcf348b8459063f" + } + }, + "manifest_sha256": "b4db6808cc2b8aca33fa27eaab330d32811ce146d829a1bb9474a03f7ccdaeb4", + "path": "/tmp/opencode/sots-final-research-re" + } + }, + "source_before": { + "engine": { + "commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5" + }, + "CMakeLists.txt": { + "mode": 420, + "sha256": "6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed" + }, + "CMakePresets.json": { + "mode": 420, + "sha256": "fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0" + }, + "CONTRIBUTING.md": { + "mode": 420, + "sha256": "26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506" + }, + "LICENSE": { + "mode": 420, + "sha256": "eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858" + }, + "README.md": { + "mode": 420, + "sha256": "66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1" + }, + "cmake/toolchain-mingw-i686.cmake": { + "mode": 420, + "sha256": "231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b" + }, + "docs/A2-alliance-and-modcount.md": { + "mode": 420, + "sha256": "0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701" + }, + "docs/AC-predictions.md": { + "mode": 420, + "sha256": "ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda" + }, + "docs/B1.md": { + "mode": 420, + "sha256": "42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364" + }, + "docs/B2.md": { + "mode": 420, + "sha256": "87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8" + }, + "docs/B3.md": { + "mode": 420, + "sha256": "fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518" + }, + "docs/B4.md": { + "mode": 420, + "sha256": "22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d" + }, + "docs/B6-ship-construction.md": { + "mode": 420, + "sha256": "9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab" + }, + "docs/CB-capture.md": { + "mode": 420, + "sha256": "ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0" + }, + "docs/CB-predictions.md": { + "mode": 420, + "sha256": "ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f" + }, + "docs/E-events.md": { + "mode": 420, + "sha256": "de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201" + }, + "docs/EV-events.md": { + "mode": 420, + "sha256": "e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9" + }, + "docs/G-wire-schema.md": { + "mode": 420, + "sha256": "19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591" + }, + "docs/G3-civilian-growth.md": { + "mode": 420, + "sha256": "38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30" + }, + "docs/H-probes.md": { + "mode": 420, + "sha256": "f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f" + }, + "docs/L1-predictions.md": { + "mode": 420, + "sha256": "af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754" + }, + "docs/L2-predictions.md": { + "mode": 420, + "sha256": "18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460" + }, + "docs/L3-predictions.md": { + "mode": 420, + "sha256": "d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e" + }, + "docs/L4-ai-orders.md": { + "mode": 420, + "sha256": "b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835" + }, + "docs/L4-predictions.md": { + "mode": 420, + "sha256": "6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44" + }, + "docs/L5-live-verification.md": { + "mode": 420, + "sha256": "4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4" + }, + "docs/M-movefleet.md": { + "mode": 420, + "sha256": "718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426" + }, + "docs/M0.md": { + "mode": 420, + "sha256": "e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705" + }, + "docs/M1.md": { + "mode": 420, + "sha256": "e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704" + }, + "docs/M2.md": { + "mode": 420, + "sha256": "25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61" + }, + "docs/N-output-term.md": { + "mode": 420, + "sha256": "3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde" + }, + "docs/P-events-wiring.md": { + "mode": 420, + "sha256": "72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba" + }, + "docs/PAR-predictions.md": { + "mode": 420, + "sha256": "16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846" + }, + "docs/PL-players-residual.md": { + "mode": 420, + "sha256": "9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc" + }, + "docs/R-recapture.md": { + "mode": 420, + "sha256": "73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f" + }, + "docs/RB-predictions.md": { + "mode": 420, + "sha256": "c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7" + }, + "docs/S-standalone.md": { + "mode": 420, + "sha256": "8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e" + }, + "docs/SD-predictions.md": { + "mode": 420, + "sha256": "a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0" + }, + "docs/SV-script-objects.md": { + "mode": 420, + "sha256": "80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409" + }, + "docs/T-turn-driver.md": { + "mode": 420, + "sha256": "a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e" + }, + "docs/U-unlock.md": { + "mode": 420, + "sha256": "5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901" + }, + "docs/V-eventlive.md": { + "mode": 420, + "sha256": "ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1" + }, + "docs/W2-predictions.md": { + "mode": 420, + "sha256": "9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5" + }, + "docs/W2-watchpoints.md": { + "mode": 420, + "sha256": "f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107" + }, + "docs/W3-predictions.md": { + "mode": 420, + "sha256": "211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf" + }, + "docs/W3-watchpoints.md": { + "mode": 420, + "sha256": "568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061" + }, + "docs/Y-standalone-rng-and-tail.md": { + "mode": 420, + "sha256": "49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b" + }, + "docs/Z-tail-rng.md": { + "mode": 420, + "sha256": "3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1" + }, + "docs/architecture.md": { + "mode": 420, + "sha256": "ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f" + }, + "docs/game-data.md": { + "mode": 420, + "sha256": "2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23" + }, + "docs/game-design.md": { + "mode": 420, + "sha256": "5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272" + }, + "docs/game-effects.md": { + "mode": 420, + "sha256": "e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d" + }, + "docs/game-sim.md": { + "mode": 420, + "sha256": "d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e" + }, + "docs/harness-audit.md": { + "mode": 420, + "sha256": "931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0" + }, + "docs/mars-parse.md": { + "mode": 420, + "sha256": "d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd" + }, + "docs/mars-rng.md": { + "mode": 420, + "sha256": "f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c" + }, + "docs/mars-stream.md": { + "mode": 420, + "sha256": "61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7" + }, + "docs/mars-text.md": { + "mode": 420, + "sha256": "2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1" + }, + "docs/mars-vfs.md": { + "mode": 420, + "sha256": "1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62" + }, + "docs/shim-trace.md": { + "mode": 420, + "sha256": "8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5" + }, + "include/generated/sots_addresses.h": { + "mode": 420, + "sha256": "fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448" + }, + "include/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "opencode.json": { + "mode": 420, + "sha256": "9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15" + }, + "src/app/CMakeLists.txt": { + "mode": 420, + "sha256": "142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717" + }, + "src/app/alliance.cpp": { + "mode": 420, + "sha256": "37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9" + }, + "src/app/alliance.h": { + "mode": 420, + "sha256": "08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd" + }, + "src/app/command_replay.cpp": { + "mode": 420, + "sha256": "739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824" + }, + "src/app/command_replay.h": { + "mode": 420, + "sha256": "956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2" + }, + "src/app/construction_phase.cpp": { + "mode": 420, + "sha256": "025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df" + }, + "src/app/construction_phase.h": { + "mode": 420, + "sha256": "a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e" + }, + "src/app/event_phase.cpp": { + "mode": 420, + "sha256": "80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90" + }, + "src/app/event_phase.h": { + "mode": 420, + "sha256": "54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34" + }, + "src/app/growth_phase.cpp": { + "mode": 420, + "sha256": "5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3" + }, + "src/app/growth_phase.h": { + "mode": 420, + "sha256": "8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b" + }, + "src/app/main.cpp": { + "mode": 420, + "sha256": "adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7" + }, + "src/app/observed_phase.cpp": { + "mode": 420, + "sha256": "31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3" + }, + "src/app/observed_phase.h": { + "mode": 420, + "sha256": "f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693" + }, + "src/app/phase_catalog.cpp": { + "mode": 420, + "sha256": "e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316" + }, + "src/app/phase_catalog.h": { + "mode": 420, + "sha256": "da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87" + }, + "src/app/report.cpp": { + "mode": 420, + "sha256": "da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228" + }, + "src/app/report.h": { + "mode": 420, + "sha256": "0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481" + }, + "src/app/script_phase.cpp": { + "mode": 420, + "sha256": "61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91" + }, + "src/app/script_phase.h": { + "mode": 420, + "sha256": "e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7" + }, + "src/app/trade_raid.cpp": { + "mode": 420, + "sha256": "07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf" + }, + "src/app/trade_raid.h": { + "mode": 420, + "sha256": "10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52" + }, + "src/app/treaty.cpp": { + "mode": 420, + "sha256": "317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575" + }, + "src/app/treaty.h": { + "mode": 420, + "sha256": "836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9" + }, + "src/app/turn.cpp": { + "mode": 420, + "sha256": "a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4" + }, + "src/app/turn.h": { + "mode": 420, + "sha256": "85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237" + }, + "src/app/turn_record.cpp": { + "mode": 420, + "sha256": "e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d" + }, + "src/app/turn_record.h": { + "mode": 420, + "sha256": "78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d" + }, + "src/app/visibility_phase.cpp": { + "mode": 420, + "sha256": "34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131" + }, + "src/app/visibility_phase.h": { + "mode": 420, + "sha256": "60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27" + }, + "src/game/ai/CMakeLists.txt": { + "mode": 420, + "sha256": "f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb" + }, + "src/game/ai/agent.cpp": { + "mode": 420, + "sha256": "e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7" + }, + "src/game/ai/agent.h": { + "mode": 420, + "sha256": "48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244" + }, + "src/game/ai/apply_order.cpp": { + "mode": 420, + "sha256": "122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253" + }, + "src/game/ai/apply_order.h": { + "mode": 420, + "sha256": "a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3" + }, + "src/game/ai/command_capture.cpp": { + "mode": 420, + "sha256": "cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec" + }, + "src/game/ai/command_capture.h": { + "mode": 420, + "sha256": "921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f" + }, + "src/game/ai/orders.cpp": { + "mode": 420, + "sha256": "1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640" + }, + "src/game/ai/orders.h": { + "mode": 420, + "sha256": "c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae" + }, + "src/game/ai/tasks.cpp": { + "mode": 420, + "sha256": "b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76" + }, + "src/game/ai/tasks.h": { + "mode": 420, + "sha256": "b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d" + }, + "src/game/ai/turn_order.cpp": { + "mode": 420, + "sha256": "858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22" + }, + "src/game/ai/turn_order.h": { + "mode": 420, + "sha256": "3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f" + }, + "src/game/combat/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115" + }, + "src/game/combat/retreat.cpp": { + "mode": 420, + "sha256": "eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f" + }, + "src/game/combat/retreat.h": { + "mode": 420, + "sha256": "5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d" + }, + "src/game/config/CMakeLists.txt": { + "mode": 420, + "sha256": "c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7" + }, + "src/game/config/config_loader.cpp": { + "mode": 420, + "sha256": "d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1" + }, + "src/game/config/config_loader.h": { + "mode": 420, + "sha256": "fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085" + }, + "src/game/config/manifest_loader.cpp": { + "mode": 420, + "sha256": "dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6" + }, + "src/game/config/manifest_loader.h": { + "mode": 420, + "sha256": "68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5" + }, + "src/game/config/msvc_sort.h": { + "mode": 420, + "sha256": "17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716" + }, + "src/game/data/CMakeLists.txt": { + "mode": 420, + "sha256": "677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51" + }, + "src/game/data/block.cpp": { + "mode": 420, + "sha256": "f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200" + }, + "src/game/data/block.h": { + "mode": 420, + "sha256": "f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc" + }, + "src/game/data/catalog.cpp": { + "mode": 420, + "sha256": "7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc" + }, + "src/game/data/catalog.h": { + "mode": 420, + "sha256": "80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e" + }, + "src/game/data/common.cpp": { + "mode": 420, + "sha256": "e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040" + }, + "src/game/data/common.h": { + "mode": 420, + "sha256": "d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187" + }, + "src/game/data/fields.h": { + "mode": 420, + "sha256": "4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb" + }, + "src/game/data/shipsection.cpp": { + "mode": 420, + "sha256": "82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264" + }, + "src/game/data/shipsection.h": { + "mode": 420, + "sha256": "bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0" + }, + "src/game/data/strings.cpp": { + "mode": 420, + "sha256": "6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59" + }, + "src/game/data/strings.h": { + "mode": 420, + "sha256": "fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055" + }, + "src/game/data/techtree.cpp": { + "mode": 420, + "sha256": "2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea" + }, + "src/game/data/techtree.h": { + "mode": 420, + "sha256": "504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007" + }, + "src/game/data/turrets.cpp": { + "mode": 420, + "sha256": "ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4" + }, + "src/game/data/turrets.h": { + "mode": 420, + "sha256": "f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64" + }, + "src/game/data/weapon.cpp": { + "mode": 420, + "sha256": "accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6" + }, + "src/game/data/weapon.h": { + "mode": 420, + "sha256": "63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009" + }, + "src/game/design/CMakeLists.txt": { + "mode": 420, + "sha256": "42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef" + }, + "src/game/design/defaults.cpp": { + "mode": 420, + "sha256": "8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528" + }, + "src/game/design/defaults.h": { + "mode": 420, + "sha256": "20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b" + }, + "src/game/design/design.cpp": { + "mode": 420, + "sha256": "e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20" + }, + "src/game/design/design.h": { + "mode": 420, + "sha256": "7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997" + }, + "src/game/design/hull.cpp": { + "mode": 420, + "sha256": "554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a" + }, + "src/game/design/hull.h": { + "mode": 420, + "sha256": "997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461" + }, + "src/game/design/rules.cpp": { + "mode": 420, + "sha256": "a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319" + }, + "src/game/design/rules.h": { + "mode": 420, + "sha256": "70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229" + }, + "src/game/design/stats.cpp": { + "mode": 420, + "sha256": "c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54" + }, + "src/game/design/stats.h": { + "mode": 420, + "sha256": "ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5" + }, + "src/game/effects/CMakeLists.txt": { + "mode": 420, + "sha256": "2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89" + }, + "src/game/effects/tech_effects.cpp": { + "mode": 420, + "sha256": "40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604" + }, + "src/game/effects/tech_effects.h": { + "mode": 420, + "sha256": "ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6" + }, + "src/game/effects/tech_id.cpp": { + "mode": 420, + "sha256": "11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6" + }, + "src/game/effects/tech_id.h": { + "mode": 420, + "sha256": "f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86" + }, + "src/game/events/CMakeLists.txt": { + "mode": 420, + "sha256": "9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2" + }, + "src/game/events/event_log.cpp": { + "mode": 420, + "sha256": "3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1" + }, + "src/game/events/event_log.h": { + "mode": 420, + "sha256": "2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953" + }, + "src/game/events/research_events.cpp": { + "mode": 420, + "sha256": "9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253" + }, + "src/game/events/research_events.h": { + "mode": 420, + "sha256": "b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22" + }, + "src/game/nav/CMakeLists.txt": { + "mode": 420, + "sha256": "79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a" + }, + "src/game/nav/pathplan.cpp": { + "mode": 420, + "sha256": "04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775" + }, + "src/game/nav/pathplan.h": { + "mode": 420, + "sha256": "28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7" + }, + "src/game/sim/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116" + }, + "src/game/sim/colony.cpp": { + "mode": 420, + "sha256": "e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77" + }, + "src/game/sim/colony.h": { + "mode": 420, + "sha256": "357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47" + }, + "src/game/sim/construction.cpp": { + "mode": 420, + "sha256": "8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130" + }, + "src/game/sim/construction.h": { + "mode": 420, + "sha256": "a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460" + }, + "src/game/sim/economy.cpp": { + "mode": 420, + "sha256": "1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89" + }, + "src/game/sim/economy.h": { + "mode": 420, + "sha256": "6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a" + }, + "src/game/sim/movement.cpp": { + "mode": 420, + "sha256": "80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2" + }, + "src/game/sim/movement.h": { + "mode": 420, + "sha256": "9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441" + }, + "src/game/sim/numeric.h": { + "mode": 420, + "sha256": "88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2" + }, + "src/game/sim/observed.cpp": { + "mode": 420, + "sha256": "43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22" + }, + "src/game/sim/observed.h": { + "mode": 420, + "sha256": "0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f" + }, + "src/game/sim/player_turn.cpp": { + "mode": 420, + "sha256": "beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2" + }, + "src/game/sim/player_turn.h": { + "mode": 420, + "sha256": "f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a" + }, + "src/game/sim/research.cpp": { + "mode": 420, + "sha256": "95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89" + }, + "src/game/sim/research.h": { + "mode": 420, + "sha256": "e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9" + }, + "src/game/sim/rng.h": { + "mode": 420, + "sha256": "f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c" + }, + "src/game/sim/scriptobjects.cpp": { + "mode": 420, + "sha256": "a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2" + }, + "src/game/sim/scriptobjects.h": { + "mode": 420, + "sha256": "210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b" + }, + "src/game/sim/species.h": { + "mode": 420, + "sha256": "83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298" + }, + "src/game/sim/techgraph.cpp": { + "mode": 420, + "sha256": "81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8" + }, + "src/game/sim/techgraph.h": { + "mode": 420, + "sha256": "b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e" + }, + "src/game/sim/tuning.h": { + "mode": 420, + "sha256": "4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194" + }, + "src/game/sim/visibility.cpp": { + "mode": 420, + "sha256": "25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0" + }, + "src/game/sim/visibility.h": { + "mode": 420, + "sha256": "783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f" + }, + "src/mars/parse/CMakeLists.txt": { + "mode": 420, + "sha256": "76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9" + }, + "src/mars/parse/blocks.cpp": { + "mode": 420, + "sha256": "e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b" + }, + "src/mars/parse/blocks.h": { + "mode": 420, + "sha256": "1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1" + }, + "src/mars/parse/effect.cpp": { + "mode": 420, + "sha256": "beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9" + }, + "src/mars/parse/effect.h": { + "mode": 420, + "sha256": "aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44" + }, + "src/mars/parse/result.h": { + "mode": 420, + "sha256": "58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9" + }, + "src/mars/parse/script.h": { + "mode": 420, + "sha256": "69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3" + }, + "src/mars/parse/value.cpp": { + "mode": 420, + "sha256": "712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623" + }, + "src/mars/parse/value.h": { + "mode": 420, + "sha256": "60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38" + }, + "src/mars/rng/CMakeLists.txt": { + "mode": 420, + "sha256": "dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc" + }, + "src/mars/rng/mt19937.cpp": { + "mode": 420, + "sha256": "0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b" + }, + "src/mars/rng/mt19937.h": { + "mode": 420, + "sha256": "300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e" + }, + "src/mars/stream/CMakeLists.txt": { + "mode": 420, + "sha256": "95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a" + }, + "src/mars/stream/archive.h": { + "mode": 420, + "sha256": "84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e" + }, + "src/mars/stream/bytes.h": { + "mode": 420, + "sha256": "9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1" + }, + "src/mars/stream/dump.cpp": { + "mode": 420, + "sha256": "1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16" + }, + "src/mars/stream/dump.h": { + "mode": 420, + "sha256": "a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f" + }, + "src/mars/stream/gzip.cpp": { + "mode": 420, + "sha256": "20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644" + }, + "src/mars/stream/gzip.h": { + "mode": 420, + "sha256": "6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9" + }, + "src/mars/stream/node.h": { + "mode": 420, + "sha256": "eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860" + }, + "src/mars/stream/probe.h": { + "mode": 420, + "sha256": "6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13" + }, + "src/mars/stream/reader.cpp": { + "mode": 420, + "sha256": "90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3" + }, + "src/mars/stream/reader.h": { + "mode": 420, + "sha256": "900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4" + }, + "src/mars/stream/save.cpp": { + "mode": 420, + "sha256": "6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049" + }, + "src/mars/stream/save.h": { + "mode": 420, + "sha256": "b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469" + }, + "src/mars/stream/savedump_main.cpp": { + "mode": 420, + "sha256": "8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c" + }, + "src/mars/stream/schema.h": { + "mode": 420, + "sha256": "b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05" + }, + "src/mars/stream/shapes.h": { + "mode": 420, + "sha256": "45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d" + }, + "src/mars/stream/writer.cpp": { + "mode": 420, + "sha256": "54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083" + }, + "src/mars/stream/writer.h": { + "mode": 420, + "sha256": "921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340" + }, + "src/mars/text/CMakeLists.txt": { + "mode": 420, + "sha256": "dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436" + }, + "src/mars/text/csv.cpp": { + "mode": 420, + "sha256": "b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af" + }, + "src/mars/text/csv.h": { + "mode": 420, + "sha256": "3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917" + }, + "src/mars/text/flat_kv.cpp": { + "mode": 420, + "sha256": "b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47" + }, + "src/mars/text/flat_kv.h": { + "mode": 420, + "sha256": "d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292" + }, + "src/mars/text/lines.h": { + "mode": 420, + "sha256": "b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65" + }, + "src/mars/text/manifest.cpp": { + "mode": 420, + "sha256": "4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e" + }, + "src/mars/text/manifest.h": { + "mode": 420, + "sha256": "dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102" + }, + "src/mars/text/result.h": { + "mode": 420, + "sha256": "7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606" + }, + "src/mars/text/value.cpp": { + "mode": 420, + "sha256": "94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479" + }, + "src/mars/text/value.h": { + "mode": 420, + "sha256": "d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07" + }, + "src/mars/vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786" + }, + "src/mars/vfs/path.cpp": { + "mode": 420, + "sha256": "e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb" + }, + "src/mars/vfs/path.h": { + "mode": 420, + "sha256": "043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033" + }, + "src/mars/vfs/result.h": { + "mode": 420, + "sha256": "19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748" + }, + "src/mars/vfs/vfs.cpp": { + "mode": 420, + "sha256": "ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba" + }, + "src/mars/vfs/vfs.h": { + "mode": 420, + "sha256": "2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90" + }, + "src/mars/vfs/zip_archive.cpp": { + "mode": 420, + "sha256": "d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87" + }, + "src/mars/vfs/zip_archive.h": { + "mode": 420, + "sha256": "0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d" + }, + "src/shim/binkw32.def": { + "mode": 420, + "sha256": "fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235" + }, + "src/shim/fpu_force.cpp": { + "mode": 420, + "sha256": "c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d" + }, + "src/shim/fpu_force.h": { + "mode": 420, + "sha256": "75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06" + }, + "src/shim/hooks/ai_orders.cpp": { + "mode": 420, + "sha256": "091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434" + }, + "src/shim/hooks/ai_orders.h": { + "mode": 420, + "sha256": "6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053" + }, + "src/shim/hooks/ai_rng.cpp": { + "mode": 420, + "sha256": "b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289" + }, + "src/shim/hooks/ai_rng.h": { + "mode": 420, + "sha256": "1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08" + }, + "src/shim/hooks/ai_visit.cpp": { + "mode": 420, + "sha256": "cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31" + }, + "src/shim/hooks/ai_visit.h": { + "mode": 420, + "sha256": "8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189" + }, + "src/shim/hooks/budget_inputs.cpp": { + "mode": 420, + "sha256": "fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b" + }, + "src/shim/hooks/budget_inputs.h": { + "mode": 420, + "sha256": "56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548" + }, + "src/shim/hooks/colony_inputs.cpp": { + "mode": 420, + "sha256": "7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e" + }, + "src/shim/hooks/colony_inputs.h": { + "mode": 420, + "sha256": "87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9" + }, + "src/shim/hooks/colony_turn.cpp": { + "mode": 420, + "sha256": "b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420" + }, + "src/shim/hooks/colony_turn.h": { + "mode": 420, + "sha256": "a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6" + }, + "src/shim/hooks/compute_budget.cpp": { + "mode": 420, + "sha256": "76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906" + }, + "src/shim/hooks/compute_budget.h": { + "mode": 420, + "sha256": "f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa" + }, + "src/shim/hooks/dictionaries.cpp": { + "mode": 420, + "sha256": "b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b" + }, + "src/shim/hooks/dictionaries.h": { + "mode": 420, + "sha256": "ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0" + }, + "src/shim/hooks/draw_sites.cpp": { + "mode": 420, + "sha256": "e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79" + }, + "src/shim/hooks/draw_sites.h": { + "mode": 420, + "sha256": "0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13" + }, + "src/shim/hooks/event_inputs.cpp": { + "mode": 420, + "sha256": "eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b" + }, + "src/shim/hooks/event_inputs.h": { + "mode": 420, + "sha256": "c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731" + }, + "src/shim/hooks/fleet_movement.cpp": { + "mode": 420, + "sha256": "f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0" + }, + "src/shim/hooks/fleet_movement.h": { + "mode": 420, + "sha256": "dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af" + }, + "src/shim/hooks/global_consts.cpp": { + "mode": 420, + "sha256": "87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1" + }, + "src/shim/hooks/global_consts.h": { + "mode": 420, + "sha256": "b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265" + }, + "src/shim/hooks/movement_inputs.cpp": { + "mode": 420, + "sha256": "0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502" + }, + "src/shim/hooks/movement_inputs.h": { + "mode": 420, + "sha256": "32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a" + }, + "src/shim/hooks/player_turn.cpp": { + "mode": 420, + "sha256": "33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23" + }, + "src/shim/hooks/player_turn.h": { + "mode": 420, + "sha256": "a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0" + }, + "src/shim/hooks/player_turn_inputs.cpp": { + "mode": 420, + "sha256": "993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799" + }, + "src/shim/hooks/player_turn_inputs.h": { + "mode": 420, + "sha256": "ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71" + }, + "src/shim/hooks/probe_entry.cpp": { + "mode": 420, + "sha256": "5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506" + }, + "src/shim/hooks/probe_entry.h": { + "mode": 420, + "sha256": "f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f" + }, + "src/shim/hooks/research.cpp": { + "mode": 420, + "sha256": "dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83" + }, + "src/shim/hooks/research.h": { + "mode": 420, + "sha256": "a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84" + }, + "src/shim/hooks/rng_ledger.cpp": { + "mode": 420, + "sha256": "119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb" + }, + "src/shim/hooks/rng_ledger.h": { + "mode": 420, + "sha256": "0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30" + }, + "src/shim/hooks/system_output.cpp": { + "mode": 420, + "sha256": "93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4" + }, + "src/shim/hooks/system_output.h": { + "mode": 420, + "sha256": "62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738" + }, + "src/shim/hooks/tail_rng.cpp": { + "mode": 420, + "sha256": "9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07" + }, + "src/shim/hooks/tail_rng.h": { + "mode": 420, + "sha256": "b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b" + }, + "src/shim/hooks/tech_effect_fields.cpp": { + "mode": 420, + "sha256": "4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3" + }, + "src/shim/hooks/tech_effect_fields.h": { + "mode": 420, + "sha256": "22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420" + }, + "src/shim/hooks/tech_effects.cpp": { + "mode": 420, + "sha256": "2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714" + }, + "src/shim/hooks/tech_effects.h": { + "mode": 420, + "sha256": "ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320" + }, + "src/shim/hooks/watchpoints.cpp": { + "mode": 420, + "sha256": "15c94333f22bb592129efe3fb800ea89987045f9ebbc0e6791d4397961fd727d" + }, + "src/shim/hooks/watchpoints.h": { + "mode": 420, + "sha256": "639ae42b230fb31762f50cac0422dcd5b7fda7a1a02c7739a86d1cd6eda62277" + }, + "src/shim/main.cpp": { + "mode": 420, + "sha256": "eebdac7f8f69b8b95cd290c96d41c6f3f0ed5c45ccd5de54ffc790af47083b99" + }, + "src/shim/shim.cfg": { + "mode": 420, + "sha256": "44ca58394455549150c3461cc888128a968b4f062807e19ef25b8eebf0bfd523" + }, + "src/shim/shim.cfg.b4compare": { + "mode": 420, + "sha256": "68bed5883a75132eb5e885b4750d23c1d5734c843a32a56dc7f96d2b73fdf962" + }, + "src/shim/shim.cfg.b4scout": { + "mode": 420, + "sha256": "faac0765478d88b63f371fbc307512e71fe05f2e6f97272e6e0ceb267cc6d626" + }, + "src/shim/shim.cfg.b4trace": { + "mode": 420, + "sha256": "6a89cdd3cfdf53cfbaff29278fd5d0edf156ad8a525c61624b60ddb1eb0575a1" + }, + "src/shim/shim.cfg.bupin": { + "mode": 420, + "sha256": "39d52ef1ccb18d4dea261b87d3f363ba45079022d1b9bc3531c552ef6df80ec2" + }, + "src/shim/shim.cfg.cbcapture": { + "mode": 420, + "sha256": "0939b1ea144976ded2d45ad885fa0f1ffa3d77f16cba9b4d5a9cb87623500a62" + }, + "src/shim/shim.cfg.cboff": { + "mode": 420, + "sha256": "7d5d6e2ceb7f86fd17543c9212e8547be6009f725871aadbaf6057af1f4f5484" + }, + "src/shim/shim.cfg.cbpin": { + "mode": 420, + "sha256": "72a222c025796458dc1a538eed3ea55f053ee5e3c01e5b19b802922a058d4fbe" + }, + "src/shim/shim.cfg.cbtrap": { + "mode": 420, + "sha256": "938c0893b95b576b75927d75787999c22b3424d28c8936456ea3723f62775e51" + }, + "src/shim/shim.cfg.crcompare": { + "mode": 420, + "sha256": "129031ceb358fef9e0fcee2fb42a0f20fd76d9db78f061f956bf75ce2cc51dec" + }, + "src/shim/shim.cfg.croff": { + "mode": 420, + "sha256": "f99345e7db55e695ecabf7a00fc16ced9a42e8882abfeabc8281b9a4ef26d730" + }, + "src/shim/shim.cfg.crreplace0": { + "mode": 420, + "sha256": "60c13bd76e546b4521ab4e6a7836439078e2a176a11e471e03434623153cb7d9" + }, + "src/shim/shim.cfg.crreplace1": { + "mode": 420, + "sha256": "d27f43eb970d6a9c8a0c8d8f7071633a226c34b675a6581b331c6e1ba6f36c9b" + }, + "src/shim/shim.cfg.fpu007f": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "src/shim/shim.cfg.fpu027f": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "src/shim/shim.cfg.fpu127f": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "src/shim/shim.cfg.fpu137f": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "src/shim/shim.cfg.fpu1a7f": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "src/shim/shim.cfg.fpuoff": { + "mode": 420, + "sha256": "ce637b3f0eca81c04490335cd9fe8a537cd09e5ef14cc5b3050f548ca4d54c65" + }, + "src/shim/shim.cfg.hoff": { + "mode": 420, + "sha256": "dc9b4619fe84921ea5896c2cd190afb5bd4ca89422fb86bfee8459665f92cd7a" + }, + "src/shim/shim.cfg.hp0": { + "mode": 420, + "sha256": "ede723fc540adb94bf16af0f3086c1935aac008acb6a8d550e2a4e97ff232c2c" + }, + "src/shim/shim.cfg.hp10": { + "mode": 420, + "sha256": "1c1f07dfdb7f99d63ed9a62aa9a447efda690623164beeaf434c588e02ef12cd" + }, + "src/shim/shim.cfg.hp11": { + "mode": 420, + "sha256": "36eae0d554a79b9536e3c57d2fef187ae81bd3266947c7f45035be554fb59404" + }, + "src/shim/shim.cfg.hp4": { + "mode": 420, + "sha256": "5bb0d636247c37def9b5cbf0cc9138b13590a50ae8212890fb7d31dfb9e837f4" + }, + "src/shim/shim.cfg.hp8": { + "mode": 420, + "sha256": "a8fe5f16a299b2b9eb81a811c7ec5a3b1baf635fa179a69f1e23243c7d1e2133" + }, + "src/shim/shim.cfg.hp9": { + "mode": 420, + "sha256": "765fdf337bb6942dbd1357166646dbf7fde3777678a606c4dbfd368078f09b5d" + }, + "src/shim/shim.cfg.hpall": { + "mode": 420, + "sha256": "630f99725ea6aa933984f4c545634d127787672de36f6756da2591e22a36f366" + }, + "src/shim/shim.cfg.hprobes": { + "mode": 420, + "sha256": "3bad5e3e7bf35a85acc7169d27531788e9659dbe0f8b1a0c719777fdb6beb5dc" + }, + "src/shim/shim.cfg.hprobes2": { + "mode": 420, + "sha256": "c335f1ec8aeff1165213cd40adcdcd59893c65edf95b1537fc4460e6060911c5" + }, + "src/shim/shim.cfg.l1control": { + "mode": 420, + "sha256": "c5dec81556268795b9a3df175bafde340a3fe76c7d6e05389e09e79d2b138b43" + }, + "src/shim/shim.cfg.l1hive": { + "mode": 420, + "sha256": "970ce465f2363f391a93086f1b596e904265510e02e7d2d38174cc6ea22d9b25" + }, + "src/shim/shim.cfg.l1off": { + "mode": 420, + "sha256": "a4197233c65acb876328666cf37754aea96f942b6ea08105bdfb61d6d5bcbd64" + }, + "src/shim/shim.cfg.l1seed": { + "mode": 420, + "sha256": "360af979eaa0c13eaa4db38ff13dcc64b3e2ab538300c26497921301fd3817b9" + }, + "src/shim/shim.cfg.l1snlv": { + "mode": 420, + "sha256": "3603508983a87906ecce02e4c2e9581cf2fa59390af25335f0b221765c57ef6d" + }, + "src/shim/shim.cfg.l3cont": { + "mode": 420, + "sha256": "629530a34412ebf85fc8ce8d2e5931684eea9891b6b619419e6f8db8c37f0976" + }, + "src/shim/shim.cfg.l3control": { + "mode": 420, + "sha256": "42b6ec7ebc9c83dae4a58884803f627d54956eb308611ce1e8d3691a12a74ccb" + }, + "src/shim/shim.cfg.l3probe": { + "mode": 420, + "sha256": "692dabb6f00343bfcc2f86d62ade827c295acc4630a18a1f2ddcebd53640978d" + }, + "src/shim/shim.cfg.l4control": { + "mode": 420, + "sha256": "ab13b7e3604ee98e9372e3405e0eacb6d5965e02d5317cfee0ea9b9afbd750e3" + }, + "src/shim/shim.cfg.l4dump": { + "mode": 420, + "sha256": "fb40d67d8d7dca4587a1dc13a95826ab68eb3fcf44feb6006388935f3ee346f2" + }, + "src/shim/shim.cfg.l4off": { + "mode": 420, + "sha256": "629a3e41d11daa53325f31aeb77d14d5abe67058e274d36ed8feb71e2e30dc13" + }, + "src/shim/shim.cfg.l4probes": { + "mode": 420, + "sha256": "a446ff3d6117d5352ad9b3c3c02f6d6300ce0b1089f055925afe19b77f0a20f3" + }, + "src/shim/shim.cfg.l4research": { + "mode": 420, + "sha256": "ad400f7082680db82c6fb0d39eed488710e6661f9e3215b9ea2eb0ba53444b9b" + }, + "src/shim/shim.cfg.l5budget": { + "mode": 420, + "sha256": "74df0fa1bd14fec6e8028ba05c516f3a370ba389386e5a8459d594c2c7ad83ae" + }, + "src/shim/shim.cfg.l5control": { + "mode": 420, + "sha256": "3557f716dde348a98fda65a5bad54911fe6d52f75c2cf6a82cc5d4fc47a6e968" + }, + "src/shim/shim.cfg.output": { + "mode": 420, + "sha256": "a811cffac230a1d6c0f9c5adacb1b691ae289ec08de0da3726309a4e1213acb0" + }, + "src/shim/shim.cfg.parbr": { + "mode": 420, + "sha256": "ea8230b596e7baae0c127f5700391ec2c96d546daba8c70ce8b2800c83b096dd" + }, + "src/shim/shim.cfg.parctl": { + "mode": 420, + "sha256": "2d1190d032bb705030746197020c715f4ab8af551f944e9ec0abe136912ea60d" + }, + "src/shim/shim.cfg.parorders": { + "mode": 420, + "sha256": "2107be5ec950e69d01c43ab30919fbfe652823878f150111b158927bc41de8d6" + }, + "src/shim/shim.cfg.parpin": { + "mode": 420, + "sha256": "893f1f81cdef0a964145ebb1c4b1e2725af8868b14fed412d40e3cce71f824f4" + }, + "src/shim/shim.cfg.recapb1": { + "mode": 420, + "sha256": "688840567305218dada122b29284f6af44c3c63ca173db87406de159bb547c8f" + }, + "src/shim/shim.cfg.recapb3": { + "mode": 420, + "sha256": "2120646255bd70adf29ed2880daa6b11d0867b9cfc9f1c9644d63b92c263b69b" + }, + "src/shim/shim.cfg.recapmisc": { + "mode": 420, + "sha256": "cb1f794c51b5d3d74eb91cc084c96a04444cd79f22fc694d821b51924544f595" + }, + "src/shim/shim.cfg.recaptrace": { + "mode": 420, + "sha256": "0ae410cc72fe155837d711c78543e14b1f5743310cd023298eb1e5bbd5457e71" + }, + "src/shim/shim.cfg.sdbr": { + "mode": 420, + "sha256": "7cb2bfd798ed1286628f3a879606eff076c4f6011d95e1223376eb4d0a392ca8" + }, + "src/shim/shim.cfg.sdoff": { + "mode": 420, + "sha256": "9195aeddeb2caa4e3db7dfd775c43e96eb99cfdc59a6a61e65d86fb325f0054a" + }, + "src/shim/shim.cfg.sdpin": { + "mode": 420, + "sha256": "61119f197b1dc8ddcad059d2d2c2753dae457b4bda4eb29e06c78282eeda6a0b" + }, + "src/shim/shim.cfg.sdpin2": { + "mode": 420, + "sha256": "d6d7f82b500df4f3ed120b4ff421178cf4373a145fa803e57d22a0654e4f0f63" + }, + "src/shim/shim.cfg.tturn": { + "mode": 420, + "sha256": "2ab2d64288043c3c55fde668facde9307c0739e0c801c900790e11db57c5759b" + }, + "src/shim/shim.cfg.tturncmp": { + "mode": 420, + "sha256": "114d325ae3ece29422069ee74c790603abb38c49162dd32520a3eecd18ab6061" + }, + "src/shim/shim.cfg.w2control": { + "mode": 420, + "sha256": "d042c0082a8eb4f55b8e21983df292f0950adc4ac5787d4a0b83088c10c5a3eb" + }, + "src/shim/shim.cfg.w2watch": { + "mode": 420, + "sha256": "ddb9c18a1c6b6c23758e51ca9ac18b4b95abe206b162497adc2978c0384d6ee5" + }, + "src/shim/shim.cfg.w3control": { + "mode": 420, + "sha256": "c6a3a5ea1e39a0714dffee0e44a0e8d91a2b450534d7e4377273a55b3e87de8c" + }, + "src/shim/shim.cfg.w3mod": { + "mode": 420, + "sha256": "7c7f82aaa8b5b007a740324373060ca2ba84edc765eb4e7ce55afcaba4e1c2e0" + }, + "src/shim/shim.cfg.w3tshn": { + "mode": 420, + "sha256": "51fa826d0b18d6f01987d6748e6610847ec3a761257ffc382a40d234670afec3" + }, + "src/shim/shim.cfg.zledger": { + "mode": 420, + "sha256": "31d0535aff9660eb1ad06f529c88a42aa71b83b36f8404b7541a29327c508a51" + }, + "src/shim/trace/emitter.cpp": { + "mode": 420, + "sha256": "4253cac49f0761e487fd555c3c01e02fa22e2010789ad3af37c62c8fd2e02030" + }, + "src/shim/trace/emitter.h": { + "mode": 420, + "sha256": "aa7804614b3d3a214d5c32c33ed245ae24276979080baa9d5481d6594ee3f79d" + }, + "src/shim/trace/hook.h": { + "mode": 420, + "sha256": "35be73ac1c9519664957ffea639d873e8a811b4620f0feecb21b54ea2776f800" + }, + "src/shim/trace/platform.h": { + "mode": 420, + "sha256": "f1b78d971798e45998b26c6b0e20db49fceb7d4c63f0c8c37452c6c2c6df9538" + }, + "src/shim/trace/selftest.cpp": { + "mode": 420, + "sha256": "31461ae6d329a8a3856589b245f3bcf8631f0db9a5e00530e4f94279950de354" + }, + "src/shim/trace/selftest.h": { + "mode": 420, + "sha256": "583d7a10ef04254c7a0fb7dd2a6071ad012a9a97dfae0896bbd598970b206475" + }, + "src/shim/trace/sha256.cpp": { + "mode": 420, + "sha256": "2faf44b5b273612c776204c1d83e0910d86394f4f6207129a01c81dedc170aa8" + }, + "src/shim/trace/sha256.h": { + "mode": 420, + "sha256": "31ce080acdc086ff7657d9093ac9bea438203eaa8e392ca38539152cdd15038f" + }, + "src/shim/trace/tracer.cpp": { + "mode": 420, + "sha256": "37d9490dbdedc399ecdb30f46eb27f31a4ff8c902eadb2eb48ecca7fb0e8fb88" + }, + "src/shim/trace/tracer.h": { + "mode": 420, + "sha256": "cbb80f167b8f98777f9fb58ce107226f42027ffdbd868a6808047c48caf10f76" + }, + "tests/addr_smoke.cpp": { + "mode": 420, + "sha256": "ace1ab9549bb6f3e0048d0e6e3ec6061035395581b2db46c0a5acb097c428890" + }, + "tests/app/CMakeLists.txt": { + "mode": 420, + "sha256": "dd18f8e25d2a9ce988dc226e03c7c6e02a275bbbea74f505d005e42ca5972037" + }, + "tests/app/test_alliance.cpp": { + "mode": 420, + "sha256": "671b2cb3295f360c61ee87005287999710d12e10e7e532331c1c946ab97f7c4d" + }, + "tests/app/test_catalog.cpp": { + "mode": 420, + "sha256": "c4cd9840c1f1b5d5a6829f7f1c5a0245b5e66135d3bed6410a2b6eca1a037225" + }, + "tests/app/test_command_replay.cpp": { + "mode": 420, + "sha256": "739ebeea5bed551f232774bc812bcb794cfa057015fd187529fa563b5d7ae5eb" + }, + "tests/app/test_event_phase.cpp": { + "mode": 420, + "sha256": "05498df256759fe5b8af80e9e56c2ca071eb26de0651f257798fe1641da627ca" + }, + "tests/app/test_trade_raid.cpp": { + "mode": 420, + "sha256": "2158008bc711b8062381f346fa347a430582d8d1943b0de5f40eb2a38e9a3f75" + }, + "tests/app/test_treaty.cpp": { + "mode": 420, + "sha256": "0f98150a3f9397fd12109eae7359ff7e04a4060e10e01ecf1693eb2a4606ead7" + }, + "tests/app/test_turn.cpp": { + "mode": 420, + "sha256": "6d45b1d2d065528f14ae83d95314f2b6559e53cc23f1b9e2531c7c09b4b97eab" + }, + "tests/app/test_turn_record.cpp": { + "mode": 420, + "sha256": "a845971b8d25d71c3b1138495354ad392e4fc298f87eb9b89d1567c01ab59cde" + }, + "tests/game_ai/CMakeLists.txt": { + "mode": 420, + "sha256": "a57a82d0c79ff933564e200a5b3137f120e70a19834264eeb2438c4cafd7ad3e" + }, + "tests/game_ai/test_agent.cpp": { + "mode": 420, + "sha256": "41cb3fbfc7e0b277771a2e8dd17601285a1e3a911543fc1335ce05a4e4b5f11c" + }, + "tests/game_ai/test_apply_order.cpp": { + "mode": 420, + "sha256": "8669c2e9a4c95b670a9c41262c68ce183d3cf3900bc262e0a2e33500bfffc594" + }, + "tests/game_ai/test_command_capture.cpp": { + "mode": 420, + "sha256": "8c2bae38754b347beeefe85d796c13bcf43cf5bc9bc99eb743626028b4dbd7ab" + }, + "tests/game_ai/test_live_blocks.cpp": { + "mode": 420, + "sha256": "44cb6bd8b34c13e329f9b1d50bb2a5c5513e52761537dccfb01afb7d48be7580" + }, + "tests/game_ai/test_orders.cpp": { + "mode": 420, + "sha256": "b13d1a3a628de411abb4faf024a1ce8d3e94518f12285bb3d7e7e86b012ad43f" + }, + "tests/game_ai/test_tasks.cpp": { + "mode": 420, + "sha256": "ffd8eed7fa76a24616d579a4e31031dadf43a0534e33743fb104dfca552367fc" + }, + "tests/game_ai/test_turn_order.cpp": { + "mode": 420, + "sha256": "382d6a30e9151c57849595cb134b8e2da25d2763738c9cbfa18d3cad51ecce97" + }, + "tests/game_combat/CMakeLists.txt": { + "mode": 420, + "sha256": "fd0c0dfb54033353b7014e3c764c916522cb529b6b3eae8a8d52afd044c13fe2" + }, + "tests/game_combat/test_retreat.cpp": { + "mode": 420, + "sha256": "3fb0be08d230bbd7c4ea4a59319de7ab252e5b7cbee924afd069847da8dcf73d" + }, + "tests/game_config/CMakeLists.txt": { + "mode": 420, + "sha256": "9874822d186e783f25b2dcd87495e7e380d873b8a0790c67fffb9430468094ed" + }, + "tests/game_config/manifest_tests.cpp": { + "mode": 420, + "sha256": "3bc62e7e49699254151a825421973d831b25bcf7a22028c789e3ca63b0d77319" + }, + "tests/game_config/replay_trace.cpp": { + "mode": 420, + "sha256": "83602ec974b8195c3616230ad44c2d4fd6032f8ef5f96e7aa76d49a0a04ac05e" + }, + "tests/game_config/unit_tests.cpp": { + "mode": 420, + "sha256": "45b07c7289abac61fccd0a6cd0ff87812542ec888eb6d295fb87c3f57755cc6a" + }, + "tests/game_data/CMakeLists.txt": { + "mode": 420, + "sha256": "cb8cffb7217e82077d3db749dcacf29c098549159cc0f312ef04bfccaa30155d" + }, + "tests/game_data/build_and_run.sh": { + "mode": 493, + "sha256": "69ea9cb94468c56c329fcc5b9350431067e97091ed47c08bb10b57b38412883a" + }, + "tests/game_data/dump_catalog.cpp": { + "mode": 420, + "sha256": "4588e699c69586dfb77f0d9289e375407d4f9cf019690e26bfc78f7182167c89" + }, + "tests/game_data/oracle/compare.py": { + "mode": 420, + "sha256": "2cfe1ac93790de3351256d284392372721f94de5375686e6301ef39b1943ad12" + }, + "tests/game_data/realdata_test.cpp": { + "mode": 420, + "sha256": "334a924bf81c6ce6192a6688435b374e115382358f7e4554aa164295bdd38321" + }, + "tests/game_data/test_catalog.cpp": { + "mode": 420, + "sha256": "9ea5c3fff2388c5d7fbf295123dfd7b702ef21f17fc7c45a970822814abfce2e" + }, + "tests/game_data/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_data/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_data/test_shipsection.cpp": { + "mode": 420, + "sha256": "b3519f0de60d061a6f1ab8ee81d470a28fc17cc81b113639ef2c1e139c249b4c" + }, + "tests/game_data/test_techtree.cpp": { + "mode": 420, + "sha256": "d05c889da9edb622bd2b66aa8e300d8162e0c8788950daa1086fc049b90dd4bc" + }, + "tests/game_data/test_turrets.cpp": { + "mode": 420, + "sha256": "66adff30b974e9bf2c96c1af024fb85677e1a8307c801933d23f3d2ec9d8222c" + }, + "tests/game_data/test_weapon.cpp": { + "mode": 420, + "sha256": "b16b0481c0a8697ff16e39c9feb3ad9d5406250b7dd1c828bf12f1bb40ed746b" + }, + "tests/game_design/CMakeLists.txt": { + "mode": 420, + "sha256": "a26524ff14878564870853bc067c379d2ebd26c14e45bcbb06593d300ee4b3ca" + }, + "tests/game_design/build_and_run.sh": { + "mode": 493, + "sha256": "b1aab4d13b09fb1ea4205978bd7d8b05af5a6422ebe4a34261c3247489b48bd7" + }, + "tests/game_design/dump_designs.cpp": { + "mode": 420, + "sha256": "b1b24c5cb534ad821a20325869713c04b742c541c448ade83543d75608f7eda2" + }, + "tests/game_design/json_min.h": { + "mode": 420, + "sha256": "9cfd3eabe9b36d6b2863872e08fe6ebaddf0749d1966dea693f8bbc0472780ac" + }, + "tests/game_design/mini_catalog.cpp": { + "mode": 420, + "sha256": "5817c0251883c999c6ebd54c77fdcf3981181b41fb5f7637d445824d60942810" + }, + "tests/game_design/mini_catalog.h": { + "mode": 420, + "sha256": "ecb7fd0dffa8709008bcdf9b9da3e70e68f735f9b5ecd0dcb4c871a35ae43b59" + }, + "tests/game_design/oracle/compare.py": { + "mode": 420, + "sha256": "2db14952f7fca9a587995e326651b0d549b39ceefd9c0ac59982cd35ae5d21e7" + }, + "tests/game_design/realdata_test.cpp": { + "mode": 420, + "sha256": "cea57cd53d881b3bf2557cc32ea402c4991aa6de5ff72340861f195a8e20c141" + }, + "tests/game_design/stock_designs.cpp": { + "mode": 420, + "sha256": "2ac1b8bcb0f61852f4bc0a8b7cda51167531ca2a05d1e485991a4758cf586d03" + }, + "tests/game_design/stock_designs.h": { + "mode": 420, + "sha256": "a49173bde083467f5650cfbfbaebba5f16208d660fe7f2f3da81c2caff07c807" + }, + "tests/game_design/test_banks.cpp": { + "mode": 420, + "sha256": "c1d34991c53523cb7610a569e861e8a312da1fe659de0522a3594fb14cad24a6" + }, + "tests/game_design/test_census_saves.cpp": { + "mode": 420, + "sha256": "814c17c7a14db7b123579b7636ee7f2b720fdf4a5cbbe90f676dc01709c45e3b" + }, + "tests/game_design/test_hull.cpp": { + "mode": 420, + "sha256": "cff70268d58ab95ed963d335904110ab55c79d6a0f660f613409cf6d5d63e2bd" + }, + "tests/game_design/test_json.cpp": { + "mode": 420, + "sha256": "e7fa196274a4591834a974f742ff59c7ed1fb15fb138091b48a071354d001c5d" + }, + "tests/game_design/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_design/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_design/test_stats.cpp": { + "mode": 420, + "sha256": "a3681df901095b848cc6b1ae63d04fd70eeeadd406e7d51f3c76671cbf523a7a" + }, + "tests/game_design/test_structure.cpp": { + "mode": 420, + "sha256": "d09f7707ee170f8a933c657628c1da4f61a29c7eb2dc687a96c3985bdac941aa" + }, + "tests/game_design/test_tech.cpp": { + "mode": 420, + "sha256": "689c081a324c7ece3f70d711f7ac67a5b93207f95e2800a3a708f2f8dbe31965" + }, + "tests/game_effects/CMakeLists.txt": { + "mode": 420, + "sha256": "c80413a7103ce0ed7944fb096ad22fc206a091645428a6015ec3d0e442414a0a" + }, + "tests/game_effects/build_and_run.sh": { + "mode": 493, + "sha256": "ab5085eeab0ec65d8f7ddd7d79357cd15183888b1b4e51cb563810d4e4c64506" + }, + "tests/game_effects/test_effects.cpp": { + "mode": 420, + "sha256": "b10d804b1ad4fb140e13cc1984c6372dbbfdd92560f37583f2411bbcb45c16d4" + }, + "tests/game_events/CMakeLists.txt": { + "mode": 420, + "sha256": "c962651d71ee7783d5565b418f653f2954e489cf698762c5686f5f2dbb4304db" + }, + "tests/game_events/build_and_run.sh": { + "mode": 493, + "sha256": "8b92d249138ee53f728583a0c68b153eaf4e2ad7f92d415d8b3a83df2fb3ec28" + }, + "tests/game_events/test_events.cpp": { + "mode": 420, + "sha256": "182941b9b809b20d24a2e29c5e4bbd626e6da8486e87dc38d1c6088161ec793b" + }, + "tests/game_nav/CMakeLists.txt": { + "mode": 420, + "sha256": "7ee85557a167281f4576252428b4e01795232f31dc1d93c23b284568074cec3b" + }, + "tests/game_nav/test_pathplan.cpp": { + "mode": 420, + "sha256": "6229cc2b1be1ffffb3fbb812c2ccc89dba7099d349be3a6f8f2c2e26aa1dd58d" + }, + "tests/game_sim/CMakeLists.txt": { + "mode": 420, + "sha256": "563547cdd93bce41ef29a73289e5104a5df61f71cc980e49ea37cdbe26743be7" + }, + "tests/game_sim/build_and_run.sh": { + "mode": 493, + "sha256": "a9c42a931242c7f266f512b4d4ad11f6f8ecf43a447a06a04f174301ee19328a" + }, + "tests/game_sim/check.h": { + "mode": 420, + "sha256": "faddddc37a528f0235f510b249cfc1776ce30aff709329954f09093b01231221" + }, + "tests/game_sim/mini_json.h": { + "mode": 420, + "sha256": "710218b637aaf1a5eb7c49eaa7d158bc3e495135ec14bf8b41384769d0227ba5" + }, + "tests/game_sim/smoke_real_save.cpp": { + "mode": 420, + "sha256": "2432e92ac18fadfb1152c54d9dec9a77b3dbf506ea122401cbbd48584b7c9190" + }, + "tests/game_sim/test_colony.cpp": { + "mode": 420, + "sha256": "45355673c46cbaef66b2c81d04a845cf65b6ddfd9819350c7338d9771fafb6fe" + }, + "tests/game_sim/test_construction.cpp": { + "mode": 420, + "sha256": "8df75076a3f460e949e34100d55acf60b054603da6d4aeda4f73297442c06e21" + }, + "tests/game_sim/test_economy.cpp": { + "mode": 420, + "sha256": "43fe658fd2347e3667a901afa642713d70c85ef0ec75094642da2d05b9ca471b" + }, + "tests/game_sim/test_movement.cpp": { + "mode": 420, + "sha256": "1927c371d52115458d88552014cef30bba60e9bef5eb3acfce11b2bc623e06a6" + }, + "tests/game_sim/test_observed.cpp": { + "mode": 420, + "sha256": "1f6ad16c1a2c80f0621573b5196989b0349e47351585d83835be5e27f6ef3fe4" + }, + "tests/game_sim/test_player_turn.cpp": { + "mode": 420, + "sha256": "13f76eaa6cad265deec25416acf0cae2028d6cd1c7b9585df6e9252ba3f0cbed" + }, + "tests/game_sim/test_research.cpp": { + "mode": 420, + "sha256": "3dc668eb889c41f58db6007a96f54fe2a6d56ee6501a298fba3afbbe9637baf6" + }, + "tests/game_sim/test_scriptobjects.cpp": { + "mode": 420, + "sha256": "dfe90a42bcd2844c2ea3666816f97c05237206bf44467ac29790c72b7b498582" + }, + "tests/game_sim/test_techgraph.cpp": { + "mode": 420, + "sha256": "0627ea1c8012b90b62285cae2f31599ba8a8cd47928452910ade91f93502d68e" + }, + "tests/game_sim/test_visibility.cpp": { + "mode": 420, + "sha256": "ad756975b6605a164f2f9106daf2511730642eff354a866bc764a93a4be1efe7" + }, + "tests/mars_parse/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_parse/CMakeLists.txt": { + "mode": 420, + "sha256": "898204fbc1cec44f697e2803c8bc4887857950ba2b1192dd153de74d26de0ea4" + }, + "tests/mars_parse/build_and_run.sh": { + "mode": 493, + "sha256": "550c6df5fffbd85cfffc3312a03a5fa9d59c1e0416e883ddc2576cdb73eac6de" + }, + "tests/mars_parse/canon.cpp": { + "mode": 420, + "sha256": "63e2bcfb2820e7533aa3a287bcec6c318f7238006dce61ad35381562b979cd47" + }, + "tests/mars_parse/canon.h": { + "mode": 420, + "sha256": "c9a78b866d62c4e58643de2c4149572380a1392b411049c8fe74e37475d21d9e" + }, + "tests/mars_parse/oracle/dump.py": { + "mode": 420, + "sha256": "16e98089d5b532e35d6b88b3d50b4bb07e879c18512cf8d06cc5fd2aa9da1117" + }, + "tests/mars_parse/oracle_check.cpp": { + "mode": 420, + "sha256": "5eb81a0c2db8f96c6f8e51246ea9991642e5571dd94dd2e410e2fad632d47adb" + }, + "tests/mars_parse/test_blocks.cpp": { + "mode": 420, + "sha256": "f376a57891a83768ecc8b73ef5eb2333291c280760f7581ead53f7c2a71a4df5" + }, + "tests/mars_parse/test_effect.cpp": { + "mode": 420, + "sha256": "8bb14e7c718e772bfb4a22a7370f41080c49beabfa597ddd603be257bc310011" + }, + "tests/mars_parse/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/mars_parse/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_parse/test_value.cpp": { + "mode": 420, + "sha256": "a8dbe3326e5339cdad8fed7dd678df92e8a8b675d0b854f4cea6517bf557069d" + }, + "tests/mars_stream/CMakeLists.txt": { + "mode": 420, + "sha256": "31c69840e6e2e566d2e0bbaf49ab3dec712d27e505d0810ddf0496ce3ff321e0" + }, + "tests/mars_stream/build_and_run.sh": { + "mode": 493, + "sha256": "3737e42960b66e788a11cdd7fa9917fe255b6a4f60280e9f620593bf688aab41" + }, + "tests/mars_stream/oracle/compare.py": { + "mode": 493, + "sha256": "f39dd70e4bbf1952cf99e3437fd1ed6252249f3455a2d3c73311f98d8ff4370e" + }, + "tests/mars_stream/test_domains.cpp": { + "mode": 420, + "sha256": "08394777f7bc4186883cd02058f17fda8f47c3ee47049892bd8762c28b5aa959" + }, + "tests/mars_stream/test_rng.cpp": { + "mode": 420, + "sha256": "55f77273d8af5880f976a24fb00dcd8042b31a7a33f15c9f4b62fdb85bba9d0a" + }, + "tests/mars_stream/test_save.cpp": { + "mode": 420, + "sha256": "50250bb4b4f2da05f9453c541f080e018b68731f24cbf93278d50ca93ddd8d63" + }, + "tests/mars_stream/test_stream.cpp": { + "mode": 420, + "sha256": "d0da9ac2287910527bdac875ab39e0147a9be2f5535f04b55460438f31be2537" + }, + "tests/mars_stream/test_wire_schema.cpp": { + "mode": 420, + "sha256": "1cfd259f554be8218cb182dd1facc07f6cd3dea52f0daf7303393e78c7c2eb97" + }, + "tests/mars_text/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_text/CMakeLists.txt": { + "mode": 420, + "sha256": "20f8e0cfa044fb4e6b1caca0ec8d6536e012c1c4ea4454fe990923f40a201752" + }, + "tests/mars_text/build_and_run.sh": { + "mode": 493, + "sha256": "59ae392080c01be0c7f5530ecb9ae4fbdcc02366242b27527c14b8efd5076d0c" + }, + "tests/mars_text/dump_json.cpp": { + "mode": 420, + "sha256": "e246384902c3adf4fa8f2a54e38c4912f6b58f168ebc9b1e158a719e2a52b1bc" + }, + "tests/mars_text/oracle/compare.py": { + "mode": 493, + "sha256": "46a796196a413aa28a0069086e45c96399f21308153b578f063801eb997b54ef" + }, + "tests/mars_text/oracle/dump.py": { + "mode": 493, + "sha256": "53fde94f6676a5504a247cf209e2a42d67e108cc9ea0b02f289562799ee7d880" + }, + "tests/mars_text/realdata_test.cpp": { + "mode": 420, + "sha256": "a399ad5cf91cf35f78809f5b9b5cac8b2eff344dbfbab07b8b27bf66058e1e3b" + }, + "tests/mars_text/unit_tests.cpp": { + "mode": 420, + "sha256": "cd1e9e4f6e0e503d4d9b0902bd2936513293490cdc680f94639ce93661ca09d7" + }, + "tests/mars_vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "282015598e03430be0f47b779ce7087662415b3a59de14814cb3ba35c17af363" + }, + "tests/mars_vfs/build_and_run.sh": { + "mode": 493, + "sha256": "b6a8e7b0706d7416f548f071e742e600cab226663f7d4ad42299dbb76f631701" + }, + "tests/mars_vfs/make_fixture.py": { + "mode": 493, + "sha256": "57586249e57550869dd5adfbc4fdab173a59d2aee630ba69c20d562018d249f1" + }, + "tests/mars_vfs/realdata_test.cpp": { + "mode": 420, + "sha256": "c95248ae53d32bd5d8cf963ca3a39ea82e5ef08b76de736104b6aa34ec88c789" + }, + "tests/mars_vfs/test_main.cpp": { + "mode": 420, + "sha256": "cdb7bdf9b9356eb0b7f6cb0fab081cda2161b34af14ecf60cc44970e79d517c2" + }, + "tests/mars_vfs/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_vfs/unit_tests.cpp": { + "mode": 420, + "sha256": "de8da00718799886fbbc5820e0f7d0e468a31ab0608361fb509b0c12932c9caf" + }, + "tests/mars_vfs/vfs_cat.cpp": { + "mode": 420, + "sha256": "4a443e779de264f5c0c68a631b1a353b1310a4e838d342527befd8ad1e2a25bd" + }, + "tests/mars_vfs/zip_builder.h": { + "mode": 420, + "sha256": "a0f3688e5a90b7e209497d66d0dcd30a0e1ac59a56ffcbed31b2a50967c1da3a" + }, + "tests/shim_budget/CMakeLists.txt": { + "mode": 420, + "sha256": "88a0f43e433c3a6879a7f6cccf8c84ba4559009614a3fe5adf6c558ea7a47245" + }, + "tests/shim_budget/unit_tests.cpp": { + "mode": 420, + "sha256": "654e96d0880232d3090223a0d9f92f428aeffa528fbd5eca89d6bfe348aefce0" + }, + "tests/shim_colony/CMakeLists.txt": { + "mode": 420, + "sha256": "d7b2674971b0eda32b2edd62244c32af81cea9e6d984a24ca6648edbaea80e06" + }, + "tests/shim_colony/unit_tests.cpp": { + "mode": 420, + "sha256": "4cc41308c10fa1e6aa047fb6c26e4c655b727884bce87b5a9e8e2f76db665474" + }, + "tests/shim_events/CMakeLists.txt": { + "mode": 420, + "sha256": "2b43190a2ce88cf7227250aa5a3b48e3006d24f0d6f5e9a5e48507c2733e4c45" + }, + "tests/shim_events/unit_tests.cpp": { + "mode": 420, + "sha256": "0dc151a4aecb24217cc38cb818bbe760b3da2b08a23ad734b3fa8506d25fe2b4" + }, + "tests/shim_movement/CMakeLists.txt": { + "mode": 420, + "sha256": "46ffe5a9815b189283e4d5ef67a0dcd159f60da7f9ca4a3577669035fefdc1f8" + }, + "tests/shim_movement/unit_tests.cpp": { + "mode": 420, + "sha256": "ee6ee983aa72f078a7ae398ca5f828aba14370c898ae4e56063697d28919ad69" + }, + "tests/shim_player_turn/CMakeLists.txt": { + "mode": 420, + "sha256": "f6affa205f857d4a45f8be05ae0426b6f9a2e8e127f5aeadbac2ed8a4c4daddc" + }, + "tests/shim_player_turn/unit_tests.cpp": { + "mode": 420, + "sha256": "0a528cdf64904dfd22c94ea911a15213701e7912921f04c1909799e6e6240450" + }, + "tests/shim_rng_ledger/CMakeLists.txt": { + "mode": 420, + "sha256": "b6a349f2611ec1f1de2013145a97f3da59cefec81dbc4d2f3e58af507e598bb4" + }, + "tests/shim_rng_ledger/unit_tests.cpp": { + "mode": 420, + "sha256": "d38d80dd907a3468036dbca2b017718b199ab4a0078eb5e5b019b913a9ef8d8c" + }, + "tests/shim_techfx/CMakeLists.txt": { + "mode": 420, + "sha256": "5eaf9a76df6b10258a8c1d2658b03d97377d48a778a1628ca94c9bd69fa7ba8a" + }, + "tests/shim_techfx/unit_tests.cpp": { + "mode": 420, + "sha256": "99a71a6d0ca1f53fc8ff0bc21e79acd64ba2cd9c9f990641e5970c866794595b" + }, + "tests/shim_trace/CMakeLists.txt": { + "mode": 420, + "sha256": "91bc736e198c5cef86ad2ad69ca77d93ab770e5faecf9e6d915f9263b9ce491b" + }, + "tests/shim_trace/check.h": { + "mode": 420, + "sha256": "f4b72b971886c64383880ba26484f9c908d21f5902dff0de0b42f276b00d8366" + }, + "tests/shim_trace/harness.h": { + "mode": 420, + "sha256": "d7eae563723843c1389b108fe2efb2e31b6c264d23567a370a09fb9b1d513697" + }, + "tests/shim_trace/oracle_emit.py": { + "mode": 420, + "sha256": "29ed06c602e9f0d6430bb3c81192b1946213a3f44b91107f7036f35f17b69f42" + }, + "tests/shim_trace/test_coverage.cpp": { + "mode": 420, + "sha256": "8ed5b6d755fe7e2bc98d525e97bc7817a5efb7ed5f0196d49d1c783de3a91bea" + }, + "tests/shim_trace/test_diff.cpp": { + "mode": 420, + "sha256": "afd8e5124cf6e1ad9c4f3e4c2beeb65d00002cf1d4cbaa2e876fea0817a7a347" + }, + "tests/shim_trace/test_emitter.cpp": { + "mode": 420, + "sha256": "a9255bbc055df36a01931e8a61dd1dbf16085f7713db7e7386f66b69ddb10762" + }, + "tests/shim_trace/test_hook.cpp": { + "mode": 420, + "sha256": "4dd67374e260ba2722219c2e44e6be76e583d0ad65844f34859cff49b66a30cc" + }, + "tests/shim_trace/test_sha256.cpp": { + "mode": 420, + "sha256": "b55aa15dc806e3e4a87ddf50657fa4e0af6a4e4e2205c4bd63d1ae066fe57428" + }, + "third_party/minhook/LICENSE.txt": { + "mode": 420, + "sha256": "d5c2224982b0b95a16b098a561335fa93f3eaf4d0aa964b7843edb986df78dc8" + }, + "third_party/minhook/VENDOR.txt": { + "mode": 420, + "sha256": "c79054234a5340f6199f8d9f47d6b3d88e8abd2120586cd78f081cfb81a6fabd" + }, + "third_party/minhook/include/MinHook.h": { + "mode": 420, + "sha256": "e34bbf7b855c842694f6e3dd78e2d280e99ed9732501e3dc1532a8626a8db8e5" + }, + "third_party/minhook/src/buffer.c": { + "mode": 420, + "sha256": "75a789eb718bd5ed2de039ccd330736a31d0a2d14e43d8e15e6cd2332432482d" + }, + "third_party/minhook/src/buffer.h": { + "mode": 420, + "sha256": "9769702bd625249e59a19ede05c84365fcc7707e1fa0e5df08df42227cee13e3" + }, + "third_party/minhook/src/hde/hde32.c": { + "mode": 420, + "sha256": "0ddbc3ab3e0b37e61691131289a151e34f508233ccf3f701752777e5d3f62d68" + }, + "third_party/minhook/src/hde/hde32.h": { + "mode": 420, + "sha256": "5132de5be8ac7a9d054420f5caef0fb01437faa892f03b3cdc77f795973bf15a" + }, + "third_party/minhook/src/hde/hde64.c": { + "mode": 420, + "sha256": "9bf19dd706d4bc255ebd1709f98fb44899df7a1f2412820d77295136e0620f1d" + }, + "third_party/minhook/src/hde/hde64.h": { + "mode": 420, + "sha256": "e99aa4997bda14b534c614c3d8cb78a72c4aca91a1212c8b03ec605d1d75e36e" + }, + "third_party/minhook/src/hde/pstdint.h": { + "mode": 420, + "sha256": "604d1cdf45c5a95bc9cf1bbf39ca05ef83013541101d34971c5cd7577e3d5247" + }, + "third_party/minhook/src/hde/table32.h": { + "mode": 420, + "sha256": "43bf687a9fff071b5f46070db4d36c846f8e069cdc57485ee897c499aacdde23" + }, + "third_party/minhook/src/hde/table64.h": { + "mode": 420, + "sha256": "b774446d2f110ce954fb0a710f4693c5562ddbd8d56fe84106f2ee80db8b50a2" + }, + "third_party/minhook/src/hook.c": { + "mode": 420, + "sha256": "3060d3c42f03a2f11324cbee95d853071757ed0fe4b1bc9eb5f0d8fc9e346a37" + }, + "third_party/minhook/src/trampoline.c": { + "mode": 420, + "sha256": "d837f8555681c3762468d712c43f2064ed31dee610e0b02965fd8aa54b88172f" + }, + "third_party/minhook/src/trampoline.h": { + "mode": 420, + "sha256": "27426751dde36cdd8346469e61cdcca47950b1056a69f21cc63f4b41743faf6a" + }, + "third_party/miniz/ChangeLog.md": { + "mode": 420, + "sha256": "ff3b6040f7cbd8c9779a0690e906c66408f7efe3cf88a25019323f0189025ec3" + }, + "third_party/miniz/LICENSE": { + "mode": 420, + "sha256": "0115478d567121238cf6cc1c0c361926cf07a49d9e4c9e66da97fac6a01646b3" + }, + "third_party/miniz/miniz.c": { + "mode": 420, + "sha256": "e2c1aeb66eef9191d8c3feb164db2def2335a61d039bf04ed849f6b042433b30" + }, + "third_party/miniz/miniz.h": { + "mode": 420, + "sha256": "b53b62ed122e559b8f679e3cb787a0b0035fe87a58f909da0e44931678f4e85f" + }, + "third_party/miniz/readme.md": { + "mode": 420, + "sha256": "b4ea367be28a36e5386f65118b73962bc659a67936d248be68b7a7c03b8d359b" + }, + "tools/build-shim.sh": { + "mode": 493, + "sha256": "1da3fdcc019dc6495c870a42b93cee9f21ff7f9623f033c2f50d9db9fd6a33e0" + }, + "tools/check_shim_configs.py": { + "mode": 420, + "sha256": "ef5e8f100c06d8c485a165ab668206af3e9aed3e1f6aa6ffec2592419fc2332f" + }, + "tools/clean_room_check.py": { + "mode": 420, + "sha256": "e15bc3ebfd29c6e2d8edfc32cc812858869b49ffa1404cafce14c4c24e0f4e24" + }, + "tools/clean_room_check.sh": { + "mode": 420, + "sha256": "6646eb6010be756113f7af39b9cfcb06e8580893fbd100a41993f87757ccfd6a" + }, + "tools/deploy.ps1": { + "mode": 420, + "sha256": "fe01f46bedc91d7b42ff98cb0e69633845094cc2802108d23d48eb70f32e3f27" + }, + "tools/sync-build.sh": { + "mode": 493, + "sha256": "ce418ace6c5edae8609849233bb5dfd24657f55141c8ef8507659608f12aee2d" + }, + "tools/undeploy.ps1": { + "mode": 420, + "sha256": "5730b6f95f161ba5a727dc0a34f26da7f1f697711495d6a9de9c289ecd747af0" + } + }, + "manifest_sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd", + "path": "/tmp/opencode/sots-final-research-engine" + }, + "re": { + "commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "ba56b745b84c6d15b7288df65f319831fed3cbf8edd1ab3a6476418f48fd95f8" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "e722b65480a9f72c2fde1c677c789d4f4b347ef9b450894e9f4295035373df7a" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "b3e3e5851645a05543e91f128eb6d349abdc6f22accfd997012526e4d35eaa8e" + }, + "README.md": { + "mode": 420, + "sha256": "e318014a84d03e53983cdb1e5b0310f372b959f659b91abc9214faf530544afc" + }, + "campaign/DASHBOARD.md": { + "mode": 420, + "sha256": "eb207987006a3a661bf05b24fc361e1dda74b7a7f42f4abf4a3788cb17a254e6" + }, + "campaign/README.md": { + "mode": 420, + "sha256": "dc702a81c2c664c07eb170f082deb65bc3ff24e2b80d892bb082c7c4feac64fd" + }, + "campaign/agents/analyst.md": { + "mode": 420, + "sha256": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952" + }, + "campaign/agents/implementer.md": { + "mode": 420, + "sha256": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91" + }, + "campaign/agents/lab.md": { + "mode": 420, + "sha256": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8" + }, + "campaign/agents/lead.md": { + "mode": 420, + "sha256": "7661bbfca972be50a52c735b7f15f5be740158542c3d0cdbdf9a6a2590c7f1ea" + }, + "campaign/agents/resolver.md": { + "mode": 420, + "sha256": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f" + }, + "campaign/agents/verifier.md": { + "mode": 420, + "sha256": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b" + }, + "campaign/backlog.md": { + "mode": 420, + "sha256": "a10edaae044e84ee4d26e7461b88e557112f572d60c57e0025171a53dd209a35" + }, + "campaign/board.md": { + "mode": 420, + "sha256": "040c12a20f5bf70b8e6a239efb205039d1ce00a805411ba194a12bde9f40c03e" + }, + "campaign/contract.schema.json": { + "mode": 420, + "sha256": "a2c76ec042ca097a57c3c05c1e519e392d498d387a31808c7d0f70482d43c201" + }, + "campaign/contracts/controls-bootstrap.json": { + "mode": 384, + "sha256": "2943d2281229c102dd612676428a9714510e540671c1e04dae3e6fa7ea1b56ab" + }, + "campaign/contracts/launcher-smoke.json": { + "mode": 384, + "sha256": "c0418dd22bafc321b2f800acaf574dca7956c37b239d789981b920d50ab36599" + }, + "campaign/contracts/research-completion-abi.json": { + "mode": 420, + "sha256": "a5cf5e4bbc5052aa13dc34b55ee65f2997f9342e0b01062e85ad2c16d99daf71" + }, + "campaign/contracts/research-replacement.json": { + "mode": 420, + "sha256": "1108d30bf7e28f30b2446014503fc3200a8b8198a8fab0b866b873a81bf7b8b9" + }, + "campaign/current.json": { + "mode": 384, + "sha256": "87661aaf5ddfbb872365dae8c531453a1e0cb7f91b3ada046be3e829d2555f77" + }, + "campaign/models.json": { + "mode": 420, + "sha256": "95f507237a8e4fcf14189da4aa102dfae1dbaa536d4d8db6bcbfc30162ac5443" + }, + "campaign/open-questions.md": { + "mode": 420, + "sha256": "efb1c736a07bff32e75e0eede20681c206e2c95f439dffe9824702cb864972e7" + }, + "campaign/pilots/research-replacement.md": { + "mode": 420, + "sha256": "3101b8959f28ba2c6ffbac02a82b5ae0e841e7d78bd1f40f05b9d1d2278490ad" + }, + "campaign/research/SESSION.md": { + "mode": 420, + "sha256": "258a2884486ee777fbd8ff180abf23a3a320b2981ee1e90b57d4e3efe18643f2" + }, + "campaign/rollout/RESULT.md": { + "mode": 420, + "sha256": "87aba912d66e2f7bd9779f86cbae3c78d64b1be2572db02ac39fc70c750cb79c" + }, + "campaign/rollout/architecture-decision.md": { + "mode": 420, + "sha256": "8c710f390671500386745d063d6cb6edb175e6e26572286334d2f14a36be6d41" + }, + "campaign/rollout/controls-followup.md": { + "mode": 420, + "sha256": "44d0c95978cbc0953d6b1feab4463b29fab68c9d8dad2eca5fd562bb5aee1578" + }, + "campaign/rollout/controls-worker-state.md": { + "mode": 420, + "sha256": "02ff66f3f0fa978819e5c100e24cfd3752b9041590e2aed36f6abd62ce790f4e" + }, + "campaign/rollout/controls-worker.md": { + "mode": 420, + "sha256": "d022483618d3c3412785ba40e71106976c9b1c9978c43e424e3023a67b8b3f0f" + }, + "campaign/rollout/controls_evidence.py": { + "mode": 420, + "sha256": "bfaf4e523b2ca39c0ecdab94adf0b2b19a3da68aab8a0fcba69a613aed46588a" + }, + "campaign/rollout/engine-followup.md": { + "mode": 420, + "sha256": "d3d289fb4e4cfb7cf1ab6c3de597f530eafd27d3b1aa2f3e8904d6da3a95ac44" + }, + "campaign/rollout/engine-worker-state.md": { + "mode": 420, + "sha256": "76601fa42c95bd7d78ce46f528a33ef0483e0b7f2e19a1cfe1cab8e560bed05c" + }, + "campaign/rollout/engine-worker.md": { + "mode": 420, + "sha256": "fd8bbe69947b69baa61449548d5746723c941ad8b663ec66d1b278234bebe5b2" + }, + "campaign/rollout/formal-verifier-state.md": { + "mode": 420, + "sha256": "2fbac02f5f22b45e94ee33f9f53779fa059c5e93282d3c2f5ad0af027029a1f4" + }, + "campaign/rollout/formal-verifier.md": { + "mode": 420, + "sha256": "f961ceaef0037001e6576d760e28e7aded0502f3d8311925e5ed1cc537c996dc" + }, + "campaign/rollout/gate-followup.md": { + "mode": 420, + "sha256": "677f17aef214e7a6c92958dd8ad98137b238cc7fe7c1da23bcf36d727f28f7c8" + }, + "campaign/rollout/gate-worker-state.md": { + "mode": 420, + "sha256": "96514befccc589487ac3b6ff9348106aca2e4e8e3aa348471943d589c74629e2" + }, + "campaign/rollout/gate-worker.md": { + "mode": 420, + "sha256": "55db7c5f637d849fb2f200ab12c35a794c86e377a5de3f562b1c32455583e65f" + }, + "campaign/rollout/housekeeping-completion.md": { + "mode": 420, + "sha256": "a25041ebaeb030f1cfc62564b5bc57a98818ea75e082f28036e9cc367096ccd1" + }, + "campaign/rollout/housekeeping-followup.md": { + "mode": 420, + "sha256": "5759aaf403c019173450822dc5e9d4aad711a7497eba906caea39bdb39bd3702" + }, + "campaign/rollout/housekeeping-worker-state.md": { + "mode": 420, + "sha256": "5ee9a48a691709af325994fd3d44a1ac6e40d05f26e09b03ae7efec2ecbe25cc" + }, + "campaign/rollout/housekeeping-worker.md": { + "mode": 420, + "sha256": "bab8219fadd0688e91d6211478a01403a36ae74fd2b6f7df0ad5c8745a542ca9" + }, + "campaign/rollout/independent-review.md": { + "mode": 420, + "sha256": "a7a8ebcce5202db0e67c8c65135df751e69ee6728c4c2ced92e1cc85b4279f22" + }, + "campaign/rollout/lead-state.md": { + "mode": 420, + "sha256": "3ded5b3f97d7882f72abef5ea268765a5db29c8b619486c153f5c92742040c01" + }, + "campaign/rollout/publishing-worker-state.md": { + "mode": 420, + "sha256": "641977e4d0ec400a3a6c38121ae5e7904aa1accc47179ee148ad7cb199029b0e" + }, + "campaign/rollout/publishing-worker.md": { + "mode": 420, + "sha256": "822812fbc803d443fb7e0855268c34224eda29f95e57274c217275b09ff4410f" + }, + "campaign/rollout/review-followup.md": { + "mode": 420, + "sha256": "853e3b5aab09cd77fd54cae6d8a61fb5ae092603ab2be8dee2db6d80492a6443" + }, + "campaign/rollout/review-worker-state.md": { + "mode": 420, + "sha256": "a704e6023eaf3424761bf431e49687ae1f1d687119fe00a466b9da2d9ef7bd42" + }, + "campaign/rollout/review-worker.md": { + "mode": 420, + "sha256": "0e348015440aabef95766010f14880619d34a472102698c9819dfbb029b8a6c8" + }, + "campaign/rollout/sync_verifier_snapshot.py": { + "mode": 420, + "sha256": "4133e536bfdb0e206ecdfc072062e7674b07b973c7f8b9d7f1a268520523d6eb" + }, + "findings/.keep.md": { + "mode": 420, + "sha256": "141ed928eaf10a2023dd2c0ff6ea68cf6ec423cfd28d5a359d9c5add730bf64c" + }, + "findings/00-strategy.md": { + "mode": 420, + "sha256": "3bc97827988c6eb4647713c5655271e156dfa466fad5685924010f3244fe6386" + }, + "findings/01-fingerprint.md": { + "mode": 420, + "sha256": "7cf0503c29f5beff852427c2c5bdf8e9d968386de777c47b6130771cac944cac" + }, + "findings/_template.md": { + "mode": 420, + "sha256": "b92d0ca7bfef4498a5f9e594453f15ab15e2c88c7582c4ed5df4c40e6871c3b1" + }, + "findings/control-flow/ai-visit-order-probe.md": { + "mode": 420, + "sha256": "e89f91a33139014ebdc22d79064ecfd06f9b4ffebb4bbc3da73734fc47534047" + }, + "findings/control-flow/alliance-mask-and-modcount.md": { + "mode": 420, + "sha256": "ec66c6b76d9e4c8bed385acf70e6a7d5da08e05eca72ac1e8e5cb307d87f2552" + }, + "findings/control-flow/combat-done-tail.md": { + "mode": 420, + "sha256": "799ace775f12ebe9a2737a711c8d0a6e617f0cefec70b93bf094e47cf81cc348" + }, + "findings/control-flow/combat-resolver.md": { + "mode": 420, + "sha256": "abf1a9329c1bd8a96c76481246a00b380e9a17fa8dc8900810218026e5fe1b9e" + }, + "findings/control-flow/combat-retreat-pipeline.md": { + "mode": 420, + "sha256": "6c40c8bdbdde672c9cd67248d740d88892ad2b93b30e27e9bebe0e96027cf136" + }, + "findings/control-flow/fleet-visit-order-mechanism.md": { + "mode": 420, + "sha256": "a2ea1a6ac9d383380e16910cff89dff0e9b23f1df66f47ef91dd266bd50b3a6d" + }, + "findings/control-flow/gate-indexed-rng-audit.md": { + "mode": 420, + "sha256": "5004b2480787eec7be66f40474648030fdaf7759087a4c4651091152d89351cd" + }, + "findings/control-flow/hive-creation-rng.md": { + "mode": 420, + "sha256": "5ff37d571c0380c798a137e0c6947a0c63109de489fd2100c99bfc6637fc272b" + }, + "findings/control-flow/indirect-edges.md": { + "mode": 420, + "sha256": "3dbf2acf7354f61de66348fe40965f3138dbc4bbff8cb0f06b2751e71ed06ee1" + }, + "findings/control-flow/inlined-draws.md": { + "mode": 420, + "sha256": "3b099718543d7fb112664699749602ff9d61de9aaebb561fc93f1f8b7a152134" + }, + "findings/control-flow/per-history-residue.md": { + "mode": 420, + "sha256": "739c7fc760583ca143036ce554e1eece640d1662fba4642e6f80fadd3dad13f9" + }, + "findings/control-flow/pinned-seed-rich-turn.md": { + "mode": 420, + "sha256": "7c62336767b7c69f513446543f37662ba2a0872e207b906279446bbe399d65b6" + }, + "findings/control-flow/raid-gate-multiplicity.md": { + "mode": 420, + "sha256": "6d7b7357be428ff79186478dc37063657ca4d8e2ad49fcdd92493753748a52f4" + }, + "findings/control-flow/raid-intercept-species-word.md": { + "mode": 420, + "sha256": "1da80eb14f0e3e5a0ce139f62976bb305e3e75a1e5e0631d8287f94eac093d8f" + }, + "findings/control-flow/raid-intercept-z-word.md": { + "mode": 420, + "sha256": "beb421953b70377c8c759f5cc936321faa6316be76d41020b41f26c99706acb3" + }, + "findings/control-flow/raid-target-pick-verdict.md": { + "mode": 420, + "sha256": "d0262a4187e35547b28d6be842e7c730aa3ee93565404b587a790706afabd694" + }, + "findings/control-flow/seed-exposure-forward-test.md": { + "mode": 420, + "sha256": "f108a07ce695b64c482af58db4caeb2607059a3357b62f04f7f36ce45c84ff4a" + }, + "findings/control-flow/standalone-generator-and-turn-record.md": { + "mode": 420, + "sha256": "e499f62534580f27c2a01395e08312ebc7df13bdd307342096f468212aec600b" + }, + "findings/control-flow/standalone-scaffold.md": { + "mode": 420, + "sha256": "0bf928260d5058815a2f09c4df8c08eb359430aeea941f872018de7cbca39105" + }, + "findings/control-flow/tail-probes.md": { + "mode": 420, + "sha256": "ae45e84a9c7f257170f7550301fc4e1a35d5210269bda8070469a5c921cce95e" + }, + "findings/control-flow/tail-rng-ledger.md": { + "mode": 420, + "sha256": "2db588423e7b7de7729e5319477c17fbcea5b7a9cb8ff00b01cfd72bfce25403" + }, + "findings/control-flow/trade-raid-rng-gate.md": { + "mode": 420, + "sha256": "85c7b27aa284988b07b5e67c8e48ef1725289f1a6956d88be2572577cc06e1bf" + }, + "findings/control-flow/turn-driver.md": { + "mode": 420, + "sha256": "3f4e92041a0842d211ea9ae1ae16a9fe400dacf9632209102a1f76acc6b30792" + }, + "findings/control-flow/turn-spine.md": { + "mode": 420, + "sha256": "e2a64f82e5dececb4ba56859d1e53a0f720e08472c79c39197beba7f6041811b" + }, + "findings/control-flow/w3-containers-status-handlers.md": { + "mode": 420, + "sha256": "fffbaa6e3701abbe57a54046416a102502afeaa29b14632f9506905c22bf3914" + }, + "findings/control-flow/watchpoints-modcount-status.md": { + "mode": 420, + "sha256": "0aec4c93ca7219e29827a5069a9829d5e58da2001e79a7316bce288d3e9a6c7d" + }, + "findings/objects/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/objects/00-inventory.md": { + "mode": 420, + "sha256": "cada5fc81c42cb50878a26e43a58640153c600319e66d4c92a23d7c363ff5f14" + }, + "findings/objects/aiagent-block.md": { + "mode": 420, + "sha256": "55d646ab57e90477993d263399254a3b103024d89fff42491b7df5cf4ffc8037" + }, + "findings/objects/classes-game.txt": { + "mode": 420, + "sha256": "e0eceb77c56e05bc7863d3a07805d703fc0ecec489ef24fabe7c6161f2835199" + }, + "findings/objects/classes-mars.txt": { + "mode": 420, + "sha256": "b624f7bd82a5277462a39627140a85c7a7929fd292b62e45edb5c96fd53b6145" + }, + "findings/objects/ghidra-recon.md": { + "mode": 420, + "sha256": "ca4b043a73c1d5573aa0c83cd3942db731884910c90e7d8544c8a32c939e2fda" + }, + "findings/objects/rtti-raw.txt": { + "mode": 420, + "sha256": "39f6fdf8793f8202c19cfb87a75466b215254a13050ec37c0c496699298247ad" + }, + "findings/objects/save-editor-structs.md": { + "mode": 420, + "sha256": "835d4fbf154275542383ea499a527c044ec7d577486c2735b817bd32d6e0c853" + }, + "findings/objects/schema-gaps-resolved.md": { + "mode": 420, + "sha256": "9ddae36eb8e3ef909c4902d01200fc8a17335271e4e063939ae162a3eea5bb3a" + }, + "findings/objects/serializable-types.txt": { + "mode": 420, + "sha256": "59c2f3942f55eb3f6687758a4c447b1ed8902caa60b97d9619bb8228e27c6838" + }, + "findings/objects/serializer-struct-recovery.md": { + "mode": 420, + "sha256": "5b56d8e1a5047d602cea7a76227f30e17244057fe21fde3d4e2cc76e9f185416" + }, + "findings/objects/ship-design-catalogue.md": { + "mode": 420, + "sha256": "feded2191180e184d34d4992935dc117bff8d052e8a2c63ecc29fa7b2e6b561d" + }, + "findings/objects/struct-recovery.md": { + "mode": 420, + "sha256": "4e99ef972529101f5700b52845e263fb3789e0b82d8cdeca921f1595a24d92db" + }, + "findings/objects/svsctob-variants.md": { + "mode": 420, + "sha256": "89617cd2909f2242e9e1657fd4a8f5aafe5aa0c1e0e9bc8926fb67c1e830dd2d" + }, + "findings/objects/svsctob-writers.md": { + "mode": 420, + "sha256": "7a9b7f3bf4eae63cf522246227410b2e3ca789284b7c620f01550fadf479622c" + }, + "findings/objects/turncommands-block.md": { + "mode": 420, + "sha256": "8eca2b79838114e7ae46d34c6e75eaf3b04c0448d9896ed4219b118f09e83046" + }, + "findings/objects/wire-schema-channel.md": { + "mode": 420, + "sha256": "31f0fc4e1cc3c3e7ef938aa22ad65cfdec32be4f1ade476a7ebf32c3c6f07d6f" + }, + "findings/objects/wire-schema-closeout.md": { + "mode": 420, + "sha256": "bbae848b4f8d6d0f2a914268ac34e75b4cea483f52816916202f3bd3cd084255" + }, + "findings/objects/wire-schema-ratchet-debt.md": { + "mode": 420, + "sha256": "0d144181478a607f2474a7c8a1b71ca49c881ef6fd068b5e8859c3fa8129507a" + }, + "findings/resolutions/2026-09-08-ai-seed-per-process.md": { + "mode": 420, + "sha256": "0765bdaeade29122ab5e64493f3a7c339f1e4c4445192ed09ae3d229dd6ae943" + }, + "findings/resolutions/2026-09-09-fleet-id-order-residue.md": { + "mode": 420, + "sha256": "b3d63a11e8ebd55da4af15760d044607b6105216898a018f5ceebc94750817e8" + }, + "findings/resolutions/2026-09-09-seed-exposure-is-a-predicate.md": { + "mode": 420, + "sha256": "dd7ce18738a625b9008ef80783bd64fc3857852775ab3b784b9e5f4fd5ae7de1" + }, + "findings/resolutions/2026-09-09-tail-draws.md": { + "mode": 420, + "sha256": "ff86a332ea9f87bd6f42a0b64e837e6f6f5876423ae9403a903aa9bfe7c42678" + }, + "findings/subsystems/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/subsystems/ai-client-seed-is-per-process.md": { + "mode": 420, + "sha256": "5e6de0418588ff28cee29cb9affd69c3183819318c314eeb0771bbe810e6b4ed" + }, + "findings/subsystems/ai-order-capture.md": { + "mode": 420, + "sha256": "6efebf9f00b375d2c7f29ddeb24ef7a04e3b02cac9027369b490157a196d08ce" + }, + "findings/subsystems/ai-order-emission.md": { + "mode": 420, + "sha256": "9e54a13a18387a4f93acc5c66dbf71d365c81f1a8e6d2aee31f7a89712894ace" + }, + "findings/subsystems/ai-stepping-and-passes.md": { + "mode": 420, + "sha256": "e7e2fc612457a4e77df362aea2928d20fa5a2456fe12a7fbafeaf3c9e01c1dc1" + }, + "findings/subsystems/ai-task-system.md": { + "mode": 420, + "sha256": "577f8fc41256ebdf9629f1e30df9aac7f51c1a84b55f60c2b59e4af4c55126b2" + }, + "findings/subsystems/ai-turn-logic.md": { + "mode": 420, + "sha256": "79e9b7c9592d583db7b9d9ce472804038a71febf7527bd69e31b3399caeb0770" + }, + "findings/subsystems/battle-load-profile.md": { + "mode": 420, + "sha256": "3cf8e28925ebbb162bca9c3be9e6b2599c82ab6aaf9a9d99ffd9c934bf773c77" + }, + "findings/subsystems/data-model.md": { + "mode": 420, + "sha256": "f01c9bfcf8ed9fbf9fdd30556308a1dbb1094896050cc8a5e4fbc1c6c61aff78" + }, + "findings/subsystems/data-parsers.md": { + "mode": 420, + "sha256": "6a428c14279ac2c589b4af932e762ef7e3ada1a878128527b8d88858c11fbc35" + }, + "findings/subsystems/determinism-oracle.md": { + "mode": 420, + "sha256": "4fe0abad0b1b825392cd47b792d06756742495f26ff40a6a433d8608b4680bcb" + }, + "findings/subsystems/eventlive-verification.md": { + "mode": 420, + "sha256": "8bfcc75e57ddf88ec8a4b8885f033be8ffd420965077ab284b1ebce535ecf1a0" + }, + "findings/subsystems/events.md": { + "mode": 420, + "sha256": "c5d6e168d6d48eabec0ae0a448f9c3ec8d0f751a67fc320bc1021ba10008a3bf" + }, + "findings/subsystems/formula-gaps.md": { + "mode": 420, + "sha256": "63ec96a27fac5381d33cdce3e549d230bd5b0230e4d8573f4f3d45bab7d47ffc" + }, + "findings/subsystems/fpu-precision-sensitivity.md": { + "mode": 420, + "sha256": "4cf84e2a1c3d0eaaf9b3a7f218ad663ffa6984389b2a25851249733ad708ff8f" + }, + "findings/subsystems/golden-trace-recapture.md": { + "mode": 420, + "sha256": "b244f939b87dd464d78d919675c0e6aa010b0ec7b4fc6e4178e26c2c8ebee738" + }, + "findings/subsystems/id-allocation.md": { + "mode": 420, + "sha256": "b04a14a5a7d4d1c6137c4f9072987eebc997421e550881dcc2c8e386187f5b90" + }, + "findings/subsystems/income-term.md": { + "mode": 420, + "sha256": "c40286635675a91ce779b887a0394e92f946844873a778015efb98c4a105b67e" + }, + "findings/subsystems/loader-prototypes.md": { + "mode": 420, + "sha256": "f1d09471d5e17c45413b86805f561329f5af24eadfb17c3c740686c39b167ed6" + }, + "findings/subsystems/money-chain-float-widths.md": { + "mode": 420, + "sha256": "99bded6f2d34a713bc175deb4ad5ab4559ce1cc90274b036c1818ad8257c2fef" + }, + "findings/subsystems/movefleet-position-rounding.md": { + "mode": 420, + "sha256": "12dbdc03658cb042b5927586769dc9c19fc2eb812f703e73bf26273f8b0d65a6" + }, + "findings/subsystems/multiplayer-combat.md": { + "mode": 420, + "sha256": "2f4957011b5c5875b8aa7f71531dd5dfe3fd8df4f2c67a7be2fb5999f090c02b" + }, + "findings/subsystems/multiplayer-gamespy.md": { + "mode": 420, + "sha256": "a878e97775d27e085e58b18eaf5a67aaa522456d1055ca142f0477e3d6152d47" + }, + "findings/subsystems/multiplayer-tier0-verified.md": { + "mode": 420, + "sha256": "942ce29cbe22d8f7de5af54f2017c0433c7b8e1a56c864868ec906ffcbb9059a" + }, + "findings/subsystems/nav-classifier-live.md": { + "mode": 420, + "sha256": "b8aacdea8072a99ba1192e235088b372180f094795baf164e8cb95bd2df9f3b0" + }, + "findings/subsystems/nvo-tshn-visible-owner.md": { + "mode": 420, + "sha256": "ef96bb61769c02affd7148cd95e70bf358cbe6263fbe9b47aba6cf4cfa8486ad" + }, + "findings/subsystems/observedtech-append.md": { + "mode": 420, + "sha256": "61efcf51bffe53b8a10a2cdb8123db3f8c55b6874db87418fc31737efedaa652" + }, + "findings/subsystems/output-term.md": { + "mode": 420, + "sha256": "9eb9ff58a1d4cf34d3138f5044788b6f87ff4c94fa871b2dedd6ff6667196533" + }, + "findings/subsystems/output-turn-path.md": { + "mode": 420, + "sha256": "4e199e5cc14802c1b14b37cff0c1359b43aca94dab833f9024c7825c4c512588" + }, + "findings/subsystems/path-solver.md": { + "mode": 420, + "sha256": "3e0e318d45e14f844831c4180e47011263f64067dacf3249742882186d65cf18" + }, + "findings/subsystems/players-residual.md": { + "mode": 420, + "sha256": "e2f56c7983856470d37cd0fba4834a0ccb34dcaddbaf9acaf5dcdc253c6b3507" + }, + "findings/subsystems/population-growth.md": { + "mode": 420, + "sha256": "c2ec2f062e1224045b761640549e7374336ac762bd61c686a0c1378ad829a993" + }, + "findings/subsystems/rcex-explained.md": { + "mode": 420, + "sha256": "df7c9de6f02c1bd38f69e3a5344ec663d97b1d6b738ff408dfdeb0e2f6175b32" + }, + "findings/subsystems/relabel-new-ids.md": { + "mode": 420, + "sha256": "562ffe347adc6432a7824bfa2b324b6b1812b4fcc18343f0732c0f3d9991be20" + }, + "findings/subsystems/research-replace.md": { + "mode": 420, + "sha256": "d0f692cf687a7fe6aab62fc5d7d076eb595e1c33fd84c6f1e437ed01025cab4b" + }, + "findings/subsystems/roll-parity.md": { + "mode": 420, + "sha256": "7d97d7e5eee7b9f135e32b6553bb94ca83fd05b1eca7d18c42e9d65cae4d95d1" + }, + "findings/subsystems/rung-b-rich-turn.md": { + "mode": 420, + "sha256": "44378c6a305a82b2d131270fa5d97fdcd8a7fd5c9760ecbad7715383eac2db68" + }, + "findings/subsystems/running-the-game.md": { + "mode": 420, + "sha256": "f6109f69c6b86e4cf01d0f2e1f8be9921ff632513bca5d9e44e7f6c34f1cd260" + }, + "findings/subsystems/setresearched-cascade.md": { + "mode": 420, + "sha256": "9c079de161a1d1387339b8e8081395c1356c1443a0c898942acfb6efb65a454f" + }, + "findings/subsystems/ship-construction.md": { + "mode": 420, + "sha256": "86f570b1872c8dfac3982d1d7335f4798ccbd1bfd73c91d481afba2734c41216" + }, + "findings/subsystems/ship-design-composer.md": { + "mode": 420, + "sha256": "639b276e9205aaf6c90d9c458a383cc073e89f401ef8f17f8ad5a8a0c5899fa8" + }, + "findings/subsystems/snlv-measured.md": { + "mode": 420, + "sha256": "785324d176be969e1809090acd6b7a48d27f4fa41472c0d9c6f568c0b3a1e539" + }, + "findings/subsystems/spy-detection-roll.md": { + "mode": 420, + "sha256": "214179f5091408ef01ce4b80565068cb9a0885d1c6a233cda476280b9bf29c0a" + }, + "findings/subsystems/spy-program-draws.md": { + "mode": 420, + "sha256": "0c61c2f9cc767ae679921bfc42ef9a207ec9a6e0dc88419a673a8e439f1abfc1" + }, + "findings/subsystems/strategic-turn-internals.md": { + "mode": 420, + "sha256": "3a5c17e025d4968db6030f8ef1daaa2b03ccd4def12d35cf3a0eabcb0b5cbb54" + }, + "findings/subsystems/strings-and-config.md": { + "mode": 420, + "sha256": "67aefda7792e329b7df3f6e8cf42c7bae7049867cdda0741e871b183bc528786" + }, + "findings/subsystems/system-visibility-prediction.md": { + "mode": 420, + "sha256": "b420526ca0410bd4578dd2ed29cd9a21ed3578d6345d9f853a883e0159c1f89c" + }, + "findings/subsystems/system-visibility-record.md": { + "mode": 420, + "sha256": "d2843e10c156a7c85d7dab40d00204475fc725dc9b93656f6cde941ceceb5f51" + }, + "findings/subsystems/t34-observed-designs.md": { + "mode": 420, + "sha256": "207641821a55f5671749b000d478afd9e427336e2d123a55ad2203f34dfaa796" + }, + "findings/subsystems/tech-effects.md": { + "mode": 420, + "sha256": "7423f1e2cb2a597738b244d58bdf467431ee5de725ac434b904676ddcbcfc609" + }, + "findings/subsystems/techid-name-map.md": { + "mode": 420, + "sha256": "cfd92a7885dad3775465fc0c5b40aeb1749499f90071b44855ab8e1746d5f752" + }, + "findings/subsystems/trade-and-spy-workload.md": { + "mode": 420, + "sha256": "147057456fa30b6218df19679abab1ac31b78276a4272d221b70776e154396ba" + }, + "findings/subsystems/treaty-turn-stamp.md": { + "mode": 420, + "sha256": "fa0a8588847cc2b9e92cddeca65fd00fe3d84a00a1034d9354053c7e6cd9ceb5" + }, + "findings/subsystems/turn-command-replay.md": { + "mode": 420, + "sha256": "b65fa3c3c01c67bc16ec488e4a44e6c748256e941c80987528b7602038a56e07" + }, + "findings/subsystems/turn1-to-turn2-nondeterminism.md": { + "mode": 420, + "sha256": "9ebe834fa0f7c1cf864032ec67da76730ed6c239d6bd3a717f147490116acc4d" + }, + "findings/subsystems/turncommands-capture.md": { + "mode": 420, + "sha256": "a57fd2a77784fef1b176749878b161c4f04ac77c1f4a061a6b713787d92fb9ef" + }, + "findings/subsystems/ui-screen-map.md": { + "mode": 420, + "sha256": "d266285e3ca99ba3b5ebbab47c78f3df247a8b539c0519c6fd27a999b9d6f84b" + }, + "findings/subsystems/unlock-cascade.md": { + "mode": 420, + "sha256": "38d29a9484aa3910f5a62b5dd08225ba590bf26901203c5aef1b0b466fbbc5fb" + }, + "findings/subsystems/value-domain-census.md": { + "mode": 420, + "sha256": "bc99139708aee5da4cafec585fc35ab3523b51571518038db19b5f1383c6a6c4" + }, + "findings/subsystems/writer-byte-exact.md": { + "mode": 420, + "sha256": "a0e91a90d2ae78328dbaef30b37d53037cab26489e4729413bcfebbafcab0978" + }, + "ghidra/addresses.d/README.md": { + "mode": 420, + "sha256": "cf2745d5d3e504725ae5a296dc20e3d63b8d32a903445aafe2af61828a6d59c5" + }, + "ghidra/addresses.d/ag.json": { + "mode": 420, + "sha256": "24d5b11779364cf198008b143c7a3a092117ec4a1530c489497dbc8acdf62d8e" + }, + "ghidra/addresses.d/ap.json": { + "mode": 420, + "sha256": "e37f478836eb297f9cc5186cd7df3f5942abc4b6396a4d2866e613841437f778" + }, + "ghidra/addresses.d/ar.json": { + "mode": 420, + "sha256": "8d8620be8dd807a610ff63c0d77cbf266f3d9ce272158991d1f55d9c9910c248" + }, + "ghidra/addresses.d/as.json": { + "mode": 420, + "sha256": "08a869ab9466d4b575363cfb6fc084ca72cdc05d509c5d87e658a9a9977a7ae9" + }, + "ghidra/addresses.d/az.json": { + "mode": 420, + "sha256": "60b9a169605ac171cffb848024141c9224f6897bf69b547b9a4f2b5ddfc8d835" + }, + "ghidra/addresses.d/bu.json": { + "mode": 420, + "sha256": "79037146ba621e43e561bcf0577afc25b2ffac4ced44c902d2ea8ed9171b1bb9" + }, + "ghidra/addresses.d/cz.json": { + "mode": 420, + "sha256": "35de20ff0e38d05b5c58c89690dfc81ce44eb280a2a594ae862e55d56edb5d3c" + }, + "ghidra/addresses.d/dn.json": { + "mode": 420, + "sha256": "c41f877a37bc864f8f315a47b720ac204c22c25de405f4de63b845180641eba0" + }, + "ghidra/addresses.d/dt.json": { + "mode": 420, + "sha256": "580762e01175fb7246d0f9214e4ed9ba16bebcdb82ad1525fd1f77c0910c660f" + }, + "ghidra/addresses.d/lane-a.json": { + "mode": 420, + "sha256": "fce5f06866bddc6bca095d53e376495103dfd8900ad7da0d0d6731f105915d71" + }, + "ghidra/addresses.d/lane-a2.json": { + "mode": 420, + "sha256": "1207088eb2ae041afc2618a627029e25f578ae9fe8db73bb9efb616f39c34bf0" + }, + "ghidra/addresses.d/lane-ac.json": { + "mode": 420, + "sha256": "02a1c2f01ca0d11a7c38d416d94fabaea64b5c5919f6ceaead83430fb398710e" + }, + "ghidra/addresses.d/lane-ai1.json": { + "mode": 420, + "sha256": "134a0cb87b95bf5f39ed015bcdf64c6e8da6b22e073d5b5487148cb5421addff" + }, + "ghidra/addresses.d/lane-ai2.json": { + "mode": 420, + "sha256": "e9d94ce026231d420538400fa9c73fa8a2fa882d16f542c6b8ce2c34014acda6" + }, + "ghidra/addresses.d/lane-ai3.json": { + "mode": 420, + "sha256": "89c29e1bbb1159b7b6fb4fc8c232902f8497efc82290aba6f50c9c9097feec6a" + }, + "ghidra/addresses.d/lane-ai4.json": { + "mode": 420, + "sha256": "78b7897d3d2678ddbff7cd982bfa7d93a0c26817846a148fd3f46790fef9d7fb" + }, + "ghidra/addresses.d/lane-b5.json": { + "mode": 420, + "sha256": "641c724d1fbf28f5469aac488401ea2f92bdd3b929fbf053ddeef0ba5b8de9da" + }, + "ghidra/addresses.d/lane-b6.json": { + "mode": 420, + "sha256": "b2b2833220e3a645efab2b767f1d93d1215a54d195e28e6743db8f1d89934697" + }, + "ghidra/addresses.d/lane-c3.json": { + "mode": 420, + "sha256": "b732932503c181c77bb14ba0136379c8fa3501d0c1471b02d9bca7d023bb5f5a" + }, + "ghidra/addresses.d/lane-d2.json": { + "mode": 420, + "sha256": "8b5df39fb5eea0cd40dffc20aaccabe169f5472171dfd242ca2e75dfc4ca608c" + }, + "ghidra/addresses.d/lane-e1.json": { + "mode": 420, + "sha256": "cb38b41b747bf74ee73fb7eaa301da4bb896d089fa1dea4197382e94940c7f69" + }, + "ghidra/addresses.d/lane-e3.json": { + "mode": 420, + "sha256": "a5fe9dbb37ee587bf36a311771bbc9d8dcaa4d4fcc0b420b8f45829929b0ff98" + }, + "ghidra/addresses.d/lane-ev.json": { + "mode": 420, + "sha256": "b243d31bcd69bfb1e5928ba8b70e958e559c88ee5190ca34e569f217a784798c" + }, + "ghidra/addresses.d/lane-g2.json": { + "mode": 420, + "sha256": "84401f05c5cf2ca0839e817877892e904b3fd2fd4175607abc34453acd8ce822" + }, + "ghidra/addresses.d/lane-g3.json": { + "mode": 420, + "sha256": "d176eb4a07bb6b98acea77e1a0a9904d317a594768ecf8719bbfacbdf6522729" + }, + "ghidra/addresses.d/lane-h.json": { + "mode": 420, + "sha256": "e8cffe89c7feb1d9fa1949f33aff01edc7b84b49ab752275662f6f613c16c0b6" + }, + "ghidra/addresses.d/lane-i.json": { + "mode": 420, + "sha256": "a4c482ff6fee78e96da3400b9ba7d76b58634a5933ff388db5993a1b105c8aca" + }, + "ghidra/addresses.d/lane-id.json": { + "mode": 420, + "sha256": "3f48c9b2e2c3a08e13a856bfb78d551af17f5a1a1079f03f8edbf4615f17ca7d" + }, + "ghidra/addresses.d/lane-j.json": { + "mode": 420, + "sha256": "4fd95b08fee60a2748995cb082fe50d61e7179ae90b106f230bfc5c55a35660d" + }, + "ghidra/addresses.d/lane-k.json": { + "mode": 420, + "sha256": "f6ead3ff256fd2e1408d52bfa28e308f106ad672b3fe1cce0d136faac351136e" + }, + "ghidra/addresses.d/lane-l1.json": { + "mode": 420, + "sha256": "ecbab4a1b602beefd6889effc4883b7f7de01afabb7c5c071bbc4e2237e9131b" + }, + "ghidra/addresses.d/lane-l3.json": { + "mode": 420, + "sha256": "eabb96253bee36c799f1eb89108e284162606cfdc5e9bd29dbf7b5f88ee88adf" + }, + "ghidra/addresses.d/lane-l4.json": { + "mode": 420, + "sha256": "5b2b54d2f3e123e352e9a2b0f1d80fc8afcdd0b97916a94ee5a62ddc03b0ae75" + }, + "ghidra/addresses.d/lane-l5.json": { + "mode": 420, + "sha256": "cedc4869149212d401c519c46fa3f02769f9c939fc560fe8d35cc4f898091482" + }, + "ghidra/addresses.d/lane-n.json": { + "mode": 420, + "sha256": "6987efa430f2da8987e42e61e53113f914cb00e3e52a7c679565e7faf5160c82" + }, + "ghidra/addresses.d/lane-o.json": { + "mode": 420, + "sha256": "7fcf357f25ccdf061b6bc688339e2006f830c551718b6419a0a9d0ac968bb555" + }, + "ghidra/addresses.d/lane-p2.json": { + "mode": 420, + "sha256": "7eaa63d64a0054ef88f323f58b31fca07bd2372dc21560b4bda64eb13d869792" + }, + "ghidra/addresses.d/lane-par.json": { + "mode": 420, + "sha256": "3836b786aec28feb028271d05f368d7c332b8930b51cfdceb36540133a3d3237" + }, + "ghidra/addresses.d/lane-pl.json": { + "mode": 420, + "sha256": "f29953d17effbb7d8256687833023d4656522e74c40bf1ea646d3b35da3635d7" + }, + "ghidra/addresses.d/lane-q.json": { + "mode": 420, + "sha256": "6f98496ffc288fb30c3a7347a7e5252b296f2345afd1bf678f98a2c934b8935a" + }, + "ghidra/addresses.d/lane-rb.json": { + "mode": 420, + "sha256": "bff95b9452e0efb63e74f741682c8d1843abfe3e722143cf01cf092aa894d75d" + }, + "ghidra/addresses.d/lane-sd.json": { + "mode": 420, + "sha256": "d3239b619cbef5cddc9c7bde6525301a99a6423f8a0e42c1ea53b9ae269c6da9" + }, + "ghidra/addresses.d/lane-sv.json": { + "mode": 420, + "sha256": "f574d8b4dc75da722870c74eb29cd56c75e04dd0ac384b4549fc95d425e3de3a" + }, + "ghidra/addresses.d/lane-t.json": { + "mode": 420, + "sha256": "70975f3c1dea55ceb11af12b9ba3a04e8f7bba2e25f1355ffcd3cd457c41545c" + }, + "ghidra/addresses.d/lane-t2.json": { + "mode": 420, + "sha256": "1e3c59089b769cc5f5d3cf16c33cb6db002966f5beb1a4fb9dd8e28fe54cd6a7" + }, + "ghidra/addresses.d/lane-u.json": { + "mode": 420, + "sha256": "bcccb6ec9257537eece135adbfd126904ca0becf14f9b5d17253adf5d8c9e8fe" + }, + "ghidra/addresses.d/lane-v2.json": { + "mode": 420, + "sha256": "6a4d4960ce99c05b928164159eaf4482bf763785a1f8c50efe133667886d9a54" + }, + "ghidra/addresses.d/lane-w.json": { + "mode": 420, + "sha256": "3971d65c772146534f5d8c350f2d203add70ac82801f57f3704c47cd59b51226" + }, + "ghidra/addresses.d/lane-w2.json": { + "mode": 420, + "sha256": "677648e94de8e1e0d538c9575c9be942d0b37c1a847effcb3c2312af5b6aa7d9" + }, + "ghidra/addresses.d/lane-w3.json": { + "mode": 420, + "sha256": "50ed8ed1b16288b00bac4df0886646dbf9d6d6392867029b4eac386806b41b51" + }, + "ghidra/addresses.d/lane-z.json": { + "mode": 420, + "sha256": "bc63a82f2d0cb7636e95f8a07f183f80817a4c65d2bb7263a047ec3c540512eb" + }, + "ghidra/addresses.json": { + "mode": 420, + "sha256": "865c02d88ac6ede656160a5ab20521ad8854efa381d5a943ab422216aca2c016" + }, + "ghidra/generated/sots_addresses.h": { + "mode": 420, + "sha256": "1cf6b4ab40d3cde306edee12ba4eb05292b98ddcf5c2b7c22c1c64b6075b1bdf" + }, + "ghidra/scripts/FixPlayer.java": { + "mode": 420, + "sha256": "9f9ea470af063339511b1f1c85d6dea2df0827c4fed5806c6f641b1aad3e5660" + }, + "ghidra/scripts/FixThis.java": { + "mode": 420, + "sha256": "aafeeb482f71d1bdcbc99a51fb3f21989a46fbb49b5a572f3d9e436c9b3b98b4" + }, + "ghidra/scripts/LoaderRecon.java": { + "mode": 420, + "sha256": "1275d460227e0098254885fe70666d618da7215bca99483a5475c1e701ab9b27" + }, + "ghidra/scripts/LoaderWriteBack.java": { + "mode": 420, + "sha256": "d1040cb9ee80f0fe4d2310d95b38d7d94b0972283f74ea6058de0bdb9e510e63" + }, + "ghidra/scripts/SpineRecon.java": { + "mode": 420, + "sha256": "bea798733cf60f9478373cc453692104058b643ba5b7fc68e76945ae6f496950" + }, + "ghidra/scripts/SpineRecon2.java": { + "mode": 420, + "sha256": "94f10ac953091d50187a46b74803abb4812b244356f9336fa8e133a8a6cba0c6" + }, + "ghidra/scripts/SpineRecon3.java": { + "mode": 420, + "sha256": "b2344ab3d7195cfb935505ba1949f3d4862f787ccb95b812cef3856f92c94ffc" + }, + "ghidra/scripts/SpineRecon4.java": { + "mode": 420, + "sha256": "1093ee635be94f0c0bb31b5bd79f030faa0d7cbab96a495426363172cbcd1d66" + }, + "ghidra/scripts/TechFx.java": { + "mode": 420, + "sha256": "bfa8e990d65ad7cb2b665ee284ec2d645395e0fb3794ea146b175e2937a159ad" + }, + "ghidra/scripts/TechFx2.java": { + "mode": 420, + "sha256": "ee7040ed3316f2e717bac207c3e8ba9bf5ecb560f9e2b38335582c4ca6bae5a8" + }, + "ghidra/scripts/TechFx3.java": { + "mode": 420, + "sha256": "b672751160abcfee37d16eb2f107a60420b7d6956c312fe93e9f62578c06b96a" + }, + "ghidra/scripts/TechFx4.java": { + "mode": 420, + "sha256": "ef912e86f802452f33c20a1adb87eeb96f0ec893e26ee4bbd02305ba0c5e46c7" + }, + "ghidra/scripts/WriteBack.java": { + "mode": 420, + "sha256": "e002a5b86bc58cf75ef8d08dbaeb84bdf3306c1e8d49e92c0382f8ed858c57ac" + }, + "ghidra/vtable-owners.json": { + "mode": 420, + "sha256": "8ee89f3b43f56283a6ffcc605394a1ab246f8071370a9db8f1e770942a5a82a3" + }, + "guides/lab-screen-wall.md": { + "mode": 420, + "sha256": "d398b47853013dbce63b4af2f2ec680c39775732b9fbba13f5fc42a46628550f" + }, + "guides/method-rules.md": { + "mode": 420, + "sha256": "a71a8415202fe97ccaee3805bf4035684776c37f5613dc39a1f260aa33f94b69" + }, + "guides/multi-agent-workflow.md": { + "mode": 420, + "sha256": "f5bf0c30c12a3a9e1725549fe000be0105d415ca25b120673a780901148f08da" + }, + "guides/re-windows-2000s-howto.md": { + "mode": 420, + "sha256": "3490650440d6e683cb029915b8c2cace914b1f52538c9db89175ad4547db2901" + }, + "guides/windows-lab-housekeeping.md": { + "mode": 420, + "sha256": "4a9e9d66dd76e6b5ee1951686186190c650a617fa812fa4bd236ef02b783939a" + }, + "notes/.keep.md": { + "mode": 420, + "sha256": "7878c159a1b9636974e9093902027a24bf7b3c7520f13a8d96f930bd10d22f1c" + }, + "objects/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "objects/layouts.h": { + "mode": 420, + "sha256": "24586f7f1c25530691193a919c6335ab1784fa2815b222326409cfe9e2a42981" + }, + "objects/layouts.json": { + "mode": 420, + "sha256": "16bfffa5020d98c12af61c72a48da8f2c5e06d1060358802717e585a49b150b2" + }, + "objects/layouts.md": { + "mode": 420, + "sha256": "83bc29fcd379847f9ebd6732edf9748c1c878052e889615928659307f97a148c" + }, + "objects/streams.json": { + "mode": 420, + "sha256": "60993eda14d0b1056578718d43a3b6d89816e12c4f5a00674806aeef9e81baf7" + }, + "opencode.json": { + "mode": 420, + "sha256": "d24be7fcee57d5eb04c6b7189822a2ca055dd4a70daafbea67f09a120945d49f" + }, + "scripts/.keep.md": { + "mode": 420, + "sha256": "b0cdcee8cfdc1b15ee444520b6b01c747399deea6d92ff2576ca6eb57331bbac" + }, + "scripts/forgejo_campaign.py": null, + "scripts/lane_v2_writeback.py": { + "mode": 420, + "sha256": "69a66058adb04926eeb6f0e81fa8f0392ce06de2e8d8eb61ebcf503bab6311da" + }, + "tools/DASHBOARD_README.md": { + "mode": 420, + "sha256": "f401cc54f64a4862a938263f37eaab22e6475e063e59726e02dce201f657dcc4" + }, + "tools/aiorders_to_tcb.py": { + "mode": 420, + "sha256": "9762d1fd45f3ab7c045088e222c5386a2cc63a6b25e1c09a49cbbd71837bfe17" + }, + "tools/cache_functions.py": { + "mode": 420, + "sha256": "18c037e48ab035764b0c877123ea7c998ef74240c63090e4f58142f57835e0b1" + }, + "tools/campaign.py": { + "mode": 420, + "sha256": "c7b7c7a30d907bba8e59386dee8704d7f3f5e978fcf709b686e37996fa465c31" + }, + "tools/check_agent_config.py": { + "mode": 420, + "sha256": "93115532cb38105777a5c5c20a9f2a808043370e0d4f560a9c82fe8e800076ec" + }, + "tools/dashboard.py": { + "mode": 420, + "sha256": "c84aeeea6fb7d5e45ccec8882bacc59182149f108edd9eb1585eab9ede99911c" + }, + "tools/displacement.py": null, + "tools/evidence.py": { + "mode": 420, + "sha256": "0a7f8497ed287b4b64aa5ba0cb25735172408e38f3605b3ff90f009c7f02eb85" + }, + "tools/gate.py": { + "mode": 420, + "sha256": "4df5ee7022fb2601687f06eab788e2cea1e345e580c4e92c9d47be1787d37460" + }, + "tools/gate.sh": { + "mode": 493, + "sha256": "d7ba27b9b0c6a03df48e4edc71884ef9986743f8afa751dbfec116df5aeee18c" + }, + "tools/gen_addresses.py": { + "mode": 493, + "sha256": "5d995585d4192a19db7cc6d31ed811fa80264159fc114f03f58793f9b6c4908e" + }, + "tools/gen_stream_schema.py": { + "mode": 420, + "sha256": "a9c3e925bb3370371a2c8cde8d738c657fe1cbf68c39c6155562bbb20c551461" + }, + "tools/max_income_oracle.py": { + "mode": 420, + "sha256": "8d3ec6ba5c677486200eab7d1ca55e1350947829e603737307fa394ac8e40bcd" + }, + "tools/max_income_predict.py": { + "mode": 420, + "sha256": "85400c82b6cb7c6786b7fb6486bdc7bcb1140817f7a0ff0b4fa4f7dbeded8797" + }, + "tools/probe_report.py": { + "mode": 420, + "sha256": "f3ef378c10bae4a8bef754d853f0e86616bb95b5e051e04cac97d362587df1a7" + }, + "tools/reva_call.py": { + "mode": 493, + "sha256": "89477650d38985f84b61a664572de1cbde1268b879d3da5e874598942822998b" + }, + "tools/rng_ledger_report.py": { + "mode": 493, + "sha256": "b4f3f581eb6de50118fd531c848354816c20197711e668ce8b0cfcb4d0392cf3" + }, + "tools/rng_oracle_check.py": { + "mode": 420, + "sha256": "f27ca7f9aa03bc672f04067bc71e73ac83742997f12f5f55ce11151bdc39d98a" + }, + "tools/rng_site_report.py": { + "mode": 493, + "sha256": "fabd950c002265403f7b13a8868a158d867828c9930770ed096a2610b086ad35" + }, + "tools/rtti_map.py": { + "mode": 420, + "sha256": "9ac88a8aa566fe08336ba6e50905ec4253409e1317f491c415b1b9ebcc0713e4" + }, + "tools/run_agent.py": { + "mode": 420, + "sha256": "0f5ccb53dcde59b64fe999768737b6cbd2dabcc1272e5605c1f1ecd86e5d5d2b" + }, + "tools/select_evidence.py": { + "mode": 420, + "sha256": "a6e648a77bcf799cc774ff9d0de83011283049ed0f0c44f6e08857a8410e9463" + }, + "tools/serializers.py": { + "mode": 420, + "sha256": "938904eb7b4ae30a61dd966494b112c6d52399f9d4a4658add06b40a54d6cb73" + }, + "tools/serializers_ghidra.py": { + "mode": 420, + "sha256": "d27da0afc8d043d31335bbe274fc76245e50cf0f9091a968b124f31c3a17997c" + }, + "tools/serializers_golden.py": { + "mode": 420, + "sha256": "29d2509b54704b80eff46a59a320719edb17a7eb67fd8acb8ad5e3c427d8e825" + }, + "tools/standalone_report.py": { + "mode": 420, + "sha256": "43a61c4031306732554aca23cd95b57d35f2a870766c33ccf8e005f22436525c" + }, + "tools/streams.py": { + "mode": 420, + "sha256": "57ec4ec5ad222a74f4461d70277d258e51779ae53ff74fd0e07eb51d4bae0afd" + }, + "tools/strfootprint.py": { + "mode": 420, + "sha256": "3b0db212c0b091ae2f63b866ee331435d013c535f233ec34ae3dfb63ded852dc" + }, + "tools/tcb_from_json.py": { + "mode": 420, + "sha256": "8fe09cff16802fda34db24f6f888610baa258399ab39173586b91a7a162f231a" + }, + "tools/techid_table.py": { + "mode": 420, + "sha256": "2c644bdbd3774b70dfdae7e77ff7a3a8e8563b58be7098a2d55ee30dc8b8fd07" + }, + "tools/turncommands_capture.py": { + "mode": 420, + "sha256": "0214d5da6f5f86e188bb2f03db8d3439267baee3a883c7df754601c7c1a38536" + }, + "tools/vmshot.py": { + "mode": 493, + "sha256": "09228bf8bd61918c49afc2b6da931fc8a7833be126be5384b85194e0e86eea44" + }, + "tools/vmwatch-install.sh": { + "mode": 493, + "sha256": "3c004f532422bd589a7294dabdf54d5a726f598c69012eaea3d73a748ad0123a" + }, + "tools/vmwatch.py": { + "mode": 493, + "sha256": "650d8232e46239a55b96f26d581d7d9c5815415c9014fd2e5b846b68c1346b39" + }, + "tools/vtable_map.py": { + "mode": 420, + "sha256": "2e19223efb79421ab4b807e32f0854b2592d7d3a3a52c12e84e47460b960f740" + }, + "tools/windows-housekeeping/Invoke-Housekeeping.ps1": { + "mode": 420, + "sha256": "a97911a3cfbd47813282efa7f52b4de03d28912487fffe0e7e7aa1a250cac01a" + }, + "tools/x86disp.py": { + "mode": 420, + "sha256": "a05a42d63813d2025a4da65bdd684e82a89c95c52901a8f490391e31c49a122e" + }, + "verify/campaign/test_controls.py": { + "mode": 420, + "sha256": "108460f4e90c4cb7036642e85de581e31fd70c478533c32364691260461814fc" + }, + "verify/config/test_agent_config.py": { + "mode": 420, + "sha256": "e60ee546672da91de08ca8fdd5d563b5f1207d0a865adf935017e06bf437585b" + }, + "verify/config/test_source_check.py": { + "mode": 420, + "sha256": "c16731e31a54256dde4f88d33007759ff21ad8537ca6cd2be38b9e34c59525ad" + }, + "verify/design-rules/SHIP_DESIGN_RULES.md": { + "mode": 420, + "sha256": "4decf51bfa03e8ab2b58478198332e834233100126949b920349f210b54521c8" + }, + "verify/design-rules/data/HiverInvasion_FleetTemplates.csv": { + "mode": 420, + "sha256": "327e799be3c75361267725c157f78b425d3a1df6ed6595104b2ce9993e8ae3a7" + }, + "verify/design-rules/data/UpstartApes_GiftFleetTemplates.csv": { + "mode": 420, + "sha256": "89939d70eb6ed48ec776a4a6fc50ccb68fc6be7162706bab199484bf7cdd5e44" + }, + "verify/design-rules/data/_defaultweapons.txt": { + "mode": 420, + "sha256": "ef9e33aa32840f1878ece67f88556d81a4255f63f6e8aad4ac73e575ef2c7ec8" + }, + "verify/design-rules/data/_turrets.txt": { + "mode": 420, + "sha256": "35de6ad40895f76298eef7dc354c739a5a59747b689c2324cfa5040442eddc18" + }, + "verify/design-rules/design_rules.py": { + "mode": 420, + "sha256": "772f70c7d6be2d20d10cf4f5d412233b267440d63d431bf7b320c29f3f06e313" + }, + "verify/design-rules/stock_designs.json": { + "mode": 420, + "sha256": "b363023e02899bc03e4c8b8423b394ef8abb190b1bcf437aade19be463353f68" + }, + "verify/design-rules/stock_designs.py": { + "mode": 420, + "sha256": "fe020f6058ec25b6fc456146abb6594825ee2b98ba5c5c5eeaff969ce4596031" + }, + "verify/design-rules/test_design_rules.py": { + "mode": 420, + "sha256": "6f6764d21d7a3337ec8aba9651b19947239a7d06a6cdf7c6e9be5ddefcfdd186" + }, + "verify/fpu-cw/cw_census.py": { + "mode": 420, + "sha256": "07b7ac5ae60df487867b592e82e9f74201b695437fba248813bc07305a21c7cc" + }, + "verify/fpu-cw/trace_bitdiff.py": { + "mode": 420, + "sha256": "b25c93d70e67ed2fa81e5ea7184f8ffe0cbd2e7c043bc94f923c3db1cf101b59" + }, + "verify/harness/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/harness/cb/README.md": { + "mode": 420, + "sha256": "7a656251a600a9343ffa8afaa4f227e7cb8086be7d3c6879c0a403ab8acec71d" + }, + "verify/harness/cb/cbdo.sh": { + "mode": 493, + "sha256": "6f3d7fd35aeedb0841be9df0ba19136be2e7ccb5c44950d8aa821c61727232a6" + }, + "verify/harness/cb/cbfull.sh": { + "mode": 493, + "sha256": "609101217e9d35bf1caa5cb66f362e0796fcf6c1264bd92ff550d0ed12ca2521" + }, + "verify/harness/cb/cbload.sh": { + "mode": 493, + "sha256": "2e56bb64609434f6dfc6ebcf71a3c839ae59170db80c996ebee7c2219cb664ec" + }, + "verify/harness/cb/cbmenu.py": { + "mode": 420, + "sha256": "fb2e72a1a5390aa28dcae0fbc2d7b920b06bf3b1ea161bb757d4db3c8cd23af2" + }, + "verify/harness/cb/cbstep.sh": { + "mode": 493, + "sha256": "5896b21e8cf08b40e2a2958e44a51beb7e5b5a58cf35d405879a5df7cdd375b4" + }, + "verify/harness/compare/TRACE_FORMAT.md": { + "mode": 420, + "sha256": "cf6f61dc255e3aed0f293c141d9fd3b0d5e848e3abe4dcf50b4ca2d58e37c024" + }, + "verify/harness/compare/mkfixture.py": { + "mode": 420, + "sha256": "f081dd92b9e82e838f59ce8f9c79d5cdebb825255f13b6c49178516e7f3ef118" + }, + "verify/harness/compare/oracle_parsers.py": { + "mode": 420, + "sha256": "b1a745bfa63b447c87279afdb2885a0218f2a0dc2539f79414f8a2534e24c97b" + }, + "verify/harness/compare/test_tracecmp.py": { + "mode": 420, + "sha256": "f25eb9d5ea7215b8366c44924fb49a5f028a0188e709dadfd90cfbc30db0823e" + }, + "verify/harness/compare/tracecmp.py": { + "mode": 420, + "sha256": "d6ca461cabf15351e2040150144084b93d3caf22d879ee158ede04052ab03cbb" + }, + "verify/harness/l2-ui/README.md": { + "mode": 420, + "sha256": "48effd757522ee5ff70af6d77449dcfd805bb7744c9093d01c039b86e030d7f6" + }, + "verify/harness/l2-ui/launch-b.cmd": { + "mode": 420, + "sha256": "8f26c451a88765c49ecb3c8160ed4a3d06f1100a6d9323b305efc01f039dfada" + }, + "verify/harness/l2-ui/socks.ps1": { + "mode": 420, + "sha256": "401cce47d495507f60eeae45942c146586464959046ef9715cd69605753af027" + }, + "verify/harness/l2-ui/ui.ps1": { + "mode": 420, + "sha256": "355c8f222bf99f547d9d16a1665a072e6914917d48e4db22b8438d2d83708e97" + }, + "verify/harness/profiling/battle-run.sh": { + "mode": 493, + "sha256": "79f14ded5c3731efd655a6f9a4ac6795f3ace0a9b064c43ba4bf9a2cb988a7cf" + }, + "verify/harness/profiling/funcs.py": { + "mode": 420, + "sha256": "841a6f5e5dc1d845b7439c9ce9dc08e045864929b0f367908abea7ab54259207" + }, + "verify/harness/profiling/funcs.txt": { + "mode": 420, + "sha256": "d35b17dbb3970f5c24ae862748c5b91aee87491968719c34e48a8b88c0615835" + }, + "verify/harness/profiling/iat.py": { + "mode": 420, + "sha256": "82465ef8284739ab3d3c99acd0fa6cc5a4bb80c8680eb7a949218305fd10d3d3" + }, + "verify/harness/profiling/inspect.ps1": { + "mode": 420, + "sha256": "35bc7dd85108e3f4686975ef7f510b1cc9306b5839329f7fdd2a5ac27a140611" + }, + "verify/harness/profiling/names.txt": { + "mode": 420, + "sha256": "89d90f934e445447c68569448471a8917ee0bbfcb5fb96bba3e6566be9b0779c" + }, + "verify/harness/profiling/parse.py": { + "mode": 420, + "sha256": "680df36804e923d74da8e9fd8877b5ea66975c9ce8d239ad4507c829f881722a" + }, + "verify/harness/profiling/sampler.ps1": { + "mode": 420, + "sha256": "ef0edde8535ef07e508a732f8e11dc3d50fef966e5a9e4d8161085a83372993e" + }, + "verify/harness/profiling/shots.sh": { + "mode": 420, + "sha256": "87e554abf08068d6438417e266f1e7820e34a900a7d559fa0a7c4a2fa18002b3" + }, + "verify/harness/profiling/timerres.ps1": { + "mode": 420, + "sha256": "80362eb9ec8bd882abddf2507236e70db2dd21f64c9db07d217bdd49361ed89c" + }, + "verify/harness/profiling/turnloop.sh": { + "mode": 493, + "sha256": "8e28f076599a9eb53eace77ad77a10b0770f1ce617c7a76e6a2b9044ee0c8774" + }, + "verify/harness/profiling/turnwin.py": { + "mode": 420, + "sha256": "e2033a8e519a7c9f65f67b5592494a9843eb8bef41af6ab5652343aa86bd4c60" + }, + "verify/harness/profiling/ui.sh": { + "mode": 493, + "sha256": "e66774a4d070285e6c6a62472000222a691c7192096039e75fa726bab9f6afb7" + }, + "verify/harness/run-recipe/click_helper.ps1": { + "mode": 420, + "sha256": "150a1c17e12e8479244107cd01d95233c84d550e95a6f5e352fd529818a21d7d" + }, + "verify/harness/run-recipe/display.cfg": { + "mode": 420, + "sha256": "76b4876abd1cd163a5cc6b65a6106670476cde40c9b868a53a0dc45f517e132f" + }, + "verify/harness/run-recipe/dxvk_d3d9.log": { + "mode": 420, + "sha256": "f48ff2684a78cea563ab7f10e2f005638044352fe9cfc30dedf0f26ec7fecf23" + }, + "verify/harness/run-recipe/launch.cmd": { + "mode": 420, + "sha256": "90a6effe8ae835bf641cc775a17ad709198fdfeded4379f658255a82f594e5c2" + }, + "verify/harness/run-recipe/lvp_icd.x86.json": { + "mode": 420, + "sha256": "b89a08526e043a84c3a2550b5ea2fd7692f547ea295e8dd70e79c64fe81f6fbf" + }, + "verify/harness/run-recipe/run.txt": { + "mode": 420, + "sha256": "12c83295dae9db4a98142ef8fe7e45321c90960428df504ed3496e27838a0413" + }, + "verify/harness/run-recipe/session.log": { + "mode": 420, + "sha256": "e9ce9b496e9ee55bd64cc27afe594cee6136dfbc6cf9d9d44e9914b27e568a93" + }, + "verify/parsers/PARITY_NOTES.md": { + "mode": 420, + "sha256": "beecfe60358f5977529bd0784ffe18ca03c38d2dd36766f351c6a9addac83bda" + }, + "verify/parsers/effect_txt.py": { + "mode": 420, + "sha256": "7219045dfaf305dd64218ff8096e8cac69a53df1aabdf85f15e6c5e01c963e74" + }, + "verify/parsers/flat_kv.py": { + "mode": 420, + "sha256": "a26149cb21d152be5cbada3b764e042187daf2ec306b2dba1081737af6a7ae4f" + }, + "verify/parsers/manifest.py": { + "mode": 420, + "sha256": "62a08cfd82d5f701ae3b3f567bc8382cfd1b33b49bf6049ade47a932ef7109da" + }, + "verify/parsers/mars_data.py": { + "mode": 420, + "sha256": "90c7b8421044b1d7e262e6f20e5af391d97a712b12c2d3f0c3033567881d536f" + }, + "verify/parsers/verify.py": { + "mode": 420, + "sha256": "cc5d619bd6b3ca161b4bc8050c30e7d77f6bd3e964c971cc29e051efc1e25a33" + }, + "verify/publishing/test_dashboard.py": { + "mode": 420, + "sha256": "cc44e516da663f5d27bf817cbcbf24c052f2db52ee887d08d7c271caf8f6a000" + }, + "verify/results/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/results/compare/.keep.md": { + "mode": 420, + "sha256": "4581f3fde61549f4c621b2f114228a62d066a528a270a9b41703238ff841ac1d" + }, + "verify/results/compare/b2-techfx-compare.json": { + "mode": 420, + "sha256": "b0533322d44b1694f36baf86d6660481ac5b22ce9c1d6b6b9668ea064cc08f4b" + }, + "verify/results/compare/b2-techfx-golden.json": { + "mode": 420, + "sha256": "4298a8229b85a3329c78d3618d3eb19aff096cb2da66e9238fd843d639b17f11" + }, + "verify/results/compare/cr-compare.json": { + "mode": 420, + "sha256": "f20e9a7c71412688c02b607f08a5224367598eba552e35a50e9922ca8f12edab" + }, + "verify/results/compare/cr-compare.md": { + "mode": 420, + "sha256": "0eb905744120b1cf264ba6e57497db64fdc8e225a87ef7bb86cf3f026ffe4d0d" + }, + "verify/results/compare/cr-replace0.json": { + "mode": 420, + "sha256": "f1556c5d74c236c82617061b5ec60b1a7ce4652bce87b6595eb89406ad832240" + }, + "verify/results/compare/cr-replace0.md": { + "mode": 420, + "sha256": "6f571e46350a29b811bc12b48e12ed2d443acba5f5be6310e0531c3790425d48" + }, + "verify/results/compare/cr-replace1.json": { + "mode": 420, + "sha256": "d0c1d6bd4a1f8f5343b584662d8202184479b01a51480443a97242daf27fccc2" + }, + "verify/results/compare/cr-replace1.md": { + "mode": 420, + "sha256": "111b51290468d5482a1910194487d26dc1b3ec534d699aa07a564de66bbf9d98" + }, + "verify/results/compare/eventlive-b3-t1-5.json": { + "mode": 420, + "sha256": "4f305180bcbe93523f407d1f8406ac52b84d4a20e2d611940716618fd37edfde" + }, + "verify/results/compare/eventlive-b3-t1-5.md": { + "mode": 420, + "sha256": "ec71d98210218fd5b5da69f6b17cf6991128a58a0358a6504e6497dd39159764" + }, + "verify/results/compare/eventlive-b3-t1.json": { + "mode": 420, + "sha256": "84f66c1e6a23f737d1615e75fd22fba958bfd851067acb42503e32a2812dd1de" + }, + "verify/results/compare/eventlive-b3-t1.md": { + "mode": 420, + "sha256": "299b8dd3f2cf42cbc9e6254fac01ee3dcb6abb0758c8f298beb6cc6464db4cfb" + }, + "verify/results/compare/eventlive-b3-zuul.json": { + "mode": 420, + "sha256": "a1a92c06202c8168362c33442edeb7ea7f76f6e586e5deea1b86dff9dc8f3494" + }, + "verify/results/compare/eventlive-b3-zuul.md": { + "mode": 420, + "sha256": "544791f9cd8b77a2d865f2a918d97e74559529f29943171bd1e8e2d8a120dec5" + }, + "verify/results/compare/l5-budget-boundary.md": { + "mode": 420, + "sha256": "6877f9cfc602876b4c213106493853822471a5aaa3e4e8ebf8dffd31373d89d9" + }, + "verify/results/compare/mf-after.json": { + "mode": 420, + "sha256": "586a824a0d0af1de0808c33c1c392c4022128f9c1305dc32b6749e8fa493e8f4" + }, + "verify/results/compare/mf-after.md": { + "mode": 420, + "sha256": "659be3da71cabfd3c34eb818f1bac07f848c58a878fd62d81ac7b1daa5f3ce03" + }, + "verify/results/compare/mf-before.json": { + "mode": 420, + "sha256": "259272b45ca9c63894d8c91e399ff91d7258b7836f1a0d5c91dd3972586b2498" + }, + "verify/results/compare/mf-before.md": { + "mode": 420, + "sha256": "4572530a1c93865d27aba47c23c418773ad39a834c8be1c004f5cc2f16f927a0" + }, + "verify/results/compare/output-ref-turn2.md": { + "mode": 420, + "sha256": "43a569165f9239f13edc31c7a848a6b839829ae06dd6e3b85d289a1552eb8d34" + }, + "verify/results/compare/output-zuul-and-ref.md": { + "mode": 420, + "sha256": "9bc0937c0b3e1e3e5a6cd3768dbfeae56a897615396b00834bd083611f3ef431" + }, + "verify/results/compare/recap-b1-compare.json": { + "mode": 420, + "sha256": "8e86cdd32373e41ac1cdc130b18acc188b35d5ab7112e1fc655d134c44ad9712" + }, + "verify/results/compare/recap-b1-compare.md": { + "mode": 420, + "sha256": "496a3246eda3be76d9d0f08726369d40aa879cf60a510f16209ae77585582841" + }, + "verify/results/compare/recap-b3-compare-t1-5.json": { + "mode": 420, + "sha256": "80eeeeccf15f427b75b053d06f6b32b1692a2ed9ca6b9a51c244e4166a1b0e78" + }, + "verify/results/compare/recap-b3-compare-t1-5.md": { + "mode": 420, + "sha256": "5b6295bff72d599f142e75fa913ca2da590322a6fd1d104328847159fc5e7802" + }, + "verify/results/compare/recap-b3-compare-t1.json": { + "mode": 420, + "sha256": "10d0d5f8aff90f6cce3cd87e30c7f8ff896c5b369f4dc8288141451e25727cb9" + }, + "verify/results/compare/recap-b3-compare-t1.md": { + "mode": 420, + "sha256": "2b0eb8865bb07a2dd8fd038bc19e38a34fbf19b9d3f6fabae085c16a74fbcc6f" + }, + "verify/results/compare/recap-golden-trace.json": { + "mode": 420, + "sha256": "50bb7e34ab2359adc83cc0647fc995d207173fcf6134e413565af450958f652f" + }, + "verify/results/compare/recap-golden-trace.md": { + "mode": 420, + "sha256": "586fc86fe78659902a5d0859c0bce44623bfcda0f375bb57b293796862c48e17" + }, + "verify/results/compare/recap-misc-compare.json": { + "mode": 420, + "sha256": "c73f3f3593a0d715a675b29c7b4f49c02a97578ee9d867ce15d217c43da2e466" + }, + "verify/results/compare/recap-misc-compare.md": { + "mode": 420, + "sha256": "b435c92441742b2b1b0236bfacff10c17757696baf446c544c4759b7e31237ed" + }, + "verify/results/compare/unlock-b3-t1-5.json": { + "mode": 420, + "sha256": "a4dbfc89f6f3d154edbbc62842a4e8d8a3c69b9589eafc1bb496b26a3ecf6e3d" + }, + "verify/results/compare/unlock-b3-t1-5.md": { + "mode": 420, + "sha256": "832626087ddc2da9064a192a1acfb3869d4a52c6398a070cbd66eaa1bdbe2e2e" + }, + "verify/results/compare/unlock-b3-t1.json": { + "mode": 420, + "sha256": "6d8938b8eaeb2da1c7fdccb1fb68f8e3a2b5b7f492cc096326cf3aadb2ab8d55" + }, + "verify/results/compare/unlock-b3-t1.md": { + "mode": 420, + "sha256": "8911e671a143c25765cd7c0b67f1b9cb23f4040fe26aad40ce59b1db858afdcd" + }, + "verify/results/compare/unlock-b3-zuul.json": { + "mode": 420, + "sha256": "3099d248d58c4395e92d65ad18c28227695a7c7935193be6c2bcf752fa0e0f04" + }, + "verify/results/compare/unlock-b3-zuul.md": { + "mode": 420, + "sha256": "f53b165c8502ba9b2416935179fdea68153fb6ebd2458b4ec9b4ecf6c741c91f" + }, + "verify/results/data-catalogs/crosslink.json": { + "mode": 420, + "sha256": "2966ba9780910b596e350c4f81eef5d74c4d235dc3a8d5cf6ad5fd53a407254a" + }, + "verify/results/data-catalogs/schema_stats.json": { + "mode": 420, + "sha256": "6e3f669ae77cdfa2c5cd6bbd29f5cecccd452d9a7b2397c2c23db6c33fda0a2a" + }, + "verify/results/data-catalogs/shipsections.json": { + "mode": 420, + "sha256": "2e7057c608d0cea755bf9dbfa291864d33e3f09ad5deff7bb3a8045bde7a4ab5" + }, + "verify/results/data-catalogs/strings.json": { + "mode": 420, + "sha256": "c36c1b2b9a2eace438f93698df6388fa94aec30d372bcd0bee7e09bb33c54d7c" + }, + "verify/results/data-catalogs/tech_tree.dot": { + "mode": 420, + "sha256": "96ce0492a1284167d82af2c07a8f8a0b3bb9864bc137195560d909df6a913055" + }, + "verify/results/data-catalogs/tech_tree.json": { + "mode": 420, + "sha256": "18df799410c5f650e15808c1ef247b4768a3dfff93795a5ec7f56cd6c4afc597" + }, + "verify/results/data-catalogs/weapons.json": { + "mode": 420, + "sha256": "a446b445c21519fc7992c84155c9652239567030843c405b4219d1f65022db01" + }, + "verify/results/fpu-cw/README.md": { + "mode": 420, + "sha256": "3928fd0f6a03a8ff0b170a7ed23a059120b5014b13bf6870d4f187ff299d5975" + }, + "verify/results/fpu-cw/cw-census.txt": { + "mode": 420, + "sha256": "b7854dc5cd249a2490d04264d758f1894a9ddf4b95573650365d47587c7589d3" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f-rep/shim.log": { + "mode": 420, + "sha256": "73b5b86da743a1cb37d4c0d97b29978923b55a7a47f80c7fa20ca47d424f6c02" + }, + "verify/results/fpu-cw/run-007f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f/shim.cfg": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "verify/results/fpu-cw/run-007f/shim.log": { + "mode": 420, + "sha256": "5721f47d7fd862156ce2cd1832cd1739636b5aee53c82323ef233ff6401775bb" + }, + "verify/results/fpu-cw/run-007f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "149c4fcf750fcf9e81dc86d8696271d9a14ca788891ac95cf96995e3737c68e4" + }, + "verify/results/fpu-cw/run-027f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-027f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-027f/shim.cfg": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "verify/results/fpu-cw/run-027f/shim.log": { + "mode": 420, + "sha256": "4bd3f88bd27eb2e3ae1f42f4dc2ccf1cc5df1a2c1171d2eff8be86e7be684187" + }, + "verify/results/fpu-cw/run-027f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b5d2611d0c08946c1e1eaa244a7e44782eac2592c392efb3d7147fbbd86816e7" + }, + "verify/results/fpu-cw/run-127f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-127f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-127f/shim.cfg": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "verify/results/fpu-cw/run-127f/shim.log": { + "mode": 420, + "sha256": "03f1999dc8964912697782e856f89f190b6680d5732f2cd00b1569bff727a545" + }, + "verify/results/fpu-cw/run-127f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "fb1b9063cc53a6b39ea0a58e0545b9334fbd15d65dd839e72f2c4febbb1dd3f0" + }, + "verify/results/fpu-cw/run-137f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-137f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-137f/shim.cfg": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "verify/results/fpu-cw/run-137f/shim.log": { + "mode": 420, + "sha256": "83aa72572412d5248179397895029367685fd590d795991ab91c98cf9828ae29" + }, + "verify/results/fpu-cw/run-137f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "aad1fb6abd86beafb9f44e2c6060157e22618811d105f2379252e19008839b66" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f-rep/shim.log": { + "mode": 420, + "sha256": "38f2824fbe91bf2fa1ef55473a7468707248420805b6f6dc85245fd34fa94200" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f/shim.cfg": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "verify/results/fpu-cw/run-1a7f/shim.log": { + "mode": 420, + "sha256": "a1bb0bd06dae6955ec09e7d0c6cd1e68e19aa2a114256cdeae1275def0a63091" + }, + "verify/results/fpu-cw/run-1a7f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b9a7affb8235626fcfdd5afe143e4ec03be869b6b386bd9ac78389097df88cef" + }, + "verify/results/fpu-cw/run-off/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-off/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-off/shim.cfg": { + "mode": 420, + "sha256": "6a19c362121a3dba0aac857d6e998131e8b2478f19edcdcbd58006645d096c70" + }, + "verify/results/fpu-cw/run-off/shim.log": { + "mode": 420, + "sha256": "9e3cbd005f0b68037681939b289834c55629bac0e9cd35ac55e6d8ef5333a116" + }, + "verify/results/fpu-cw/run-off/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "ec2271c0d7e09fe51ead7f8d58859c692e8b302233191841d506ea14248caa8c" + }, + "verify/results/fpu-cw/state-checksum-diffs.txt": { + "mode": 420, + "sha256": "3417dfc1b75ad896ac6a5e974d51248eecca319565e2422e146897d19e121b68" + }, + "verify/results/fpu-cw/trace-bitdiff.txt": { + "mode": 420, + "sha256": "8f86707f26f30638097c85f0db6df219adbfebac4e9ec24f1feb8bfce112d4f2" + }, + "verify/results/housekeeping/vm140-result.json": { + "mode": 420, + "sha256": "2250b02342f5c02ba5464cb4656543c6366dec098fbc948006600896ac9254c0" + }, + "verify/results/housekeeping/vm141-result.json": { + "mode": 420, + "sha256": "03d92ffd2947b2f0c058e5c613e04567cffee45be456aece6d771b789f32fb93" + }, + "verify/results/housekeeping/vm144-result.json": { + "mode": 420, + "sha256": "ace15320f7e60995a68f2c9c03a5a44159ae2d64fa273d34d38e285d313a0393" + }, + "verify/results/housekeeping/vm145-result.json": { + "mode": 420, + "sha256": "768666178bf2910a2ff026351727b5cc96e48df70e1ba012031d34eafc95ad7a" + }, + "verify/results/housekeeping/vm146-result.json": { + "mode": 420, + "sha256": "eebb306a3ec8533abae6dfd59f127c48effe9f21107e0c5c09c751108e77bb97" + }, + "verify/results/multiplayer/l2-combat-hud-client.png": { + "mode": 420, + "sha256": "02c86592531ab2889a0eae04e44a644d33c754096fe60aca6640068a7a3f421f" + }, + "verify/results/multiplayer/l2-combat-hud-host.png": { + "mode": 420, + "sha256": "a56daf36fcc88627b29116ad9874c95a3c46960074ff9b823aa15c4ea2660dd7" + }, + "verify/results/multiplayer/l2-combat-loading.png": { + "mode": 420, + "sha256": "f94a718cee08e1b7d346490058f13a107d23aaa7c269fdd53b159a75d62fa558" + }, + "verify/results/multiplayer/l2-combat-round-draw.png": { + "mode": 420, + "sha256": "c1b8424540b702915302f9ff38eaf765e8e95fddc3c5c4d894438dcfcf8b6256" + }, + "verify/results/multiplayer/l2-combat.pcap": { + "mode": 420, + "sha256": "0f112ef96da6c465dbda51baf99eedd66967eed61c097f643bf6c66fc26af31b" + }, + "verify/results/multiplayer/l2-encounter-query-client.png": { + "mode": 420, + "sha256": "4c41b268ad256b0109483a2d9b5ba35de7b9cadb4eb32ef4a68f7867e6e747fd" + }, + "verify/results/multiplayer/l2-encounter-query-host.png": { + "mode": 420, + "sha256": "8c7b0c6d65ddde45eb3447f044589ffc36500b40c4d676af8321f800162f38a0" + }, + "verify/results/multiplayer/l2-fleet-built.png": { + "mode": 420, + "sha256": "6ac91fcf9b42caef50134de01804046d8e60d0fd3966592e9738ceff511949c2" + }, + "verify/results/multiplayer/l2-lobby-client-joined.png": { + "mode": 420, + "sha256": "4a8e698c9ea935449ff0421cd59acd517ebffa388a7572279b28be0369141ff6" + }, + "verify/results/multiplayer/l2-lobby-host-created.png": { + "mode": 420, + "sha256": "e6a7377cabafa973396cedafa5ad5b4863a42f9866709db88faf9572e0ed3c98" + }, + "verify/results/multiplayer/l2-move-warning-dialog.png": { + "mode": 420, + "sha256": "43c6219d74bc0cb28495f13784cdbd3a90c89746b108824c3a2138dbdadcb53e" + }, + "verify/results/multiplayer/l2-socks.log": { + "mode": 420, + "sha256": "109b630d6548d07404f9f905e6c527f10e25221698f1b66226f67f94c5f294b5" + }, + "verify/results/multiplayer/l2-turn13-client.png": { + "mode": 420, + "sha256": "d19f17c4219f21f6c9950440d528a1a91fe3907761df21fd0ba99321b8820baa" + }, + "verify/results/multiplayer/l2-turn13-host.png": { + "mode": 420, + "sha256": "811efcfb571d60435f772a3b619bb329717d1e162b88e440ec0d636b1c6042fc" + }, + "verify/results/multiplayer/w2-internet-browser-no-error.png": { + "mode": 420, + "sha256": "6409b977056c95b29928a0098f75fffd71c501128f9d9325c3000837131c8791" + }, + "verify/results/multiplayer/w2-join-manually-dialog.png": { + "mode": 420, + "sha256": "86904e94a5aec41c1e89271d2712558c3b5055bd2ae4fededfda103d1e22fb71" + }, + "verify/results/multiplayer/w2-lan-browse-listing.png": { + "mode": 420, + "sha256": "6f5d16fa719fb63dd627fba551221c7665b69002e83fe35b8d84912cd7d8ce83" + }, + "verify/results/multiplayer/w2-lobby-client.png": { + "mode": 420, + "sha256": "ede652b21e2a4ea07c8132e4080ba903d1052ebca336bb007e1e8efa62787f10" + }, + "verify/results/multiplayer/w2-mp-turn1.png": { + "mode": 420, + "sha256": "59f9a1f5d8c0fff45d3ae3406dfd9878a5915f18e999d909a5238a90a3b86ed6" + }, + "verify/results/multiplayer/w2-mp-turn2-client.png": { + "mode": 420, + "sha256": "d9da4c151cd8290f80b31eb5ed8a74a0a30a87d1f7a80a179fa082a9439e08e5" + }, + "verify/results/multiplayer/w2-mp-turn2-host.png": { + "mode": 420, + "sha256": "910efd36b4a7c1a85d8ad487660f856339af037b9b00fef0cafd5e77ebdc36e5" + }, + "verify/results/multiplayer/w2-tier0-filtered.pcap": { + "mode": 420, + "sha256": "e108778fd1afb7718c53a4164310b8523415ef073706d310583dab424e5921cc" + }, + "verify/results/saves/ac-turn20-raider.sav": { + "mode": 420, + "sha256": "ee787db8f63d8f564c597bd5a82709790a0fdf47827912037f96b736f2cbed34" + }, + "verify/results/saves/ac-turn22-raider.sav": { + "mode": 420, + "sha256": "0faeaa601e6a867876819e5646b85f8787851093b8e6bd6e3946eb867f2dcc74" + }, + "verify/results/saves/ad-oracle-A-post.sav": { + "mode": 420, + "sha256": "a634510e7208cceb10d8ce016ceb0153601f11d7291f08122bcdb6418e313331" + }, + "verify/results/saves/ad-oracle-B-post.sav": { + "mode": 420, + "sha256": "676b1778880b5d4784ba7f6ef48b1a8e56745adab70a815943b7744876686260" + }, + "verify/results/saves/ad-turn27-two-raiders.sav": { + "mode": 420, + "sha256": "1c8baa27680809d585ab1728391e82729642d32aaedffd5bf95b616f0a11a436" + }, + "verify/results/saves/ap-deploy-turn15.sav": { + "mode": 420, + "sha256": "844f2b746060dc2c4e2099cdc6ceffd5f55ef858c9e347df28c8aca3041f7165" + }, + "verify/results/saves/ap-oa-turn16.sav": { + "mode": 420, + "sha256": "e296394f578b3a5668e5934b9eec8d6c4638ca7411200078f97de1abd346f4c5" + }, + "verify/results/saves/ap-ob-turn16.sav": { + "mode": 420, + "sha256": "262f8bda97c9511d8d2b41e6a8a0582d6f5364c2b01b1caf99e639d0e4f53ebe" + }, + "verify/results/saves/ap-turn22-spydetected.sav": { + "mode": 420, + "sha256": "91381bd7e722ac3847795a402d78ebb31d74dbb5d2909f33d243aec3ef8abaf8" + }, + "verify/results/saves/ap-turn25-spydestroyed.sav": { + "mode": 420, + "sha256": "46380fcf4498d67507e4471eb9ee3762647c53ee5473be142fe5c34e37344bc3" + }, + "verify/results/saves/ar-oracle-A-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-oracle-A-pre.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/ar-oracle-B-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-r1-turn43-post.sav": { + "mode": 420, + "sha256": "37f4a54fd32303fdcc86522b07104fbf2fcb124eec9b1f7005b3446fefcc429f" + }, + "verify/results/saves/ar-r2-probes8-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-turn37-816raiders.sav": { + "mode": 420, + "sha256": "b6f4e05ff226eabd1695003b36293553642553cea96ef417364393e2332a7094" + }, + "verify/results/saves/as-turn14-predeploy.sav": { + "mode": 420, + "sha256": "53986f8511cbf9920f32e2ea406ccf531dd08903fa5d06024fcf03ea7627221d" + }, + "verify/results/saves/as-turn15-spydeployed.sav": { + "mode": 420, + "sha256": "854a10fa1ea602f0f7909f9bf9154942e56ea5fa1db4cce47d6d32bf53952e08" + }, + "verify/results/saves/az-turn11-16destroyers.sav": { + "mode": 420, + "sha256": "501583c7cf2ac81c9db3191203cd3dc5ba5b9e228b9b9ce3dbdcc3650d0070a9" + }, + "verify/results/saves/az-turn23-tarka-comraid.sav": { + "mode": 420, + "sha256": "3d5eb826c149d1fd0278c746f32e6148ca9883a1bc5b522c0d5e6e13fac9788a" + }, + "verify/results/saves/bp-pinA-turn28.sav": { + "mode": 420, + "sha256": "e913ff41188211c02d536da616337544e64133996cd7cc7a6521a8df1960226f" + }, + "verify/results/saves/bp-pinB-turn28.sav": { + "mode": 420, + "sha256": "724528ffde9a7514b69ab9e82ed3b8c8ade63d622c0720de30503a73a92df11e" + }, + "verify/results/saves/bp-turn28-pre.sav": { + "mode": 420, + "sha256": "16f63adbf383946db17c381998957172bca803406b7df78f3b03805fef0bbcb8" + }, + "verify/results/saves/bq/bq-1A-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1A-post.sav": { + "mode": 420, + "sha256": "56980aa086e1a145b00f781b9d9cf618b152986f1c2267b9fd96cca0f1f604b9" + }, + "verify/results/saves/bq/bq-1B-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1B-post.sav": { + "mode": 420, + "sha256": "b36ac0ec2986f3a814dd22ca312c895ba6ec8a0e55fca54d8a7fd08a2f96a2c4" + }, + "verify/results/saves/bq/bq-1bA-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bA-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-1bB-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bB-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-res-post.sav": { + "mode": 420, + "sha256": "28bbd9b5c377afcd8f075b535eb1036ee46acf71ab614e7091ccdbdfb3703db2" + }, + "verify/results/saves/bs/bs-C-endturn.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/bs/bs-C-f38-autosave.sav": { + "mode": 420, + "sha256": "0fe8f37479a702d2e4e7752e6cb160dc242f00a082dc4115b7d10c77b24989f0" + }, + "verify/results/saves/bs/bs-C-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/bs/bs-L-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bs/bs-L-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/cb-c3-turn1to2-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5a-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5b-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-turn2to3-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/cb-turn2to3-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/saves/certified-pairs.md": { + "mode": 420, + "sha256": "4e1cfb79cf5a51446b2eae21f91b565348ffa95a9ebac8f95e23019012aefb57" + }, + "verify/results/saves/cr/cr-oracle-autosave.sav": { + "mode": 420, + "sha256": "79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420" + }, + "verify/results/saves/cr/cr-oracle-endturn.sav": { + "mode": 420, + "sha256": "e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f" + }, + "verify/results/saves/cr/cr-replace0-autosave.sav": { + "mode": 420, + "sha256": "6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5" + }, + "verify/results/saves/cr/cr-replace1-autosave.sav": { + "mode": 420, + "sha256": "8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235" + }, + "verify/results/saves/determinism-hashes.txt": { + "mode": 420, + "sha256": "bfa0615c4b310ae21c09a7d373d5a9d8799f36a0460089e5950fa0edf9d614d2" + }, + "verify/results/saves/human-turn11-spytechs.sav": { + "mode": 420, + "sha256": "aa63dd3d5489884f70d9c35acfb06c23c84531f403798842e7b0cf8cde94d1d4" + }, + "verify/results/saves/human-turn15-spyprogram.sav": { + "mode": 420, + "sha256": "22306d26f8831b90a62c00a2ebad5a97e77017b62ee96a7439d4c2c76c455cca" + }, + "verify/results/saves/human-turn2-orders.sav": { + "mode": 420, + "sha256": "9a94dec562622310893d6f522a0fae06f1033470f4182098e808b175e7df7c8d" + }, + "verify/results/saves/human-turn3-noderoute.sav": { + "mode": 420, + "sha256": "6db0912a050a846c8f3a184811644c76df3fdb65e83dffbf70289e21cc098a90" + }, + "verify/results/saves/human-turn5-traderoutes.sav": { + "mode": 420, + "sha256": "3829e6c6d8f26cd1183a972bd66edadbd71364c11a224b0a6e40461011bcab29" + }, + "verify/results/saves/human-turn8-traderoutes.sav": { + "mode": 420, + "sha256": "afeb3b2d724e07cf59f15eb1bdb9fcf853391fc06fe21beb20c069ff75b2f836" + }, + "verify/results/saves/turn1-state.sav": { + "mode": 420, + "sha256": "a3f9dc4b49fc669c814b09b87a9c6795de21bac80a1c7bfe3901b8e239fa36cc" + }, + "verify/results/saves/turn2-state.sav": { + "mode": 420, + "sha256": "ab4ac2d7e2977260a4de916f65c7ecc6dd5b0094dac4bb51241317232ea17ab4" + }, + "verify/results/saves/turn2-strict-issues.txt": { + "mode": 420, + "sha256": "33a169a2de29ad502e9b7c0159cd543e0b4d71f2d9b3903f5be58c7846db2429" + }, + "verify/results/saves/turn3-state.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/zuul-turn15-orders.sav": { + "mode": 420, + "sha256": "ef86a0d61de3533f023af5dc2b9a5720e4e0c5c97d900d88181603a13db7d045" + }, + "verify/results/saves/zuul-turn16-noderoute.sav": { + "mode": 420, + "sha256": "b6b5d283b62cc46bca914e86c34cf45e8960a653e818e59664087429bbb30103" + }, + "verify/results/saves/zuul-turn17-orders2.sav": { + "mode": 420, + "sha256": "1b863e684edecb4afe738ba30c8132065ebcf2d9977409325e714fe0173056e8" + }, + "verify/results/saves/zuul-turn17-rollpending.sav": { + "mode": 420, + "sha256": "aac5ba5b10ff1af6b0e38c565b2f0a60c16858ee4e89dd2a2f5b037eae95ee7d" + }, + "verify/results/saves/zuul-turn23-fleet23.sav": { + "mode": 420, + "sha256": "fd3748327d87b8c478f50fcd09d097eacff21e57d946ecb43b8119b4d0d78b1b" + }, + "verify/results/saves/zuul-turn5-species5.sav": { + "mode": 420, + "sha256": "48559ab5b719b332e47b4bf43af85a616bff1508125d62edb211b80637234af6" + }, + "verify/results/shim/ac/ac-probe-run-shim.log": { + "mode": 420, + "sha256": "b9b4a5f0e399e16b477cde0bd7e2c4ce378549eb5a467f7b8ae5eb64d75cb106" + }, + "verify/results/shim/ac/ac-probe-run-watch.txt": { + "mode": 420, + "sha256": "543d76d150aeb9318b9ae27acf638b8935eea30b1a2d47fb15354b584a458163" + }, + "verify/results/shim/ad/ad-r1-shim.log": { + "mode": 420, + "sha256": "fec98888b030ed42b84551aac1286c0baeaf15b8a545af068dc6605615e96df0" + }, + "verify/results/shim/aidesign/parse_aidesign.py": { + "mode": 420, + "sha256": "fbd4aeb71db548759bdb1ff65a5fdd0af6c192927e6ebe4b510f1083c3bdba13" + }, + "verify/results/shim/aidesign/sd-br-p1-hashes.txt": { + "mode": 420, + "sha256": "cd276116a51df01129f0e840d4c04f7964be34f75e51c384cd8df65969f458e6" + }, + "verify/results/shim/aidesign/sd-br-p1.txt": { + "mode": 420, + "sha256": "325cb9fcfa505ab2a93bbd00d60a7a4644b6b5970cb16a288cc7a43f2e825dd3" + }, + "verify/results/shim/aidesign/sd-pin-p1-hashes.txt": { + "mode": 420, + "sha256": "f0371c0a439d736ae7e67e71bd87d693481100d08243d16a1ac1f2ad0ab8bdce" + }, + "verify/results/shim/aidesign/sd-pin-p1.txt": { + "mode": 420, + "sha256": "45e693d279899e7a04cf59bda67190058896b56f3b0607d5aee21abb12f03071" + }, + "verify/results/shim/aidesign/sd-pin-p2-hashes.txt": { + "mode": 420, + "sha256": "e7d6dc12a940305087ee03dc7f8826f3c6343d24d8fea0f2aa78665d887138c9" + }, + "verify/results/shim/aidesign/sd-pin-p2.txt": { + "mode": 420, + "sha256": "b0206869206bc3a41bebb5175e31179f1a5d125a44b5ddfc10c67c4a0d13c22c" + }, + "verify/results/shim/aidesign/sd-t15-p1-hashes.txt": { + "mode": 420, + "sha256": "1ee71a623eb17e08c623ec8de3775218dc3a7c2de50d36a25dd2395382195962" + }, + "verify/results/shim/aidesign/sd-t15-p1.txt": { + "mode": 420, + "sha256": "df9f4906ee8bbb2efc9ba9a38c41607b89711d0bc9f705473d8448e9715d9280" + }, + "verify/results/shim/aiorders/cb-c1-turn2to3.txt": { + "mode": 420, + "sha256": "9d5014b346cb0fa9e2172f45db77c4437a03b069930eaaa80ea94e742891eb8f" + }, + "verify/results/shim/aiorders/cb-c3-turn1to2-run1.txt": { + "mode": 420, + "sha256": "fdaf27a32b93fdb3024f7a45f0d90b2cf833d3f592960027c3a6cf4ecbb8c616" + }, + "verify/results/shim/aiorders/cb-c5a-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "d4daa0c2599c1b573ed59617243a392861dbc4e1fbeb707c7248708c015d998f" + }, + "verify/results/shim/aiorders/cb-c5b-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "9682186176024242fddb901b10d9a5ad6beba91bd895c2001ca954fc293eab73" + }, + "verify/results/shim/aiorders/l4-research-run1.txt": { + "mode": 420, + "sha256": "5caf1fa25b7b8c2d6af213e59c6ec821be3c46cdd92a1024a6faf5d0a3b1d71c" + }, + "verify/results/shim/aiorders/l4-research-run2.txt": { + "mode": 420, + "sha256": "846ef2cfbc365e7ee2f481048978baf820d57026737261bfba3a328d59cdaad8" + }, + "verify/results/shim/aiorders/l4-turn1to2-aiorders.txt": { + "mode": 420, + "sha256": "c55d9b3c48cb552c02731003c26bb6dfcb8afb611c2a188d21fd4a39f550d269" + }, + "verify/results/shim/aiorders/l4-turn1to2-hooksoff-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/shim/aiorders/l4-turn1to2-instrumented-autosave.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/aiorders/l4-turn2to3-aiorders.txt": { + "mode": 420, + "sha256": "696c34996e4b5be0383794fae7ea114779f7fdd0a8cdceff5a00aeb07392933a" + }, + "verify/results/shim/airng/par-br-p1-hashes.txt": { + "mode": 420, + "sha256": "656b1d0c073d9988287e5b76543e42eb1c050d9ebc9872e2b7ec5208b7534b42" + }, + "verify/results/shim/airng/par-br-p1.txt": { + "mode": 420, + "sha256": "eadf1cfb7efd7b374472867ddf1cea5f60e30096090c950049f0c264b0299398" + }, + "verify/results/shim/airng/par-br-p2-hashes.txt": { + "mode": 420, + "sha256": "d97916075c7b4c10464962e9e38aed69288a4d68a16a369c1133df16fa134146" + }, + "verify/results/shim/airng/par-br-p2.txt": { + "mode": 420, + "sha256": "bda355cbbf07301cd6d3716eba32312261c402848c91780a97a6d5cce14c3d92" + }, + "verify/results/shim/airng/par-pin-a1-hashes.txt": { + "mode": 420, + "sha256": "5eb1b557826d45fe9d843b37a92aaef54cd1b8a60900f9c34b4fe25e4bd46a24" + }, + "verify/results/shim/airng/par-pin-a1.txt": { + "mode": 420, + "sha256": "17750bab77512434dcc9e66fc86cbfc34df497cadab5b732cf3b0ef3958e09a4" + }, + "verify/results/shim/airng/par-t1-br-p1-hashes.txt": { + "mode": 420, + "sha256": "7577c33ec33d9e94fb77225929c1f34a3dd94c18fe72a394017811b3b5d53467" + }, + "verify/results/shim/airng/par-t1-br-p1.txt": { + "mode": 420, + "sha256": "8bc9969e2da730d26cc5538b758858a00a4ba6ab2d398458ff4dece1edf8bf92" + }, + "verify/results/shim/airng/par-t1-br-p2-hashes.txt": { + "mode": 420, + "sha256": "7e60fc8615163e8ebccf22fc8910f2e7c4f72a9be7a74bc832bc2a0f64ade0da" + }, + "verify/results/shim/airng/par-t1-br-p2.txt": { + "mode": 420, + "sha256": "7e50a728eb5909bd602a9e6996b908b1b2665c8c983cc0258dad000c8bff8e35" + }, + "verify/results/shim/airng/par-t1-br-p3-hashes.txt": { + "mode": 420, + "sha256": "00ce6b3b4c9dbfd192d09b3b06d91b95576cee8a5a85fccdc36a85547fbdcbc4" + }, + "verify/results/shim/airng/par-t1-br-p3.txt": { + "mode": 420, + "sha256": "28cdf1f6b83c1764f1d1e51a67e3f873566b8503f8504ef52f5b5af24b21c0cb" + }, + "verify/results/shim/airng/parse_airng.py": { + "mode": 493, + "sha256": "3fafa7cf2363620d6a25248d085fbc4e3bd1fdbb9388a6795244834a9a2a2ed0" + }, + "verify/results/shim/ap/ap-probes8-d.shim.log": { + "mode": 420, + "sha256": "115545172568edc6a1d5bb3b559f968aa8a7aaa1f6aeba970daebce98fe56a0c" + }, + "verify/results/shim/ap/ap-probes8-w.shim.log": { + "mode": 420, + "sha256": "8af0897a884bb314958c5e6f2fccd88ff8b1890322dafd3bc904b3f983838620" + }, + "verify/results/shim/ar/ar-r1-ledger.txt": { + "mode": 420, + "sha256": "44bddfc0b9e94812a3a1cfd681a1350caedf2ed8e1174900c2f81c90dc95187e" + }, + "verify/results/shim/ar/ar-r1-probes.txt": { + "mode": 420, + "sha256": "c10251c9bcca5436dc42b2c0bd37b66c144aec4036f2069c2df9340fd764992c" + }, + "verify/results/shim/ar/ar-r1-shim.log": { + "mode": 420, + "sha256": "07003ee203d60a638cc8a1cb0a0f6b8042ba227705b4355f1254312c6dd54e28" + }, + "verify/results/shim/ar/ar-r1-sites.txt": { + "mode": 420, + "sha256": "d1923d549ef3567488d0382ae0ef75fa25c5b1b5812ee5349c5c47aea7a30514" + }, + "verify/results/shim/ar/ar-r2-shim.log": { + "mode": 420, + "sha256": "06dbf04cff5a56b0e55d8e73e5b1e3e9d9235f4afafc8139517b68d676781909" + }, + "verify/results/shim/as/as-probes8-run.shim.log": { + "mode": 420, + "sha256": "cd25c93d8b79e0f0df594fe681917fe880741a54a4188d4d72d2fbc6c42ba8d9" + }, + "verify/results/shim/bp/A-aiorders.txt": { + "mode": 420, + "sha256": "ee9f8bb1073e3bf02e115fdee014f79b11100a0e1e35e308c2bcd4b798302c34" + }, + "verify/results/shim/bp/A-shim.log": { + "mode": 420, + "sha256": "853eab98d09ff1e7a8e7da375a678561b02d6236adec627202ff3bb34d90e797" + }, + "verify/results/shim/bp/B-aiorders.txt": { + "mode": 420, + "sha256": "07daeacf33a16afbed64a8a01ffd26fa73c6d2acd0e6993dd9deb06a7fd93fc3" + }, + "verify/results/shim/bp/B-shim.log": { + "mode": 420, + "sha256": "cde2202333e81cc4eec2c47915181229a68a5fa99879968905a2809c4fe0a79a" + }, + "verify/results/shim/bp/L-aiorders.txt": { + "mode": 420, + "sha256": "28492b0f9be74f61db45eae49b44b41efbc1a3bf6f6d2c888e5cc40bfb7753bd" + }, + "verify/results/shim/bp/L-shim.log": { + "mode": 420, + "sha256": "550d8986a35b3f4742e7522df11bfbf2e832e417ad42cc1bff1a39dd4ee510fd" + }, + "verify/results/shim/bp/statecheck-AB.txt": { + "mode": 420, + "sha256": "dacb5cfa5541934f37b2b1c02b87e809c3f65ba8488aa88d925b295fade0083d" + }, + "verify/results/shim/bq/bq-res-aiorders.txt": { + "mode": 420, + "sha256": "991543eb53fbf1353fe99ed96d4ca358e05f6bac32f00bd1f6dc60fcc002c8b4" + }, + "verify/results/shim/bq/bq-res-shim.log": { + "mode": 420, + "sha256": "7855bd268f69443e7ddfda71873458144728630264703482901bf6d8ffbccd3a" + }, + "verify/results/shim/br/BR-aiorders.txt": { + "mode": 420, + "sha256": "d71e11e7c40aaa740adc55651af556afb9e92768336bc11747ad67151f33f4d1" + }, + "verify/results/shim/br/BR-airng.txt": { + "mode": 420, + "sha256": "04eaeaa688a448f64df00dedfd692b78bca0e3e1207a8292c2fafad507f919ea" + }, + "verify/results/shim/br/BR-shim.log": { + "mode": 420, + "sha256": "bc6ef7aa465c2b1a81d08555174e15fb1a97a207da9eefaa8a6155440869a13e" + }, + "verify/results/shim/br/BR2-deep-aiorders.txt": { + "mode": 420, + "sha256": "b9edb53f7d56c1bb26d3bb77349543dce9564930484bc832475a3a04e5f2ad15" + }, + "verify/results/shim/br/BR2-shim.log": { + "mode": 420, + "sha256": "0de7609693747fdf0abaebd60598af127c918f32561c993715aead91cd24b334" + }, + "verify/results/shim/br/aiorders-diff.txt": { + "mode": 420, + "sha256": "411ceb2bacd62185d25a3c58f199c0bdfcd2759705bef2b36536da3870f73a67" + }, + "verify/results/shim/br/cmp_aiorders.py": { + "mode": 420, + "sha256": "b6c192efb40866aa56f29d9ba2b89e17f18ae0579645db8f34a01010db09cc28" + }, + "verify/results/shim/br/shim.cfg.brdeep": { + "mode": 420, + "sha256": "b8017e344666df816f1191906cf8f54504d631bb7ce9d2f51f6f959e4934ff04" + }, + "verify/results/shim/br/shim.cfg.brprobe": { + "mode": 420, + "sha256": "4f090999dba63ef22ab4993bd6af557e9500819c84f27decc126771f48f98efb" + }, + "verify/results/shim/bs/C-aiorders.txt": { + "mode": 420, + "sha256": "5abc20b68edf6ff52301c01825040e1d6b41b582ba40403ed6c4edc42dcbe4e2" + }, + "verify/results/shim/bs/C-airng.txt": { + "mode": 420, + "sha256": "5a4a56506d1eeb82d3bf0fbba95842566911178a82f0aad9d700a9fe00f1b300" + }, + "verify/results/shim/bs/C-shim.log": { + "mode": 420, + "sha256": "8b8dad987589fd159e789806e89dbcf7a7b40b86446d55e1d0bf10ff25cb8f6f" + }, + "verify/results/shim/bs/L-aiorders.txt": { + "mode": 420, + "sha256": "a03e8c1587633ecbb683c376f30e35e126e98ff0e8204c4ee6b5e2b4fc254104" + }, + "verify/results/shim/bs/L-airng.txt": { + "mode": 420, + "sha256": "8d21083857facd3728446af612b3a97b47e5287a5fe0bdf01423812f8445dacd" + }, + "verify/results/shim/bs/L-shim.log": { + "mode": 420, + "sha256": "246af272e464c715c7abb00471b4ddc404b81143f4065006aa4daec4d82cadb9" + }, + "verify/results/shim/bs/shim.cfg.bsrun": { + "mode": 420, + "sha256": "570b15c208d31a367ec6c6886019693cb17b98d254cebead11ec6746ae5af256" + }, + "verify/results/shim/bu/BU1-aiorders.txt": { + "mode": 420, + "sha256": "944eeb701fcd22480513c34d93f8310541977e89a24ae237bd947aed44092529" + }, + "verify/results/shim/bu/BU1-aivisit.txt": { + "mode": 420, + "sha256": "721f038ef80be92325728fc30f095846b54ff1ac67a41537d4a4d1b97d5e9758" + }, + "verify/results/shim/bu/BU1-shim.log": { + "mode": 420, + "sha256": "28ca02f56823e577662744108965bc3ab1d7241143704ac8ceaacf2e9cd077f3" + }, + "verify/results/shim/bu/BU2-aiorders.txt": { + "mode": 420, + "sha256": "5c388039a3e832465f67b4ca88f3f67550d5189a3a68f33c508c4a467733c9ac" + }, + "verify/results/shim/bu/BU2-aivisit.txt": { + "mode": 420, + "sha256": "19963ed364f47fd965508d96fbf9d1f424938f711f2b1cdc83697f789189271a" + }, + "verify/results/shim/bu/BU2-shim.log": { + "mode": 420, + "sha256": "c0a8c467bc4b4134dc83ca5dedbbfed8dac887b432a56cd12f6e211c8d58daca" + }, + "verify/results/shim/bu/BU3-aiorders.txt": { + "mode": 420, + "sha256": "b6443b3f7db541149f54435f14ba830f54d2f950420f3f0694ff12a8b1eec143" + }, + "verify/results/shim/bu/BU3-aivisit.txt": { + "mode": 420, + "sha256": "fe67a4a1cc6a67e06b2eb5675b4b8543ab9f25ea39a18d7f4c83bce74482e0cc" + }, + "verify/results/shim/bu/BU3-shim.log": { + "mode": 420, + "sha256": "0a802ec556c87f44efaa06f211e75d9b89a66ac6db5a08e34d2a7eae992121ed" + }, + "verify/results/shim/bu/claim-order.txt": { + "mode": 420, + "sha256": "7135e3ed0204a4615e546bc882992073d4b48ee42ea341186c32b6b3dd3dfc47" + }, + "verify/results/shim/bu/claimcheck.py": { + "mode": 420, + "sha256": "85c5ec747f12cf37ec2dbc4021447909eeded68ecd1abb697a6fb60005a54aff" + }, + "verify/results/shim/bu/shim.cfg.bupin": { + "mode": 420, + "sha256": "6b37b047adc95f7c08b6767cdec5bd715a8851f14bff7f187772835d1cc032a7" + }, + "verify/results/shim/cr/cr-N.log": { + "mode": 420, + "sha256": "d5459e6dcf44fbe55d0f60f1ac40d68bed96319bb55986cc24a1b9ca0d8103e0" + }, + "verify/results/shim/cr/cr-R0.log": { + "mode": 420, + "sha256": "3b703881aa2b9a1c111201ff9543f2dcae0f948567ee877df275a1093bb567f7" + }, + "verify/results/shim/cr/cr-R1.log": { + "mode": 420, + "sha256": "8df6af84f74891ff9b0b02fa150641f5fadcd0419bc53c41cbe80bf14ec9c712" + }, + "verify/results/shim/eventlive/c6b-loaded.png": { + "mode": 420, + "sha256": "f442d4b211a47b331cef9a255e83732b80a1ede70ac200596c796ac0aa320017" + }, + "verify/results/shim/eventlive/c7b-turn3.png": { + "mode": 420, + "sha256": "3e070abfbdf4efd2662951049f8545f328aa172d64d00b9c5a1f4243426e803a" + }, + "verify/results/shim/eventlive/load-dialog-8files.png": { + "mode": 420, + "sha256": "e0fc5af16042a70b53bf7d44220db56c56a466c22c4abd641557e94b8e6c1693" + }, + "verify/results/shim/eventlive/shim-zuul.log": { + "mode": 420, + "sha256": "f9d184b33c46cab9d497f7a38056c099ce2ff9b5e8149f563a2353d91985fea1" + }, + "verify/results/shim/eventlive/shim.log": { + "mode": 420, + "sha256": "e65f2e3efa1ce8f70c483bb966448239923db2d3924c709a669bb1a890411b0c" + }, + "verify/results/shim/eventlive/t7-after.png": { + "mode": 420, + "sha256": "dc0a3e8f5a5c9032ead266d106fa69a57677711eb807d26376f29baa6ec0b934" + }, + "verify/results/shim/eventlive/zuul-turn1.png": { + "mode": 420, + "sha256": "f9af979ed08315c0a8d644af800318634b3641628f710f3f9b4d2c77d4f70fdc" + }, + "verify/results/shim/l1/README.md": { + "mode": 420, + "sha256": "f008081756d99825aa81d2802869476f8341f81aeb8c4dbbb77502cf76db5145" + }, + "verify/results/shim/l1/cdiff-frames-2-51.txt": { + "mode": 420, + "sha256": "57cb1911c5bfc7bdfacafc6bb1ad382fc05f46fb9cdcee4479d861af48e585c1" + }, + "verify/results/shim/l1/cdiff.py": { + "mode": 420, + "sha256": "2ace41ce6017cfac8758d8b9955f02de84738d90067a7dfadeb8bffffc842027" + }, + "verify/results/shim/l1/rep.py": { + "mode": 420, + "sha256": "1a7a3819da8e9aeaaf213a62b696388b0a9489924c964407536831b5f7dd9488" + }, + "verify/results/shim/l1/saves/l1-t1t2-post-hooksoff.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/l1/saves/l1-t1t2-post.sav": { + "mode": 420, + "sha256": "62061918176e344106e82357e58acc8adec488f6b2969831cb99a84cf25e31c5" + }, + "verify/results/shim/l1/saves/l1-t2t3-post.sav": { + "mode": 420, + "sha256": "2177c659d8dbc39cf7485abe367d42d55cc42cc9a61949d403dcbc79989ec32d" + }, + "verify/results/shim/l1/saves/l1-t2t3-pre.sav": { + "mode": 420, + "sha256": "641a33f06b2fe1c1caf0c4994442bf13a4b03f25a85b34a9875cd22b75715896" + }, + "verify/results/shim/l1/seed-two-processes.txt": { + "mode": 420, + "sha256": "d60412049ced59705284a46078f1906e1aad4140f90db2169e08aeb9530dd985" + }, + "verify/results/shim/l1/seedrep.py": { + "mode": 420, + "sha256": "a06de5d5ccc1e87808eb3877534076340ef5330bee9a86953b8f4dae0268e087" + }, + "verify/results/shim/l1/trace-et1.jsonl": { + "mode": 420, + "sha256": "f21a213bc56983bc94f24303b0837b160f93bfb7e3ca6abdbf2e18321f8dfa19" + }, + "verify/results/shim/l1/trace-et2.jsonl": { + "mode": 420, + "sha256": "6e44b0fc541c3082f91b115de67f5315f43b9db21f0696b856cfff2ead51323a" + }, + "verify/results/shim/l1/trace-oracle.jsonl": { + "mode": 420, + "sha256": "ad9ecbe79a71c84930302868850806798228fe0f2e625b442dd3ed579c05092c" + }, + "verify/results/shim/l1/trace-playforward-f51.jsonl": { + "mode": 420, + "sha256": "6ed0af385dfe7288ad2c994458c8f5d75fc8e29b603dd6607a3703591d25eeb4" + }, + "verify/results/shim/l1/trace-seed-proc1.jsonl": { + "mode": 420, + "sha256": "120074583eb02cd4c3a29aab5826f789d52a6146930b1763f9b0bb824e9a350a" + }, + "verify/results/shim/l1/trace-seed-proc2.jsonl": { + "mode": 420, + "sha256": "03dffeafeff0c33d926207f869741dc544141425c8f665bf58aad4fd363e2f95" + }, + "verify/results/shim/l1/watch-arm.txt": { + "mode": 420, + "sha256": "f8d5811c938d16d003a72a97f2b4b33112914a7ee378fa2b334282616592943e" + }, + "verify/results/shim/l1/watch-hits.txt": { + "mode": 420, + "sha256": "1bf62ac965036a189055cd59a92007c70a2a6aca307df54ce8ccb997048f43d5" + }, + "verify/results/shim/l3/l3-probe-run-shim.log": { + "mode": 420, + "sha256": "f5cd336971ae3d3eaff642e80d9defa20ec2e1ee11e212a082c24365b18d8684" + }, + "verify/results/shim/l3/l3-probe-run-watch.txt": { + "mode": 420, + "sha256": "8d969595789c690a688f7b8fac05288c614d5d9210388ca94315158948c85f24" + }, + "verify/results/shim/l3/l3-spy-run-shim.log": { + "mode": 420, + "sha256": "5abfd08445e9e8139945b095ddddfb56480062019ce6d40304a440c317f21fd1" + }, + "verify/results/shim/l3/l3-spy-run-watch.txt": { + "mode": 420, + "sha256": "c669ccf79202e7060c153151e4fe1be96acf4030cb64aa71bd6a5c212b550b47" + }, + "verify/results/shim/m0-main-menu.png": { + "mode": 420, + "sha256": "465207fda4722ca53585b71647a08b1149944036792a072e7c34e2c437a3e37c" + }, + "verify/results/shim/m0.log": { + "mode": 420, + "sha256": "581d63139503892b6aeeff71acb742143393e9f107aa1f3605d8c028c927cad1" + }, + "verify/results/shim/m1-shim.log": { + "mode": 420, + "sha256": "35401ea82b9a64dbfdb54c282c06c51d7b696afd4ea2794e16071e0fd5c7cbef" + }, + "verify/results/shim/m2-scout-shim.log": { + "mode": 420, + "sha256": "8c46117bdde6b6911a4d77b059b40803d4966652990c8fa3ed67773e5db0459f" + }, + "verify/results/shim/mf-after-shim.log": { + "mode": 420, + "sha256": "86601372b980828171e98fc71afe865f207b1745ef4dcdca646a618c91d17426" + }, + "verify/results/shim/mf-after-turn2.png": { + "mode": 420, + "sha256": "a1f83011ff96e990d7cc80f8306e8fe0c58b96f84eb73ccb6cb013019900133d" + }, + "verify/results/shim/mf-after-turn7.png": { + "mode": 420, + "sha256": "313f3863ab901320174c8ff7cf6f1f6b0d5b3d9d7a2f8999eae6413aedc46fc5" + }, + "verify/results/shim/mf-before-shim.log": { + "mode": 420, + "sha256": "8377a87c7ed05fd0cd7b61e3f1d5fc9c2b9fa294f812c67183d4ce31323a64b1" + }, + "verify/results/shim/mf-before-turn2.png": { + "mode": 420, + "sha256": "c9805791f402ec159fcc6acdd283120eae8536b230666d3049374525595b589f" + }, + "verify/results/shim/mf-before-turn7.png": { + "mode": 420, + "sha256": "3b880b8f96c4cc328aaff8e41068db29b295be8f000c432e321a51b6030b1272" + }, + "verify/results/shim/mf-human-home-no-ships.png": { + "mode": 420, + "sha256": "dfda3e9784eefdc7b75d04908e95c3a192eda7796685907c65bfde3068d6f2bb" + }, + "verify/results/shim/probes/human-t3-5-perturbed.txt": { + "mode": 420, + "sha256": "9b594ab18cdd9aec4fdf807b4d97576191bc6fd48a85cc872c222b515d0f7c01" + }, + "verify/results/shim/probes/human-t5.txt": { + "mode": 420, + "sha256": "0ddd9f0391a3a5d655f1809a9e79d537badd8071f8834e58bdbc7f95d9ff1320" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/shim/probes/zuul-t24-25.txt": { + "mode": 420, + "sha256": "50567b7cb1f008d025baf6cb4b4ad7af7d767a2182afd082c3ac1b1a66c79541" + }, + "verify/results/shim/recap-b1-shim.log": { + "mode": 420, + "sha256": "601cd4cbbec3e8c1f7776eadc4203256ec4c5d1e3e180295369727e1da69ff37" + }, + "verify/results/shim/recap-b3-shim.log": { + "mode": 420, + "sha256": "7c5110a9d4431cc03729a7bddcb13ee69a6d428199051e175b0921391fc02a80" + }, + "verify/results/shim/recap-misc-shim.log": { + "mode": 420, + "sha256": "7cadf2eadb08979cda39fe7e3ed6cfa3f62bdbcd256fc7550b3e27c3f08c9b3e" + }, + "verify/results/shim/recap-misc-turn7.png": { + "mode": 420, + "sha256": "2c1451ded36ad79389f0eb3db098b4e0b0a6f12495d64c832f6e093374005c29" + }, + "verify/results/shim/recap-trace-shim.log": { + "mode": 420, + "sha256": "56da143a92b2edda727862a6fd4a056c716153e23cfddbde076e218ce4c4285f" + }, + "verify/results/shim/recap-turn2-loaded.png": { + "mode": 420, + "sha256": "62a42c44f99d8a53bca735d54a5adf48b89449bb859e859ec573cb40e1a7f2d0" + }, + "verify/results/shim/tailrng/save_rng_delta.py": { + "mode": 420, + "sha256": "a9a04b131427a43372d87688b8eaf230a82a79e2c3c241a90ff4eb31e039749e" + }, + "verify/results/shim/tailrng/z-t5-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z-t6-autosave.sav": { + "mode": 420, + "sha256": "2ce6aef9d49ea238455f3ac680556c6a251065af3e28b6540fe09597ae38571c" + }, + "verify/results/shim/tailrng/z-t6-endturn.sav": { + "mode": 420, + "sha256": "afb112896c0236fa715ab3c10139958294085bb2066e22a6d7b76deb0dfa46dc" + }, + "verify/results/shim/tailrng/z2-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z2-endturn.sav": { + "mode": 420, + "sha256": "8648957fecf5041233f9add4c8173f78981f026f133ecdbecdb89ddd10917048" + }, + "verify/results/shim/unlock-shim.log": { + "mode": 420, + "sha256": "20a6625b369acb773543e530f1bfdc8b7eaca5c6b58415cc5009bb9858e16f22" + }, + "verify/results/shim/watchpoints/w2-modcount-status-2turns.txt": { + "mode": 420, + "sha256": "335be910dc11a20c9fb80f3b0f37f04fd50a9d8074697bb5365c3fea02790b74" + }, + "verify/results/shim/watchpoints/w2-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "9a344045270e3815004a3376eccfbd030372faba54374d9b6626fd80740b8b13" + }, + "verify/results/shim/watchpoints/w3-modcount-turn1.txt": { + "mode": 420, + "sha256": "328a2319e320f5382e82ad497b6b73245c397cf67515e8a27fa9712418af81ae" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt-turn1.txt": { + "mode": 420, + "sha256": "a9b3c20f90a76ee624bde6ee4cae9d1ff1f2baa67aa770a0e70042cb44d11915" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "af9fe2258fe4168f6066768809c509380183f61bc337331392c5202b900d906a" + }, + "verify/results/shim/watchpoints/w3-tshn-containers.txt": { + "mode": 420, + "sha256": "08eab48d1a202f975f1be87e2279379646142f8b22d9dafc56295399083ed0af" + }, + "verify/results/standalone/cv/cv-input-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "d29f3514e4209954d6c068f34285615aef5f4627ba4627ce97c0e65f93620159" + }, + "verify/results/standalone/cv/cv-leaf-worklist.txt": { + "mode": 420, + "sha256": "0f309711de89cc10cf940d0d4b051b5052ce49a3cc0f3f80c532b50256410778" + }, + "verify/results/standalone/cv/cv-noreplay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "3734f197cfefd017dbe562fd421d40859bfc2c37d9ac2cedf9c7ddd340a3a4a7" + }, + "verify/results/standalone/cv/cv-replay-run.log": { + "mode": 420, + "sha256": "7372c7da437ece21098cc6f66d0631e146d8aae14a9242bd2278a9922a7f7c02" + }, + "verify/results/standalone/cv/cv-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "1932158abec82f45b9b838f4cb79b1088190ca5281d388f57356af7776e96950" + }, + "verify/results/standalone/dt/dt-canonical-after.txt": { + "mode": 420, + "sha256": "f32fdcf7d6431293133e951045b42a55e8a27d75cd859ad08cd719e5fb696712" + }, + "verify/results/standalone/dt/dt-canonical-before.txt": { + "mode": 420, + "sha256": "b56160cfdcfa0fff25be2aa566959261e375004905814803e231889da665188f" + }, + "verify/results/standalone/dt/dt-observed-leaves-remaining.txt": { + "mode": 420, + "sha256": "e14bd20e60480f98a564e585c0d25d2e758f71016811b8981dbdacd9d51c0c82" + }, + "verify/results/standalone/dt/dt-replay-run.log": { + "mode": 420, + "sha256": "4b7907fc4e735b1c12e3cf64671079abaad757aabd752b134a9fb27d065656cd" + }, + "verify/results/standalone/dt/dt-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "8ddb84e7e6c2f663b1bc4b9611a56a46aac9d09863dcc5be765cb70dc9642c22" + }, + "verify/results/standalone/max-income-oracle.json": { + "mode": 420, + "sha256": "245796e0aea5f5c2238686cba10c651156117fb454805553b2508a8a8fe71a69" + }, + "verify/results/standalone/report.txt": { + "mode": 420, + "sha256": "b47e90432eaf38149f2ecb5316d1962813b6b1423848e36fcc9435ad1f5485df" + }, + "verify/results/standalone/rng-oracle.json": { + "mode": 420, + "sha256": "98a364c80f69d6a84b86c3f9ccc16176d9e769ff061569b0c0ddfced53f9146c" + }, + "verify/results/standalone/rng-oracle.txt": { + "mode": 420, + "sha256": "3496a217a7e4f80bb18c1b067eaedcafcf7bdc877460c6346606fd7f6a55b877" + }, + "verify/results/standalone/status.json": { + "mode": 420, + "sha256": "d38ca6222c83df3a5886e6b32a30772c7174cc0e584f4a3beabedc05770df9cd" + }, + "verify/results/standalone/t36-turnrecord.md": { + "mode": 420, + "sha256": "b017a93ad04af69ef469cd8ea536dff4cab17140d20b3665e7c89533ab5b8a84" + }, + "verify/results/state-checksum/ad-oracleA-vs-oracleB.txt": { + "mode": 420, + "sha256": "b6c440e20108ad2727a7d7aa32a4bd673ec03ca4372461797705d619de1ba48a" + }, + "verify/results/state-checksum/chain-turn1-3.json": { + "mode": 420, + "sha256": "33941d0dd77bfb79e4302f82a410f5f18fe3ae1ade684b5b59c6ed352789a696" + }, + "verify/results/state-checksum/chain.txt": { + "mode": 420, + "sha256": "ae1037dd8394b258ce91262877d348a0561c5f5056cfae74cc0d058e4166aa83" + }, + "verify/results/state-checksum/float-census.txt": { + "mode": 420, + "sha256": "c697c0f187ee8a8ebb157cbff8d7ae42c92f36a501b16acd9f9839a0ffc306a9" + }, + "verify/results/state-checksum/identical-roots.txt": { + "mode": 420, + "sha256": "1143fabfe96954440542adcd3830ad1d862be6c091f3c1b2e63e92a2751703e7" + }, + "verify/results/state-checksum/resave-localisation.txt": { + "mode": 420, + "sha256": "85f4e8fe3581ba5d0ae74974d757c4c2fddc008f3fbe6781891ae8ef65aa693e" + }, + "verify/results/state-checksum/roots.txt": { + "mode": 420, + "sha256": "6ea7ad668703baaff870720683bcc13beff557cebf8e7843526d6677e5b5ef68" + }, + "verify/results/state-checksum/turn2-to-turn3.txt": { + "mode": 420, + "sha256": "3649c86742460a54d89714df1917508f76952c44c07cb7fbc19010910c5df0f4" + }, + "verify/results/turncommands/br2-turn27-deep.tcb": { + "mode": 420, + "sha256": "329b9c3f1e9f85ddeeb71148bd5c0e38f7d26445ed349df60ffbfaf63db46102" + }, + "verify/results/turncommands/br2-turn27-shallow.tcb": { + "mode": 420, + "sha256": "d8346969421a92fa199d0b9faafa642dc2e71a527b08d27984fe73ee70ecbd6b" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.json": { + "mode": 420, + "sha256": "01e572975339fbe8a242b2438719173bd5bb4f4916078e5887026408923eb356" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.tcb": { + "mode": 420, + "sha256": "16e349db6c46e46520cd2e5f0a9fcf70b537dce878324dd873418ef6cebd8658" + }, + "verify/results/turncommands/cb-turn1to2-pinned.json": { + "mode": 420, + "sha256": "2d4f108b8ac6b1e582382ac25d53f354c293e7caf390b8462d15beaf8e43e01c" + }, + "verify/results/turncommands/cb-turn1to2-pinned.tcb": { + "mode": 420, + "sha256": "28ebfecc3495cc4f5b2892e420cb1b83f3cbdb6b7aabe107f4b1d18233a06094" + }, + "verify/results/turncommands/cb-turn1to2-run1.json": { + "mode": 420, + "sha256": "c9de70196af5453df15cfebcb92c973dfed9d54ffa0dc0a397839cf951ac9b58" + }, + "verify/results/turncommands/cb-turn1to2-run1.tcb": { + "mode": 420, + "sha256": "5cdcfb3ade6cdfb2c00c234f5535c791780230f520d27be14f617462347b4948" + }, + "verify/results/turncommands/cb-turn2to3.json": { + "mode": 420, + "sha256": "8a0d4fc9efae9dcb4eca0de41bf28444d79eb5a4fd4e426671a4d80ab5a46f44" + }, + "verify/results/turncommands/cb-turn2to3.tcb": { + "mode": 420, + "sha256": "420a5d03f2a4ecfa0789835cc46f98961d11bbd7c7fd5f59dc28301aa0b65b6b" + }, + "verify/results/turncommands/l4-turn1to2.tcb": { + "mode": 420, + "sha256": "1b9faa7f8aad9196e36cf1c450e340f37c502a69ccfcaaad7e289bd7b4727b12" + }, + "verify/results/turncommands/l4-turn2to3.tcb": { + "mode": 420, + "sha256": "b0443f176c3915389278de608a8e7c63fa48d4777b924c0e383c7279f2a297e0" + }, + "verify/save-reader/SAVE_FORMAT.md": { + "mode": 420, + "sha256": "5ac2556b6c063c9296ef29e8514cc312983d48a8e2c2832f504c970629990b33" + }, + "verify/save-reader/fixture_joint.sav": { + "mode": 420, + "sha256": "fbe41595e50bb580786f36b197d5b85f87820974c545107c864fa2f1862af3f1" + }, + "verify/save-reader/fixture_split.sav": { + "mode": 420, + "sha256": "3909f12d021bf840617dc8d599841b64d67be46e1c6882cba7728d312d310071" + }, + "verify/save-reader/save_reader.py": { + "mode": 420, + "sha256": "2dcac286b5382b67fe8f2dbce58c80950dd430b726ed0e98f3bcea155df0df35" + }, + "verify/save-reader/save_writer_stub.py": { + "mode": 420, + "sha256": "8343ad15f742ee1b9cd62108efbc9c4b2718c3807442e3dfcfa9513ced7d3638" + }, + "verify/save-reader/test_save_reader.py": { + "mode": 420, + "sha256": "29f609d037eed99bb5444004facbff7b2c5c36fae568e815810585fdc3ddd393" + }, + "verify/state-checksum/STATE_CHECKSUM.md": { + "mode": 420, + "sha256": "5680299a4df27e30cdb545d9d2a640caf9299d61acb662b9512589e4390954e1" + }, + "verify/state-checksum/float_census.py": { + "mode": 420, + "sha256": "a568aad8b9f38aba2474f33941550bf948d050694a1d04dc5c85d15687223ae9" + }, + "verify/state-checksum/run_validation.sh": { + "mode": 493, + "sha256": "bf84b999d2b90368703e80235bac0258b70a1c37dd1902c9205a914a59cb1fc2" + }, + "verify/state-checksum/stability_check.py": { + "mode": 420, + "sha256": "8e640561b05decf590524fbe0dbf3b76a5e2f9c7fde93e005ca6e79464c305f1" + }, + "verify/state-checksum/state_checksum.py": { + "mode": 420, + "sha256": "ed80458e84d92040aa3872464d8df315e935f379ca0da5a2df81c3049826e5b8" + }, + "verify/state-checksum/test_state_checksum.py": { + "mode": 420, + "sha256": "d0ccf8e8390fd0a5d76a8695a490d85dc7e8e415a06ec50b592c57474cc9a73b" + }, + "verify/tooling/README.md": { + "mode": 420, + "sha256": "b05249530d65d43220c1e5c4666939c360d6139ed404a8881f6ad0a9c5c27af6" + }, + "verify/tooling/fixtures.py": { + "mode": 420, + "sha256": "56cccc88b9b9468e07c9ddff39d65813098053ec9e8f00432736906389f200a7" + }, + "verify/tooling/host-tests.json": { + "mode": 420, + "sha256": "90833c99e2749ff890b16b943f43f6ebfc1a1c611f2ed1e40555426fded45c97" + }, + "verify/tooling/test_tooling.py": { + "mode": 420, + "sha256": "bb8d15960dfda13f15cffc57f3b669003b127b4dedbf34100bb4a51c29dd3c6d" + }, + "verify/traces/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/traces/ac-probe-baseline-turn15.jsonl": { + "mode": 420, + "sha256": "a2f4e410f6a8d77f7680b4a69b5b2ac2f59fa80515b0cfe8209e7fec8e4a5b6b" + }, + "verify/traces/ac-probe-turn21-turn23.jsonl": { + "mode": 420, + "sha256": "2bb9317b82744c0da36ef6d9c1a78f31ebacea49b82a18005c0cc75bad62d345" + }, + "verify/traces/ad-r1-turn28-turn29.jsonl": { + "mode": 420, + "sha256": "cde7a1e010aa6195163f3b9320aa5c496fd8c271e9648c90c7319837dd967571" + }, + "verify/traces/ap-probes8-deploy-turn15.jsonl.gz": { + "mode": 420, + "sha256": "e257d5ea3fcb4be8da570d6a5589022e6ba412ff2712f4f06832812d8859e08a" + }, + "verify/traces/ap-probes8-turn16-turn26.jsonl.gz": { + "mode": 420, + "sha256": "df4fb35d9824799d8be79f3a9e976b55b7cd0fb5488b3e12711d04eb3c320f13" + }, + "verify/traces/ar-r1-turn38-turn43.jsonl": { + "mode": 420, + "sha256": "f8653cbd1956346816897b313031c5d70898144d1c84b1c849ac37bfe3bd993c" + }, + "verify/traces/ar-r2-control-turn38-turn39.jsonl": { + "mode": 420, + "sha256": "c1068652ddf54d2ff266c1dc1ef1e69ea663f5d2a83143408f77ec782b3dd988" + }, + "verify/traces/as-probes8-turn15-turn16.jsonl.gz": { + "mode": 420, + "sha256": "024bb0663b167eb364c8e138bae0bf10403860c195bd593cb56f60281060c4e8" + }, + "verify/traces/b2-final-menu.png": { + "mode": 420, + "sha256": "5a95fe260c9cb13dad5fc6f00460819107db93f4ac89f455077ad056600f83fd" + }, + "verify/traces/b2-shim.log": { + "mode": 420, + "sha256": "c31cf01af3659b7fdf008ff44f88f67ee4016dcfb30fc4a72b4d72ea0da8e404" + }, + "verify/traces/b2-techfx-compare.jsonl": { + "mode": 420, + "sha256": "f0202f45b276db6744c80768f12695153812bc882de688cf64705ed6a52f243c" + }, + "verify/traces/b2-techfx-golden.jsonl": { + "mode": 420, + "sha256": "43639e75bd9d510ed270c9cfcbb0c9665f5a6546f748ba81eba3f015e7ca233c" + }, + "verify/traces/cr-N.jsonl.gz": { + "mode": 420, + "sha256": "0071ae72a142533ffb91f9f04caa6704102c826761ff5ae24b57a1c3e9652e46" + }, + "verify/traces/cr-R0.jsonl.gz": { + "mode": 420, + "sha256": "6228c88cebb4dad2158e5586ecbcf71d1160116f2f4a2a8bc020658da8d7d706" + }, + "verify/traces/cr-R1.jsonl.gz": { + "mode": 420, + "sha256": "73f5f15b3343381cf3f973caaf74588fd3d0b6759de1ddcf9e12b9b3ebf29713" + }, + "verify/traces/eventlive-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "9cb344f1d8a3beb4bc1a2bf16baed6c38667443ead9f66fa0f53474a683d263c" + }, + "verify/traces/eventlive-b3-t1.jsonl": { + "mode": 420, + "sha256": "2d9962de9a7ea7fb28b33b72209706b4a27673096f71c8789f9f10ac465f387b" + }, + "verify/traces/eventlive-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "0ee09bb884799e72c6a617ab02e741a7ba791ff458af439b9947a87b368a64de" + }, + "verify/traces/h-probes-human-perturbed-t3-5.jsonl.gz": { + "mode": 420, + "sha256": "2567f8ccb6276a4d647c4f4b88d14f7ae63aa4d1797f672a9bd9c7c86e4d7473" + }, + "verify/traces/h-probes-human-t5.jsonl.gz": { + "mode": 420, + "sha256": "92964779111573dc72e6a1845217cd7d709c9900594a106b3de7b59c2b7a88a7" + }, + "verify/traces/h-probes-zuul-t24-25.jsonl.gz": { + "mode": 420, + "sha256": "0966294af27b49159b1e72e683abc0b59fd52cc9bfd9f517130d30cedf7efa29" + }, + "verify/traces/l3-probe-turn8-turn15.jsonl": { + "mode": 420, + "sha256": "d1b5436f917bb4f6f74bd7b1967dbd0626db2c3a5cbc1d67684ef9f010826676" + }, + "verify/traces/m1-compare.jsonl": { + "mode": 420, + "sha256": "f0f6fd15bc73008e43e20d6ed4c4dd91fb2ec8b40935bfd3cc000d8a84ea6731" + }, + "verify/traces/m1-trace-golden.jsonl": { + "mode": 420, + "sha256": "4a4ddc031fb26a8f8b10dace297c73670f53dcbd250a9be94c0e31c9bb44dcc5" + }, + "verify/traces/mf-after-compare.jsonl": { + "mode": 420, + "sha256": "2a894892977176df1a9d6c8199b0f81b48c7bcac15d2c0e7786441fc6125226e" + }, + "verify/traces/mf-before-compare.jsonl": { + "mode": 420, + "sha256": "ee005097ebaac9f30c63f1e400fdf19a47e88010c71d215885234986d122410e" + }, + "verify/traces/output-ref-turn2.jsonl.gz": { + "mode": 420, + "sha256": "7af583350545501414eda38439f2d0fa39149342d9001d2926e2a4e4fdd5cdca" + }, + "verify/traces/output-zuul-and-ref.jsonl.gz": { + "mode": 420, + "sha256": "d581cb50f07766911fa59fa1df1524b33a9df6eec06226966efd5f54f09b6fb5" + }, + "verify/traces/recap-b1-compare.jsonl.gz": { + "mode": 420, + "sha256": "0ce1c92028a8cd10a38d7cca72f90c37ccbd844f24a1950bf0eb6e75739b44e2" + }, + "verify/traces/recap-b3-compare.jsonl": { + "mode": 420, + "sha256": "6ed3bcd99b4657d614bf63cc0fc2dfff650f4cb14e51086ea98c21bccbcf5fa8" + }, + "verify/traces/recap-golden-trace.jsonl.gz": { + "mode": 420, + "sha256": "d62431e9461ffb1b66adc16a39542b86fa8e0cf54a0ed446a8781c4d75a6c3bb" + }, + "verify/traces/recap-misc-compare.jsonl": { + "mode": 420, + "sha256": "d7c4446d45a9cab2af3da4a0d76f7a42c245da1f59db96fddf31d8b1f2c436ed" + }, + "verify/traces/tailrng-drawsites.jsonl.gz": { + "mode": 420, + "sha256": "5c1806e2b1452226674013119e3b220f3cf42be2ad8b0ed998050ad65d1f8415" + }, + "verify/traces/tailrng-refturn2.jsonl.gz": { + "mode": 420, + "sha256": "c33c6cafe015bda6acf5ca32b0c9595e1611f4ac82ecd3adaff8315c7bd3e560" + }, + "verify/traces/tailrng-zuul-long.jsonl.gz": { + "mode": 420, + "sha256": "213e7dd8a6809dd93190f41c87218e802f1fbe77d44d598f287c2a19544063af" + }, + "verify/traces/tailrng-zuul-noderoute.jsonl.gz": { + "mode": 420, + "sha256": "9476ee3b9b397ca9e20bc92eb887c109a075487cdd750746af051797e8838115" + }, + "verify/traces/unlock-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "f6e27a60bf6c74eb98d8bec50146fe1996642285ca008c6a70c3cb148c6ba54c" + }, + "verify/traces/unlock-b3-t1.jsonl.gz": { + "mode": 420, + "sha256": "bfa53bba3e59d17dd330e38ef52fd04fd92f05f3ad357fefd77388d083b49a05" + }, + "verify/traces/unlock-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "d94c635105a75a68cb811a3881faf371678c075d240998f48fcf348b8459063f" + } + }, + "manifest_sha256": "b4db6808cc2b8aca33fa27eaab330d32811ce146d829a1bb9474a03f7ccdaeb4", + "path": "/tmp/opencode/sots-final-research-re" + } + }, + "started_at": "2026-09-10T04:48:01.596589+00:00", + "status": "complete", + "stderr": "campaign/runtime/runs/run-daefd1b77558f324ae730b27.stderr.log", + "worktrees": { + "engine": "/tmp/opencode/sots-final-research-engine", + "re": "/tmp/opencode/sots-final-research-re" + } +} diff --git a/campaign/runtime/runs/run-daefd1b77558f324ae730b27.jsonl b/campaign/runtime/runs/run-daefd1b77558f324ae730b27.jsonl new file mode 100644 index 0000000..1aa55bc --- /dev/null +++ b/campaign/runtime/runs/run-daefd1b77558f324ae730b27.jsonl @@ -0,0 +1,73 @@ +{"type":"step_start","timestamp":1789015691153,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a50f8c001FO0BwjWvnqL3b3","messageID":"msg_089a4f0dd001qjguisHv2PBIG7","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"0c03a22ec93a7dafa421e2dfd0741625689f31fa","type":"step-start"}} +{"type":"tool_use","timestamp":1789015691303,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_e7zSlRnWXr7DRBCWqdQHV7Kg","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/README.md"},"output":"/home/alex/sots-re/campaign/README.md\nfile\n\n1: # Canonical campaign controls\n2: \n3: `sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\n4: surprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\n5: projections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n6: \n7: Framework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\n8: see [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\n9: Active work is reverse engineering. Change tooling only to unblock a named RE experiment.\n10: \n11: ## Contract format\n12: \n13: `contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\n14: The standard-library validator implements the schema's used subset. A populated example is\n15: [contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n16: \n17: Required fields:\n18: \n19: | Field | Structure |\n20: |---|---|\n21: | `id`, `title`, `status` | Slug, short title, lifecycle state |\n22: | `owner` | `{ \"name\": \"worker-identity\", \"role\": \"implementer\" }` |\n23: | `baseline` | `{ \"engine\": {\"path\":\"/absolute/canonical/engine\",\"commit\":\"full-commit-id\"}, \"re\": {\"path\":\"/absolute/canonical/re\",\"commit\":\"full-commit-id\"} }` |\n24: | `scope`, `inputs`, `effects` | Arrays of explicit nonempty strings; include full write set and runtime inputs |\n25: | `original_dependencies` | String array, including original-assisted portions and unavailable inputs |\n26: | `dependencies` | Array of other contract IDs; all must be accepted before ready/implementing |\n27: | `acceptance` | Array of `{ \"id\": \"unique-criterion\", \"axis\": \"validation-scope\", \"criterion\": \"executable requirement\" }` |\n28: | `predictions`, `stop_conditions` | String arrays of predictions and conditions that halt work |\n29: | `checkpoint` | `null` or `campaign/runtime/checkpoints/.json` |\n30: \n31: Optional `evidence` is an array of\n32: `{id,axis,path,sha256,source,integrated,source_binding,binaries,inputs,outcomes}`.\n33: `path` is an existing canonical RE-relative artifact; `sha256` hashes its actual bytes; `source`\n34: equals the contract's complete baseline object. Store understanding,\n35: implementation, original dependencies, and validation scope as separate acceptance/evidence axes.\n36: There is no generic `verified` scalar. Baseline commit IDs describe starting repositories;\n37: dirty source identity is machine-bound by `source_binding`, never inferred from those commits.\n38: Criteria need distinct states, branch exposure, positive execution, complete writes/elements,\n39: allocations/IDs/events/RNG/runtime inputs, synthetic and original-game differentials as applicable.\n40: The CLI checks package identity and declared axes; the independent reviewer evaluates the actual\n41: criteria, gate outcomes, full manifests and integrated reproduction. A passing measurement alone\n42: does not establish acceptance.\n43: \n44: ### Source-bound evidence interface (R4)\n45: \n46: `source_binding` is `{engine:{path,commit,sha256},re:{path,commit,sha256}}`. Generate it with:\n47: \n48: ```sh\n49: python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-replacement --engine-worktree /absolute/candidate-engine --re-worktree /absolute/candidate-re\n50: ```\n51: \n52: Omit both worktree arguments to bind the canonical integrated trees. Paths must be Git worktree\n53: roots in the respective baseline repositories. `commit` is the actual current HEAD; `sha256`\n54: is the deterministic digest of the actual file manifest, including dirty/untracked nonignored\n55: files, deleted tracked paths (`null`), file bytes and Unix modes. Symlinks/submodules fail closed.\n56: The fixed manifest policy uses `git ls-files --cached --others --exclude-standard`; ignored\n57: untracked build/output files are not source. Python cache directories are excluded. In RE only,\n58: `verify/results/` and `campaign/` are excluded **except** `campaign/models.json`,\n59: `campaign/contract.schema.json`, and `campaign/agents/**`. These exclusions prevent mutable\n60: contracts/checkpoints/evidence/projections from hashing themselves. Relevant RE tools, tests,\n61: generated facts and guides remain bound. Any consumed item outside that source inventory must\n62: appear among immutable input/binary artifacts. The independent reviewer checks inventory adequacy.\n63: \n64: `binaries` and `inputs` are nonempty arrays of `{path,sha256}` artifact references; for tooling\n65: contracts, bind the executable scripts/interpreter identity package and fixture input package.\n66: `outcomes` exactly covers the acceptance criterion IDs for that evidence axis, with entries\n67: `{criterion,status,artifact:{path,sha256}}`; promotion requires `status: \"pass\"`. Outcome artifacts\n68: contain positive execution, branch/state exposures, reproduction recipe and required effect/input\n69: accounting. The CLI checks identities, hashes and declared outcomes, **not arbitrary criterion\n70: semantics**. The independent verifier must reproduce and challenge those claims.\n71: \n72: For example, an outcome for the bootstrap contract is:\n73: \n74: ```json\n75: {\"criterion\":\"controls-negative-paths\",\"status\":\"pass\",\"artifact\":{\"path\":\"verify/results/controls/result.json\",\"sha256\":\"\"}}\n76: ```\n77: \n78: Capture bindings when producing evidence; do not attach a fresh source hash to old measurements.\n79: Every evidence/verdict/promotion check rehashes referenced sources and artifacts. Same-HEAD byte\n80: changes reject old evidence and verdicts. Integrated records require canonical paths, lead in\n81: integration state, and one identical binding across **all** final integrated evidence. A lead's\n82: `integrated` boolean cannot substitute for this check. Verdicts bind the full evidence array and\n83: the source-binding array; old verdicts lacking these identities must be reproduced.\n84: \n85: This contract wrapper is separate from gate measurement schema **`sots-gate/1`**, whose `source`\n86: still has `engine`/`re`. Reference its immutable manifest/binary/input package; do not rename its\n87: fields to match contract `source`. Reporter output is measured evidence, with `--require-match`\n88: for required equality, and gains acceptance only through independent contract/integration gates.\n89: \n90: ## State and transactions\n91: \n92: Every command requires `--state-root /absolute/canonical/sots-re` (the repository, not `campaign/`).\n93: No sibling inference. Control records stay below canonical `campaign/runtime/`; contracts remain\n94: in `campaign/contracts/`. Immutable hashed artifacts may be referenced anywhere inside canonical\n95: RE, including existing `verify/` corpora, without copying them. Absolute/traversing artifact paths,\n96: outside symlinks, Git internals and named secret/private-key locations are rejected; aliases are\n97: checked after resolution too. Never reference secrets or commit owner-supplied binaries/assets.\n98: JSON writes are atomic and fsynced; a canonical `flock` serializes\n99: CLI mutations, WIP decisions, and resource acquisition. Do not hand-edit active state concurrently\n100: with commands. Interrupted multi-file operations retain blocking records and require inspection.\n101: \n102: Runtime APIs (JSON files; no server):\n103: \n104: - `runtime/checkpoints/*.json`: `sots-checkpoint/1`, contract, actor/role/model/session, timestamp,\n105: contract `basis` digest, bounded summary (6000 characters), up to 32 `{path,sha256}` artifacts,\n106: and one `next_action` (2000 characters). Include observations versus decisions, source identities,\n107: tests, blockers, resources/access/cleanup, exact next action in the summary/artifacts.\n108: Do not attach the checkpoint's own contract as an artifact: saving the pointer changes that\n109: file. Its task metadata is already covered by `basis`; the CLI rejects this self-reference.\n110: - `runtime/surprises/*.json`: `sots-surprise/1`, id, contract, `status: open|resolved`, summary,\n111: discriminating probe, actor/model/session provenance where applicable, optional decision ID.\n112: - `runtime/decisions/*.json`: `sots-decision/1`, Astra resolution, explanation/probe, invalidated\n113: evidence and checkpoint; prior verdict is marked invalidated. Resolution returns needs-revision\n114: only when all surprises are closed. Re-probe and rebuild evidence; resolution is not acceptance.\n115: - `runtime/verdicts/.json`: independent verifier actor/session/model, pass/fail,\n116: explanation, contract basis, complete evidence digest and source-bindings digest.\n117: - `runtime/transitions/*.json`: actor/model, previous/next lifecycle state, timestamp.\n118: - `runtime/leases/.json`: owner, random token, held/released, acquisition/release provenance.\n119: - `runtime/runs/run-*.json`, `.jsonl`, `.stderr.log`: requested model/config, command, worktree\n120: manifests before/after, expanded prompt hash, effective configuration hashes, canonical config\n121: file hashes, actual events/session/model when emitted, completion/checkpoint status. Effective\n122: provider config is hashed rather than persisted because it can contain credentials.\n123: `active-.json` reserves the contract. Interrupted running reservations never auto-expire.\n124: \n125: Lifecycle: `proposed -> ready -> implementing -> verification -> integration -> accepted`.\n126: Blocked and needs-revision edges support repairs; no skipping stages. Ready requires scope,\n127: inputs, acceptance, stop conditions, valid pinned baseline and accepted dependencies. Implementing\n128: is atomically capped at two concurrent contracts; lead schedules only one pilot before enabling\n129: two independent slices. Verification requires fresh checkpoint/artifacts after implementation start.\n130: Integration requires lead plus independent passing verifier bound to current source/evidence.\n131: Accepted requires every declared axis in integrated evidence, passing independent verdict over\n132: that final package, and no open surprises. Adding integrated evidence changes the evidence digest:\n133: the verifier must attest the integrated package again. Handoff/promotion/end checkpoints must be\n134: within 15 minutes; recovery start has no age limit.\n135: \n136: Role/model registry: lead/architecture-review/analyst/implementer/verifier/lab =\n137: `openai/gpt-5.6-sol`; resolver = `openai/gpt-6-astra`.\n138: CLI identity fields are **claims, not authenticated model authority**. The runner requests the\n139: registry model explicitly and records emitted provenance. Editable JSON, agent permissions and\n140: shell-accessible tooling are not a security boundary. No silent routing fallback.\n141: \n142: ## Commands\n143: \n144: Run from either repository using the canonical tool path when necessary. Examples:\n145: \n146: ```sh\n147: python3 tools/campaign.py --state-root /home/alex/sots-re validate\n148: python3 tools/campaign.py --state-root /home/alex/sots-re list\n149: python3 tools/campaign.py --state-root /home/alex/sots-re status research-replacement\n150: python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint controls-bootstrap --actor controls-architect --role architecture-review --model openai/gpt-6-astra --session rollout-controls --summary 'Source identities, observations, decisions, tests and blockers are in the attached checkpoint.' --artifact campaign/rollout/controls-worker-state.md --next-action 'Run the independent controls review.'\n151: python3 tools/campaign.py --state-root /home/alex/sots-re transition controls-bootstrap ready --actor controls-architect --role architecture-review --model openai/gpt-6-astra\n152: ```\n153: \n154: `surprise CONTRACT --summary TEXT --probe TEXT` blocks immediately. `resolve SURPRISE_ID\n155: --explanation TEXT --probe TEXT` requires claimed Astra lead/resolver. Both also require\n156: `--actor NAME --role ROLE --model MODEL`. `evidence CONTRACT --record campaign/path.json`\n157: uses the same identity flags; record format is the evidence object above. Integrated records\n158: require lead and integration state. `verdict CONTRACT --session SESSION --verdict pass|fail\n159: --explanation TEXT` requires verifier identity flags and independent actor/session.\n160: \n161: ```sh\n162: python3 tools/campaign.py --state-root /home/alex/sots-re lease acquire windows-vm --actor lab-one --role lab --model openai/gpt-5.5\n163: python3 tools/campaign.py --state-root /home/alex/sots-re lease show windows-vm\n164: python3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lab-one --role lab --model openai/gpt-5.5 --token TOKEN_FROM_ACQUIRE\n165: python3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lead --role lead --model openai/gpt-6-astra --lead-release --reason 'Confirmed prior operator stopped; access and cleanup checked.'\n166: ```\n167: \n168: No stale lease stealing. Explicit lead release requires an explanation and lab preconditions,\n169: side effects, cleanup, and access verification in the operator checkpoint. Treat lease tokens\n170: as local owner capabilities, not secrets to put in a board/dashboard.\n171: \n172: ## Fresh bounded launches\n173: \n174: Prepare **two actual linked worktrees**, each distinct from its canonical source repository,\n175: at the contract's full baseline commit. No auto commits/worktree creation. Launch uses explicit\n176: canonical `OPENCODE_CONFIG`, checks matching repo-local agent/model/40 steps, and sets the final\n177: environment overlay to bind requested role/model/steps. Other inherited config overrides are\n178: cleared. `opencode models` must list the exact requested model even for dry runs.\n179: \n180: ```sh\n181: python3 tools/run_agent.py --state-root /home/alex/sots-re --role implementer --actor worker-one --contract slice-one --engine-worktree /home/alex/worktrees/slice-one-engine --re-worktree /home/alex/worktrees/slice-one-re --cwd engine --dry-run\n182: ```\n183: \n184: Remove `--dry-run` to execute. Normal worker launch requires a valid durable checkpoint, matching\n185: owner/role/status, no open surprises, baseline HEADs and canonical Git common-directory identity.\n186: Recovery checks checkpoint identity/basis and artifact hashes regardless of age, rechecks any\n187: source-bound evidence, and validates paired Git worktree/baseline identity. Missing ordinary-worker\n188: state still blocks. Bootstrap lead/architecture-review can start without a checkpoint; they still\n189: need paired worktrees. Astra lead/resolver may launch a blocked contract with open surprises and\n190: without a worker checkpoint in **resolution-only** scope: read evidence and write decisions/state,\n191: no implementation. Its prompt and permission overlay carry that limit, and worktree source changes\n192: fail completion. Ordinary affected workers stay blocked. Other Astra architecture actors receive\n193: explicit architecture authority within their owned scope. Each run is a fresh\n194: `opencode run --format json --model ... --agent ...`; no resume/continue option is used. The prompt\n195: supplies the run ID to use as checkpoint `--session`; actual OpenCode session IDs are captured\n196: separately when emitted. On exit, a checkpoint after start matching actor/role/model/run ID is\n197: mandatory or the run is marked incomplete. Completion additionally requires a zero exit, no\n198: `type:error`, a successful `step_finish` with `part.reason: \"stop\"`, one nonempty actual session ID,\n199: and consistent explicitly emitted model IDs. Text/tool-call/length events alone cannot complete a\n200: run. Missing model emission is recorded `observed_model_status: \"unavailable\"`, never invented.\n201: \n202: The runner checks the exact Git baseline again under reservation lock, rejects intervening contract\n203: changes, and checks canonical model/prompt/config files and effective configuration for drift at\n204: completion. Expanded role prompt/model/steps are frozen in the last-layer environment overlay.\n205: `opencode debug config` runs in the actual launch cwd with the actual environment before execution\n206: and again at completion. Permissions explicitly allow read/search, ordinary worker shell commands,\n207: and external-directory access to the assigned paired trees plus canonical RE; role-specific edit\n208: denies survive. Task delegation and interactive questions are denied. No `--auto` is required.\n209: Noninteractive command/environment tests and a live loader check cover this overlay; an actual\n210: normal worker launch smoke is a separate lead integration check. Permissions and before/after\n211: checks are operational guards, not a sandbox or continuous filesystem audit.\n212: Compaction is a backstop; no token threshold or machine-enforced 20-tool-call claim.\n213: \n214: ## Local verification\n215: \n216: ```sh\n217: python3 -m unittest discover -s verify/campaign -p 'test_*.py' -v\n218: python3 tools/campaign.py --state-root /home/alex/sots-re validate\n219: ```\n220: \n221: Tests create commits only in disposable fixture repositories, linked worktrees and fake OpenCode processes; they do\n222: not launch agents or touch the lab. Historical rollout artifacts retain the scope and source identity\n223: of their runs; consult the accepted contract and current evidence, not an old handoff's status prose.\n\n(End of file - total 223 lines)\n","metadata":{"preview":"# Canonical campaign controls\n\n`sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\nsurprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\nprojections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n\nFramework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\nsee [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\nActive work is reverse engineering. Change tooling only to unblock a named RE experiment.\n\n## Contract format\n\n`contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\nThe standard-library validator implements the schema's used subset. A populated example is\n[contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n\nRequired fields:\n\n| Field | Structure |\n|---|---|","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/README.md","text":"# Canonical campaign controls\n\n`sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\nsurprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\nprojections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n\nFramework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\nsee [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\nActive work is reverse engineering. Change tooling only to unblock a named RE experiment.\n\n## Contract format\n\n`contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\nThe standard-library validator implements the schema's used subset. A populated example is\n[contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n\nRequired fields:\n\n| Field | Structure |\n|---|---|\n| `id`, `title`, `status` | Slug, short title, lifecycle state |\n| `owner` | `{ \"name\": \"worker-identity\", \"role\": \"implementer\" }` |\n| `baseline` | `{ \"engine\": {\"path\":\"/absolute/canonical/engine\",\"commit\":\"full-commit-id\"}, \"re\": {\"path\":\"/absolute/canonical/re\",\"commit\":\"full-commit-id\"} }` |\n| `scope`, `inputs`, `effects` | Arrays of explicit nonempty strings; include full write set and runtime inputs |\n| `original_dependencies` | String array, including original-assisted portions and unavailable inputs |\n| `dependencies` | Array of other contract IDs; all must be accepted before ready/implementing |\n| `acceptance` | Array of `{ \"id\": \"unique-criterion\", \"axis\": \"validation-scope\", \"criterion\": \"executable requirement\" }` |\n| `predictions`, `stop_conditions` | String arrays of predictions and conditions that halt work |\n| `checkpoint` | `null` or `campaign/runtime/checkpoints/.json` |\n\nOptional `evidence` is an array of\n`{id,axis,path,sha256,source,integrated,source_binding,binaries,inputs,outcomes}`.\n`path` is an existing canonical RE-relative artifact; `sha256` hashes its actual bytes; `source`\nequals the contract's complete baseline object. Store understanding,\nimplementation, original dependencies, and validation scope as separate acceptance/evidence axes.\nThere is no generic `verified` scalar. Baseline commit IDs describe starting repositories;\ndirty source identity is machine-bound by `source_binding`, never inferred from those commits.\nCriteria need distinct states, branch exposure, positive execution, complete writes/elements,\nallocations/IDs/events/RNG/runtime inputs, synthetic and original-game differentials as applicable.\nThe CLI checks package identity and declared axes; the independent reviewer evaluates the actual\ncriteria, gate outcomes, full manifests and integrated reproduction. A passing measurement alone\ndoes not establish acceptance.\n\n### Source-bound evidence interface (R4)\n\n`source_binding` is `{engine:{path,commit,sha256},re:{path,commit,sha256}}`. Generate it with:\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-replacement --engine-worktree /absolute/candidate-engine --re-worktree /absolute/candidate-re\n```\n\nOmit both worktree arguments to bind the canonical integrated trees. Paths must be Git worktree\nroots in the respective baseline repositories. `commit` is the actual current HEAD; `sha256`\nis the deterministic digest of the actual file manifest, including dirty/untracked nonignored\nfiles, deleted tracked paths (`null`), file bytes and Unix modes. Symlinks/submodules fail closed.\nThe fixed manifest policy uses `git ls-files --cached --others --exclude-standard`; ignored\nuntracked build/output files are not source. Python cache directories are excluded. In RE only,\n`verify/results/` and `campaign/` are excluded **except** `campaign/models.json`,\n`campaign/contract.schema.json`, and `campaign/agents/**`. These exclusions prevent mutable\ncontracts/checkpoints/evidence/projections from hashing themselves. Relevant RE tools, tests,\ngenerated facts and guides remain bound. Any consumed item outside that source inventory must\nappear among immutable input/binary artifacts. The independent reviewer checks inventory adequacy.\n\n`binaries` and `inputs` are nonempty arrays of `{path,sha256}` artifact references; for tooling\ncontracts, bind the executable scripts/interpreter identity package and fixture input package.\n`outcomes` exactly covers the acceptance criterion IDs for that evidence axis, with entries\n`{criterion,status,artifact:{path,sha256}}`; promotion requires `status: \"pass\"`. Outcome artifacts\ncontain positive execution, branch/state exposures, reproduction recipe and required effect/input\naccounting. The CLI checks identities, hashes and declared outcomes, **not arbitrary criterion\nsemantics**. The independent verifier must reproduce and challenge those claims.\n\nFor example, an outcome for the bootstrap contract is:\n\n```json\n{\"criterion\":\"controls-negative-paths\",\"status\":\"pass\",\"artifact\":{\"path\":\"verify/results/controls/result.json\",\"sha256\":\"\"}}\n```\n\nCapture bindings when producing evidence; do not attach a fresh source hash to old measurements.\nEvery evidence/verdict/promotion check rehashes referenced sources and artifacts. Same-HEAD byte\nchanges reject old evidence and verdicts. Integrated records require canonical paths, lead in\nintegration state, and one identical binding across **all** final integrated evidence. A lead's\n`integrated` boolean cannot substitute for this check. Verdicts bind the full evidence array and\nthe source-binding array; old verdicts lacking these identities must be reproduced.\n\nThis contract wrapper is separate from gate measurement schema **`sots-gate/1`**, whose `source`\nstill has `engine`/`re`. Reference its immutable manifest/binary/input package; do not rename its\nfields to match contract `source`. Reporter output is measured evidence, with `--require-match`\nfor required equality, and gains acceptance only through independent contract/integration gates.\n\n## State and transactions\n\nEvery command requires `--state-root /absolute/canonical/sots-re` (the repository, not `campaign/`).\nNo sibling inference. Control records stay below canonical `campaign/runtime/`; contracts remain\nin `campaign/contracts/`. Immutable hashed artifacts may be referenced anywhere inside canonical\nRE, including existing `verify/` corpora, without copying them. Absolute/traversing artifact paths,\noutside symlinks, Git internals and named secret/private-key locations are rejected; aliases are\nchecked after resolution too. Never reference secrets or commit owner-supplied binaries/assets.\nJSON writes are atomic and fsynced; a canonical `flock` serializes\nCLI mutations, WIP decisions, and resource acquisition. Do not hand-edit active state concurrently\nwith commands. Interrupted multi-file operations retain blocking records and require inspection.\n\nRuntime APIs (JSON files; no server):\n\n- `runtime/checkpoints/*.json`: `sots-checkpoint/1`, contract, actor/role/model/session, timestamp,\n contract `basis` digest, bounded summary (6000 characters), up to 32 `{path,sha256}` artifacts,\n and one `next_action` (2000 characters). Include observations versus decisions, source identities,\n tests, blockers, resources/access/cleanup, exact next action in the summary/artifacts.\n Do not attach the checkpoint's own contract as an artifact: saving the pointer changes that\n file. Its task metadata is already covered by `basis`; the CLI rejects this self-reference.\n- `runtime/surprises/*.json`: `sots-surprise/1`, id, contract, `status: open|resolved`, summary,\n discriminating probe, actor/model/session provenance where applicable, optional decision ID.\n- `runtime/decisions/*.json`: `sots-decision/1`, Astra resolution, explanation/probe, invalidated\n evidence and checkpoint; prior verdict is marked invalidated. Resolution returns needs-revision\n only when all surprises are closed. Re-probe and rebuild evidence; resolution is not acceptance.\n- `runtime/verdicts/.json`: independent verifier actor/session/model, pass/fail,\n explanation, contract basis, complete evidence digest and source-bindings digest.\n- `runtime/transitions/*.json`: actor/model, previous/next lifecycle state, timestamp.\n- `runtime/leases/.json`: owner, random token, held/released, acquisition/release provenance.\n- `runtime/runs/run-*.json`, `.jsonl`, `.stderr.log`: requested model/config, command, worktree\n manifests before/after, expanded prompt hash, effective configuration hashes, canonical config\n file hashes, actual events/session/model when emitted, completion/checkpoint status. Effective\n provider config is hashed rather than persisted because it can contain credentials.\n `active-.json` reserves the contract. Interrupted running reservations never auto-expire.\n\nLifecycle: `proposed -> ready -> implementing -> verification -> integration -> accepted`.\nBlocked and needs-revision edges support repairs; no skipping stages. Ready requires scope,\ninputs, acceptance, stop conditions, valid pinned baseline and accepted dependencies. Implementing\nis atomically capped at two concurrent contracts; lead schedules only one pilot before enabling\ntwo independent slices. Verification requires fresh checkpoint/artifacts after implementation start.\nIntegration requires lead plus independent passing verifier bound to current source/evidence.\nAccepted requires every declared axis in integrated evidence, passing independent verdict over\nthat final package, and no open surprises. Adding integrated evidence changes the evidence digest:\nthe verifier must attest the integrated package again. Handoff/promotion/end checkpoints must be\nwithin 15 minutes; recovery start has no age limit.\n\nRole/model registry: lead/architecture-review/analyst/implementer/verifier/lab =\n`openai/gpt-5.6-sol`; resolver = `openai/gpt-6-astra`.\nCLI identity fields are **claims, not authenticated model authority**. The runner requests the\nregistry model explicitly and records emitted provenance. Editable JSON, agent permissions and\nshell-accessible tooling are not a security boundary. No silent routing fallback.\n\n## Commands\n\nRun from either repository using the canonical tool path when necessary. Examples:\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re validate\npython3 tools/campaign.py --state-root /home/alex/sots-re list\npython3 tools/campaign.py --state-root /home/alex/sots-re status research-replacement\npython3 tools/campaign.py --state-root /home/alex/sots-re checkpoint controls-bootstrap --actor controls-architect --role architecture-review --model openai/gpt-6-astra --session rollout-controls --summary 'Source identities, observations, decisions, tests and blockers are in the attached checkpoint.' --artifact campaign/rollout/controls-worker-state.md --next-action 'Run the independent controls review.'\npython3 tools/campaign.py --state-root /home/alex/sots-re transition controls-bootstrap ready --actor controls-architect --role architecture-review --model openai/gpt-6-astra\n```\n\n`surprise CONTRACT --summary TEXT --probe TEXT` blocks immediately. `resolve SURPRISE_ID\n--explanation TEXT --probe TEXT` requires claimed Astra lead/resolver. Both also require\n`--actor NAME --role ROLE --model MODEL`. `evidence CONTRACT --record campaign/path.json`\nuses the same identity flags; record format is the evidence object above. Integrated records\nrequire lead and integration state. `verdict CONTRACT --session SESSION --verdict pass|fail\n--explanation TEXT` requires verifier identity flags and independent actor/session.\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re lease acquire windows-vm --actor lab-one --role lab --model openai/gpt-5.5\npython3 tools/campaign.py --state-root /home/alex/sots-re lease show windows-vm\npython3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lab-one --role lab --model openai/gpt-5.5 --token TOKEN_FROM_ACQUIRE\npython3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lead --role lead --model openai/gpt-6-astra --lead-release --reason 'Confirmed prior operator stopped; access and cleanup checked.'\n```\n\nNo stale lease stealing. Explicit lead release requires an explanation and lab preconditions,\nside effects, cleanup, and access verification in the operator checkpoint. Treat lease tokens\nas local owner capabilities, not secrets to put in a board/dashboard.\n\n## Fresh bounded launches\n\nPrepare **two actual linked worktrees**, each distinct from its canonical source repository,\nat the contract's full baseline commit. No auto commits/worktree creation. Launch uses explicit\ncanonical `OPENCODE_CONFIG`, checks matching repo-local agent/model/40 steps, and sets the final\nenvironment overlay to bind requested role/model/steps. Other inherited config overrides are\ncleared. `opencode models` must list the exact requested model even for dry runs.\n\n```sh\npython3 tools/run_agent.py --state-root /home/alex/sots-re --role implementer --actor worker-one --contract slice-one --engine-worktree /home/alex/worktrees/slice-one-engine --re-worktree /home/alex/worktrees/slice-one-re --cwd engine --dry-run\n```\n\nRemove `--dry-run` to execute. Normal worker launch requires a valid durable checkpoint, matching\nowner/role/status, no open surprises, baseline HEADs and canonical Git common-directory identity.\nRecovery checks checkpoint identity/basis and artifact hashes regardless of age, rechecks any\nsource-bound evidence, and validates paired Git worktree/baseline identity. Missing ordinary-worker\nstate still blocks. Bootstrap lead/architecture-review can start without a checkpoint; they still\nneed paired worktrees. Astra lead/resolver may launch a blocked contract with open surprises and\nwithout a worker checkpoint in **resolution-only** scope: read evidence and write decisions/state,\nno implementation. Its prompt and permission overlay carry that limit, and worktree source changes\nfail completion. Ordinary affected workers stay blocked. Other Astra architecture actors receive\nexplicit architecture authority within their owned scope. Each run is a fresh\n`opencode run --format json --model ... --agent ...`; no resume/continue option is used. The prompt\nsupplies the run ID to use as checkpoint `--session`; actual OpenCode session IDs are captured\nseparately when emitted. On exit, a checkpoint after start matching actor/role/model/run ID is\nmandatory or the run is marked incomplete. Completion additionally requires a zero exit, no\n`type:error`, a successful `step_finish` with `part.reason: \"stop\"`, one nonempty actual session ID,\nand consistent explicitly emitted model IDs. Text/tool-call/length events alone cannot complete a\nrun. Missing model emission is recorded `observed_model_status: \"unavailable\"`, never invented.\n\nThe runner checks the exact Git baseline again under reservation lock, rejects intervening contract\nchanges, and checks canonical model/prompt/config files and effective configuration for drift at\ncompletion. Expanded role prompt/model/steps are frozen in the last-layer environment overlay.\n`opencode debug config` runs in the actual launch cwd with the actual environment before execution\nand again at completion. Permissions explicitly allow read/search, ordinary worker shell commands,\nand external-directory access to the assigned paired trees plus canonical RE; role-specific edit\ndenies survive. Task delegation and interactive questions are denied. No `--auto` is required.\nNoninteractive command/environment tests and a live loader check cover this overlay; an actual\nnormal worker launch smoke is a separate lead integration check. Permissions and before/after\nchecks are operational guards, not a sandbox or continuous filesystem audit.\nCompaction is a backstop; no token threshold or machine-enforced 20-tool-call claim.\n\n## Local verification\n\n```sh\npython3 -m unittest discover -s verify/campaign -p 'test_*.py' -v\npython3 tools/campaign.py --state-root /home/alex/sots-re validate\n```\n\nTests create commits only in disposable fixture repositories, linked worktrees and fake OpenCode processes; they do\nnot launch agents or touch the lab. Historical rollout artifacts retain the scope and source identity\nof their runs; consult the accepted contract and current evidence, not an old handoff's status prose.","lineStart":1,"lineEnd":223,"totalLines":223,"truncated":false}},"title":"campaign/README.md","time":{"start":1789015691286,"end":1789015691300}},"metadata":{"openai":{"itemId":"fc_0de7027aa70fe078016aa2368b131487d1ad04ac738bf4243e"}},"id":"prt_089a50f8f00180EB2AMHFl6muq","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a4f0dd001qjguisHv2PBIG7"}} +{"type":"tool_use","timestamp":1789015691355,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_J3M1la4n8H82DeWEgcrzdFK6","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json"},"output":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json\nfile\n\n1: {\n2: \"acceptance\": [\n3: {\n4: \"axis\": \"static-recovery\",\n5: \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n6: \"id\": \"ownership-recovered\"\n7: },\n8: {\n9: \"axis\": \"validation\",\n10: \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n11: \"id\": \"independent-cross-check\"\n12: }\n13: ],\n14: \"baseline\": {\n15: \"engine\": {\n16: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n17: \"path\": \"/home/alex/sots-engine\"\n18: },\n19: \"re\": {\n20: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n21: \"path\": \"/home/alex/sots-re\"\n22: }\n23: },\n24: \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\",\n25: \"dependencies\": [\n26: \"controls-bootstrap\"\n27: ],\n28: \"effects\": [\n29: \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n30: ],\n31: \"evidence\": [],\n32: \"id\": \"research-completion-abi\",\n33: \"inputs\": [\n34: \"Existing binary fingerprint/address contract and private RE findings\",\n35: \"Owner-supplied binary or live read-only ReVa endpoint\",\n36: \"Archived CR traces/saves for observed behavior\",\n37: \"Source-identical current engine/RE worktree snapshots\"\n38: ],\n39: \"original_dependencies\": [\n40: \"Original binary is the object of analysis, not a replacement dependency decision\"\n41: ],\n42: \"owner\": {\n43: \"name\": \"research-abi-analyst\",\n44: \"role\": \"analyst\"\n45: },\n46: \"predictions\": [\n47: \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n48: \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n49: ],\n50: \"scope\": [\n51: \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n52: \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n53: \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n54: \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n55: \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n56: ],\n57: \"status\": \"blocked\",\n58: \"stop_conditions\": [\n59: \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n60: \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n61: \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n62: ],\n63: \"title\": \"RE: research completion record construction and allocator ABI\"\n64: }\n\n(End of file - total 64 lines)\n","metadata":{"preview":"{\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json","text":"{\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"blocked\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n}","lineStart":1,"lineEnd":64,"totalLines":64,"truncated":false}},"title":"campaign/contracts/research-completion-abi.json","time":{"start":1789015691338,"end":1789015691352}},"metadata":{"openai":{"itemId":"fc_0de7027aa70fe078016aa2368b132487d19e14f6e158d35b6f"}},"id":"prt_089a5101a001DUL7wPPRu5RKkO","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a4f0dd001qjguisHv2PBIG7"}} +{"type":"tool_use","timestamp":1789015691409,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_06T3omEScthlKq7WkROvZHnL","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/AGENTS.md"},"output":"/home/alex/sots-re/AGENTS.md\nfile\n\n1: # SOTS campaign instructions\n2: \n3: This repository is the state authority for the SOTS reconstruction and its Windows lab.\n4: Start with `campaign/README.md`, your contract, its latest checkpoint, and open surprises.\n5: Current policy: `guides/multi-agent-workflow.md`. Engine architecture: `sots-engine/docs/architecture.md`.\n6: Historical findings are evidence, not current execution instructions or accepted status.\n7: \n8: ## Authority and models\n9: \n10: - The normal lead/RE/implementation/verification/lab loop runs on **GPT-5.6 Sol\n11: (`openai/gpt-5.6-sol`)**. Reserve **GPT-6 Astra (`openai/gpt-6-astra`)** for resolving\n12: falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.\n13: - `campaign/models.json` is the role/model registry. Launch with `tools/run_agent.py` and an\n14: explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.\n15: - Ordinary implementation/test failures inside the contract may be fixed by its worker.\n16: Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope\n17: require a recorded surprise and an Astra resolution before affected work continues.\n18: - No worker subdelegation. The lead assigns parallelism; max two implementation slices after\n19: the pilot. Independent workload preparation is scheduled against explicit resource leases.\n20: \n21: ## Durable state and context\n22: \n23: Checkpoint in the canonical RE state root every **20 tool calls or 15 minutes**, whichever is\n24: earlier, and before an experiment, compaction, handoff, or stop. Include model/session, exact\n25: source identities, evidence paths, decisions versus observations, tests, blockers, and ONE exact\n26: next action. Do not store state only in a chat summary or `/tmp`.\n27: The runner uses bounded 40-step quanta. After checkpointing, stop and restart from the repository;\n28: automatic compaction is a backstop, not proof that a checkpoint was written. On recovery read the\n29: contract/checkpoint, verify worktree and resource identities, then continue. Missing state means\n30: blocked, not permission to reconstruct progress from memory.\n31: \n32: ## Ownership\n33: \n34: Use distinct engine and RE worktrees per lane, baseline-pinned. Canonical runtime state is shared\n35: only through the campaign tools. One integrator writes current evidence pointers and projections.\n36: Never stage someone else's changes. No automatic commit, push, pull, or reset. Commands requiring\n37: these actions need explicit user authorization. Source edits use apply_patch.\n38: VM, shared build-host, and Ghidra mutation require leases. A stale lease is not automatically free.\n39: Record preconditions, side effects, cleanup and access verification for any lab operation.\n40: Rollout bootstrap file-ownership exception: `campaign/rollout/architecture-decision.md` only.\n41: \n42: ## Evidence\n43: \n44: No generic `verified` promotion. Separate understanding, implementation, original dependencies,\n45: and validation scope. A count is insufficient without distinct states, branch exposures, and\n46: positive execution evidence. Include all writes, container elements, allocations, IDs, events,\n47: RNG draws, and runtime-only inputs. Original-assisted execution is not independent replacement.\n48: Synthetic boundary tests and original-game differential tests are complementary. Missing required\n49: inputs, zero execution, incomplete coverage, unexpected skips, stale binaries or unbound source\n50: identity fail acceptance. One independent verifier must reproduce the package; integrated-tree\n51: evidence is required for acceptance. Reports are measurements until those gates pass.\n52: \n53: Never commit owner-supplied binaries/assets or secrets. Engine facts cross only documented\n54: generated channels. Never paste disassembly/decompiler output into the engine repository.\n\n(End of file - total 54 lines)\n","metadata":{"preview":"# SOTS campaign instructions\n\nThis repository is the state authority for the SOTS reconstruction and its Windows lab.\nStart with `campaign/README.md`, your contract, its latest checkpoint, and open surprises.\nCurrent policy: `guides/multi-agent-workflow.md`. Engine architecture: `sots-engine/docs/architecture.md`.\nHistorical findings are evidence, not current execution instructions or accepted status.\n\n## Authority and models\n\n- The normal lead/RE/implementation/verification/lab loop runs on **GPT-5.6 Sol\n (`openai/gpt-5.6-sol`)**. Reserve **GPT-6 Astra (`openai/gpt-6-astra`)** for resolving\n falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.\n- `campaign/models.json` is the role/model registry. Launch with `tools/run_agent.py` and an\n explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.\n- Ordinary implementation/test failures inside the contract may be fixed by its worker.\n Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope\n require a recorded surprise and an Astra resolution before affected work continues.\n- No worker subdelegation. The lead assigns parallelism; max two implementation slices after\n the pilot. Independent workload preparation is scheduled against explicit resource leases.\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/AGENTS.md","text":"# SOTS campaign instructions\n\nThis repository is the state authority for the SOTS reconstruction and its Windows lab.\nStart with `campaign/README.md`, your contract, its latest checkpoint, and open surprises.\nCurrent policy: `guides/multi-agent-workflow.md`. Engine architecture: `sots-engine/docs/architecture.md`.\nHistorical findings are evidence, not current execution instructions or accepted status.\n\n## Authority and models\n\n- The normal lead/RE/implementation/verification/lab loop runs on **GPT-5.6 Sol\n (`openai/gpt-5.6-sol`)**. Reserve **GPT-6 Astra (`openai/gpt-6-astra`)** for resolving\n falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.\n- `campaign/models.json` is the role/model registry. Launch with `tools/run_agent.py` and an\n explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.\n- Ordinary implementation/test failures inside the contract may be fixed by its worker.\n Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope\n require a recorded surprise and an Astra resolution before affected work continues.\n- No worker subdelegation. The lead assigns parallelism; max two implementation slices after\n the pilot. Independent workload preparation is scheduled against explicit resource leases.\n\n## Durable state and context\n\nCheckpoint in the canonical RE state root every **20 tool calls or 15 minutes**, whichever is\nearlier, and before an experiment, compaction, handoff, or stop. Include model/session, exact\nsource identities, evidence paths, decisions versus observations, tests, blockers, and ONE exact\nnext action. Do not store state only in a chat summary or `/tmp`.\nThe runner uses bounded 40-step quanta. After checkpointing, stop and restart from the repository;\nautomatic compaction is a backstop, not proof that a checkpoint was written. On recovery read the\ncontract/checkpoint, verify worktree and resource identities, then continue. Missing state means\nblocked, not permission to reconstruct progress from memory.\n\n## Ownership\n\nUse distinct engine and RE worktrees per lane, baseline-pinned. Canonical runtime state is shared\nonly through the campaign tools. One integrator writes current evidence pointers and projections.\nNever stage someone else's changes. No automatic commit, push, pull, or reset. Commands requiring\nthese actions need explicit user authorization. Source edits use apply_patch.\nVM, shared build-host, and Ghidra mutation require leases. A stale lease is not automatically free.\nRecord preconditions, side effects, cleanup and access verification for any lab operation.\nRollout bootstrap file-ownership exception: `campaign/rollout/architecture-decision.md` only.\n\n## Evidence\n\nNo generic `verified` promotion. Separate understanding, implementation, original dependencies,\nand validation scope. A count is insufficient without distinct states, branch exposures, and\npositive execution evidence. Include all writes, container elements, allocations, IDs, events,\nRNG draws, and runtime-only inputs. Original-assisted execution is not independent replacement.\nSynthetic boundary tests and original-game differential tests are complementary. Missing required\ninputs, zero execution, incomplete coverage, unexpected skips, stale binaries or unbound source\nidentity fail acceptance. One independent verifier must reproduce the package; integrated-tree\nevidence is required for acceptance. Reports are measurements until those gates pass.\n\nNever commit owner-supplied binaries/assets or secrets. Engine facts cross only documented\ngenerated channels. Never paste disassembly/decompiler output into the engine repository.","lineStart":1,"lineEnd":54,"totalLines":54,"truncated":false}},"title":"AGENTS.md","time":{"start":1789015691401,"end":1789015691407}},"metadata":{"openai":{"itemId":"fc_0de7027aa70fe078016aa2368b133487d1851e6d612c311087"}},"id":"prt_089a51084001QzgW98Ken1sLK1","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a4f0dd001qjguisHv2PBIG7"}} +{"type":"tool_use","timestamp":1789015691420,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_R2hTjdypnaWQ3Qe8qjqrp7Dl","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json"},"output":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-correction-verifier\",\n3: \"artifacts\": [\n4: {\n5: \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n6: \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n7: },\n8: {\n9: \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n10: \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n11: },\n12: {\n13: \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n14: \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n15: },\n16: {\n17: \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n18: \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n19: },\n20: {\n21: \"path\": \"campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json\",\n22: \"sha256\": \"8bdaf42989c5946491d63833d9fe4c2e79c3a3024b6176fdd538f0693cf1e3a8\"\n23: },\n24: {\n25: \"path\": \"campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json\",\n26: \"sha256\": \"6b2f182b492dc484642fe2e45f60d5dd02a0deda34f841b48473c380876ada94\"\n27: }\n28: ],\n29: \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n30: \"contract\": \"research-completion-abi\",\n31: \"id\": \"bbe83c0b7516313cc7cc27b2\",\n32: \"model\": \"openai/gpt-5.6-sol\",\n33: \"next_action\": \"Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.\",\n34: \"role\": \"verifier\",\n35: \"schema\": \"sots-checkpoint/1\",\n36: \"session\": \"run-5bd0e537bb0c4c4f43987ac1\",\n37: \"summary\": \"Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.\",\n38: \"timestamp\": \"2026-09-10T04:47:11.721030+00:00\"\n39: }\n\n(End of file - total 39 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n {","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json","text":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n {\n \"path\": \"campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json\",\n \"sha256\": \"8bdaf42989c5946491d63833d9fe4c2e79c3a3024b6176fdd538f0693cf1e3a8\"\n },\n {\n \"path\": \"campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json\",\n \"sha256\": \"6b2f182b492dc484642fe2e45f60d5dd02a0deda34f841b48473c380876ada94\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"bbe83c0b7516313cc7cc27b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Launch an authorized openai/gpt-6-astra resolver for research-completion-abi to resolve s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6 before any analyst or verifier capture resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-5bd0e537bb0c4c4f43987ac1\",\n \"summary\": \"Quantum stop checkpoint. Observations: source bindings and contract HEAD/common-repository identities matched the prior handoff; campaign validate passed; binary SHA256/size and dereferenced GNU objdump 2.38 SHA256/size matched. Reproduction command: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py from canonical RE. It exited 1 after 8 objdump subprocesses. All had return 0, nonempty stdout, empty stderr; all four exact streams byte-match analyst captures. Binary/tool checks and static ABI/order markers pass, including independently enumerated zero writes to [EBP-0x20] before 0x885413. Held-out +4 ablation failed 1/45 checks: nested-copy exact stop 0x779a20 truncates instruction at 0x779a1f to byte 74; widened output gives 74 10 and exposes that exact rows are not a prefix. The widened 0x779a24 boundary itself truncates a call at 0x779a23. Failed prediction is retained as failure, not success. The inherited helper also hard-codes stale prior session run-ee78b8773688ca09f8046e21 in its newly generated manifest, so that manifest is rejected as current-session evidence; raw streams remain measurements and current report records actual invocation. Decisions: opened s-4f4fb5e8ee42ccff7e68efb5 and s-d44b9f9e62272794d88bbed6; contract is now blocked and affected verification stopped. No verdict/evidence promotion. Scope achieved only partial independent static compare, not full compare, original-assisted/live compare, independent replacement, allocator safety, whole-state/RNG validation, or integrated replay. No lease/lab operations, implementation edits, staging, commits, pushes, or resource mutation. Blockers: both open surprises require Astra resolution and fresh provenance-complete capture.\",\n \"timestamp\": \"2026-09-10T04:47:11.721030+00:00\"\n}","lineStart":1,"lineEnd":39,"totalLines":39,"truncated":false}},"title":"campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json","time":{"start":1789015691393,"end":1789015691418}},"metadata":{"openai":{"itemId":"fc_0de7027aa70fe078016aa2368b133087d1aa470a950acbe81c"}},"id":"prt_089a51053001C6BWwd7z5oIdlL","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a4f0dd001qjguisHv2PBIG7"}} +{"type":"step_finish","timestamp":1789015691476,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a510cf001zOWreHurXM1Y0v","reason":"tool-calls","snapshot":"093169b8993992195c6f2035c228d32ec0649ab2","messageID":"msg_089a4f0dd001qjguisHv2PBIG7","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":5934,"input":5788,"output":146,"reasoning":0,"cache":{"write":0,"read":0}},"cost":0}} +{"type":"step_start","timestamp":1789015693298,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a517ed001JW8T1prQhDmomU","messageID":"msg_089a51101001UVLQwwiOgwoujU","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"30532186433b6d702fc7e00ee24bee9595a7c508","type":"step-start"}} +{"type":"text","timestamp":1789015702936,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a517f0001Ci9ExqMhlSfpt4","messageID":"msg_089a51101001UVLQwwiOgwoujU","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"text","text":"The checkpoint reports two instrument/provenance failures: an objdump stop boundary truncates an instruction, defeating the claimed prefix comparison, and the reproduction helper labels a new run with an old session ID. That observation comes from verifier checkpoint `bbe83c0b7516313cc7cc27b2`; I’ll inspect the raw evidence and identities before deciding which static ABI claims survive. Neither observation yet establishes a game-behavior defect.\n\n","time":{"start":1789015693296,"end":1789015702934},"metadata":{"openai":{"itemId":"msg_089cf2249ecae26f016aa2368d44a487d192fc97554ab16153","phase":"commentary"}}}} +{"type":"tool_use","timestamp":1789015703012,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_MCh5CUzmFqYX9blBVSQSerU2","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/guides/multi-agent-workflow.md"},"output":"/home/alex/sots-re/guides/multi-agent-workflow.md\nfile\n\n1: # Multi-agent operating architecture\n2: \n3: ## Product and milestone\n4: \n5: Reconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\n6: milestone is standalone replay given a captured command stream and complete declared runtime\n7: inputs. The first workflow pilot is the complete research write set. A passing host build is a\n8: component baseline, not a playable engine or independent replacement.\n9: \n10: ## Source of truth\n11: \n12: `campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\n13: leases and surprises, and evidence packages identify inputs, source and executable artifacts.\n14: `campaign/current.json` selects published evidence by path and digest. Board/dashboard are\n15: generated projections, never alternate writable authorities. Exact tool CLI/schema is documented\n16: in `campaign/README.md`. Historical findings retain their original experiment scope; they are\n17: not promoted by copying an old status into a new contract.\n18: \n19: ## Model authority\n20: \n21: | Responsibility | Model |\n22: |---|---|\n23: | Normal planning, architecture and integration loop | GPT-5.6 Sol |\n24: | Bounded RE analysis, implementation and independent verification | GPT-5.6 Sol |\n25: | Routine lab/workload operations | GPT-5.6 Sol |\n26: | Problem and surprise resolution | GPT-6 Astra |\n27: | Context compaction | GPT-5.5 |\n28: \n29: Exact provider IDs are in `campaign/models.json`. The lead escalates to Astra when a falsified\n30: assumption, conflict, instrument effect, or scope change blocks the loop. No fallback is automatic. Model names in editable JSON are\n31: provenance, not authentication: launcher events and independent review support the record.\n32: Permissions reduce accidental role drift; unrestricted local shell access is not a sandbox.\n33: \n34: ## Behavioral slice\n35: \n36: The lead specifies a bounded input domain, full observable write set, dependencies, acceptance\n37: workloads and stop conditions. The analyst recovers behavior; the verifier specifies discriminating\n38: tests before implementation; the implementer changes engine/adapters; the lab operator captures\n39: controls; the verifier reproduces; the integrator tests the combined source snapshot.\n40: \n41: Include transitive effects: allocations, IDs, container ELEMENTS, event text/records, RNG and\n42: nonserialized state. An address/function name is not a sufficient replacement boundary. If a\n43: neighbor function supplies required effects, extend the approved contract or expose it as an\n44: original dependency. Do not call the original and label the result independent.\n45: \n46: Lifecycle is `proposed → ready → implementing → verification → integration → accepted`, with\n47: blocked/revision states. Lifecycle is distinct from evidence strength. Acceptance is scoped to\n48: the manifest's exact procedure and workloads, never universal correctness.\n49: \n50: ## Independence\n51: \n52: Verifier and implementer are different executions. Verification starts with the contract, raw\n53: evidence and reproduction recipe, not just the author's conclusion. Require one meaningful\n54: challenge: held-out state, boundary, negative control, ablation, or independent state accounting.\n55: Both synthetic tests and original-game experiments matter. Repeat-call volume cannot replace\n56: branch and distinct-state coverage. Null effects and zero executions must be distinguishable.\n57: \n58: ## Sessions and recovery\n59: \n60: At most two implementation slices after a single-slice pilot. No nested worker delegation.\n61: Paired worktrees isolate source changes; unique build directories isolate artifacts. Canonical\n62: RE runtime state remains explicit even when a worker runs in `/tmp` worktrees.\n63: \n64: Checkpoint every 20 calls or 15min; also before experiments, compaction, handoff and stopping.\n65: Record source identities, exact changed paths, commands/results, artifacts and hashes, open\n66: surprises, held leases, requested/observed model, session identity and exact next action. Avoid\n67: large prose histories: raw logs belong in evidence; the checkpoint is a bounded resumption record.\n68: \n69: The launcher caps a quantum at 40 agent steps. A new quantum starts fresh using contract and\n70: checkpoint. Auto-compaction with an ample reserved window and four retained turns is enabled.\n71: This is a best-effort context backstop; regular durable checkpoints and fresh quanta provide the\n72: actual recovery discipline. Never claim a model compacted merely because a setting exists.\n73: \n74: ## Surprises\n75: \n76: On a falsified prediction, contradictory claim, unexplained regression, instrument interference,\n77: or newly necessary dependency: record the observation and evidence; block affected work. Astra\n78: first checks the instrument and source identity, then marks claims surviving/qualified/overturned,\n79: chooses a discriminating experiment, and records the revised plan. Unaffected contracted work\n80: may continue. Updating a paragraph without invalidating affected acceptance is insufficient.\n81: \n82: ## Lab ownership\n83: \n84: Acquire a canonical resource lease before VM, build-host or Ghidra mutation. An expired timestamp\n85: does not authorize stealing a lease. The lead reconciles stale ownership with actual processes.\n86: Use one guest at a time for maintenance, capture before/after inventory, preserve access and\n87: runtime dependencies, and verify unattended console login plus authenticated administration.\n88: Reboots require a free guest and a recorded recovery path. Runtime/Ghidra changes are experiments\n89: with provenance, not undocumented preparatory steps.\n90: \n91: ## Gate and publication\n92: \n93: Run the local gate with explicit engine, corpus, new output directory and profile. It snapshots\n94: source, uses fresh builds, records manifests and runs the expected test inventory once. Host\n95: profile allows a named list of unavailable asset/trace tests and publishes them as limitations.\n96: Full acceptance requires the full profile and the slice-specific original oracle; no blanket\n97: waiver converts a host pass to fidelity. Standalone measurement may diverge; acceptance may not.\n98: \n99: The integrator alone selects current results after verifying their hashes and source binding.\n100: No percentages of LOC, mapped rows or closed leaves purport to measure engine completeness.\n101: Run failure and missing evidence are visible states. Old results remain historical, not current.\n\n(End of file - total 101 lines)\n","metadata":{"preview":"# Multi-agent operating architecture\n\n## Product and milestone\n\nReconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\nmilestone is standalone replay given a captured command stream and complete declared runtime\ninputs. The first workflow pilot is the complete research write set. A passing host build is a\ncomponent baseline, not a playable engine or independent replacement.\n\n## Source of truth\n\n`campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\nleases and surprises, and evidence packages identify inputs, source and executable artifacts.\n`campaign/current.json` selects published evidence by path and digest. Board/dashboard are\ngenerated projections, never alternate writable authorities. Exact tool CLI/schema is documented\nin `campaign/README.md`. Historical findings retain their original experiment scope; they are\nnot promoted by copying an old status into a new contract.\n\n## Model authority\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/guides/multi-agent-workflow.md","text":"# Multi-agent operating architecture\n\n## Product and milestone\n\nReconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\nmilestone is standalone replay given a captured command stream and complete declared runtime\ninputs. The first workflow pilot is the complete research write set. A passing host build is a\ncomponent baseline, not a playable engine or independent replacement.\n\n## Source of truth\n\n`campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\nleases and surprises, and evidence packages identify inputs, source and executable artifacts.\n`campaign/current.json` selects published evidence by path and digest. Board/dashboard are\ngenerated projections, never alternate writable authorities. Exact tool CLI/schema is documented\nin `campaign/README.md`. Historical findings retain their original experiment scope; they are\nnot promoted by copying an old status into a new contract.\n\n## Model authority\n\n| Responsibility | Model |\n|---|---|\n| Normal planning, architecture and integration loop | GPT-5.6 Sol |\n| Bounded RE analysis, implementation and independent verification | GPT-5.6 Sol |\n| Routine lab/workload operations | GPT-5.6 Sol |\n| Problem and surprise resolution | GPT-6 Astra |\n| Context compaction | GPT-5.5 |\n\nExact provider IDs are in `campaign/models.json`. The lead escalates to Astra when a falsified\nassumption, conflict, instrument effect, or scope change blocks the loop. No fallback is automatic. Model names in editable JSON are\nprovenance, not authentication: launcher events and independent review support the record.\nPermissions reduce accidental role drift; unrestricted local shell access is not a sandbox.\n\n## Behavioral slice\n\nThe lead specifies a bounded input domain, full observable write set, dependencies, acceptance\nworkloads and stop conditions. The analyst recovers behavior; the verifier specifies discriminating\ntests before implementation; the implementer changes engine/adapters; the lab operator captures\ncontrols; the verifier reproduces; the integrator tests the combined source snapshot.\n\nInclude transitive effects: allocations, IDs, container ELEMENTS, event text/records, RNG and\nnonserialized state. An address/function name is not a sufficient replacement boundary. If a\nneighbor function supplies required effects, extend the approved contract or expose it as an\noriginal dependency. Do not call the original and label the result independent.\n\nLifecycle is `proposed → ready → implementing → verification → integration → accepted`, with\nblocked/revision states. Lifecycle is distinct from evidence strength. Acceptance is scoped to\nthe manifest's exact procedure and workloads, never universal correctness.\n\n## Independence\n\nVerifier and implementer are different executions. Verification starts with the contract, raw\nevidence and reproduction recipe, not just the author's conclusion. Require one meaningful\nchallenge: held-out state, boundary, negative control, ablation, or independent state accounting.\nBoth synthetic tests and original-game experiments matter. Repeat-call volume cannot replace\nbranch and distinct-state coverage. Null effects and zero executions must be distinguishable.\n\n## Sessions and recovery\n\nAt most two implementation slices after a single-slice pilot. No nested worker delegation.\nPaired worktrees isolate source changes; unique build directories isolate artifacts. Canonical\nRE runtime state remains explicit even when a worker runs in `/tmp` worktrees.\n\nCheckpoint every 20 calls or 15min; also before experiments, compaction, handoff and stopping.\nRecord source identities, exact changed paths, commands/results, artifacts and hashes, open\nsurprises, held leases, requested/observed model, session identity and exact next action. Avoid\nlarge prose histories: raw logs belong in evidence; the checkpoint is a bounded resumption record.\n\nThe launcher caps a quantum at 40 agent steps. A new quantum starts fresh using contract and\ncheckpoint. Auto-compaction with an ample reserved window and four retained turns is enabled.\nThis is a best-effort context backstop; regular durable checkpoints and fresh quanta provide the\nactual recovery discipline. Never claim a model compacted merely because a setting exists.\n\n## Surprises\n\nOn a falsified prediction, contradictory claim, unexplained regression, instrument interference,\nor newly necessary dependency: record the observation and evidence; block affected work. Astra\nfirst checks the instrument and source identity, then marks claims surviving/qualified/overturned,\nchooses a discriminating experiment, and records the revised plan. Unaffected contracted work\nmay continue. Updating a paragraph without invalidating affected acceptance is insufficient.\n\n## Lab ownership\n\nAcquire a canonical resource lease before VM, build-host or Ghidra mutation. An expired timestamp\ndoes not authorize stealing a lease. The lead reconciles stale ownership with actual processes.\nUse one guest at a time for maintenance, capture before/after inventory, preserve access and\nruntime dependencies, and verify unattended console login plus authenticated administration.\nReboots require a free guest and a recorded recovery path. Runtime/Ghidra changes are experiments\nwith provenance, not undocumented preparatory steps.\n\n## Gate and publication\n\nRun the local gate with explicit engine, corpus, new output directory and profile. It snapshots\nsource, uses fresh builds, records manifests and runs the expected test inventory once. Host\nprofile allows a named list of unavailable asset/trace tests and publishes them as limitations.\nFull acceptance requires the full profile and the slice-specific original oracle; no blanket\nwaiver converts a host pass to fidelity. Standalone measurement may diverge; acceptance may not.\n\nThe integrator alone selects current results after verifying their hashes and source binding.\nNo percentages of LOC, mapped rows or closed leaves purport to measure engine completeness.\nRun failure and missing evidence are visible states. Old results remain historical, not current.","lineStart":1,"lineEnd":101,"totalLines":101,"truncated":false}},"title":"guides/multi-agent-workflow.md","time":{"start":1789015702971,"end":1789015702995}},"metadata":{"openai":{"itemId":"fc_089cf2249ecae26f016aa23696c0d087d19cdb25fb521183cc"}},"id":"prt_089a53db8001BPoGdziij6r8nt","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a51101001UVLQwwiOgwoujU"}} +{"type":"tool_use","timestamp":1789015703012,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_qJnJKMAQ4W0DavmLnvOPmtrJ","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/research/research-completion-abi.md"},"output":"/home/alex/sots-re/campaign/research/research-completion-abi.md\nfile\n\n1: # Completion record ABI recovery\n2: \n3: Static handoff only. The provenance index is\n4: `verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\n5: capture and interpretation are respectively\n6: `verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n7: `verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n8: `verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\n9: provenance is superseded by the paired captures and identity record in\n10: `verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n11: `d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\n12: SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n13: `9969481c39f4b33a8a21c48b62abee4c`.\n14: \n15: The ownership archive's terminal-byte provenance is likewise superseded by the complete package\n16: `verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n17: `d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\n18: audit establish the encoded return immediates while preserving the static-only limitation. The\n19: package found three additional truncated historical stops (ObservedTech append/reallocator and\n20: string allocation/replacement); their widened streams are now the byte authority. No archive\n21: production-history inference or live-safety claim is made.\n22: \n23: ## Implementable machine boundaries recovered\n24: \n25: * `0x008562a0`: ObservedTech default constructor, ECX receiver, EAX return, plain `ret`.\n26: * `0x007b7320`: ObservedTech vector append, ECX receiver plus one stack word, `ret 4`; stride `0x2c`.\n27: Its copy helper is `0x0079a150` (cdecl-style allocator/destination/source stack arguments), which copy-constructs the embedded string rather than copying a\n28: vector element header. Capacity growth is `0x007b5820` -> `0x007b34e0` -> `0x0057e590`.\n29: * `0x0057e590` calls `0x00924fb6` with `count * 0x2c`; reallocation destroys every old element via\n30: virtual slot 0 with zero and frees the array through `0x00924faa`. These are MSVCR100 scalar-new\n31: and scalar-delete import thunks, not clean-room allocator operations.\n32: * `0x0086c580`: PlayerEvent vector append, ECX receiver plus one stack word, `ret 4`; stride `0x74`.\n33: It grows via `0x00869500` and copy-constructs through `0x007693f0` (ECX destination, stack source,\n34: EAX destination return, ret 4), independently assigning all\n35: three strings. `0x0061ae90` releases each long string via `0x00924faa` when capacity is `>= 0x10`.\n36: * `0x004249a0` (reached by `0x00425430` assignment) allocates through `0x00924fb6` and releases a\n37: prior long destination buffer through `0x00924faa`. A temporary long string is therefore not\n38: transferable by raw header copy.\n39: * `0x00885380`: get-or-create TurnEvents bucket, ECX EventStorage receiver plus stack turn, EAX\n40: bucket return, `ret 4`. It returns the last existing matching turn. On absence it initializes the\n41: stack bucket's vptr and empty nested-vector header but **not** its `EvTurn`; `0x00884cb0` copies\n42: that incoming stack word and deep-copies the nested vector. After temporary nested-vector cleanup,\n43: get/create writes the requested turn into the stored last element and returns it. The transient\n44: word is not measured randomness or a zero default. Fresh correction capture:\n45: `verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/`, governed by\n46: `d-b51f3f76803e852ed250846a`.\n47: * `0x00884cb0`: outer TurnEvents vector append, ECX vector receiver plus stack source, `ret 4`,\n48: stride `0x18`. Full-capacity growth is `0x008841a0` -> `0x00883a60`; allocation is\n49: `0x006e8f50` -> `0x00924fb6` with `count * 0x18`. Existing buckets are copy-constructed by\n50: `0x0077fed0`, including an independently allocated/copied nested PlayerEvent vector via\n51: `0x00779850` -> `0x0078af40` (`count * 0x74`) -> `0x007725a0` -> `0x007693f0`.\n52: * TurnEvents virtual slot zero resolves from vtable `0x00a0f07c` to `0x0062e120`. It destroys the\n53: nested vector through `0x00629580`; that destroys every `0x74` PlayerEvent, frees the nested block,\n54: and zeros its three pointers. Static unwind edges clean partial PlayerEvent and TurnEvents ranges\n55: and free the new outer block, but no allocation failure was executed live.\n56: \n57: ## Ordering / visible effects\n58: \n59: RecordObservedTech's append predicate is name absence, not capacity. A matching existing record\n60: keeps first-turn/name and updates last-turn/with mask. `0x00825d40` scans a bucket's events in\n61: `0x74` steps, checking action, location, three floats, message and image before passing both\n62: description strings to `0x0046f8c0`. Fresh paired-boundary instructions establish that helper as\n63: caller-cleaned `bool string_not_equal(stored, candidate)`: it returns one for any byte/length\n64: difference and zero for equality, handling each operand's inline/heap representation at capacity\n65: `0x10`. FindDuplicate reaches the match return only on zero, so `EvDsc` equality is required and a\n66: description-only difference does not deduplicate. This statically contradicts the inherited\n67: description-omission claim; decision `d-2ff30c9f5355116bea822924` required the now-archived complete\n68: branch/helper repair. The later provenance correction does not itself prove these semantics: an\n69: independent verifier must reproduce the repaired package and predeclared falsifiers. The wrapper\n70: returns the first element equal in all fields and writes nothing.\n71: `0x00879eb0` prunes only a leading\n72: stale run (`EvTurn < turn-50`), deep-shifts from the run's last stale element, and therefore removes\n73: `n-1`: one stale bucket survives, a single stale bucket causes no write, and stale buckets after a\n74: fresh bucket are not inspected. The no-duplicate EventStorage path remains distinct from event-vector\n75: capacity: it is the path that appends a `0x74` PlayerEvent and changes IDs/vector contents. Caller\n76: text/position/action/defaulting and the exact PostEvent write order remain required inputs/effects.\n77: No RNG draw occurs in the recovered bucket, duplicate, prune, copy, allocation, or destruction\n78: boundaries.\n79: \n80: ## Original/runtime dependencies and limits\n81: \n82: Any original-assisted allocation, string assignment or deletion must retain allocator-family\n83: compatibility: the recovered calls target the original MSVCR100 import thunks. A standalone\n84: replacement needs its own coherent allocation/destruction boundary; calling these original helpers\n85: is an original dependency, not independent replacement. Calling `0x0046f8c0` likewise retains an\n86: original string-layout/comparison dependency, though its equality behavior is implementable without\n87: allocation in a standalone boundary. Required unavailable proof inputs are a safe\n88: long-string/full-capacity pre/post fixture (or equivalent archived trace), same-bucket\n89: equal/description-only-different event fixtures covering short and long strings, exact exceptional\n90: cleanup outcomes under a live throw, and independent reproduction of the named static windows and\n91: falsifiers. This handoff makes no live\n92: allocator-safety, runtime event-construction, or replacement-acceptance claim.\n\n(End of file - total 92 lines)\n","metadata":{"preview":"# Completion record ABI recovery\n\nStatic handoff only. The provenance index is\n`verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\ncapture and interpretation are respectively\n`verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n`verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\nprovenance is superseded by the paired captures and identity record in\n`verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n`d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\nSHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe ownership archive's terminal-byte provenance is likewise superseded by the complete package\n`verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n`d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\naudit establish the encoded return immediates while preserving the static-only limitation. The\npackage found three additional truncated historical stops (ObservedTech append/reallocator and\nstring allocation/replacement); their widened streams are now the byte authority. No archive","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/research/research-completion-abi.md","text":"# Completion record ABI recovery\n\nStatic handoff only. The provenance index is\n`verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\ncapture and interpretation are respectively\n`verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n`verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\nprovenance is superseded by the paired captures and identity record in\n`verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n`d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\nSHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe ownership archive's terminal-byte provenance is likewise superseded by the complete package\n`verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n`d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\naudit establish the encoded return immediates while preserving the static-only limitation. The\npackage found three additional truncated historical stops (ObservedTech append/reallocator and\nstring allocation/replacement); their widened streams are now the byte authority. No archive\nproduction-history inference or live-safety claim is made.\n\n## Implementable machine boundaries recovered\n\n* `0x008562a0`: ObservedTech default constructor, ECX receiver, EAX return, plain `ret`.\n* `0x007b7320`: ObservedTech vector append, ECX receiver plus one stack word, `ret 4`; stride `0x2c`.\n Its copy helper is `0x0079a150` (cdecl-style allocator/destination/source stack arguments), which copy-constructs the embedded string rather than copying a\n vector element header. Capacity growth is `0x007b5820` -> `0x007b34e0` -> `0x0057e590`.\n* `0x0057e590` calls `0x00924fb6` with `count * 0x2c`; reallocation destroys every old element via\n virtual slot 0 with zero and frees the array through `0x00924faa`. These are MSVCR100 scalar-new\n and scalar-delete import thunks, not clean-room allocator operations.\n* `0x0086c580`: PlayerEvent vector append, ECX receiver plus one stack word, `ret 4`; stride `0x74`.\n It grows via `0x00869500` and copy-constructs through `0x007693f0` (ECX destination, stack source,\n EAX destination return, ret 4), independently assigning all\n three strings. `0x0061ae90` releases each long string via `0x00924faa` when capacity is `>= 0x10`.\n* `0x004249a0` (reached by `0x00425430` assignment) allocates through `0x00924fb6` and releases a\n prior long destination buffer through `0x00924faa`. A temporary long string is therefore not\n transferable by raw header copy.\n* `0x00885380`: get-or-create TurnEvents bucket, ECX EventStorage receiver plus stack turn, EAX\n bucket return, `ret 4`. It returns the last existing matching turn. On absence it initializes the\n stack bucket's vptr and empty nested-vector header but **not** its `EvTurn`; `0x00884cb0` copies\n that incoming stack word and deep-copies the nested vector. After temporary nested-vector cleanup,\n get/create writes the requested turn into the stored last element and returns it. The transient\n word is not measured randomness or a zero default. Fresh correction capture:\n `verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/`, governed by\n `d-b51f3f76803e852ed250846a`.\n* `0x00884cb0`: outer TurnEvents vector append, ECX vector receiver plus stack source, `ret 4`,\n stride `0x18`. Full-capacity growth is `0x008841a0` -> `0x00883a60`; allocation is\n `0x006e8f50` -> `0x00924fb6` with `count * 0x18`. Existing buckets are copy-constructed by\n `0x0077fed0`, including an independently allocated/copied nested PlayerEvent vector via\n `0x00779850` -> `0x0078af40` (`count * 0x74`) -> `0x007725a0` -> `0x007693f0`.\n* TurnEvents virtual slot zero resolves from vtable `0x00a0f07c` to `0x0062e120`. It destroys the\n nested vector through `0x00629580`; that destroys every `0x74` PlayerEvent, frees the nested block,\n and zeros its three pointers. Static unwind edges clean partial PlayerEvent and TurnEvents ranges\n and free the new outer block, but no allocation failure was executed live.\n\n## Ordering / visible effects\n\nRecordObservedTech's append predicate is name absence, not capacity. A matching existing record\nkeeps first-turn/name and updates last-turn/with mask. `0x00825d40` scans a bucket's events in\n`0x74` steps, checking action, location, three floats, message and image before passing both\ndescription strings to `0x0046f8c0`. Fresh paired-boundary instructions establish that helper as\ncaller-cleaned `bool string_not_equal(stored, candidate)`: it returns one for any byte/length\ndifference and zero for equality, handling each operand's inline/heap representation at capacity\n`0x10`. FindDuplicate reaches the match return only on zero, so `EvDsc` equality is required and a\ndescription-only difference does not deduplicate. This statically contradicts the inherited\ndescription-omission claim; decision `d-2ff30c9f5355116bea822924` required the now-archived complete\nbranch/helper repair. The later provenance correction does not itself prove these semantics: an\nindependent verifier must reproduce the repaired package and predeclared falsifiers. The wrapper\nreturns the first element equal in all fields and writes nothing.\n`0x00879eb0` prunes only a leading\nstale run (`EvTurn < turn-50`), deep-shifts from the run's last stale element, and therefore removes\n`n-1`: one stale bucket survives, a single stale bucket causes no write, and stale buckets after a\nfresh bucket are not inspected. The no-duplicate EventStorage path remains distinct from event-vector\ncapacity: it is the path that appends a `0x74` PlayerEvent and changes IDs/vector contents. Caller\ntext/position/action/defaulting and the exact PostEvent write order remain required inputs/effects.\nNo RNG draw occurs in the recovered bucket, duplicate, prune, copy, allocation, or destruction\nboundaries.\n\n## Original/runtime dependencies and limits\n\nAny original-assisted allocation, string assignment or deletion must retain allocator-family\ncompatibility: the recovered calls target the original MSVCR100 import thunks. A standalone\nreplacement needs its own coherent allocation/destruction boundary; calling these original helpers\nis an original dependency, not independent replacement. Calling `0x0046f8c0` likewise retains an\noriginal string-layout/comparison dependency, though its equality behavior is implementable without\nallocation in a standalone boundary. Required unavailable proof inputs are a safe\nlong-string/full-capacity pre/post fixture (or equivalent archived trace), same-bucket\nequal/description-only-different event fixtures covering short and long strings, exact exceptional\ncleanup outcomes under a live throw, and independent reproduction of the named static windows and\nfalsifiers. This handoff makes no live\nallocator-safety, runtime event-construction, or replacement-acceptance claim.","lineStart":1,"lineEnd":92,"totalLines":92,"truncated":false}},"title":"campaign/research/research-completion-abi.md","time":{"start":1789015702985,"end":1789015703000}},"metadata":{"openai":{"itemId":"fc_089cf2249ecae26f016aa23696c0e087d1bb60ecd2c6b4d205"}},"id":"prt_089a53dc4001BmXuPs3sKf70ry","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a51101001UVLQwwiOgwoujU"}} +{"type":"tool_use","timestamp":1789015703012,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_YzyYm50o9Pu2uSPDC7YIb45k","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-correction-verifier\",\n3: \"contract\": \"research-completion-abi\",\n4: \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n5: \"model\": \"openai/gpt-5.6-sol\",\n6: \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n7: \"role\": \"verifier\",\n8: \"schema\": \"sots-surprise/1\",\n9: \"status\": \"open\",\n10: \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n11: \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n12: }\n\n(End of file - total 12 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json","text":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n}","lineStart":1,"lineEnd":12,"totalLines":12,"truncated":false}},"title":"campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json","time":{"start":1789015702959,"end":1789015703003}},"metadata":{"openai":{"itemId":"fc_089cf2249ecae26f016aa23696c0ac87d1aff9135e035c69fa"}},"id":"prt_089a53d9b001okcaaxkP1bKHe8","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a51101001UVLQwwiOgwoujU"}} +{"type":"tool_use","timestamp":1789015703012,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_JQyaUH59TCCe2XEuUVRlFdMp","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-correction-verifier\",\n3: \"contract\": \"research-completion-abi\",\n4: \"id\": \"s-d44b9f9e62272794d88bbed6\",\n5: \"model\": \"openai/gpt-5.6-sol\",\n6: \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n7: \"role\": \"verifier\",\n8: \"schema\": \"sots-surprise/1\",\n9: \"status\": \"open\",\n10: \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n11: \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n12: }\n\n(End of file - total 12 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json","text":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n}","lineStart":1,"lineEnd":12,"totalLines":12,"truncated":false}},"title":"campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json","time":{"start":1789015702966,"end":1789015703006}},"metadata":{"openai":{"itemId":"fc_089cf2249ecae26f016aa23696c0c487d19571ea09bd42d4d5"}},"id":"prt_089a53db1001g5UvNtqVM8J7oo","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a51101001UVLQwwiOgwoujU"}} +{"type":"tool_use","timestamp":1789015703012,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_3Ff0Tj3j0kb7ivbozYXjZSl5","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\nfile\n\n1: # Independent correction verification result\n2: \n3: Actor `research-abi-correction-verifier`, role `verifier`, requested model\n4: `openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`.\n5: \n6: ## Scope and identities\n7: \n8: This was an independent static partial comparison plus held-out stop-boundary ablation. It was not\n9: original-game runtime comparison, live allocator validation, independent replacement, integrated\n10: replay, or an acceptance verdict. The paired source bindings reproduced as engine\n11: `ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE\n12: `6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs.\n13: The 7,898,624-byte input SHA-256 was\n14: `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced\n15: 373,888-byte GNU objdump 2.38 executable SHA-256 was\n16: `1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`.\n17: \n18: ## Reproduction and observations\n19: \n20: From `/home/alex/sots-re`:\n21: \n22: ```sh\n23: python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n24: ```\n25: \n26: The process exited 1 after eight positive objdump executions (four exact windows and four held-out\n27: windows widened by four bytes). Every subprocess returned zero, emitted nonempty stdout, and emitted\n28: empty stderr. All four exact stdout streams byte-matched the analyst captures. Binary/tool checks,\n29: the independent empty list of pre-`0x00885413` writes to `[EBP-0x20]`, get/create ordering, append\n30: copy ordering, nested empty/nonempty-copy branch markers, and destructor null/non-null branch markers\n31: passed. The generated manifest reports 44 passing checks and one failure.\n32: \n33: The failed check is `nested-copy-wide-row-prefix`. Exact stop `0x00779a20` ends with:\n34: \n35: ```text\n36: 779a1f: 74 je 0x779a31\n37: ```\n38: \n39: The widened stop `0x00779a24` exposes the complete instruction:\n40: \n41: ```text\n42: 779a1f: 74 10 je 0x779a31\n43: ```\n44: \n45: and then rows at `0x00779a21` and `0x00779a23`; the latter call is itself truncated by that widened\n46: boundary. Thus exact rows are not a byte-identical prefix of widened rows and the analyst's\n47: `nested-copy` window has a truncated terminal instruction. This falsifies the predeclared boundary\n48: prediction. Surprise `s-4f4fb5e8ee42ccff7e68efb5` records and blocks the affected interpretation.\n49: \n50: ## Provenance defect and residuals\n51: \n52: The reproduction helper was inherited from the prior verifier checkpoint and hard-codes prior\n53: session `run-ee78b8773688ca09f8046e21` into its generated manifest. Although the raw commands ran in\n54: this fresh quantum, that manifest does not truthfully identify the current campaign session and is\n55: not acceptable as a current-session evidence record. This report records the actual invocation and\n56: does not relabel the generated manifest.\n57: \n58: No success is claimed for the failed full compare. Surviving rows remain partial static\n59: measurements. Residuals include a complete non-truncated nested-copy boundary, fresh analyst and\n60: verifier provenance, live spare/full-capacity fixtures, nonempty live nested-copy state, allocator\n61: safety, induced unwind, original runtime comparison, whole-state/RNG validation, independent\n62: replacement, and integrated replay. No RNG execution occurred; static no-RNG prose was not treated\n63: as runtime state accounting.\n\n(End of file - total 63 lines)\n","metadata":{"preview":"# Independent correction verification result\n\nActor `research-abi-correction-verifier`, role `verifier`, requested model\n`openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`.\n\n## Scope and identities\n\nThis was an independent static partial comparison plus held-out stop-boundary ablation. It was not\noriginal-game runtime comparison, live allocator validation, independent replacement, integrated\nreplay, or an acceptance verdict. The paired source bindings reproduced as engine\n`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE\n`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs.\nThe 7,898,624-byte input SHA-256 was\n`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced\n373,888-byte GNU objdump 2.38 executable SHA-256 was\n`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`.\n\n## Reproduction and observations\n\nFrom `/home/alex/sots-re`:","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md","text":"# Independent correction verification result\n\nActor `research-abi-correction-verifier`, role `verifier`, requested model\n`openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`.\n\n## Scope and identities\n\nThis was an independent static partial comparison plus held-out stop-boundary ablation. It was not\noriginal-game runtime comparison, live allocator validation, independent replacement, integrated\nreplay, or an acceptance verdict. The paired source bindings reproduced as engine\n`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE\n`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs.\nThe 7,898,624-byte input SHA-256 was\n`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced\n373,888-byte GNU objdump 2.38 executable SHA-256 was\n`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`.\n\n## Reproduction and observations\n\nFrom `/home/alex/sots-re`:\n\n```sh\npython3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n```\n\nThe process exited 1 after eight positive objdump executions (four exact windows and four held-out\nwindows widened by four bytes). Every subprocess returned zero, emitted nonempty stdout, and emitted\nempty stderr. All four exact stdout streams byte-matched the analyst captures. Binary/tool checks,\nthe independent empty list of pre-`0x00885413` writes to `[EBP-0x20]`, get/create ordering, append\ncopy ordering, nested empty/nonempty-copy branch markers, and destructor null/non-null branch markers\npassed. The generated manifest reports 44 passing checks and one failure.\n\nThe failed check is `nested-copy-wide-row-prefix`. Exact stop `0x00779a20` ends with:\n\n```text\n779a1f: 74 je 0x779a31\n```\n\nThe widened stop `0x00779a24` exposes the complete instruction:\n\n```text\n779a1f: 74 10 je 0x779a31\n```\n\nand then rows at `0x00779a21` and `0x00779a23`; the latter call is itself truncated by that widened\nboundary. Thus exact rows are not a byte-identical prefix of widened rows and the analyst's\n`nested-copy` window has a truncated terminal instruction. This falsifies the predeclared boundary\nprediction. Surprise `s-4f4fb5e8ee42ccff7e68efb5` records and blocks the affected interpretation.\n\n## Provenance defect and residuals\n\nThe reproduction helper was inherited from the prior verifier checkpoint and hard-codes prior\nsession `run-ee78b8773688ca09f8046e21` into its generated manifest. Although the raw commands ran in\nthis fresh quantum, that manifest does not truthfully identify the current campaign session and is\nnot acceptable as a current-session evidence record. This report records the actual invocation and\ndoes not relabel the generated manifest.\n\nNo success is claimed for the failed full compare. Surviving rows remain partial static\nmeasurements. Residuals include a complete non-truncated nested-copy boundary, fresh analyst and\nverifier provenance, live spare/full-capacity fixtures, nonempty live nested-copy state, allocator\nsafety, induced unwind, original runtime comparison, whole-state/RNG validation, independent\nreplacement, and integrated replay. No RNG execution occurred; static no-RNG prose was not treated\nas runtime state accounting.","lineStart":1,"lineEnd":63,"totalLines":63,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md","time":{"start":1789015702978,"end":1789015703009}},"metadata":{"openai":{"itemId":"fc_089cf2249ecae26f016aa23696c0d887d1913127566fff1346"}},"id":"prt_089a53dbd001fmfUAK0WWuDmlf","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a51101001UVLQwwiOgwoujU"}} +{"type":"step_finish","timestamp":1789015703089,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a53e2e001gmX6I1tD6ZktFV","reason":"tool-calls","snapshot":"74ccc2329689d8a1865e5d30002847691854aed2","messageID":"msg_089a51101001UVLQwwiOgwoujU","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":13485,"input":7535,"output":318,"reasoning":0,"cache":{"write":0,"read":5632}},"cost":0}} +{"type":"step_start","timestamp":1789015705042,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a545cd001okA284kOjo1Fy4","messageID":"msg_089a53e5e0014v8PfTnUEUWIEU","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"d7d4e94826f891e21a24758cd36f580f5726dab5","type":"step-start"}} +{"type":"tool_use","timestamp":1789015707299,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"todowrite","callID":"call_CjGCcu0gyTRxs2WPSpii9g4j","state":{"status":"completed","input":{"todos":[{"content":"Verify identities and inspect affected raw evidence and prior decisions","status":"in_progress","priority":"high"},{"content":"Resolve both surprises through campaign controls with scoped claims and repair experiment","status":"pending","priority":"high"},{"content":"Validate controls and persist final handoff checkpoint","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Verify identities and inspect affected raw evidence and prior decisions\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Resolve both surprises through campaign controls with scoped claims and repair experiment\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Validate controls and persist final handoff checkpoint\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Verify identities and inspect affected raw evidence and prior decisions","status":"in_progress","priority":"high"},{"content":"Resolve both surprises through campaign controls with scoped claims and repair experiment","status":"pending","priority":"high"},{"content":"Validate controls and persist final handoff checkpoint","status":"pending","priority":"high"}],"truncated":false},"title":"3 todos","time":{"start":1789015707294,"end":1789015707297}},"metadata":{"openai":{"itemId":"fc_071df5812d19f0f5016aa23699030c87d1b64a1b579f797ea4"}},"id":"prt_089a545d0001XR4e3SzeW0dEmg","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a53e5e0014v8PfTnUEUWIEU"}} +{"type":"step_finish","timestamp":1789015707357,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a54ed90017E19njXZ2Z91Jz","reason":"tool-calls","snapshot":"fe6f2c6a4df3aac846f59c46e99ca2b6cb96b526","messageID":"msg_089a53e5e0014v8PfTnUEUWIEU","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":19116,"input":5976,"output":84,"reasoning":0,"cache":{"write":0,"read":13056}},"cost":0}} +{"type":"step_start","timestamp":1789015712628,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a563700014LFrSKlayUVFQj","messageID":"msg_089a54f010012vhfHePxcjeyWL","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"205d07e07e6230feea708feef606c3278fc61602","type":"step-start"}} +{"type":"tool_use","timestamp":1789015718601,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_CD1dwbQiybYFascXo6E2ylBm","state":{"status":"error","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi && python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-completion-abi --engine-worktree /tmp/opencode/sots-final-research-engine --re-worktree /tmp/opencode/sots-final-research-re && git -C /tmp/opencode/sots-final-research-engine rev-parse HEAD --git-common-dir && git -C /tmp/opencode/sots-final-research-re rev-parse HEAD --git-common-dir && git -C /tmp/opencode/sots-final-research-engine status --short && git -C /tmp/opencode/sots-final-research-re status --short && python3 tools/campaign.py --state-root /home/alex/sots-re resolve --help","workdir":"/home/alex/sots-re"},"error":"The user has specified a rule which prevents you from using this specific tool call. Here are some of the relevant rules [{\"permission\":\"*\",\"action\":\"allow\",\"pattern\":\"*\"},{\"permission\":\"bash\",\"pattern\":\"*\",\"action\":\"deny\"},{\"permission\":\"bash\",\"pattern\":\"git -C * status *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"git -C * diff *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"git -C * log *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"git -C * rev-parse *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"git -C * show *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re surprise *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re status *\",\"action\":\"allow\"},{\"permission\":\"bash\",\"pattern\":\"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re validate *\",\"action\":\"allow\"}]","time":{"start":1789015718556,"end":1789015718599}},"metadata":{"openai":{"itemId":"fc_035288887abc5d35016aa236a0992087d18c117c6db393d31b"}},"id":"prt_089a56373001wr9P1kOQv3oHzv","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a54f010012vhfHePxcjeyWL"}} +{"type":"step_finish","timestamp":1789015718729,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a57b39001zJ1mGIKZnUwOaL","reason":"tool-calls","snapshot":"1881ec95a7a3b895ae8c66208bd978b232510e3c","messageID":"msg_089a54f010012vhfHePxcjeyWL","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":19434,"input":290,"output":200,"reasoning":0,"cache":{"write":0,"read":18944}},"cost":0}} +{"type":"step_start","timestamp":1789015722580,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a58a50001IFQIBNbXqzLfA6","messageID":"msg_089a57b78001qslMAnNK6HrCoW","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"0711cab0d5eac983ec399ecc8b6e17a28390fa18","type":"step-start"}} +{"type":"tool_use","timestamp":1789015731105,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_wdeYh5gnVgfmfZuFSValo2bk","state":{"status":"completed","input":{"command":"git -C /tmp/opencode/sots-final-research-engine rev-parse HEAD --git-common-dir"},"output":"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\n/home/alex/sots-engine/.git\n","metadata":{"output":"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\n/home/alex/sots-engine/.git\n","exit":0,"truncated":false},"title":"git -C /tmp/opencode/sots-final-research-engine rev-parse HEAD --git-common-dir","time":{"start":1789015731091,"end":1789015731103}},"metadata":{"openai":{"itemId":"fc_0297b48a284d06f1016aa236b229a087d189fbbc1f134570b0"}},"id":"prt_089a5aa68001Kjt4ZFg3TK7Yg0","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a57b78001qslMAnNK6HrCoW"}} +{"type":"tool_use","timestamp":1789015731472,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_pf8O7z1imbltvtZogC3lcujc","state":{"status":"completed","input":{"command":"git -C /tmp/opencode/sots-final-research-re rev-parse HEAD --git-common-dir"},"output":"3bfde5a70d874a723e797a695bbd847fd82c0aa7\n/home/alex/sots-re/.git\n","metadata":{"output":"3bfde5a70d874a723e797a695bbd847fd82c0aa7\n/home/alex/sots-re/.git\n","exit":0,"truncated":false},"title":"git -C /tmp/opencode/sots-final-research-re rev-parse HEAD --git-common-dir","time":{"start":1789015731450,"end":1789015731471}},"metadata":{"openai":{"itemId":"fc_0297b48a284d06f1016aa236b229b887d1aa43872600313d57"}},"id":"prt_089a5abd3001X4l3walkzciRdf","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a57b78001qslMAnNK6HrCoW"}} +{"type":"tool_use","timestamp":1789015731605,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_TZbYtX3nw4YjaRcbaitwFNkG","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi"},"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n },\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n }\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"blocked\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n","metadata":{"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:45:32.413275+00:00\"\n },\n {\n \"actor\": \"research-abi-correction-verifier\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"s-d44b9f9e62272794d88bbed6\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"open\",\n \"summary\": \"Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.\",\n \"timestamp\": \"2026-09-10T04:46:35.617690+00:00\"\n }\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"blocked\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi","time":{"start":1789015731555,"end":1789015731603}},"metadata":{"openai":{"itemId":"fc_0297b48a284d06f1016aa236b229c887d1a81cb9b3b9ce46da"}},"id":"prt_089a5ad00001c014RgBkv8gjKL","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a57b78001qslMAnNK6HrCoW"}} +{"type":"tool_use","timestamp":1789015731917,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_i5eTphSZViZms0jk2wUaVwy7","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\nfile\n\n1: {\n2: \"schema\": \"sots-abi-independent-static/1\",\n3: \"session\": \"run-ee78b8773688ca09f8046e21\",\n4: \"actor\": \"research-abi-correction-verifier\",\n5: \"role\": \"verifier\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"timestamp\": \"2026-09-10T04:44:36.333584+00:00\",\n8: \"input\": {\n9: \"path\": \"dumps/sots.exe\",\n10: \"bytes\": 7898624,\n11: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n12: },\n13: \"tool\": {\n14: \"path\": \"/usr/bin/objdump\",\n15: \"bytes\": 373888,\n16: \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n17: \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n18: },\n19: \"author_manifest_sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\",\n20: \"stack_writes_to_ebp_minus_20_before_0x885413\": [],\n21: \"commands\": [\n22: {\n23: \"name\": \"turn-get-create\",\n24: \"variant\": \"exact\",\n25: \"argv\": [\n26: \"/usr/bin/objdump\",\n27: \"-D\",\n28: \"-Mintel\",\n29: \"--start-address=0x00885380\",\n30: \"--stop-address=0x0088544a\",\n31: \"/home/alex/sots-re/dumps/sots.exe\"\n32: ],\n33: \"returncode\": 0,\n34: \"stdout\": {\n35: \"bytes\": 3974,\n36: \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n37: },\n38: \"stderr\": {\n39: \"bytes\": 0,\n40: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n41: }\n42: },\n43: {\n44: \"name\": \"turn-get-create\",\n45: \"variant\": \"wide\",\n46: \"argv\": [\n47: \"/usr/bin/objdump\",\n48: \"-D\",\n49: \"-Mintel\",\n50: \"--start-address=0x00885380\",\n51: \"--stop-address=0x0088544e\",\n52: \"/home/alex/sots-re/dumps/sots.exe\"\n53: ],\n54: \"returncode\": 0,\n55: \"stdout\": {\n56: \"bytes\": 4134,\n57: \"sha256\": \"9cb7d2ccfcc645b3b642e520ba51c85330c57d6d4395ed3fbd4a4a1950436e80\"\n58: },\n59: \"stderr\": {\n60: \"bytes\": 0,\n61: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n62: }\n63: },\n64: {\n65: \"name\": \"turn-append\",\n66: \"variant\": \"exact\",\n67: \"argv\": [\n68: \"/usr/bin/objdump\",\n69: \"-D\",\n70: \"-Mintel\",\n71: \"--start-address=0x00884cb0\",\n72: \"--stop-address=0x00884d8f\",\n73: \"/home/alex/sots-re/dumps/sots.exe\"\n74: ],\n75: \"returncode\": 0,\n76: \"stdout\": {\n77: \"bytes\": 4179,\n78: \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n79: },\n80: \"stderr\": {\n81: \"bytes\": 0,\n82: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n83: }\n84: },\n85: {\n86: \"name\": \"turn-append\",\n87: \"variant\": \"wide\",\n88: \"argv\": [\n89: \"/usr/bin/objdump\",\n90: \"-D\",\n91: \"-Mintel\",\n92: \"--start-address=0x00884cb0\",\n93: \"--stop-address=0x00884d93\",\n94: \"/home/alex/sots-re/dumps/sots.exe\"\n95: ],\n96: \"returncode\": 0,\n97: \"stdout\": {\n98: \"bytes\": 4309,\n99: \"sha256\": \"957339f40b2af8947cb883cc1d3a9d1e151bf7663305415065472ef9171dc33d\"\n100: },\n101: \"stderr\": {\n102: \"bytes\": 0,\n103: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n104: }\n105: },\n106: {\n107: \"name\": \"nested-copy\",\n108: \"variant\": \"exact\",\n109: \"argv\": [\n110: \"/usr/bin/objdump\",\n111: \"-D\",\n112: \"-Mintel\",\n113: \"--start-address=0x00779850\",\n114: \"--stop-address=0x00779a20\",\n115: \"/home/alex/sots-re/dumps/sots.exe\"\n116: ],\n117: \"returncode\": 0,\n118: \"stdout\": {\n119: \"bytes\": 8469,\n120: \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n121: },\n122: \"stderr\": {\n123: \"bytes\": 0,\n124: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n125: }\n126: },\n127: {\n128: \"name\": \"nested-copy\",\n129: \"variant\": \"wide\",\n130: \"argv\": [\n131: \"/usr/bin/objdump\",\n132: \"-D\",\n133: \"-Mintel\",\n134: \"--start-address=0x00779850\",\n135: \"--stop-address=0x00779a24\",\n136: \"/home/alex/sots-re/dumps/sots.exe\"\n137: ],\n138: \"returncode\": 0,\n139: \"stdout\": {\n140: \"bytes\": 8558,\n141: \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n142: },\n143: \"stderr\": {\n144: \"bytes\": 0,\n145: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n146: }\n147: },\n148: {\n149: \"name\": \"nested-dtor\",\n150: \"variant\": \"exact\",\n151: \"argv\": [\n152: \"/usr/bin/objdump\",\n153: \"-D\",\n154: \"-Mintel\",\n155: \"--start-address=0x00629580\",\n156: \"--stop-address=0x006295ca\",\n157: \"/home/alex/sots-re/dumps/sots.exe\"\n158: ],\n159: \"returncode\": 0,\n160: \"stdout\": {\n161: \"bytes\": 1727,\n162: \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n163: },\n164: \"stderr\": {\n165: \"bytes\": 0,\n166: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n167: }\n168: },\n169: {\n170: \"name\": \"nested-dtor\",\n171: \"variant\": \"wide\",\n172: \"argv\": [\n173: \"/usr/bin/objdump\",\n174: \"-D\",\n175: \"-Mintel\",\n176: \"--start-address=0x00629580\",\n177: \"--stop-address=0x006295ce\",\n178: \"/home/alex/sots-re/dumps/sots.exe\"\n179: ],\n180: \"returncode\": 0,\n181: \"stdout\": {\n182: \"bytes\": 1887,\n183: \"sha256\": \"0aba6fc800760e3a113c07238cfb6e721623eb0bb8a933a990d3e2e82823d00f\"\n184: },\n185: \"stderr\": {\n186: \"bytes\": 0,\n187: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n188: }\n189: }\n190: ],\n191: \"checks\": [\n192: {\n193: \"name\": \"turn-get-create-exact-return-zero\",\n194: \"status\": \"pass\"\n195: },\n196: {\n197: \"name\": \"turn-get-create-exact-stdout-nonempty\",\n198: \"status\": \"pass\"\n199: },\n200: {\n201: \"name\": \"turn-get-create-exact-stderr-empty\",\n202: \"status\": \"pass\"\n203: },\n204: {\n205: \"name\": \"turn-get-create-wide-return-zero\",\n206: \"status\": \"pass\"\n207: },\n208: {\n209: \"name\": \"turn-get-create-wide-stdout-nonempty\",\n210: \"status\": \"pass\"\n211: },\n212: {\n213: \"name\": \"turn-get-create-wide-stderr-empty\",\n214: \"status\": \"pass\"\n215: },\n216: {\n217: \"name\": \"turn-get-create-byte-exact-author-compare\",\n218: \"status\": \"pass\"\n219: },\n220: {\n221: \"name\": \"turn-get-create-wide-row-prefix\",\n222: \"status\": \"pass\"\n223: },\n224: {\n225: \"name\": \"turn-get-create-wide-adds-row\",\n226: \"status\": \"pass\"\n227: },\n228: {\n229: \"name\": \"turn-append-exact-return-zero\",\n230: \"status\": \"pass\"\n231: },\n232: {\n233: \"name\": \"turn-append-exact-stdout-nonempty\",\n234: \"status\": \"pass\"\n235: },\n236: {\n237: \"name\": \"turn-append-exact-stderr-empty\",\n238: \"status\": \"pass\"\n239: },\n240: {\n241: \"name\": \"turn-append-wide-return-zero\",\n242: \"status\": \"pass\"\n243: },\n244: {\n245: \"name\": \"turn-append-wide-stdout-nonempty\",\n246: \"status\": \"pass\"\n247: },\n248: {\n249: \"name\": \"turn-append-wide-stderr-empty\",\n250: \"status\": \"pass\"\n251: },\n252: {\n253: \"name\": \"turn-append-byte-exact-author-compare\",\n254: \"status\": \"pass\"\n255: },\n256: {\n257: \"name\": \"turn-append-wide-row-prefix\",\n258: \"status\": \"pass\"\n259: },\n260: {\n261: \"name\": \"turn-append-wide-adds-row\",\n262: \"status\": \"pass\"\n263: },\n264: {\n265: \"name\": \"nested-copy-exact-return-zero\",\n266: \"status\": \"pass\"\n267: },\n268: {\n269: \"name\": \"nested-copy-exact-stdout-nonempty\",\n270: \"status\": \"pass\"\n271: },\n272: {\n273: \"name\": \"nested-copy-exact-stderr-empty\",\n274: \"status\": \"pass\"\n275: },\n276: {\n277: \"name\": \"nested-copy-wide-return-zero\",\n278: \"status\": \"pass\"\n279: },\n280: {\n281: \"name\": \"nested-copy-wide-stdout-nonempty\",\n282: \"status\": \"pass\"\n283: },\n284: {\n285: \"name\": \"nested-copy-wide-stderr-empty\",\n286: \"status\": \"pass\"\n287: },\n288: {\n289: \"name\": \"nested-copy-byte-exact-author-compare\",\n290: \"status\": \"pass\"\n291: },\n292: {\n293: \"name\": \"nested-copy-wide-row-prefix\",\n294: \"status\": \"fail\"\n295: },\n296: {\n297: \"name\": \"nested-copy-wide-adds-row\",\n298: \"status\": \"pass\"\n299: },\n300: {\n301: \"name\": \"nested-dtor-exact-return-zero\",\n302: \"status\": \"pass\"\n303: },\n304: {\n305: \"name\": \"nested-dtor-exact-stdout-nonempty\",\n306: \"status\": \"pass\"\n307: },\n308: {\n309: \"name\": \"nested-dtor-exact-stderr-empty\",\n310: \"status\": \"pass\"\n311: },\n312: {\n313: \"name\": \"nested-dtor-wide-return-zero\",\n314: \"status\": \"pass\"\n315: },\n316: {\n317: \"name\": \"nested-dtor-wide-stdout-nonempty\",\n318: \"status\": \"pass\"\n319: },\n320: {\n321: \"name\": \"nested-dtor-wide-stderr-empty\",\n322: \"status\": \"pass\"\n323: },\n324: {\n325: \"name\": \"nested-dtor-byte-exact-author-compare\",\n326: \"status\": \"pass\"\n327: },\n328: {\n329: \"name\": \"nested-dtor-wide-row-prefix\",\n330: \"status\": \"pass\"\n331: },\n332: {\n333: \"name\": \"nested-dtor-wide-adds-row\",\n334: \"status\": \"pass\"\n335: },\n336: {\n337: \"name\": \"binary-hash\",\n338: \"status\": \"pass\"\n339: },\n340: {\n341: \"name\": \"tool-hash\",\n342: \"status\": \"pass\"\n343: },\n344: {\n345: \"name\": \"get-no-precall-ebp-minus-20-write\",\n346: \"status\": \"pass\"\n347: },\n348: {\n349: \"name\": \"get-last-match-overwrite-visible\",\n350: \"status\": \"pass\"\n351: },\n352: {\n353: \"name\": \"get-cleanup-before-final-store\",\n354: \"status\": \"pass\"\n355: },\n356: {\n357: \"name\": \"append-source4-copy-before-nested-copy-before-advance\",\n358: \"status\": \"pass\"\n359: },\n360: {\n361: \"name\": \"nested-copy-three-null-initializers\",\n362: \"status\": \"pass\"\n363: },\n364: {\n365: \"name\": \"nested-copy-empty-and-nonempty-branches\",\n366: \"status\": \"pass\"\n367: },\n368: {\n369: \"name\": \"nested-dtor-null-branch-loop-free-zero\",\n370: \"status\": \"pass\"\n371: }\n372: ],\n373: \"failed\": [\n374: \"nested-copy-wide-row-prefix\"\n375: ],\n376: \"scope\": \"Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.\"\n377: }\n\n(End of file - total 377 lines)\n","metadata":{"preview":"{\n \"schema\": \"sots-abi-independent-static/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"actor\": \"research-abi-correction-verifier\",\n \"role\": \"verifier\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:44:36.333584+00:00\",\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"author_manifest_sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\",\n \"stack_writes_to_ebp_minus_20_before_0x885413\": [],","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json","text":"{\n \"schema\": \"sots-abi-independent-static/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"actor\": \"research-abi-correction-verifier\",\n \"role\": \"verifier\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:44:36.333584+00:00\",\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"author_manifest_sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\",\n \"stack_writes_to_ebp_minus_20_before_0x885413\": [],\n \"commands\": [\n {\n \"name\": \"turn-get-create\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544a\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 3974,\n \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-get-create\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544e\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 4134,\n \"sha256\": \"9cb7d2ccfcc645b3b642e520ba51c85330c57d6d4395ed3fbd4a4a1950436e80\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d8f\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 4179,\n \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d93\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 4309,\n \"sha256\": \"957339f40b2af8947cb883cc1d3a9d1e151bf7663305415065472ef9171dc33d\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a20\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 8469,\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a24\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 8558,\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"variant\": \"exact\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ca\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 1727,\n \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"variant\": \"wide\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ce\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"returncode\": 0,\n \"stdout\": {\n \"bytes\": 1887,\n \"sha256\": \"0aba6fc800760e3a113c07238cfb6e721623eb0bb8a933a990d3e2e82823d00f\"\n },\n \"stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n }\n ],\n \"checks\": [\n {\n \"name\": \"turn-get-create-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-row-prefix\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-get-create-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-row-prefix\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"turn-append-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-wide-row-prefix\",\n \"status\": \"fail\"\n },\n {\n \"name\": \"nested-copy-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-exact-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-exact-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-exact-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-return-zero\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-stdout-nonempty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-stderr-empty\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-byte-exact-author-compare\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-row-prefix\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-wide-adds-row\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"binary-hash\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"tool-hash\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"get-no-precall-ebp-minus-20-write\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"get-last-match-overwrite-visible\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"get-cleanup-before-final-store\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"append-source4-copy-before-nested-copy-before-advance\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-three-null-initializers\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-copy-empty-and-nonempty-branches\",\n \"status\": \"pass\"\n },\n {\n \"name\": \"nested-dtor-null-branch-loop-free-zero\",\n \"status\": \"pass\"\n }\n ],\n \"failed\": [\n \"nested-copy-wide-row-prefix\"\n ],\n \"scope\": \"Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.\"\n}","lineStart":1,"lineEnd":377,"totalLines":377,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json","time":{"start":1789015731906,"end":1789015731915}},"metadata":{"openai":{"itemId":"fc_0297b48a284d06f1016aa236b229d887d18fb0592298416aa9"}},"id":"prt_089a5ad68001qEGL0btINwdcSm","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a57b78001qslMAnNK6HrCoW"}} +{"type":"tool_use","timestamp":1789015732051,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_pxaWvblWCfPneJxgnzqLuIik","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/runs/run-daefd1b77558f324ae730b27.json"},"output":"/home/alex/sots-re/campaign/runtime/runs/run-daefd1b77558f324ae730b27.json\nfile\n\n1: {\n2: \"actor\": \"research ABI surprise resolver\",\n3: \"checkpoint_session\": \"run-daefd1b77558f324ae730b27\",\n4: \"command\": [\n5: \"opencode\",\n6: \"run\",\n7: \"--format\",\n8: \"json\",\n9: \"--model\",\n10: \"openai/gpt-6-astra\",\n11: \"--agent\",\n12: \"sots-resolver\",\n13: \"Start a FRESH bounded campaign quantum (40 steps). No delegation.\\nRole=resolver; requested model=openai/gpt-6-astra; actor=research ABI surprise resolver; checkpoint session=run-daefd1b77558f324ae730b27.\\nCanonical state root: /home/alex/sots-re\\nContract: /home/alex/sots-re/campaign/contracts/research-completion-abi.json\\nLatest checkpoint: campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\\nEngine worktree: /tmp/opencode/sots-final-research-engine\\nRE worktree: /tmp/opencode/sots-final-research-re\\nRead canonical campaign/README.md, contract, latest checkpoint and open surprises before work. Verify source/worktree/resource identities. Only edit owned scope. Missing state means blocked. Do not commit, stage, push or mutate lab resources without explicit authority and a lease. Checkpoint every 20 tool calls or 15 minutes, before experiments, compaction and stopping; persist under canonical campaign/ using tools/campaign.py with the session above, exact model, actor and role. Include observations versus decisions, source identities, artifact paths, tests, blockers and ONE exact next action. Fresh checkpoint at quantum end is mandatory. Record a surprise and pause affected work if assumptions are falsified. RESOLUTION-ONLY: read evidence, record decisions/checkpoints; no implementation or architecture source edits. Do not rely on chat resume or automatic compaction.\"\n14: ],\n15: \"config\": {\n16: \"canonical_files\": {\n17: \"campaign/agents/analyst.md\": \"895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952\",\n18: \"campaign/agents/implementer.md\": \"eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91\",\n19: \"campaign/agents/lab.md\": \"48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8\",\n20: \"campaign/agents/lead.md\": \"8fcfe52be845ed98a172afb47ea888b19bb7bffa80f7b50ace58d2bb66924220\",\n21: \"campaign/agents/resolver.md\": \"742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f\",\n22: \"campaign/agents/verifier.md\": \"e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b\",\n23: \"campaign/models.json\": \"00f959ff4ce16ba22f6befa7a9d495eb85d62d9e8001b1e1345eaae0e11b6e48\",\n24: \"opencode.json\": \"027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99\"\n25: },\n26: \"effective\": {\n27: \"agent_sha256\": \"538b7262e3a21bba755e48cc1974eefb35bf710a5d23dde6d05fedb73250b7a0\",\n28: \"sha256\": \"a1af2e7a400b316721b62a04182808806d2f1e774a248420663c627375e4984b\"\n29: },\n30: \"expanded_prompt_sha256\": \"75226903f94e211868d70015e18e88cc3e3d338111743753bcd8a0f35e13e317\",\n31: \"overlay\": {\n32: \"agent\": {\n33: \"sots-resolver\": {\n34: \"model\": \"openai/gpt-6-astra\",\n35: \"permission\": {\n36: \"bash\": {\n37: \"*\": \"deny\",\n38: \"git -C * diff *\": \"allow\",\n39: \"git -C * log *\": \"allow\",\n40: \"git -C * rev-parse *\": \"allow\",\n41: \"git -C * show *\": \"allow\",\n42: \"git -C * status *\": \"allow\",\n43: \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint *\": \"allow\",\n44: \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve *\": \"allow\",\n45: \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re status *\": \"allow\",\n46: \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re surprise *\": \"allow\",\n47: \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re validate *\": \"allow\"\n48: },\n49: \"edit\": {\n50: \"*\": \"deny\",\n51: \"/home/alex/sots-re/campaign/contracts/*\": \"allow\",\n52: \"/home/alex/sots-re/campaign/runtime/*\": \"allow\"\n53: },\n54: \"external_directory\": {\n55: \"*\": \"deny\",\n56: \"/home/alex/sots-re\": \"allow\",\n57: \"/home/alex/sots-re/*\": \"allow\",\n58: \"/tmp/opencode/sots-final-research-engine\": \"allow\",\n59: \"/tmp/opencode/sots-final-research-engine/*\": \"allow\",\n60: \"/tmp/opencode/sots-final-research-re\": \"allow\",\n61: \"/tmp/opencode/sots-final-research-re/*\": \"allow\"\n62: },\n63: \"glob\": \"allow\",\n64: \"grep\": \"allow\",\n65: \"list\": \"allow\",\n66: \"question\": \"deny\",\n67: \"read\": \"allow\",\n68: \"task\": \"deny\"\n69: },\n70: \"prompt\": \"You are the SOTS resolver, running GPT-6 Astra. Read canonical RE AGENTS.md, campaign/README.md,\\nthe surprise, affected contracts, checkpoints and raw evidence. First state the observation and\\nits provenance. Check source/binary/input identity, positive execution and instrument neutrality\\nbefore interpreting game behavior. Do not diagnose a stale build as a game mechanism.\\n\\nFor every affected claim record survives / qualified / overturned and exact domain. Name the\\ncheapest discriminating experiment, revised scope/dependencies and affected evidence that must\\nbe invalidated. Resolve through campaign controls with a durable Astra decision. Never silently\\nwaive acceptance or treat untested inference as measurement. Leave blocked work blocked until\\nthe decision supplies a valid next action. No autonomous lab mutation or nested delegation.\\n\\nCheckpoint every 20 calls/15min and before compaction, handoff or stop. Use short bounded sessions;\\nthe repository carries decisions, not chat memory. Do not create another explanatory history in\\nthe live board: link the actual decision and regenerate projections after integration.\\n\",\n71: \"steps\": 40\n72: }\n73: },\n74: \"model\": \"openai/gpt-6-astra\"\n75: },\n76: \"path\": \"/home/alex/sots-re/opencode.json\",\n77: \"sha256\": \"027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99\"\n78: },\n79: \"contract\": \"research-completion-abi\",\n80: \"cwd\": \"/tmp/opencode/sots-final-research-re\",\n81: \"id\": \"run-daefd1b77558f324ae730b27\",\n82: \"max_steps\": 40,\n83: \"requested_model\": \"openai/gpt-6-astra\",\n84: \"resolution_only\": true,\n85: \"role\": \"resolver\",\n86: \"schema\": \"sots-run/1\",\n87: \"source_before\": {\n88: \"engine\": {\n89: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n90: \"files\": {\n91: \".gitignore\": {\n92: \"mode\": 420,\n93: \"sha256\": \"5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145\"\n94: },\n95: \"AGENTS.md\": {\n96: \"mode\": 420,\n97: \"sha256\": \"7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7\"\n98: },\n99: \"CLAUDE.md\": {\n100: \"mode\": 420,\n101: \"sha256\": \"15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5\"\n102: },\n103: \"CMakeLists.txt\": {\n104: \"mode\": 420,\n105: \"sha256\": \"6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed\"\n106: },\n107: \"CMakePresets.json\": {\n108: \"mode\": 420,\n109: \"sha256\": \"fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0\"\n110: },\n111: \"CONTRIBUTING.md\": {\n112: \"mode\": 420,\n113: \"sha256\": \"26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506\"\n114: },\n115: \"LICENSE\": {\n116: \"mode\": 420,\n117: \"sha256\": \"eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858\"\n118: },\n119: \"README.md\": {\n120: \"mode\": 420,\n121: \"sha256\": \"66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1\"\n122: },\n123: \"cmake/toolchain-mingw-i686.cmake\": {\n124: \"mode\": 420,\n125: \"sha256\": \"231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b\"\n126: },\n127: \"docs/A2-alliance-and-modcount.md\": {\n128: \"mode\": 420,\n129: \"sha256\": \"0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701\"\n130: },\n131: \"docs/AC-predictions.md\": {\n132: \"mode\": 420,\n133: \"sha256\": \"ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda\"\n134: },\n135: \"docs/B1.md\": {\n136: \"mode\": 420,\n137: \"sha256\": \"42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364\"\n138: },\n139: \"docs/B2.md\": {\n140: \"mode\": 420,\n141: \"sha256\": \"87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8\"\n142: },\n143: \"docs/B3.md\": {\n144: \"mode\": 420,\n145: \"sha256\": \"fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518\"\n146: },\n147: \"docs/B4.md\": {\n148: \"mode\": 420,\n149: \"sha256\": \"22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d\"\n150: },\n151: \"docs/B6-ship-construction.md\": {\n152: \"mode\": 420,\n153: \"sha256\": \"9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab\"\n154: },\n155: \"docs/CB-capture.md\": {\n156: \"mode\": 420,\n157: \"sha256\": \"ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0\"\n158: },\n159: \"docs/CB-predictions.md\": {\n160: \"mode\": 420,\n161: \"sha256\": \"ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f\"\n162: },\n163: \"docs/E-events.md\": {\n164: \"mode\": 420,\n165: \"sha256\": \"de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201\"\n166: },\n167: \"docs/EV-events.md\": {\n168: \"mode\": 420,\n169: \"sha256\": \"e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9\"\n170: },\n171: \"docs/G-wire-schema.md\": {\n172: \"mode\": 420,\n173: \"sha256\": \"19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591\"\n174: },\n175: \"docs/G3-civilian-growth.md\": {\n176: \"mode\": 420,\n177: \"sha256\": \"38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30\"\n178: },\n179: \"docs/H-probes.md\": {\n180: \"mode\": 420,\n181: \"sha256\": \"f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f\"\n182: },\n183: \"docs/L1-predictions.md\": {\n184: \"mode\": 420,\n185: \"sha256\": \"af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754\"\n186: },\n187: \"docs/L2-predictions.md\": {\n188: \"mode\": 420,\n189: \"sha256\": \"18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460\"\n190: },\n191: \"docs/L3-predictions.md\": {\n192: \"mode\": 420,\n193: \"sha256\": \"d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e\"\n194: },\n195: \"docs/L4-ai-orders.md\": {\n196: \"mode\": 420,\n197: \"sha256\": \"b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835\"\n198: },\n199: \"docs/L4-predictions.md\": {\n200: \"mode\": 420,\n201: \"sha256\": \"6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44\"\n202: },\n203: \"docs/L5-live-verification.md\": {\n204: \"mode\": 420,\n205: \"sha256\": \"4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4\"\n206: },\n207: \"docs/M-movefleet.md\": {\n208: \"mode\": 420,\n209: \"sha256\": \"718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426\"\n210: },\n211: \"docs/M0.md\": {\n212: \"mode\": 420,\n213: \"sha256\": \"e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705\"\n214: },\n215: \"docs/M1.md\": {\n216: \"mode\": 420,\n217: \"sha256\": \"e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704\"\n218: },\n219: \"docs/M2.md\": {\n220: \"mode\": 420,\n221: \"sha256\": \"25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61\"\n222: },\n223: \"docs/N-output-term.md\": {\n224: \"mode\": 420,\n225: \"sha256\": \"3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde\"\n226: },\n227: \"docs/P-events-wiring.md\": {\n228: \"mode\": 420,\n229: \"sha256\": \"72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba\"\n230: },\n231: \"docs/PAR-predictions.md\": {\n232: \"mode\": 420,\n233: \"sha256\": \"16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846\"\n234: },\n235: \"docs/PL-players-residual.md\": {\n236: \"mode\": 420,\n237: \"sha256\": \"9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc\"\n238: },\n239: \"docs/R-recapture.md\": {\n240: \"mode\": 420,\n241: \"sha256\": \"73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f\"\n242: },\n243: \"docs/RB-predictions.md\": {\n244: \"mode\": 420,\n245: \"sha256\": \"c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7\"\n246: },\n247: \"docs/S-standalone.md\": {\n248: \"mode\": 420,\n249: \"sha256\": \"8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e\"\n250: },\n251: \"docs/SD-predictions.md\": {\n252: \"mode\": 420,\n253: \"sha256\": \"a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0\"\n254: },\n255: \"docs/SV-script-objects.md\": {\n256: \"mode\": 420,\n257: \"sha256\": \"80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409\"\n258: },\n259: \"docs/T-turn-driver.md\": {\n260: \"mode\": 420,\n261: \"sha256\": \"a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e\"\n262: },\n263: \"docs/U-unlock.md\": {\n264: \"mode\": 420,\n265: \"sha256\": \"5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901\"\n266: },\n267: \"docs/V-eventlive.md\": {\n268: \"mode\": 420,\n269: \"sha256\": \"ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1\"\n270: },\n271: \"docs/W2-predictions.md\": {\n272: \"mode\": 420,\n273: \"sha256\": \"9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5\"\n274: },\n275: \"docs/W2-watchpoints.md\": {\n276: \"mode\": 420,\n277: \"sha256\": \"f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107\"\n278: },\n279: \"docs/W3-predictions.md\": {\n280: \"mode\": 420,\n281: \"sha256\": \"211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf\"\n282: },\n283: \"docs/W3-watchpoints.md\": {\n284: \"mode\": 420,\n285: \"sha256\": \"568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061\"\n286: },\n287: \"docs/Y-standalone-rng-and-tail.md\": {\n288: \"mode\": 420,\n289: \"sha256\": \"49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b\"\n290: },\n291: \"docs/Z-tail-rng.md\": {\n292: \"mode\": 420,\n293: \"sha256\": \"3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1\"\n294: },\n295: \"docs/architecture.md\": {\n296: \"mode\": 420,\n297: \"sha256\": \"ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f\"\n298: },\n299: \"docs/game-data.md\": {\n300: \"mode\": 420,\n301: \"sha256\": \"2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23\"\n302: },\n303: \"docs/game-design.md\": {\n304: \"mode\": 420,\n305: \"sha256\": \"5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272\"\n306: },\n307: \"docs/game-effects.md\": {\n308: \"mode\": 420,\n309: \"sha256\": \"e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d\"\n310: },\n311: \"docs/game-sim.md\": {\n312: \"mode\": 420,\n313: \"sha256\": \"d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e\"\n314: },\n315: \"docs/harness-audit.md\": {\n316: \"mode\": 420,\n317: \"sha256\": \"931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0\"\n318: },\n319: \"docs/mars-parse.md\": {\n320: \"mode\": 420,\n321: \"sha256\": \"d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd\"\n322: },\n323: \"docs/mars-rng.md\": {\n324: \"mode\": 420,\n325: \"sha256\": \"f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c\"\n326: },\n327: \"docs/mars-stream.md\": {\n328: \"mode\": 420,\n329: \"sha256\": \"61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7\"\n330: },\n331: \"docs/mars-text.md\": {\n332: \"mode\": 420,\n333: \"sha256\": \"2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1\"\n334: },\n335: \"docs/mars-vfs.md\": {\n336: \"mode\": 420,\n337: \"sha256\": \"1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62\"\n338: },\n339: \"docs/shim-trace.md\": {\n340: \"mode\": 420,\n341: \"sha256\": \"8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5\"\n342: },\n343: \"include/generated/sots_addresses.h\": {\n344: \"mode\": 420,\n345: \"sha256\": \"fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448\"\n346: },\n347: \"include/generated/sots_stream_schema.h\": {\n348: \"mode\": 420,\n349: \"sha256\": \"13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c\"\n350: },\n351: \"opencode.json\": {\n352: \"mode\": 420,\n353: \"sha256\": \"9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15\"\n354: },\n355: \"src/app/CMakeLists.txt\": {\n356: \"mode\": 420,\n357: \"sha256\": \"142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717\"\n358: },\n359: \"src/app/alliance.cpp\": {\n360: \"mode\": 420,\n361: \"sha256\": \"37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9\"\n362: },\n363: \"src/app/alliance.h\": {\n364: \"mode\": 420,\n365: \"sha256\": \"08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd\"\n366: },\n367: \"src/app/command_replay.cpp\": {\n368: \"mode\": 420,\n369: \"sha256\": \"739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824\"\n370: },\n371: \"src/app/command_replay.h\": {\n372: \"mode\": 420,\n373: \"sha256\": \"956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2\"\n374: },\n375: \"src/app/construction_phase.cpp\": {\n376: \"mode\": 420,\n377: \"sha256\": \"025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df\"\n378: },\n379: \"src/app/construction_phase.h\": {\n380: \"mode\": 420,\n381: \"sha256\": \"a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e\"\n382: },\n383: \"src/app/event_phase.cpp\": {\n384: \"mode\": 420,\n385: \"sha256\": \"80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90\"\n386: },\n387: \"src/app/event_phase.h\": {\n388: \"mode\": 420,\n389: \"sha256\": \"54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34\"\n390: },\n391: \"src/app/growth_phase.cpp\": {\n392: \"mode\": 420,\n393: \"sha256\": \"5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3\"\n394: },\n395: \"src/app/growth_phase.h\": {\n396: \"mode\": 420,\n397: \"sha256\": \"8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b\"\n398: },\n399: \"src/app/main.cpp\": {\n400: \"mode\": 420,\n401: \"sha256\": \"adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7\"\n402: },\n403: \"src/app/observed_phase.cpp\": {\n404: \"mode\": 420,\n405: \"sha256\": \"31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3\"\n406: },\n407: \"src/app/observed_phase.h\": {\n408: \"mode\": 420,\n409: \"sha256\": \"f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693\"\n410: },\n411: \"src/app/phase_catalog.cpp\": {\n412: \"mode\": 420,\n413: \"sha256\": \"e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316\"\n414: },\n415: \"src/app/phase_catalog.h\": {\n416: \"mode\": 420,\n417: \"sha256\": \"da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87\"\n418: },\n419: \"src/app/report.cpp\": {\n420: \"mode\": 420,\n421: \"sha256\": \"da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228\"\n422: },\n423: \"src/app/report.h\": {\n424: \"mode\": 420,\n425: \"sha256\": \"0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481\"\n426: },\n427: \"src/app/script_phase.cpp\": {\n428: \"mode\": 420,\n429: \"sha256\": \"61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91\"\n430: },\n431: \"src/app/script_phase.h\": {\n432: \"mode\": 420,\n433: \"sha256\": \"e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7\"\n434: },\n435: \"src/app/trade_raid.cpp\": {\n436: \"mode\": 420,\n437: \"sha256\": \"07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf\"\n438: },\n439: \"src/app/trade_raid.h\": {\n440: \"mode\": 420,\n441: \"sha256\": \"10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52\"\n442: },\n443: \"src/app/treaty.cpp\": {\n444: \"mode\": 420,\n445: \"sha256\": \"317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575\"\n446: },\n447: \"src/app/treaty.h\": {\n448: \"mode\": 420,\n449: \"sha256\": \"836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9\"\n450: },\n451: \"src/app/turn.cpp\": {\n452: \"mode\": 420,\n453: \"sha256\": \"a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4\"\n454: },\n455: \"src/app/turn.h\": {\n456: \"mode\": 420,\n457: \"sha256\": \"85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237\"\n458: },\n459: \"src/app/turn_record.cpp\": {\n460: \"mode\": 420,\n461: \"sha256\": \"e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d\"\n462: },\n463: \"src/app/turn_record.h\": {\n464: \"mode\": 420,\n465: \"sha256\": \"78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d\"\n466: },\n467: \"src/app/visibility_phase.cpp\": {\n468: \"mode\": 420,\n469: \"sha256\": \"34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131\"\n470: },\n471: \"src/app/visibility_phase.h\": {\n472: \"mode\": 420,\n473: \"sha256\": \"60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27\"\n474: },\n475: \"src/game/ai/CMakeLists.txt\": {\n476: \"mode\": 420,\n477: \"sha256\": \"f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb\"\n478: },\n479: \"src/game/ai/agent.cpp\": {\n480: \"mode\": 420,\n481: \"sha256\": \"e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7\"\n482: },\n483: \"src/game/ai/agent.h\": {\n484: \"mode\": 420,\n485: \"sha256\": \"48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244\"\n486: },\n487: \"src/game/ai/apply_order.cpp\": {\n488: \"mode\": 420,\n489: \"sha256\": \"122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253\"\n490: },\n491: \"src/game/ai/apply_order.h\": {\n492: \"mode\": 420,\n493: \"sha256\": \"a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3\"\n494: },\n495: \"src/game/ai/command_capture.cpp\": {\n496: \"mode\": 420,\n497: \"sha256\": \"cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec\"\n498: },\n499: \"src/game/ai/command_capture.h\": {\n500: \"mode\": 420,\n501: \"sha256\": \"921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f\"\n502: },\n503: \"src/game/ai/orders.cpp\": {\n504: \"mode\": 420,\n505: \"sha256\": \"1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640\"\n506: },\n507: \"src/game/ai/orders.h\": {\n508: \"mode\": 420,\n509: \"sha256\": \"c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae\"\n510: },\n511: \"src/game/ai/tasks.cpp\": {\n512: \"mode\": 420,\n513: \"sha256\": \"b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76\"\n514: },\n515: \"src/game/ai/tasks.h\": {\n516: \"mode\": 420,\n517: \"sha256\": \"b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d\"\n518: },\n519: \"src/game/ai/turn_order.cpp\": {\n520: \"mode\": 420,\n521: \"sha256\": \"858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22\"\n522: },\n523: \"src/game/ai/turn_order.h\": {\n524: \"mode\": 420,\n525: \"sha256\": \"3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f\"\n526: },\n527: \"src/game/combat/CMakeLists.txt\": {\n528: \"mode\": 420,\n529: \"sha256\": \"4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115\"\n530: },\n531: \"src/game/combat/retreat.cpp\": {\n532: \"mode\": 420,\n533: \"sha256\": \"eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f\"\n534: },\n535: \"src/game/combat/retreat.h\": {\n536: \"mode\": 420,\n537: \"sha256\": \"5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d\"\n538: },\n539: \"src/game/config/CMakeLists.txt\": {\n540: \"mode\": 420,\n541: \"sha256\": \"c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7\"\n542: },\n543: \"src/game/config/config_loader.cpp\": {\n544: \"mode\": 420,\n545: \"sha256\": \"d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1\"\n546: },\n547: \"src/game/config/config_loader.h\": {\n548: \"mode\": 420,\n549: \"sha256\": \"fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085\"\n550: },\n551: \"src/game/config/manifest_loader.cpp\": {\n552: \"mode\": 420,\n553: \"sha256\": \"dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6\"\n554: },\n555: \"src/game/config/manifest_loader.h\": {\n556: \"mode\": 420,\n557: \"sha256\": \"68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5\"\n558: },\n559: \"src/game/config/msvc_sort.h\": {\n560: \"mode\": 420,\n561: \"sha256\": \"17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716\"\n562: },\n563: \"src/game/data/CMakeLists.txt\": {\n564: \"mode\": 420,\n565: \"sha256\": \"677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51\"\n566: },\n567: \"src/game/data/block.cpp\": {\n568: \"mode\": 420,\n569: \"sha256\": \"f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200\"\n570: },\n571: \"src/game/data/block.h\": {\n572: \"mode\": 420,\n573: \"sha256\": \"f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc\"\n574: },\n575: \"src/game/data/catalog.cpp\": {\n576: \"mode\": 420,\n577: \"sha256\": \"7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc\"\n578: },\n579: \"src/game/data/catalog.h\": {\n580: \"mode\": 420,\n581: \"sha256\": \"80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e\"\n582: },\n583: \"src/game/data/common.cpp\": {\n584: \"mode\": 420,\n585: \"sha256\": \"e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040\"\n586: },\n587: \"src/game/data/common.h\": {\n588: \"mode\": 420,\n589: \"sha256\": \"d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187\"\n590: },\n591: \"src/game/data/fields.h\": {\n592: \"mode\": 420,\n593: \"sha256\": \"4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb\"\n594: },\n595: \"src/game/data/shipsection.cpp\": {\n596: \"mode\": 420,\n597: \"sha256\": \"82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264\"\n598: },\n599: \"src/game/data/shipsection.h\": {\n600: \"mode\": 420,\n601: \"sha256\": \"bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0\"\n602: },\n603: \"src/game/data/strings.cpp\": {\n604: \"mode\": 420,\n605: \"sha256\": \"6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59\"\n606: },\n607: \"src/game/data/strings.h\": {\n608: \"mode\": 420,\n609: \"sha256\": \"fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055\"\n610: },\n611: \"src/game/data/techtree.cpp\": {\n612: \"mode\": 420,\n613: \"sha256\": \"2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea\"\n614: },\n615: \"src/game/data/techtree.h\": {\n616: \"mode\": 420,\n617: \"sha256\": \"504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007\"\n618: },\n619: \"src/game/data/turrets.cpp\": {\n620: \"mode\": 420,\n621: \"sha256\": \"ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4\"\n622: },\n623: \"src/game/data/turrets.h\": {\n624: \"mode\": 420,\n625: \"sha256\": \"f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64\"\n626: },\n627: \"src/game/data/weapon.cpp\": {\n628: \"mode\": 420,\n629: \"sha256\": \"accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6\"\n630: },\n631: \"src/game/data/weapon.h\": {\n632: \"mode\": 420,\n633: \"sha256\": \"63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009\"\n634: },\n635: \"src/game/design/CMakeLists.txt\": {\n636: \"mode\": 420,\n637: \"sha256\": \"42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef\"\n638: },\n639: \"src/game/design/defaults.cpp\": {\n640: \"mode\": 420,\n641: \"sha256\": \"8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528\"\n642: },\n643: \"src/game/design/defaults.h\": {\n644: \"mode\": 420,\n645: \"sha256\": \"20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b\"\n646: },\n647: \"src/game/design/design.cpp\": {\n648: \"mode\": 420,\n649: \"sha256\": \"e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20\"\n650: },\n651: \"src/game/design/design.h\": {\n652: \"mode\": 420,\n653: \"sha256\": \"7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997\"\n654: },\n655: \"src/game/design/hull.cpp\": {\n656: \"mode\": 420,\n657: \"sha256\": \"554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a\"\n658: },\n659: \"src/game/design/hull.h\": {\n660: \"mode\": 420,\n661: \"sha256\": \"997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461\"\n662: },\n663: \"src/game/design/rules.cpp\": {\n664: \"mode\": 420,\n665: \"sha256\": \"a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319\"\n666: },\n667: \"src/game/design/rules.h\": {\n668: \"mode\": 420,\n669: \"sha256\": \"70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229\"\n670: },\n671: \"src/game/design/stats.cpp\": {\n672: \"mode\": 420,\n673: \"sha256\": \"c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54\"\n674: },\n675: \"src/game/design/stats.h\": {\n676: \"mode\": 420,\n677: \"sha256\": \"ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5\"\n678: },\n679: \"src/game/effects/CMakeLists.txt\": {\n680: \"mode\": 420,\n681: \"sha256\": \"2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89\"\n682: },\n683: \"src/game/effects/tech_effects.cpp\": {\n684: \"mode\": 420,\n685: \"sha256\": \"40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604\"\n686: },\n687: \"src/game/effects/tech_effects.h\": {\n688: \"mode\": 420,\n689: \"sha256\": \"ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6\"\n690: },\n691: \"src/game/effects/tech_id.cpp\": {\n692: \"mode\": 420,\n693: \"sha256\": \"11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6\"\n694: },\n695: \"src/game/effects/tech_id.h\": {\n696: \"mode\": 420,\n697: \"sha256\": \"f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86\"\n698: },\n699: \"src/game/events/CMakeLists.txt\": {\n700: \"mode\": 420,\n701: \"sha256\": \"9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2\"\n702: },\n703: \"src/game/events/event_log.cpp\": {\n704: \"mode\": 420,\n705: \"sha256\": \"3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1\"\n706: },\n707: \"src/game/events/event_log.h\": {\n708: \"mode\": 420,\n709: \"sha256\": \"2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953\"\n710: },\n711: \"src/game/events/research_events.cpp\": {\n712: \"mode\": 420,\n713: \"sha256\": \"9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253\"\n714: },\n715: \"src/game/events/research_events.h\": {\n716: \"mode\": 420,\n717: \"sha256\": \"b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22\"\n718: },\n719: \"src/game/nav/CMakeLists.txt\": {\n720: \"mode\": 420,\n721: \"sha256\": \"79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a\"\n722: },\n723: \"src/game/nav/pathplan.cpp\": {\n724: \"mode\": 420,\n725: \"sha256\": \"04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775\"\n726: },\n727: \"src/game/nav/pathplan.h\": {\n728: \"mode\": 420,\n729: \"sha256\": \"28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7\"\n730: },\n731: \"src/game/sim/CMakeLists.txt\": {\n732: \"mode\": 420,\n733: \"sha256\": \"4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116\"\n734: },\n735: \"src/game/sim/colony.cpp\": {\n736: \"mode\": 420,\n737: \"sha256\": \"e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77\"\n738: },\n739: \"src/game/sim/colony.h\": {\n740: \"mode\": 420,\n741: \"sha256\": \"357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47\"\n742: },\n743: \"src/game/sim/construction.cpp\": {\n744: \"mode\": 420,\n745: \"sha256\": \"8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130\"\n746: },\n747: \"src/game/sim/construction.h\": {\n748: \"mode\": 420,\n749: \"sha256\": \"a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460\"\n750: },\n751: \"src/game/sim/economy.cpp\": {\n752: \"mode\": 420,\n753: \"sha256\": \"1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89\"\n754: },\n755: \"src/game/sim/economy.h\": {\n756: \"mode\": 420,\n757: \"sha256\": \"6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a\"\n758: },\n759: \"src/game/sim/movement.cpp\": {\n760: \"mode\": 420,\n761: \"sha256\": \"80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2\"\n762: },\n763: \"src/game/sim/movement.h\": {\n764: \"mode\": 420,\n765: \"sha256\": \"9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441\"\n766: },\n767: \"src/game/sim/numeric.h\": {\n768: \"mode\": 420,\n769: \"sha256\": \"88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2\"\n770: },\n771: \"src/game/sim/observed.cpp\": {\n772: \"mode\": 420,\n773: \"sha256\": \"43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22\"\n774: },\n775: \"src/game/sim/observed.h\": {\n776: \"mode\": 420,\n777: \"sha256\": \"0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f\"\n778: },\n779: \"src/game/sim/player_turn.cpp\": {\n780: \"mode\": 420,\n781: \"sha256\": \"beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2\"\n782: },\n783: \"src/game/sim/player_turn.h\": {\n784: \"mode\": 420,\n785: \"sha256\": \"f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a\"\n786: },\n787: \"src/game/sim/research.cpp\": {\n788: \"mode\": 420,\n789: \"sha256\": \"95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89\"\n790: },\n791: \"src/game/sim/research.h\": {\n792: \"mode\": 420,\n793: \"sha256\": \"e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9\"\n794: },\n795: \"src/game/sim/rng.h\": {\n796: \"mode\": 420,\n797: \"sha256\": \"f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c\"\n798: },\n799: \"src/game/sim/scriptobjects.cpp\": {\n800: \"mode\": 420,\n801: \"sha256\": \"a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2\"\n802: },\n803: \"src/game/sim/scriptobjects.h\": {\n804: \"mode\": 420,\n805: \"sha256\": \"210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b\"\n806: },\n807: \"src/game/sim/species.h\": {\n808: \"mode\": 420,\n809: \"sha256\": \"83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298\"\n810: },\n811: \"src/game/sim/techgraph.cpp\": {\n812: \"mode\": 420,\n813: \"sha256\": \"81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8\"\n814: },\n815: \"src/game/sim/techgraph.h\": {\n816: \"mode\": 420,\n817: \"sha256\": \"b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e\"\n818: },\n819: \"src/game/sim/tuning.h\": {\n820: \"mode\": 420,\n821: \"sha256\": \"4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194\"\n822: },\n823: \"src/game/sim/visibility.cpp\": {\n824: \"mode\": 420,\n825: \"sha256\": \"25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0\"\n826: },\n827: \"src/game/sim/visibility.h\": {\n828: \"mode\": 420,\n829: \"sha256\": \"783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f\"\n830: },\n831: \"src/mars/parse/CMakeLists.txt\": {\n832: \"mode\": 420,\n833: \"sha256\": \"76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9\"\n834: },\n835: \"src/mars/parse/blocks.cpp\": {\n836: \"mode\": 420,\n837: \"sha256\": \"e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b\"\n838: },\n839: \"src/mars/parse/blocks.h\": {\n840: \"mode\": 420,\n841: \"sha256\": \"1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1\"\n842: },\n843: \"src/mars/parse/effect.cpp\": {\n844: \"mode\": 420,\n845: \"sha256\": \"beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9\"\n846: },\n847: \"src/mars/parse/effect.h\": {\n848: \"mode\": 420,\n849: \"sha256\": \"aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44\"\n850: },\n851: \"src/mars/parse/result.h\": {\n852: \"mode\": 420,\n853: \"sha256\": \"58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9\"\n854: },\n855: \"src/mars/parse/script.h\": {\n856: \"mode\": 420,\n857: \"sha256\": \"69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3\"\n858: },\n859: \"src/mars/parse/value.cpp\": {\n860: \"mode\": 420,\n861: \"sha256\": \"712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623\"\n862: },\n863: \"src/mars/parse/value.h\": {\n864: \"mode\": 420,\n865: \"sha256\": \"60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38\"\n866: },\n867: \"src/mars/rng/CMakeLists.txt\": {\n868: \"mode\": 420,\n869: \"sha256\": \"dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc\"\n870: },\n871: \"src/mars/rng/mt19937.cpp\": {\n872: \"mode\": 420,\n873: \"sha256\": \"0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b\"\n874: },\n875: \"src/mars/rng/mt19937.h\": {\n876: \"mode\": 420,\n877: \"sha256\": \"300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e\"\n878: },\n879: \"src/mars/stream/CMakeLists.txt\": {\n880: \"mode\": 420,\n881: \"sha256\": \"95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a\"\n882: },\n883: \"src/mars/stream/archive.h\": {\n884: \"mode\": 420,\n885: \"sha256\": \"84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e\"\n886: },\n887: \"src/mars/stream/bytes.h\": {\n888: \"mode\": 420,\n889: \"sha256\": \"9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1\"\n890: },\n891: \"src/mars/stream/dump.cpp\": {\n892: \"mode\": 420,\n893: \"sha256\": \"1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16\"\n894: },\n895: \"src/mars/stream/dump.h\": {\n896: \"mode\": 420,\n897: \"sha256\": \"a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f\"\n898: },\n899: \"src/mars/stream/gzip.cpp\": {\n900: \"mode\": 420,\n901: \"sha256\": \"20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644\"\n902: },\n903: \"src/mars/stream/gzip.h\": {\n904: \"mode\": 420,\n905: \"sha256\": \"6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9\"\n906: },\n907: \"src/mars/stream/node.h\": {\n908: \"mode\": 420,\n909: \"sha256\": \"eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860\"\n910: },\n911: \"src/mars/stream/probe.h\": {\n912: \"mode\": 420,\n913: \"sha256\": \"6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13\"\n914: },\n915: \"src/mars/stream/reader.cpp\": {\n916: \"mode\": 420,\n917: \"sha256\": \"90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3\"\n918: },\n919: \"src/mars/stream/reader.h\": {\n920: \"mode\": 420,\n921: \"sha256\": \"900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4\"\n922: },\n923: \"src/mars/stream/save.cpp\": {\n924: \"mode\": 420,\n925: \"sha256\": \"6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049\"\n926: },\n927: \"src/mars/stream/save.h\": {\n928: \"mode\": 420,\n929: \"sha256\": \"b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469\"\n930: },\n931: \"src/mars/stream/savedump_main.cpp\": {\n932: \"mode\": 420,\n933: \"sha256\": \"8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c\"\n934: },\n935: \"src/mars/stream/schema.h\": {\n936: \"mode\": 420,\n937: \"sha256\": \"b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05\"\n938: },\n939: \"src/mars/stream/shapes.h\": {\n940: \"mode\": 420,\n941: \"sha256\": \"45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d\"\n942: },\n943: \"src/mars/stream/writer.cpp\": {\n944: \"mode\": 420,\n945: \"sha256\": \"54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083\"\n946: },\n947: \"src/mars/stream/writer.h\": {\n948: \"mode\": 420,\n949: \"sha256\": \"921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340\"\n950: },\n951: \"src/mars/text/CMakeLists.txt\": {\n952: \"mode\": 420,\n953: \"sha256\": \"dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436\"\n954: },\n955: \"src/mars/text/csv.cpp\": {\n956: \"mode\": 420,\n957: \"sha256\": \"b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af\"\n958: },\n959: \"src/mars/text/csv.h\": {\n960: \"mode\": 420,\n961: \"sha256\": \"3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917\"\n962: },\n963: \"src/mars/text/flat_kv.cpp\": {\n964: \"mode\": 420,\n965: \"sha256\": \"b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47\"\n966: },\n967: \"src/mars/text/flat_kv.h\": {\n968: \"mode\": 420,\n969: \"sha256\": \"d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292\"\n970: },\n971: \"src/mars/text/lines.h\": {\n972: \"mode\": 420,\n973: \"sha256\": \"b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65\"\n974: },\n975: \"src/mars/text/manifest.cpp\": {\n976: \"mode\": 420,\n977: \"sha256\": \"4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e\"\n978: },\n979: \"src/mars/text/manifest.h\": {\n980: \"mode\": 420,\n981: \"sha256\": \"dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102\"\n982: },\n983: \"src/mars/text/result.h\": {\n984: \"mode\": 420,\n985: \"sha256\": \"7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606\"\n986: },\n987: \"src/mars/text/value.cpp\": {\n988: \"mode\": 420,\n989: \"sha256\": \"94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479\"\n990: },\n991: \"src/mars/text/value.h\": {\n992: \"mode\": 420,\n993: \"sha256\": \"d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07\"\n994: },\n995: \"src/mars/vfs/CMakeLists.txt\": {\n996: \"mode\": 420,\n997: \"sha256\": \"630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786\"\n998: },\n999: \"src/mars/vfs/path.cpp\": {\n1000: \"mode\": 420,\n1001: \"sha256\": \"e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb\"\n1002: },\n1003: \"src/mars/vfs/path.h\": {\n1004: \"mode\": 420,\n1005: \"sha256\": \"043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033\"\n1006: },\n1007: \"src/mars/vfs/result.h\": {\n1008: \"mode\": 420,\n1009: \"sha256\": \"19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748\"\n1010: },\n1011: \"src/mars/vfs/vfs.cpp\": {\n1012: \"mode\": 420,\n1013: \"sha256\": \"ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba\"\n1014: },\n1015: \"src/mars/vfs/vfs.h\": {\n1016: \"mode\": 420,\n1017: \"sha256\": \"2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90\"\n1018: },\n1019: \"src/mars/vfs/zip_archive.cpp\": {\n1020: \"mode\": 420,\n1021: \"sha256\": \"d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87\"\n1022: },\n1023: \"src/mars/vfs/zip_archive.h\": {\n1024: \"mode\": 420,\n1025: \"sha256\": \"0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d\"\n1026: },\n1027: \"src/shim/binkw32.def\": {\n1028: \"mode\": 420,\n1029: \"sha256\": \"fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235\"\n1030: },\n1031: \"src/shim/fpu_force.cpp\": {\n1032: \"mode\": 420,\n1033: \"sha256\": \"c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d\"\n1034: },\n1035: \"src/shim/fpu_force.h\": {\n1036: \"mode\": 420,\n1037: \"sha256\": \"75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06\"\n1038: },\n1039: \"src/shim/hooks/ai_orders.cpp\": {\n1040: \"mode\": 420,\n1041: \"sha256\": \"091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434\"\n1042: },\n1043: \"src/shim/hooks/ai_orders.h\": {\n1044: \"mode\": 420,\n1045: \"sha256\": \"6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053\"\n1046: },\n1047: \"src/shim/hooks/ai_rng.cpp\": {\n1048: \"mode\": 420,\n1049: \"sha256\": \"b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289\"\n1050: },\n1051: \"src/shim/hooks/ai_rng.h\": {\n1052: \"mode\": 420,\n1053: \"sha256\": \"1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08\"\n1054: },\n1055: \"src/shim/hooks/ai_visit.cpp\": {\n1056: \"mode\": 420,\n1057: \"sha256\": \"cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31\"\n1058: },\n1059: \"src/shim/hooks/ai_visit.h\": {\n1060: \"mode\": 420,\n1061: \"sha256\": \"8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189\"\n1062: },\n1063: \"src/shim/hooks/budget_inputs.cpp\": {\n1064: \"mode\": 420,\n1065: \"sha256\": \"fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b\"\n1066: },\n1067: \"src/shim/hooks/budget_inputs.h\": {\n1068: \"mode\": 420,\n1069: \"sha256\": \"56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548\"\n1070: },\n1071: \"src/shim/hooks/colony_inputs.cpp\": {\n1072: \"mode\": 420,\n1073: \"sha256\": \"7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e\"\n1074: },\n1075: \"src/shim/hooks/colony_inputs.h\": {\n1076: \"mode\": 420,\n1077: \"sha256\": \"87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9\"\n1078: },\n1079: \"src/shim/hooks/colony_turn.cpp\": {\n1080: \"mode\": 420,\n1081: \"sha256\": \"b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420\"\n1082: },\n1083: \"src/shim/hooks/colony_turn.h\": {\n1084: \"mode\": 420,\n1085: \"sha256\": \"a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6\"\n1086: },\n1087: \"src/shim/hooks/compute_budget.cpp\": {\n1088: \"mode\": 420,\n1089: \"sha256\": \"76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906\"\n1090: },\n1091: \"src/shim/hooks/compute_budget.h\": {\n1092: \"mode\": 420,\n1093: \"sha256\": \"f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa\"\n1094: },\n1095: \"src/shim/hooks/dictionaries.cpp\": {\n1096: \"mode\": 420,\n1097: \"sha256\": \"b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b\"\n1098: },\n1099: \"src/shim/hooks/dictionaries.h\": {\n1100: \"mode\": 420,\n1101: \"sha256\": \"ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0\"\n1102: },\n1103: \"src/shim/hooks/draw_sites.cpp\": {\n1104: \"mode\": 420,\n1105: \"sha256\": \"e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79\"\n1106: },\n1107: \"src/shim/hooks/draw_sites.h\": {\n1108: \"mode\": 420,\n1109: \"sha256\": \"0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13\"\n1110: },\n1111: \"src/shim/hooks/event_inputs.cpp\": {\n1112: \"mode\": 420,\n1113: \"sha256\": \"eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b\"\n1114: },\n1115: \"src/shim/hooks/event_inputs.h\": {\n1116: \"mode\": 420,\n1117: \"sha256\": \"c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731\"\n1118: },\n1119: \"src/shim/hooks/fleet_movement.cpp\": {\n1120: \"mode\": 420,\n1121: \"sha256\": \"f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0\"\n1122: },\n1123: \"src/shim/hooks/fleet_movement.h\": {\n1124: \"mode\": 420,\n1125: \"sha256\": \"dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af\"\n1126: },\n1127: \"src/shim/hooks/global_consts.cpp\": {\n1128: \"mode\": 420,\n1129: \"sha256\": \"87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1\"\n1130: },\n1131: \"src/shim/hooks/global_consts.h\": {\n1132: \"mode\": 420,\n1133: \"sha256\": \"b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265\"\n1134: },\n1135: \"src/shim/hooks/movement_inputs.cpp\": {\n1136: \"mode\": 420,\n1137: \"sha256\": \"0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502\"\n1138: },\n1139: \"src/shim/hooks/movement_inputs.h\": {\n1140: \"mode\": 420,\n1141: \"sha256\": \"32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a\"\n1142: },\n1143: \"src/shim/hooks/player_turn.cpp\": {\n1144: \"mode\": 420,\n1145: \"sha256\": \"33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23\"\n1146: },\n1147: \"src/shim/hooks/player_turn.h\": {\n1148: \"mode\": 420,\n1149: \"sha256\": \"a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0\"\n1150: },\n1151: \"src/shim/hooks/player_turn_inputs.cpp\": {\n1152: \"mode\": 420,\n1153: \"sha256\": \"993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799\"\n1154: },\n1155: \"src/shim/hooks/player_turn_inputs.h\": {\n1156: \"mode\": 420,\n1157: \"sha256\": \"ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71\"\n1158: },\n1159: \"src/shim/hooks/probe_entry.cpp\": {\n1160: \"mode\": 420,\n1161: \"sha256\": \"5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506\"\n1162: },\n1163: \"src/shim/hooks/probe_entry.h\": {\n1164: \"mode\": 420,\n1165: \"sha256\": \"f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f\"\n1166: },\n1167: \"src/shim/hooks/research.cpp\": {\n1168: \"mode\": 420,\n1169: \"sha256\": \"dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83\"\n1170: },\n1171: \"src/shim/hooks/research.h\": {\n1172: \"mode\": 420,\n1173: \"sha256\": \"a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84\"\n1174: },\n1175: \"src/shim/hooks/rng_ledger.cpp\": {\n1176: \"mode\": 420,\n1177: \"sha256\": \"119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb\"\n1178: },\n1179: \"src/shim/hooks/rng_ledger.h\": {\n1180: \"mode\": 420,\n1181: \"sha256\": \"0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30\"\n1182: },\n1183: \"src/shim/hooks/system_output.cpp\": {\n1184: \"mode\": 420,\n1185: \"sha256\": \"93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4\"\n1186: },\n1187: \"src/shim/hooks/system_output.h\": {\n1188: \"mode\": 420,\n1189: \"sha256\": \"62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738\"\n1190: },\n1191: \"src/shim/hooks/tail_rng.cpp\": {\n1192: \"mode\": 420,\n1193: \"sha256\": \"9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07\"\n1194: },\n1195: \"src/shim/hooks/tail_rng.h\": {\n1196: \"mode\": 420,\n1197: \"sha256\": \"b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b\"\n1198: },\n1199: \"src/shim/hooks/tech_effect_fields.cpp\": {\n1200: \"mode\": 420,\n1201: \"sha256\": \"4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3\"\n1202: },\n1203: \"src/shim/hooks/tech_effect_fields.h\": {\n1204: \"mode\": 420,\n1205: \"sha256\": \"22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420\"\n1206: },\n1207: \"src/shim/hooks/tech_effects.cpp\": {\n1208: \"mode\": 420,\n1209: \"sha256\": \"2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714\"\n1210: },\n1211: \"src/shim/hooks/tech_effects.h\": {\n1212: \"mode\": 420,\n1213: \"sha256\": \"ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320\"\n1214: },\n1215: \"src/shim/hooks/watchpoints.cpp\": {\n1216: \"mode\": 420,\n\n(Output capped at 50 KB. Showing lines 1-1216. Use offset=1217 to continue.)\n","metadata":{"preview":"{\n \"actor\": \"research ABI surprise resolver\",\n \"checkpoint_session\": \"run-daefd1b77558f324ae730b27\",\n \"command\": [\n \"opencode\",\n \"run\",\n \"--format\",\n \"json\",\n \"--model\",\n \"openai/gpt-6-astra\",\n \"--agent\",\n \"sots-resolver\",\n \"Start a FRESH bounded campaign quantum (40 steps). No delegation.\\nRole=resolver; requested model=openai/gpt-6-astra; actor=research ABI surprise resolver; checkpoint session=run-daefd1b77558f324ae730b27.\\nCanonical state root: /home/alex/sots-re\\nContract: /home/alex/sots-re/campaign/contracts/research-completion-abi.json\\nLatest checkpoint: campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\\nEngine worktree: /tmp/opencode/sots-final-research-engine\\nRE worktree: /tmp/opencode/sots-final-research-re\\nRead canonical campaign/README.md, contract, latest checkpoint and open surprises before work. Verify source/worktree/resource identities. Only edit owned scope. Missing state means blocked. Do not commit, stage, push or mutate lab resources without explicit authority and a lease. Checkpoint every 20 tool calls or 15 minutes, before experiments, compaction and stopping; persist under canonical campaign/ using tools/campaign.py with the session above, exact model, actor and role. Include observations versus decisions, source identities, artifact paths, tests, blockers and ONE exact next action. Fresh checkpoint at quantum end is mandatory. Record a surprise and pause affected work if assumptions are falsified. RESOLUTION-ONLY: read evidence, record decisions/checkpoints; no implementation or architecture source edits. Do not rely on chat resume or automatic compaction.\"\n ],\n \"config\": {\n \"canonical_files\": {\n \"campaign/agents/analyst.md\": \"895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952\",\n \"campaign/agents/implementer.md\": \"eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91\",\n \"campaign/agents/lab.md\": \"48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8\",\n \"campaign/agents/lead.md\": \"8fcfe52be845ed98a172afb47ea888b19bb7bffa80f7b50ace58d2bb66924220\",","truncated":true,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/runs/run-daefd1b77558f324ae730b27.json","text":"{\n \"actor\": \"research ABI surprise resolver\",\n \"checkpoint_session\": \"run-daefd1b77558f324ae730b27\",\n \"command\": [\n \"opencode\",\n \"run\",\n \"--format\",\n \"json\",\n \"--model\",\n \"openai/gpt-6-astra\",\n \"--agent\",\n \"sots-resolver\",\n \"Start a FRESH bounded campaign quantum (40 steps). No delegation.\\nRole=resolver; requested model=openai/gpt-6-astra; actor=research ABI surprise resolver; checkpoint session=run-daefd1b77558f324ae730b27.\\nCanonical state root: /home/alex/sots-re\\nContract: /home/alex/sots-re/campaign/contracts/research-completion-abi.json\\nLatest checkpoint: campaign/runtime/checkpoints/research-completion-abi-bbe83c0b7516313cc7cc27b2.json\\nEngine worktree: /tmp/opencode/sots-final-research-engine\\nRE worktree: /tmp/opencode/sots-final-research-re\\nRead canonical campaign/README.md, contract, latest checkpoint and open surprises before work. Verify source/worktree/resource identities. Only edit owned scope. Missing state means blocked. Do not commit, stage, push or mutate lab resources without explicit authority and a lease. Checkpoint every 20 tool calls or 15 minutes, before experiments, compaction and stopping; persist under canonical campaign/ using tools/campaign.py with the session above, exact model, actor and role. Include observations versus decisions, source identities, artifact paths, tests, blockers and ONE exact next action. Fresh checkpoint at quantum end is mandatory. Record a surprise and pause affected work if assumptions are falsified. RESOLUTION-ONLY: read evidence, record decisions/checkpoints; no implementation or architecture source edits. Do not rely on chat resume or automatic compaction.\"\n ],\n \"config\": {\n \"canonical_files\": {\n \"campaign/agents/analyst.md\": \"895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952\",\n \"campaign/agents/implementer.md\": \"eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91\",\n \"campaign/agents/lab.md\": \"48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8\",\n \"campaign/agents/lead.md\": \"8fcfe52be845ed98a172afb47ea888b19bb7bffa80f7b50ace58d2bb66924220\",\n \"campaign/agents/resolver.md\": \"742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f\",\n \"campaign/agents/verifier.md\": \"e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b\",\n \"campaign/models.json\": \"00f959ff4ce16ba22f6befa7a9d495eb85d62d9e8001b1e1345eaae0e11b6e48\",\n \"opencode.json\": \"027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99\"\n },\n \"effective\": {\n \"agent_sha256\": \"538b7262e3a21bba755e48cc1974eefb35bf710a5d23dde6d05fedb73250b7a0\",\n \"sha256\": \"a1af2e7a400b316721b62a04182808806d2f1e774a248420663c627375e4984b\"\n },\n \"expanded_prompt_sha256\": \"75226903f94e211868d70015e18e88cc3e3d338111743753bcd8a0f35e13e317\",\n \"overlay\": {\n \"agent\": {\n \"sots-resolver\": {\n \"model\": \"openai/gpt-6-astra\",\n \"permission\": {\n \"bash\": {\n \"*\": \"deny\",\n \"git -C * diff *\": \"allow\",\n \"git -C * log *\": \"allow\",\n \"git -C * rev-parse *\": \"allow\",\n \"git -C * show *\": \"allow\",\n \"git -C * status *\": \"allow\",\n \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint *\": \"allow\",\n \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve *\": \"allow\",\n \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re status *\": \"allow\",\n \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re surprise *\": \"allow\",\n \"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re validate *\": \"allow\"\n },\n \"edit\": {\n \"*\": \"deny\",\n \"/home/alex/sots-re/campaign/contracts/*\": \"allow\",\n \"/home/alex/sots-re/campaign/runtime/*\": \"allow\"\n },\n \"external_directory\": {\n \"*\": \"deny\",\n \"/home/alex/sots-re\": \"allow\",\n \"/home/alex/sots-re/*\": \"allow\",\n \"/tmp/opencode/sots-final-research-engine\": \"allow\",\n \"/tmp/opencode/sots-final-research-engine/*\": \"allow\",\n \"/tmp/opencode/sots-final-research-re\": \"allow\",\n \"/tmp/opencode/sots-final-research-re/*\": \"allow\"\n },\n \"glob\": \"allow\",\n \"grep\": \"allow\",\n \"list\": \"allow\",\n \"question\": \"deny\",\n \"read\": \"allow\",\n \"task\": \"deny\"\n },\n \"prompt\": \"You are the SOTS resolver, running GPT-6 Astra. Read canonical RE AGENTS.md, campaign/README.md,\\nthe surprise, affected contracts, checkpoints and raw evidence. First state the observation and\\nits provenance. Check source/binary/input identity, positive execution and instrument neutrality\\nbefore interpreting game behavior. Do not diagnose a stale build as a game mechanism.\\n\\nFor every affected claim record survives / qualified / overturned and exact domain. Name the\\ncheapest discriminating experiment, revised scope/dependencies and affected evidence that must\\nbe invalidated. Resolve through campaign controls with a durable Astra decision. Never silently\\nwaive acceptance or treat untested inference as measurement. Leave blocked work blocked until\\nthe decision supplies a valid next action. No autonomous lab mutation or nested delegation.\\n\\nCheckpoint every 20 calls/15min and before compaction, handoff or stop. Use short bounded sessions;\\nthe repository carries decisions, not chat memory. Do not create another explanatory history in\\nthe live board: link the actual decision and regenerate projections after integration.\\n\",\n \"steps\": 40\n }\n },\n \"model\": \"openai/gpt-6-astra\"\n },\n \"path\": \"/home/alex/sots-re/opencode.json\",\n \"sha256\": \"027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99\"\n },\n \"contract\": \"research-completion-abi\",\n \"cwd\": \"/tmp/opencode/sots-final-research-re\",\n \"id\": \"run-daefd1b77558f324ae730b27\",\n \"max_steps\": 40,\n \"requested_model\": \"openai/gpt-6-astra\",\n \"resolution_only\": true,\n \"role\": \"resolver\",\n \"schema\": \"sots-run/1\",\n \"source_before\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"files\": {\n \".gitignore\": {\n \"mode\": 420,\n \"sha256\": \"5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145\"\n },\n \"AGENTS.md\": {\n \"mode\": 420,\n \"sha256\": \"7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7\"\n },\n \"CLAUDE.md\": {\n \"mode\": 420,\n \"sha256\": \"15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5\"\n },\n \"CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed\"\n },\n \"CMakePresets.json\": {\n \"mode\": 420,\n \"sha256\": \"fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0\"\n },\n \"CONTRIBUTING.md\": {\n \"mode\": 420,\n \"sha256\": \"26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506\"\n },\n \"LICENSE\": {\n \"mode\": 420,\n \"sha256\": \"eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858\"\n },\n \"README.md\": {\n \"mode\": 420,\n \"sha256\": \"66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1\"\n },\n \"cmake/toolchain-mingw-i686.cmake\": {\n \"mode\": 420,\n \"sha256\": \"231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b\"\n },\n \"docs/A2-alliance-and-modcount.md\": {\n \"mode\": 420,\n \"sha256\": \"0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701\"\n },\n \"docs/AC-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda\"\n },\n \"docs/B1.md\": {\n \"mode\": 420,\n \"sha256\": \"42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364\"\n },\n \"docs/B2.md\": {\n \"mode\": 420,\n \"sha256\": \"87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8\"\n },\n \"docs/B3.md\": {\n \"mode\": 420,\n \"sha256\": \"fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518\"\n },\n \"docs/B4.md\": {\n \"mode\": 420,\n \"sha256\": \"22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d\"\n },\n \"docs/B6-ship-construction.md\": {\n \"mode\": 420,\n \"sha256\": \"9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab\"\n },\n \"docs/CB-capture.md\": {\n \"mode\": 420,\n \"sha256\": \"ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0\"\n },\n \"docs/CB-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f\"\n },\n \"docs/E-events.md\": {\n \"mode\": 420,\n \"sha256\": \"de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201\"\n },\n \"docs/EV-events.md\": {\n \"mode\": 420,\n \"sha256\": \"e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9\"\n },\n \"docs/G-wire-schema.md\": {\n \"mode\": 420,\n \"sha256\": \"19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591\"\n },\n \"docs/G3-civilian-growth.md\": {\n \"mode\": 420,\n \"sha256\": \"38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30\"\n },\n \"docs/H-probes.md\": {\n \"mode\": 420,\n \"sha256\": \"f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f\"\n },\n \"docs/L1-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754\"\n },\n \"docs/L2-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460\"\n },\n \"docs/L3-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e\"\n },\n \"docs/L4-ai-orders.md\": {\n \"mode\": 420,\n \"sha256\": \"b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835\"\n },\n \"docs/L4-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44\"\n },\n \"docs/L5-live-verification.md\": {\n \"mode\": 420,\n \"sha256\": \"4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4\"\n },\n \"docs/M-movefleet.md\": {\n \"mode\": 420,\n \"sha256\": \"718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426\"\n },\n \"docs/M0.md\": {\n \"mode\": 420,\n \"sha256\": \"e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705\"\n },\n \"docs/M1.md\": {\n \"mode\": 420,\n \"sha256\": \"e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704\"\n },\n \"docs/M2.md\": {\n \"mode\": 420,\n \"sha256\": \"25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61\"\n },\n \"docs/N-output-term.md\": {\n \"mode\": 420,\n \"sha256\": \"3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde\"\n },\n \"docs/P-events-wiring.md\": {\n \"mode\": 420,\n \"sha256\": \"72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba\"\n },\n \"docs/PAR-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846\"\n },\n \"docs/PL-players-residual.md\": {\n \"mode\": 420,\n \"sha256\": \"9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc\"\n },\n \"docs/R-recapture.md\": {\n \"mode\": 420,\n \"sha256\": \"73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f\"\n },\n \"docs/RB-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7\"\n },\n \"docs/S-standalone.md\": {\n \"mode\": 420,\n \"sha256\": \"8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e\"\n },\n \"docs/SD-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0\"\n },\n \"docs/SV-script-objects.md\": {\n \"mode\": 420,\n \"sha256\": \"80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409\"\n },\n \"docs/T-turn-driver.md\": {\n \"mode\": 420,\n \"sha256\": \"a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e\"\n },\n \"docs/U-unlock.md\": {\n \"mode\": 420,\n \"sha256\": \"5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901\"\n },\n \"docs/V-eventlive.md\": {\n \"mode\": 420,\n \"sha256\": \"ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1\"\n },\n \"docs/W2-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5\"\n },\n \"docs/W2-watchpoints.md\": {\n \"mode\": 420,\n \"sha256\": \"f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107\"\n },\n \"docs/W3-predictions.md\": {\n \"mode\": 420,\n \"sha256\": \"211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf\"\n },\n \"docs/W3-watchpoints.md\": {\n \"mode\": 420,\n \"sha256\": \"568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061\"\n },\n \"docs/Y-standalone-rng-and-tail.md\": {\n \"mode\": 420,\n \"sha256\": \"49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b\"\n },\n \"docs/Z-tail-rng.md\": {\n \"mode\": 420,\n \"sha256\": \"3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1\"\n },\n \"docs/architecture.md\": {\n \"mode\": 420,\n \"sha256\": \"ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f\"\n },\n \"docs/game-data.md\": {\n \"mode\": 420,\n \"sha256\": \"2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23\"\n },\n \"docs/game-design.md\": {\n \"mode\": 420,\n \"sha256\": \"5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272\"\n },\n \"docs/game-effects.md\": {\n \"mode\": 420,\n \"sha256\": \"e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d\"\n },\n \"docs/game-sim.md\": {\n \"mode\": 420,\n \"sha256\": \"d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e\"\n },\n \"docs/harness-audit.md\": {\n \"mode\": 420,\n \"sha256\": \"931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0\"\n },\n \"docs/mars-parse.md\": {\n \"mode\": 420,\n \"sha256\": \"d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd\"\n },\n \"docs/mars-rng.md\": {\n \"mode\": 420,\n \"sha256\": \"f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c\"\n },\n \"docs/mars-stream.md\": {\n \"mode\": 420,\n \"sha256\": \"61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7\"\n },\n \"docs/mars-text.md\": {\n \"mode\": 420,\n \"sha256\": \"2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1\"\n },\n \"docs/mars-vfs.md\": {\n \"mode\": 420,\n \"sha256\": \"1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62\"\n },\n \"docs/shim-trace.md\": {\n \"mode\": 420,\n \"sha256\": \"8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5\"\n },\n \"include/generated/sots_addresses.h\": {\n \"mode\": 420,\n \"sha256\": \"fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448\"\n },\n \"include/generated/sots_stream_schema.h\": {\n \"mode\": 420,\n \"sha256\": \"13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c\"\n },\n \"opencode.json\": {\n \"mode\": 420,\n \"sha256\": \"9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15\"\n },\n \"src/app/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717\"\n },\n \"src/app/alliance.cpp\": {\n \"mode\": 420,\n \"sha256\": \"37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9\"\n },\n \"src/app/alliance.h\": {\n \"mode\": 420,\n \"sha256\": \"08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd\"\n },\n \"src/app/command_replay.cpp\": {\n \"mode\": 420,\n \"sha256\": \"739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824\"\n },\n \"src/app/command_replay.h\": {\n \"mode\": 420,\n \"sha256\": \"956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2\"\n },\n \"src/app/construction_phase.cpp\": {\n \"mode\": 420,\n \"sha256\": \"025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df\"\n },\n \"src/app/construction_phase.h\": {\n \"mode\": 420,\n \"sha256\": \"a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e\"\n },\n \"src/app/event_phase.cpp\": {\n \"mode\": 420,\n \"sha256\": \"80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90\"\n },\n \"src/app/event_phase.h\": {\n \"mode\": 420,\n \"sha256\": \"54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34\"\n },\n \"src/app/growth_phase.cpp\": {\n \"mode\": 420,\n \"sha256\": \"5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3\"\n },\n \"src/app/growth_phase.h\": {\n \"mode\": 420,\n \"sha256\": \"8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b\"\n },\n \"src/app/main.cpp\": {\n \"mode\": 420,\n \"sha256\": \"adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7\"\n },\n \"src/app/observed_phase.cpp\": {\n \"mode\": 420,\n \"sha256\": \"31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3\"\n },\n \"src/app/observed_phase.h\": {\n \"mode\": 420,\n \"sha256\": \"f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693\"\n },\n \"src/app/phase_catalog.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316\"\n },\n \"src/app/phase_catalog.h\": {\n \"mode\": 420,\n \"sha256\": \"da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87\"\n },\n \"src/app/report.cpp\": {\n \"mode\": 420,\n \"sha256\": \"da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228\"\n },\n \"src/app/report.h\": {\n \"mode\": 420,\n \"sha256\": \"0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481\"\n },\n \"src/app/script_phase.cpp\": {\n \"mode\": 420,\n \"sha256\": \"61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91\"\n },\n \"src/app/script_phase.h\": {\n \"mode\": 420,\n \"sha256\": \"e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7\"\n },\n \"src/app/trade_raid.cpp\": {\n \"mode\": 420,\n \"sha256\": \"07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf\"\n },\n \"src/app/trade_raid.h\": {\n \"mode\": 420,\n \"sha256\": \"10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52\"\n },\n \"src/app/treaty.cpp\": {\n \"mode\": 420,\n \"sha256\": \"317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575\"\n },\n \"src/app/treaty.h\": {\n \"mode\": 420,\n \"sha256\": \"836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9\"\n },\n \"src/app/turn.cpp\": {\n \"mode\": 420,\n \"sha256\": \"a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4\"\n },\n \"src/app/turn.h\": {\n \"mode\": 420,\n \"sha256\": \"85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237\"\n },\n \"src/app/turn_record.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d\"\n },\n \"src/app/turn_record.h\": {\n \"mode\": 420,\n \"sha256\": \"78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d\"\n },\n \"src/app/visibility_phase.cpp\": {\n \"mode\": 420,\n \"sha256\": \"34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131\"\n },\n \"src/app/visibility_phase.h\": {\n \"mode\": 420,\n \"sha256\": \"60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27\"\n },\n \"src/game/ai/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb\"\n },\n \"src/game/ai/agent.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7\"\n },\n \"src/game/ai/agent.h\": {\n \"mode\": 420,\n \"sha256\": \"48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244\"\n },\n \"src/game/ai/apply_order.cpp\": {\n \"mode\": 420,\n \"sha256\": \"122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253\"\n },\n \"src/game/ai/apply_order.h\": {\n \"mode\": 420,\n \"sha256\": \"a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3\"\n },\n \"src/game/ai/command_capture.cpp\": {\n \"mode\": 420,\n \"sha256\": \"cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec\"\n },\n \"src/game/ai/command_capture.h\": {\n \"mode\": 420,\n \"sha256\": \"921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f\"\n },\n \"src/game/ai/orders.cpp\": {\n \"mode\": 420,\n \"sha256\": \"1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640\"\n },\n \"src/game/ai/orders.h\": {\n \"mode\": 420,\n \"sha256\": \"c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae\"\n },\n \"src/game/ai/tasks.cpp\": {\n \"mode\": 420,\n \"sha256\": \"b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76\"\n },\n \"src/game/ai/tasks.h\": {\n \"mode\": 420,\n \"sha256\": \"b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d\"\n },\n \"src/game/ai/turn_order.cpp\": {\n \"mode\": 420,\n \"sha256\": \"858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22\"\n },\n \"src/game/ai/turn_order.h\": {\n \"mode\": 420,\n \"sha256\": \"3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f\"\n },\n \"src/game/combat/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115\"\n },\n \"src/game/combat/retreat.cpp\": {\n \"mode\": 420,\n \"sha256\": \"eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f\"\n },\n \"src/game/combat/retreat.h\": {\n \"mode\": 420,\n \"sha256\": \"5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d\"\n },\n \"src/game/config/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7\"\n },\n \"src/game/config/config_loader.cpp\": {\n \"mode\": 420,\n \"sha256\": \"d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1\"\n },\n \"src/game/config/config_loader.h\": {\n \"mode\": 420,\n \"sha256\": \"fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085\"\n },\n \"src/game/config/manifest_loader.cpp\": {\n \"mode\": 420,\n \"sha256\": \"dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6\"\n },\n \"src/game/config/manifest_loader.h\": {\n \"mode\": 420,\n \"sha256\": \"68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5\"\n },\n \"src/game/config/msvc_sort.h\": {\n \"mode\": 420,\n \"sha256\": \"17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716\"\n },\n \"src/game/data/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51\"\n },\n \"src/game/data/block.cpp\": {\n \"mode\": 420,\n \"sha256\": \"f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200\"\n },\n \"src/game/data/block.h\": {\n \"mode\": 420,\n \"sha256\": \"f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc\"\n },\n \"src/game/data/catalog.cpp\": {\n \"mode\": 420,\n \"sha256\": \"7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc\"\n },\n \"src/game/data/catalog.h\": {\n \"mode\": 420,\n \"sha256\": \"80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e\"\n },\n \"src/game/data/common.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040\"\n },\n \"src/game/data/common.h\": {\n \"mode\": 420,\n \"sha256\": \"d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187\"\n },\n \"src/game/data/fields.h\": {\n \"mode\": 420,\n \"sha256\": \"4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb\"\n },\n \"src/game/data/shipsection.cpp\": {\n \"mode\": 420,\n \"sha256\": \"82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264\"\n },\n \"src/game/data/shipsection.h\": {\n \"mode\": 420,\n \"sha256\": \"bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0\"\n },\n \"src/game/data/strings.cpp\": {\n \"mode\": 420,\n \"sha256\": \"6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59\"\n },\n \"src/game/data/strings.h\": {\n \"mode\": 420,\n \"sha256\": \"fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055\"\n },\n \"src/game/data/techtree.cpp\": {\n \"mode\": 420,\n \"sha256\": \"2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea\"\n },\n \"src/game/data/techtree.h\": {\n \"mode\": 420,\n \"sha256\": \"504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007\"\n },\n \"src/game/data/turrets.cpp\": {\n \"mode\": 420,\n \"sha256\": \"ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4\"\n },\n \"src/game/data/turrets.h\": {\n \"mode\": 420,\n \"sha256\": \"f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64\"\n },\n \"src/game/data/weapon.cpp\": {\n \"mode\": 420,\n \"sha256\": \"accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6\"\n },\n \"src/game/data/weapon.h\": {\n \"mode\": 420,\n \"sha256\": \"63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009\"\n },\n \"src/game/design/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef\"\n },\n \"src/game/design/defaults.cpp\": {\n \"mode\": 420,\n \"sha256\": \"8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528\"\n },\n \"src/game/design/defaults.h\": {\n \"mode\": 420,\n \"sha256\": \"20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b\"\n },\n \"src/game/design/design.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20\"\n },\n \"src/game/design/design.h\": {\n \"mode\": 420,\n \"sha256\": \"7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997\"\n },\n \"src/game/design/hull.cpp\": {\n \"mode\": 420,\n \"sha256\": \"554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a\"\n },\n \"src/game/design/hull.h\": {\n \"mode\": 420,\n \"sha256\": \"997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461\"\n },\n \"src/game/design/rules.cpp\": {\n \"mode\": 420,\n \"sha256\": \"a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319\"\n },\n \"src/game/design/rules.h\": {\n \"mode\": 420,\n \"sha256\": \"70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229\"\n },\n \"src/game/design/stats.cpp\": {\n \"mode\": 420,\n \"sha256\": \"c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54\"\n },\n \"src/game/design/stats.h\": {\n \"mode\": 420,\n \"sha256\": \"ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5\"\n },\n \"src/game/effects/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89\"\n },\n \"src/game/effects/tech_effects.cpp\": {\n \"mode\": 420,\n \"sha256\": \"40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604\"\n },\n \"src/game/effects/tech_effects.h\": {\n \"mode\": 420,\n \"sha256\": \"ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6\"\n },\n \"src/game/effects/tech_id.cpp\": {\n \"mode\": 420,\n \"sha256\": \"11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6\"\n },\n \"src/game/effects/tech_id.h\": {\n \"mode\": 420,\n \"sha256\": \"f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86\"\n },\n \"src/game/events/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2\"\n },\n \"src/game/events/event_log.cpp\": {\n \"mode\": 420,\n \"sha256\": \"3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1\"\n },\n \"src/game/events/event_log.h\": {\n \"mode\": 420,\n \"sha256\": \"2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953\"\n },\n \"src/game/events/research_events.cpp\": {\n \"mode\": 420,\n \"sha256\": \"9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253\"\n },\n \"src/game/events/research_events.h\": {\n \"mode\": 420,\n \"sha256\": \"b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22\"\n },\n \"src/game/nav/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a\"\n },\n \"src/game/nav/pathplan.cpp\": {\n \"mode\": 420,\n \"sha256\": \"04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775\"\n },\n \"src/game/nav/pathplan.h\": {\n \"mode\": 420,\n \"sha256\": \"28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7\"\n },\n \"src/game/sim/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116\"\n },\n \"src/game/sim/colony.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77\"\n },\n \"src/game/sim/colony.h\": {\n \"mode\": 420,\n \"sha256\": \"357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47\"\n },\n \"src/game/sim/construction.cpp\": {\n \"mode\": 420,\n \"sha256\": \"8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130\"\n },\n \"src/game/sim/construction.h\": {\n \"mode\": 420,\n \"sha256\": \"a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460\"\n },\n \"src/game/sim/economy.cpp\": {\n \"mode\": 420,\n \"sha256\": \"1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89\"\n },\n \"src/game/sim/economy.h\": {\n \"mode\": 420,\n \"sha256\": \"6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a\"\n },\n \"src/game/sim/movement.cpp\": {\n \"mode\": 420,\n \"sha256\": \"80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2\"\n },\n \"src/game/sim/movement.h\": {\n \"mode\": 420,\n \"sha256\": \"9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441\"\n },\n \"src/game/sim/numeric.h\": {\n \"mode\": 420,\n \"sha256\": \"88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2\"\n },\n \"src/game/sim/observed.cpp\": {\n \"mode\": 420,\n \"sha256\": \"43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22\"\n },\n \"src/game/sim/observed.h\": {\n \"mode\": 420,\n \"sha256\": \"0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f\"\n },\n \"src/game/sim/player_turn.cpp\": {\n \"mode\": 420,\n \"sha256\": \"beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2\"\n },\n \"src/game/sim/player_turn.h\": {\n \"mode\": 420,\n \"sha256\": \"f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a\"\n },\n \"src/game/sim/research.cpp\": {\n \"mode\": 420,\n \"sha256\": \"95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89\"\n },\n \"src/game/sim/research.h\": {\n \"mode\": 420,\n \"sha256\": \"e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9\"\n },\n \"src/game/sim/rng.h\": {\n \"mode\": 420,\n \"sha256\": \"f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c\"\n },\n \"src/game/sim/scriptobjects.cpp\": {\n \"mode\": 420,\n \"sha256\": \"a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2\"\n },\n \"src/game/sim/scriptobjects.h\": {\n \"mode\": 420,\n \"sha256\": \"210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b\"\n },\n \"src/game/sim/species.h\": {\n \"mode\": 420,\n \"sha256\": \"83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298\"\n },\n \"src/game/sim/techgraph.cpp\": {\n \"mode\": 420,\n \"sha256\": \"81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8\"\n },\n \"src/game/sim/techgraph.h\": {\n \"mode\": 420,\n \"sha256\": \"b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e\"\n },\n \"src/game/sim/tuning.h\": {\n \"mode\": 420,\n \"sha256\": \"4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194\"\n },\n \"src/game/sim/visibility.cpp\": {\n \"mode\": 420,\n \"sha256\": \"25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0\"\n },\n \"src/game/sim/visibility.h\": {\n \"mode\": 420,\n \"sha256\": \"783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f\"\n },\n \"src/mars/parse/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9\"\n },\n \"src/mars/parse/blocks.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b\"\n },\n \"src/mars/parse/blocks.h\": {\n \"mode\": 420,\n \"sha256\": \"1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1\"\n },\n \"src/mars/parse/effect.cpp\": {\n \"mode\": 420,\n \"sha256\": \"beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9\"\n },\n \"src/mars/parse/effect.h\": {\n \"mode\": 420,\n \"sha256\": \"aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44\"\n },\n \"src/mars/parse/result.h\": {\n \"mode\": 420,\n \"sha256\": \"58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9\"\n },\n \"src/mars/parse/script.h\": {\n \"mode\": 420,\n \"sha256\": \"69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3\"\n },\n \"src/mars/parse/value.cpp\": {\n \"mode\": 420,\n \"sha256\": \"712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623\"\n },\n \"src/mars/parse/value.h\": {\n \"mode\": 420,\n \"sha256\": \"60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38\"\n },\n \"src/mars/rng/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc\"\n },\n \"src/mars/rng/mt19937.cpp\": {\n \"mode\": 420,\n \"sha256\": \"0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b\"\n },\n \"src/mars/rng/mt19937.h\": {\n \"mode\": 420,\n \"sha256\": \"300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e\"\n },\n \"src/mars/stream/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a\"\n },\n \"src/mars/stream/archive.h\": {\n \"mode\": 420,\n \"sha256\": \"84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e\"\n },\n \"src/mars/stream/bytes.h\": {\n \"mode\": 420,\n \"sha256\": \"9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1\"\n },\n \"src/mars/stream/dump.cpp\": {\n \"mode\": 420,\n \"sha256\": \"1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16\"\n },\n \"src/mars/stream/dump.h\": {\n \"mode\": 420,\n \"sha256\": \"a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f\"\n },\n \"src/mars/stream/gzip.cpp\": {\n \"mode\": 420,\n \"sha256\": \"20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644\"\n },\n \"src/mars/stream/gzip.h\": {\n \"mode\": 420,\n \"sha256\": \"6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9\"\n },\n \"src/mars/stream/node.h\": {\n \"mode\": 420,\n \"sha256\": \"eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860\"\n },\n \"src/mars/stream/probe.h\": {\n \"mode\": 420,\n \"sha256\": \"6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13\"\n },\n \"src/mars/stream/reader.cpp\": {\n \"mode\": 420,\n \"sha256\": \"90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3\"\n },\n \"src/mars/stream/reader.h\": {\n \"mode\": 420,\n \"sha256\": \"900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4\"\n },\n \"src/mars/stream/save.cpp\": {\n \"mode\": 420,\n \"sha256\": \"6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049\"\n },\n \"src/mars/stream/save.h\": {\n \"mode\": 420,\n \"sha256\": \"b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469\"\n },\n \"src/mars/stream/savedump_main.cpp\": {\n \"mode\": 420,\n \"sha256\": \"8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c\"\n },\n \"src/mars/stream/schema.h\": {\n \"mode\": 420,\n \"sha256\": \"b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05\"\n },\n \"src/mars/stream/shapes.h\": {\n \"mode\": 420,\n \"sha256\": \"45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d\"\n },\n \"src/mars/stream/writer.cpp\": {\n \"mode\": 420,\n \"sha256\": \"54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083\"\n },\n \"src/mars/stream/writer.h\": {\n \"mode\": 420,\n \"sha256\": \"921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340\"\n },\n \"src/mars/text/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436\"\n },\n \"src/mars/text/csv.cpp\": {\n \"mode\": 420,\n \"sha256\": \"b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af\"\n },\n \"src/mars/text/csv.h\": {\n \"mode\": 420,\n \"sha256\": \"3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917\"\n },\n \"src/mars/text/flat_kv.cpp\": {\n \"mode\": 420,\n \"sha256\": \"b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47\"\n },\n \"src/mars/text/flat_kv.h\": {\n \"mode\": 420,\n \"sha256\": \"d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292\"\n },\n \"src/mars/text/lines.h\": {\n \"mode\": 420,\n \"sha256\": \"b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65\"\n },\n \"src/mars/text/manifest.cpp\": {\n \"mode\": 420,\n \"sha256\": \"4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e\"\n },\n \"src/mars/text/manifest.h\": {\n \"mode\": 420,\n \"sha256\": \"dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102\"\n },\n \"src/mars/text/result.h\": {\n \"mode\": 420,\n \"sha256\": \"7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606\"\n },\n \"src/mars/text/value.cpp\": {\n \"mode\": 420,\n \"sha256\": \"94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479\"\n },\n \"src/mars/text/value.h\": {\n \"mode\": 420,\n \"sha256\": \"d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07\"\n },\n \"src/mars/vfs/CMakeLists.txt\": {\n \"mode\": 420,\n \"sha256\": \"630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786\"\n },\n \"src/mars/vfs/path.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb\"\n },\n \"src/mars/vfs/path.h\": {\n \"mode\": 420,\n \"sha256\": \"043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033\"\n },\n \"src/mars/vfs/result.h\": {\n \"mode\": 420,\n \"sha256\": \"19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748\"\n },\n \"src/mars/vfs/vfs.cpp\": {\n \"mode\": 420,\n \"sha256\": \"ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba\"\n },\n \"src/mars/vfs/vfs.h\": {\n \"mode\": 420,\n \"sha256\": \"2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90\"\n },\n \"src/mars/vfs/zip_archive.cpp\": {\n \"mode\": 420,\n \"sha256\": \"d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87\"\n },\n \"src/mars/vfs/zip_archive.h\": {\n \"mode\": 420,\n \"sha256\": \"0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d\"\n },\n \"src/shim/binkw32.def\": {\n \"mode\": 420,\n \"sha256\": \"fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235\"\n },\n \"src/shim/fpu_force.cpp\": {\n \"mode\": 420,\n \"sha256\": \"c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d\"\n },\n \"src/shim/fpu_force.h\": {\n \"mode\": 420,\n \"sha256\": \"75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06\"\n },\n \"src/shim/hooks/ai_orders.cpp\": {\n \"mode\": 420,\n \"sha256\": \"091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434\"\n },\n \"src/shim/hooks/ai_orders.h\": {\n \"mode\": 420,\n \"sha256\": \"6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053\"\n },\n \"src/shim/hooks/ai_rng.cpp\": {\n \"mode\": 420,\n \"sha256\": \"b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289\"\n },\n \"src/shim/hooks/ai_rng.h\": {\n \"mode\": 420,\n \"sha256\": \"1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08\"\n },\n \"src/shim/hooks/ai_visit.cpp\": {\n \"mode\": 420,\n \"sha256\": \"cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31\"\n },\n \"src/shim/hooks/ai_visit.h\": {\n \"mode\": 420,\n \"sha256\": \"8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189\"\n },\n \"src/shim/hooks/budget_inputs.cpp\": {\n \"mode\": 420,\n \"sha256\": \"fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b\"\n },\n \"src/shim/hooks/budget_inputs.h\": {\n \"mode\": 420,\n \"sha256\": \"56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548\"\n },\n \"src/shim/hooks/colony_inputs.cpp\": {\n \"mode\": 420,\n \"sha256\": \"7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e\"\n },\n \"src/shim/hooks/colony_inputs.h\": {\n \"mode\": 420,\n \"sha256\": \"87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9\"\n },\n \"src/shim/hooks/colony_turn.cpp\": {\n \"mode\": 420,\n \"sha256\": \"b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420\"\n },\n \"src/shim/hooks/colony_turn.h\": {\n \"mode\": 420,\n \"sha256\": \"a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6\"\n },\n \"src/shim/hooks/compute_budget.cpp\": {\n \"mode\": 420,\n \"sha256\": \"76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906\"\n },\n \"src/shim/hooks/compute_budget.h\": {\n \"mode\": 420,\n \"sha256\": \"f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa\"\n },\n \"src/shim/hooks/dictionaries.cpp\": {\n \"mode\": 420,\n \"sha256\": \"b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b\"\n },\n \"src/shim/hooks/dictionaries.h\": {\n \"mode\": 420,\n \"sha256\": \"ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0\"\n },\n \"src/shim/hooks/draw_sites.cpp\": {\n \"mode\": 420,\n \"sha256\": \"e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79\"\n },\n \"src/shim/hooks/draw_sites.h\": {\n \"mode\": 420,\n \"sha256\": \"0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13\"\n },\n \"src/shim/hooks/event_inputs.cpp\": {\n \"mode\": 420,\n \"sha256\": \"eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b\"\n },\n \"src/shim/hooks/event_inputs.h\": {\n \"mode\": 420,\n \"sha256\": \"c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731\"\n },\n \"src/shim/hooks/fleet_movement.cpp\": {\n \"mode\": 420,\n \"sha256\": \"f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0\"\n },\n \"src/shim/hooks/fleet_movement.h\": {\n \"mode\": 420,\n \"sha256\": \"dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af\"\n },\n \"src/shim/hooks/global_consts.cpp\": {\n \"mode\": 420,\n \"sha256\": \"87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1\"\n },\n \"src/shim/hooks/global_consts.h\": {\n \"mode\": 420,\n \"sha256\": \"b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265\"\n },\n \"src/shim/hooks/movement_inputs.cpp\": {\n \"mode\": 420,\n \"sha256\": \"0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502\"\n },\n \"src/shim/hooks/movement_inputs.h\": {\n \"mode\": 420,\n \"sha256\": \"32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a\"\n },\n \"src/shim/hooks/player_turn.cpp\": {\n \"mode\": 420,\n \"sha256\": \"33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23\"\n },\n \"src/shim/hooks/player_turn.h\": {\n \"mode\": 420,\n \"sha256\": \"a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0\"\n },\n \"src/shim/hooks/player_turn_inputs.cpp\": {\n \"mode\": 420,\n \"sha256\": \"993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799\"\n },\n \"src/shim/hooks/player_turn_inputs.h\": {\n \"mode\": 420,\n \"sha256\": \"ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71\"\n },\n \"src/shim/hooks/probe_entry.cpp\": {\n \"mode\": 420,\n \"sha256\": \"5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506\"\n },\n \"src/shim/hooks/probe_entry.h\": {\n \"mode\": 420,\n \"sha256\": \"f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f\"\n },\n \"src/shim/hooks/research.cpp\": {\n \"mode\": 420,\n \"sha256\": \"dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83\"\n },\n \"src/shim/hooks/research.h\": {\n \"mode\": 420,\n \"sha256\": \"a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84\"\n },\n \"src/shim/hooks/rng_ledger.cpp\": {\n \"mode\": 420,\n \"sha256\": \"119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb\"\n },\n \"src/shim/hooks/rng_ledger.h\": {\n \"mode\": 420,\n \"sha256\": \"0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30\"\n },\n \"src/shim/hooks/system_output.cpp\": {\n \"mode\": 420,\n \"sha256\": \"93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4\"\n },\n \"src/shim/hooks/system_output.h\": {\n \"mode\": 420,\n \"sha256\": \"62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738\"\n },\n \"src/shim/hooks/tail_rng.cpp\": {\n \"mode\": 420,\n \"sha256\": \"9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07\"\n },\n \"src/shim/hooks/tail_rng.h\": {\n \"mode\": 420,\n \"sha256\": \"b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b\"\n },\n \"src/shim/hooks/tech_effect_fields.cpp\": {\n \"mode\": 420,\n \"sha256\": \"4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3\"\n },\n \"src/shim/hooks/tech_effect_fields.h\": {\n \"mode\": 420,\n \"sha256\": \"22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420\"\n },\n \"src/shim/hooks/tech_effects.cpp\": {\n \"mode\": 420,\n \"sha256\": \"2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714\"\n },\n \"src/shim/hooks/tech_effects.h\": {\n \"mode\": 420,\n \"sha256\": \"ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320\"\n },\n \"src/shim/hooks/watchpoints.cpp\": {\n \"mode\": 420,","lineStart":1,"lineEnd":1216,"totalLines":1217,"truncated":true}},"title":"campaign/runtime/runs/run-daefd1b77558f324ae730b27.json","time":{"start":1789015732032,"end":1789015732047}},"metadata":{"openai":{"itemId":"fc_0297b48a284d06f1016aa236b229e487d1a063ae8d47ffdaaf"}},"id":"prt_089a5aee6001Tta7z0qTdfnSmR","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a57b78001qslMAnNK6HrCoW"}} +{"type":"step_finish","timestamp":1789015732341,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a5b072001TAoH0zXBMXficX","reason":"tool-calls","snapshot":"345266cec748f8ed249c4d7c3465c317f56445bd","messageID":"msg_089a57b78001qslMAnNK6HrCoW","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":19997,"input":689,"output":221,"reasoning":15,"cache":{"write":0,"read":19072}},"cost":0}} +{"type":"step_start","timestamp":1789015736582,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a5c103001DdoZXCT549KL5y","messageID":"msg_089a5b09a001kkjVafxtuYO3MZ","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"8dd5e902c611bb2c35f0f1d41528f167295f7edf","type":"step-start"}} +{"type":"tool_use","timestamp":1789015749815,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_A9GPfH7eRzmolrWE1nwx2Bqi","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --session run-daefd1b77558f324ae730b27 --summary 'Resolution-only review in progress. Read canonical policy, contract, latest checkpoint, both open surprises, verifier report/manifest and ABI handoff. Observations: archived manifest records 8 successful objdump subprocesses but failed nested-copy-wide-row-prefix and stale session; raw review pending. Direct git checks confirm engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 common-dir /home/alex/sots-engine/.git and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7 common-dir /home/alex/sots-re/.git in assigned /tmp/opencode/sots-final-research-{engine,re}. Launcher source_before available in campaign/runtime/runs/run-daefd1b77558f324ae730b27.json. Initial relative-path compound control command denied by resolver permissions; no execution and no bypass attempted. Binary/tool identity currently documentary from archived manifest, not freshly rehashed. Decisions: no game-mechanism interpretation or acceptance; both surprises remain blocked pending raw review and scoped decisions. No experiments, source edits, delegation, lab access or leases acquired; no cleanup required.' --artifact verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json --next-action 'Inspect raw exact/wide streams and helper source, then record scoped Astra resolutions for the two open surprises.'"},"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"070383fd013a0e4b1a2ef5e0\",\n \"model\": \"openai/gpt-6-astra\",\n \"next_action\": \"Inspect raw exact/wide streams and helper source, then record scoped Astra resolutions for the two open surprises.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-daefd1b77558f324ae730b27\",\n \"summary\": \"Resolution-only review in progress. Read canonical policy, contract, latest checkpoint, both open surprises, verifier report/manifest and ABI handoff. Observations: archived manifest records 8 successful objdump subprocesses but failed nested-copy-wide-row-prefix and stale session; raw review pending. Direct git checks confirm engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 common-dir /home/alex/sots-engine/.git and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7 common-dir /home/alex/sots-re/.git in assigned /tmp/opencode/sots-final-research-{engine,re}. Launcher source_before available in campaign/runtime/runs/run-daefd1b77558f324ae730b27.json. Initial relative-path compound control command denied by resolver permissions; no execution and no bypass attempted. Binary/tool identity currently documentary from archived manifest, not freshly rehashed. Decisions: no game-mechanism interpretation or acceptance; both surprises remain blocked pending raw review and scoped decisions. No experiments, source edits, delegation, lab access or leases acquired; no cleanup required.\",\n \"timestamp\": \"2026-09-10T04:49:09.790016+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"070383fd013a0e4b1a2ef5e0\",\n \"model\": \"openai/gpt-6-astra\",\n \"next_action\": \"Inspect raw exact/wide streams and helper source, then record scoped Astra resolutions for the two open surprises.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-daefd1b77558f324ae730b27\",\n \"summary\": \"Resolution-only review in progress. Read canonical policy, contract, latest checkpoint, both open surprises, verifier report/manifest and ABI handoff. Observations: archived manifest records 8 successful objdump subprocesses but failed nested-copy-wide-row-prefix and stale session; raw review pending. Direct git checks confirm engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 common-dir /home/alex/sots-engine/.git and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7 common-dir /home/alex/sots-re/.git in assigned /tmp/opencode/sots-final-research-{engine,re}. Launcher source_before available in campaign/runtime/runs/run-daefd1b77558f324ae730b27.json. Initial relative-path compound control command denied by resolver permissions; no execution and no bypass attempted. Binary/tool identity currently documentary from archived manifest, not freshly rehashed. Decisions: no game-mechanism interpretation or acceptance; both surprises remain blocked pending raw review and scoped decisions. No experiments, source edits, delegation, lab access or leases acquired; no cleanup required.\",\n \"timestamp\": \"2026-09-10T04:49:09.790016+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --session run-daefd1b77558f324ae730b27 --summary 'Resolution-only review in progress. Read canonical policy, contract, latest checkpoint, both open surprises, verifier report/manifest and ABI handoff. Observations: archived manifest records 8 successful objdump subprocesses but failed nested-copy-wide-row-prefix and stale session; raw review pending. Direct git checks confirm engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 common-dir /home/alex/sots-engine/.git and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7 common-dir /home/alex/sots-re/.git in assigned /tmp/opencode/sots-final-research-{engine,re}. Launcher source_before available in campaign/runtime/runs/run-daefd1b77558f324ae730b27.json. Initial relative-path compound control command denied by resolver permissions; no execution and no bypass attempted. Binary/tool identity currently documentary from archived manifest, not freshly rehashed. Decisions: no game-mechanism interpretation or acceptance; both surprises remain blocked pending raw review and scoped decisions. No experiments, source edits, delegation, lab access or leases acquired; no cleanup required.' --artifact verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json --next-action 'Inspect raw exact/wide streams and helper source, then record scoped Astra resolutions for the two open surprises.'","time":{"start":1789015749748,"end":1789015749812}},"metadata":{"openai":{"itemId":"fc_09e900ff129a099f016aa236b9232c87d1a3c311d52d18ef68"}},"id":"prt_089a5c3790016ZLWW3U42omvlM","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a5b09a001kkjVafxtuYO3MZ"}} +{"type":"step_finish","timestamp":1789015749853,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a5f4da00179uK1atnTsdkwR","reason":"tool-calls","snapshot":"4e7de9c95eb34d37e83cdddf51d59ee3c4c844ca","messageID":"msg_089a5b09a001kkjVafxtuYO3MZ","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":48574,"input":28556,"output":425,"reasoning":9,"cache":{"write":0,"read":19584}},"cost":0}} +{"type":"step_start","timestamp":1789015761086,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a620a8001nMQJeFPszV6GDC","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"66c6a33ca86e64e6910752302dc83d0f28cd4206","type":"step-start"}} +{"type":"tool_use","timestamp":1789015761128,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_Prvb3XpZHodjArf8lRP0yDAO","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\nfile\n\n1: \n2: /home/alex/sots-re/dumps/sots.exe: file format pei-i386\n3: \n4: \n5: Disassembly of section .text:\n6: \n7: 00779850 <.text+0x378850>:\n8: 779850:\t55 \tpush ebp\n9: 779851:\t8b ec \tmov ebp,esp\n10: 779853:\t6a ff \tpush 0xffffffff\n11: 779855:\t68 10 7b 98 00 \tpush 0x987b10\n12: 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n13: 779860:\t50 \tpush eax\n14: 779861:\t83 ec 08 \tsub esp,0x8\n15: 779864:\t53 \tpush ebx\n16: 779865:\t56 \tpush esi\n17: 779866:\t57 \tpush edi\n18: 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n19: 77986c:\t33 c5 \txor eax,ebp\n20: 77986e:\t50 \tpush eax\n21: 77986f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n22: 779872:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n23: 779878:\t89 65 f0 \tmov DWORD PTR [ebp-0x10],esp\n24: 77987b:\t8b f1 \tmov esi,ecx\n25: 77987d:\t89 75 ec \tmov DWORD PTR [ebp-0x14],esi\n26: 779880:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n27: 779883:\t33 c0 \txor eax,eax\n28: 779885:\t89 06 \tmov DWORD PTR [esi],eax\n29: 779887:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n30: 77988a:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n31: 77988d:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n32: 779890:\t2b 0b \tsub ecx,DWORD PTR [ebx]\n33: 779892:\tb8 09 cb 3d 8d \tmov eax,0x8d3dcb09\n34: 779897:\tf7 e9 \timul ecx\n35: 779899:\t03 d1 \tadd edx,ecx\n36: 77989b:\tc1 fa 06 \tsar edx,0x6\n37: 77989e:\t8b fa \tmov edi,edx\n38: 7798a0:\tb8 00 00 00 00 \tmov eax,0x0\n39: 7798a5:\tc1 ef 1f \tshr edi,0x1f\n40: 7798a8:\t03 fa \tadd edi,edx\n41: 7798aa:\t89 06 \tmov DWORD PTR [esi],eax\n42: 7798ac:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n43: 7798af:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n44: 7798b2:\t74 4b \tje 0x7798ff\n45: 7798b4:\t81 ff 2c f7 34 02 \tcmp edi,0x234f72c\n46: 7798ba:\t76 0b \tjbe 0x7798c7\n47: 7798bc:\t68 90 1f 9e 00 \tpush 0x9e1f90\n48: 7798c1:\tff 15 50 d1 9d 00 \tcall DWORD PTR ds:0x9dd150\n49: 7798c7:\t8d 4e 0c \tlea ecx,[esi+0xc]\n50: 7798ca:\t57 \tpush edi\n51: 7798cb:\te8 70 16 01 00 \tcall 0x78af40\n52: 7798d0:\t6b ff 74 \timul edi,edi,0x74\n53: 7798d3:\t8b 55 08 \tmov edx,DWORD PTR [ebp+0x8]\n54: 7798d6:\t52 \tpush edx\n55: 7798d7:\t8d 56 0c \tlea edx,[esi+0xc]\n56: 7798da:\t52 \tpush edx\n57: 7798db:\t03 f8 \tadd edi,eax\n58: 7798dd:\t89 06 \tmov DWORD PTR [esi],eax\n59: 7798df:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n60: 7798e2:\t89 7e 08 \tmov DWORD PTR [esi+0x8],edi\n61: 7798e5:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n62: 7798e8:\t8b 1b \tmov ebx,DWORD PTR [ebx]\n63: 7798ea:\t50 \tpush eax\n64: 7798eb:\t51 \tpush ecx\n65: 7798ec:\t53 \tpush ebx\n66: 7798ed:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n67: 7798f4:\te8 a7 8c ff ff \tcall 0x7725a0\n68: 7798f9:\t83 c4 14 \tadd esp,0x14\n69: 7798fc:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n70: 7798ff:\t8b c6 \tmov eax,esi\n71: 779901:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n72: 779904:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n73: 77990b:\t59 \tpop ecx\n74: 77990c:\t5f \tpop edi\n75: 77990d:\t5e \tpop esi\n76: 77990e:\t5b \tpop ebx\n77: 77990f:\t8b e5 \tmov esp,ebp\n78: 779911:\t5d \tpop ebp\n79: 779912:\tc2 04 00 \tret 0x4\n80: 779915:\t8b 4d ec \tmov ecx,DWORD PTR [ebp-0x14]\n81: 779918:\te8 63 fc ea ff \tcall 0x629580\n82: 77991d:\t6a 00 \tpush 0x0\n83: 77991f:\t6a 00 \tpush 0x0\n84: 779921:\te8 96 b6 1a 00 \tcall 0x924fbc\n85: 779926:\tcc \tint3 \n86: 779927:\tcc \tint3 \n87: 779928:\tcc \tint3 \n88: 779929:\tcc \tint3 \n89: 77992a:\tcc \tint3 \n90: 77992b:\tcc \tint3 \n91: 77992c:\tcc \tint3 \n92: 77992d:\tcc \tint3 \n93: 77992e:\tcc \tint3 \n94: 77992f:\tcc \tint3 \n95: 779930:\t55 \tpush ebp\n96: 779931:\t8b ec \tmov ebp,esp\n97: 779933:\t6a ff \tpush 0xffffffff\n98: 779935:\t68 38 06 97 00 \tpush 0x970638\n99: 77993a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n100: 779940:\t50 \tpush eax\n101: 779941:\t83 ec 20 \tsub esp,0x20\n102: 779944:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n103: 779949:\t33 c5 \txor eax,ebp\n104: 77994b:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n105: 77994e:\t56 \tpush esi\n106: 77994f:\t50 \tpush eax\n107: 779950:\t8d 45 f4 \tlea eax,[ebp-0xc]\n108: 779953:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n109: 779959:\t8b f1 \tmov esi,ecx\n110: 77995b:\t8b 86 8c 00 00 00 \tmov eax,DWORD PTR [esi+0x8c]\n111: 779961:\t85 c0 \ttest eax,eax\n112: 779963:\t75 0c \tjne 0x779971\n113: 779965:\t68 34 24 a2 00 \tpush 0xa22434\n114: 77996a:\te8 e1 05 14 00 \tcall 0x8b9f50\n115: 77996f:\teb 7e \tjmp 0x7799ef\n116: 779971:\t50 \tpush eax\n117: 779972:\te8 09 cc c9 ff \tcall 0x416580\n118: 779977:\t83 c4 04 \tadd esp,0x4\n119: 77997a:\t85 c0 \ttest eax,eax\n120: 77997c:\t74 0c \tje 0x77998a\n121: 77997e:\t68 f8 23 a2 00 \tpush 0xa223f8\n122: 779983:\te8 58 08 14 00 \tcall 0x8ba1e0\n123: 779988:\teb 65 \tjmp 0x7799ef\n124: 77998a:\te8 d1 58 dc ff \tcall 0x53f260\n125: 77998f:\tc7 45 e8 0f 00 00 00 \tmov DWORD PTR [ebp-0x18],0xf\n126: 779996:\tc7 45 e4 00 00 00 00 \tmov DWORD PTR [ebp-0x1c],0x0\n127: 77999d:\tc6 45 d4 00 \tmov BYTE PTR [ebp-0x2c],0x0\n128: 7799a1:\t8d 4d d4 \tlea ecx,[ebp-0x2c]\n129: 7799a4:\t51 \tpush ecx\n130: 7799a5:\t50 \tpush eax\n131: 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n132: 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n133: 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n134: 7799b5:\t83 c4 08 \tadd esp,0x8\n135: 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n136: 7799bc:\t73 03 \tjae 0x7799c1\n137: 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n138: 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n139: 7799c7:\t6a 00 \tpush 0x0\n140: 7799c9:\t56 \tpush esi\n141: 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n142: 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n143: 7799d4:\t6a 00 \tpush 0x0\n144: 7799d6:\t50 \tpush eax\n145: 7799d7:\t52 \tpush edx\n146: 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n147: 7799dd:\t83 c4 1c \tadd esp,0x1c\n148: 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n149: 7799e4:\t72 0c \tjb 0x7799f2\n150: 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n151: 7799e9:\t50 \tpush eax\n152: 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n153: 7799ef:\t83 c4 04 \tadd esp,0x4\n154: 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n155: 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n156: 7799fc:\t59 \tpop ecx\n157: 7799fd:\t5e \tpop esi\n158: 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n159: 779a01:\t33 cd \txor ecx,ebp\n160: 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n161: 779a08:\t8b e5 \tmov esp,ebp\n162: 779a0a:\t5d \tpop ebp\n163: 779a0b:\tc3 \tret \n164: 779a0c:\tcc \tint3 \n165: 779a0d:\tcc \tint3 \n166: 779a0e:\tcc \tint3 \n167: 779a0f:\tcc \tint3 \n168: 779a10:\t53 \tpush ebx\n169: 779a11:\t56 \tpush esi\n170: 779a12:\t8b f1 \tmov esi,ecx\n171: 779a14:\t57 \tpush edi\n172: 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n173: 779a1b:\t33 db \txor ebx,ebx\n174: 779a1d:\t3b fb \tcmp edi,ebx\n175: 779a1f:\t74 \tje 0x779a31\n\n(End of file - total 175 lines)\n","metadata":{"preview":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00779850 <.text+0x378850>:\n 779850:\t55 \tpush ebp\n 779851:\t8b ec \tmov ebp,esp\n 779853:\t6a ff \tpush 0xffffffff\n 779855:\t68 10 7b 98 00 \tpush 0x987b10\n 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 779860:\t50 \tpush eax\n 779861:\t83 ec 08 \tsub esp,0x8\n 779864:\t53 \tpush ebx\n 779865:\t56 \tpush esi\n 779866:\t57 \tpush edi\n 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 77986c:\t33 c5 \txor eax,ebp\n 77986e:\t50 \tpush eax","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","text":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00779850 <.text+0x378850>:\n 779850:\t55 \tpush ebp\n 779851:\t8b ec \tmov ebp,esp\n 779853:\t6a ff \tpush 0xffffffff\n 779855:\t68 10 7b 98 00 \tpush 0x987b10\n 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 779860:\t50 \tpush eax\n 779861:\t83 ec 08 \tsub esp,0x8\n 779864:\t53 \tpush ebx\n 779865:\t56 \tpush esi\n 779866:\t57 \tpush edi\n 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 77986c:\t33 c5 \txor eax,ebp\n 77986e:\t50 \tpush eax\n 77986f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 779872:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 779878:\t89 65 f0 \tmov DWORD PTR [ebp-0x10],esp\n 77987b:\t8b f1 \tmov esi,ecx\n 77987d:\t89 75 ec \tmov DWORD PTR [ebp-0x14],esi\n 779880:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n 779883:\t33 c0 \txor eax,eax\n 779885:\t89 06 \tmov DWORD PTR [esi],eax\n 779887:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 77988a:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n 77988d:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n 779890:\t2b 0b \tsub ecx,DWORD PTR [ebx]\n 779892:\tb8 09 cb 3d 8d \tmov eax,0x8d3dcb09\n 779897:\tf7 e9 \timul ecx\n 779899:\t03 d1 \tadd edx,ecx\n 77989b:\tc1 fa 06 \tsar edx,0x6\n 77989e:\t8b fa \tmov edi,edx\n 7798a0:\tb8 00 00 00 00 \tmov eax,0x0\n 7798a5:\tc1 ef 1f \tshr edi,0x1f\n 7798a8:\t03 fa \tadd edi,edx\n 7798aa:\t89 06 \tmov DWORD PTR [esi],eax\n 7798ac:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 7798af:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n 7798b2:\t74 4b \tje 0x7798ff\n 7798b4:\t81 ff 2c f7 34 02 \tcmp edi,0x234f72c\n 7798ba:\t76 0b \tjbe 0x7798c7\n 7798bc:\t68 90 1f 9e 00 \tpush 0x9e1f90\n 7798c1:\tff 15 50 d1 9d 00 \tcall DWORD PTR ds:0x9dd150\n 7798c7:\t8d 4e 0c \tlea ecx,[esi+0xc]\n 7798ca:\t57 \tpush edi\n 7798cb:\te8 70 16 01 00 \tcall 0x78af40\n 7798d0:\t6b ff 74 \timul edi,edi,0x74\n 7798d3:\t8b 55 08 \tmov edx,DWORD PTR [ebp+0x8]\n 7798d6:\t52 \tpush edx\n 7798d7:\t8d 56 0c \tlea edx,[esi+0xc]\n 7798da:\t52 \tpush edx\n 7798db:\t03 f8 \tadd edi,eax\n 7798dd:\t89 06 \tmov DWORD PTR [esi],eax\n 7798df:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 7798e2:\t89 7e 08 \tmov DWORD PTR [esi+0x8],edi\n 7798e5:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n 7798e8:\t8b 1b \tmov ebx,DWORD PTR [ebx]\n 7798ea:\t50 \tpush eax\n 7798eb:\t51 \tpush ecx\n 7798ec:\t53 \tpush ebx\n 7798ed:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7798f4:\te8 a7 8c ff ff \tcall 0x7725a0\n 7798f9:\t83 c4 14 \tadd esp,0x14\n 7798fc:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 7798ff:\t8b c6 \tmov eax,esi\n 779901:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 779904:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 77990b:\t59 \tpop ecx\n 77990c:\t5f \tpop edi\n 77990d:\t5e \tpop esi\n 77990e:\t5b \tpop ebx\n 77990f:\t8b e5 \tmov esp,ebp\n 779911:\t5d \tpop ebp\n 779912:\tc2 04 00 \tret 0x4\n 779915:\t8b 4d ec \tmov ecx,DWORD PTR [ebp-0x14]\n 779918:\te8 63 fc ea ff \tcall 0x629580\n 77991d:\t6a 00 \tpush 0x0\n 77991f:\t6a 00 \tpush 0x0\n 779921:\te8 96 b6 1a 00 \tcall 0x924fbc\n 779926:\tcc \tint3 \n 779927:\tcc \tint3 \n 779928:\tcc \tint3 \n 779929:\tcc \tint3 \n 77992a:\tcc \tint3 \n 77992b:\tcc \tint3 \n 77992c:\tcc \tint3 \n 77992d:\tcc \tint3 \n 77992e:\tcc \tint3 \n 77992f:\tcc \tint3 \n 779930:\t55 \tpush ebp\n 779931:\t8b ec \tmov ebp,esp\n 779933:\t6a ff \tpush 0xffffffff\n 779935:\t68 38 06 97 00 \tpush 0x970638\n 77993a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 779940:\t50 \tpush eax\n 779941:\t83 ec 20 \tsub esp,0x20\n 779944:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 779949:\t33 c5 \txor eax,ebp\n 77994b:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n 77994e:\t56 \tpush esi\n 77994f:\t50 \tpush eax\n 779950:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 779953:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 779959:\t8b f1 \tmov esi,ecx\n 77995b:\t8b 86 8c 00 00 00 \tmov eax,DWORD PTR [esi+0x8c]\n 779961:\t85 c0 \ttest eax,eax\n 779963:\t75 0c \tjne 0x779971\n 779965:\t68 34 24 a2 00 \tpush 0xa22434\n 77996a:\te8 e1 05 14 00 \tcall 0x8b9f50\n 77996f:\teb 7e \tjmp 0x7799ef\n 779971:\t50 \tpush eax\n 779972:\te8 09 cc c9 ff \tcall 0x416580\n 779977:\t83 c4 04 \tadd esp,0x4\n 77997a:\t85 c0 \ttest eax,eax\n 77997c:\t74 0c \tje 0x77998a\n 77997e:\t68 f8 23 a2 00 \tpush 0xa223f8\n 779983:\te8 58 08 14 00 \tcall 0x8ba1e0\n 779988:\teb 65 \tjmp 0x7799ef\n 77998a:\te8 d1 58 dc ff \tcall 0x53f260\n 77998f:\tc7 45 e8 0f 00 00 00 \tmov DWORD PTR [ebp-0x18],0xf\n 779996:\tc7 45 e4 00 00 00 00 \tmov DWORD PTR [ebp-0x1c],0x0\n 77999d:\tc6 45 d4 00 \tmov BYTE PTR [ebp-0x2c],0x0\n 7799a1:\t8d 4d d4 \tlea ecx,[ebp-0x2c]\n 7799a4:\t51 \tpush ecx\n 7799a5:\t50 \tpush eax\n 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799b5:\t83 c4 08 \tadd esp,0x8\n 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799bc:\t73 03 \tjae 0x7799c1\n 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n 7799c7:\t6a 00 \tpush 0x0\n 7799c9:\t56 \tpush esi\n 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n 7799d4:\t6a 00 \tpush 0x0\n 7799d6:\t50 \tpush eax\n 7799d7:\t52 \tpush edx\n 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n 7799dd:\t83 c4 1c \tadd esp,0x1c\n 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799e4:\t72 0c \tjb 0x7799f2\n 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799e9:\t50 \tpush eax\n 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n 7799ef:\t83 c4 04 \tadd esp,0x4\n 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 7799fc:\t59 \tpop ecx\n 7799fd:\t5e \tpop esi\n 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n 779a01:\t33 cd \txor ecx,ebp\n 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n 779a08:\t8b e5 \tmov esp,ebp\n 779a0a:\t5d \tpop ebp\n 779a0b:\tc3 \tret \n 779a0c:\tcc \tint3 \n 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx\n 779a1f:\t74 \tje 0x779a31","lineStart":1,"lineEnd":175,"totalLines":175,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt","time":{"start":1789015761111,"end":1789015761126}},"metadata":{"openai":{"itemId":"fc_0a538fcb6755daf7016aa236d0f3f087d1b5007f4bbb3590fc"}},"id":"prt_089a620b9001TkjcphateDwFen","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2"}} +{"type":"tool_use","timestamp":1789015761281,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_JbDqsIelfUDi1ptyOQDbX7vw","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\nfile\n\n1: \n2: /home/alex/sots-re/dumps/sots.exe: file format pei-i386\n3: \n4: \n5: Disassembly of section .text:\n6: \n7: 00779850 <.text+0x378850>:\n8: 779850:\t55 \tpush ebp\n9: 779851:\t8b ec \tmov ebp,esp\n10: 779853:\t6a ff \tpush 0xffffffff\n11: 779855:\t68 10 7b 98 00 \tpush 0x987b10\n12: 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n13: 779860:\t50 \tpush eax\n14: 779861:\t83 ec 08 \tsub esp,0x8\n15: 779864:\t53 \tpush ebx\n16: 779865:\t56 \tpush esi\n17: 779866:\t57 \tpush edi\n18: 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n19: 77986c:\t33 c5 \txor eax,ebp\n20: 77986e:\t50 \tpush eax\n21: 77986f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n22: 779872:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n23: 779878:\t89 65 f0 \tmov DWORD PTR [ebp-0x10],esp\n24: 77987b:\t8b f1 \tmov esi,ecx\n25: 77987d:\t89 75 ec \tmov DWORD PTR [ebp-0x14],esi\n26: 779880:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n27: 779883:\t33 c0 \txor eax,eax\n28: 779885:\t89 06 \tmov DWORD PTR [esi],eax\n29: 779887:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n30: 77988a:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n31: 77988d:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n32: 779890:\t2b 0b \tsub ecx,DWORD PTR [ebx]\n33: 779892:\tb8 09 cb 3d 8d \tmov eax,0x8d3dcb09\n34: 779897:\tf7 e9 \timul ecx\n35: 779899:\t03 d1 \tadd edx,ecx\n36: 77989b:\tc1 fa 06 \tsar edx,0x6\n37: 77989e:\t8b fa \tmov edi,edx\n38: 7798a0:\tb8 00 00 00 00 \tmov eax,0x0\n39: 7798a5:\tc1 ef 1f \tshr edi,0x1f\n40: 7798a8:\t03 fa \tadd edi,edx\n41: 7798aa:\t89 06 \tmov DWORD PTR [esi],eax\n42: 7798ac:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n43: 7798af:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n44: 7798b2:\t74 4b \tje 0x7798ff\n45: 7798b4:\t81 ff 2c f7 34 02 \tcmp edi,0x234f72c\n46: 7798ba:\t76 0b \tjbe 0x7798c7\n47: 7798bc:\t68 90 1f 9e 00 \tpush 0x9e1f90\n48: 7798c1:\tff 15 50 d1 9d 00 \tcall DWORD PTR ds:0x9dd150\n49: 7798c7:\t8d 4e 0c \tlea ecx,[esi+0xc]\n50: 7798ca:\t57 \tpush edi\n51: 7798cb:\te8 70 16 01 00 \tcall 0x78af40\n52: 7798d0:\t6b ff 74 \timul edi,edi,0x74\n53: 7798d3:\t8b 55 08 \tmov edx,DWORD PTR [ebp+0x8]\n54: 7798d6:\t52 \tpush edx\n55: 7798d7:\t8d 56 0c \tlea edx,[esi+0xc]\n56: 7798da:\t52 \tpush edx\n57: 7798db:\t03 f8 \tadd edi,eax\n58: 7798dd:\t89 06 \tmov DWORD PTR [esi],eax\n59: 7798df:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n60: 7798e2:\t89 7e 08 \tmov DWORD PTR [esi+0x8],edi\n61: 7798e5:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n62: 7798e8:\t8b 1b \tmov ebx,DWORD PTR [ebx]\n63: 7798ea:\t50 \tpush eax\n64: 7798eb:\t51 \tpush ecx\n65: 7798ec:\t53 \tpush ebx\n66: 7798ed:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n67: 7798f4:\te8 a7 8c ff ff \tcall 0x7725a0\n68: 7798f9:\t83 c4 14 \tadd esp,0x14\n69: 7798fc:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n70: 7798ff:\t8b c6 \tmov eax,esi\n71: 779901:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n72: 779904:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n73: 77990b:\t59 \tpop ecx\n74: 77990c:\t5f \tpop edi\n75: 77990d:\t5e \tpop esi\n76: 77990e:\t5b \tpop ebx\n77: 77990f:\t8b e5 \tmov esp,ebp\n78: 779911:\t5d \tpop ebp\n79: 779912:\tc2 04 00 \tret 0x4\n80: 779915:\t8b 4d ec \tmov ecx,DWORD PTR [ebp-0x14]\n81: 779918:\te8 63 fc ea ff \tcall 0x629580\n82: 77991d:\t6a 00 \tpush 0x0\n83: 77991f:\t6a 00 \tpush 0x0\n84: 779921:\te8 96 b6 1a 00 \tcall 0x924fbc\n85: 779926:\tcc \tint3 \n86: 779927:\tcc \tint3 \n87: 779928:\tcc \tint3 \n88: 779929:\tcc \tint3 \n89: 77992a:\tcc \tint3 \n90: 77992b:\tcc \tint3 \n91: 77992c:\tcc \tint3 \n92: 77992d:\tcc \tint3 \n93: 77992e:\tcc \tint3 \n94: 77992f:\tcc \tint3 \n95: 779930:\t55 \tpush ebp\n96: 779931:\t8b ec \tmov ebp,esp\n97: 779933:\t6a ff \tpush 0xffffffff\n98: 779935:\t68 38 06 97 00 \tpush 0x970638\n99: 77993a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n100: 779940:\t50 \tpush eax\n101: 779941:\t83 ec 20 \tsub esp,0x20\n102: 779944:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n103: 779949:\t33 c5 \txor eax,ebp\n104: 77994b:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n105: 77994e:\t56 \tpush esi\n106: 77994f:\t50 \tpush eax\n107: 779950:\t8d 45 f4 \tlea eax,[ebp-0xc]\n108: 779953:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n109: 779959:\t8b f1 \tmov esi,ecx\n110: 77995b:\t8b 86 8c 00 00 00 \tmov eax,DWORD PTR [esi+0x8c]\n111: 779961:\t85 c0 \ttest eax,eax\n112: 779963:\t75 0c \tjne 0x779971\n113: 779965:\t68 34 24 a2 00 \tpush 0xa22434\n114: 77996a:\te8 e1 05 14 00 \tcall 0x8b9f50\n115: 77996f:\teb 7e \tjmp 0x7799ef\n116: 779971:\t50 \tpush eax\n117: 779972:\te8 09 cc c9 ff \tcall 0x416580\n118: 779977:\t83 c4 04 \tadd esp,0x4\n119: 77997a:\t85 c0 \ttest eax,eax\n120: 77997c:\t74 0c \tje 0x77998a\n121: 77997e:\t68 f8 23 a2 00 \tpush 0xa223f8\n122: 779983:\te8 58 08 14 00 \tcall 0x8ba1e0\n123: 779988:\teb 65 \tjmp 0x7799ef\n124: 77998a:\te8 d1 58 dc ff \tcall 0x53f260\n125: 77998f:\tc7 45 e8 0f 00 00 00 \tmov DWORD PTR [ebp-0x18],0xf\n126: 779996:\tc7 45 e4 00 00 00 00 \tmov DWORD PTR [ebp-0x1c],0x0\n127: 77999d:\tc6 45 d4 00 \tmov BYTE PTR [ebp-0x2c],0x0\n128: 7799a1:\t8d 4d d4 \tlea ecx,[ebp-0x2c]\n129: 7799a4:\t51 \tpush ecx\n130: 7799a5:\t50 \tpush eax\n131: 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n132: 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n133: 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n134: 7799b5:\t83 c4 08 \tadd esp,0x8\n135: 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n136: 7799bc:\t73 03 \tjae 0x7799c1\n137: 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n138: 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n139: 7799c7:\t6a 00 \tpush 0x0\n140: 7799c9:\t56 \tpush esi\n141: 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n142: 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n143: 7799d4:\t6a 00 \tpush 0x0\n144: 7799d6:\t50 \tpush eax\n145: 7799d7:\t52 \tpush edx\n146: 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n147: 7799dd:\t83 c4 1c \tadd esp,0x1c\n148: 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n149: 7799e4:\t72 0c \tjb 0x7799f2\n150: 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n151: 7799e9:\t50 \tpush eax\n152: 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n153: 7799ef:\t83 c4 04 \tadd esp,0x4\n154: 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n155: 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n156: 7799fc:\t59 \tpop ecx\n157: 7799fd:\t5e \tpop esi\n158: 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n159: 779a01:\t33 cd \txor ecx,ebp\n160: 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n161: 779a08:\t8b e5 \tmov esp,ebp\n162: 779a0a:\t5d \tpop ebp\n163: 779a0b:\tc3 \tret \n164: 779a0c:\tcc \tint3 \n165: 779a0d:\tcc \tint3 \n166: 779a0e:\tcc \tint3 \n167: 779a0f:\tcc \tint3 \n168: 779a10:\t53 \tpush ebx\n169: 779a11:\t56 \tpush esi\n170: 779a12:\t8b f1 \tmov esi,ecx\n171: 779a14:\t57 \tpush edi\n172: 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n173: 779a1b:\t33 db \txor ebx,ebx\n174: 779a1d:\t3b fb \tcmp edi,ebx\n175: 779a1f:\t74 10 \tje 0x779a31\n176: 779a21:\t8b cf \tmov ecx,edi\n177: 779a23:\te8 \tcall 0x770450\n\n(End of file - total 177 lines)\n","metadata":{"preview":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00779850 <.text+0x378850>:\n 779850:\t55 \tpush ebp\n 779851:\t8b ec \tmov ebp,esp\n 779853:\t6a ff \tpush 0xffffffff\n 779855:\t68 10 7b 98 00 \tpush 0x987b10\n 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 779860:\t50 \tpush eax\n 779861:\t83 ec 08 \tsub esp,0x8\n 779864:\t53 \tpush ebx\n 779865:\t56 \tpush esi\n 779866:\t57 \tpush edi\n 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 77986c:\t33 c5 \txor eax,ebp\n 77986e:\t50 \tpush eax","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","text":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00779850 <.text+0x378850>:\n 779850:\t55 \tpush ebp\n 779851:\t8b ec \tmov ebp,esp\n 779853:\t6a ff \tpush 0xffffffff\n 779855:\t68 10 7b 98 00 \tpush 0x987b10\n 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 779860:\t50 \tpush eax\n 779861:\t83 ec 08 \tsub esp,0x8\n 779864:\t53 \tpush ebx\n 779865:\t56 \tpush esi\n 779866:\t57 \tpush edi\n 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 77986c:\t33 c5 \txor eax,ebp\n 77986e:\t50 \tpush eax\n 77986f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 779872:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 779878:\t89 65 f0 \tmov DWORD PTR [ebp-0x10],esp\n 77987b:\t8b f1 \tmov esi,ecx\n 77987d:\t89 75 ec \tmov DWORD PTR [ebp-0x14],esi\n 779880:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n 779883:\t33 c0 \txor eax,eax\n 779885:\t89 06 \tmov DWORD PTR [esi],eax\n 779887:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 77988a:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n 77988d:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n 779890:\t2b 0b \tsub ecx,DWORD PTR [ebx]\n 779892:\tb8 09 cb 3d 8d \tmov eax,0x8d3dcb09\n 779897:\tf7 e9 \timul ecx\n 779899:\t03 d1 \tadd edx,ecx\n 77989b:\tc1 fa 06 \tsar edx,0x6\n 77989e:\t8b fa \tmov edi,edx\n 7798a0:\tb8 00 00 00 00 \tmov eax,0x0\n 7798a5:\tc1 ef 1f \tshr edi,0x1f\n 7798a8:\t03 fa \tadd edi,edx\n 7798aa:\t89 06 \tmov DWORD PTR [esi],eax\n 7798ac:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 7798af:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n 7798b2:\t74 4b \tje 0x7798ff\n 7798b4:\t81 ff 2c f7 34 02 \tcmp edi,0x234f72c\n 7798ba:\t76 0b \tjbe 0x7798c7\n 7798bc:\t68 90 1f 9e 00 \tpush 0x9e1f90\n 7798c1:\tff 15 50 d1 9d 00 \tcall DWORD PTR ds:0x9dd150\n 7798c7:\t8d 4e 0c \tlea ecx,[esi+0xc]\n 7798ca:\t57 \tpush edi\n 7798cb:\te8 70 16 01 00 \tcall 0x78af40\n 7798d0:\t6b ff 74 \timul edi,edi,0x74\n 7798d3:\t8b 55 08 \tmov edx,DWORD PTR [ebp+0x8]\n 7798d6:\t52 \tpush edx\n 7798d7:\t8d 56 0c \tlea edx,[esi+0xc]\n 7798da:\t52 \tpush edx\n 7798db:\t03 f8 \tadd edi,eax\n 7798dd:\t89 06 \tmov DWORD PTR [esi],eax\n 7798df:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 7798e2:\t89 7e 08 \tmov DWORD PTR [esi+0x8],edi\n 7798e5:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n 7798e8:\t8b 1b \tmov ebx,DWORD PTR [ebx]\n 7798ea:\t50 \tpush eax\n 7798eb:\t51 \tpush ecx\n 7798ec:\t53 \tpush ebx\n 7798ed:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7798f4:\te8 a7 8c ff ff \tcall 0x7725a0\n 7798f9:\t83 c4 14 \tadd esp,0x14\n 7798fc:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n 7798ff:\t8b c6 \tmov eax,esi\n 779901:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 779904:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 77990b:\t59 \tpop ecx\n 77990c:\t5f \tpop edi\n 77990d:\t5e \tpop esi\n 77990e:\t5b \tpop ebx\n 77990f:\t8b e5 \tmov esp,ebp\n 779911:\t5d \tpop ebp\n 779912:\tc2 04 00 \tret 0x4\n 779915:\t8b 4d ec \tmov ecx,DWORD PTR [ebp-0x14]\n 779918:\te8 63 fc ea ff \tcall 0x629580\n 77991d:\t6a 00 \tpush 0x0\n 77991f:\t6a 00 \tpush 0x0\n 779921:\te8 96 b6 1a 00 \tcall 0x924fbc\n 779926:\tcc \tint3 \n 779927:\tcc \tint3 \n 779928:\tcc \tint3 \n 779929:\tcc \tint3 \n 77992a:\tcc \tint3 \n 77992b:\tcc \tint3 \n 77992c:\tcc \tint3 \n 77992d:\tcc \tint3 \n 77992e:\tcc \tint3 \n 77992f:\tcc \tint3 \n 779930:\t55 \tpush ebp\n 779931:\t8b ec \tmov ebp,esp\n 779933:\t6a ff \tpush 0xffffffff\n 779935:\t68 38 06 97 00 \tpush 0x970638\n 77993a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 779940:\t50 \tpush eax\n 779941:\t83 ec 20 \tsub esp,0x20\n 779944:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 779949:\t33 c5 \txor eax,ebp\n 77994b:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n 77994e:\t56 \tpush esi\n 77994f:\t50 \tpush eax\n 779950:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 779953:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 779959:\t8b f1 \tmov esi,ecx\n 77995b:\t8b 86 8c 00 00 00 \tmov eax,DWORD PTR [esi+0x8c]\n 779961:\t85 c0 \ttest eax,eax\n 779963:\t75 0c \tjne 0x779971\n 779965:\t68 34 24 a2 00 \tpush 0xa22434\n 77996a:\te8 e1 05 14 00 \tcall 0x8b9f50\n 77996f:\teb 7e \tjmp 0x7799ef\n 779971:\t50 \tpush eax\n 779972:\te8 09 cc c9 ff \tcall 0x416580\n 779977:\t83 c4 04 \tadd esp,0x4\n 77997a:\t85 c0 \ttest eax,eax\n 77997c:\t74 0c \tje 0x77998a\n 77997e:\t68 f8 23 a2 00 \tpush 0xa223f8\n 779983:\te8 58 08 14 00 \tcall 0x8ba1e0\n 779988:\teb 65 \tjmp 0x7799ef\n 77998a:\te8 d1 58 dc ff \tcall 0x53f260\n 77998f:\tc7 45 e8 0f 00 00 00 \tmov DWORD PTR [ebp-0x18],0xf\n 779996:\tc7 45 e4 00 00 00 00 \tmov DWORD PTR [ebp-0x1c],0x0\n 77999d:\tc6 45 d4 00 \tmov BYTE PTR [ebp-0x2c],0x0\n 7799a1:\t8d 4d d4 \tlea ecx,[ebp-0x2c]\n 7799a4:\t51 \tpush ecx\n 7799a5:\t50 \tpush eax\n 7799a6:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 7799ad:\te8 fe 52 dc ff \tcall 0x53ecb0\n 7799b2:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799b5:\t83 c4 08 \tadd esp,0x8\n 7799b8:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799bc:\t73 03 \tjae 0x7799c1\n 7799be:\t8d 45 d4 \tlea eax,[ebp-0x2c]\n 7799c1:\t8b 96 8c 00 00 00 \tmov edx,DWORD PTR [esi+0x8c]\n 7799c7:\t6a 00 \tpush 0x0\n 7799c9:\t56 \tpush esi\n 7799ca:\t68 a0 8d 77 00 \tpush 0x778da0\n 7799cf:\t68 e0 ea 76 00 \tpush 0x76eae0\n 7799d4:\t6a 00 \tpush 0x0\n 7799d6:\t50 \tpush eax\n 7799d7:\t52 \tpush edx\n 7799d8:\te8 f3 d7 c9 ff \tcall 0x4171d0\n 7799dd:\t83 c4 1c \tadd esp,0x1c\n 7799e0:\t83 7d e8 10 \tcmp DWORD PTR [ebp-0x18],0x10\n 7799e4:\t72 0c \tjb 0x7799f2\n 7799e6:\t8b 45 d4 \tmov eax,DWORD PTR [ebp-0x2c]\n 7799e9:\t50 \tpush eax\n 7799ea:\te8 bb b5 1a 00 \tcall 0x924faa\n 7799ef:\t83 c4 04 \tadd esp,0x4\n 7799f2:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 7799f5:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 7799fc:\t59 \tpop ecx\n 7799fd:\t5e \tpop esi\n 7799fe:\t8b 4d f0 \tmov ecx,DWORD PTR [ebp-0x10]\n 779a01:\t33 cd \txor ecx,ebp\n 779a03:\te8 7a b3 1a 00 \tcall 0x924d82\n 779a08:\t8b e5 \tmov esp,ebp\n 779a0a:\t5d \tpop ebp\n 779a0b:\tc3 \tret \n 779a0c:\tcc \tint3 \n 779a0d:\tcc \tint3 \n 779a0e:\tcc \tint3 \n 779a0f:\tcc \tint3 \n 779a10:\t53 \tpush ebx\n 779a11:\t56 \tpush esi\n 779a12:\t8b f1 \tmov esi,ecx\n 779a14:\t57 \tpush edi\n 779a15:\t8b be 24 01 00 00 \tmov edi,DWORD PTR [esi+0x124]\n 779a1b:\t33 db \txor ebx,ebx\n 779a1d:\t3b fb \tcmp edi,ebx\n 779a1f:\t74 10 \tje 0x779a31\n 779a21:\t8b cf \tmov ecx,edi\n 779a23:\te8 \tcall 0x770450","lineStart":1,"lineEnd":177,"totalLines":177,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt","time":{"start":1789015761267,"end":1789015761279}},"metadata":{"openai":{"itemId":"fc_0a538fcb6755daf7016aa236d0f40487d19cdf6d9926e3cad3"}},"id":"prt_089a62151001oAuNYfWl2LsNmJ","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2"}} +{"type":"tool_use","timestamp":1789015761493,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_XiiDUqy08xVh0GSzNNQ6nQyU","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\nfile\n\n1: #!/usr/bin/env python3\n2: import hashlib, json, re, subprocess\n3: from datetime import datetime, timezone\n4: from pathlib import Path\n5: \n6: ROOT = Path('/home/alex/sots-re')\n7: OUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\n8: AUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\n9: TOOL = Path('/usr/bin/objdump')\n10: BINARY = ROOT / 'dumps/sots.exe'\n11: WINDOWS = {\n12: 'turn-get-create': (0x00885380, 0x0088544a),\n13: 'turn-append': (0x00884cb0, 0x00884d8f),\n14: 'nested-copy': (0x00779850, 0x00779a20),\n15: 'nested-dtor': (0x00629580, 0x006295ca),\n16: }\n17: EXPECTED = {\n18: 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n19: 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n20: }\n21: ROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n22: \n23: def sha(data): return hashlib.sha256(data).hexdigest()\n24: def rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n25: \n26: OUT.mkdir(parents=True, exist_ok=True)\n27: checks = []\n28: records = []\n29: for name, (start, stop) in WINDOWS.items():\n30: variants = {}\n31: for suffix, end in (('exact', stop), ('wide', stop + 4)):\n32: argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n33: f'--stop-address=0x{end:08x}', str(BINARY)]\n34: p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n35: for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n36: (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n37: variants[suffix] = p.stdout\n38: records.append({'name': name, 'variant': suffix, 'argv': argv,\n39: 'returncode': p.returncode,\n40: 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n41: 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n42: checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n43: (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n44: (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n45: archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n46: exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n47: checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n48: (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n49: (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n50: \n51: get = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\n52: pre_call = get.split('885413:', 1)[0]\n53: stack20_writes = [line.strip() for line in pre_call.splitlines()\n54: if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\n55: append = (OUT / 'turn-append-exact.stdout.txt').read_text()\n56: copy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\n57: dtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\n58: checks += [\n59: ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n60: ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n61: ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n62: ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n63: ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n64: ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n65: ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n66: ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n67: ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n68: ]\n69: \n70: failed = [name for name, ok in checks if not ok]\n71: manifest = {\n72: 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n73: 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n74: 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n75: 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n76: 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n77: 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n78: 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n79: 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n80: 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n81: 'failed': failed,\n82: 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n83: }\n84: (OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\n85: print(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n86: 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\n87: raise SystemExit(bool(failed))\n\n(End of file - total 87 lines)\n","metadata":{"preview":"#!/usr/bin/env python3\nimport hashlib, json, re, subprocess\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nROOT = Path('/home/alex/sots-re')\nOUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\nAUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\nTOOL = Path('/usr/bin/objdump')\nBINARY = ROOT / 'dumps/sots.exe'\nWINDOWS = {\n 'turn-get-create': (0x00885380, 0x0088544a),\n 'turn-append': (0x00884cb0, 0x00884d8f),\n 'nested-copy': (0x00779850, 0x00779a20),\n 'nested-dtor': (0x00629580, 0x006295ca),\n}\nEXPECTED = {\n 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","text":"#!/usr/bin/env python3\nimport hashlib, json, re, subprocess\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nROOT = Path('/home/alex/sots-re')\nOUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\nAUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\nTOOL = Path('/usr/bin/objdump')\nBINARY = ROOT / 'dumps/sots.exe'\nWINDOWS = {\n 'turn-get-create': (0x00885380, 0x0088544a),\n 'turn-append': (0x00884cb0, 0x00884d8f),\n 'nested-copy': (0x00779850, 0x00779a20),\n 'nested-dtor': (0x00629580, 0x006295ca),\n}\nEXPECTED = {\n 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n}\nROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n\ndef sha(data): return hashlib.sha256(data).hexdigest()\ndef rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n\nOUT.mkdir(parents=True, exist_ok=True)\nchecks = []\nrecords = []\nfor name, (start, stop) in WINDOWS.items():\n variants = {}\n for suffix, end in (('exact', stop), ('wide', stop + 4)):\n argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n f'--stop-address=0x{end:08x}', str(BINARY)]\n p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n variants[suffix] = p.stdout\n records.append({'name': name, 'variant': suffix, 'argv': argv,\n 'returncode': p.returncode,\n 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n\nget = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\npre_call = get.split('885413:', 1)[0]\nstack20_writes = [line.strip() for line in pre_call.splitlines()\n if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\nappend = (OUT / 'turn-append-exact.stdout.txt').read_text()\ncopy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\ndtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\nchecks += [\n ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n]\n\nfailed = [name for name, ok in checks if not ok]\nmanifest = {\n 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n 'failed': failed,\n 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n}\n(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\nprint(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\nraise SystemExit(bool(failed))","lineStart":1,"lineEnd":87,"totalLines":87,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","time":{"start":1789015761483,"end":1789015761490}},"metadata":{"openai":{"itemId":"fc_0a538fcb6755daf7016aa236d0f41087d1a4309ffd87cffcad"}},"id":"prt_089a6219a0018rYQz1px0COYQI","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2"}} +{"type":"tool_use","timestamp":1789015761591,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_NEv9YlhJcqGYdntpSFaEtRCx","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json"},"output":"/home/alex/sots-re/campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json\nfile\n\n1: {\n2: \"actor\": \"live-record surprise resolver\",\n3: \"contract\": \"research-completion-abi\",\n4: \"explanation\": \"Astra resolution, session run-f63d1e050a7ee3fac7b44885. OBSERVATION/PROVENANCE: reviewed complete raw get/create and append windows in verify/results/research-live-record-bridge/run-472955e277202c411388c66b; checkpoint d08b4bbf364f3305ee2fef98 rehashed manifest ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b and both stdout artifacts to their recorded hashes. Historical capture manifest binds sots.exe 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and objdump 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd with positive nonempty exit-zero static execution. Current binary/tool were not rehashed or rerun: resolver shell denies that operation. Worktree HEAD/common directories match baselines; dirty content is not inferred from HEAD. No game or hook ran; read-only disassembly introduces no runtime instrument effects. No stale-build or game-mechanism diagnosis is justified.\\nOVERTURNED, exact captured normal miss-path domain: temporary EvTurn is initialized to zero, and append necessarily copies zero (recovered-static.md lines 68-69). Complete entry has no call before append and no store to EBP-0x20: prologue writes SEH at -4/-8/-c, stack reservation does not initialize locals, saved registers/cookie are below -24; miss stores vptr at -24, nested pointers at -1c/-18/-14 and EH state at -4. ECX names receiver+4. Append external-source branch loads source+4 at 0x884d62 and stores destination+4 at 0x884d6c, then nested-copy, then advances last at 0x884d78. Temporary nested cleanup at 0x885422 precedes requested-turn store to last-0x14 at 0x88542d.\\nSURVIVES in those static windows for valid containers and normally returning helpers: ECX receiver/one stack argument/ret4/EAX bucket ABI; full last-match scan; vptr and empty nested-header initialization; scalar EvTurn copy distinct from nested deep-copy; cleanup of temporary nested vector; final new bucket turn equals requested turn and EAX=last-0x18. Existin... (line truncated to 2000 chars)\n5: \"id\": \"d-b51f3f76803e852ed250846a\",\n6: \"invalidated_checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-d2e4078886c66df34ee00b24.json\",\n7: \"invalidated_evidence\": [\n8: {\n9: \"axis\": \"static-recovery\",\n10: \"binaries\": [\n11: {\n12: \"path\": \"dumps/sots.exe\",\n13: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n14: }\n15: ],\n16: \"id\": \"research-completion-abi-static-run-79357a65226f61d6a86c042d\",\n17: \"inputs\": [\n18: {\n19: \"path\": \"verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/report.md\",\n20: \"sha256\": \"d5a28f01002f1711cf8575ffd817a8f0998b413c6280d656e6cdad5a90a04477\"\n21: }\n22: ],\n23: \"integrated\": true,\n24: \"outcomes\": [\n25: {\n26: \"artifact\": {\n27: \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json\",\n28: \"sha256\": \"4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c\"\n29: },\n30: \"criterion\": \"ownership-recovered\",\n31: \"status\": \"pass\"\n32: }\n33: ],\n34: \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json\",\n35: \"sha256\": \"4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c\",\n36: \"source\": {\n37: \"engine\": {\n38: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n39: \"path\": \"/home/alex/sots-engine\"\n40: },\n41: \"re\": {\n42: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n43: \"path\": \"/home/alex/sots-re\"\n44: }\n45: },\n46: \"source_binding\": {\n47: \"engine\": {\n48: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n49: \"path\": \"/home/alex/sots-engine\",\n50: \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n51: },\n52: \"re\": {\n53: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n54: \"path\": \"/home/alex/sots-re\",\n55: \"sha256\": \"e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4\"\n56: }\n57: }\n58: },\n59: {\n60: \"axis\": \"validation\",\n61: \"binaries\": [\n62: {\n63: \"path\": \"dumps/sots.exe\",\n64: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n65: }\n66: ],\n67: \"id\": \"research-completion-abi-validation-run-735fcb8f4876c10285b03fad\",\n68: \"inputs\": [\n69: {\n70: \"path\": \"verify/results/saves/turn3-state.sav\",\n71: \"sha256\": \"978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921\"\n72: },\n73: {\n74: \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json\",\n75: \"sha256\": \"4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c\"\n76: }\n77: ],\n78: \"integrated\": true,\n79: \"outcomes\": [\n80: {\n81: \"artifact\": {\n82: \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json\",\n83: \"sha256\": \"6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433\"\n84: },\n85: \"criterion\": \"independent-cross-check\",\n86: \"status\": \"pass\"\n87: }\n88: ],\n89: \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json\",\n90: \"sha256\": \"6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433\",\n91: \"source\": {\n92: \"engine\": {\n93: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n94: \"path\": \"/home/alex/sots-engine\"\n95: },\n96: \"re\": {\n97: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n98: \"path\": \"/home/alex/sots-re\"\n99: }\n100: },\n101: \"source_binding\": {\n102: \"engine\": {\n103: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n104: \"path\": \"/home/alex/sots-engine\",\n105: \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n106: },\n107: \"re\": {\n108: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n109: \"path\": \"/home/alex/sots-re\",\n110: \"sha256\": \"e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4\"\n111: }\n112: }\n113: }\n114: ],\n115: \"model\": \"openai/gpt-6-astra\",\n116: \"probe\": \"Cheapest discriminator is read-only complete-window def/use review, performed on hash-checked archived get/create and append text here; no pre-append EBP-0x20 store exists. Before corrected acceptance, authorized analyst freshly hashes binary/tool and repeats manifest argv for those two windows plus nested empty-copy/cleanup, explicitly checks prologue stack offsets and cleanup-before-final-store order; independent verifier reproduces the corrected integrated package. No VM is needed for this interpretation repair. If transient runtime equivalence is later required, separately approve a leased fixture with two deliberately distinct initialized stack sentinels and spare/full capacity, pre/post-store observations and neutral controls; it is not authorized or executed here.\",\n117: \"role\": \"resolver\",\n118: \"schema\": \"sots-decision/1\",\n119: \"surprise\": \"s-c6786945b302de2a0b629960\",\n120: \"timestamp\": \"2026-09-10T04:19:02.935461+00:00\"\n121: }\n\n(End of file - total 121 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"explanation\": \"Astra resolution, session run-f63d1e050a7ee3fac7b44885. OBSERVATION/PROVENANCE: reviewed complete raw get/create and append windows in verify/results/research-live-record-bridge/run-472955e277202c411388c66b; checkpoint d08b4bbf364f3305ee2fef98 rehashed manifest ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b and both stdout artifacts to their recorded hashes. Historical capture manifest binds sots.exe 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and objdump 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd with positive nonempty exit-zero static execution. Current binary/tool were not rehashed or rerun: resolver shell denies that operation. Worktree HEAD/common directories match baselines; dirty content is not inferred from HEAD. No game or hook ran; read-only disassembly introduces no runtime instrument effects. No stale-build or game-mechanism diagnosis is justified.\\nOVERTURNED, exact captured normal miss-path domain: temporary EvTurn is initialized to zero, and append necessarily copies zero (recovered-static.md lines 68-69). Complete entry has no call before append and no store to EBP-0x20: prologue writes SEH at -4/-8/-c, stack reservation does not initialize locals, saved registers/cookie are below -24; miss stores vptr at -24, nested pointers at -1c/-18/-14 and EH state at -4. ECX names receiver+4. Append external-source branch loads source+4 at 0x884d62 and stores destination+4 at 0x884d6c, then nested-copy, then advances last at 0x884d78. Temporary nested cleanup at 0x885422 precedes requested-turn store to last-0x14 at 0x88542d.\\nSURVIVES in those static windows for valid containers and normally returning helpers: ECX receiver/one stack argument/ret4/EAX bucket ABI; full last-match scan; vptr and empty nested-header initialization; scalar EvTurn copy distinct from nested deep-copy; cleanup of temporary nested vector; final new bucket turn equals requested turn and EAX=last-0x18. Existin... (line truncated to 2000 chars)\n \"id\": \"d-b51f3f76803e852ed250846a\",\n \"invalidated_checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-d2e4078886c66df34ee00b24.json\",\n \"invalidated_evidence\": [\n {\n \"axis\": \"static-recovery\",\n \"binaries\": [\n {\n \"path\": \"dumps/sots.exe\",\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n }\n ],\n \"id\": \"research-completion-abi-static-run-79357a65226f61d6a86c042d\",\n \"inputs\": [\n {\n \"path\": \"verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/report.md\",\n \"sha256\": \"d5a28f01002f1711cf8575ffd817a8f0998b413c6280d656e6cdad5a90a04477\"","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json","text":"{\n \"actor\": \"live-record surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"explanation\": \"Astra resolution, session run-f63d1e050a7ee3fac7b44885. OBSERVATION/PROVENANCE: reviewed complete raw get/create and append windows in verify/results/research-live-record-bridge/run-472955e277202c411388c66b; checkpoint d08b4bbf364f3305ee2fef98 rehashed manifest ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b and both stdout artifacts to their recorded hashes. Historical capture manifest binds sots.exe 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and objdump 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd with positive nonempty exit-zero static execution. Current binary/tool were not rehashed or rerun: resolver shell denies that operation. Worktree HEAD/common directories match baselines; dirty content is not inferred from HEAD. No game or hook ran; read-only disassembly introduces no runtime instrument effects. No stale-build or game-mechanism diagnosis is justified.\\nOVERTURNED, exact captured normal miss-path domain: temporary EvTurn is initialized to zero, and append necessarily copies zero (recovered-static.md lines 68-69). Complete entry has no call before append and no store to EBP-0x20: prologue writes SEH at -4/-8/-c, stack reservation does not initialize locals, saved registers/cookie are below -24; miss stores vptr at -24, nested pointers at -1c/-18/-14 and EH state at -4. ECX names receiver+4. Append external-source branch loads source+4 at 0x884d62 and stores destination+4 at 0x884d6c, then nested-copy, then advances last at 0x884d78. Temporary nested cleanup at 0x885422 precedes requested-turn store to last-0x14 at 0x88542d.\\nSURVIVES in those static windows for valid containers and normally returning helpers: ECX receiver/one stack argument/ret4/EAX bucket ABI; full last-match scan; vptr and empty nested-header initialization; scalar EvTurn copy distinct from nested deep-copy; cleanup of temporary nested vector; final new bucket turn equals requested turn and EAX=last-0x18. Existin... (line truncated to 2000 chars)\n \"id\": \"d-b51f3f76803e852ed250846a\",\n \"invalidated_checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-d2e4078886c66df34ee00b24.json\",\n \"invalidated_evidence\": [\n {\n \"axis\": \"static-recovery\",\n \"binaries\": [\n {\n \"path\": \"dumps/sots.exe\",\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n }\n ],\n \"id\": \"research-completion-abi-static-run-79357a65226f61d6a86c042d\",\n \"inputs\": [\n {\n \"path\": \"verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/report.md\",\n \"sha256\": \"d5a28f01002f1711cf8575ffd817a8f0998b413c6280d656e6cdad5a90a04477\"\n }\n ],\n \"integrated\": true,\n \"outcomes\": [\n {\n \"artifact\": {\n \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json\",\n \"sha256\": \"4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c\"\n },\n \"criterion\": \"ownership-recovered\",\n \"status\": \"pass\"\n }\n ],\n \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json\",\n \"sha256\": \"4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c\",\n \"source\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"source_binding\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\",\n \"sha256\": \"e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4\"\n }\n }\n },\n {\n \"axis\": \"validation\",\n \"binaries\": [\n {\n \"path\": \"dumps/sots.exe\",\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n }\n ],\n \"id\": \"research-completion-abi-validation-run-735fcb8f4876c10285b03fad\",\n \"inputs\": [\n {\n \"path\": \"verify/results/saves/turn3-state.sav\",\n \"sha256\": \"978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json\",\n \"sha256\": \"4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c\"\n }\n ],\n \"integrated\": true,\n \"outcomes\": [\n {\n \"artifact\": {\n \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json\",\n \"sha256\": \"6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433\"\n },\n \"criterion\": \"independent-cross-check\",\n \"status\": \"pass\"\n }\n ],\n \"path\": \"verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json\",\n \"sha256\": \"6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433\",\n \"source\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"source_binding\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\",\n \"sha256\": \"e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4\"\n }\n }\n }\n ],\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Cheapest discriminator is read-only complete-window def/use review, performed on hash-checked archived get/create and append text here; no pre-append EBP-0x20 store exists. Before corrected acceptance, authorized analyst freshly hashes binary/tool and repeats manifest argv for those two windows plus nested empty-copy/cleanup, explicitly checks prologue stack offsets and cleanup-before-final-store order; independent verifier reproduces the corrected integrated package. No VM is needed for this interpretation repair. If transient runtime equivalence is later required, separately approve a leased fixture with two deliberately distinct initialized stack sentinels and spare/full capacity, pre/post-store observations and neutral controls; it is not authorized or executed here.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-decision/1\",\n \"surprise\": \"s-c6786945b302de2a0b629960\",\n \"timestamp\": \"2026-09-10T04:19:02.935461+00:00\"\n}","lineStart":1,"lineEnd":121,"totalLines":121,"truncated":false}},"title":"campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json","time":{"start":1789015761578,"end":1789015761589}},"metadata":{"openai":{"itemId":"fc_0a538fcb6755daf7016aa236d0f41887d1a9f8137db158a0ec"}},"id":"prt_089a6227b001nwDO6U0KD7krkE","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2"}} +{"type":"tool_use","timestamp":1789015761723,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_ww3VRLdiCrZvxEmdMtQuXzzH","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve --help"},"output":"usage: campaign.py resolve [-h] --actor ACTOR --role\n {lead,resolver,architecture-review,analyst,implementer,verifier,lab}\n --model MODEL --explanation EXPLANATION --probe\n PROBE\n surprise\n\npositional arguments:\n surprise\n\noptions:\n -h, --help show this help message and exit\n --actor ACTOR\n --role {lead,resolver,architecture-review,analyst,implementer,verifier,lab}\n --model MODEL\n --explanation EXPLANATION\n --probe PROBE\n","metadata":{"output":"usage: campaign.py resolve [-h] --actor ACTOR --role\n {lead,resolver,architecture-review,analyst,implementer,verifier,lab}\n --model MODEL --explanation EXPLANATION --probe\n PROBE\n surprise\n\npositional arguments:\n surprise\n\noptions:\n -h, --help show this help message and exit\n --actor ACTOR\n --role {lead,resolver,architecture-review,analyst,implementer,verifier,lab}\n --model MODEL\n --explanation EXPLANATION\n --probe PROBE\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve --help","time":{"start":1789015761669,"end":1789015761721}},"metadata":{"openai":{"itemId":"fc_0a538fcb6755daf7016aa236d0f42087d186be062a4a98f4b0"}},"id":"prt_089a622eb0013hKq8omcvB4GrX","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2"}} +{"type":"step_finish","timestamp":1789015761806,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a6238b001fKf9yqiXQd6fVc","reason":"tool-calls","snapshot":"788e46db90bc493ccebab8436d332206f5971a96","messageID":"msg_089a5f50c001GiRRDZn0GHrGZ2","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":49462,"input":1204,"output":258,"reasoning":0,"cache":{"write":0,"read":48000}},"cost":0}} +{"type":"step_start","timestamp":1789015764786,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a62f2e001Wc0P5CbfCCkp3h","messageID":"msg_089a623bd001QIYFHRfAiwTVVy","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"c9039eb92bc83a99357340ea0fabf9cb8e188ac7","type":"step-start"}} +{"type":"tool_use","timestamp":1789015771379,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_2Yw7M6QtBuQiWq2eytRFmOUY","state":{"status":"completed","input":{"command":"git -C /tmp/opencode/sots-final-research-engine status --short"},"output":" M CONTRIBUTING.md\n M README.md\n M docs/S-standalone.md\n M src/app/turn.cpp\n M src/game/sim/CMakeLists.txt\n M src/mars/rng/mt19937.cpp\n M src/mars/rng/mt19937.h\n M tests/app/CMakeLists.txt\n M tests/app/test_command_replay.cpp\n M tests/app/test_turn.cpp\n M tests/app/test_turn_record.cpp\n M tests/game_config/CMakeLists.txt\n M tests/game_data/CMakeLists.txt\n M tests/game_design/CMakeLists.txt\n M tests/game_design/test_census_saves.cpp\n M tests/game_sim/CMakeLists.txt\n M tests/mars_stream/CMakeLists.txt\n M tests/mars_stream/test_domains.cpp\n M tests/mars_stream/test_rng.cpp\n M tests/mars_stream/test_save.cpp\n M tests/mars_text/CMakeLists.txt\n M tests/mars_vfs/CMakeLists.txt\n M tools/clean_room_check.sh\n?? AGENTS.md\n?? CLAUDE.md\n?? docs/architecture.md\n?? opencode.json\n?? tools/clean_room_check.py\n","metadata":{"output":" M CONTRIBUTING.md\n M README.md\n M docs/S-standalone.md\n M src/app/turn.cpp\n M src/game/sim/CMakeLists.txt\n M src/mars/rng/mt19937.cpp\n M src/mars/rng/mt19937.h\n M tests/app/CMakeLists.txt\n M tests/app/test_command_replay.cpp\n M tests/app/test_turn.cpp\n M tests/app/test_turn_record.cpp\n M tests/game_config/CMakeLists.txt\n M tests/game_data/CMakeLists.txt\n M tests/game_design/CMakeLists.txt\n M tests/game_design/test_census_saves.cpp\n M tests/game_sim/CMakeLists.txt\n M tests/mars_stream/CMakeLists.txt\n M tests/mars_stream/test_domains.cpp\n M tests/mars_stream/test_rng.cpp\n M tests/mars_stream/test_save.cpp\n M tests/mars_text/CMakeLists.txt\n M tests/mars_vfs/CMakeLists.txt\n M tools/clean_room_check.sh\n?? AGENTS.md\n?? CLAUDE.md\n?? docs/architecture.md\n?? opencode.json\n?? tools/clean_room_check.py\n","exit":0,"truncated":false},"title":"git -C /tmp/opencode/sots-final-research-engine status --short","time":{"start":1789015771344,"end":1789015771370}},"metadata":{"openai":{"itemId":"fc_038d3afe3a5d492e016aa236db2d9887d185b8e0826d4fda4c"}},"id":"prt_089a648a2001TEvCts7NNxrUrd","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a623bd001QIYFHRfAiwTVVy"}} +{"type":"tool_use","timestamp":1789015771380,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_lTZZotVTGwslQe6TXTkZTJ3E","state":{"status":"completed","input":{"command":"git -C /tmp/opencode/sots-final-research-re status --short"},"output":" M README.md\n M campaign/DASHBOARD.md\n M campaign/backlog.md\n M campaign/board.md\n M campaign/open-questions.md\n M findings/00-strategy.md\n M findings/subsystems/nav-classifier-live.md\n M findings/subsystems/research-replace.md\n M guides/method-rules.md\n D scripts/forgejo_campaign.py\n M tools/DASHBOARD_README.md\n M tools/dashboard.py\n D tools/displacement.py\n M tools/gate.sh\n M tools/standalone_report.py\n?? AGENTS.md\n?? CLAUDE.md\n?? campaign/README.md\n?? campaign/agents/\n?? campaign/contract.schema.json\n?? campaign/contracts/\n?? campaign/current.json\n?? campaign/models.json\n?? campaign/pilots/\n?? campaign/research/\n?? campaign/rollout/\n?? guides/multi-agent-workflow.md\n?? guides/windows-lab-housekeeping.md\n?? opencode.json\n?? tools/campaign.py\n?? tools/check_agent_config.py\n?? tools/evidence.py\n?? tools/gate.py\n?? tools/run_agent.py\n?? tools/select_evidence.py\n?? tools/windows-housekeeping/\n?? verify/campaign/\n?? verify/config/\n?? verify/publishing/\n?? verify/results/housekeeping/\n?? verify/tooling/\n","metadata":{"output":" M README.md\n M campaign/DASHBOARD.md\n M campaign/backlog.md\n M campaign/board.md\n M campaign/open-questions.md\n M findings/00-strategy.md\n M findings/subsystems/nav-classifier-live.md\n M findings/subsystems/research-replace.md\n M guides/method-rules.md\n D scripts/forgejo_campaign.py\n M tools/DASHBOARD_README.md\n M tools/dashboard.py\n D tools/displacement.py\n M tools/gate.sh\n M tools/standalone_report.py\n?? AGENTS.md\n?? CLAUDE.md\n?? campaign/README.md\n?? campaign/agents/\n?? campaign/contract.schema.json\n?? campaign/contracts/\n?? campaign/current.json\n?? campaign/models.json\n?? campaign/pilots/\n?? campaign/research/\n?? campaign/rollout/\n?? guides/multi-agent-workflow.md\n?? guides/windows-lab-housekeeping.md\n?? opencode.json\n?? tools/campaign.py\n?? tools/check_agent_config.py\n?? tools/evidence.py\n?? tools/gate.py\n?? tools/run_agent.py\n?? tools/select_evidence.py\n?? tools/windows-housekeeping/\n?? verify/campaign/\n?? verify/config/\n?? verify/publishing/\n?? verify/results/housekeeping/\n?? verify/tooling/\n","exit":0,"truncated":false},"title":"git -C /tmp/opencode/sots-final-research-re status --short","time":{"start":1789015771351,"end":1789015771373}},"metadata":{"openai":{"itemId":"fc_038d3afe3a5d492e016aa236db2db087d1945e9c3e23ba7758"}},"id":"prt_089a648d3001yAbOkho12Rnolg","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a623bd001QIYFHRfAiwTVVy"}} +{"type":"tool_use","timestamp":1789015771388,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_Z8i1HjHDJeIH2hlxheJBAKbI","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/leases"},"output":"/home/alex/sots-re/campaign/runtime/leases\ndirectory\n\nspicy-autounattend-credential.json\nvm140.json\nvm141.json\nvm144.json\nvm145.json\nvm146.json\n\n(6 entries)\n","metadata":{"preview":"spicy-autounattend-credential.json\nvm140.json\nvm141.json\nvm144.json\nvm145.json\nvm146.json","truncated":false,"loaded":[],"display":{"type":"directory","path":"/home/alex/sots-re/campaign/runtime/leases","entries":["spicy-autounattend-credential.json","vm140.json","vm141.json","vm144.json","vm145.json","vm146.json"],"offset":1,"totalEntries":6,"truncated":false}},"title":"campaign/runtime/leases","time":{"start":1789015771376,"end":1789015771387}},"metadata":{"openai":{"itemId":"fc_038d3afe3a5d492e016aa236db2db887d1b67b93eb5209080e"}},"id":"prt_089a648dc001lBOf6q4QfUR6sI","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a623bd001QIYFHRfAiwTVVy"}} +{"type":"tool_use","timestamp":1789015771452,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"grep","callID":"call_nsRSwQOkiGbaqAMd2pgPdrzK","state":{"status":"completed","input":{"pattern":"research-completion-abi|\"status\"","path":"/home/alex/sots-re/campaign/contracts","include":"research*.json"},"output":"Found 10 matches\n/home/alex/sots-re/campaign/contracts/research-replacement.json:\n Line 56: \"research-completion-abi\"\n\n Line 76: \"Accepted static dependency research-completion-abi establishes record/container/string ABI only; live allocator safety, runtime construction and replacement acceptance remain absent.\"\n\n Line 101: \"status\": \"proposed\",\n\n\n/home/alex/sots-re/campaign/contracts/research-live-record-bridge.json:\n Line 46: \"research-completion-abi\"\n\n Line 57: \"Accepted research-completion-abi evidence and handoff, including binary fingerprint and independently reproduced static ownership windows.\",\n\n Line 84: \"status\": \"needs-revision\",\n\n\n/home/alex/sots-re/campaign/contracts/research-completion-abi.json:\n Line 24: \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json\",\n\n Line 32: \"id\": \"research-completion-abi\",\n\n Line 51: \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n\n Line 57: \"status\": \"blocked\",\n","metadata":{"matches":10,"truncated":false},"title":"research-completion-abi|\"status\"","time":{"start":1789015771407,"end":1789015771450}},"metadata":{"openai":{"itemId":"fc_038d3afe3a5d492e016aa236db2dcc87d1ab7337e3c1d563e0"}},"id":"prt_089a6490c0018fpm1Txwg7s4iu","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a623bd001QIYFHRfAiwTVVy"}} +{"type":"tool_use","timestamp":1789015771457,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_RFYcAd3Q4lT00F0unxTmI8uf","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\nfile\n\n1: {\n2: \"schema\": \"sots-abi-static-capture/1\",\n3: \"session\": \"run-16f8e9b6376b278c4870be09\",\n4: \"actor\": \"research-abi-analyst\",\n5: \"role\": \"analyst\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n8: \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n9: \"source_binding\": {\n10: \"engine\": {\n11: \"path\": \"/tmp/opencode/sots-final-research-engine\",\n12: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n13: \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n14: },\n15: \"re\": {\n16: \"path\": \"/tmp/opencode/sots-final-research-re\",\n17: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n18: \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n19: }\n20: },\n21: \"input\": {\n22: \"path\": \"dumps/sots.exe\",\n23: \"bytes\": 7898624,\n24: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n25: },\n26: \"tool\": {\n27: \"path\": \"/usr/bin/objdump\",\n28: \"bytes\": 373888,\n29: \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n30: \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n31: },\n32: \"windows\": [\n33: {\n34: \"name\": \"turn-get-create\",\n35: \"argv\": [\n36: \"/usr/bin/objdump\",\n37: \"-D\",\n38: \"-Mintel\",\n39: \"--start-address=0x00885380\",\n40: \"--stop-address=0x0088544a\",\n41: \"/home/alex/sots-re/dumps/sots.exe\"\n42: ],\n43: \"cwd\": \"/home/alex/sots-re\",\n44: \"start\": \"0x00885380\",\n45: \"stop\": \"0x0088544a\",\n46: \"returncode\": 0,\n47: \"stdout\": {\n48: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\",\n49: \"bytes\": 3974,\n50: \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n51: },\n52: \"stderr\": {\n53: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\",\n54: \"bytes\": 0,\n55: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n56: }\n57: },\n58: {\n59: \"name\": \"turn-append\",\n60: \"argv\": [\n61: \"/usr/bin/objdump\",\n62: \"-D\",\n63: \"-Mintel\",\n64: \"--start-address=0x00884cb0\",\n65: \"--stop-address=0x00884d8f\",\n66: \"/home/alex/sots-re/dumps/sots.exe\"\n67: ],\n68: \"cwd\": \"/home/alex/sots-re\",\n69: \"start\": \"0x00884cb0\",\n70: \"stop\": \"0x00884d8f\",\n71: \"returncode\": 0,\n72: \"stdout\": {\n73: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\",\n74: \"bytes\": 4179,\n75: \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n76: },\n77: \"stderr\": {\n78: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt\",\n79: \"bytes\": 0,\n80: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n81: }\n82: },\n83: {\n84: \"name\": \"nested-copy\",\n85: \"argv\": [\n86: \"/usr/bin/objdump\",\n87: \"-D\",\n88: \"-Mintel\",\n89: \"--start-address=0x00779850\",\n90: \"--stop-address=0x00779a20\",\n91: \"/home/alex/sots-re/dumps/sots.exe\"\n92: ],\n93: \"cwd\": \"/home/alex/sots-re\",\n94: \"start\": \"0x00779850\",\n95: \"stop\": \"0x00779a20\",\n96: \"returncode\": 0,\n97: \"stdout\": {\n98: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\",\n99: \"bytes\": 8469,\n100: \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n101: },\n102: \"stderr\": {\n103: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\",\n104: \"bytes\": 0,\n105: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n106: }\n107: },\n108: {\n109: \"name\": \"nested-dtor\",\n110: \"argv\": [\n111: \"/usr/bin/objdump\",\n112: \"-D\",\n113: \"-Mintel\",\n114: \"--start-address=0x00629580\",\n115: \"--stop-address=0x006295ca\",\n116: \"/home/alex/sots-re/dumps/sots.exe\"\n117: ],\n118: \"cwd\": \"/home/alex/sots-re\",\n119: \"start\": \"0x00629580\",\n120: \"stop\": \"0x006295ca\",\n121: \"returncode\": 0,\n122: \"stdout\": {\n123: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\",\n124: \"bytes\": 1727,\n125: \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n126: },\n127: \"stderr\": {\n128: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\",\n129: \"bytes\": 0,\n130: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n131: }\n132: }\n133: ]\n134: }\n\n(End of file - total 134 lines)\n","metadata":{"preview":"{\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n },","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json","text":"{\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n },\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"windows\": [\n {\n \"name\": \"turn-get-create\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544a\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00885380\",\n \"stop\": \"0x0088544a\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\",\n \"bytes\": 3974,\n \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d8f\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00884cb0\",\n \"stop\": \"0x00884d8f\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\",\n \"bytes\": 4179,\n \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a20\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00779850\",\n \"stop\": \"0x00779a20\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\",\n \"bytes\": 8469,\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ca\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00629580\",\n \"stop\": \"0x006295ca\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\",\n \"bytes\": 1727,\n \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n }\n ]\n}","lineStart":1,"lineEnd":134,"totalLines":134,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json","time":{"start":1789015771403,"end":1789015771455}},"metadata":{"openai":{"itemId":"fc_038d3afe3a5d492e016aa236db2dc487d1a58b2e4c71d1dfdf"}},"id":"prt_089a648f1001b7Angv5qnNLDgX","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a623bd001QIYFHRfAiwTVVy"}} +{"type":"step_finish","timestamp":1789015771520,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a6497d001hTBxgAYoR20ca8","reason":"tool-calls","snapshot":"b231ccab46d142c0436cf7642708116a0bb72189","messageID":"msg_089a623bd001QIYFHRfAiwTVVy","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":62372,"input":13134,"output":195,"reasoning":19,"cache":{"write":0,"read":49024}},"cost":0}} +{"type":"step_start","timestamp":1789015773696,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a651fc001e2zqTInDnHo920","messageID":"msg_089a649b0001HcUQthXMAiody2","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"cd6532bb390f6c8a20b68845a5708fde4622fb9a","type":"step-start"}} +{"type":"tool_use","timestamp":1789015781980,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_webVqrFFxuT6tQjnP5iLziFe","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/contracts/research-live-record-bridge.json"},"output":"/home/alex/sots-re/campaign/contracts/research-live-record-bridge.json\nfile\n\n1: {\n2: \"acceptance\": [\n3: {\n4: \"axis\": \"planning\",\n5: \"criterion\": \"Before ready, publish exact bridge-only source/test ownership, callable entrypoints and calling conventions, generated-address provenance, a bridge-only invocation route, VM/build resources, executable acceptance commands and immutable source/binary/fixture manifests. The route must not call or wire research replacement.\",\n6: \"id\": \"readiness\"\n7: },\n8: {\n9: \"axis\": \"understanding\",\n10: \"criterion\": \"Reconcile accepted binary evidence with generated and pure-model facts, including whether EvDsc participates in duplicate equality and whether the callable ObservedTech copy operation begins at 0x0079a150 or an interior site. Every exposed constructor/copy/append/destructor/new/delete operation has an exact ABI and ownership contract.\",\n11: \"id\": \"abi-reconciliation\"\n12: },\n13: {\n14: \"axis\": \"implementation\",\n15: \"criterion\": \"An isolated bridge constructs, copies, appends, updates and destroys complete live-layout ObservedTech, TurnEvents and PlayerEvent values using compatible original-runtime allocation services. It never copies raw owning headers and never calls original RecordObservedTech, EventStorage::PostEvent or any research completion root.\",\n16: \"id\": \"bridge-operations\"\n17: },\n18: {\n19: \"axis\": \"validation\",\n20: \"criterion\": \"Host tests and a fresh leased disposable-VM run positively execute empty, spare and full capacity; short and long strings; repeated observed names; exact duplicate and description-only-different events; normal destruction; and one contained recorded failure path. Preserve per-case operation/allocation/destruction counts and complete resulting records.\",\n21: \"id\": \"runtime-matrix\"\n22: },\n23: {\n24: \"axis\": \"validation\",\n25: \"criterion\": \"Executable negative controls reject raw string/header transfer, wrong callable entry or convention, mismatched allocator family, missing cleanup, double free, incomplete record fields, forbidden original decision-root calls, zero execution, missing artifacts and source/binary/fixture drift.\",\n26: \"id\": \"negative-controls\"\n27: },\n28: {\n29: \"axis\": \"validation\",\n30: \"criterion\": \"A different verifier session reproduces the source/binary/fixture-bound package and at least one meaningful negative control on an integrated tree. Author-only or static-only evidence cannot accept live allocator safety.\",\n31: \"id\": \"independent-reproduction\"\n32: }\n33: ],\n34: \"baseline\": {\n35: \"engine\": {\n36: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n37: \"path\": \"/home/alex/sots-engine\"\n38: },\n39: \"re\": {\n40: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n41: \"path\": \"/home/alex/sots-re\"\n42: }\n43: },\n44: \"checkpoint\": \"campaign/runtime/checkpoints/research-live-record-bridge-646a5ada115eaf0a3924db19.json\",\n45: \"dependencies\": [\n46: \"research-completion-abi\"\n47: ],\n48: \"effects\": [\n49: \"Complete 0x2c ObservedTech object fields, owned name string, existing-name update semantics, vector first/last/end and element lifetime across no-growth and growth paths.\",\n50: \"Complete 0x74 PlayerEvent fields and three independently owned strings, plus complete 0x18 TurnEvents bucket and nested vector lifetime across no-growth and growth paths.\",\n51: \"Event ID/order, exact duplicate behavior, description-only-different behavior and stale-bucket pruning only as needed to exercise the bridge fixture; no research callback or player-state effects.\",\n52: \"Allocation, copy, destruction and failure-path counters sufficient to detect leaks, mismatched frees, partial construction and double destruction.\"\n53: ],\n54: \"evidence\": [],\n55: \"id\": \"research-live-record-bridge\",\n56: \"inputs\": [\n57: \"Accepted research-completion-abi evidence and handoff, including binary fingerprint and independently reproduced static ownership windows.\",\n58: \"Original binary /home/alex/sots-re/dumps/sots.exe sha256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; owner-supplied and never committed.\",\n59: \"Source-identical paired worktrees /tmp/opencode/sots-final-research-engine and /tmp/opencode/sots-final-research-re at the contract baselines; exact dirty source-content manifests are required before implementation evidence.\",\n60: \"Disposable VM144 is the preferred runtime fixture guest; verify its current MAC/IP, session/process state and housekeeping immediately before use, then acquire campaign/runtime/leases/vm144.json. VM140 is excluded from this experiment.\",\n61: \"Required but missing before ready: bridge-only invocation fixture, generated callable-address package, 32-bit shim/toolchain manifest, failure-containment design, executable acceptance checker and per-case expected records.\"\n62: ],\n63: \"original_dependencies\": [\n64: \"Original MSVCR100 scalar new/delete and narrowly accepted constructor/copy/append/destructor operations are permitted only as declared, counted ABI services.\",\n65: \"Original RecordObservedTech, EventStorage::PostEvent, ProcessResearch, SetResearched, OnTechResearched and localized string lookup are forbidden in the bridge fixture.\",\n66: \"The original game process supplies the MSVCR100 runtime and object address space for live tests; this contract does not claim standalone allocator or game-decision replacement.\"\n67: ],\n68: \"owner\": {\n69: \"name\": \"live-record bridge architect\",\n70: \"role\": \"architecture-review\"\n71: },\n72: \"predictions\": [\n73: \"ObservedTech no-growth append deep-copies one name; growth relocates every existing 0x2c element and destroys the old range without cross-runtime frees.\",\n74: \"PlayerEvent append deep-copies EvDsc, EvMsg and EvImg independently; full-capacity growth preserves all scalar/default fields and destroys old strings exactly once.\",\n75: \"Repeated observed name updates the existing record without vector growth; exact duplicate event does not append; description-only-different event does append if the accepted EvDsc equality result is correct.\",\n76: \"A contained allocation-failure fixture reports failure without an accepted partial record, leaked owned string, mismatched free or exception crossing into an unsafe ABI boundary.\"\n77: ],\n78: \"scope\": [\n79: \"Recover and implement only the live ABI bridge for ObservedTech, TurnEvents and PlayerEvent construction/copy/append/update/destruction plus isolated fixtures and acceptance tooling.\",\n80: \"First quantum is RE and architecture: reconcile callable boundaries and duplicate semantics, specify failure containment and name exact owned files. No engine implementation or VM mutation until the contract is ready and the operator holds required leases.\",\n81: \"Runtime validation uses a bridge-only fixture on a disposable clone. It must not wire src/shim/hooks/research.cpp or src/shim/main.cpp and must not execute a research completion workload.\",\n82: \"Static ABI acceptance is a dependency, not evidence of live safety. Acceptance remains scoped to bridge operations and does not promote research-replacement.\"\n83: ],\n84: \"status\": \"needs-revision\",\n85: \"stop_conditions\": [\n86: \"Remain proposed while callable ABI, exact ownership, fixture route, manifests, failure containment or executable acceptance is unresolved.\",\n87: \"Stop affected work and record a surprise on contradictory fresh binary/runtime evidence, binary/source drift, allocator mismatch, exception crossing, unexpected game-decision-root execution, leak/double-free, guest interference or access change.\",\n88: \"No Ghidra mutation or VM/build-host mutation without explicit assignment and the corresponding canonical lease; never touch VM140 under this contract.\",\n89: \"No research replacement wiring, delegation, staging, commit, push or destructive canonical worktree operation. Checkpoint every 20 calls/15 minutes and before experiment, handoff or stop.\"\n90: ],\n91: \"title\": \"Live ObservedTech and event record ABI bridge\"\n92: }\n\n(End of file - total 92 lines)\n","metadata":{"preview":"{\n \"acceptance\": [\n {\n \"axis\": \"planning\",\n \"criterion\": \"Before ready, publish exact bridge-only source/test ownership, callable entrypoints and calling conventions, generated-address provenance, a bridge-only invocation route, VM/build resources, executable acceptance commands and immutable source/binary/fixture manifests. The route must not call or wire research replacement.\",\n \"id\": \"readiness\"\n },\n {\n \"axis\": \"understanding\",\n \"criterion\": \"Reconcile accepted binary evidence with generated and pure-model facts, including whether EvDsc participates in duplicate equality and whether the callable ObservedTech copy operation begins at 0x0079a150 or an interior site. Every exposed constructor/copy/append/destructor/new/delete operation has an exact ABI and ownership contract.\",\n \"id\": \"abi-reconciliation\"\n },\n {\n \"axis\": \"implementation\",\n \"criterion\": \"An isolated bridge constructs, copies, appends, updates and destroys complete live-layout ObservedTech, TurnEvents and PlayerEvent values using compatible original-runtime allocation services. It never copies raw owning headers and never calls original RecordObservedTech, EventStorage::PostEvent or any research completion root.\",\n \"id\": \"bridge-operations\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Host tests and a fresh leased disposable-VM run positively execute empty, spare and full capacity; short and long strings; repeated observed names; exact duplicate and description-only-different events; normal destruction; and one contained recorded failure path. Preserve per-case operation/allocation/destruction counts and complete resulting records.\",","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/contracts/research-live-record-bridge.json","text":"{\n \"acceptance\": [\n {\n \"axis\": \"planning\",\n \"criterion\": \"Before ready, publish exact bridge-only source/test ownership, callable entrypoints and calling conventions, generated-address provenance, a bridge-only invocation route, VM/build resources, executable acceptance commands and immutable source/binary/fixture manifests. The route must not call or wire research replacement.\",\n \"id\": \"readiness\"\n },\n {\n \"axis\": \"understanding\",\n \"criterion\": \"Reconcile accepted binary evidence with generated and pure-model facts, including whether EvDsc participates in duplicate equality and whether the callable ObservedTech copy operation begins at 0x0079a150 or an interior site. Every exposed constructor/copy/append/destructor/new/delete operation has an exact ABI and ownership contract.\",\n \"id\": \"abi-reconciliation\"\n },\n {\n \"axis\": \"implementation\",\n \"criterion\": \"An isolated bridge constructs, copies, appends, updates and destroys complete live-layout ObservedTech, TurnEvents and PlayerEvent values using compatible original-runtime allocation services. It never copies raw owning headers and never calls original RecordObservedTech, EventStorage::PostEvent or any research completion root.\",\n \"id\": \"bridge-operations\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Host tests and a fresh leased disposable-VM run positively execute empty, spare and full capacity; short and long strings; repeated observed names; exact duplicate and description-only-different events; normal destruction; and one contained recorded failure path. Preserve per-case operation/allocation/destruction counts and complete resulting records.\",\n \"id\": \"runtime-matrix\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Executable negative controls reject raw string/header transfer, wrong callable entry or convention, mismatched allocator family, missing cleanup, double free, incomplete record fields, forbidden original decision-root calls, zero execution, missing artifacts and source/binary/fixture drift.\",\n \"id\": \"negative-controls\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"A different verifier session reproduces the source/binary/fixture-bound package and at least one meaningful negative control on an integrated tree. Author-only or static-only evidence cannot accept live allocator safety.\",\n \"id\": \"independent-reproduction\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-live-record-bridge-646a5ada115eaf0a3924db19.json\",\n \"dependencies\": [\n \"research-completion-abi\"\n ],\n \"effects\": [\n \"Complete 0x2c ObservedTech object fields, owned name string, existing-name update semantics, vector first/last/end and element lifetime across no-growth and growth paths.\",\n \"Complete 0x74 PlayerEvent fields and three independently owned strings, plus complete 0x18 TurnEvents bucket and nested vector lifetime across no-growth and growth paths.\",\n \"Event ID/order, exact duplicate behavior, description-only-different behavior and stale-bucket pruning only as needed to exercise the bridge fixture; no research callback or player-state effects.\",\n \"Allocation, copy, destruction and failure-path counters sufficient to detect leaks, mismatched frees, partial construction and double destruction.\"\n ],\n \"evidence\": [],\n \"id\": \"research-live-record-bridge\",\n \"inputs\": [\n \"Accepted research-completion-abi evidence and handoff, including binary fingerprint and independently reproduced static ownership windows.\",\n \"Original binary /home/alex/sots-re/dumps/sots.exe sha256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; owner-supplied and never committed.\",\n \"Source-identical paired worktrees /tmp/opencode/sots-final-research-engine and /tmp/opencode/sots-final-research-re at the contract baselines; exact dirty source-content manifests are required before implementation evidence.\",\n \"Disposable VM144 is the preferred runtime fixture guest; verify its current MAC/IP, session/process state and housekeeping immediately before use, then acquire campaign/runtime/leases/vm144.json. VM140 is excluded from this experiment.\",\n \"Required but missing before ready: bridge-only invocation fixture, generated callable-address package, 32-bit shim/toolchain manifest, failure-containment design, executable acceptance checker and per-case expected records.\"\n ],\n \"original_dependencies\": [\n \"Original MSVCR100 scalar new/delete and narrowly accepted constructor/copy/append/destructor operations are permitted only as declared, counted ABI services.\",\n \"Original RecordObservedTech, EventStorage::PostEvent, ProcessResearch, SetResearched, OnTechResearched and localized string lookup are forbidden in the bridge fixture.\",\n \"The original game process supplies the MSVCR100 runtime and object address space for live tests; this contract does not claim standalone allocator or game-decision replacement.\"\n ],\n \"owner\": {\n \"name\": \"live-record bridge architect\",\n \"role\": \"architecture-review\"\n },\n \"predictions\": [\n \"ObservedTech no-growth append deep-copies one name; growth relocates every existing 0x2c element and destroys the old range without cross-runtime frees.\",\n \"PlayerEvent append deep-copies EvDsc, EvMsg and EvImg independently; full-capacity growth preserves all scalar/default fields and destroys old strings exactly once.\",\n \"Repeated observed name updates the existing record without vector growth; exact duplicate event does not append; description-only-different event does append if the accepted EvDsc equality result is correct.\",\n \"A contained allocation-failure fixture reports failure without an accepted partial record, leaked owned string, mismatched free or exception crossing into an unsafe ABI boundary.\"\n ],\n \"scope\": [\n \"Recover and implement only the live ABI bridge for ObservedTech, TurnEvents and PlayerEvent construction/copy/append/update/destruction plus isolated fixtures and acceptance tooling.\",\n \"First quantum is RE and architecture: reconcile callable boundaries and duplicate semantics, specify failure containment and name exact owned files. No engine implementation or VM mutation until the contract is ready and the operator holds required leases.\",\n \"Runtime validation uses a bridge-only fixture on a disposable clone. It must not wire src/shim/hooks/research.cpp or src/shim/main.cpp and must not execute a research completion workload.\",\n \"Static ABI acceptance is a dependency, not evidence of live safety. Acceptance remains scoped to bridge operations and does not promote research-replacement.\"\n ],\n \"status\": \"needs-revision\",\n \"stop_conditions\": [\n \"Remain proposed while callable ABI, exact ownership, fixture route, manifests, failure containment or executable acceptance is unresolved.\",\n \"Stop affected work and record a surprise on contradictory fresh binary/runtime evidence, binary/source drift, allocator mismatch, exception crossing, unexpected game-decision-root execution, leak/double-free, guest interference or access change.\",\n \"No Ghidra mutation or VM/build-host mutation without explicit assignment and the corresponding canonical lease; never touch VM140 under this contract.\",\n \"No research replacement wiring, delegation, staging, commit, push or destructive canonical worktree operation. Checkpoint every 20 calls/15 minutes and before experiment, handoff or stop.\"\n ],\n \"title\": \"Live ObservedTech and event record ABI bridge\"\n}","lineStart":1,"lineEnd":92,"totalLines":92,"truncated":false}},"title":"campaign/contracts/research-live-record-bridge.json","time":{"start":1789015781959,"end":1789015781978}},"metadata":{"openai":{"itemId":"fc_005f6b95b729d5d7016aa236e5b89487d1bc2fa441cdab2af8"}},"id":"prt_089a671f5001BXCgXhqMJe7waa","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a649b0001HcUQthXMAiody2"}} +{"type":"tool_use","timestamp":1789015782075,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_aJeQNJvsl1JZnTiKIOzIccw0","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/contracts/research-replacement.json"},"output":"/home/alex/sots-re/campaign/contracts/research-replacement.json\nfile\n\n1: {\n2: \"acceptance\": [\n3: {\n4: \"axis\": \"planning\",\n5: \"criterion\": \"BLOCKED: accepted static ABI dependency is named and original-helper policy is fixed, but readiness still requires an accepted live-record-bridge contract, implemented tools/research_replacement.py interfaces from the pilot plan, required asset paths/hashes, W0 recertification, exact coordinator-owned paths and immutable source/binary/input manifests.\",\n6: \"id\": \"readiness\"\n7: },\n8: {\n9: \"axis\": \"implementation\",\n10: \"criterion\": \"Fresh full-profile source-bound host/assets/shim build; expected test identities and explicit positive executed workloads; no required missing input, unexpected skip or stale binary.\",\n11: \"id\": \"full-gate\"\n12: },\n13: {\n14: \"axis\": \"validation\",\n15: \"criterion\": \"Two fresh C1/C2 hooks-off processes and candidate compare N on the exact W1 input/route produce identical pre/post save pairs; full installed-site manifests and per-call CW retained. Reject incomplete raw bundles or disagreement.\",\n16: \"id\": \"control-neutrality\"\n17: },\n18: {\n19: \"axis\": \"implementation\",\n20: \"criterion\": \"W1 replace executes exactly one tech-144 completion and three unlocks, two actual event records and one full observed-tech record, refund 1166 and primary player effects; original displaced roots bypassed, declared helpers counted; zero unsupported paths, unreadable inputs or failures.\",\n21: \"id\": \"positive-replace\"\n22: },\n23: {\n24: \"axis\": \"validation\",\n25: \"criterion\": \"Require post-turn file-byte, inflated-byte and exact-bit unmasked state equality plus complete reader coverage and nonserialized order/RNG checks. Pre-turn resave equality, count-only regions and zero-execution passes cannot satisfy this criterion.\",\n26: \"id\": \"oracle\"\n27: },\n28: {\n29: \"axis\": \"validation\",\n30: \"criterion\": \"Executable checker rejects archived R0's 27 and R1's 16 leaf differences, absent callback/event/ObservedTech writes, W0 as completion evidence, missing artifacts, wrong hashes, and unknown RNG reported as zero.\",\n31: \"id\": \"negative-controls\"\n32: },\n33: {\n34: \"axis\": \"validation\",\n35: \"criterion\": \"Different verifier execution reproduces source/binary/input-bound package and a meaningful negative control; integrated-tree evidence is required before accepted. No author-only verdict or reporter --accept flag grants campaign acceptance.\",\n36: \"id\": \"independent-reproduction\"\n37: },\n38: {\n39: \"axis\": \"original_dependencies\",\n40: \"criterion\": \"Publish retained original helpers and W1-only scope separately. Require certified W2 and branch-specific original experiments plus synthetic boundaries before claiming RNG-consuming, other-effect-family, recursive, dedup, decay, plague or rebellion coverage.\",\n41: \"id\": \"coverage-and-dependencies\"\n42: }\n43: ],\n44: \"baseline\": {\n45: \"engine\": {\n46: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n47: \"path\": \"/home/alex/sots-engine\"\n48: },\n49: \"re\": {\n50: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n51: \"path\": \"/home/alex/sots-re\"\n52: }\n53: },\n54: \"checkpoint\": \"campaign/runtime/checkpoints/research-replacement-fc19e142bf1db96b10d29391.json\",\n55: \"dependencies\": [\n56: \"research-completion-abi\"\n57: ],\n58: \"effects\": [\n59: \"All node state/progress/flag/cost/availability/researched-turn/order words; tree order counter; capped spend and refund accumulator; idle-node decay; ordered cascade including conditional recursive zero-cost completions.\",\n60: \"RNG full state, left and next-index plus actual consumed words, including conditional completion rolls, Zuul second roll and research-event paths; W1 has zero words and proves no positive-draw branch.\",\n61: \"All applicable callback player floats, boolean/species/design-option masks, target and roll flags, node-bore storage and lifetimes. Existing WritePlayerState is not integration of the full research callback.\",\n62: \"ObservedTech full record name/first-last turn/detected/with fields, dedup/update, vector elements/header/capacity and compatible allocation/destruction. Scratch span growth is not an append implementation.\",\n63: \"Complete ordered event turn buckets, records, ids/nextId, text, image/action/location/position/chainId, dedup/pruning and allocation lifetimes; keyless count-only events cannot satisfy the save oracle.\",\n64: \"Conditional transitive system/ship AI/cap/addiction/plague changes, recursive Zuul grant, rebellion object allocation and cancellation must be implemented or rejected by approved preflight before mutation; TechApplyOutcome alone performs none of them.\",\n65: \"Observe downstream bankruptcy, repair and checksum consequences through full turn/save validation; never copy original post-state or patch expected derived leaves.\"\n66: ],\n67: \"id\": \"research-replacement\",\n68: \"inputs\": [\n69: \"W1 verify/results/saves/turn3-state.sav sha256 978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921; exact fresh-process LOAD route, one End Turn.\",\n70: \"Historical oracle verify/results/saves/cr/cr-oracle-endturn.sav sha256 e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f and cr-oracle-autosave.sav sha256 79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420; re-certify controls with current candidate inputs.\",\n71: \"Historical negative saves cr-replace0-autosave.sav sha256 6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5 and cr-replace1-autosave.sav sha256 8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235 under verify/results/saves/cr/.\",\n72: \"Raw historical evidence: verify/traces/cr-{N,R0,R1}.jsonl.gz; verify/results/compare/cr-{compare,replace0,replace1}.json; verify/results/shim/cr/cr-{N,R0,R1}.log. Historical build cr-618ccb1-20260909T131556Z does not identify the current candidate.\",\n73: \"Required but missing: operator-owned executable/proxy and tech graph/tuning/localized string assets with explicit paths, SHA-256, locale and load order; generated-address provenance; compiler/toolchain; exact candidate source-content and binary manifests.\",\n74: \"Runtime-only inputs include tree order counter, allocation entries/order, current turn, target and pending-roll flags, preexisting observed-tech and event elements, RNG state/index/left, full FPU CW, installed interception sites and LOAD/continuation route.\",\n75: \"W0 turn2-state.sav one End Turn is a no-completion regression control; pin hash and re-certify. W2 different-tech positive-RNG/second-completion workload remains to be selected and certified before expanding scope.\",\n76: \"Accepted static dependency research-completion-abi establishes record/container/string ABI only; live allocator safety, runtime construction and replacement acceptance remain absent.\"\n77: ],\n78: \"original_dependencies\": [\n79: \"Retained and counted original TechTree::Cost supplies effective and cascade costs; independent effective-cost replacement is excluded.\",\n80: \"Retained and counted original TechTree::HasResearched supplies common-tail/design-mask lookup; replacement owns resulting writes.\",\n81: \"Retained and counted ServerPlayer::UpdateNodeBoreParams runs in common-tail order and may allocate/free state; independent node-bore maintenance is excluded.\",\n82: \"Original MSVCR100 scalar new/delete and accepted copy/container ABI may be used only as a counted live memory bridge. Original RecordObservedTech, EventStorage::PostEvent and string lookup are forbidden displaced roots; localized text must come from manifested runtime assets.\",\n83: \"Shim workload retains original turn driver, budget allocation, remaining simulation, data loading and save serialization. Successful scoped shim replacement would not establish independent standalone turn parity.\"\n84: ],\n85: \"owner\": {\n86: \"name\": \"Astra pilot architect\",\n87: \"role\": \"architecture-review\"\n88: },\n89: \"predictions\": [\n90: \"W1 owner order 32/496/512 with allocations 144:2898,90:0,9:0; exactly one completion and two null calls.\",\n91: \"Tech144 progress 5768->7500, state3->4, researched turn4/order22, counter22->23, unchanged flag; capped spend1732/refund1166; no RNG words.\",\n92: \"Tech132/136/142 become available turn4 at costs10000/16000/8000; observed-tech count10->11 with real element; event nextId5->7 with complete records.\",\n93: \"Existing R1 still fails by 16 leaves (independently reproduced); merely enabling cascade cannot close callback residuals. Runtime text assets may avoid original PostEvent but live adapter and policy are unresolved.\"\n94: ],\n95: \"scope\": [\n96: \"Planning only until ready: campaign/pilots/research-replacement.md is the detailed input, write-boundary and acceptance specification. No replacement code or lab operations authorized by this proposed contract.\",\n97: \"Target ProcessResearch plus SetResearched and required OnTechResearched effects for the W1 turn3 LOAD-to-turn4 completion; broad research correctness is not implied.\",\n98: \"The accepted static ABI dependency does not authorize live wiring. First accept a separately contracted live record bridge; then assign one complete W1 coordinator write set with baseline-pinned paired worktrees and exclusive source/build/VM ownership.\",\n99: \"Before implementation provide exact owned source paths, supported-input preflight, executable acceptance and immutable manifests. Uncommitted bootstrap changes are not bound by these HEAD IDs.\"\n100: ],\n101: \"status\": \"proposed\",\n102: \"stop_conditions\": [\n103: \"Remain proposed while readiness criterion, dependency decisions, input manifests and executable acceptance are missing; do not interpret narrative strings as execution proof.\",\n104: \"Stop on control disagreement, instrumentation mismatch, source/input drift, missing artifacts/assets, unknown RNG, unmodelled fired branch, unexpected writes, zero required execution or forbidden original fallback.\",\n105: \"Record any falsified assumption or changed scope as a surprise and obtain Astra resolution before affected work continues; checkpoint at 20 calls/15 minutes and before experiments, handoff or stop.\",\n106: \"No lab or shared-host mutation without explicit assignment and lease; no commits, staging, push or delegated work under the current pilot-design assignment.\"\n107: ],\n108: \"title\": \"Completion-bearing W1 research replacement pilot (proposed; live bridge, assets and runner pending)\"\n109: }\n\n(End of file - total 109 lines)\n","metadata":{"preview":"{\n \"acceptance\": [\n {\n \"axis\": \"planning\",\n \"criterion\": \"BLOCKED: accepted static ABI dependency is named and original-helper policy is fixed, but readiness still requires an accepted live-record-bridge contract, implemented tools/research_replacement.py interfaces from the pilot plan, required asset paths/hashes, W0 recertification, exact coordinator-owned paths and immutable source/binary/input manifests.\",\n \"id\": \"readiness\"\n },\n {\n \"axis\": \"implementation\",\n \"criterion\": \"Fresh full-profile source-bound host/assets/shim build; expected test identities and explicit positive executed workloads; no required missing input, unexpected skip or stale binary.\",\n \"id\": \"full-gate\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Two fresh C1/C2 hooks-off processes and candidate compare N on the exact W1 input/route produce identical pre/post save pairs; full installed-site manifests and per-call CW retained. Reject incomplete raw bundles or disagreement.\",\n \"id\": \"control-neutrality\"\n },\n {\n \"axis\": \"implementation\",\n \"criterion\": \"W1 replace executes exactly one tech-144 completion and three unlocks, two actual event records and one full observed-tech record, refund 1166 and primary player effects; original displaced roots bypassed, declared helpers counted; zero unsupported paths, unreadable inputs or failures.\",","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/contracts/research-replacement.json","text":"{\n \"acceptance\": [\n {\n \"axis\": \"planning\",\n \"criterion\": \"BLOCKED: accepted static ABI dependency is named and original-helper policy is fixed, but readiness still requires an accepted live-record-bridge contract, implemented tools/research_replacement.py interfaces from the pilot plan, required asset paths/hashes, W0 recertification, exact coordinator-owned paths and immutable source/binary/input manifests.\",\n \"id\": \"readiness\"\n },\n {\n \"axis\": \"implementation\",\n \"criterion\": \"Fresh full-profile source-bound host/assets/shim build; expected test identities and explicit positive executed workloads; no required missing input, unexpected skip or stale binary.\",\n \"id\": \"full-gate\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Two fresh C1/C2 hooks-off processes and candidate compare N on the exact W1 input/route produce identical pre/post save pairs; full installed-site manifests and per-call CW retained. Reject incomplete raw bundles or disagreement.\",\n \"id\": \"control-neutrality\"\n },\n {\n \"axis\": \"implementation\",\n \"criterion\": \"W1 replace executes exactly one tech-144 completion and three unlocks, two actual event records and one full observed-tech record, refund 1166 and primary player effects; original displaced roots bypassed, declared helpers counted; zero unsupported paths, unreadable inputs or failures.\",\n \"id\": \"positive-replace\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Require post-turn file-byte, inflated-byte and exact-bit unmasked state equality plus complete reader coverage and nonserialized order/RNG checks. Pre-turn resave equality, count-only regions and zero-execution passes cannot satisfy this criterion.\",\n \"id\": \"oracle\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Executable checker rejects archived R0's 27 and R1's 16 leaf differences, absent callback/event/ObservedTech writes, W0 as completion evidence, missing artifacts, wrong hashes, and unknown RNG reported as zero.\",\n \"id\": \"negative-controls\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Different verifier execution reproduces source/binary/input-bound package and a meaningful negative control; integrated-tree evidence is required before accepted. No author-only verdict or reporter --accept flag grants campaign acceptance.\",\n \"id\": \"independent-reproduction\"\n },\n {\n \"axis\": \"original_dependencies\",\n \"criterion\": \"Publish retained original helpers and W1-only scope separately. Require certified W2 and branch-specific original experiments plus synthetic boundaries before claiming RNG-consuming, other-effect-family, recursive, dedup, decay, plague or rebellion coverage.\",\n \"id\": \"coverage-and-dependencies\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-replacement-fc19e142bf1db96b10d29391.json\",\n \"dependencies\": [\n \"research-completion-abi\"\n ],\n \"effects\": [\n \"All node state/progress/flag/cost/availability/researched-turn/order words; tree order counter; capped spend and refund accumulator; idle-node decay; ordered cascade including conditional recursive zero-cost completions.\",\n \"RNG full state, left and next-index plus actual consumed words, including conditional completion rolls, Zuul second roll and research-event paths; W1 has zero words and proves no positive-draw branch.\",\n \"All applicable callback player floats, boolean/species/design-option masks, target and roll flags, node-bore storage and lifetimes. Existing WritePlayerState is not integration of the full research callback.\",\n \"ObservedTech full record name/first-last turn/detected/with fields, dedup/update, vector elements/header/capacity and compatible allocation/destruction. Scratch span growth is not an append implementation.\",\n \"Complete ordered event turn buckets, records, ids/nextId, text, image/action/location/position/chainId, dedup/pruning and allocation lifetimes; keyless count-only events cannot satisfy the save oracle.\",\n \"Conditional transitive system/ship AI/cap/addiction/plague changes, recursive Zuul grant, rebellion object allocation and cancellation must be implemented or rejected by approved preflight before mutation; TechApplyOutcome alone performs none of them.\",\n \"Observe downstream bankruptcy, repair and checksum consequences through full turn/save validation; never copy original post-state or patch expected derived leaves.\"\n ],\n \"id\": \"research-replacement\",\n \"inputs\": [\n \"W1 verify/results/saves/turn3-state.sav sha256 978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921; exact fresh-process LOAD route, one End Turn.\",\n \"Historical oracle verify/results/saves/cr/cr-oracle-endturn.sav sha256 e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f and cr-oracle-autosave.sav sha256 79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420; re-certify controls with current candidate inputs.\",\n \"Historical negative saves cr-replace0-autosave.sav sha256 6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5 and cr-replace1-autosave.sav sha256 8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235 under verify/results/saves/cr/.\",\n \"Raw historical evidence: verify/traces/cr-{N,R0,R1}.jsonl.gz; verify/results/compare/cr-{compare,replace0,replace1}.json; verify/results/shim/cr/cr-{N,R0,R1}.log. Historical build cr-618ccb1-20260909T131556Z does not identify the current candidate.\",\n \"Required but missing: operator-owned executable/proxy and tech graph/tuning/localized string assets with explicit paths, SHA-256, locale and load order; generated-address provenance; compiler/toolchain; exact candidate source-content and binary manifests.\",\n \"Runtime-only inputs include tree order counter, allocation entries/order, current turn, target and pending-roll flags, preexisting observed-tech and event elements, RNG state/index/left, full FPU CW, installed interception sites and LOAD/continuation route.\",\n \"W0 turn2-state.sav one End Turn is a no-completion regression control; pin hash and re-certify. W2 different-tech positive-RNG/second-completion workload remains to be selected and certified before expanding scope.\",\n \"Accepted static dependency research-completion-abi establishes record/container/string ABI only; live allocator safety, runtime construction and replacement acceptance remain absent.\"\n ],\n \"original_dependencies\": [\n \"Retained and counted original TechTree::Cost supplies effective and cascade costs; independent effective-cost replacement is excluded.\",\n \"Retained and counted original TechTree::HasResearched supplies common-tail/design-mask lookup; replacement owns resulting writes.\",\n \"Retained and counted ServerPlayer::UpdateNodeBoreParams runs in common-tail order and may allocate/free state; independent node-bore maintenance is excluded.\",\n \"Original MSVCR100 scalar new/delete and accepted copy/container ABI may be used only as a counted live memory bridge. Original RecordObservedTech, EventStorage::PostEvent and string lookup are forbidden displaced roots; localized text must come from manifested runtime assets.\",\n \"Shim workload retains original turn driver, budget allocation, remaining simulation, data loading and save serialization. Successful scoped shim replacement would not establish independent standalone turn parity.\"\n ],\n \"owner\": {\n \"name\": \"Astra pilot architect\",\n \"role\": \"architecture-review\"\n },\n \"predictions\": [\n \"W1 owner order 32/496/512 with allocations 144:2898,90:0,9:0; exactly one completion and two null calls.\",\n \"Tech144 progress 5768->7500, state3->4, researched turn4/order22, counter22->23, unchanged flag; capped spend1732/refund1166; no RNG words.\",\n \"Tech132/136/142 become available turn4 at costs10000/16000/8000; observed-tech count10->11 with real element; event nextId5->7 with complete records.\",\n \"Existing R1 still fails by 16 leaves (independently reproduced); merely enabling cascade cannot close callback residuals. Runtime text assets may avoid original PostEvent but live adapter and policy are unresolved.\"\n ],\n \"scope\": [\n \"Planning only until ready: campaign/pilots/research-replacement.md is the detailed input, write-boundary and acceptance specification. No replacement code or lab operations authorized by this proposed contract.\",\n \"Target ProcessResearch plus SetResearched and required OnTechResearched effects for the W1 turn3 LOAD-to-turn4 completion; broad research correctness is not implied.\",\n \"The accepted static ABI dependency does not authorize live wiring. First accept a separately contracted live record bridge; then assign one complete W1 coordinator write set with baseline-pinned paired worktrees and exclusive source/build/VM ownership.\",\n \"Before implementation provide exact owned source paths, supported-input preflight, executable acceptance and immutable manifests. Uncommitted bootstrap changes are not bound by these HEAD IDs.\"\n ],\n \"status\": \"proposed\",\n \"stop_conditions\": [\n \"Remain proposed while readiness criterion, dependency decisions, input manifests and executable acceptance are missing; do not interpret narrative strings as execution proof.\",\n \"Stop on control disagreement, instrumentation mismatch, source/input drift, missing artifacts/assets, unknown RNG, unmodelled fired branch, unexpected writes, zero required execution or forbidden original fallback.\",\n \"Record any falsified assumption or changed scope as a surprise and obtain Astra resolution before affected work continues; checkpoint at 20 calls/15 minutes and before experiments, handoff or stop.\",\n \"No lab or shared-host mutation without explicit assignment and lease; no commits, staging, push or delegated work under the current pilot-design assignment.\"\n ],\n \"title\": \"Completion-bearing W1 research replacement pilot (proposed; live bridge, assets and runner pending)\"\n}","lineStart":1,"lineEnd":109,"totalLines":109,"truncated":false}},"title":"campaign/contracts/research-replacement.json","time":{"start":1789015782057,"end":1789015782072}},"metadata":{"openai":{"itemId":"fc_005f6b95b729d5d7016aa236e5b8ac87d1b98c88b1786023d2"}},"id":"prt_089a6724c0015VgEkypvwDVHP0","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a649b0001HcUQthXMAiody2"}} +{"type":"tool_use","timestamp":1789015782252,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_Ug4D3p0calfHLgVCnPq2k0cq","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt\nfile\n\n1: \n2: /home/alex/sots-re/dumps/sots.exe: file format pei-i386\n3: \n4: \n5: Disassembly of section .text:\n6: \n7: 00885380 <.text+0x484380>:\n8: 885380:\t55 \tpush ebp\n9: 885381:\t8b ec \tmov ebp,esp\n10: 885383:\t6a ff \tpush 0xffffffff\n11: 885385:\t68 30 af 99 00 \tpush 0x99af30\n12: 88538a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n13: 885390:\t50 \tpush eax\n14: 885391:\t83 ec 18 \tsub esp,0x18\n15: 885394:\t53 \tpush ebx\n16: 885395:\t56 \tpush esi\n17: 885396:\t57 \tpush edi\n18: 885397:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n19: 88539c:\t33 c5 \txor eax,ebp\n20: 88539e:\t50 \tpush eax\n21: 88539f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n22: 8853a2:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n23: 8853a8:\t8b f1 \tmov esi,ecx\n24: 8853aa:\t8b 56 08 \tmov edx,DWORD PTR [esi+0x8]\n25: 8853ad:\t2b 56 04 \tsub edx,DWORD PTR [esi+0x4]\n26: 8853b0:\t8d 4e 04 \tlea ecx,[esi+0x4]\n27: 8853b3:\tb8 ab aa aa 2a \tmov eax,0x2aaaaaab\n28: 8853b8:\tf7 ea \timul edx\n29: 8853ba:\tc1 fa 02 \tsar edx,0x2\n30: 8853bd:\t8b c2 \tmov eax,edx\n31: 8853bf:\tc1 e8 1f \tshr eax,0x1f\n32: 8853c2:\t33 db \txor ebx,ebx\n33: 8853c4:\t03 c2 \tadd eax,edx\n34: 8853c6:\t33 ff \txor edi,edi\n35: 8853c8:\t3b c3 \tcmp eax,ebx\n36: 8853ca:\t7e 30 \tjle 0x8853fc\n37: 8853cc:\t8b 11 \tmov edx,DWORD PTR [ecx]\n38: 8853ce:\t8b ff \tmov edi,edi\n39: 8853d0:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n40: 8853d3:\t39 5a 04 \tcmp DWORD PTR [edx+0x4],ebx\n41: 8853d6:\t75 02 \tjne 0x8853da\n42: 8853d8:\t8b fa \tmov edi,edx\n43: 8853da:\t83 c2 18 \tadd edx,0x18\n44: 8853dd:\t48 \tdec eax\n45: 8853de:\t75 f0 \tjne 0x8853d0\n46: 8853e0:\t33 db \txor ebx,ebx\n47: 8853e2:\t3b fb \tcmp edi,ebx\n48: 8853e4:\t74 16 \tje 0x8853fc\n49: 8853e6:\t8b c7 \tmov eax,edi\n50: 8853e8:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n51: 8853eb:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n52: 8853f2:\t59 \tpop ecx\n53: 8853f3:\t5f \tpop edi\n54: 8853f4:\t5e \tpop esi\n55: 8853f5:\t5b \tpop ebx\n56: 8853f6:\t8b e5 \tmov esp,ebp\n57: 8853f8:\t5d \tpop ebp\n58: 8853f9:\tc2 04 00 \tret 0x4\n59: 8853fc:\tc7 45 dc 7c f0 a0 00 \tmov DWORD PTR [ebp-0x24],0xa0f07c\n60: 885403:\t89 5d e4 \tmov DWORD PTR [ebp-0x1c],ebx\n61: 885406:\t89 5d e8 \tmov DWORD PTR [ebp-0x18],ebx\n62: 885409:\t89 5d ec \tmov DWORD PTR [ebp-0x14],ebx\n63: 88540c:\t8d 45 dc \tlea eax,[ebp-0x24]\n64: 88540f:\t50 \tpush eax\n65: 885410:\t89 5d fc \tmov DWORD PTR [ebp-0x4],ebx\n66: 885413:\te8 98 f8 ff ff \tcall 0x884cb0\n67: 885418:\t8d 4d e4 \tlea ecx,[ebp-0x1c]\n68: 88541b:\tc7 45 fc 01 00 00 00 \tmov DWORD PTR [ebp-0x4],0x1\n69: 885422:\te8 59 41 da ff \tcall 0x629580\n70: 885427:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n71: 88542a:\t8b 4d 08 \tmov ecx,DWORD PTR [ebp+0x8]\n72: 88542d:\t89 48 ec \tmov DWORD PTR [eax-0x14],ecx\n73: 885430:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n74: 885433:\t83 e8 18 \tsub eax,0x18\n75: 885436:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n76: 885439:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n77: 885440:\t59 \tpop ecx\n78: 885441:\t5f \tpop edi\n79: 885442:\t5e \tpop esi\n80: 885443:\t5b \tpop ebx\n81: 885444:\t8b e5 \tmov esp,ebp\n82: 885446:\t5d \tpop ebp\n83: 885447:\tc2 04 00 \tret 0x4\n\n(End of file - total 83 lines)\n","metadata":{"preview":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00885380 <.text+0x484380>:\n 885380:\t55 \tpush ebp\n 885381:\t8b ec \tmov ebp,esp\n 885383:\t6a ff \tpush 0xffffffff\n 885385:\t68 30 af 99 00 \tpush 0x99af30\n 88538a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 885390:\t50 \tpush eax\n 885391:\t83 ec 18 \tsub esp,0x18\n 885394:\t53 \tpush ebx\n 885395:\t56 \tpush esi\n 885396:\t57 \tpush edi\n 885397:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 88539c:\t33 c5 \txor eax,ebp\n 88539e:\t50 \tpush eax","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt","text":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00885380 <.text+0x484380>:\n 885380:\t55 \tpush ebp\n 885381:\t8b ec \tmov ebp,esp\n 885383:\t6a ff \tpush 0xffffffff\n 885385:\t68 30 af 99 00 \tpush 0x99af30\n 88538a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 885390:\t50 \tpush eax\n 885391:\t83 ec 18 \tsub esp,0x18\n 885394:\t53 \tpush ebx\n 885395:\t56 \tpush esi\n 885396:\t57 \tpush edi\n 885397:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 88539c:\t33 c5 \txor eax,ebp\n 88539e:\t50 \tpush eax\n 88539f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 8853a2:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 8853a8:\t8b f1 \tmov esi,ecx\n 8853aa:\t8b 56 08 \tmov edx,DWORD PTR [esi+0x8]\n 8853ad:\t2b 56 04 \tsub edx,DWORD PTR [esi+0x4]\n 8853b0:\t8d 4e 04 \tlea ecx,[esi+0x4]\n 8853b3:\tb8 ab aa aa 2a \tmov eax,0x2aaaaaab\n 8853b8:\tf7 ea \timul edx\n 8853ba:\tc1 fa 02 \tsar edx,0x2\n 8853bd:\t8b c2 \tmov eax,edx\n 8853bf:\tc1 e8 1f \tshr eax,0x1f\n 8853c2:\t33 db \txor ebx,ebx\n 8853c4:\t03 c2 \tadd eax,edx\n 8853c6:\t33 ff \txor edi,edi\n 8853c8:\t3b c3 \tcmp eax,ebx\n 8853ca:\t7e 30 \tjle 0x8853fc\n 8853cc:\t8b 11 \tmov edx,DWORD PTR [ecx]\n 8853ce:\t8b ff \tmov edi,edi\n 8853d0:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n 8853d3:\t39 5a 04 \tcmp DWORD PTR [edx+0x4],ebx\n 8853d6:\t75 02 \tjne 0x8853da\n 8853d8:\t8b fa \tmov edi,edx\n 8853da:\t83 c2 18 \tadd edx,0x18\n 8853dd:\t48 \tdec eax\n 8853de:\t75 f0 \tjne 0x8853d0\n 8853e0:\t33 db \txor ebx,ebx\n 8853e2:\t3b fb \tcmp edi,ebx\n 8853e4:\t74 16 \tje 0x8853fc\n 8853e6:\t8b c7 \tmov eax,edi\n 8853e8:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 8853eb:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 8853f2:\t59 \tpop ecx\n 8853f3:\t5f \tpop edi\n 8853f4:\t5e \tpop esi\n 8853f5:\t5b \tpop ebx\n 8853f6:\t8b e5 \tmov esp,ebp\n 8853f8:\t5d \tpop ebp\n 8853f9:\tc2 04 00 \tret 0x4\n 8853fc:\tc7 45 dc 7c f0 a0 00 \tmov DWORD PTR [ebp-0x24],0xa0f07c\n 885403:\t89 5d e4 \tmov DWORD PTR [ebp-0x1c],ebx\n 885406:\t89 5d e8 \tmov DWORD PTR [ebp-0x18],ebx\n 885409:\t89 5d ec \tmov DWORD PTR [ebp-0x14],ebx\n 88540c:\t8d 45 dc \tlea eax,[ebp-0x24]\n 88540f:\t50 \tpush eax\n 885410:\t89 5d fc \tmov DWORD PTR [ebp-0x4],ebx\n 885413:\te8 98 f8 ff ff \tcall 0x884cb0\n 885418:\t8d 4d e4 \tlea ecx,[ebp-0x1c]\n 88541b:\tc7 45 fc 01 00 00 00 \tmov DWORD PTR [ebp-0x4],0x1\n 885422:\te8 59 41 da ff \tcall 0x629580\n 885427:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n 88542a:\t8b 4d 08 \tmov ecx,DWORD PTR [ebp+0x8]\n 88542d:\t89 48 ec \tmov DWORD PTR [eax-0x14],ecx\n 885430:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n 885433:\t83 e8 18 \tsub eax,0x18\n 885436:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 885439:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 885440:\t59 \tpop ecx\n 885441:\t5f \tpop edi\n 885442:\t5e \tpop esi\n 885443:\t5b \tpop ebx\n 885444:\t8b e5 \tmov esp,ebp\n 885446:\t5d \tpop ebp\n 885447:\tc2 04 00 \tret 0x4","lineStart":1,"lineEnd":83,"totalLines":83,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt","time":{"start":1789015782237,"end":1789015782250}},"metadata":{"openai":{"itemId":"fc_005f6b95b729d5d7016aa236e5b8b487d19686731a981bd174"}},"id":"prt_089a67338001ZJVJUP3Tvo8Dm3","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a649b0001HcUQthXMAiody2"}} +{"type":"tool_use","timestamp":1789015782374,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_NPXbY6NatVUif4OsSwTCzYcw","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt\nfile\n\n1: \n2: /home/alex/sots-re/dumps/sots.exe: file format pei-i386\n3: \n4: \n5: Disassembly of section .text:\n6: \n7: 00884cb0 <.text+0x483cb0>:\n8: 884cb0:\t55 \tpush ebp\n9: 884cb1:\t8b ec \tmov ebp,esp\n10: 884cb3:\t6a ff \tpush 0xffffffff\n11: 884cb5:\t68 72 0b 98 00 \tpush 0x980b72\n12: 884cba:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n13: 884cc0:\t50 \tpush eax\n14: 884cc1:\t51 \tpush ecx\n15: 884cc2:\t56 \tpush esi\n16: 884cc3:\t57 \tpush edi\n17: 884cc4:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n18: 884cc9:\t33 c5 \txor eax,ebp\n19: 884ccb:\t50 \tpush eax\n20: 884ccc:\t8d 45 f4 \tlea eax,[ebp-0xc]\n21: 884ccf:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n22: 884cd5:\t8b f9 \tmov edi,ecx\n23: 884cd7:\t8b 4f 04 \tmov ecx,DWORD PTR [edi+0x4]\n24: 884cda:\t8b 75 08 \tmov esi,DWORD PTR [ebp+0x8]\n25: 884cdd:\t3b f1 \tcmp esi,ecx\n26: 884cdf:\t73 59 \tjae 0x884d3a\n27: 884ce1:\t8b 07 \tmov eax,DWORD PTR [edi]\n28: 884ce3:\t3b c6 \tcmp eax,esi\n29: 884ce5:\t77 53 \tja 0x884d3a\n30: 884ce7:\t2b f0 \tsub esi,eax\n31: 884ce9:\tb8 ab aa aa 2a \tmov eax,0x2aaaaaab\n32: 884cee:\tf7 ee \timul esi\n33: 884cf0:\tc1 fa 02 \tsar edx,0x2\n34: 884cf3:\t8b f2 \tmov esi,edx\n35: 884cf5:\tc1 ee 1f \tshr esi,0x1f\n36: 884cf8:\t03 f2 \tadd esi,edx\n37: 884cfa:\t3b 4f 08 \tcmp ecx,DWORD PTR [edi+0x8]\n38: 884cfd:\t75 09 \tjne 0x884d08\n39: 884cff:\t6a 01 \tpush 0x1\n40: 884d01:\t8b cf \tmov ecx,edi\n41: 884d03:\te8 98 f4 ff ff \tcall 0x8841a0\n42: 884d08:\t8b 0f \tmov ecx,DWORD PTR [edi]\n43: 884d0a:\t8d 04 76 \tlea eax,[esi+esi*2]\n44: 884d0d:\t8d 0c c1 \tlea ecx,[ecx+eax*8]\n45: 884d10:\t8b 47 04 \tmov eax,DWORD PTR [edi+0x4]\n46: 884d13:\t89 45 08 \tmov DWORD PTR [ebp+0x8],eax\n47: 884d16:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n48: 884d19:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n49: 884d20:\t85 c0 \ttest eax,eax\n50: 884d22:\t74 54 \tje 0x884d78\n51: 884d24:\tc7 00 7c f0 a0 00 \tmov DWORD PTR [eax],0xa0f07c\n52: 884d2a:\t8b 51 04 \tmov edx,DWORD PTR [ecx+0x4]\n53: 884d2d:\t83 c1 08 \tadd ecx,0x8\n54: 884d30:\tc6 45 fc 01 \tmov BYTE PTR [ebp-0x4],0x1\n55: 884d34:\t89 50 04 \tmov DWORD PTR [eax+0x4],edx\n56: 884d37:\t51 \tpush ecx\n57: 884d38:\teb 36 \tjmp 0x884d70\n58: 884d3a:\t3b 4f 08 \tcmp ecx,DWORD PTR [edi+0x8]\n59: 884d3d:\t75 09 \tjne 0x884d48\n60: 884d3f:\t6a 01 \tpush 0x1\n61: 884d41:\t8b cf \tmov ecx,edi\n62: 884d43:\te8 58 f4 ff ff \tcall 0x8841a0\n63: 884d48:\t8b 47 04 \tmov eax,DWORD PTR [edi+0x4]\n64: 884d4b:\t89 45 08 \tmov DWORD PTR [ebp+0x8],eax\n65: 884d4e:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n66: 884d51:\tc7 45 fc 02 00 00 00 \tmov DWORD PTR [ebp-0x4],0x2\n67: 884d58:\t85 c0 \ttest eax,eax\n68: 884d5a:\t74 1c \tje 0x884d78\n69: 884d5c:\tc7 00 7c f0 a0 00 \tmov DWORD PTR [eax],0xa0f07c\n70: 884d62:\t8b 4e 04 \tmov ecx,DWORD PTR [esi+0x4]\n71: 884d65:\t83 c6 08 \tadd esi,0x8\n72: 884d68:\tc6 45 fc 03 \tmov BYTE PTR [ebp-0x4],0x3\n73: 884d6c:\t89 48 04 \tmov DWORD PTR [eax+0x4],ecx\n74: 884d6f:\t56 \tpush esi\n75: 884d70:\t8d 48 08 \tlea ecx,[eax+0x8]\n76: 884d73:\te8 d8 4a ef ff \tcall 0x779850\n77: 884d78:\t83 47 04 18 \tadd DWORD PTR [edi+0x4],0x18\n78: 884d7c:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n79: 884d7f:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n80: 884d86:\t59 \tpop ecx\n81: 884d87:\t5f \tpop edi\n82: 884d88:\t5e \tpop esi\n83: 884d89:\t8b e5 \tmov esp,ebp\n84: 884d8b:\t5d \tpop ebp\n85: 884d8c:\tc2 04 00 \tret 0x4\n\n(End of file - total 85 lines)\n","metadata":{"preview":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00884cb0 <.text+0x483cb0>:\n 884cb0:\t55 \tpush ebp\n 884cb1:\t8b ec \tmov ebp,esp\n 884cb3:\t6a ff \tpush 0xffffffff\n 884cb5:\t68 72 0b 98 00 \tpush 0x980b72\n 884cba:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 884cc0:\t50 \tpush eax\n 884cc1:\t51 \tpush ecx\n 884cc2:\t56 \tpush esi\n 884cc3:\t57 \tpush edi\n 884cc4:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 884cc9:\t33 c5 \txor eax,ebp\n 884ccb:\t50 \tpush eax\n 884ccc:\t8d 45 f4 \tlea eax,[ebp-0xc]","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt","text":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00884cb0 <.text+0x483cb0>:\n 884cb0:\t55 \tpush ebp\n 884cb1:\t8b ec \tmov ebp,esp\n 884cb3:\t6a ff \tpush 0xffffffff\n 884cb5:\t68 72 0b 98 00 \tpush 0x980b72\n 884cba:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 884cc0:\t50 \tpush eax\n 884cc1:\t51 \tpush ecx\n 884cc2:\t56 \tpush esi\n 884cc3:\t57 \tpush edi\n 884cc4:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 884cc9:\t33 c5 \txor eax,ebp\n 884ccb:\t50 \tpush eax\n 884ccc:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 884ccf:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 884cd5:\t8b f9 \tmov edi,ecx\n 884cd7:\t8b 4f 04 \tmov ecx,DWORD PTR [edi+0x4]\n 884cda:\t8b 75 08 \tmov esi,DWORD PTR [ebp+0x8]\n 884cdd:\t3b f1 \tcmp esi,ecx\n 884cdf:\t73 59 \tjae 0x884d3a\n 884ce1:\t8b 07 \tmov eax,DWORD PTR [edi]\n 884ce3:\t3b c6 \tcmp eax,esi\n 884ce5:\t77 53 \tja 0x884d3a\n 884ce7:\t2b f0 \tsub esi,eax\n 884ce9:\tb8 ab aa aa 2a \tmov eax,0x2aaaaaab\n 884cee:\tf7 ee \timul esi\n 884cf0:\tc1 fa 02 \tsar edx,0x2\n 884cf3:\t8b f2 \tmov esi,edx\n 884cf5:\tc1 ee 1f \tshr esi,0x1f\n 884cf8:\t03 f2 \tadd esi,edx\n 884cfa:\t3b 4f 08 \tcmp ecx,DWORD PTR [edi+0x8]\n 884cfd:\t75 09 \tjne 0x884d08\n 884cff:\t6a 01 \tpush 0x1\n 884d01:\t8b cf \tmov ecx,edi\n 884d03:\te8 98 f4 ff ff \tcall 0x8841a0\n 884d08:\t8b 0f \tmov ecx,DWORD PTR [edi]\n 884d0a:\t8d 04 76 \tlea eax,[esi+esi*2]\n 884d0d:\t8d 0c c1 \tlea ecx,[ecx+eax*8]\n 884d10:\t8b 47 04 \tmov eax,DWORD PTR [edi+0x4]\n 884d13:\t89 45 08 \tmov DWORD PTR [ebp+0x8],eax\n 884d16:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n 884d19:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n 884d20:\t85 c0 \ttest eax,eax\n 884d22:\t74 54 \tje 0x884d78\n 884d24:\tc7 00 7c f0 a0 00 \tmov DWORD PTR [eax],0xa0f07c\n 884d2a:\t8b 51 04 \tmov edx,DWORD PTR [ecx+0x4]\n 884d2d:\t83 c1 08 \tadd ecx,0x8\n 884d30:\tc6 45 fc 01 \tmov BYTE PTR [ebp-0x4],0x1\n 884d34:\t89 50 04 \tmov DWORD PTR [eax+0x4],edx\n 884d37:\t51 \tpush ecx\n 884d38:\teb 36 \tjmp 0x884d70\n 884d3a:\t3b 4f 08 \tcmp ecx,DWORD PTR [edi+0x8]\n 884d3d:\t75 09 \tjne 0x884d48\n 884d3f:\t6a 01 \tpush 0x1\n 884d41:\t8b cf \tmov ecx,edi\n 884d43:\te8 58 f4 ff ff \tcall 0x8841a0\n 884d48:\t8b 47 04 \tmov eax,DWORD PTR [edi+0x4]\n 884d4b:\t89 45 08 \tmov DWORD PTR [ebp+0x8],eax\n 884d4e:\t89 45 f0 \tmov DWORD PTR [ebp-0x10],eax\n 884d51:\tc7 45 fc 02 00 00 00 \tmov DWORD PTR [ebp-0x4],0x2\n 884d58:\t85 c0 \ttest eax,eax\n 884d5a:\t74 1c \tje 0x884d78\n 884d5c:\tc7 00 7c f0 a0 00 \tmov DWORD PTR [eax],0xa0f07c\n 884d62:\t8b 4e 04 \tmov ecx,DWORD PTR [esi+0x4]\n 884d65:\t83 c6 08 \tadd esi,0x8\n 884d68:\tc6 45 fc 03 \tmov BYTE PTR [ebp-0x4],0x3\n 884d6c:\t89 48 04 \tmov DWORD PTR [eax+0x4],ecx\n 884d6f:\t56 \tpush esi\n 884d70:\t8d 48 08 \tlea ecx,[eax+0x8]\n 884d73:\te8 d8 4a ef ff \tcall 0x779850\n 884d78:\t83 47 04 18 \tadd DWORD PTR [edi+0x4],0x18\n 884d7c:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 884d7f:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 884d86:\t59 \tpop ecx\n 884d87:\t5f \tpop edi\n 884d88:\t5e \tpop esi\n 884d89:\t8b e5 \tmov esp,ebp\n 884d8b:\t5d \tpop ebp\n 884d8c:\tc2 04 00 \tret 0x4","lineStart":1,"lineEnd":85,"totalLines":85,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt","time":{"start":1789015782361,"end":1789015782371}},"metadata":{"openai":{"itemId":"fc_005f6b95b729d5d7016aa236e5b8c087d1a6f155ec99cd29f0"}},"id":"prt_089a673850014gq8xL15uGfTtU","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a649b0001HcUQthXMAiody2"}} +{"type":"tool_use","timestamp":1789015782393,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"read","callID":"call_wcwY0EumBgToNV7baby1RkD1","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt\nfile\n\n1: \n2: /home/alex/sots-re/dumps/sots.exe: file format pei-i386\n3: \n4: \n5: Disassembly of section .text:\n6: \n7: 00629580 <.text+0x228580>:\n8: 629580:\t57 \tpush edi\n9: 629581:\t8b f9 \tmov edi,ecx\n10: 629583:\t83 3f 00 \tcmp DWORD PTR [edi],0x0\n11: 629586:\t74 36 \tje 0x6295be\n12: 629588:\t53 \tpush ebx\n13: 629589:\t56 \tpush esi\n14: 62958a:\tff 15 2c d1 9d 00 \tcall DWORD PTR ds:0x9dd12c\n15: 629590:\t8b 5f 04 \tmov ebx,DWORD PTR [edi+0x4]\n16: 629593:\t8b 37 \tmov esi,DWORD PTR [edi]\n17: 629595:\t3b f3 \tcmp esi,ebx\n18: 629597:\t74 18 \tje 0x6295b1\n19: 629599:\t8d a4 24 00 00 00 00 \tlea esp,[esp+0x0]\n20: 6295a0:\t8b 06 \tmov eax,DWORD PTR [esi]\n21: 6295a2:\t8b 10 \tmov edx,DWORD PTR [eax]\n22: 6295a4:\t6a 00 \tpush 0x0\n23: 6295a6:\t8b ce \tmov ecx,esi\n24: 6295a8:\tff d2 \tcall edx\n25: 6295aa:\t83 c6 74 \tadd esi,0x74\n26: 6295ad:\t3b f3 \tcmp esi,ebx\n27: 6295af:\t75 ef \tjne 0x6295a0\n28: 6295b1:\t8b 07 \tmov eax,DWORD PTR [edi]\n29: 6295b3:\t50 \tpush eax\n30: 6295b4:\te8 f1 b9 2f 00 \tcall 0x924faa\n31: 6295b9:\t83 c4 04 \tadd esp,0x4\n32: 6295bc:\t5e \tpop esi\n33: 6295bd:\t5b \tpop ebx\n34: 6295be:\t33 c0 \txor eax,eax\n35: 6295c0:\t89 07 \tmov DWORD PTR [edi],eax\n36: 6295c2:\t89 47 04 \tmov DWORD PTR [edi+0x4],eax\n37: 6295c5:\t89 47 08 \tmov DWORD PTR [edi+0x8],eax\n38: 6295c8:\t5f \tpop edi\n39: 6295c9:\tc3 \tret \n\n(End of file - total 39 lines)\n","metadata":{"preview":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00629580 <.text+0x228580>:\n 629580:\t57 \tpush edi\n 629581:\t8b f9 \tmov edi,ecx\n 629583:\t83 3f 00 \tcmp DWORD PTR [edi],0x0\n 629586:\t74 36 \tje 0x6295be\n 629588:\t53 \tpush ebx\n 629589:\t56 \tpush esi\n 62958a:\tff 15 2c d1 9d 00 \tcall DWORD PTR ds:0x9dd12c\n 629590:\t8b 5f 04 \tmov ebx,DWORD PTR [edi+0x4]\n 629593:\t8b 37 \tmov esi,DWORD PTR [edi]\n 629595:\t3b f3 \tcmp esi,ebx\n 629597:\t74 18 \tje 0x6295b1\n 629599:\t8d a4 24 00 00 00 00 \tlea esp,[esp+0x0]\n 6295a0:\t8b 06 \tmov eax,DWORD PTR [esi]","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt","text":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00629580 <.text+0x228580>:\n 629580:\t57 \tpush edi\n 629581:\t8b f9 \tmov edi,ecx\n 629583:\t83 3f 00 \tcmp DWORD PTR [edi],0x0\n 629586:\t74 36 \tje 0x6295be\n 629588:\t53 \tpush ebx\n 629589:\t56 \tpush esi\n 62958a:\tff 15 2c d1 9d 00 \tcall DWORD PTR ds:0x9dd12c\n 629590:\t8b 5f 04 \tmov ebx,DWORD PTR [edi+0x4]\n 629593:\t8b 37 \tmov esi,DWORD PTR [edi]\n 629595:\t3b f3 \tcmp esi,ebx\n 629597:\t74 18 \tje 0x6295b1\n 629599:\t8d a4 24 00 00 00 00 \tlea esp,[esp+0x0]\n 6295a0:\t8b 06 \tmov eax,DWORD PTR [esi]\n 6295a2:\t8b 10 \tmov edx,DWORD PTR [eax]\n 6295a4:\t6a 00 \tpush 0x0\n 6295a6:\t8b ce \tmov ecx,esi\n 6295a8:\tff d2 \tcall edx\n 6295aa:\t83 c6 74 \tadd esi,0x74\n 6295ad:\t3b f3 \tcmp esi,ebx\n 6295af:\t75 ef \tjne 0x6295a0\n 6295b1:\t8b 07 \tmov eax,DWORD PTR [edi]\n 6295b3:\t50 \tpush eax\n 6295b4:\te8 f1 b9 2f 00 \tcall 0x924faa\n 6295b9:\t83 c4 04 \tadd esp,0x4\n 6295bc:\t5e \tpop esi\n 6295bd:\t5b \tpop ebx\n 6295be:\t33 c0 \txor eax,eax\n 6295c0:\t89 07 \tmov DWORD PTR [edi],eax\n 6295c2:\t89 47 04 \tmov DWORD PTR [edi+0x4],eax\n 6295c5:\t89 47 08 \tmov DWORD PTR [edi+0x8],eax\n 6295c8:\t5f \tpop edi\n 6295c9:\tc3 \tret ","lineStart":1,"lineEnd":39,"totalLines":39,"truncated":false}},"title":"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt","time":{"start":1789015782377,"end":1789015782391}},"metadata":{"openai":{"itemId":"fc_005f6b95b729d5d7016aa236e5b8c887d1a283dd380ad68ad5"}},"id":"prt_089a673df001yNLmtQScPZ96kS","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a649b0001HcUQthXMAiody2"}} +{"type":"step_finish","timestamp":1789015782515,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a67470001YX0LyHvljkoACS","reason":"tool-calls","snapshot":"45cc84550a58d5bcfa79a0bfd349ca20f034ff04","messageID":"msg_089a649b0001HcUQthXMAiody2","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":65597,"input":3376,"output":245,"reasoning":24,"cache":{"write":0,"read":61952}},"cost":0}} +{"type":"step_start","timestamp":1789015784953,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a67df5001nZc01el6Pc1qKN","messageID":"msg_089a674a30017IUpuWkOA5BeIE","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"50109e2c2da6d6c7100c125571ef596eecfc14db","type":"step-start"}} +{"type":"text","timestamp":1789015788586,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a683c2001y9nP923xDVXNCk","messageID":"msg_089a674a30017IUpuWkOA5BeIE","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"text","text":"The raw streams confirm the truncation, but it is beyond the nested-copy body and its displayed cleanup path. Those ownership instructions remain usable as partial static evidence; the claim that the entire capture is complete does not survive.\n\nI’ll require fresh captures with instruction-aligned boundaries and a current-session manifest, followed by independent reproduction. This does not restore ABI acceptance or unblock live bridge/replacement execution.\n\n","time":{"start":1789015786434,"end":1789015788581},"metadata":{"openai":{"itemId":"msg_080fcb37fe295a86016aa236ea3f2487d1b4a430da52083c27","phase":"commentary"}}}} +{"type":"tool_use","timestamp":1789015790931,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"todowrite","callID":"call_KNONvYmoUgIjg7P8l6QiP42T","state":{"status":"completed","input":{"todos":[{"content":"Verify identities and inspect affected raw evidence and prior decisions","status":"completed","priority":"high"},{"content":"Resolve both surprises through campaign controls with scoped claims and repair experiment","status":"in_progress","priority":"high"},{"content":"Validate controls and persist final handoff checkpoint","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Verify identities and inspect affected raw evidence and prior decisions\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Resolve both surprises through campaign controls with scoped claims and repair experiment\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Validate controls and persist final handoff checkpoint\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Verify identities and inspect affected raw evidence and prior decisions","status":"completed","priority":"high"},{"content":"Resolve both surprises through campaign controls with scoped claims and repair experiment","status":"in_progress","priority":"high"},{"content":"Validate controls and persist final handoff checkpoint","status":"pending","priority":"high"}],"truncated":false},"title":"2 todos","time":{"start":1789015790926,"end":1789015790929}},"metadata":{"openai":{"itemId":"fc_080fcb37fe295a86016aa236ec895087d1af0c543eef434f20"}},"id":"prt_089a68c27001IYJY4h7bDQIa1l","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a674a30017IUpuWkOA5BeIE"}} +{"type":"step_finish","timestamp":1789015791075,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a695e0001Wi2EsHRzG8ldEJ","reason":"tool-calls","snapshot":"a6413e934a6c790be9d734b20c40c4df04d09307","messageID":"msg_089a674a30017IUpuWkOA5BeIE","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":75101,"input":9751,"output":172,"reasoning":26,"cache":{"write":0,"read":65152}},"cost":0}} +{"type":"step_start","timestamp":1789015793168,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a69e0c001wYKw0c7SXRKvbC","messageID":"msg_089a6960f0019EtVwNq60xJrbM","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"14da636ae2d496f10aaa56bf1db7de95c5a219b8","type":"step-start"}} +{"type":"tool_use","timestamp":1789015836308,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_W2Lr4VLPa10zrvtxelMrPoPd","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve s-4f4fb5e8ee42ccff7e68efb5 --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --explanation 'Astra resolution-only decision; session run-daefd1b77558f324ae730b27. OBSERVATION/PROVENANCE: inspected analyst run-16f8e9b6376b278c4870be09/manifest.json and verifier run-ee78b8773688ca09f8046e21/manifest.json plus all four exact stdout streams and nested-copy-wide.stdout.txt under verify/results/research-completion-abi-correction-verifier/. Checkpoint 070383fd013a0e4b1a2ef5e0 rehashes verifier manifest 50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393 and actual-session report c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc. Exact nested-copy ends 0x779a1f with displayed byte 74; wide adds displacement 10 but ends 0x779a23 with only e8. Manifest records eight exit-zero, nonempty, empty-stderr objdump executions and four byte-exact analyst comparisons, but full harness exit is 1, not success. Documentary binary identity: 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; GNU objdump 2.38, 373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd. These were not freshly rehashed/rerun by resolver. Direct HEAD/common-dir checks match contract baselines in assigned paired worktrees; both trees are dirty, not assumed clean or identified solely by HEAD. Launcher records source_before; historical content bindings engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd, RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 are documentary, not new measurements. INSTRUMENT: stop-address affects displayed instruction bytes despite a decoded target and return zero; +4 is not a completeness guarantee. No game/hook execution or runtime neutrality measurement occurred. This is capture-boundary interference, not a stale-build/game-mechanism diagnosis.\nOVERTURNED: complete four-window stream/no-truncation and nested-copy exact-row-prefix claims at stops 0x779a20/0x779a24; full independent-cross-check success and any acceptance inferred from 44/45 checks. SURVIVES as inspected static rows only: nested-copy 0x779850..0x779926 includes zero header initialization, empty/nonempty split, allocation call 0x78af40, stride 0x74, copy call 0x7725a0, EAX receiver return/ret4 and displayed cleanup calls. Truncation lies in later code, not these rows. SURVIVES under valid containers and normally returning helpers: get/create last-match scan, no pre-append initialization of EBP-0x20, append source+4 copy before nested-copy before last advance, temporary cleanup before requested-turn store, nested destructor null/non-null loop/free/three-pointer zeroing. Prior d-b51f3f76803e852ed250846a correction is not reversed. QUALIFIED: these are partial static understanding, not live empty/full-capacity execution, nonempty record validation, allocator safety, exception safety, RNG state accounting, standalone replacement or integrated acceptance. Other ABI/string/dedup/pruning claims are unaffected historical scope, not freshly recertified here.\nINVALIDATE for complete-stream/current acceptance use: analyst run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt and its package completeness; verifier run-ee78b8773688ca09f8046e21 exact/wide nested-copy streams as complete windows; manifest full-compare scope and any passing interpretation in handoff/checkpoint bbe83c0b7516313cc7cc27b2. Preserve bytes, failed check and report as historical measurements. Contract evidence array is already empty; do not restore evidence/verdict invalidated by d-b51f3f76803e852ed250846a. Revised scope remains static-only correction, same acceptance criteria and controls-bootstrap dependency, fresh input/tool/source binding plus session-provenance repair required. research-live-record-bridge remains needs-revision and research-replacement proposed: their accepted-ABI prose is not current acceptance; all dependent implementation/live execution remains gated. No source/architecture/lab edits authorized. Lead must integrate only repaired independently reproduced evidence, link actual decisions and regenerate projections then, not write another board history.' --probe 'Cheapest discriminator for an authorized analyst after both resolutions and normal lifecycle scheduling: fresh pinned objdump -D -Mintel from 0x00779850 at stops 0x00779a20 (known-bad negative control), 0x00779a21 and 0x00779a23. Archived wide rows predict 74 10 ends at 0x779a21 and 8b cf ends at 0x779a23; these replacement stops are predictions, not measured here. Check raw PE section bytes across 0x779a1f..0x779a28 and instruction lengths, require the two aligned captures to be complete and prefix-consistent, and reject old stop as truncated despite exit zero. For narrowly scoped nested-copy authority use separately captured 0x779850..0x779930, retaining return and cleanup through 0x779926 and padding, excluding later routines; verify that terminal boundary too. Recapture all four ownership windows and boundary controls with current-session immutable manifests, all streams/argv/cwd/return codes/hashes and source binding. Audit all terminal instructions, not just prefix equality. Then an independent verifier reproduces the fresh package and held-out complete-boundary control before independent-cross-check; integrated evidence and archived-record checking remain required. No VM needed, no runtime claim; stop and escalate any new mismatch.'"},"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"explanation\": \"Astra resolution-only decision; session run-daefd1b77558f324ae730b27. OBSERVATION/PROVENANCE: inspected analyst run-16f8e9b6376b278c4870be09/manifest.json and verifier run-ee78b8773688ca09f8046e21/manifest.json plus all four exact stdout streams and nested-copy-wide.stdout.txt under verify/results/research-completion-abi-correction-verifier/. Checkpoint 070383fd013a0e4b1a2ef5e0 rehashes verifier manifest 50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393 and actual-session report c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc. Exact nested-copy ends 0x779a1f with displayed byte 74; wide adds displacement 10 but ends 0x779a23 with only e8. Manifest records eight exit-zero, nonempty, empty-stderr objdump executions and four byte-exact analyst comparisons, but full harness exit is 1, not success. Documentary binary identity: 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; GNU objdump 2.38, 373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd. These were not freshly rehashed/rerun by resolver. Direct HEAD/common-dir checks match contract baselines in assigned paired worktrees; both trees are dirty, not assumed clean or identified solely by HEAD. Launcher records source_before; historical content bindings engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd, RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 are documentary, not new measurements. INSTRUMENT: stop-address affects displayed instruction bytes despite a decoded target and return zero; +4 is not a completeness guarantee. No game/hook execution or runtime neutrality measurement occurred. This is capture-boundary interference, not a stale-build/game-mechanism diagnosis.\\nOVERTURNED: complete four-window stream/no-truncation and nested-copy exact-row-prefix claims at stops 0x779a20/0x779a24; full independent-cross-check success and any acceptance inferred from 44/45 checks. SURVIVES as inspected static rows only: nested-copy 0x779850..0x779926 includes zero header initialization, empty/nonempty split, allocation call 0x78af40, stride 0x74, copy call 0x7725a0, EAX receiver return/ret4 and displayed cleanup calls. Truncation lies in later code, not these rows. SURVIVES under valid containers and normally returning helpers: get/create last-match scan, no pre-append initialization of EBP-0x20, append source+4 copy before nested-copy before last advance, temporary cleanup before requested-turn store, nested destructor null/non-null loop/free/three-pointer zeroing. Prior d-b51f3f76803e852ed250846a correction is not reversed. QUALIFIED: these are partial static understanding, not live empty/full-capacity execution, nonempty record validation, allocator safety, exception safety, RNG state accounting, standalone replacement or integrated acceptance. Other ABI/string/dedup/pruning claims are unaffected historical scope, not freshly recertified here.\\nINVALIDATE for complete-stream/current acceptance use: analyst run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt and its package completeness; verifier run-ee78b8773688ca09f8046e21 exact/wide nested-copy streams as complete windows; manifest full-compare scope and any passing interpretation in handoff/checkpoint bbe83c0b7516313cc7cc27b2. Preserve bytes, failed check and report as historical measurements. Contract evidence array is already empty; do not restore evidence/verdict invalidated by d-b51f3f76803e852ed250846a. Revised scope remains static-only correction, same acceptance criteria and controls-bootstrap dependency, fresh input/tool/source binding plus session-provenance repair required. research-live-record-bridge remains needs-revision and research-replacement proposed: their accepted-ABI prose is not current acceptance; all dependent implementation/live execution remains gated. No source/architecture/lab edits authorized. Lead must integrate only repaired independently reproduced evidence, link actual decisions and regenerate projections then, not write another board history.\",\n \"id\": \"d-fd5aff1eaf78a8c15d96723c\",\n \"invalidated_checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json\",\n \"invalidated_evidence\": [],\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Cheapest discriminator for an authorized analyst after both resolutions and normal lifecycle scheduling: fresh pinned objdump -D -Mintel from 0x00779850 at stops 0x00779a20 (known-bad negative control), 0x00779a21 and 0x00779a23. Archived wide rows predict 74 10 ends at 0x779a21 and 8b cf ends at 0x779a23; these replacement stops are predictions, not measured here. Check raw PE section bytes across 0x779a1f..0x779a28 and instruction lengths, require the two aligned captures to be complete and prefix-consistent, and reject old stop as truncated despite exit zero. For narrowly scoped nested-copy authority use separately captured 0x779850..0x779930, retaining return and cleanup through 0x779926 and padding, excluding later routines; verify that terminal boundary too. Recapture all four ownership windows and boundary controls with current-session immutable manifests, all streams/argv/cwd/return codes/hashes and source binding. Audit all terminal instructions, not just prefix equality. Then an independent verifier reproduces the fresh package and held-out complete-boundary control before independent-cross-check; integrated evidence and archived-record checking remain required. No VM needed, no runtime claim; stop and escalate any new mismatch.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-decision/1\",\n \"surprise\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"timestamp\": \"2026-09-10T04:50:36.267192+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"explanation\": \"Astra resolution-only decision; session run-daefd1b77558f324ae730b27. OBSERVATION/PROVENANCE: inspected analyst run-16f8e9b6376b278c4870be09/manifest.json and verifier run-ee78b8773688ca09f8046e21/manifest.json plus all four exact stdout streams and nested-copy-wide.stdout.txt under verify/results/research-completion-abi-correction-verifier/. Checkpoint 070383fd013a0e4b1a2ef5e0 rehashes verifier manifest 50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393 and actual-session report c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc. Exact nested-copy ends 0x779a1f with displayed byte 74; wide adds displacement 10 but ends 0x779a23 with only e8. Manifest records eight exit-zero, nonempty, empty-stderr objdump executions and four byte-exact analyst comparisons, but full harness exit is 1, not success. Documentary binary identity: 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; GNU objdump 2.38, 373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd. These were not freshly rehashed/rerun by resolver. Direct HEAD/common-dir checks match contract baselines in assigned paired worktrees; both trees are dirty, not assumed clean or identified solely by HEAD. Launcher records source_before; historical content bindings engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd, RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 are documentary, not new measurements. INSTRUMENT: stop-address affects displayed instruction bytes despite a decoded target and return zero; +4 is not a completeness guarantee. No game/hook execution or runtime neutrality measurement occurred. This is capture-boundary interference, not a stale-build/game-mechanism diagnosis.\\nOVERTURNED: complete four-window stream/no-truncation and nested-copy exact-row-prefix claims at stops 0x779a20/0x779a24; full independent-cross-check success and any acceptance inferred from 44/45 checks. SURVIVES as inspected static rows only: nested-copy 0x779850..0x779926 includes zero header initialization, empty/nonempty split, allocation call 0x78af40, stride 0x74, copy call 0x7725a0, EAX receiver return/ret4 and displayed cleanup calls. Truncation lies in later code, not these rows. SURVIVES under valid containers and normally returning helpers: get/create last-match scan, no pre-append initialization of EBP-0x20, append source+4 copy before nested-copy before last advance, temporary cleanup before requested-turn store, nested destructor null/non-null loop/free/three-pointer zeroing. Prior d-b51f3f76803e852ed250846a correction is not reversed. QUALIFIED: these are partial static understanding, not live empty/full-capacity execution, nonempty record validation, allocator safety, exception safety, RNG state accounting, standalone replacement or integrated acceptance. Other ABI/string/dedup/pruning claims are unaffected historical scope, not freshly recertified here.\\nINVALIDATE for complete-stream/current acceptance use: analyst run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt and its package completeness; verifier run-ee78b8773688ca09f8046e21 exact/wide nested-copy streams as complete windows; manifest full-compare scope and any passing interpretation in handoff/checkpoint bbe83c0b7516313cc7cc27b2. Preserve bytes, failed check and report as historical measurements. Contract evidence array is already empty; do not restore evidence/verdict invalidated by d-b51f3f76803e852ed250846a. Revised scope remains static-only correction, same acceptance criteria and controls-bootstrap dependency, fresh input/tool/source binding plus session-provenance repair required. research-live-record-bridge remains needs-revision and research-replacement proposed: their accepted-ABI prose is not current acceptance; all dependent implementation/live execution remains gated. No source/architecture/lab edits authorized. Lead must integrate only repaired independently reproduced evidence, link actual decisions and regenerate projections then, not write another board history.\",\n \"id\": \"d-fd5aff1eaf78a8c15d96723c\",\n \"invalidated_checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-070383fd013a0e4b1a2ef5e0.json\",\n \"invalidated_evidence\": [],\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Cheapest discriminator for an authorized analyst after both resolutions and normal lifecycle scheduling: fresh pinned objdump -D -Mintel from 0x00779850 at stops 0x00779a20 (known-bad negative control), 0x00779a21 and 0x00779a23. Archived wide rows predict 74 10 ends at 0x779a21 and 8b cf ends at 0x779a23; these replacement stops are predictions, not measured here. Check raw PE section bytes across 0x779a1f..0x779a28 and instruction lengths, require the two aligned captures to be complete and prefix-consistent, and reject old stop as truncated despite exit zero. For narrowly scoped nested-copy authority use separately captured 0x779850..0x779930, retaining return and cleanup through 0x779926 and padding, excluding later routines; verify that terminal boundary too. Recapture all four ownership windows and boundary controls with current-session immutable manifests, all streams/argv/cwd/return codes/hashes and source binding. Audit all terminal instructions, not just prefix equality. Then an independent verifier reproduces the fresh package and held-out complete-boundary control before independent-cross-check; integrated evidence and archived-record checking remain required. No VM needed, no runtime claim; stop and escalate any new mismatch.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-decision/1\",\n \"surprise\": \"s-4f4fb5e8ee42ccff7e68efb5\",\n \"timestamp\": \"2026-09-10T04:50:36.267192+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve s-4f4fb5e8ee42ccff7e68efb5 --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --explanation 'Astra resolution-only decision; session run-daefd1b77558f324ae730b27. OBSERVATION/PROVENANCE: inspected analyst run-16f8e9b6376b278c4870be09/manifest.json and verifier run-ee78b8773688ca09f8046e21/manifest.json plus all four exact stdout streams and nested-copy-wide.stdout.txt under verify/results/research-completion-abi-correction-verifier/. Checkpoint 070383fd013a0e4b1a2ef5e0 rehashes verifier manifest 50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393 and actual-session report c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc. Exact nested-copy ends 0x779a1f with displayed byte 74; wide adds displacement 10 but ends 0x779a23 with only e8. Manifest records eight exit-zero, nonempty, empty-stderr objdump executions and four byte-exact analyst comparisons, but full harness exit is 1, not success. Documentary binary identity: 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841; GNU objdump 2.38, 373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd. These were not freshly rehashed/rerun by resolver. Direct HEAD/common-dir checks match contract baselines in assigned paired worktrees; both trees are dirty, not assumed clean or identified solely by HEAD. Launcher records source_before; historical content bindings engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd, RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 are documentary, not new measurements. INSTRUMENT: stop-address affects displayed instruction bytes despite a decoded target and return zero; +4 is not a completeness guarantee. No game/hook execution or runtime neutrality measurement occurred. This is capture-boundary interference, not a stale-build/game-mechanism diagnosis.\nOVERTURNED: complete four-window stream/no-truncation and nested-copy exact-row-prefix claims at stops 0x779a20/0x779a24; full independent-cross-check success and any acceptance inferred from 44/45 checks. SURVIVES as inspected static rows only: nested-copy 0x779850..0x779926 includes zero header initialization, empty/nonempty split, allocation call 0x78af40, stride 0x74, copy call 0x7725a0, EAX receiver return/ret4 and displayed cleanup calls. Truncation lies in later code, not these rows. SURVIVES under valid containers and normally returning helpers: get/create last-match scan, no pre-append initialization of EBP-0x20, append source+4 copy before nested-copy before last advance, temporary cleanup before requested-turn store, nested destructor null/non-null loop/free/three-pointer zeroing. Prior d-b51f3f76803e852ed250846a correction is not reversed. QUALIFIED: these are partial static understanding, not live empty/full-capacity execution, nonempty record validation, allocator safety, exception safety, RNG state accounting, standalone replacement or integrated acceptance. Other ABI/string/dedup/pruning claims are unaffected historical scope, not freshly recertified here.\nINVALIDATE for complete-stream/current acceptance use: analyst run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt and its package completeness; verifier run-ee78b8773688ca09f8046e21 exact/wide nested-copy streams as complete windows; manifest full-compare scope and any passing interpretation in handoff/checkpoint bbe83c0b7516313cc7cc27b2. Preserve bytes, failed check and report as historical measurements. Contract evidence array is already empty; do not restore evidence/verdict invalidated by d-b51f3f76803e852ed250846a. Revised scope remains static-only correction, same acceptance criteria and controls-bootstrap dependency, fresh input/tool/source binding plus session-provenance repair required. research-live-record-bridge remains needs-revision and research-replacement proposed: their accepted-ABI prose is not current acceptance; all dependent implementation/live execution remains gated. No source/architecture/lab edits authorized. Lead must integrate only repaired independently reproduced evidence, link actual decisions and regenerate projections then, not write another board history.' --probe 'Cheapest discriminator for an authorized analyst after both resolutions and normal lifecycle scheduling: fresh pinned objdump -D -Mintel from 0x00779850 at stops 0x00779a20 (known-bad negative control), 0x00779a21 and 0x00779a23. Archived wide rows predict 74 10 ends at 0x779a21 and 8b cf ends at 0x779a23; these replacement stops are predictions, not measured here. Check raw PE section bytes across 0x779a1f..0x779a28 and instruction lengths, require the two aligned captures to be complete and prefix-consistent, and reject old stop as truncated despite exit zero. For narrowly scoped nested-copy authority use separately captured 0x779850..0x779930, retaining return and cleanup through 0x779926 and padding, excluding later routines; verify that terminal boundary too. Recapture all four ownership windows and boundary controls with current-session immutable manifests, all streams/argv/cwd/return codes/hashes and source binding. Audit all terminal instructions, not just prefix equality. Then an independent verifier reproduces the fresh package and held-out complete-boundary control before independent-cross-check; integrated evidence and archived-record checking remain required. No VM needed, no runtime claim; stop and escalate any new mismatch.'","time":{"start":1789015836220,"end":1789015836306}},"metadata":{"openai":{"itemId":"fc_004f793fb0a1e33a016aa236f1243887d19733357083647155"}},"id":"prt_089a69e0e001foEd0VXVLTZlXe","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a6960f0019EtVwNq60xJrbM"}} +{"type":"step_finish","timestamp":1789015836427,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a746fb0016inmqDrQmQ45ne","reason":"tool-calls","snapshot":"690b2472ac6f378e1f7d868152e1af3e55a90206","messageID":"msg_089a6960f0019EtVwNq60xJrbM","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":76649,"input":467,"output":1430,"reasoning":0,"cache":{"write":0,"read":74752}},"cost":0}} +{"type":"step_start","timestamp":1789015839127,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a75193001EC30bvm63flE1o","messageID":"msg_089a74745001JsrDdV5C3fUcqh","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"5d2f90c7168aaf72d178ab56f153a3f0314a6e1c","type":"step-start"}} +{"type":"tool_use","timestamp":1789015868413,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_towtTZrzHdmUBo8e0fPlOsHx","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve s-d44b9f9e62272794d88bbed6 --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --explanation 'Astra resolution-only decision, session run-daefd1b77558f324ae730b27; apply jointly with d-fd5aff1eaf78a8c15d96723c. OBSERVATION: inspected verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py. Lines 7 and 72 hard-code prior output directory and session; lines 26/36/84 allow overwriting prior outputs. Actual-session report-run-5bd0e537bb0c4c4f43987ac1.md records current invocation and exit 1; generated run-ee78b8773688ca09f8046e21/manifest.json claims prior session with fresh timestamp. Current checkpoint 070383fd013a0e4b1a2ef5e0 rehashed that manifest/report to the inherited checkpoint hashes. Binary/tool/source and positive static execution qualifications are recorded in d-fd5aff1eaf78a8c15d96723c; no fresh binary execution or runtime neutrality measurement here. No basis to infer a different game build or game mechanism from stale provenance.\nOVERTURNED in exact current-session domain: manifest is truthful evidence of run-5bd0e537bb0c4c4f43987ac1, inherited helper is safely reusable unchanged across fresh sessions, and fresh timestamp/identical stdout repairs stale session identity. QUALIFIED: raw outputs and report survive as archived static measurements with documented provenance defect, not independent current-session or integrated acceptance. SURVIVES: failed boundary challenge is a failure, eight positive objdump subprocess records support static capture rather than zero-execution, and unaffected decoded ownership rows retain only the partial static domain in companion decision. A later report cannot retroactively turn overwritten prior-session output into an immutable original-run bundle.\nINVALIDATE current-session/full-compare acceptance use of the entire verifier run-ee78b8773688ca09f8046e21/manifest.json package, its hard-coded helper as a fresh-run recipe, and any checkpoint/verdict depending on that attribution. Preserve original files and failure report; no in-place relabeling, rehashing old measurements under new source, or overwriting again. Evidence array already empty; earlier invalidated integrated evidence/verdict remains invalid. No claim that all historical instruction bytes are false. Revised dependencies: a fresh uniquely named analyst package and a separately executed independent verifier package, each with explicit immutable session/actor/role/model, invocation/time, source-content bindings, original input and dereferenced tool identity, argv/cwd/streams/results and artifact hashes. Harness/interpreter identity must be bound as consumed tooling, not inferred from Git HEAD. Full instruction/dataflow review must accompany marker checks; helper regex matches only mov DWORD PTR [ebp-0x20] and alone is not exhaustive def/use proof. Both existing acceptance criteria, archived-record checking and integrated independent reproduction remain mandatory.\nVALID NEXT ACTION: lead schedules the existing analyst for static capture repair under normal lifecycle controls, using companion boundary probe and a new session-specific output directory with fail-if-exists semantics. Direct commands with a contemporaneous immutable manifest are sufficient; no general framework changes needed. Independent verifier follows in a separate execution after fresh analyst handoff. Closing these surprises permits needs-revision only, not ready/accepted; live-record-bridge and research-replacement remain dependency-gated, no implementation/lab authorization, and no projection publication until integration. This resolver makes no source edits or nested launches.' --probe 'Cheapest provenance discriminator before capture: supply the actual new campaign run session explicitly to a fresh minimal capture recipe/direct manifest; verify it equals the launch record and output directory and that the directory does not already exist. Predeclare negative checks rejecting missing session, stale prior-session ID and reused output location before running objdump. Archive the recipe and interpreter/tool/source/input identities before capture; run all four exact/repaired complete-boundary windows plus companion negative boundary control into the new directory and record actual commands, timestamps, return codes and stream hashes. Fail closed on identity drift and any required failure; expected bad-boundary control must remain explicitly classified negative, never counted as a passing full stream. Independent verifier must reproduce with its own real session and fresh directory, not execute the inherited hard-coded helper or relabel this manifest. No probe was executed by resolver.'"},"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"explanation\": \"Astra resolution-only decision, session run-daefd1b77558f324ae730b27; apply jointly with d-fd5aff1eaf78a8c15d96723c. OBSERVATION: inspected verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py. Lines 7 and 72 hard-code prior output directory and session; lines 26/36/84 allow overwriting prior outputs. Actual-session report-run-5bd0e537bb0c4c4f43987ac1.md records current invocation and exit 1; generated run-ee78b8773688ca09f8046e21/manifest.json claims prior session with fresh timestamp. Current checkpoint 070383fd013a0e4b1a2ef5e0 rehashed that manifest/report to the inherited checkpoint hashes. Binary/tool/source and positive static execution qualifications are recorded in d-fd5aff1eaf78a8c15d96723c; no fresh binary execution or runtime neutrality measurement here. No basis to infer a different game build or game mechanism from stale provenance.\\nOVERTURNED in exact current-session domain: manifest is truthful evidence of run-5bd0e537bb0c4c4f43987ac1, inherited helper is safely reusable unchanged across fresh sessions, and fresh timestamp/identical stdout repairs stale session identity. QUALIFIED: raw outputs and report survive as archived static measurements with documented provenance defect, not independent current-session or integrated acceptance. SURVIVES: failed boundary challenge is a failure, eight positive objdump subprocess records support static capture rather than zero-execution, and unaffected decoded ownership rows retain only the partial static domain in companion decision. A later report cannot retroactively turn overwritten prior-session output into an immutable original-run bundle.\\nINVALIDATE current-session/full-compare acceptance use of the entire verifier run-ee78b8773688ca09f8046e21/manifest.json package, its hard-coded helper as a fresh-run recipe, and any checkpoint/verdict depending on that attribution. Preserve original files and failure report; no in-place relabeling, rehashing old measurements under new source, or overwriting again. Evidence array already empty; earlier invalidated integrated evidence/verdict remains invalid. No claim that all historical instruction bytes are false. Revised dependencies: a fresh uniquely named analyst package and a separately executed independent verifier package, each with explicit immutable session/actor/role/model, invocation/time, source-content bindings, original input and dereferenced tool identity, argv/cwd/streams/results and artifact hashes. Harness/interpreter identity must be bound as consumed tooling, not inferred from Git HEAD. Full instruction/dataflow review must accompany marker checks; helper regex matches only mov DWORD PTR [ebp-0x20] and alone is not exhaustive def/use proof. Both existing acceptance criteria, archived-record checking and integrated independent reproduction remain mandatory.\\nVALID NEXT ACTION: lead schedules the existing analyst for static capture repair under normal lifecycle controls, using companion boundary probe and a new session-specific output directory with fail-if-exists semantics. Direct commands with a contemporaneous immutable manifest are sufficient; no general framework changes needed. Independent verifier follows in a separate execution after fresh analyst handoff. Closing these surprises permits needs-revision only, not ready/accepted; live-record-bridge and research-replacement remain dependency-gated, no implementation/lab authorization, and no projection publication until integration. This resolver makes no source edits or nested launches.\",\n \"id\": \"d-0bb927e63b915c87a58d4257\",\n \"invalidated_checkpoint\": null,\n \"invalidated_evidence\": [],\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Cheapest provenance discriminator before capture: supply the actual new campaign run session explicitly to a fresh minimal capture recipe/direct manifest; verify it equals the launch record and output directory and that the directory does not already exist. Predeclare negative checks rejecting missing session, stale prior-session ID and reused output location before running objdump. Archive the recipe and interpreter/tool/source/input identities before capture; run all four exact/repaired complete-boundary windows plus companion negative boundary control into the new directory and record actual commands, timestamps, return codes and stream hashes. Fail closed on identity drift and any required failure; expected bad-boundary control must remain explicitly classified negative, never counted as a passing full stream. Independent verifier must reproduce with its own real session and fresh directory, not execute the inherited hard-coded helper or relabel this manifest. No probe was executed by resolver.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-decision/1\",\n \"surprise\": \"s-d44b9f9e62272794d88bbed6\",\n \"timestamp\": \"2026-09-10T04:51:08.364275+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"explanation\": \"Astra resolution-only decision, session run-daefd1b77558f324ae730b27; apply jointly with d-fd5aff1eaf78a8c15d96723c. OBSERVATION: inspected verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py. Lines 7 and 72 hard-code prior output directory and session; lines 26/36/84 allow overwriting prior outputs. Actual-session report-run-5bd0e537bb0c4c4f43987ac1.md records current invocation and exit 1; generated run-ee78b8773688ca09f8046e21/manifest.json claims prior session with fresh timestamp. Current checkpoint 070383fd013a0e4b1a2ef5e0 rehashed that manifest/report to the inherited checkpoint hashes. Binary/tool/source and positive static execution qualifications are recorded in d-fd5aff1eaf78a8c15d96723c; no fresh binary execution or runtime neutrality measurement here. No basis to infer a different game build or game mechanism from stale provenance.\\nOVERTURNED in exact current-session domain: manifest is truthful evidence of run-5bd0e537bb0c4c4f43987ac1, inherited helper is safely reusable unchanged across fresh sessions, and fresh timestamp/identical stdout repairs stale session identity. QUALIFIED: raw outputs and report survive as archived static measurements with documented provenance defect, not independent current-session or integrated acceptance. SURVIVES: failed boundary challenge is a failure, eight positive objdump subprocess records support static capture rather than zero-execution, and unaffected decoded ownership rows retain only the partial static domain in companion decision. A later report cannot retroactively turn overwritten prior-session output into an immutable original-run bundle.\\nINVALIDATE current-session/full-compare acceptance use of the entire verifier run-ee78b8773688ca09f8046e21/manifest.json package, its hard-coded helper as a fresh-run recipe, and any checkpoint/verdict depending on that attribution. Preserve original files and failure report; no in-place relabeling, rehashing old measurements under new source, or overwriting again. Evidence array already empty; earlier invalidated integrated evidence/verdict remains invalid. No claim that all historical instruction bytes are false. Revised dependencies: a fresh uniquely named analyst package and a separately executed independent verifier package, each with explicit immutable session/actor/role/model, invocation/time, source-content bindings, original input and dereferenced tool identity, argv/cwd/streams/results and artifact hashes. Harness/interpreter identity must be bound as consumed tooling, not inferred from Git HEAD. Full instruction/dataflow review must accompany marker checks; helper regex matches only mov DWORD PTR [ebp-0x20] and alone is not exhaustive def/use proof. Both existing acceptance criteria, archived-record checking and integrated independent reproduction remain mandatory.\\nVALID NEXT ACTION: lead schedules the existing analyst for static capture repair under normal lifecycle controls, using companion boundary probe and a new session-specific output directory with fail-if-exists semantics. Direct commands with a contemporaneous immutable manifest are sufficient; no general framework changes needed. Independent verifier follows in a separate execution after fresh analyst handoff. Closing these surprises permits needs-revision only, not ready/accepted; live-record-bridge and research-replacement remain dependency-gated, no implementation/lab authorization, and no projection publication until integration. This resolver makes no source edits or nested launches.\",\n \"id\": \"d-0bb927e63b915c87a58d4257\",\n \"invalidated_checkpoint\": null,\n \"invalidated_evidence\": [],\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Cheapest provenance discriminator before capture: supply the actual new campaign run session explicitly to a fresh minimal capture recipe/direct manifest; verify it equals the launch record and output directory and that the directory does not already exist. Predeclare negative checks rejecting missing session, stale prior-session ID and reused output location before running objdump. Archive the recipe and interpreter/tool/source/input identities before capture; run all four exact/repaired complete-boundary windows plus companion negative boundary control into the new directory and record actual commands, timestamps, return codes and stream hashes. Fail closed on identity drift and any required failure; expected bad-boundary control must remain explicitly classified negative, never counted as a passing full stream. Independent verifier must reproduce with its own real session and fresh directory, not execute the inherited hard-coded helper or relabel this manifest. No probe was executed by resolver.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-decision/1\",\n \"surprise\": \"s-d44b9f9e62272794d88bbed6\",\n \"timestamp\": \"2026-09-10T04:51:08.364275+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re resolve s-d44b9f9e62272794d88bbed6 --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --explanation 'Astra resolution-only decision, session run-daefd1b77558f324ae730b27; apply jointly with d-fd5aff1eaf78a8c15d96723c. OBSERVATION: inspected verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py. Lines 7 and 72 hard-code prior output directory and session; lines 26/36/84 allow overwriting prior outputs. Actual-session report-run-5bd0e537bb0c4c4f43987ac1.md records current invocation and exit 1; generated run-ee78b8773688ca09f8046e21/manifest.json claims prior session with fresh timestamp. Current checkpoint 070383fd013a0e4b1a2ef5e0 rehashed that manifest/report to the inherited checkpoint hashes. Binary/tool/source and positive static execution qualifications are recorded in d-fd5aff1eaf78a8c15d96723c; no fresh binary execution or runtime neutrality measurement here. No basis to infer a different game build or game mechanism from stale provenance.\nOVERTURNED in exact current-session domain: manifest is truthful evidence of run-5bd0e537bb0c4c4f43987ac1, inherited helper is safely reusable unchanged across fresh sessions, and fresh timestamp/identical stdout repairs stale session identity. QUALIFIED: raw outputs and report survive as archived static measurements with documented provenance defect, not independent current-session or integrated acceptance. SURVIVES: failed boundary challenge is a failure, eight positive objdump subprocess records support static capture rather than zero-execution, and unaffected decoded ownership rows retain only the partial static domain in companion decision. A later report cannot retroactively turn overwritten prior-session output into an immutable original-run bundle.\nINVALIDATE current-session/full-compare acceptance use of the entire verifier run-ee78b8773688ca09f8046e21/manifest.json package, its hard-coded helper as a fresh-run recipe, and any checkpoint/verdict depending on that attribution. Preserve original files and failure report; no in-place relabeling, rehashing old measurements under new source, or overwriting again. Evidence array already empty; earlier invalidated integrated evidence/verdict remains invalid. No claim that all historical instruction bytes are false. Revised dependencies: a fresh uniquely named analyst package and a separately executed independent verifier package, each with explicit immutable session/actor/role/model, invocation/time, source-content bindings, original input and dereferenced tool identity, argv/cwd/streams/results and artifact hashes. Harness/interpreter identity must be bound as consumed tooling, not inferred from Git HEAD. Full instruction/dataflow review must accompany marker checks; helper regex matches only mov DWORD PTR [ebp-0x20] and alone is not exhaustive def/use proof. Both existing acceptance criteria, archived-record checking and integrated independent reproduction remain mandatory.\nVALID NEXT ACTION: lead schedules the existing analyst for static capture repair under normal lifecycle controls, using companion boundary probe and a new session-specific output directory with fail-if-exists semantics. Direct commands with a contemporaneous immutable manifest are sufficient; no general framework changes needed. Independent verifier follows in a separate execution after fresh analyst handoff. Closing these surprises permits needs-revision only, not ready/accepted; live-record-bridge and research-replacement remain dependency-gated, no implementation/lab authorization, and no projection publication until integration. This resolver makes no source edits or nested launches.' --probe 'Cheapest provenance discriminator before capture: supply the actual new campaign run session explicitly to a fresh minimal capture recipe/direct manifest; verify it equals the launch record and output directory and that the directory does not already exist. Predeclare negative checks rejecting missing session, stale prior-session ID and reused output location before running objdump. Archive the recipe and interpreter/tool/source/input identities before capture; run all four exact/repaired complete-boundary windows plus companion negative boundary control into the new directory and record actual commands, timestamps, return codes and stream hashes. Fail closed on identity drift and any required failure; expected bad-boundary control must remain explicitly classified negative, never counted as a passing full stream. Independent verifier must reproduce with its own real session and fresh directory, not execute the inherited hard-coded helper or relabel this manifest. No probe was executed by resolver.'","time":{"start":1789015868320,"end":1789015868411}},"metadata":{"openai":{"itemId":"fc_04ababab65c29565016aa2371f17e087d1b662c9351691054b"}},"id":"prt_089a75196001v10hwgZf4UQOC2","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a74745001JsrDdV5C3fUcqh"}} +{"type":"step_finish","timestamp":1789015868522,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a7c462001Js7VzcODNmF5ng","reason":"tool-calls","snapshot":"5e7876e2d6a914c700c4e32008b9cd10aff8a420","messageID":"msg_089a74745001JsrDdV5C3fUcqh","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":79168,"input":3051,"output":981,"reasoning":0,"cache":{"write":0,"read":75136}},"cost":0}} +{"type":"step_start","timestamp":1789015870779,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a7cd37001j7fdYNz9FfW1oU","messageID":"msg_089a7c497001Lj4GlnpihQ8M4f","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"ed05a90f33ecb808390e0644900cc259aae37a2a","type":"step-start"}} +{"type":"tool_use","timestamp":1789015873157,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_6yfwiZkjoQ1inEVPRFIkrduw","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re validate research-completion-abi"},"output":"[\n \"research-completion-abi\"\n]\n","metadata":{"output":"[\n \"research-completion-abi\"\n]\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re validate research-completion-abi","time":{"start":1789015873109,"end":1789015873155}},"metadata":{"openai":{"itemId":"fc_0b3949d323b70693016aa2373fe33087d1ab9a26a60cca62a5"}},"id":"prt_089a7d1b1001mF88lUYkYpKFfp","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a7c497001Lj4GlnpihQ8M4f"}} +{"type":"step_finish","timestamp":1789015873233,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a7d6ce001kvicv3JtKe1mtJ","reason":"tool-calls","snapshot":"152646e2ededf99019b3386b32b2c0cc980307cc","messageID":"msg_089a7c497001Lj4GlnpihQ8M4f","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":80304,"input":2148,"output":48,"reasoning":28,"cache":{"write":0,"read":78080}},"cost":0}} +{"type":"step_start","timestamp":1789015875400,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a7df3f001WRED8NYX2sp7A2","messageID":"msg_089a7d6fa001l4sqUZcuXOLgQg","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"977df99e9cb3dc172ed82c3ee17cebebe246a5e2","type":"step-start"}} +{"type":"tool_use","timestamp":1789015910315,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"bash","callID":"call_obN1M5eErqHqb1OMOS0i7ENx","state":{"status":"completed","input":{"command":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --session run-daefd1b77558f324ae730b27 --summary 'Resolution-only quantum complete. Observations: read canonical AGENTS/policy/README, ABI contract/latest checkpoint, both surprises, affected bridge/replacement contracts, prior decision d-b51f3f76803e852ed250846a, analyst and verifier manifests, helper and raw four exact plus nested-copy-wide streams. Exact stop 0x779a20 truncates 74 10; +4 stop 0x779a24 truncates later e8 call. Nested-copy body/cleanup through 0x779926 precedes affected later code. Helper hard-codes prior session/output and overwrites. Archived eight objdump executions are positive; aggregate reproduction failed, not pass. Binary 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and GNU objdump 2.38/373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are documentary identities, not fresh resolver rehashes. Direct git HEAD/common-dir match: /tmp/opencode/sots-final-research-engine at 7741d42fc5e4e761e6449bdaf0e4a61d00036a23, /home/alex/sots-engine/.git; /tmp/opencode/sots-final-research-re at 3bfde5a70d874a723e797a695bbd847fd82c0aa7, /home/alex/sots-re/.git. Both have preexisting dirty/untracked source, inspected status; historical source-content hashes engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd / RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly rebound. Current launch source_before in runtime/runs/run-daefd1b77558f324ae730b27.json. Decisions: d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257 close both surprises with precise survives/qualified/overturned domains, invalidation and unexecuted cheapest probes. Contract returns needs-revision, no acceptance or evidence restoration. Earlier static EvTurn correction survives; full stream and current-session acceptance do not. Require new session-specific fail-if-exists analyst capture, complete-boundary/raw-byte controls, then fresh independent integrated reproduction including archived records. Bridge remains needs-revision and replacement proposed/dependency-gated; their accepted-ABI prose is not current status. Tests: campaign validate research-completion-abi passed; no experiment/reproduction/game/build performed. Initial compound relative-path shell call denied; no bypass. No source/architecture edits, delegation, staging, commits, pushes, VM/Ghidra/build-host access or mutation. Lease directory inspected only; no resource acquired or assumed available, cleanup not applicable. Blockers: new captures, truthful provenance, independent integrated evidence; runtime allocator/full-capacity/exception/RNG/replacement claims remain unmeasured. Integrator must link actual decisions and regenerate projections only after integration; board/current pointers untouched.' --artifact campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json --artifact campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json --artifact verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt --artifact verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Lead schedules research-abi-analyst through normal lifecycle controls for a fresh static-only capture quantum implementing the probes in d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257, using a new real-session output directory before independent verifier reproduction.'"},"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"artifacts\": [\n {\n \"path\": \"campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json\",\n \"sha256\": \"c58922b1bb4fd2c0c4bb5106bcc72de72a6f92c4ad533f7cd0c9f711d4b44ea7\"\n },\n {\n \"path\": \"campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json\",\n \"sha256\": \"866054afc1970b3cbb231d52386313a865d1165d87df72ca0057782fa81ead10\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\",\n \"sha256\": \"28933bf5d05119e52c3d28c37a87abb38793a4b692dad96121c0e541a2fde2f7\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"ed14042366e407a5dc26e7a1\",\n \"model\": \"openai/gpt-6-astra\",\n \"next_action\": \"Lead schedules research-abi-analyst through normal lifecycle controls for a fresh static-only capture quantum implementing the probes in d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257, using a new real-session output directory before independent verifier reproduction.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-daefd1b77558f324ae730b27\",\n \"summary\": \"Resolution-only quantum complete. Observations: read canonical AGENTS/policy/README, ABI contract/latest checkpoint, both surprises, affected bridge/replacement contracts, prior decision d-b51f3f76803e852ed250846a, analyst and verifier manifests, helper and raw four exact plus nested-copy-wide streams. Exact stop 0x779a20 truncates 74 10; +4 stop 0x779a24 truncates later e8 call. Nested-copy body/cleanup through 0x779926 precedes affected later code. Helper hard-codes prior session/output and overwrites. Archived eight objdump executions are positive; aggregate reproduction failed, not pass. Binary 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and GNU objdump 2.38/373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are documentary identities, not fresh resolver rehashes. Direct git HEAD/common-dir match: /tmp/opencode/sots-final-research-engine at 7741d42fc5e4e761e6449bdaf0e4a61d00036a23, /home/alex/sots-engine/.git; /tmp/opencode/sots-final-research-re at 3bfde5a70d874a723e797a695bbd847fd82c0aa7, /home/alex/sots-re/.git. Both have preexisting dirty/untracked source, inspected status; historical source-content hashes engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd / RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly rebound. Current launch source_before in runtime/runs/run-daefd1b77558f324ae730b27.json. Decisions: d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257 close both surprises with precise survives/qualified/overturned domains, invalidation and unexecuted cheapest probes. Contract returns needs-revision, no acceptance or evidence restoration. Earlier static EvTurn correction survives; full stream and current-session acceptance do not. Require new session-specific fail-if-exists analyst capture, complete-boundary/raw-byte controls, then fresh independent integrated reproduction including archived records. Bridge remains needs-revision and replacement proposed/dependency-gated; their accepted-ABI prose is not current status. Tests: campaign validate research-completion-abi passed; no experiment/reproduction/game/build performed. Initial compound relative-path shell call denied; no bypass. No source/architecture edits, delegation, staging, commits, pushes, VM/Ghidra/build-host access or mutation. Lease directory inspected only; no resource acquired or assumed available, cleanup not applicable. Blockers: new captures, truthful provenance, independent integrated evidence; runtime allocator/full-capacity/exception/RNG/replacement claims remain unmeasured. Integrator must link actual decisions and regenerate projections only after integration; board/current pointers untouched.\",\n \"timestamp\": \"2026-09-10T04:51:50.291459+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research ABI surprise resolver\",\n \"artifacts\": [\n {\n \"path\": \"campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json\",\n \"sha256\": \"c58922b1bb4fd2c0c4bb5106bcc72de72a6f92c4ad533f7cd0c9f711d4b44ea7\"\n },\n {\n \"path\": \"campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json\",\n \"sha256\": \"866054afc1970b3cbb231d52386313a865d1165d87df72ca0057782fa81ead10\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md\",\n \"sha256\": \"c33ce30e6bb907aa4140b287afc9198bd503e9da179ff3adb8921ca3ba1b87fc\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\",\n \"sha256\": \"50aa35e22432b153d14dbd6a5cced3ce0ac8826c79b56f500a0ce96a32619393\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt\",\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt\",\n \"sha256\": \"4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c\"\n },\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\",\n \"sha256\": \"28933bf5d05119e52c3d28c37a87abb38793a4b692dad96121c0e541a2fde2f7\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"ed14042366e407a5dc26e7a1\",\n \"model\": \"openai/gpt-6-astra\",\n \"next_action\": \"Lead schedules research-abi-analyst through normal lifecycle controls for a fresh static-only capture quantum implementing the probes in d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257, using a new real-session output directory before independent verifier reproduction.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-daefd1b77558f324ae730b27\",\n \"summary\": \"Resolution-only quantum complete. Observations: read canonical AGENTS/policy/README, ABI contract/latest checkpoint, both surprises, affected bridge/replacement contracts, prior decision d-b51f3f76803e852ed250846a, analyst and verifier manifests, helper and raw four exact plus nested-copy-wide streams. Exact stop 0x779a20 truncates 74 10; +4 stop 0x779a24 truncates later e8 call. Nested-copy body/cleanup through 0x779926 precedes affected later code. Helper hard-codes prior session/output and overwrites. Archived eight objdump executions are positive; aggregate reproduction failed, not pass. Binary 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and GNU objdump 2.38/373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are documentary identities, not fresh resolver rehashes. Direct git HEAD/common-dir match: /tmp/opencode/sots-final-research-engine at 7741d42fc5e4e761e6449bdaf0e4a61d00036a23, /home/alex/sots-engine/.git; /tmp/opencode/sots-final-research-re at 3bfde5a70d874a723e797a695bbd847fd82c0aa7, /home/alex/sots-re/.git. Both have preexisting dirty/untracked source, inspected status; historical source-content hashes engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd / RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly rebound. Current launch source_before in runtime/runs/run-daefd1b77558f324ae730b27.json. Decisions: d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257 close both surprises with precise survives/qualified/overturned domains, invalidation and unexecuted cheapest probes. Contract returns needs-revision, no acceptance or evidence restoration. Earlier static EvTurn correction survives; full stream and current-session acceptance do not. Require new session-specific fail-if-exists analyst capture, complete-boundary/raw-byte controls, then fresh independent integrated reproduction including archived records. Bridge remains needs-revision and replacement proposed/dependency-gated; their accepted-ABI prose is not current status. Tests: campaign validate research-completion-abi passed; no experiment/reproduction/game/build performed. Initial compound relative-path shell call denied; no bypass. No source/architecture edits, delegation, staging, commits, pushes, VM/Ghidra/build-host access or mutation. Lease directory inspected only; no resource acquired or assumed available, cleanup not applicable. Blockers: new captures, truthful provenance, independent integrated evidence; runtime allocator/full-capacity/exception/RNG/replacement claims remain unmeasured. Integrator must link actual decisions and regenerate projections only after integration; board/current pointers untouched.\",\n \"timestamp\": \"2026-09-10T04:51:50.291459+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 /home/alex/sots-re/tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor 'research ABI surprise resolver' --role resolver --model openai/gpt-6-astra --session run-daefd1b77558f324ae730b27 --summary 'Resolution-only quantum complete. Observations: read canonical AGENTS/policy/README, ABI contract/latest checkpoint, both surprises, affected bridge/replacement contracts, prior decision d-b51f3f76803e852ed250846a, analyst and verifier manifests, helper and raw four exact plus nested-copy-wide streams. Exact stop 0x779a20 truncates 74 10; +4 stop 0x779a24 truncates later e8 call. Nested-copy body/cleanup through 0x779926 precedes affected later code. Helper hard-codes prior session/output and overwrites. Archived eight objdump executions are positive; aggregate reproduction failed, not pass. Binary 7898624 bytes SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and GNU objdump 2.38/373888 bytes SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are documentary identities, not fresh resolver rehashes. Direct git HEAD/common-dir match: /tmp/opencode/sots-final-research-engine at 7741d42fc5e4e761e6449bdaf0e4a61d00036a23, /home/alex/sots-engine/.git; /tmp/opencode/sots-final-research-re at 3bfde5a70d874a723e797a695bbd847fd82c0aa7, /home/alex/sots-re/.git. Both have preexisting dirty/untracked source, inspected status; historical source-content hashes engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd / RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly rebound. Current launch source_before in runtime/runs/run-daefd1b77558f324ae730b27.json. Decisions: d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257 close both surprises with precise survives/qualified/overturned domains, invalidation and unexecuted cheapest probes. Contract returns needs-revision, no acceptance or evidence restoration. Earlier static EvTurn correction survives; full stream and current-session acceptance do not. Require new session-specific fail-if-exists analyst capture, complete-boundary/raw-byte controls, then fresh independent integrated reproduction including archived records. Bridge remains needs-revision and replacement proposed/dependency-gated; their accepted-ABI prose is not current status. Tests: campaign validate research-completion-abi passed; no experiment/reproduction/game/build performed. Initial compound relative-path shell call denied; no bypass. No source/architecture edits, delegation, staging, commits, pushes, VM/Ghidra/build-host access or mutation. Lease directory inspected only; no resource acquired or assumed available, cleanup not applicable. Blockers: new captures, truthful provenance, independent integrated evidence; runtime allocator/full-capacity/exception/RNG/replacement claims remain unmeasured. Integrator must link actual decisions and regenerate projections only after integration; board/current pointers untouched.' --artifact campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json --artifact campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json --artifact verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt --artifact verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt --artifact verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Lead schedules research-abi-analyst through normal lifecycle controls for a fresh static-only capture quantum implementing the probes in d-fd5aff1eaf78a8c15d96723c and d-0bb927e63b915c87a58d4257, using a new real-session output directory before independent verifier reproduction.'","time":{"start":1789015910245,"end":1789015910313}},"metadata":{"openai":{"itemId":"fc_086383411456c80e016aa237435ebc87d1983b5f3230765424"}},"id":"prt_089a7df46001HcBlH55KKaMmHh","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a7d6fa001l4sqUZcuXOLgQg"}} +{"type":"step_finish","timestamp":1789015910395,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a867f8001Jz4Lp8RCFn8KHN","reason":"tool-calls","snapshot":"9c7cb2d0454c4f7eee8f409bec4df6292fd8779f","messageID":"msg_089a7d6fa001l4sqUZcuXOLgQg","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":81458,"input":197,"output":1133,"reasoning":0,"cache":{"write":0,"read":80128}},"cost":0}} +{"type":"step_start","timestamp":1789015913169,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a872ce001YZRDbTFK4fkvY0","messageID":"msg_089a86826001SSOH8vFmtmSXSs","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"e079016c24a930ddd9e304dfc7976c0d9024a0a5","type":"step-start"}} +{"type":"tool_use","timestamp":1789015915501,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"type":"tool","tool":"todowrite","callID":"call_KGrhLpZrINDaVpLnMdPRnrAz","state":{"status":"completed","input":{"todos":[{"content":"Verify identities and inspect affected raw evidence and prior decisions","status":"completed","priority":"high"},{"content":"Resolve both surprises through campaign controls with scoped claims and repair experiment","status":"completed","priority":"high"},{"content":"Validate controls and persist final handoff checkpoint","status":"completed","priority":"high"}]},"output":"[\n {\n \"content\": \"Verify identities and inspect affected raw evidence and prior decisions\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Resolve both surprises through campaign controls with scoped claims and repair experiment\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Validate controls and persist final handoff checkpoint\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Verify identities and inspect affected raw evidence and prior decisions","status":"completed","priority":"high"},{"content":"Resolve both surprises through campaign controls with scoped claims and repair experiment","status":"completed","priority":"high"},{"content":"Validate controls and persist final handoff checkpoint","status":"completed","priority":"high"}],"truncated":false},"title":"0 todos","time":{"start":1789015915496,"end":1789015915499}},"metadata":{"openai":{"itemId":"fc_009b017d30877fea016aa23769236087d1a317462a949cb5f1"}},"id":"prt_089a872d0001teBC1Ol4VZIRj6","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","messageID":"msg_089a86826001SSOH8vFmtmSXSs"}} +{"type":"step_finish","timestamp":1789015915564,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a87c29001pgiEGa12PiecxD","reason":"tool-calls","snapshot":"82ec55e1be060b737fe2628aeaaee9f7177dd753","messageID":"msg_089a86826001SSOH8vFmtmSXSs","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":83194,"input":2983,"output":83,"reasoning":0,"cache":{"write":0,"read":80128}},"cost":0}} +{"type":"step_start","timestamp":1789015917567,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a883fb001uESaCHziKC5eSm","messageID":"msg_089a87c57001K3gkdEB1CihkNR","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","snapshot":"da4092ee1e11613a5ced2cc51395e744b0ea7e41","type":"step-start"}} +{"type":"text","timestamp":1789015927521,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a883fd001fWpRhr5PBhzO1A","messageID":"msg_089a87c57001K3gkdEB1CihkNR","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"text","text":"Completed the resolution-only quantum. Both surprises are resolved through durable Astra decisions; **`research-completion-abi` is now `needs-revision`, not accepted**.\n\n- **Boundary decision:** [d-fd5aff1eaf78a8c15d96723c](campaign/runtime/decisions/d-fd5aff1eaf78a8c15d96723c.json) \n Overturns complete-stream/prefix claims for the truncated captures. Inspected ownership instructions before the truncation survive as **partial static evidence**, including the earlier EvTurn correction.\n- **Provenance decision:** [d-0bb927e63b915c87a58d4257](campaign/runtime/decisions/d-0bb927e63b915c87a58d4257.json) \n Rejects the stale-session manifest for current-session acceptance. Requires fresh, uniquely named capture packages; no relabeling or overwriting historical evidence.\n\n**Next action:** Lead schedules the analyst for fresh static captures with instruction-aligned boundaries, raw-byte and negative controls, and explicit current-session provenance. Separate independent reproduction and integrated evidence remain required. Live bridge and replacement work remain dependency-gated.\n\nCampaign validation passed. No source edits, delegation, experiments, lab mutation, staging, or commits occurred.\n\nFinal checkpoint: [research-completion-abi-ed14042366e407a5dc26e7a1.json](campaign/runtime/checkpoints/research-completion-abi-ed14042366e407a5dc26e7a1.json).","time":{"start":1789015917565,"end":1789015927519},"metadata":{"openai":{"itemId":"msg_038fbe1bdd205c33016aa2376d8b0087d1895875debed85c11","phase":"final_answer"}}}} +{"type":"step_finish","timestamp":1789015927723,"sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","part":{"id":"prt_089a8aba8001DYiGKAexq0uzD5","reason":"stop","snapshot":"9bd8b5db5bb5a7eab9fa817c0b14e985bd060a38","messageID":"msg_089a87c57001K3gkdEB1CihkNR","sessionID":"ses_f765b10e7ffefKGO8c1iyfK4iV","type":"step-finish","tokens":{"total":83634,"input":367,"output":323,"reasoning":0,"cache":{"write":0,"read":82944}},"cost":0}} diff --git a/campaign/runtime/runs/run-daefd1b77558f324ae730b27.stderr.log b/campaign/runtime/runs/run-daefd1b77558f324ae730b27.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.json b/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.json new file mode 100644 index 0000000..b6a715a --- /dev/null +++ b/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.json @@ -0,0 +1,10362 @@ +{ + "actor": "research-abi-correction-verifier", + "checkpoint": "campaign/runtime/checkpoints/research-completion-abi-16467a02077d4a5b689b5531.json", + "checkpoint_session": "run-ee78b8773688ca09f8046e21", + "command": [ + "opencode", + "run", + "--format", + "json", + "--model", + "openai/gpt-5.6-sol", + "--agent", + "sots-verifier", + "Start a FRESH bounded campaign quantum (40 steps). No delegation.\nRole=verifier; requested model=openai/gpt-5.6-sol; actor=research-abi-correction-verifier; checkpoint session=run-ee78b8773688ca09f8046e21.\nCanonical state root: /home/alex/sots-re\nContract: /home/alex/sots-re/campaign/contracts/research-completion-abi.json\nLatest checkpoint: campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json\nEngine worktree: /tmp/opencode/sots-final-research-engine\nRE worktree: /tmp/opencode/sots-final-research-re\nRead canonical campaign/README.md, contract, latest checkpoint and open surprises before work. Verify source/worktree/resource identities. Only edit owned scope. Missing state means blocked. Do not commit, stage, push or mutate lab resources without explicit authority and a lease. Checkpoint every 20 tool calls or 15 minutes, before experiments, compaction and stopping; persist under canonical campaign/ using tools/campaign.py with the session above, exact model, actor and role. Include observations versus decisions, source identities, artifact paths, tests, blockers and ONE exact next action. Fresh checkpoint at quantum end is mandatory. Record a surprise and pause affected work if assumptions are falsified. Workers cannot change architecture. Do not rely on chat resume or automatic compaction." + ], + "completed_sessions": [ + "ses_f76670049ffet3nNghKAXGuoNT" + ], + "config": { + "canonical_files": { + "campaign/agents/analyst.md": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952", + "campaign/agents/implementer.md": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91", + "campaign/agents/lab.md": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8", + "campaign/agents/lead.md": "8fcfe52be845ed98a172afb47ea888b19bb7bffa80f7b50ace58d2bb66924220", + "campaign/agents/resolver.md": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f", + "campaign/agents/verifier.md": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b", + "campaign/models.json": "00f959ff4ce16ba22f6befa7a9d495eb85d62d9e8001b1e1345eaae0e11b6e48", + "opencode.json": "027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99" + }, + "effective": { + "agent_sha256": "468c1dace9725c494d826ac41a8ebd79b50387eaabd92161005c125f21ee8016", + "sha256": "ef16bed80451572986c1eae10b1bce128fb23bdfbdb2c315bb83faf1c2385937" + }, + "expanded_prompt_sha256": "3ba305b39b9c1925acd4652dfda1792fe337ef9f7194b7da9a036e237571de9f", + "overlay": { + "agent": { + "sots-verifier": { + "model": "openai/gpt-5.6-sol", + "permission": { + "bash": "allow", + "edit": { + "*": "allow", + "*/sots-engine*/src/*": "deny", + "*AGENTS.md": "deny", + "*campaign/agents/*": "deny", + "*campaign/models.json": "deny", + "*docs/architecture.md": "deny", + "*guides/multi-agent-workflow.md": "deny", + "*opencode.json": "deny" + }, + "external_directory": { + "*": "deny", + "/home/alex/sots-re": "allow", + "/home/alex/sots-re/*": "allow", + "/tmp/opencode/sots-final-research-engine": "allow", + "/tmp/opencode/sots-final-research-engine/*": "allow", + "/tmp/opencode/sots-final-research-re": "allow", + "/tmp/opencode/sots-final-research-re/*": "allow" + }, + "glob": "allow", + "grep": "allow", + "list": "allow", + "question": "deny", + "read": "allow", + "task": "deny" + }, + "prompt": "You are the independent SOTS verifier, a separate execution from the implementation author.\nRead canonical RE AGENTS.md, campaign/README.md, the contract, raw evidence and checkpoint.\nChallenge the interpretation, boundary and instrument, not just the implementation syntax.\nBefore coding starts define falsifiers, required branch exposures and distinct states. Afterward\nreproduce from the handoff alone and challenge at least one assumption with a held-out workload,\nboundary, negative control or ablation. Check actual state/RNG independently of reported counters.\n\nReject missing/invalid inputs, zero execution, unexpected skips, truncated coverage, stale binary\nidentity and self-certified evidence. Separate original-assisted, partial compare, full compare,\nindependent replacement and integrated replay. Whole-state equality on one workload has that\nworkload's scope. Record failed predictions and residuals without converting them into success.\n\nOwn verification artifacts only; no edits to implementation to make tests pass, architecture\nchanges, delegates, shared status or unleased lab actions. Plan-changing surprises require Astra.\nCheckpoint every 20 calls/15min and before compaction, experiments, handoff/stop. Finish each\n40-step quantum with reproduction commands/results and exact next action in canonical RE.\n", + "steps": 40 + } + }, + "model": "openai/gpt-5.6-sol" + }, + "path": "/home/alex/sots-re/opencode.json", + "sha256": "027ab29992ab9a5a6ee20bd649ac002f5f3397030d18b070eb949cc42179de99" + }, + "contract": "research-completion-abi", + "cwd": "/tmp/opencode/sots-final-research-re", + "ended_at": "2026-09-10T04:41:25.773874+00:00", + "error_events": 0, + "event_count": 120, + "id": "run-ee78b8773688ca09f8046e21", + "log": "campaign/runtime/runs/run-ee78b8773688ca09f8046e21.jsonl", + "malformed_events": 0, + "max_steps": 40, + "observed_model_status": "unavailable", + "observed_models": [], + "observed_sessions": [ + "ses_f76670049ffet3nNghKAXGuoNT" + ], + "requested_model": "openai/gpt-5.6-sol", + "resolution_only": false, + "returncode": 0, + "role": "verifier", + "schema": "sots-run/1", + "source_after": { + "engine": { + "commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5" + }, + "CMakeLists.txt": { + "mode": 420, + "sha256": "6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed" + }, + "CMakePresets.json": { + "mode": 420, + "sha256": "fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0" + }, + "CONTRIBUTING.md": { + "mode": 420, + "sha256": "26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506" + }, + "LICENSE": { + "mode": 420, + "sha256": "eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858" + }, + "README.md": { + "mode": 420, + "sha256": "66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1" + }, + "cmake/toolchain-mingw-i686.cmake": { + "mode": 420, + "sha256": "231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b" + }, + "docs/A2-alliance-and-modcount.md": { + "mode": 420, + "sha256": "0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701" + }, + "docs/AC-predictions.md": { + "mode": 420, + "sha256": "ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda" + }, + "docs/B1.md": { + "mode": 420, + "sha256": "42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364" + }, + "docs/B2.md": { + "mode": 420, + "sha256": "87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8" + }, + "docs/B3.md": { + "mode": 420, + "sha256": "fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518" + }, + "docs/B4.md": { + "mode": 420, + "sha256": "22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d" + }, + "docs/B6-ship-construction.md": { + "mode": 420, + "sha256": "9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab" + }, + "docs/CB-capture.md": { + "mode": 420, + "sha256": "ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0" + }, + "docs/CB-predictions.md": { + "mode": 420, + "sha256": "ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f" + }, + "docs/E-events.md": { + "mode": 420, + "sha256": "de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201" + }, + "docs/EV-events.md": { + "mode": 420, + "sha256": "e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9" + }, + "docs/G-wire-schema.md": { + "mode": 420, + "sha256": "19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591" + }, + "docs/G3-civilian-growth.md": { + "mode": 420, + "sha256": "38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30" + }, + "docs/H-probes.md": { + "mode": 420, + "sha256": "f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f" + }, + "docs/L1-predictions.md": { + "mode": 420, + "sha256": "af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754" + }, + "docs/L2-predictions.md": { + "mode": 420, + "sha256": "18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460" + }, + "docs/L3-predictions.md": { + "mode": 420, + "sha256": "d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e" + }, + "docs/L4-ai-orders.md": { + "mode": 420, + "sha256": "b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835" + }, + "docs/L4-predictions.md": { + "mode": 420, + "sha256": "6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44" + }, + "docs/L5-live-verification.md": { + "mode": 420, + "sha256": "4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4" + }, + "docs/M-movefleet.md": { + "mode": 420, + "sha256": "718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426" + }, + "docs/M0.md": { + "mode": 420, + "sha256": "e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705" + }, + "docs/M1.md": { + "mode": 420, + "sha256": "e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704" + }, + "docs/M2.md": { + "mode": 420, + "sha256": "25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61" + }, + "docs/N-output-term.md": { + "mode": 420, + "sha256": "3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde" + }, + "docs/P-events-wiring.md": { + "mode": 420, + "sha256": "72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba" + }, + "docs/PAR-predictions.md": { + "mode": 420, + "sha256": "16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846" + }, + "docs/PL-players-residual.md": { + "mode": 420, + "sha256": "9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc" + }, + "docs/R-recapture.md": { + "mode": 420, + "sha256": "73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f" + }, + "docs/RB-predictions.md": { + "mode": 420, + "sha256": "c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7" + }, + "docs/S-standalone.md": { + "mode": 420, + "sha256": "8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e" + }, + "docs/SD-predictions.md": { + "mode": 420, + "sha256": "a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0" + }, + "docs/SV-script-objects.md": { + "mode": 420, + "sha256": "80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409" + }, + "docs/T-turn-driver.md": { + "mode": 420, + "sha256": "a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e" + }, + "docs/U-unlock.md": { + "mode": 420, + "sha256": "5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901" + }, + "docs/V-eventlive.md": { + "mode": 420, + "sha256": "ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1" + }, + "docs/W2-predictions.md": { + "mode": 420, + "sha256": "9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5" + }, + "docs/W2-watchpoints.md": { + "mode": 420, + "sha256": "f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107" + }, + "docs/W3-predictions.md": { + "mode": 420, + "sha256": "211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf" + }, + "docs/W3-watchpoints.md": { + "mode": 420, + "sha256": "568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061" + }, + "docs/Y-standalone-rng-and-tail.md": { + "mode": 420, + "sha256": "49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b" + }, + "docs/Z-tail-rng.md": { + "mode": 420, + "sha256": "3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1" + }, + "docs/architecture.md": { + "mode": 420, + "sha256": "ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f" + }, + "docs/game-data.md": { + "mode": 420, + "sha256": "2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23" + }, + "docs/game-design.md": { + "mode": 420, + "sha256": "5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272" + }, + "docs/game-effects.md": { + "mode": 420, + "sha256": "e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d" + }, + "docs/game-sim.md": { + "mode": 420, + "sha256": "d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e" + }, + "docs/harness-audit.md": { + "mode": 420, + "sha256": "931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0" + }, + "docs/mars-parse.md": { + "mode": 420, + "sha256": "d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd" + }, + "docs/mars-rng.md": { + "mode": 420, + "sha256": "f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c" + }, + "docs/mars-stream.md": { + "mode": 420, + "sha256": "61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7" + }, + "docs/mars-text.md": { + "mode": 420, + "sha256": "2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1" + }, + "docs/mars-vfs.md": { + "mode": 420, + "sha256": "1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62" + }, + "docs/shim-trace.md": { + "mode": 420, + "sha256": "8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5" + }, + "include/generated/sots_addresses.h": { + "mode": 420, + "sha256": "fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448" + }, + "include/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "opencode.json": { + "mode": 420, + "sha256": "9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15" + }, + "src/app/CMakeLists.txt": { + "mode": 420, + "sha256": "142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717" + }, + "src/app/alliance.cpp": { + "mode": 420, + "sha256": "37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9" + }, + "src/app/alliance.h": { + "mode": 420, + "sha256": "08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd" + }, + "src/app/command_replay.cpp": { + "mode": 420, + "sha256": "739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824" + }, + "src/app/command_replay.h": { + "mode": 420, + "sha256": "956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2" + }, + "src/app/construction_phase.cpp": { + "mode": 420, + "sha256": "025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df" + }, + "src/app/construction_phase.h": { + "mode": 420, + "sha256": "a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e" + }, + "src/app/event_phase.cpp": { + "mode": 420, + "sha256": "80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90" + }, + "src/app/event_phase.h": { + "mode": 420, + "sha256": "54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34" + }, + "src/app/growth_phase.cpp": { + "mode": 420, + "sha256": "5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3" + }, + "src/app/growth_phase.h": { + "mode": 420, + "sha256": "8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b" + }, + "src/app/main.cpp": { + "mode": 420, + "sha256": "adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7" + }, + "src/app/observed_phase.cpp": { + "mode": 420, + "sha256": "31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3" + }, + "src/app/observed_phase.h": { + "mode": 420, + "sha256": "f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693" + }, + "src/app/phase_catalog.cpp": { + "mode": 420, + "sha256": "e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316" + }, + "src/app/phase_catalog.h": { + "mode": 420, + "sha256": "da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87" + }, + "src/app/report.cpp": { + "mode": 420, + "sha256": "da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228" + }, + "src/app/report.h": { + "mode": 420, + "sha256": "0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481" + }, + "src/app/script_phase.cpp": { + "mode": 420, + "sha256": "61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91" + }, + "src/app/script_phase.h": { + "mode": 420, + "sha256": "e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7" + }, + "src/app/trade_raid.cpp": { + "mode": 420, + "sha256": "07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf" + }, + "src/app/trade_raid.h": { + "mode": 420, + "sha256": "10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52" + }, + "src/app/treaty.cpp": { + "mode": 420, + "sha256": "317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575" + }, + "src/app/treaty.h": { + "mode": 420, + "sha256": "836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9" + }, + "src/app/turn.cpp": { + "mode": 420, + "sha256": "a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4" + }, + "src/app/turn.h": { + "mode": 420, + "sha256": "85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237" + }, + "src/app/turn_record.cpp": { + "mode": 420, + "sha256": "e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d" + }, + "src/app/turn_record.h": { + "mode": 420, + "sha256": "78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d" + }, + "src/app/visibility_phase.cpp": { + "mode": 420, + "sha256": "34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131" + }, + "src/app/visibility_phase.h": { + "mode": 420, + "sha256": "60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27" + }, + "src/game/ai/CMakeLists.txt": { + "mode": 420, + "sha256": "f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb" + }, + "src/game/ai/agent.cpp": { + "mode": 420, + "sha256": "e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7" + }, + "src/game/ai/agent.h": { + "mode": 420, + "sha256": "48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244" + }, + "src/game/ai/apply_order.cpp": { + "mode": 420, + "sha256": "122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253" + }, + "src/game/ai/apply_order.h": { + "mode": 420, + "sha256": "a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3" + }, + "src/game/ai/command_capture.cpp": { + "mode": 420, + "sha256": "cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec" + }, + "src/game/ai/command_capture.h": { + "mode": 420, + "sha256": "921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f" + }, + "src/game/ai/orders.cpp": { + "mode": 420, + "sha256": "1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640" + }, + "src/game/ai/orders.h": { + "mode": 420, + "sha256": "c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae" + }, + "src/game/ai/tasks.cpp": { + "mode": 420, + "sha256": "b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76" + }, + "src/game/ai/tasks.h": { + "mode": 420, + "sha256": "b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d" + }, + "src/game/ai/turn_order.cpp": { + "mode": 420, + "sha256": "858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22" + }, + "src/game/ai/turn_order.h": { + "mode": 420, + "sha256": "3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f" + }, + "src/game/combat/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115" + }, + "src/game/combat/retreat.cpp": { + "mode": 420, + "sha256": "eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f" + }, + "src/game/combat/retreat.h": { + "mode": 420, + "sha256": "5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d" + }, + "src/game/config/CMakeLists.txt": { + "mode": 420, + "sha256": "c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7" + }, + "src/game/config/config_loader.cpp": { + "mode": 420, + "sha256": "d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1" + }, + "src/game/config/config_loader.h": { + "mode": 420, + "sha256": "fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085" + }, + "src/game/config/manifest_loader.cpp": { + "mode": 420, + "sha256": "dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6" + }, + "src/game/config/manifest_loader.h": { + "mode": 420, + "sha256": "68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5" + }, + "src/game/config/msvc_sort.h": { + "mode": 420, + "sha256": "17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716" + }, + "src/game/data/CMakeLists.txt": { + "mode": 420, + "sha256": "677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51" + }, + "src/game/data/block.cpp": { + "mode": 420, + "sha256": "f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200" + }, + "src/game/data/block.h": { + "mode": 420, + "sha256": "f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc" + }, + "src/game/data/catalog.cpp": { + "mode": 420, + "sha256": "7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc" + }, + "src/game/data/catalog.h": { + "mode": 420, + "sha256": "80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e" + }, + "src/game/data/common.cpp": { + "mode": 420, + "sha256": "e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040" + }, + "src/game/data/common.h": { + "mode": 420, + "sha256": "d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187" + }, + "src/game/data/fields.h": { + "mode": 420, + "sha256": "4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb" + }, + "src/game/data/shipsection.cpp": { + "mode": 420, + "sha256": "82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264" + }, + "src/game/data/shipsection.h": { + "mode": 420, + "sha256": "bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0" + }, + "src/game/data/strings.cpp": { + "mode": 420, + "sha256": "6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59" + }, + "src/game/data/strings.h": { + "mode": 420, + "sha256": "fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055" + }, + "src/game/data/techtree.cpp": { + "mode": 420, + "sha256": "2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea" + }, + "src/game/data/techtree.h": { + "mode": 420, + "sha256": "504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007" + }, + "src/game/data/turrets.cpp": { + "mode": 420, + "sha256": "ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4" + }, + "src/game/data/turrets.h": { + "mode": 420, + "sha256": "f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64" + }, + "src/game/data/weapon.cpp": { + "mode": 420, + "sha256": "accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6" + }, + "src/game/data/weapon.h": { + "mode": 420, + "sha256": "63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009" + }, + "src/game/design/CMakeLists.txt": { + "mode": 420, + "sha256": "42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef" + }, + "src/game/design/defaults.cpp": { + "mode": 420, + "sha256": "8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528" + }, + "src/game/design/defaults.h": { + "mode": 420, + "sha256": "20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b" + }, + "src/game/design/design.cpp": { + "mode": 420, + "sha256": "e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20" + }, + "src/game/design/design.h": { + "mode": 420, + "sha256": "7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997" + }, + "src/game/design/hull.cpp": { + "mode": 420, + "sha256": "554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a" + }, + "src/game/design/hull.h": { + "mode": 420, + "sha256": "997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461" + }, + "src/game/design/rules.cpp": { + "mode": 420, + "sha256": "a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319" + }, + "src/game/design/rules.h": { + "mode": 420, + "sha256": "70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229" + }, + "src/game/design/stats.cpp": { + "mode": 420, + "sha256": "c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54" + }, + "src/game/design/stats.h": { + "mode": 420, + "sha256": "ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5" + }, + "src/game/effects/CMakeLists.txt": { + "mode": 420, + "sha256": "2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89" + }, + "src/game/effects/tech_effects.cpp": { + "mode": 420, + "sha256": "40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604" + }, + "src/game/effects/tech_effects.h": { + "mode": 420, + "sha256": "ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6" + }, + "src/game/effects/tech_id.cpp": { + "mode": 420, + "sha256": "11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6" + }, + "src/game/effects/tech_id.h": { + "mode": 420, + "sha256": "f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86" + }, + "src/game/events/CMakeLists.txt": { + "mode": 420, + "sha256": "9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2" + }, + "src/game/events/event_log.cpp": { + "mode": 420, + "sha256": "3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1" + }, + "src/game/events/event_log.h": { + "mode": 420, + "sha256": "2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953" + }, + "src/game/events/research_events.cpp": { + "mode": 420, + "sha256": "9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253" + }, + "src/game/events/research_events.h": { + "mode": 420, + "sha256": "b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22" + }, + "src/game/nav/CMakeLists.txt": { + "mode": 420, + "sha256": "79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a" + }, + "src/game/nav/pathplan.cpp": { + "mode": 420, + "sha256": "04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775" + }, + "src/game/nav/pathplan.h": { + "mode": 420, + "sha256": "28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7" + }, + "src/game/sim/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116" + }, + "src/game/sim/colony.cpp": { + "mode": 420, + "sha256": "e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77" + }, + "src/game/sim/colony.h": { + "mode": 420, + "sha256": "357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47" + }, + "src/game/sim/construction.cpp": { + "mode": 420, + "sha256": "8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130" + }, + "src/game/sim/construction.h": { + "mode": 420, + "sha256": "a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460" + }, + "src/game/sim/economy.cpp": { + "mode": 420, + "sha256": "1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89" + }, + "src/game/sim/economy.h": { + "mode": 420, + "sha256": "6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a" + }, + "src/game/sim/movement.cpp": { + "mode": 420, + "sha256": "80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2" + }, + "src/game/sim/movement.h": { + "mode": 420, + "sha256": "9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441" + }, + "src/game/sim/numeric.h": { + "mode": 420, + "sha256": "88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2" + }, + "src/game/sim/observed.cpp": { + "mode": 420, + "sha256": "43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22" + }, + "src/game/sim/observed.h": { + "mode": 420, + "sha256": "0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f" + }, + "src/game/sim/player_turn.cpp": { + "mode": 420, + "sha256": "beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2" + }, + "src/game/sim/player_turn.h": { + "mode": 420, + "sha256": "f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a" + }, + "src/game/sim/research.cpp": { + "mode": 420, + "sha256": "95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89" + }, + "src/game/sim/research.h": { + "mode": 420, + "sha256": "e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9" + }, + "src/game/sim/rng.h": { + "mode": 420, + "sha256": "f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c" + }, + "src/game/sim/scriptobjects.cpp": { + "mode": 420, + "sha256": "a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2" + }, + "src/game/sim/scriptobjects.h": { + "mode": 420, + "sha256": "210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b" + }, + "src/game/sim/species.h": { + "mode": 420, + "sha256": "83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298" + }, + "src/game/sim/techgraph.cpp": { + "mode": 420, + "sha256": "81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8" + }, + "src/game/sim/techgraph.h": { + "mode": 420, + "sha256": "b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e" + }, + "src/game/sim/tuning.h": { + "mode": 420, + "sha256": "4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194" + }, + "src/game/sim/visibility.cpp": { + "mode": 420, + "sha256": "25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0" + }, + "src/game/sim/visibility.h": { + "mode": 420, + "sha256": "783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f" + }, + "src/mars/parse/CMakeLists.txt": { + "mode": 420, + "sha256": "76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9" + }, + "src/mars/parse/blocks.cpp": { + "mode": 420, + "sha256": "e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b" + }, + "src/mars/parse/blocks.h": { + "mode": 420, + "sha256": "1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1" + }, + "src/mars/parse/effect.cpp": { + "mode": 420, + "sha256": "beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9" + }, + "src/mars/parse/effect.h": { + "mode": 420, + "sha256": "aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44" + }, + "src/mars/parse/result.h": { + "mode": 420, + "sha256": "58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9" + }, + "src/mars/parse/script.h": { + "mode": 420, + "sha256": "69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3" + }, + "src/mars/parse/value.cpp": { + "mode": 420, + "sha256": "712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623" + }, + "src/mars/parse/value.h": { + "mode": 420, + "sha256": "60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38" + }, + "src/mars/rng/CMakeLists.txt": { + "mode": 420, + "sha256": "dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc" + }, + "src/mars/rng/mt19937.cpp": { + "mode": 420, + "sha256": "0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b" + }, + "src/mars/rng/mt19937.h": { + "mode": 420, + "sha256": "300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e" + }, + "src/mars/stream/CMakeLists.txt": { + "mode": 420, + "sha256": "95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a" + }, + "src/mars/stream/archive.h": { + "mode": 420, + "sha256": "84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e" + }, + "src/mars/stream/bytes.h": { + "mode": 420, + "sha256": "9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1" + }, + "src/mars/stream/dump.cpp": { + "mode": 420, + "sha256": "1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16" + }, + "src/mars/stream/dump.h": { + "mode": 420, + "sha256": "a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f" + }, + "src/mars/stream/gzip.cpp": { + "mode": 420, + "sha256": "20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644" + }, + "src/mars/stream/gzip.h": { + "mode": 420, + "sha256": "6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9" + }, + "src/mars/stream/node.h": { + "mode": 420, + "sha256": "eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860" + }, + "src/mars/stream/probe.h": { + "mode": 420, + "sha256": "6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13" + }, + "src/mars/stream/reader.cpp": { + "mode": 420, + "sha256": "90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3" + }, + "src/mars/stream/reader.h": { + "mode": 420, + "sha256": "900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4" + }, + "src/mars/stream/save.cpp": { + "mode": 420, + "sha256": "6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049" + }, + "src/mars/stream/save.h": { + "mode": 420, + "sha256": "b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469" + }, + "src/mars/stream/savedump_main.cpp": { + "mode": 420, + "sha256": "8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c" + }, + "src/mars/stream/schema.h": { + "mode": 420, + "sha256": "b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05" + }, + "src/mars/stream/shapes.h": { + "mode": 420, + "sha256": "45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d" + }, + "src/mars/stream/writer.cpp": { + "mode": 420, + "sha256": "54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083" + }, + "src/mars/stream/writer.h": { + "mode": 420, + "sha256": "921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340" + }, + "src/mars/text/CMakeLists.txt": { + "mode": 420, + "sha256": "dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436" + }, + "src/mars/text/csv.cpp": { + "mode": 420, + "sha256": "b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af" + }, + "src/mars/text/csv.h": { + "mode": 420, + "sha256": "3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917" + }, + "src/mars/text/flat_kv.cpp": { + "mode": 420, + "sha256": "b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47" + }, + "src/mars/text/flat_kv.h": { + "mode": 420, + "sha256": "d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292" + }, + "src/mars/text/lines.h": { + "mode": 420, + "sha256": "b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65" + }, + "src/mars/text/manifest.cpp": { + "mode": 420, + "sha256": "4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e" + }, + "src/mars/text/manifest.h": { + "mode": 420, + "sha256": "dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102" + }, + "src/mars/text/result.h": { + "mode": 420, + "sha256": "7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606" + }, + "src/mars/text/value.cpp": { + "mode": 420, + "sha256": "94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479" + }, + "src/mars/text/value.h": { + "mode": 420, + "sha256": "d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07" + }, + "src/mars/vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786" + }, + "src/mars/vfs/path.cpp": { + "mode": 420, + "sha256": "e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb" + }, + "src/mars/vfs/path.h": { + "mode": 420, + "sha256": "043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033" + }, + "src/mars/vfs/result.h": { + "mode": 420, + "sha256": "19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748" + }, + "src/mars/vfs/vfs.cpp": { + "mode": 420, + "sha256": "ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba" + }, + "src/mars/vfs/vfs.h": { + "mode": 420, + "sha256": "2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90" + }, + "src/mars/vfs/zip_archive.cpp": { + "mode": 420, + "sha256": "d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87" + }, + "src/mars/vfs/zip_archive.h": { + "mode": 420, + "sha256": "0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d" + }, + "src/shim/binkw32.def": { + "mode": 420, + "sha256": "fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235" + }, + "src/shim/fpu_force.cpp": { + "mode": 420, + "sha256": "c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d" + }, + "src/shim/fpu_force.h": { + "mode": 420, + "sha256": "75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06" + }, + "src/shim/hooks/ai_orders.cpp": { + "mode": 420, + "sha256": "091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434" + }, + "src/shim/hooks/ai_orders.h": { + "mode": 420, + "sha256": "6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053" + }, + "src/shim/hooks/ai_rng.cpp": { + "mode": 420, + "sha256": "b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289" + }, + "src/shim/hooks/ai_rng.h": { + "mode": 420, + "sha256": "1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08" + }, + "src/shim/hooks/ai_visit.cpp": { + "mode": 420, + "sha256": "cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31" + }, + "src/shim/hooks/ai_visit.h": { + "mode": 420, + "sha256": "8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189" + }, + "src/shim/hooks/budget_inputs.cpp": { + "mode": 420, + "sha256": "fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b" + }, + "src/shim/hooks/budget_inputs.h": { + "mode": 420, + "sha256": "56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548" + }, + "src/shim/hooks/colony_inputs.cpp": { + "mode": 420, + "sha256": "7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e" + }, + "src/shim/hooks/colony_inputs.h": { + "mode": 420, + "sha256": "87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9" + }, + "src/shim/hooks/colony_turn.cpp": { + "mode": 420, + "sha256": "b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420" + }, + "src/shim/hooks/colony_turn.h": { + "mode": 420, + "sha256": "a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6" + }, + "src/shim/hooks/compute_budget.cpp": { + "mode": 420, + "sha256": "76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906" + }, + "src/shim/hooks/compute_budget.h": { + "mode": 420, + "sha256": "f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa" + }, + "src/shim/hooks/dictionaries.cpp": { + "mode": 420, + "sha256": "b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b" + }, + "src/shim/hooks/dictionaries.h": { + "mode": 420, + "sha256": "ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0" + }, + "src/shim/hooks/draw_sites.cpp": { + "mode": 420, + "sha256": "e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79" + }, + "src/shim/hooks/draw_sites.h": { + "mode": 420, + "sha256": "0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13" + }, + "src/shim/hooks/event_inputs.cpp": { + "mode": 420, + "sha256": "eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b" + }, + "src/shim/hooks/event_inputs.h": { + "mode": 420, + "sha256": "c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731" + }, + "src/shim/hooks/fleet_movement.cpp": { + "mode": 420, + "sha256": "f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0" + }, + "src/shim/hooks/fleet_movement.h": { + "mode": 420, + "sha256": "dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af" + }, + "src/shim/hooks/global_consts.cpp": { + "mode": 420, + "sha256": "87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1" + }, + "src/shim/hooks/global_consts.h": { + "mode": 420, + "sha256": "b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265" + }, + "src/shim/hooks/movement_inputs.cpp": { + "mode": 420, + "sha256": "0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502" + }, + "src/shim/hooks/movement_inputs.h": { + "mode": 420, + "sha256": "32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a" + }, + "src/shim/hooks/player_turn.cpp": { + "mode": 420, + "sha256": "33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23" + }, + "src/shim/hooks/player_turn.h": { + "mode": 420, + "sha256": "a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0" + }, + "src/shim/hooks/player_turn_inputs.cpp": { + "mode": 420, + "sha256": "993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799" + }, + "src/shim/hooks/player_turn_inputs.h": { + "mode": 420, + "sha256": "ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71" + }, + "src/shim/hooks/probe_entry.cpp": { + "mode": 420, + "sha256": "5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506" + }, + "src/shim/hooks/probe_entry.h": { + "mode": 420, + "sha256": "f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f" + }, + "src/shim/hooks/research.cpp": { + "mode": 420, + "sha256": "dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83" + }, + "src/shim/hooks/research.h": { + "mode": 420, + "sha256": "a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84" + }, + "src/shim/hooks/rng_ledger.cpp": { + "mode": 420, + "sha256": "119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb" + }, + "src/shim/hooks/rng_ledger.h": { + "mode": 420, + "sha256": "0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30" + }, + "src/shim/hooks/system_output.cpp": { + "mode": 420, + "sha256": "93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4" + }, + "src/shim/hooks/system_output.h": { + "mode": 420, + "sha256": "62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738" + }, + "src/shim/hooks/tail_rng.cpp": { + "mode": 420, + "sha256": "9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07" + }, + "src/shim/hooks/tail_rng.h": { + "mode": 420, + "sha256": "b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b" + }, + "src/shim/hooks/tech_effect_fields.cpp": { + "mode": 420, + "sha256": "4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3" + }, + "src/shim/hooks/tech_effect_fields.h": { + "mode": 420, + "sha256": "22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420" + }, + "src/shim/hooks/tech_effects.cpp": { + "mode": 420, + "sha256": "2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714" + }, + "src/shim/hooks/tech_effects.h": { + "mode": 420, + "sha256": "ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320" + }, + "src/shim/hooks/watchpoints.cpp": { + "mode": 420, + "sha256": "15c94333f22bb592129efe3fb800ea89987045f9ebbc0e6791d4397961fd727d" + }, + "src/shim/hooks/watchpoints.h": { + "mode": 420, + "sha256": "639ae42b230fb31762f50cac0422dcd5b7fda7a1a02c7739a86d1cd6eda62277" + }, + "src/shim/main.cpp": { + "mode": 420, + "sha256": "eebdac7f8f69b8b95cd290c96d41c6f3f0ed5c45ccd5de54ffc790af47083b99" + }, + "src/shim/shim.cfg": { + "mode": 420, + "sha256": "44ca58394455549150c3461cc888128a968b4f062807e19ef25b8eebf0bfd523" + }, + "src/shim/shim.cfg.b4compare": { + "mode": 420, + "sha256": "68bed5883a75132eb5e885b4750d23c1d5734c843a32a56dc7f96d2b73fdf962" + }, + "src/shim/shim.cfg.b4scout": { + "mode": 420, + "sha256": "faac0765478d88b63f371fbc307512e71fe05f2e6f97272e6e0ceb267cc6d626" + }, + "src/shim/shim.cfg.b4trace": { + "mode": 420, + "sha256": "6a89cdd3cfdf53cfbaff29278fd5d0edf156ad8a525c61624b60ddb1eb0575a1" + }, + "src/shim/shim.cfg.bupin": { + "mode": 420, + "sha256": "39d52ef1ccb18d4dea261b87d3f363ba45079022d1b9bc3531c552ef6df80ec2" + }, + "src/shim/shim.cfg.cbcapture": { + "mode": 420, + "sha256": "0939b1ea144976ded2d45ad885fa0f1ffa3d77f16cba9b4d5a9cb87623500a62" + }, + "src/shim/shim.cfg.cboff": { + "mode": 420, + "sha256": "7d5d6e2ceb7f86fd17543c9212e8547be6009f725871aadbaf6057af1f4f5484" + }, + "src/shim/shim.cfg.cbpin": { + "mode": 420, + "sha256": "72a222c025796458dc1a538eed3ea55f053ee5e3c01e5b19b802922a058d4fbe" + }, + "src/shim/shim.cfg.cbtrap": { + "mode": 420, + "sha256": "938c0893b95b576b75927d75787999c22b3424d28c8936456ea3723f62775e51" + }, + "src/shim/shim.cfg.crcompare": { + "mode": 420, + "sha256": "129031ceb358fef9e0fcee2fb42a0f20fd76d9db78f061f956bf75ce2cc51dec" + }, + "src/shim/shim.cfg.croff": { + "mode": 420, + "sha256": "f99345e7db55e695ecabf7a00fc16ced9a42e8882abfeabc8281b9a4ef26d730" + }, + "src/shim/shim.cfg.crreplace0": { + "mode": 420, + "sha256": "60c13bd76e546b4521ab4e6a7836439078e2a176a11e471e03434623153cb7d9" + }, + "src/shim/shim.cfg.crreplace1": { + "mode": 420, + "sha256": "d27f43eb970d6a9c8a0c8d8f7071633a226c34b675a6581b331c6e1ba6f36c9b" + }, + "src/shim/shim.cfg.fpu007f": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "src/shim/shim.cfg.fpu027f": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "src/shim/shim.cfg.fpu127f": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "src/shim/shim.cfg.fpu137f": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "src/shim/shim.cfg.fpu1a7f": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "src/shim/shim.cfg.fpuoff": { + "mode": 420, + "sha256": "ce637b3f0eca81c04490335cd9fe8a537cd09e5ef14cc5b3050f548ca4d54c65" + }, + "src/shim/shim.cfg.hoff": { + "mode": 420, + "sha256": "dc9b4619fe84921ea5896c2cd190afb5bd4ca89422fb86bfee8459665f92cd7a" + }, + "src/shim/shim.cfg.hp0": { + "mode": 420, + "sha256": "ede723fc540adb94bf16af0f3086c1935aac008acb6a8d550e2a4e97ff232c2c" + }, + "src/shim/shim.cfg.hp10": { + "mode": 420, + "sha256": "1c1f07dfdb7f99d63ed9a62aa9a447efda690623164beeaf434c588e02ef12cd" + }, + "src/shim/shim.cfg.hp11": { + "mode": 420, + "sha256": "36eae0d554a79b9536e3c57d2fef187ae81bd3266947c7f45035be554fb59404" + }, + "src/shim/shim.cfg.hp4": { + "mode": 420, + "sha256": "5bb0d636247c37def9b5cbf0cc9138b13590a50ae8212890fb7d31dfb9e837f4" + }, + "src/shim/shim.cfg.hp8": { + "mode": 420, + "sha256": "a8fe5f16a299b2b9eb81a811c7ec5a3b1baf635fa179a69f1e23243c7d1e2133" + }, + "src/shim/shim.cfg.hp9": { + "mode": 420, + "sha256": "765fdf337bb6942dbd1357166646dbf7fde3777678a606c4dbfd368078f09b5d" + }, + "src/shim/shim.cfg.hpall": { + "mode": 420, + "sha256": "630f99725ea6aa933984f4c545634d127787672de36f6756da2591e22a36f366" + }, + "src/shim/shim.cfg.hprobes": { + "mode": 420, + "sha256": "3bad5e3e7bf35a85acc7169d27531788e9659dbe0f8b1a0c719777fdb6beb5dc" + }, + "src/shim/shim.cfg.hprobes2": { + "mode": 420, + "sha256": "c335f1ec8aeff1165213cd40adcdcd59893c65edf95b1537fc4460e6060911c5" + }, + "src/shim/shim.cfg.l1control": { + "mode": 420, + "sha256": "c5dec81556268795b9a3df175bafde340a3fe76c7d6e05389e09e79d2b138b43" + }, + "src/shim/shim.cfg.l1hive": { + "mode": 420, + "sha256": "970ce465f2363f391a93086f1b596e904265510e02e7d2d38174cc6ea22d9b25" + }, + "src/shim/shim.cfg.l1off": { + "mode": 420, + "sha256": "a4197233c65acb876328666cf37754aea96f942b6ea08105bdfb61d6d5bcbd64" + }, + "src/shim/shim.cfg.l1seed": { + "mode": 420, + "sha256": "360af979eaa0c13eaa4db38ff13dcc64b3e2ab538300c26497921301fd3817b9" + }, + "src/shim/shim.cfg.l1snlv": { + "mode": 420, + "sha256": "3603508983a87906ecce02e4c2e9581cf2fa59390af25335f0b221765c57ef6d" + }, + "src/shim/shim.cfg.l3cont": { + "mode": 420, + "sha256": "629530a34412ebf85fc8ce8d2e5931684eea9891b6b619419e6f8db8c37f0976" + }, + "src/shim/shim.cfg.l3control": { + "mode": 420, + "sha256": "42b6ec7ebc9c83dae4a58884803f627d54956eb308611ce1e8d3691a12a74ccb" + }, + "src/shim/shim.cfg.l3probe": { + "mode": 420, + "sha256": "692dabb6f00343bfcc2f86d62ade827c295acc4630a18a1f2ddcebd53640978d" + }, + "src/shim/shim.cfg.l4control": { + "mode": 420, + "sha256": "ab13b7e3604ee98e9372e3405e0eacb6d5965e02d5317cfee0ea9b9afbd750e3" + }, + "src/shim/shim.cfg.l4dump": { + "mode": 420, + "sha256": "fb40d67d8d7dca4587a1dc13a95826ab68eb3fcf44feb6006388935f3ee346f2" + }, + "src/shim/shim.cfg.l4off": { + "mode": 420, + "sha256": "629a3e41d11daa53325f31aeb77d14d5abe67058e274d36ed8feb71e2e30dc13" + }, + "src/shim/shim.cfg.l4probes": { + "mode": 420, + "sha256": "a446ff3d6117d5352ad9b3c3c02f6d6300ce0b1089f055925afe19b77f0a20f3" + }, + "src/shim/shim.cfg.l4research": { + "mode": 420, + "sha256": "ad400f7082680db82c6fb0d39eed488710e6661f9e3215b9ea2eb0ba53444b9b" + }, + "src/shim/shim.cfg.l5budget": { + "mode": 420, + "sha256": "74df0fa1bd14fec6e8028ba05c516f3a370ba389386e5a8459d594c2c7ad83ae" + }, + "src/shim/shim.cfg.l5control": { + "mode": 420, + "sha256": "3557f716dde348a98fda65a5bad54911fe6d52f75c2cf6a82cc5d4fc47a6e968" + }, + "src/shim/shim.cfg.output": { + "mode": 420, + "sha256": "a811cffac230a1d6c0f9c5adacb1b691ae289ec08de0da3726309a4e1213acb0" + }, + "src/shim/shim.cfg.parbr": { + "mode": 420, + "sha256": "ea8230b596e7baae0c127f5700391ec2c96d546daba8c70ce8b2800c83b096dd" + }, + "src/shim/shim.cfg.parctl": { + "mode": 420, + "sha256": "2d1190d032bb705030746197020c715f4ab8af551f944e9ec0abe136912ea60d" + }, + "src/shim/shim.cfg.parorders": { + "mode": 420, + "sha256": "2107be5ec950e69d01c43ab30919fbfe652823878f150111b158927bc41de8d6" + }, + "src/shim/shim.cfg.parpin": { + "mode": 420, + "sha256": "893f1f81cdef0a964145ebb1c4b1e2725af8868b14fed412d40e3cce71f824f4" + }, + "src/shim/shim.cfg.recapb1": { + "mode": 420, + "sha256": "688840567305218dada122b29284f6af44c3c63ca173db87406de159bb547c8f" + }, + "src/shim/shim.cfg.recapb3": { + "mode": 420, + "sha256": "2120646255bd70adf29ed2880daa6b11d0867b9cfc9f1c9644d63b92c263b69b" + }, + "src/shim/shim.cfg.recapmisc": { + "mode": 420, + "sha256": "cb1f794c51b5d3d74eb91cc084c96a04444cd79f22fc694d821b51924544f595" + }, + "src/shim/shim.cfg.recaptrace": { + "mode": 420, + "sha256": "0ae410cc72fe155837d711c78543e14b1f5743310cd023298eb1e5bbd5457e71" + }, + "src/shim/shim.cfg.sdbr": { + "mode": 420, + "sha256": "7cb2bfd798ed1286628f3a879606eff076c4f6011d95e1223376eb4d0a392ca8" + }, + "src/shim/shim.cfg.sdoff": { + "mode": 420, + "sha256": "9195aeddeb2caa4e3db7dfd775c43e96eb99cfdc59a6a61e65d86fb325f0054a" + }, + "src/shim/shim.cfg.sdpin": { + "mode": 420, + "sha256": "61119f197b1dc8ddcad059d2d2c2753dae457b4bda4eb29e06c78282eeda6a0b" + }, + "src/shim/shim.cfg.sdpin2": { + "mode": 420, + "sha256": "d6d7f82b500df4f3ed120b4ff421178cf4373a145fa803e57d22a0654e4f0f63" + }, + "src/shim/shim.cfg.tturn": { + "mode": 420, + "sha256": "2ab2d64288043c3c55fde668facde9307c0739e0c801c900790e11db57c5759b" + }, + "src/shim/shim.cfg.tturncmp": { + "mode": 420, + "sha256": "114d325ae3ece29422069ee74c790603abb38c49162dd32520a3eecd18ab6061" + }, + "src/shim/shim.cfg.w2control": { + "mode": 420, + "sha256": "d042c0082a8eb4f55b8e21983df292f0950adc4ac5787d4a0b83088c10c5a3eb" + }, + "src/shim/shim.cfg.w2watch": { + "mode": 420, + "sha256": "ddb9c18a1c6b6c23758e51ca9ac18b4b95abe206b162497adc2978c0384d6ee5" + }, + "src/shim/shim.cfg.w3control": { + "mode": 420, + "sha256": "c6a3a5ea1e39a0714dffee0e44a0e8d91a2b450534d7e4377273a55b3e87de8c" + }, + "src/shim/shim.cfg.w3mod": { + "mode": 420, + "sha256": "7c7f82aaa8b5b007a740324373060ca2ba84edc765eb4e7ce55afcaba4e1c2e0" + }, + "src/shim/shim.cfg.w3tshn": { + "mode": 420, + "sha256": "51fa826d0b18d6f01987d6748e6610847ec3a761257ffc382a40d234670afec3" + }, + "src/shim/shim.cfg.zledger": { + "mode": 420, + "sha256": "31d0535aff9660eb1ad06f529c88a42aa71b83b36f8404b7541a29327c508a51" + }, + "src/shim/trace/emitter.cpp": { + "mode": 420, + "sha256": "4253cac49f0761e487fd555c3c01e02fa22e2010789ad3af37c62c8fd2e02030" + }, + "src/shim/trace/emitter.h": { + "mode": 420, + "sha256": "aa7804614b3d3a214d5c32c33ed245ae24276979080baa9d5481d6594ee3f79d" + }, + "src/shim/trace/hook.h": { + "mode": 420, + "sha256": "35be73ac1c9519664957ffea639d873e8a811b4620f0feecb21b54ea2776f800" + }, + "src/shim/trace/platform.h": { + "mode": 420, + "sha256": "f1b78d971798e45998b26c6b0e20db49fceb7d4c63f0c8c37452c6c2c6df9538" + }, + "src/shim/trace/selftest.cpp": { + "mode": 420, + "sha256": "31461ae6d329a8a3856589b245f3bcf8631f0db9a5e00530e4f94279950de354" + }, + "src/shim/trace/selftest.h": { + "mode": 420, + "sha256": "583d7a10ef04254c7a0fb7dd2a6071ad012a9a97dfae0896bbd598970b206475" + }, + "src/shim/trace/sha256.cpp": { + "mode": 420, + "sha256": "2faf44b5b273612c776204c1d83e0910d86394f4f6207129a01c81dedc170aa8" + }, + "src/shim/trace/sha256.h": { + "mode": 420, + "sha256": "31ce080acdc086ff7657d9093ac9bea438203eaa8e392ca38539152cdd15038f" + }, + "src/shim/trace/tracer.cpp": { + "mode": 420, + "sha256": "37d9490dbdedc399ecdb30f46eb27f31a4ff8c902eadb2eb48ecca7fb0e8fb88" + }, + "src/shim/trace/tracer.h": { + "mode": 420, + "sha256": "cbb80f167b8f98777f9fb58ce107226f42027ffdbd868a6808047c48caf10f76" + }, + "tests/addr_smoke.cpp": { + "mode": 420, + "sha256": "ace1ab9549bb6f3e0048d0e6e3ec6061035395581b2db46c0a5acb097c428890" + }, + "tests/app/CMakeLists.txt": { + "mode": 420, + "sha256": "dd18f8e25d2a9ce988dc226e03c7c6e02a275bbbea74f505d005e42ca5972037" + }, + "tests/app/test_alliance.cpp": { + "mode": 420, + "sha256": "671b2cb3295f360c61ee87005287999710d12e10e7e532331c1c946ab97f7c4d" + }, + "tests/app/test_catalog.cpp": { + "mode": 420, + "sha256": "c4cd9840c1f1b5d5a6829f7f1c5a0245b5e66135d3bed6410a2b6eca1a037225" + }, + "tests/app/test_command_replay.cpp": { + "mode": 420, + "sha256": "739ebeea5bed551f232774bc812bcb794cfa057015fd187529fa563b5d7ae5eb" + }, + "tests/app/test_event_phase.cpp": { + "mode": 420, + "sha256": "05498df256759fe5b8af80e9e56c2ca071eb26de0651f257798fe1641da627ca" + }, + "tests/app/test_trade_raid.cpp": { + "mode": 420, + "sha256": "2158008bc711b8062381f346fa347a430582d8d1943b0de5f40eb2a38e9a3f75" + }, + "tests/app/test_treaty.cpp": { + "mode": 420, + "sha256": "0f98150a3f9397fd12109eae7359ff7e04a4060e10e01ecf1693eb2a4606ead7" + }, + "tests/app/test_turn.cpp": { + "mode": 420, + "sha256": "6d45b1d2d065528f14ae83d95314f2b6559e53cc23f1b9e2531c7c09b4b97eab" + }, + "tests/app/test_turn_record.cpp": { + "mode": 420, + "sha256": "a845971b8d25d71c3b1138495354ad392e4fc298f87eb9b89d1567c01ab59cde" + }, + "tests/game_ai/CMakeLists.txt": { + "mode": 420, + "sha256": "a57a82d0c79ff933564e200a5b3137f120e70a19834264eeb2438c4cafd7ad3e" + }, + "tests/game_ai/test_agent.cpp": { + "mode": 420, + "sha256": "41cb3fbfc7e0b277771a2e8dd17601285a1e3a911543fc1335ce05a4e4b5f11c" + }, + "tests/game_ai/test_apply_order.cpp": { + "mode": 420, + "sha256": "8669c2e9a4c95b670a9c41262c68ce183d3cf3900bc262e0a2e33500bfffc594" + }, + "tests/game_ai/test_command_capture.cpp": { + "mode": 420, + "sha256": "8c2bae38754b347beeefe85d796c13bcf43cf5bc9bc99eb743626028b4dbd7ab" + }, + "tests/game_ai/test_live_blocks.cpp": { + "mode": 420, + "sha256": "44cb6bd8b34c13e329f9b1d50bb2a5c5513e52761537dccfb01afb7d48be7580" + }, + "tests/game_ai/test_orders.cpp": { + "mode": 420, + "sha256": "b13d1a3a628de411abb4faf024a1ce8d3e94518f12285bb3d7e7e86b012ad43f" + }, + "tests/game_ai/test_tasks.cpp": { + "mode": 420, + "sha256": "ffd8eed7fa76a24616d579a4e31031dadf43a0534e33743fb104dfca552367fc" + }, + "tests/game_ai/test_turn_order.cpp": { + "mode": 420, + "sha256": "382d6a30e9151c57849595cb134b8e2da25d2763738c9cbfa18d3cad51ecce97" + }, + "tests/game_combat/CMakeLists.txt": { + "mode": 420, + "sha256": "fd0c0dfb54033353b7014e3c764c916522cb529b6b3eae8a8d52afd044c13fe2" + }, + "tests/game_combat/test_retreat.cpp": { + "mode": 420, + "sha256": "3fb0be08d230bbd7c4ea4a59319de7ab252e5b7cbee924afd069847da8dcf73d" + }, + "tests/game_config/CMakeLists.txt": { + "mode": 420, + "sha256": "9874822d186e783f25b2dcd87495e7e380d873b8a0790c67fffb9430468094ed" + }, + "tests/game_config/manifest_tests.cpp": { + "mode": 420, + "sha256": "3bc62e7e49699254151a825421973d831b25bcf7a22028c789e3ca63b0d77319" + }, + "tests/game_config/replay_trace.cpp": { + "mode": 420, + "sha256": "83602ec974b8195c3616230ad44c2d4fd6032f8ef5f96e7aa76d49a0a04ac05e" + }, + "tests/game_config/unit_tests.cpp": { + "mode": 420, + "sha256": "45b07c7289abac61fccd0a6cd0ff87812542ec888eb6d295fb87c3f57755cc6a" + }, + "tests/game_data/CMakeLists.txt": { + "mode": 420, + "sha256": "cb8cffb7217e82077d3db749dcacf29c098549159cc0f312ef04bfccaa30155d" + }, + "tests/game_data/build_and_run.sh": { + "mode": 493, + "sha256": "69ea9cb94468c56c329fcc5b9350431067e97091ed47c08bb10b57b38412883a" + }, + "tests/game_data/dump_catalog.cpp": { + "mode": 420, + "sha256": "4588e699c69586dfb77f0d9289e375407d4f9cf019690e26bfc78f7182167c89" + }, + "tests/game_data/oracle/compare.py": { + "mode": 420, + "sha256": "2cfe1ac93790de3351256d284392372721f94de5375686e6301ef39b1943ad12" + }, + "tests/game_data/realdata_test.cpp": { + "mode": 420, + "sha256": "334a924bf81c6ce6192a6688435b374e115382358f7e4554aa164295bdd38321" + }, + "tests/game_data/test_catalog.cpp": { + "mode": 420, + "sha256": "9ea5c3fff2388c5d7fbf295123dfd7b702ef21f17fc7c45a970822814abfce2e" + }, + "tests/game_data/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_data/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_data/test_shipsection.cpp": { + "mode": 420, + "sha256": "b3519f0de60d061a6f1ab8ee81d470a28fc17cc81b113639ef2c1e139c249b4c" + }, + "tests/game_data/test_techtree.cpp": { + "mode": 420, + "sha256": "d05c889da9edb622bd2b66aa8e300d8162e0c8788950daa1086fc049b90dd4bc" + }, + "tests/game_data/test_turrets.cpp": { + "mode": 420, + "sha256": "66adff30b974e9bf2c96c1af024fb85677e1a8307c801933d23f3d2ec9d8222c" + }, + "tests/game_data/test_weapon.cpp": { + "mode": 420, + "sha256": "b16b0481c0a8697ff16e39c9feb3ad9d5406250b7dd1c828bf12f1bb40ed746b" + }, + "tests/game_design/CMakeLists.txt": { + "mode": 420, + "sha256": "a26524ff14878564870853bc067c379d2ebd26c14e45bcbb06593d300ee4b3ca" + }, + "tests/game_design/build_and_run.sh": { + "mode": 493, + "sha256": "b1aab4d13b09fb1ea4205978bd7d8b05af5a6422ebe4a34261c3247489b48bd7" + }, + "tests/game_design/dump_designs.cpp": { + "mode": 420, + "sha256": "b1b24c5cb534ad821a20325869713c04b742c541c448ade83543d75608f7eda2" + }, + "tests/game_design/json_min.h": { + "mode": 420, + "sha256": "9cfd3eabe9b36d6b2863872e08fe6ebaddf0749d1966dea693f8bbc0472780ac" + }, + "tests/game_design/mini_catalog.cpp": { + "mode": 420, + "sha256": "5817c0251883c999c6ebd54c77fdcf3981181b41fb5f7637d445824d60942810" + }, + "tests/game_design/mini_catalog.h": { + "mode": 420, + "sha256": "ecb7fd0dffa8709008bcdf9b9da3e70e68f735f9b5ecd0dcb4c871a35ae43b59" + }, + "tests/game_design/oracle/compare.py": { + "mode": 420, + "sha256": "2db14952f7fca9a587995e326651b0d549b39ceefd9c0ac59982cd35ae5d21e7" + }, + "tests/game_design/realdata_test.cpp": { + "mode": 420, + "sha256": "cea57cd53d881b3bf2557cc32ea402c4991aa6de5ff72340861f195a8e20c141" + }, + "tests/game_design/stock_designs.cpp": { + "mode": 420, + "sha256": "2ac1b8bcb0f61852f4bc0a8b7cda51167531ca2a05d1e485991a4758cf586d03" + }, + "tests/game_design/stock_designs.h": { + "mode": 420, + "sha256": "a49173bde083467f5650cfbfbaebba5f16208d660fe7f2f3da81c2caff07c807" + }, + "tests/game_design/test_banks.cpp": { + "mode": 420, + "sha256": "c1d34991c53523cb7610a569e861e8a312da1fe659de0522a3594fb14cad24a6" + }, + "tests/game_design/test_census_saves.cpp": { + "mode": 420, + "sha256": "814c17c7a14db7b123579b7636ee7f2b720fdf4a5cbbe90f676dc01709c45e3b" + }, + "tests/game_design/test_hull.cpp": { + "mode": 420, + "sha256": "cff70268d58ab95ed963d335904110ab55c79d6a0f660f613409cf6d5d63e2bd" + }, + "tests/game_design/test_json.cpp": { + "mode": 420, + "sha256": "e7fa196274a4591834a974f742ff59c7ed1fb15fb138091b48a071354d001c5d" + }, + "tests/game_design/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_design/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_design/test_stats.cpp": { + "mode": 420, + "sha256": "a3681df901095b848cc6b1ae63d04fd70eeeadd406e7d51f3c76671cbf523a7a" + }, + "tests/game_design/test_structure.cpp": { + "mode": 420, + "sha256": "d09f7707ee170f8a933c657628c1da4f61a29c7eb2dc687a96c3985bdac941aa" + }, + "tests/game_design/test_tech.cpp": { + "mode": 420, + "sha256": "689c081a324c7ece3f70d711f7ac67a5b93207f95e2800a3a708f2f8dbe31965" + }, + "tests/game_effects/CMakeLists.txt": { + "mode": 420, + "sha256": "c80413a7103ce0ed7944fb096ad22fc206a091645428a6015ec3d0e442414a0a" + }, + "tests/game_effects/build_and_run.sh": { + "mode": 493, + "sha256": "ab5085eeab0ec65d8f7ddd7d79357cd15183888b1b4e51cb563810d4e4c64506" + }, + "tests/game_effects/test_effects.cpp": { + "mode": 420, + "sha256": "b10d804b1ad4fb140e13cc1984c6372dbbfdd92560f37583f2411bbcb45c16d4" + }, + "tests/game_events/CMakeLists.txt": { + "mode": 420, + "sha256": "c962651d71ee7783d5565b418f653f2954e489cf698762c5686f5f2dbb4304db" + }, + "tests/game_events/build_and_run.sh": { + "mode": 493, + "sha256": "8b92d249138ee53f728583a0c68b153eaf4e2ad7f92d415d8b3a83df2fb3ec28" + }, + "tests/game_events/test_events.cpp": { + "mode": 420, + "sha256": "182941b9b809b20d24a2e29c5e4bbd626e6da8486e87dc38d1c6088161ec793b" + }, + "tests/game_nav/CMakeLists.txt": { + "mode": 420, + "sha256": "7ee85557a167281f4576252428b4e01795232f31dc1d93c23b284568074cec3b" + }, + "tests/game_nav/test_pathplan.cpp": { + "mode": 420, + "sha256": "6229cc2b1be1ffffb3fbb812c2ccc89dba7099d349be3a6f8f2c2e26aa1dd58d" + }, + "tests/game_sim/CMakeLists.txt": { + "mode": 420, + "sha256": "563547cdd93bce41ef29a73289e5104a5df61f71cc980e49ea37cdbe26743be7" + }, + "tests/game_sim/build_and_run.sh": { + "mode": 493, + "sha256": "a9c42a931242c7f266f512b4d4ad11f6f8ecf43a447a06a04f174301ee19328a" + }, + "tests/game_sim/check.h": { + "mode": 420, + "sha256": "faddddc37a528f0235f510b249cfc1776ce30aff709329954f09093b01231221" + }, + "tests/game_sim/mini_json.h": { + "mode": 420, + "sha256": "710218b637aaf1a5eb7c49eaa7d158bc3e495135ec14bf8b41384769d0227ba5" + }, + "tests/game_sim/smoke_real_save.cpp": { + "mode": 420, + "sha256": "2432e92ac18fadfb1152c54d9dec9a77b3dbf506ea122401cbbd48584b7c9190" + }, + "tests/game_sim/test_colony.cpp": { + "mode": 420, + "sha256": "45355673c46cbaef66b2c81d04a845cf65b6ddfd9819350c7338d9771fafb6fe" + }, + "tests/game_sim/test_construction.cpp": { + "mode": 420, + "sha256": "8df75076a3f460e949e34100d55acf60b054603da6d4aeda4f73297442c06e21" + }, + "tests/game_sim/test_economy.cpp": { + "mode": 420, + "sha256": "43fe658fd2347e3667a901afa642713d70c85ef0ec75094642da2d05b9ca471b" + }, + "tests/game_sim/test_movement.cpp": { + "mode": 420, + "sha256": "1927c371d52115458d88552014cef30bba60e9bef5eb3acfce11b2bc623e06a6" + }, + "tests/game_sim/test_observed.cpp": { + "mode": 420, + "sha256": "1f6ad16c1a2c80f0621573b5196989b0349e47351585d83835be5e27f6ef3fe4" + }, + "tests/game_sim/test_player_turn.cpp": { + "mode": 420, + "sha256": "13f76eaa6cad265deec25416acf0cae2028d6cd1c7b9585df6e9252ba3f0cbed" + }, + "tests/game_sim/test_research.cpp": { + "mode": 420, + "sha256": "3dc668eb889c41f58db6007a96f54fe2a6d56ee6501a298fba3afbbe9637baf6" + }, + "tests/game_sim/test_scriptobjects.cpp": { + "mode": 420, + "sha256": "dfe90a42bcd2844c2ea3666816f97c05237206bf44467ac29790c72b7b498582" + }, + "tests/game_sim/test_techgraph.cpp": { + "mode": 420, + "sha256": "0627ea1c8012b90b62285cae2f31599ba8a8cd47928452910ade91f93502d68e" + }, + "tests/game_sim/test_visibility.cpp": { + "mode": 420, + "sha256": "ad756975b6605a164f2f9106daf2511730642eff354a866bc764a93a4be1efe7" + }, + "tests/mars_parse/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_parse/CMakeLists.txt": { + "mode": 420, + "sha256": "898204fbc1cec44f697e2803c8bc4887857950ba2b1192dd153de74d26de0ea4" + }, + "tests/mars_parse/build_and_run.sh": { + "mode": 493, + "sha256": "550c6df5fffbd85cfffc3312a03a5fa9d59c1e0416e883ddc2576cdb73eac6de" + }, + "tests/mars_parse/canon.cpp": { + "mode": 420, + "sha256": "63e2bcfb2820e7533aa3a287bcec6c318f7238006dce61ad35381562b979cd47" + }, + "tests/mars_parse/canon.h": { + "mode": 420, + "sha256": "c9a78b866d62c4e58643de2c4149572380a1392b411049c8fe74e37475d21d9e" + }, + "tests/mars_parse/oracle/dump.py": { + "mode": 420, + "sha256": "16e98089d5b532e35d6b88b3d50b4bb07e879c18512cf8d06cc5fd2aa9da1117" + }, + "tests/mars_parse/oracle_check.cpp": { + "mode": 420, + "sha256": "5eb81a0c2db8f96c6f8e51246ea9991642e5571dd94dd2e410e2fad632d47adb" + }, + "tests/mars_parse/test_blocks.cpp": { + "mode": 420, + "sha256": "f376a57891a83768ecc8b73ef5eb2333291c280760f7581ead53f7c2a71a4df5" + }, + "tests/mars_parse/test_effect.cpp": { + "mode": 420, + "sha256": "8bb14e7c718e772bfb4a22a7370f41080c49beabfa597ddd603be257bc310011" + }, + "tests/mars_parse/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/mars_parse/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_parse/test_value.cpp": { + "mode": 420, + "sha256": "a8dbe3326e5339cdad8fed7dd678df92e8a8b675d0b854f4cea6517bf557069d" + }, + "tests/mars_stream/CMakeLists.txt": { + "mode": 420, + "sha256": "31c69840e6e2e566d2e0bbaf49ab3dec712d27e505d0810ddf0496ce3ff321e0" + }, + "tests/mars_stream/build_and_run.sh": { + "mode": 493, + "sha256": "3737e42960b66e788a11cdd7fa9917fe255b6a4f60280e9f620593bf688aab41" + }, + "tests/mars_stream/oracle/compare.py": { + "mode": 493, + "sha256": "f39dd70e4bbf1952cf99e3437fd1ed6252249f3455a2d3c73311f98d8ff4370e" + }, + "tests/mars_stream/test_domains.cpp": { + "mode": 420, + "sha256": "08394777f7bc4186883cd02058f17fda8f47c3ee47049892bd8762c28b5aa959" + }, + "tests/mars_stream/test_rng.cpp": { + "mode": 420, + "sha256": "55f77273d8af5880f976a24fb00dcd8042b31a7a33f15c9f4b62fdb85bba9d0a" + }, + "tests/mars_stream/test_save.cpp": { + "mode": 420, + "sha256": "50250bb4b4f2da05f9453c541f080e018b68731f24cbf93278d50ca93ddd8d63" + }, + "tests/mars_stream/test_stream.cpp": { + "mode": 420, + "sha256": "d0da9ac2287910527bdac875ab39e0147a9be2f5535f04b55460438f31be2537" + }, + "tests/mars_stream/test_wire_schema.cpp": { + "mode": 420, + "sha256": "1cfd259f554be8218cb182dd1facc07f6cd3dea52f0daf7303393e78c7c2eb97" + }, + "tests/mars_text/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_text/CMakeLists.txt": { + "mode": 420, + "sha256": "20f8e0cfa044fb4e6b1caca0ec8d6536e012c1c4ea4454fe990923f40a201752" + }, + "tests/mars_text/build_and_run.sh": { + "mode": 493, + "sha256": "59ae392080c01be0c7f5530ecb9ae4fbdcc02366242b27527c14b8efd5076d0c" + }, + "tests/mars_text/dump_json.cpp": { + "mode": 420, + "sha256": "e246384902c3adf4fa8f2a54e38c4912f6b58f168ebc9b1e158a719e2a52b1bc" + }, + "tests/mars_text/oracle/compare.py": { + "mode": 493, + "sha256": "46a796196a413aa28a0069086e45c96399f21308153b578f063801eb997b54ef" + }, + "tests/mars_text/oracle/dump.py": { + "mode": 493, + "sha256": "53fde94f6676a5504a247cf209e2a42d67e108cc9ea0b02f289562799ee7d880" + }, + "tests/mars_text/realdata_test.cpp": { + "mode": 420, + "sha256": "a399ad5cf91cf35f78809f5b9b5cac8b2eff344dbfbab07b8b27bf66058e1e3b" + }, + "tests/mars_text/unit_tests.cpp": { + "mode": 420, + "sha256": "cd1e9e4f6e0e503d4d9b0902bd2936513293490cdc680f94639ce93661ca09d7" + }, + "tests/mars_vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "282015598e03430be0f47b779ce7087662415b3a59de14814cb3ba35c17af363" + }, + "tests/mars_vfs/build_and_run.sh": { + "mode": 493, + "sha256": "b6a8e7b0706d7416f548f071e742e600cab226663f7d4ad42299dbb76f631701" + }, + "tests/mars_vfs/make_fixture.py": { + "mode": 493, + "sha256": "57586249e57550869dd5adfbc4fdab173a59d2aee630ba69c20d562018d249f1" + }, + "tests/mars_vfs/realdata_test.cpp": { + "mode": 420, + "sha256": "c95248ae53d32bd5d8cf963ca3a39ea82e5ef08b76de736104b6aa34ec88c789" + }, + "tests/mars_vfs/test_main.cpp": { + "mode": 420, + "sha256": "cdb7bdf9b9356eb0b7f6cb0fab081cda2161b34af14ecf60cc44970e79d517c2" + }, + "tests/mars_vfs/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_vfs/unit_tests.cpp": { + "mode": 420, + "sha256": "de8da00718799886fbbc5820e0f7d0e468a31ab0608361fb509b0c12932c9caf" + }, + "tests/mars_vfs/vfs_cat.cpp": { + "mode": 420, + "sha256": "4a443e779de264f5c0c68a631b1a353b1310a4e838d342527befd8ad1e2a25bd" + }, + "tests/mars_vfs/zip_builder.h": { + "mode": 420, + "sha256": "a0f3688e5a90b7e209497d66d0dcd30a0e1ac59a56ffcbed31b2a50967c1da3a" + }, + "tests/shim_budget/CMakeLists.txt": { + "mode": 420, + "sha256": "88a0f43e433c3a6879a7f6cccf8c84ba4559009614a3fe5adf6c558ea7a47245" + }, + "tests/shim_budget/unit_tests.cpp": { + "mode": 420, + "sha256": "654e96d0880232d3090223a0d9f92f428aeffa528fbd5eca89d6bfe348aefce0" + }, + "tests/shim_colony/CMakeLists.txt": { + "mode": 420, + "sha256": "d7b2674971b0eda32b2edd62244c32af81cea9e6d984a24ca6648edbaea80e06" + }, + "tests/shim_colony/unit_tests.cpp": { + "mode": 420, + "sha256": "4cc41308c10fa1e6aa047fb6c26e4c655b727884bce87b5a9e8e2f76db665474" + }, + "tests/shim_events/CMakeLists.txt": { + "mode": 420, + "sha256": "2b43190a2ce88cf7227250aa5a3b48e3006d24f0d6f5e9a5e48507c2733e4c45" + }, + "tests/shim_events/unit_tests.cpp": { + "mode": 420, + "sha256": "0dc151a4aecb24217cc38cb818bbe760b3da2b08a23ad734b3fa8506d25fe2b4" + }, + "tests/shim_movement/CMakeLists.txt": { + "mode": 420, + "sha256": "46ffe5a9815b189283e4d5ef67a0dcd159f60da7f9ca4a3577669035fefdc1f8" + }, + "tests/shim_movement/unit_tests.cpp": { + "mode": 420, + "sha256": "ee6ee983aa72f078a7ae398ca5f828aba14370c898ae4e56063697d28919ad69" + }, + "tests/shim_player_turn/CMakeLists.txt": { + "mode": 420, + "sha256": "f6affa205f857d4a45f8be05ae0426b6f9a2e8e127f5aeadbac2ed8a4c4daddc" + }, + "tests/shim_player_turn/unit_tests.cpp": { + "mode": 420, + "sha256": "0a528cdf64904dfd22c94ea911a15213701e7912921f04c1909799e6e6240450" + }, + "tests/shim_rng_ledger/CMakeLists.txt": { + "mode": 420, + "sha256": "b6a349f2611ec1f1de2013145a97f3da59cefec81dbc4d2f3e58af507e598bb4" + }, + "tests/shim_rng_ledger/unit_tests.cpp": { + "mode": 420, + "sha256": "d38d80dd907a3468036dbca2b017718b199ab4a0078eb5e5b019b913a9ef8d8c" + }, + "tests/shim_techfx/CMakeLists.txt": { + "mode": 420, + "sha256": "5eaf9a76df6b10258a8c1d2658b03d97377d48a778a1628ca94c9bd69fa7ba8a" + }, + "tests/shim_techfx/unit_tests.cpp": { + "mode": 420, + "sha256": "99a71a6d0ca1f53fc8ff0bc21e79acd64ba2cd9c9f990641e5970c866794595b" + }, + "tests/shim_trace/CMakeLists.txt": { + "mode": 420, + "sha256": "91bc736e198c5cef86ad2ad69ca77d93ab770e5faecf9e6d915f9263b9ce491b" + }, + "tests/shim_trace/check.h": { + "mode": 420, + "sha256": "f4b72b971886c64383880ba26484f9c908d21f5902dff0de0b42f276b00d8366" + }, + "tests/shim_trace/harness.h": { + "mode": 420, + "sha256": "d7eae563723843c1389b108fe2efb2e31b6c264d23567a370a09fb9b1d513697" + }, + "tests/shim_trace/oracle_emit.py": { + "mode": 420, + "sha256": "29ed06c602e9f0d6430bb3c81192b1946213a3f44b91107f7036f35f17b69f42" + }, + "tests/shim_trace/test_coverage.cpp": { + "mode": 420, + "sha256": "8ed5b6d755fe7e2bc98d525e97bc7817a5efb7ed5f0196d49d1c783de3a91bea" + }, + "tests/shim_trace/test_diff.cpp": { + "mode": 420, + "sha256": "afd8e5124cf6e1ad9c4f3e4c2beeb65d00002cf1d4cbaa2e876fea0817a7a347" + }, + "tests/shim_trace/test_emitter.cpp": { + "mode": 420, + "sha256": "a9255bbc055df36a01931e8a61dd1dbf16085f7713db7e7386f66b69ddb10762" + }, + "tests/shim_trace/test_hook.cpp": { + "mode": 420, + "sha256": "4dd67374e260ba2722219c2e44e6be76e583d0ad65844f34859cff49b66a30cc" + }, + "tests/shim_trace/test_sha256.cpp": { + "mode": 420, + "sha256": "b55aa15dc806e3e4a87ddf50657fa4e0af6a4e4e2205c4bd63d1ae066fe57428" + }, + "third_party/minhook/LICENSE.txt": { + "mode": 420, + "sha256": "d5c2224982b0b95a16b098a561335fa93f3eaf4d0aa964b7843edb986df78dc8" + }, + "third_party/minhook/VENDOR.txt": { + "mode": 420, + "sha256": "c79054234a5340f6199f8d9f47d6b3d88e8abd2120586cd78f081cfb81a6fabd" + }, + "third_party/minhook/include/MinHook.h": { + "mode": 420, + "sha256": "e34bbf7b855c842694f6e3dd78e2d280e99ed9732501e3dc1532a8626a8db8e5" + }, + "third_party/minhook/src/buffer.c": { + "mode": 420, + "sha256": "75a789eb718bd5ed2de039ccd330736a31d0a2d14e43d8e15e6cd2332432482d" + }, + "third_party/minhook/src/buffer.h": { + "mode": 420, + "sha256": "9769702bd625249e59a19ede05c84365fcc7707e1fa0e5df08df42227cee13e3" + }, + "third_party/minhook/src/hde/hde32.c": { + "mode": 420, + "sha256": "0ddbc3ab3e0b37e61691131289a151e34f508233ccf3f701752777e5d3f62d68" + }, + "third_party/minhook/src/hde/hde32.h": { + "mode": 420, + "sha256": "5132de5be8ac7a9d054420f5caef0fb01437faa892f03b3cdc77f795973bf15a" + }, + "third_party/minhook/src/hde/hde64.c": { + "mode": 420, + "sha256": "9bf19dd706d4bc255ebd1709f98fb44899df7a1f2412820d77295136e0620f1d" + }, + "third_party/minhook/src/hde/hde64.h": { + "mode": 420, + "sha256": "e99aa4997bda14b534c614c3d8cb78a72c4aca91a1212c8b03ec605d1d75e36e" + }, + "third_party/minhook/src/hde/pstdint.h": { + "mode": 420, + "sha256": "604d1cdf45c5a95bc9cf1bbf39ca05ef83013541101d34971c5cd7577e3d5247" + }, + "third_party/minhook/src/hde/table32.h": { + "mode": 420, + "sha256": "43bf687a9fff071b5f46070db4d36c846f8e069cdc57485ee897c499aacdde23" + }, + "third_party/minhook/src/hde/table64.h": { + "mode": 420, + "sha256": "b774446d2f110ce954fb0a710f4693c5562ddbd8d56fe84106f2ee80db8b50a2" + }, + "third_party/minhook/src/hook.c": { + "mode": 420, + "sha256": "3060d3c42f03a2f11324cbee95d853071757ed0fe4b1bc9eb5f0d8fc9e346a37" + }, + "third_party/minhook/src/trampoline.c": { + "mode": 420, + "sha256": "d837f8555681c3762468d712c43f2064ed31dee610e0b02965fd8aa54b88172f" + }, + "third_party/minhook/src/trampoline.h": { + "mode": 420, + "sha256": "27426751dde36cdd8346469e61cdcca47950b1056a69f21cc63f4b41743faf6a" + }, + "third_party/miniz/ChangeLog.md": { + "mode": 420, + "sha256": "ff3b6040f7cbd8c9779a0690e906c66408f7efe3cf88a25019323f0189025ec3" + }, + "third_party/miniz/LICENSE": { + "mode": 420, + "sha256": "0115478d567121238cf6cc1c0c361926cf07a49d9e4c9e66da97fac6a01646b3" + }, + "third_party/miniz/miniz.c": { + "mode": 420, + "sha256": "e2c1aeb66eef9191d8c3feb164db2def2335a61d039bf04ed849f6b042433b30" + }, + "third_party/miniz/miniz.h": { + "mode": 420, + "sha256": "b53b62ed122e559b8f679e3cb787a0b0035fe87a58f909da0e44931678f4e85f" + }, + "third_party/miniz/readme.md": { + "mode": 420, + "sha256": "b4ea367be28a36e5386f65118b73962bc659a67936d248be68b7a7c03b8d359b" + }, + "tools/build-shim.sh": { + "mode": 493, + "sha256": "1da3fdcc019dc6495c870a42b93cee9f21ff7f9623f033c2f50d9db9fd6a33e0" + }, + "tools/check_shim_configs.py": { + "mode": 420, + "sha256": "ef5e8f100c06d8c485a165ab668206af3e9aed3e1f6aa6ffec2592419fc2332f" + }, + "tools/clean_room_check.py": { + "mode": 420, + "sha256": "e15bc3ebfd29c6e2d8edfc32cc812858869b49ffa1404cafce14c4c24e0f4e24" + }, + "tools/clean_room_check.sh": { + "mode": 420, + "sha256": "6646eb6010be756113f7af39b9cfcb06e8580893fbd100a41993f87757ccfd6a" + }, + "tools/deploy.ps1": { + "mode": 420, + "sha256": "fe01f46bedc91d7b42ff98cb0e69633845094cc2802108d23d48eb70f32e3f27" + }, + "tools/sync-build.sh": { + "mode": 493, + "sha256": "ce418ace6c5edae8609849233bb5dfd24657f55141c8ef8507659608f12aee2d" + }, + "tools/undeploy.ps1": { + "mode": 420, + "sha256": "5730b6f95f161ba5a727dc0a34f26da7f1f697711495d6a9de9c289ecd747af0" + } + }, + "manifest_sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd", + "path": "/tmp/opencode/sots-final-research-engine" + }, + "re": { + "commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "ba56b745b84c6d15b7288df65f319831fed3cbf8edd1ab3a6476418f48fd95f8" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "e722b65480a9f72c2fde1c677c789d4f4b347ef9b450894e9f4295035373df7a" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "b3e3e5851645a05543e91f128eb6d349abdc6f22accfd997012526e4d35eaa8e" + }, + "README.md": { + "mode": 420, + "sha256": "e318014a84d03e53983cdb1e5b0310f372b959f659b91abc9214faf530544afc" + }, + "campaign/DASHBOARD.md": { + "mode": 420, + "sha256": "eb207987006a3a661bf05b24fc361e1dda74b7a7f42f4abf4a3788cb17a254e6" + }, + "campaign/README.md": { + "mode": 420, + "sha256": "dc702a81c2c664c07eb170f082deb65bc3ff24e2b80d892bb082c7c4feac64fd" + }, + "campaign/agents/analyst.md": { + "mode": 420, + "sha256": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952" + }, + "campaign/agents/implementer.md": { + "mode": 420, + "sha256": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91" + }, + "campaign/agents/lab.md": { + "mode": 420, + "sha256": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8" + }, + "campaign/agents/lead.md": { + "mode": 420, + "sha256": "7661bbfca972be50a52c735b7f15f5be740158542c3d0cdbdf9a6a2590c7f1ea" + }, + "campaign/agents/resolver.md": { + "mode": 420, + "sha256": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f" + }, + "campaign/agents/verifier.md": { + "mode": 420, + "sha256": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b" + }, + "campaign/backlog.md": { + "mode": 420, + "sha256": "a10edaae044e84ee4d26e7461b88e557112f572d60c57e0025171a53dd209a35" + }, + "campaign/board.md": { + "mode": 420, + "sha256": "040c12a20f5bf70b8e6a239efb205039d1ce00a805411ba194a12bde9f40c03e" + }, + "campaign/contract.schema.json": { + "mode": 420, + "sha256": "a2c76ec042ca097a57c3c05c1e519e392d498d387a31808c7d0f70482d43c201" + }, + "campaign/contracts/controls-bootstrap.json": { + "mode": 384, + "sha256": "2943d2281229c102dd612676428a9714510e540671c1e04dae3e6fa7ea1b56ab" + }, + "campaign/contracts/launcher-smoke.json": { + "mode": 384, + "sha256": "c0418dd22bafc321b2f800acaf574dca7956c37b239d789981b920d50ab36599" + }, + "campaign/contracts/research-completion-abi.json": { + "mode": 420, + "sha256": "a5cf5e4bbc5052aa13dc34b55ee65f2997f9342e0b01062e85ad2c16d99daf71" + }, + "campaign/contracts/research-replacement.json": { + "mode": 420, + "sha256": "1108d30bf7e28f30b2446014503fc3200a8b8198a8fab0b866b873a81bf7b8b9" + }, + "campaign/current.json": { + "mode": 384, + "sha256": "87661aaf5ddfbb872365dae8c531453a1e0cb7f91b3ada046be3e829d2555f77" + }, + "campaign/models.json": { + "mode": 420, + "sha256": "95f507237a8e4fcf14189da4aa102dfae1dbaa536d4d8db6bcbfc30162ac5443" + }, + "campaign/open-questions.md": { + "mode": 420, + "sha256": "efb1c736a07bff32e75e0eede20681c206e2c95f439dffe9824702cb864972e7" + }, + "campaign/pilots/research-replacement.md": { + "mode": 420, + "sha256": "3101b8959f28ba2c6ffbac02a82b5ae0e841e7d78bd1f40f05b9d1d2278490ad" + }, + "campaign/research/SESSION.md": { + "mode": 420, + "sha256": "258a2884486ee777fbd8ff180abf23a3a320b2981ee1e90b57d4e3efe18643f2" + }, + "campaign/rollout/RESULT.md": { + "mode": 420, + "sha256": "87aba912d66e2f7bd9779f86cbae3c78d64b1be2572db02ac39fc70c750cb79c" + }, + "campaign/rollout/architecture-decision.md": { + "mode": 420, + "sha256": "8c710f390671500386745d063d6cb6edb175e6e26572286334d2f14a36be6d41" + }, + "campaign/rollout/controls-followup.md": { + "mode": 420, + "sha256": "44d0c95978cbc0953d6b1feab4463b29fab68c9d8dad2eca5fd562bb5aee1578" + }, + "campaign/rollout/controls-worker-state.md": { + "mode": 420, + "sha256": "02ff66f3f0fa978819e5c100e24cfd3752b9041590e2aed36f6abd62ce790f4e" + }, + "campaign/rollout/controls-worker.md": { + "mode": 420, + "sha256": "d022483618d3c3412785ba40e71106976c9b1c9978c43e424e3023a67b8b3f0f" + }, + "campaign/rollout/controls_evidence.py": { + "mode": 420, + "sha256": "bfaf4e523b2ca39c0ecdab94adf0b2b19a3da68aab8a0fcba69a613aed46588a" + }, + "campaign/rollout/engine-followup.md": { + "mode": 420, + "sha256": "d3d289fb4e4cfb7cf1ab6c3de597f530eafd27d3b1aa2f3e8904d6da3a95ac44" + }, + "campaign/rollout/engine-worker-state.md": { + "mode": 420, + "sha256": "76601fa42c95bd7d78ce46f528a33ef0483e0b7f2e19a1cfe1cab8e560bed05c" + }, + "campaign/rollout/engine-worker.md": { + "mode": 420, + "sha256": "fd8bbe69947b69baa61449548d5746723c941ad8b663ec66d1b278234bebe5b2" + }, + "campaign/rollout/formal-verifier-state.md": { + "mode": 420, + "sha256": "2fbac02f5f22b45e94ee33f9f53779fa059c5e93282d3c2f5ad0af027029a1f4" + }, + "campaign/rollout/formal-verifier.md": { + "mode": 420, + "sha256": "f961ceaef0037001e6576d760e28e7aded0502f3d8311925e5ed1cc537c996dc" + }, + "campaign/rollout/gate-followup.md": { + "mode": 420, + "sha256": "677f17aef214e7a6c92958dd8ad98137b238cc7fe7c1da23bcf36d727f28f7c8" + }, + "campaign/rollout/gate-worker-state.md": { + "mode": 420, + "sha256": "96514befccc589487ac3b6ff9348106aca2e4e8e3aa348471943d589c74629e2" + }, + "campaign/rollout/gate-worker.md": { + "mode": 420, + "sha256": "55db7c5f637d849fb2f200ab12c35a794c86e377a5de3f562b1c32455583e65f" + }, + "campaign/rollout/housekeeping-completion.md": { + "mode": 420, + "sha256": "a25041ebaeb030f1cfc62564b5bc57a98818ea75e082f28036e9cc367096ccd1" + }, + "campaign/rollout/housekeeping-followup.md": { + "mode": 420, + "sha256": "5759aaf403c019173450822dc5e9d4aad711a7497eba906caea39bdb39bd3702" + }, + "campaign/rollout/housekeeping-worker-state.md": { + "mode": 420, + "sha256": "5ee9a48a691709af325994fd3d44a1ac6e40d05f26e09b03ae7efec2ecbe25cc" + }, + "campaign/rollout/housekeeping-worker.md": { + "mode": 420, + "sha256": "bab8219fadd0688e91d6211478a01403a36ae74fd2b6f7df0ad5c8745a542ca9" + }, + "campaign/rollout/independent-review.md": { + "mode": 420, + "sha256": "a7a8ebcce5202db0e67c8c65135df751e69ee6728c4c2ced92e1cc85b4279f22" + }, + "campaign/rollout/lead-state.md": { + "mode": 420, + "sha256": "3ded5b3f97d7882f72abef5ea268765a5db29c8b619486c153f5c92742040c01" + }, + "campaign/rollout/publishing-worker-state.md": { + "mode": 420, + "sha256": "641977e4d0ec400a3a6c38121ae5e7904aa1accc47179ee148ad7cb199029b0e" + }, + "campaign/rollout/publishing-worker.md": { + "mode": 420, + "sha256": "822812fbc803d443fb7e0855268c34224eda29f95e57274c217275b09ff4410f" + }, + "campaign/rollout/review-followup.md": { + "mode": 420, + "sha256": "853e3b5aab09cd77fd54cae6d8a61fb5ae092603ab2be8dee2db6d80492a6443" + }, + "campaign/rollout/review-worker-state.md": { + "mode": 420, + "sha256": "a704e6023eaf3424761bf431e49687ae1f1d687119fe00a466b9da2d9ef7bd42" + }, + "campaign/rollout/review-worker.md": { + "mode": 420, + "sha256": "0e348015440aabef95766010f14880619d34a472102698c9819dfbb029b8a6c8" + }, + "campaign/rollout/sync_verifier_snapshot.py": { + "mode": 420, + "sha256": "4133e536bfdb0e206ecdfc072062e7674b07b973c7f8b9d7f1a268520523d6eb" + }, + "findings/.keep.md": { + "mode": 420, + "sha256": "141ed928eaf10a2023dd2c0ff6ea68cf6ec423cfd28d5a359d9c5add730bf64c" + }, + "findings/00-strategy.md": { + "mode": 420, + "sha256": "3bc97827988c6eb4647713c5655271e156dfa466fad5685924010f3244fe6386" + }, + "findings/01-fingerprint.md": { + "mode": 420, + "sha256": "7cf0503c29f5beff852427c2c5bdf8e9d968386de777c47b6130771cac944cac" + }, + "findings/_template.md": { + "mode": 420, + "sha256": "b92d0ca7bfef4498a5f9e594453f15ab15e2c88c7582c4ed5df4c40e6871c3b1" + }, + "findings/control-flow/ai-visit-order-probe.md": { + "mode": 420, + "sha256": "e89f91a33139014ebdc22d79064ecfd06f9b4ffebb4bbc3da73734fc47534047" + }, + "findings/control-flow/alliance-mask-and-modcount.md": { + "mode": 420, + "sha256": "ec66c6b76d9e4c8bed385acf70e6a7d5da08e05eca72ac1e8e5cb307d87f2552" + }, + "findings/control-flow/combat-done-tail.md": { + "mode": 420, + "sha256": "799ace775f12ebe9a2737a711c8d0a6e617f0cefec70b93bf094e47cf81cc348" + }, + "findings/control-flow/combat-resolver.md": { + "mode": 420, + "sha256": "abf1a9329c1bd8a96c76481246a00b380e9a17fa8dc8900810218026e5fe1b9e" + }, + "findings/control-flow/combat-retreat-pipeline.md": { + "mode": 420, + "sha256": "6c40c8bdbdde672c9cd67248d740d88892ad2b93b30e27e9bebe0e96027cf136" + }, + "findings/control-flow/fleet-visit-order-mechanism.md": { + "mode": 420, + "sha256": "a2ea1a6ac9d383380e16910cff89dff0e9b23f1df66f47ef91dd266bd50b3a6d" + }, + "findings/control-flow/gate-indexed-rng-audit.md": { + "mode": 420, + "sha256": "5004b2480787eec7be66f40474648030fdaf7759087a4c4651091152d89351cd" + }, + "findings/control-flow/hive-creation-rng.md": { + "mode": 420, + "sha256": "5ff37d571c0380c798a137e0c6947a0c63109de489fd2100c99bfc6637fc272b" + }, + "findings/control-flow/indirect-edges.md": { + "mode": 420, + "sha256": "3dbf2acf7354f61de66348fe40965f3138dbc4bbff8cb0f06b2751e71ed06ee1" + }, + "findings/control-flow/inlined-draws.md": { + "mode": 420, + "sha256": "3b099718543d7fb112664699749602ff9d61de9aaebb561fc93f1f8b7a152134" + }, + "findings/control-flow/per-history-residue.md": { + "mode": 420, + "sha256": "739c7fc760583ca143036ce554e1eece640d1662fba4642e6f80fadd3dad13f9" + }, + "findings/control-flow/pinned-seed-rich-turn.md": { + "mode": 420, + "sha256": "7c62336767b7c69f513446543f37662ba2a0872e207b906279446bbe399d65b6" + }, + "findings/control-flow/raid-gate-multiplicity.md": { + "mode": 420, + "sha256": "6d7b7357be428ff79186478dc37063657ca4d8e2ad49fcdd92493753748a52f4" + }, + "findings/control-flow/raid-intercept-species-word.md": { + "mode": 420, + "sha256": "1da80eb14f0e3e5a0ce139f62976bb305e3e75a1e5e0631d8287f94eac093d8f" + }, + "findings/control-flow/raid-intercept-z-word.md": { + "mode": 420, + "sha256": "beb421953b70377c8c759f5cc936321faa6316be76d41020b41f26c99706acb3" + }, + "findings/control-flow/raid-target-pick-verdict.md": { + "mode": 420, + "sha256": "d0262a4187e35547b28d6be842e7c730aa3ee93565404b587a790706afabd694" + }, + "findings/control-flow/seed-exposure-forward-test.md": { + "mode": 420, + "sha256": "f108a07ce695b64c482af58db4caeb2607059a3357b62f04f7f36ce45c84ff4a" + }, + "findings/control-flow/standalone-generator-and-turn-record.md": { + "mode": 420, + "sha256": "e499f62534580f27c2a01395e08312ebc7df13bdd307342096f468212aec600b" + }, + "findings/control-flow/standalone-scaffold.md": { + "mode": 420, + "sha256": "0bf928260d5058815a2f09c4df8c08eb359430aeea941f872018de7cbca39105" + }, + "findings/control-flow/tail-probes.md": { + "mode": 420, + "sha256": "ae45e84a9c7f257170f7550301fc4e1a35d5210269bda8070469a5c921cce95e" + }, + "findings/control-flow/tail-rng-ledger.md": { + "mode": 420, + "sha256": "2db588423e7b7de7729e5319477c17fbcea5b7a9cb8ff00b01cfd72bfce25403" + }, + "findings/control-flow/trade-raid-rng-gate.md": { + "mode": 420, + "sha256": "85c7b27aa284988b07b5e67c8e48ef1725289f1a6956d88be2572577cc06e1bf" + }, + "findings/control-flow/turn-driver.md": { + "mode": 420, + "sha256": "3f4e92041a0842d211ea9ae1ae16a9fe400dacf9632209102a1f76acc6b30792" + }, + "findings/control-flow/turn-spine.md": { + "mode": 420, + "sha256": "e2a64f82e5dececb4ba56859d1e53a0f720e08472c79c39197beba7f6041811b" + }, + "findings/control-flow/w3-containers-status-handlers.md": { + "mode": 420, + "sha256": "fffbaa6e3701abbe57a54046416a102502afeaa29b14632f9506905c22bf3914" + }, + "findings/control-flow/watchpoints-modcount-status.md": { + "mode": 420, + "sha256": "0aec4c93ca7219e29827a5069a9829d5e58da2001e79a7316bce288d3e9a6c7d" + }, + "findings/objects/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/objects/00-inventory.md": { + "mode": 420, + "sha256": "cada5fc81c42cb50878a26e43a58640153c600319e66d4c92a23d7c363ff5f14" + }, + "findings/objects/aiagent-block.md": { + "mode": 420, + "sha256": "55d646ab57e90477993d263399254a3b103024d89fff42491b7df5cf4ffc8037" + }, + "findings/objects/classes-game.txt": { + "mode": 420, + "sha256": "e0eceb77c56e05bc7863d3a07805d703fc0ecec489ef24fabe7c6161f2835199" + }, + "findings/objects/classes-mars.txt": { + "mode": 420, + "sha256": "b624f7bd82a5277462a39627140a85c7a7929fd292b62e45edb5c96fd53b6145" + }, + "findings/objects/ghidra-recon.md": { + "mode": 420, + "sha256": "ca4b043a73c1d5573aa0c83cd3942db731884910c90e7d8544c8a32c939e2fda" + }, + "findings/objects/rtti-raw.txt": { + "mode": 420, + "sha256": "39f6fdf8793f8202c19cfb87a75466b215254a13050ec37c0c496699298247ad" + }, + "findings/objects/save-editor-structs.md": { + "mode": 420, + "sha256": "835d4fbf154275542383ea499a527c044ec7d577486c2735b817bd32d6e0c853" + }, + "findings/objects/schema-gaps-resolved.md": { + "mode": 420, + "sha256": "9ddae36eb8e3ef909c4902d01200fc8a17335271e4e063939ae162a3eea5bb3a" + }, + "findings/objects/serializable-types.txt": { + "mode": 420, + "sha256": "59c2f3942f55eb3f6687758a4c447b1ed8902caa60b97d9619bb8228e27c6838" + }, + "findings/objects/serializer-struct-recovery.md": { + "mode": 420, + "sha256": "5b56d8e1a5047d602cea7a76227f30e17244057fe21fde3d4e2cc76e9f185416" + }, + "findings/objects/ship-design-catalogue.md": { + "mode": 420, + "sha256": "feded2191180e184d34d4992935dc117bff8d052e8a2c63ecc29fa7b2e6b561d" + }, + "findings/objects/struct-recovery.md": { + "mode": 420, + "sha256": "4e99ef972529101f5700b52845e263fb3789e0b82d8cdeca921f1595a24d92db" + }, + "findings/objects/svsctob-variants.md": { + "mode": 420, + "sha256": "89617cd2909f2242e9e1657fd4a8f5aafe5aa0c1e0e9bc8926fb67c1e830dd2d" + }, + "findings/objects/svsctob-writers.md": { + "mode": 420, + "sha256": "7a9b7f3bf4eae63cf522246227410b2e3ca789284b7c620f01550fadf479622c" + }, + "findings/objects/turncommands-block.md": { + "mode": 420, + "sha256": "8eca2b79838114e7ae46d34c6e75eaf3b04c0448d9896ed4219b118f09e83046" + }, + "findings/objects/wire-schema-channel.md": { + "mode": 420, + "sha256": "31f0fc4e1cc3c3e7ef938aa22ad65cfdec32be4f1ade476a7ebf32c3c6f07d6f" + }, + "findings/objects/wire-schema-closeout.md": { + "mode": 420, + "sha256": "bbae848b4f8d6d0f2a914268ac34e75b4cea483f52816916202f3bd3cd084255" + }, + "findings/objects/wire-schema-ratchet-debt.md": { + "mode": 420, + "sha256": "0d144181478a607f2474a7c8a1b71ca49c881ef6fd068b5e8859c3fa8129507a" + }, + "findings/resolutions/2026-09-08-ai-seed-per-process.md": { + "mode": 420, + "sha256": "0765bdaeade29122ab5e64493f3a7c339f1e4c4445192ed09ae3d229dd6ae943" + }, + "findings/resolutions/2026-09-09-fleet-id-order-residue.md": { + "mode": 420, + "sha256": "b3d63a11e8ebd55da4af15760d044607b6105216898a018f5ceebc94750817e8" + }, + "findings/resolutions/2026-09-09-seed-exposure-is-a-predicate.md": { + "mode": 420, + "sha256": "dd7ce18738a625b9008ef80783bd64fc3857852775ab3b784b9e5f4fd5ae7de1" + }, + "findings/resolutions/2026-09-09-tail-draws.md": { + "mode": 420, + "sha256": "ff86a332ea9f87bd6f42a0b64e837e6f6f5876423ae9403a903aa9bfe7c42678" + }, + "findings/subsystems/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/subsystems/ai-client-seed-is-per-process.md": { + "mode": 420, + "sha256": "5e6de0418588ff28cee29cb9affd69c3183819318c314eeb0771bbe810e6b4ed" + }, + "findings/subsystems/ai-order-capture.md": { + "mode": 420, + "sha256": "6efebf9f00b375d2c7f29ddeb24ef7a04e3b02cac9027369b490157a196d08ce" + }, + "findings/subsystems/ai-order-emission.md": { + "mode": 420, + "sha256": "9e54a13a18387a4f93acc5c66dbf71d365c81f1a8e6d2aee31f7a89712894ace" + }, + "findings/subsystems/ai-stepping-and-passes.md": { + "mode": 420, + "sha256": "e7e2fc612457a4e77df362aea2928d20fa5a2456fe12a7fbafeaf3c9e01c1dc1" + }, + "findings/subsystems/ai-task-system.md": { + "mode": 420, + "sha256": "577f8fc41256ebdf9629f1e30df9aac7f51c1a84b55f60c2b59e4af4c55126b2" + }, + "findings/subsystems/ai-turn-logic.md": { + "mode": 420, + "sha256": "79e9b7c9592d583db7b9d9ce472804038a71febf7527bd69e31b3399caeb0770" + }, + "findings/subsystems/battle-load-profile.md": { + "mode": 420, + "sha256": "3cf8e28925ebbb162bca9c3be9e6b2599c82ab6aaf9a9d99ffd9c934bf773c77" + }, + "findings/subsystems/data-model.md": { + "mode": 420, + "sha256": "f01c9bfcf8ed9fbf9fdd30556308a1dbb1094896050cc8a5e4fbc1c6c61aff78" + }, + "findings/subsystems/data-parsers.md": { + "mode": 420, + "sha256": "6a428c14279ac2c589b4af932e762ef7e3ada1a878128527b8d88858c11fbc35" + }, + "findings/subsystems/determinism-oracle.md": { + "mode": 420, + "sha256": "4fe0abad0b1b825392cd47b792d06756742495f26ff40a6a433d8608b4680bcb" + }, + "findings/subsystems/eventlive-verification.md": { + "mode": 420, + "sha256": "8bfcc75e57ddf88ec8a4b8885f033be8ffd420965077ab284b1ebce535ecf1a0" + }, + "findings/subsystems/events.md": { + "mode": 420, + "sha256": "c5d6e168d6d48eabec0ae0a448f9c3ec8d0f751a67fc320bc1021ba10008a3bf" + }, + "findings/subsystems/formula-gaps.md": { + "mode": 420, + "sha256": "63ec96a27fac5381d33cdce3e549d230bd5b0230e4d8573f4f3d45bab7d47ffc" + }, + "findings/subsystems/fpu-precision-sensitivity.md": { + "mode": 420, + "sha256": "4cf84e2a1c3d0eaaf9b3a7f218ad663ffa6984389b2a25851249733ad708ff8f" + }, + "findings/subsystems/golden-trace-recapture.md": { + "mode": 420, + "sha256": "b244f939b87dd464d78d919675c0e6aa010b0ec7b4fc6e4178e26c2c8ebee738" + }, + "findings/subsystems/id-allocation.md": { + "mode": 420, + "sha256": "b04a14a5a7d4d1c6137c4f9072987eebc997421e550881dcc2c8e386187f5b90" + }, + "findings/subsystems/income-term.md": { + "mode": 420, + "sha256": "c40286635675a91ce779b887a0394e92f946844873a778015efb98c4a105b67e" + }, + "findings/subsystems/loader-prototypes.md": { + "mode": 420, + "sha256": "f1d09471d5e17c45413b86805f561329f5af24eadfb17c3c740686c39b167ed6" + }, + "findings/subsystems/money-chain-float-widths.md": { + "mode": 420, + "sha256": "99bded6f2d34a713bc175deb4ad5ab4559ce1cc90274b036c1818ad8257c2fef" + }, + "findings/subsystems/movefleet-position-rounding.md": { + "mode": 420, + "sha256": "12dbdc03658cb042b5927586769dc9c19fc2eb812f703e73bf26273f8b0d65a6" + }, + "findings/subsystems/multiplayer-combat.md": { + "mode": 420, + "sha256": "2f4957011b5c5875b8aa7f71531dd5dfe3fd8df4f2c67a7be2fb5999f090c02b" + }, + "findings/subsystems/multiplayer-gamespy.md": { + "mode": 420, + "sha256": "a878e97775d27e085e58b18eaf5a67aaa522456d1055ca142f0477e3d6152d47" + }, + "findings/subsystems/multiplayer-tier0-verified.md": { + "mode": 420, + "sha256": "942ce29cbe22d8f7de5af54f2017c0433c7b8e1a56c864868ec906ffcbb9059a" + }, + "findings/subsystems/nav-classifier-live.md": { + "mode": 420, + "sha256": "b8aacdea8072a99ba1192e235088b372180f094795baf164e8cb95bd2df9f3b0" + }, + "findings/subsystems/nvo-tshn-visible-owner.md": { + "mode": 420, + "sha256": "ef96bb61769c02affd7148cd95e70bf358cbe6263fbe9b47aba6cf4cfa8486ad" + }, + "findings/subsystems/observedtech-append.md": { + "mode": 420, + "sha256": "61efcf51bffe53b8a10a2cdb8123db3f8c55b6874db87418fc31737efedaa652" + }, + "findings/subsystems/output-term.md": { + "mode": 420, + "sha256": "9eb9ff58a1d4cf34d3138f5044788b6f87ff4c94fa871b2dedd6ff6667196533" + }, + "findings/subsystems/output-turn-path.md": { + "mode": 420, + "sha256": "4e199e5cc14802c1b14b37cff0c1359b43aca94dab833f9024c7825c4c512588" + }, + "findings/subsystems/path-solver.md": { + "mode": 420, + "sha256": "3e0e318d45e14f844831c4180e47011263f64067dacf3249742882186d65cf18" + }, + "findings/subsystems/players-residual.md": { + "mode": 420, + "sha256": "e2f56c7983856470d37cd0fba4834a0ccb34dcaddbaf9acaf5dcdc253c6b3507" + }, + "findings/subsystems/population-growth.md": { + "mode": 420, + "sha256": "c2ec2f062e1224045b761640549e7374336ac762bd61c686a0c1378ad829a993" + }, + "findings/subsystems/rcex-explained.md": { + "mode": 420, + "sha256": "df7c9de6f02c1bd38f69e3a5344ec663d97b1d6b738ff408dfdeb0e2f6175b32" + }, + "findings/subsystems/relabel-new-ids.md": { + "mode": 420, + "sha256": "562ffe347adc6432a7824bfa2b324b6b1812b4fcc18343f0732c0f3d9991be20" + }, + "findings/subsystems/research-replace.md": { + "mode": 420, + "sha256": "d0f692cf687a7fe6aab62fc5d7d076eb595e1c33fd84c6f1e437ed01025cab4b" + }, + "findings/subsystems/roll-parity.md": { + "mode": 420, + "sha256": "7d97d7e5eee7b9f135e32b6553bb94ca83fd05b1eca7d18c42e9d65cae4d95d1" + }, + "findings/subsystems/rung-b-rich-turn.md": { + "mode": 420, + "sha256": "44378c6a305a82b2d131270fa5d97fdcd8a7fd5c9760ecbad7715383eac2db68" + }, + "findings/subsystems/running-the-game.md": { + "mode": 420, + "sha256": "f6109f69c6b86e4cf01d0f2e1f8be9921ff632513bca5d9e44e7f6c34f1cd260" + }, + "findings/subsystems/setresearched-cascade.md": { + "mode": 420, + "sha256": "9c079de161a1d1387339b8e8081395c1356c1443a0c898942acfb6efb65a454f" + }, + "findings/subsystems/ship-construction.md": { + "mode": 420, + "sha256": "86f570b1872c8dfac3982d1d7335f4798ccbd1bfd73c91d481afba2734c41216" + }, + "findings/subsystems/ship-design-composer.md": { + "mode": 420, + "sha256": "639b276e9205aaf6c90d9c458a383cc073e89f401ef8f17f8ad5a8a0c5899fa8" + }, + "findings/subsystems/snlv-measured.md": { + "mode": 420, + "sha256": "785324d176be969e1809090acd6b7a48d27f4fa41472c0d9c6f568c0b3a1e539" + }, + "findings/subsystems/spy-detection-roll.md": { + "mode": 420, + "sha256": "214179f5091408ef01ce4b80565068cb9a0885d1c6a233cda476280b9bf29c0a" + }, + "findings/subsystems/spy-program-draws.md": { + "mode": 420, + "sha256": "0c61c2f9cc767ae679921bfc42ef9a207ec9a6e0dc88419a673a8e439f1abfc1" + }, + "findings/subsystems/strategic-turn-internals.md": { + "mode": 420, + "sha256": "3a5c17e025d4968db6030f8ef1daaa2b03ccd4def12d35cf3a0eabcb0b5cbb54" + }, + "findings/subsystems/strings-and-config.md": { + "mode": 420, + "sha256": "67aefda7792e329b7df3f6e8cf42c7bae7049867cdda0741e871b183bc528786" + }, + "findings/subsystems/system-visibility-prediction.md": { + "mode": 420, + "sha256": "b420526ca0410bd4578dd2ed29cd9a21ed3578d6345d9f853a883e0159c1f89c" + }, + "findings/subsystems/system-visibility-record.md": { + "mode": 420, + "sha256": "d2843e10c156a7c85d7dab40d00204475fc725dc9b93656f6cde941ceceb5f51" + }, + "findings/subsystems/t34-observed-designs.md": { + "mode": 420, + "sha256": "207641821a55f5671749b000d478afd9e427336e2d123a55ad2203f34dfaa796" + }, + "findings/subsystems/tech-effects.md": { + "mode": 420, + "sha256": "7423f1e2cb2a597738b244d58bdf467431ee5de725ac434b904676ddcbcfc609" + }, + "findings/subsystems/techid-name-map.md": { + "mode": 420, + "sha256": "cfd92a7885dad3775465fc0c5b40aeb1749499f90071b44855ab8e1746d5f752" + }, + "findings/subsystems/trade-and-spy-workload.md": { + "mode": 420, + "sha256": "147057456fa30b6218df19679abab1ac31b78276a4272d221b70776e154396ba" + }, + "findings/subsystems/treaty-turn-stamp.md": { + "mode": 420, + "sha256": "fa0a8588847cc2b9e92cddeca65fd00fe3d84a00a1034d9354053c7e6cd9ceb5" + }, + "findings/subsystems/turn-command-replay.md": { + "mode": 420, + "sha256": "b65fa3c3c01c67bc16ec488e4a44e6c748256e941c80987528b7602038a56e07" + }, + "findings/subsystems/turn1-to-turn2-nondeterminism.md": { + "mode": 420, + "sha256": "9ebe834fa0f7c1cf864032ec67da76730ed6c239d6bd3a717f147490116acc4d" + }, + "findings/subsystems/turncommands-capture.md": { + "mode": 420, + "sha256": "a57fd2a77784fef1b176749878b161c4f04ac77c1f4a061a6b713787d92fb9ef" + }, + "findings/subsystems/ui-screen-map.md": { + "mode": 420, + "sha256": "d266285e3ca99ba3b5ebbab47c78f3df247a8b539c0519c6fd27a999b9d6f84b" + }, + "findings/subsystems/unlock-cascade.md": { + "mode": 420, + "sha256": "38d29a9484aa3910f5a62b5dd08225ba590bf26901203c5aef1b0b466fbbc5fb" + }, + "findings/subsystems/value-domain-census.md": { + "mode": 420, + "sha256": "bc99139708aee5da4cafec585fc35ab3523b51571518038db19b5f1383c6a6c4" + }, + "findings/subsystems/writer-byte-exact.md": { + "mode": 420, + "sha256": "a0e91a90d2ae78328dbaef30b37d53037cab26489e4729413bcfebbafcab0978" + }, + "ghidra/addresses.d/README.md": { + "mode": 420, + "sha256": "cf2745d5d3e504725ae5a296dc20e3d63b8d32a903445aafe2af61828a6d59c5" + }, + "ghidra/addresses.d/ag.json": { + "mode": 420, + "sha256": "24d5b11779364cf198008b143c7a3a092117ec4a1530c489497dbc8acdf62d8e" + }, + "ghidra/addresses.d/ap.json": { + "mode": 420, + "sha256": "e37f478836eb297f9cc5186cd7df3f5942abc4b6396a4d2866e613841437f778" + }, + "ghidra/addresses.d/ar.json": { + "mode": 420, + "sha256": "8d8620be8dd807a610ff63c0d77cbf266f3d9ce272158991d1f55d9c9910c248" + }, + "ghidra/addresses.d/as.json": { + "mode": 420, + "sha256": "08a869ab9466d4b575363cfb6fc084ca72cdc05d509c5d87e658a9a9977a7ae9" + }, + "ghidra/addresses.d/az.json": { + "mode": 420, + "sha256": "60b9a169605ac171cffb848024141c9224f6897bf69b547b9a4f2b5ddfc8d835" + }, + "ghidra/addresses.d/bu.json": { + "mode": 420, + "sha256": "79037146ba621e43e561bcf0577afc25b2ffac4ced44c902d2ea8ed9171b1bb9" + }, + "ghidra/addresses.d/cz.json": { + "mode": 420, + "sha256": "35de20ff0e38d05b5c58c89690dfc81ce44eb280a2a594ae862e55d56edb5d3c" + }, + "ghidra/addresses.d/dn.json": { + "mode": 420, + "sha256": "c41f877a37bc864f8f315a47b720ac204c22c25de405f4de63b845180641eba0" + }, + "ghidra/addresses.d/dt.json": { + "mode": 420, + "sha256": "580762e01175fb7246d0f9214e4ed9ba16bebcdb82ad1525fd1f77c0910c660f" + }, + "ghidra/addresses.d/lane-a.json": { + "mode": 420, + "sha256": "fce5f06866bddc6bca095d53e376495103dfd8900ad7da0d0d6731f105915d71" + }, + "ghidra/addresses.d/lane-a2.json": { + "mode": 420, + "sha256": "1207088eb2ae041afc2618a627029e25f578ae9fe8db73bb9efb616f39c34bf0" + }, + "ghidra/addresses.d/lane-ac.json": { + "mode": 420, + "sha256": "02a1c2f01ca0d11a7c38d416d94fabaea64b5c5919f6ceaead83430fb398710e" + }, + "ghidra/addresses.d/lane-ai1.json": { + "mode": 420, + "sha256": "134a0cb87b95bf5f39ed015bcdf64c6e8da6b22e073d5b5487148cb5421addff" + }, + "ghidra/addresses.d/lane-ai2.json": { + "mode": 420, + "sha256": "e9d94ce026231d420538400fa9c73fa8a2fa882d16f542c6b8ce2c34014acda6" + }, + "ghidra/addresses.d/lane-ai3.json": { + "mode": 420, + "sha256": "89c29e1bbb1159b7b6fb4fc8c232902f8497efc82290aba6f50c9c9097feec6a" + }, + "ghidra/addresses.d/lane-ai4.json": { + "mode": 420, + "sha256": "78b7897d3d2678ddbff7cd982bfa7d93a0c26817846a148fd3f46790fef9d7fb" + }, + "ghidra/addresses.d/lane-b5.json": { + "mode": 420, + "sha256": "641c724d1fbf28f5469aac488401ea2f92bdd3b929fbf053ddeef0ba5b8de9da" + }, + "ghidra/addresses.d/lane-b6.json": { + "mode": 420, + "sha256": "b2b2833220e3a645efab2b767f1d93d1215a54d195e28e6743db8f1d89934697" + }, + "ghidra/addresses.d/lane-c3.json": { + "mode": 420, + "sha256": "b732932503c181c77bb14ba0136379c8fa3501d0c1471b02d9bca7d023bb5f5a" + }, + "ghidra/addresses.d/lane-d2.json": { + "mode": 420, + "sha256": "8b5df39fb5eea0cd40dffc20aaccabe169f5472171dfd242ca2e75dfc4ca608c" + }, + "ghidra/addresses.d/lane-e1.json": { + "mode": 420, + "sha256": "cb38b41b747bf74ee73fb7eaa301da4bb896d089fa1dea4197382e94940c7f69" + }, + "ghidra/addresses.d/lane-e3.json": { + "mode": 420, + "sha256": "a5fe9dbb37ee587bf36a311771bbc9d8dcaa4d4fcc0b420b8f45829929b0ff98" + }, + "ghidra/addresses.d/lane-ev.json": { + "mode": 420, + "sha256": "b243d31bcd69bfb1e5928ba8b70e958e559c88ee5190ca34e569f217a784798c" + }, + "ghidra/addresses.d/lane-g2.json": { + "mode": 420, + "sha256": "84401f05c5cf2ca0839e817877892e904b3fd2fd4175607abc34453acd8ce822" + }, + "ghidra/addresses.d/lane-g3.json": { + "mode": 420, + "sha256": "d176eb4a07bb6b98acea77e1a0a9904d317a594768ecf8719bbfacbdf6522729" + }, + "ghidra/addresses.d/lane-h.json": { + "mode": 420, + "sha256": "e8cffe89c7feb1d9fa1949f33aff01edc7b84b49ab752275662f6f613c16c0b6" + }, + "ghidra/addresses.d/lane-i.json": { + "mode": 420, + "sha256": "a4c482ff6fee78e96da3400b9ba7d76b58634a5933ff388db5993a1b105c8aca" + }, + "ghidra/addresses.d/lane-id.json": { + "mode": 420, + "sha256": "3f48c9b2e2c3a08e13a856bfb78d551af17f5a1a1079f03f8edbf4615f17ca7d" + }, + "ghidra/addresses.d/lane-j.json": { + "mode": 420, + "sha256": "4fd95b08fee60a2748995cb082fe50d61e7179ae90b106f230bfc5c55a35660d" + }, + "ghidra/addresses.d/lane-k.json": { + "mode": 420, + "sha256": "f6ead3ff256fd2e1408d52bfa28e308f106ad672b3fe1cce0d136faac351136e" + }, + "ghidra/addresses.d/lane-l1.json": { + "mode": 420, + "sha256": "ecbab4a1b602beefd6889effc4883b7f7de01afabb7c5c071bbc4e2237e9131b" + }, + "ghidra/addresses.d/lane-l3.json": { + "mode": 420, + "sha256": "eabb96253bee36c799f1eb89108e284162606cfdc5e9bd29dbf7b5f88ee88adf" + }, + "ghidra/addresses.d/lane-l4.json": { + "mode": 420, + "sha256": "5b2b54d2f3e123e352e9a2b0f1d80fc8afcdd0b97916a94ee5a62ddc03b0ae75" + }, + "ghidra/addresses.d/lane-l5.json": { + "mode": 420, + "sha256": "cedc4869149212d401c519c46fa3f02769f9c939fc560fe8d35cc4f898091482" + }, + "ghidra/addresses.d/lane-n.json": { + "mode": 420, + "sha256": "6987efa430f2da8987e42e61e53113f914cb00e3e52a7c679565e7faf5160c82" + }, + "ghidra/addresses.d/lane-o.json": { + "mode": 420, + "sha256": "7fcf357f25ccdf061b6bc688339e2006f830c551718b6419a0a9d0ac968bb555" + }, + "ghidra/addresses.d/lane-p2.json": { + "mode": 420, + "sha256": "7eaa63d64a0054ef88f323f58b31fca07bd2372dc21560b4bda64eb13d869792" + }, + "ghidra/addresses.d/lane-par.json": { + "mode": 420, + "sha256": "3836b786aec28feb028271d05f368d7c332b8930b51cfdceb36540133a3d3237" + }, + "ghidra/addresses.d/lane-pl.json": { + "mode": 420, + "sha256": "f29953d17effbb7d8256687833023d4656522e74c40bf1ea646d3b35da3635d7" + }, + "ghidra/addresses.d/lane-q.json": { + "mode": 420, + "sha256": "6f98496ffc288fb30c3a7347a7e5252b296f2345afd1bf678f98a2c934b8935a" + }, + "ghidra/addresses.d/lane-rb.json": { + "mode": 420, + "sha256": "bff95b9452e0efb63e74f741682c8d1843abfe3e722143cf01cf092aa894d75d" + }, + "ghidra/addresses.d/lane-sd.json": { + "mode": 420, + "sha256": "d3239b619cbef5cddc9c7bde6525301a99a6423f8a0e42c1ea53b9ae269c6da9" + }, + "ghidra/addresses.d/lane-sv.json": { + "mode": 420, + "sha256": "f574d8b4dc75da722870c74eb29cd56c75e04dd0ac384b4549fc95d425e3de3a" + }, + "ghidra/addresses.d/lane-t.json": { + "mode": 420, + "sha256": "70975f3c1dea55ceb11af12b9ba3a04e8f7bba2e25f1355ffcd3cd457c41545c" + }, + "ghidra/addresses.d/lane-t2.json": { + "mode": 420, + "sha256": "1e3c59089b769cc5f5d3cf16c33cb6db002966f5beb1a4fb9dd8e28fe54cd6a7" + }, + "ghidra/addresses.d/lane-u.json": { + "mode": 420, + "sha256": "bcccb6ec9257537eece135adbfd126904ca0becf14f9b5d17253adf5d8c9e8fe" + }, + "ghidra/addresses.d/lane-v2.json": { + "mode": 420, + "sha256": "6a4d4960ce99c05b928164159eaf4482bf763785a1f8c50efe133667886d9a54" + }, + "ghidra/addresses.d/lane-w.json": { + "mode": 420, + "sha256": "3971d65c772146534f5d8c350f2d203add70ac82801f57f3704c47cd59b51226" + }, + "ghidra/addresses.d/lane-w2.json": { + "mode": 420, + "sha256": "677648e94de8e1e0d538c9575c9be942d0b37c1a847effcb3c2312af5b6aa7d9" + }, + "ghidra/addresses.d/lane-w3.json": { + "mode": 420, + "sha256": "50ed8ed1b16288b00bac4df0886646dbf9d6d6392867029b4eac386806b41b51" + }, + "ghidra/addresses.d/lane-z.json": { + "mode": 420, + "sha256": "bc63a82f2d0cb7636e95f8a07f183f80817a4c65d2bb7263a047ec3c540512eb" + }, + "ghidra/addresses.json": { + "mode": 420, + "sha256": "865c02d88ac6ede656160a5ab20521ad8854efa381d5a943ab422216aca2c016" + }, + "ghidra/generated/sots_addresses.h": { + "mode": 420, + "sha256": "1cf6b4ab40d3cde306edee12ba4eb05292b98ddcf5c2b7c22c1c64b6075b1bdf" + }, + "ghidra/scripts/FixPlayer.java": { + "mode": 420, + "sha256": "9f9ea470af063339511b1f1c85d6dea2df0827c4fed5806c6f641b1aad3e5660" + }, + "ghidra/scripts/FixThis.java": { + "mode": 420, + "sha256": "aafeeb482f71d1bdcbc99a51fb3f21989a46fbb49b5a572f3d9e436c9b3b98b4" + }, + "ghidra/scripts/LoaderRecon.java": { + "mode": 420, + "sha256": "1275d460227e0098254885fe70666d618da7215bca99483a5475c1e701ab9b27" + }, + "ghidra/scripts/LoaderWriteBack.java": { + "mode": 420, + "sha256": "d1040cb9ee80f0fe4d2310d95b38d7d94b0972283f74ea6058de0bdb9e510e63" + }, + "ghidra/scripts/SpineRecon.java": { + "mode": 420, + "sha256": "bea798733cf60f9478373cc453692104058b643ba5b7fc68e76945ae6f496950" + }, + "ghidra/scripts/SpineRecon2.java": { + "mode": 420, + "sha256": "94f10ac953091d50187a46b74803abb4812b244356f9336fa8e133a8a6cba0c6" + }, + "ghidra/scripts/SpineRecon3.java": { + "mode": 420, + "sha256": "b2344ab3d7195cfb935505ba1949f3d4862f787ccb95b812cef3856f92c94ffc" + }, + "ghidra/scripts/SpineRecon4.java": { + "mode": 420, + "sha256": "1093ee635be94f0c0bb31b5bd79f030faa0d7cbab96a495426363172cbcd1d66" + }, + "ghidra/scripts/TechFx.java": { + "mode": 420, + "sha256": "bfa8e990d65ad7cb2b665ee284ec2d645395e0fb3794ea146b175e2937a159ad" + }, + "ghidra/scripts/TechFx2.java": { + "mode": 420, + "sha256": "ee7040ed3316f2e717bac207c3e8ba9bf5ecb560f9e2b38335582c4ca6bae5a8" + }, + "ghidra/scripts/TechFx3.java": { + "mode": 420, + "sha256": "b672751160abcfee37d16eb2f107a60420b7d6956c312fe93e9f62578c06b96a" + }, + "ghidra/scripts/TechFx4.java": { + "mode": 420, + "sha256": "ef912e86f802452f33c20a1adb87eeb96f0ec893e26ee4bbd02305ba0c5e46c7" + }, + "ghidra/scripts/WriteBack.java": { + "mode": 420, + "sha256": "e002a5b86bc58cf75ef8d08dbaeb84bdf3306c1e8d49e92c0382f8ed858c57ac" + }, + "ghidra/vtable-owners.json": { + "mode": 420, + "sha256": "8ee89f3b43f56283a6ffcc605394a1ab246f8071370a9db8f1e770942a5a82a3" + }, + "guides/lab-screen-wall.md": { + "mode": 420, + "sha256": "d398b47853013dbce63b4af2f2ec680c39775732b9fbba13f5fc42a46628550f" + }, + "guides/method-rules.md": { + "mode": 420, + "sha256": "a71a8415202fe97ccaee3805bf4035684776c37f5613dc39a1f260aa33f94b69" + }, + "guides/multi-agent-workflow.md": { + "mode": 420, + "sha256": "f5bf0c30c12a3a9e1725549fe000be0105d415ca25b120673a780901148f08da" + }, + "guides/re-windows-2000s-howto.md": { + "mode": 420, + "sha256": "3490650440d6e683cb029915b8c2cace914b1f52538c9db89175ad4547db2901" + }, + "guides/windows-lab-housekeeping.md": { + "mode": 420, + "sha256": "4a9e9d66dd76e6b5ee1951686186190c650a617fa812fa4bd236ef02b783939a" + }, + "notes/.keep.md": { + "mode": 420, + "sha256": "7878c159a1b9636974e9093902027a24bf7b3c7520f13a8d96f930bd10d22f1c" + }, + "objects/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "objects/layouts.h": { + "mode": 420, + "sha256": "24586f7f1c25530691193a919c6335ab1784fa2815b222326409cfe9e2a42981" + }, + "objects/layouts.json": { + "mode": 420, + "sha256": "16bfffa5020d98c12af61c72a48da8f2c5e06d1060358802717e585a49b150b2" + }, + "objects/layouts.md": { + "mode": 420, + "sha256": "83bc29fcd379847f9ebd6732edf9748c1c878052e889615928659307f97a148c" + }, + "objects/streams.json": { + "mode": 420, + "sha256": "60993eda14d0b1056578718d43a3b6d89816e12c4f5a00674806aeef9e81baf7" + }, + "opencode.json": { + "mode": 420, + "sha256": "d24be7fcee57d5eb04c6b7189822a2ca055dd4a70daafbea67f09a120945d49f" + }, + "scripts/.keep.md": { + "mode": 420, + "sha256": "b0cdcee8cfdc1b15ee444520b6b01c747399deea6d92ff2576ca6eb57331bbac" + }, + "scripts/forgejo_campaign.py": null, + "scripts/lane_v2_writeback.py": { + "mode": 420, + "sha256": "69a66058adb04926eeb6f0e81fa8f0392ce06de2e8d8eb61ebcf503bab6311da" + }, + "tools/DASHBOARD_README.md": { + "mode": 420, + "sha256": "f401cc54f64a4862a938263f37eaab22e6475e063e59726e02dce201f657dcc4" + }, + "tools/aiorders_to_tcb.py": { + "mode": 420, + "sha256": "9762d1fd45f3ab7c045088e222c5386a2cc63a6b25e1c09a49cbbd71837bfe17" + }, + "tools/cache_functions.py": { + "mode": 420, + "sha256": "18c037e48ab035764b0c877123ea7c998ef74240c63090e4f58142f57835e0b1" + }, + "tools/campaign.py": { + "mode": 420, + "sha256": "c7b7c7a30d907bba8e59386dee8704d7f3f5e978fcf709b686e37996fa465c31" + }, + "tools/check_agent_config.py": { + "mode": 420, + "sha256": "93115532cb38105777a5c5c20a9f2a808043370e0d4f560a9c82fe8e800076ec" + }, + "tools/dashboard.py": { + "mode": 420, + "sha256": "c84aeeea6fb7d5e45ccec8882bacc59182149f108edd9eb1585eab9ede99911c" + }, + "tools/displacement.py": null, + "tools/evidence.py": { + "mode": 420, + "sha256": "0a7f8497ed287b4b64aa5ba0cb25735172408e38f3605b3ff90f009c7f02eb85" + }, + "tools/gate.py": { + "mode": 420, + "sha256": "4df5ee7022fb2601687f06eab788e2cea1e345e580c4e92c9d47be1787d37460" + }, + "tools/gate.sh": { + "mode": 493, + "sha256": "d7ba27b9b0c6a03df48e4edc71884ef9986743f8afa751dbfec116df5aeee18c" + }, + "tools/gen_addresses.py": { + "mode": 493, + "sha256": "5d995585d4192a19db7cc6d31ed811fa80264159fc114f03f58793f9b6c4908e" + }, + "tools/gen_stream_schema.py": { + "mode": 420, + "sha256": "a9c3e925bb3370371a2c8cde8d738c657fe1cbf68c39c6155562bbb20c551461" + }, + "tools/max_income_oracle.py": { + "mode": 420, + "sha256": "8d3ec6ba5c677486200eab7d1ca55e1350947829e603737307fa394ac8e40bcd" + }, + "tools/max_income_predict.py": { + "mode": 420, + "sha256": "85400c82b6cb7c6786b7fb6486bdc7bcb1140817f7a0ff0b4fa4f7dbeded8797" + }, + "tools/probe_report.py": { + "mode": 420, + "sha256": "f3ef378c10bae4a8bef754d853f0e86616bb95b5e051e04cac97d362587df1a7" + }, + "tools/reva_call.py": { + "mode": 493, + "sha256": "89477650d38985f84b61a664572de1cbde1268b879d3da5e874598942822998b" + }, + "tools/rng_ledger_report.py": { + "mode": 493, + "sha256": "b4f3f581eb6de50118fd531c848354816c20197711e668ce8b0cfcb4d0392cf3" + }, + "tools/rng_oracle_check.py": { + "mode": 420, + "sha256": "f27ca7f9aa03bc672f04067bc71e73ac83742997f12f5f55ce11151bdc39d98a" + }, + "tools/rng_site_report.py": { + "mode": 493, + "sha256": "fabd950c002265403f7b13a8868a158d867828c9930770ed096a2610b086ad35" + }, + "tools/rtti_map.py": { + "mode": 420, + "sha256": "9ac88a8aa566fe08336ba6e50905ec4253409e1317f491c415b1b9ebcc0713e4" + }, + "tools/run_agent.py": { + "mode": 420, + "sha256": "0f5ccb53dcde59b64fe999768737b6cbd2dabcc1272e5605c1f1ecd86e5d5d2b" + }, + "tools/select_evidence.py": { + "mode": 420, + "sha256": "a6e648a77bcf799cc774ff9d0de83011283049ed0f0c44f6e08857a8410e9463" + }, + "tools/serializers.py": { + "mode": 420, + "sha256": "938904eb7b4ae30a61dd966494b112c6d52399f9d4a4658add06b40a54d6cb73" + }, + "tools/serializers_ghidra.py": { + "mode": 420, + "sha256": "d27da0afc8d043d31335bbe274fc76245e50cf0f9091a968b124f31c3a17997c" + }, + "tools/serializers_golden.py": { + "mode": 420, + "sha256": "29d2509b54704b80eff46a59a320719edb17a7eb67fd8acb8ad5e3c427d8e825" + }, + "tools/standalone_report.py": { + "mode": 420, + "sha256": "43a61c4031306732554aca23cd95b57d35f2a870766c33ccf8e005f22436525c" + }, + "tools/streams.py": { + "mode": 420, + "sha256": "57ec4ec5ad222a74f4461d70277d258e51779ae53ff74fd0e07eb51d4bae0afd" + }, + "tools/strfootprint.py": { + "mode": 420, + "sha256": "3b0db212c0b091ae2f63b866ee331435d013c535f233ec34ae3dfb63ded852dc" + }, + "tools/tcb_from_json.py": { + "mode": 420, + "sha256": "8fe09cff16802fda34db24f6f888610baa258399ab39173586b91a7a162f231a" + }, + "tools/techid_table.py": { + "mode": 420, + "sha256": "2c644bdbd3774b70dfdae7e77ff7a3a8e8563b58be7098a2d55ee30dc8b8fd07" + }, + "tools/turncommands_capture.py": { + "mode": 420, + "sha256": "0214d5da6f5f86e188bb2f03db8d3439267baee3a883c7df754601c7c1a38536" + }, + "tools/vmshot.py": { + "mode": 493, + "sha256": "09228bf8bd61918c49afc2b6da931fc8a7833be126be5384b85194e0e86eea44" + }, + "tools/vmwatch-install.sh": { + "mode": 493, + "sha256": "3c004f532422bd589a7294dabdf54d5a726f598c69012eaea3d73a748ad0123a" + }, + "tools/vmwatch.py": { + "mode": 493, + "sha256": "650d8232e46239a55b96f26d581d7d9c5815415c9014fd2e5b846b68c1346b39" + }, + "tools/vtable_map.py": { + "mode": 420, + "sha256": "2e19223efb79421ab4b807e32f0854b2592d7d3a3a52c12e84e47460b960f740" + }, + "tools/windows-housekeeping/Invoke-Housekeeping.ps1": { + "mode": 420, + "sha256": "a97911a3cfbd47813282efa7f52b4de03d28912487fffe0e7e7aa1a250cac01a" + }, + "tools/x86disp.py": { + "mode": 420, + "sha256": "a05a42d63813d2025a4da65bdd684e82a89c95c52901a8f490391e31c49a122e" + }, + "verify/campaign/test_controls.py": { + "mode": 420, + "sha256": "108460f4e90c4cb7036642e85de581e31fd70c478533c32364691260461814fc" + }, + "verify/config/test_agent_config.py": { + "mode": 420, + "sha256": "e60ee546672da91de08ca8fdd5d563b5f1207d0a865adf935017e06bf437585b" + }, + "verify/config/test_source_check.py": { + "mode": 420, + "sha256": "c16731e31a54256dde4f88d33007759ff21ad8537ca6cd2be38b9e34c59525ad" + }, + "verify/design-rules/SHIP_DESIGN_RULES.md": { + "mode": 420, + "sha256": "4decf51bfa03e8ab2b58478198332e834233100126949b920349f210b54521c8" + }, + "verify/design-rules/data/HiverInvasion_FleetTemplates.csv": { + "mode": 420, + "sha256": "327e799be3c75361267725c157f78b425d3a1df6ed6595104b2ce9993e8ae3a7" + }, + "verify/design-rules/data/UpstartApes_GiftFleetTemplates.csv": { + "mode": 420, + "sha256": "89939d70eb6ed48ec776a4a6fc50ccb68fc6be7162706bab199484bf7cdd5e44" + }, + "verify/design-rules/data/_defaultweapons.txt": { + "mode": 420, + "sha256": "ef9e33aa32840f1878ece67f88556d81a4255f63f6e8aad4ac73e575ef2c7ec8" + }, + "verify/design-rules/data/_turrets.txt": { + "mode": 420, + "sha256": "35de6ad40895f76298eef7dc354c739a5a59747b689c2324cfa5040442eddc18" + }, + "verify/design-rules/design_rules.py": { + "mode": 420, + "sha256": "772f70c7d6be2d20d10cf4f5d412233b267440d63d431bf7b320c29f3f06e313" + }, + "verify/design-rules/stock_designs.json": { + "mode": 420, + "sha256": "b363023e02899bc03e4c8b8423b394ef8abb190b1bcf437aade19be463353f68" + }, + "verify/design-rules/stock_designs.py": { + "mode": 420, + "sha256": "fe020f6058ec25b6fc456146abb6594825ee2b98ba5c5c5eeaff969ce4596031" + }, + "verify/design-rules/test_design_rules.py": { + "mode": 420, + "sha256": "6f6764d21d7a3337ec8aba9651b19947239a7d06a6cdf7c6e9be5ddefcfdd186" + }, + "verify/fpu-cw/cw_census.py": { + "mode": 420, + "sha256": "07b7ac5ae60df487867b592e82e9f74201b695437fba248813bc07305a21c7cc" + }, + "verify/fpu-cw/trace_bitdiff.py": { + "mode": 420, + "sha256": "b25c93d70e67ed2fa81e5ea7184f8ffe0cbd2e7c043bc94f923c3db1cf101b59" + }, + "verify/harness/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/harness/cb/README.md": { + "mode": 420, + "sha256": "7a656251a600a9343ffa8afaa4f227e7cb8086be7d3c6879c0a403ab8acec71d" + }, + "verify/harness/cb/cbdo.sh": { + "mode": 493, + "sha256": "6f3d7fd35aeedb0841be9df0ba19136be2e7ccb5c44950d8aa821c61727232a6" + }, + "verify/harness/cb/cbfull.sh": { + "mode": 493, + "sha256": "609101217e9d35bf1caa5cb66f362e0796fcf6c1264bd92ff550d0ed12ca2521" + }, + "verify/harness/cb/cbload.sh": { + "mode": 493, + "sha256": "2e56bb64609434f6dfc6ebcf71a3c839ae59170db80c996ebee7c2219cb664ec" + }, + "verify/harness/cb/cbmenu.py": { + "mode": 420, + "sha256": "fb2e72a1a5390aa28dcae0fbc2d7b920b06bf3b1ea161bb757d4db3c8cd23af2" + }, + "verify/harness/cb/cbstep.sh": { + "mode": 493, + "sha256": "5896b21e8cf08b40e2a2958e44a51beb7e5b5a58cf35d405879a5df7cdd375b4" + }, + "verify/harness/compare/TRACE_FORMAT.md": { + "mode": 420, + "sha256": "cf6f61dc255e3aed0f293c141d9fd3b0d5e848e3abe4dcf50b4ca2d58e37c024" + }, + "verify/harness/compare/mkfixture.py": { + "mode": 420, + "sha256": "f081dd92b9e82e838f59ce8f9c79d5cdebb825255f13b6c49178516e7f3ef118" + }, + "verify/harness/compare/oracle_parsers.py": { + "mode": 420, + "sha256": "b1a745bfa63b447c87279afdb2885a0218f2a0dc2539f79414f8a2534e24c97b" + }, + "verify/harness/compare/test_tracecmp.py": { + "mode": 420, + "sha256": "f25eb9d5ea7215b8366c44924fb49a5f028a0188e709dadfd90cfbc30db0823e" + }, + "verify/harness/compare/tracecmp.py": { + "mode": 420, + "sha256": "d6ca461cabf15351e2040150144084b93d3caf22d879ee158ede04052ab03cbb" + }, + "verify/harness/l2-ui/README.md": { + "mode": 420, + "sha256": "48effd757522ee5ff70af6d77449dcfd805bb7744c9093d01c039b86e030d7f6" + }, + "verify/harness/l2-ui/launch-b.cmd": { + "mode": 420, + "sha256": "8f26c451a88765c49ecb3c8160ed4a3d06f1100a6d9323b305efc01f039dfada" + }, + "verify/harness/l2-ui/socks.ps1": { + "mode": 420, + "sha256": "401cce47d495507f60eeae45942c146586464959046ef9715cd69605753af027" + }, + "verify/harness/l2-ui/ui.ps1": { + "mode": 420, + "sha256": "355c8f222bf99f547d9d16a1665a072e6914917d48e4db22b8438d2d83708e97" + }, + "verify/harness/profiling/battle-run.sh": { + "mode": 493, + "sha256": "79f14ded5c3731efd655a6f9a4ac6795f3ace0a9b064c43ba4bf9a2cb988a7cf" + }, + "verify/harness/profiling/funcs.py": { + "mode": 420, + "sha256": "841a6f5e5dc1d845b7439c9ce9dc08e045864929b0f367908abea7ab54259207" + }, + "verify/harness/profiling/funcs.txt": { + "mode": 420, + "sha256": "d35b17dbb3970f5c24ae862748c5b91aee87491968719c34e48a8b88c0615835" + }, + "verify/harness/profiling/iat.py": { + "mode": 420, + "sha256": "82465ef8284739ab3d3c99acd0fa6cc5a4bb80c8680eb7a949218305fd10d3d3" + }, + "verify/harness/profiling/inspect.ps1": { + "mode": 420, + "sha256": "35bc7dd85108e3f4686975ef7f510b1cc9306b5839329f7fdd2a5ac27a140611" + }, + "verify/harness/profiling/names.txt": { + "mode": 420, + "sha256": "89d90f934e445447c68569448471a8917ee0bbfcb5fb96bba3e6566be9b0779c" + }, + "verify/harness/profiling/parse.py": { + "mode": 420, + "sha256": "680df36804e923d74da8e9fd8877b5ea66975c9ce8d239ad4507c829f881722a" + }, + "verify/harness/profiling/sampler.ps1": { + "mode": 420, + "sha256": "ef0edde8535ef07e508a732f8e11dc3d50fef966e5a9e4d8161085a83372993e" + }, + "verify/harness/profiling/shots.sh": { + "mode": 420, + "sha256": "87e554abf08068d6438417e266f1e7820e34a900a7d559fa0a7c4a2fa18002b3" + }, + "verify/harness/profiling/timerres.ps1": { + "mode": 420, + "sha256": "80362eb9ec8bd882abddf2507236e70db2dd21f64c9db07d217bdd49361ed89c" + }, + "verify/harness/profiling/turnloop.sh": { + "mode": 493, + "sha256": "8e28f076599a9eb53eace77ad77a10b0770f1ce617c7a76e6a2b9044ee0c8774" + }, + "verify/harness/profiling/turnwin.py": { + "mode": 420, + "sha256": "e2033a8e519a7c9f65f67b5592494a9843eb8bef41af6ab5652343aa86bd4c60" + }, + "verify/harness/profiling/ui.sh": { + "mode": 493, + "sha256": "e66774a4d070285e6c6a62472000222a691c7192096039e75fa726bab9f6afb7" + }, + "verify/harness/run-recipe/click_helper.ps1": { + "mode": 420, + "sha256": "150a1c17e12e8479244107cd01d95233c84d550e95a6f5e352fd529818a21d7d" + }, + "verify/harness/run-recipe/display.cfg": { + "mode": 420, + "sha256": "76b4876abd1cd163a5cc6b65a6106670476cde40c9b868a53a0dc45f517e132f" + }, + "verify/harness/run-recipe/dxvk_d3d9.log": { + "mode": 420, + "sha256": "f48ff2684a78cea563ab7f10e2f005638044352fe9cfc30dedf0f26ec7fecf23" + }, + "verify/harness/run-recipe/launch.cmd": { + "mode": 420, + "sha256": "90a6effe8ae835bf641cc775a17ad709198fdfeded4379f658255a82f594e5c2" + }, + "verify/harness/run-recipe/lvp_icd.x86.json": { + "mode": 420, + "sha256": "b89a08526e043a84c3a2550b5ea2fd7692f547ea295e8dd70e79c64fe81f6fbf" + }, + "verify/harness/run-recipe/run.txt": { + "mode": 420, + "sha256": "12c83295dae9db4a98142ef8fe7e45321c90960428df504ed3496e27838a0413" + }, + "verify/harness/run-recipe/session.log": { + "mode": 420, + "sha256": "e9ce9b496e9ee55bd64cc27afe594cee6136dfbc6cf9d9d44e9914b27e568a93" + }, + "verify/parsers/PARITY_NOTES.md": { + "mode": 420, + "sha256": "beecfe60358f5977529bd0784ffe18ca03c38d2dd36766f351c6a9addac83bda" + }, + "verify/parsers/effect_txt.py": { + "mode": 420, + "sha256": "7219045dfaf305dd64218ff8096e8cac69a53df1aabdf85f15e6c5e01c963e74" + }, + "verify/parsers/flat_kv.py": { + "mode": 420, + "sha256": "a26149cb21d152be5cbada3b764e042187daf2ec306b2dba1081737af6a7ae4f" + }, + "verify/parsers/manifest.py": { + "mode": 420, + "sha256": "62a08cfd82d5f701ae3b3f567bc8382cfd1b33b49bf6049ade47a932ef7109da" + }, + "verify/parsers/mars_data.py": { + "mode": 420, + "sha256": "90c7b8421044b1d7e262e6f20e5af391d97a712b12c2d3f0c3033567881d536f" + }, + "verify/parsers/verify.py": { + "mode": 420, + "sha256": "cc5d619bd6b3ca161b4bc8050c30e7d77f6bd3e964c971cc29e051efc1e25a33" + }, + "verify/publishing/test_dashboard.py": { + "mode": 420, + "sha256": "cc44e516da663f5d27bf817cbcbf24c052f2db52ee887d08d7c271caf8f6a000" + }, + "verify/results/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/results/compare/.keep.md": { + "mode": 420, + "sha256": "4581f3fde61549f4c621b2f114228a62d066a528a270a9b41703238ff841ac1d" + }, + "verify/results/compare/b2-techfx-compare.json": { + "mode": 420, + "sha256": "b0533322d44b1694f36baf86d6660481ac5b22ce9c1d6b6b9668ea064cc08f4b" + }, + "verify/results/compare/b2-techfx-golden.json": { + "mode": 420, + "sha256": "4298a8229b85a3329c78d3618d3eb19aff096cb2da66e9238fd843d639b17f11" + }, + "verify/results/compare/cr-compare.json": { + "mode": 420, + "sha256": "f20e9a7c71412688c02b607f08a5224367598eba552e35a50e9922ca8f12edab" + }, + "verify/results/compare/cr-compare.md": { + "mode": 420, + "sha256": "0eb905744120b1cf264ba6e57497db64fdc8e225a87ef7bb86cf3f026ffe4d0d" + }, + "verify/results/compare/cr-replace0.json": { + "mode": 420, + "sha256": "f1556c5d74c236c82617061b5ec60b1a7ce4652bce87b6595eb89406ad832240" + }, + "verify/results/compare/cr-replace0.md": { + "mode": 420, + "sha256": "6f571e46350a29b811bc12b48e12ed2d443acba5f5be6310e0531c3790425d48" + }, + "verify/results/compare/cr-replace1.json": { + "mode": 420, + "sha256": "d0c1d6bd4a1f8f5343b584662d8202184479b01a51480443a97242daf27fccc2" + }, + "verify/results/compare/cr-replace1.md": { + "mode": 420, + "sha256": "111b51290468d5482a1910194487d26dc1b3ec534d699aa07a564de66bbf9d98" + }, + "verify/results/compare/eventlive-b3-t1-5.json": { + "mode": 420, + "sha256": "4f305180bcbe93523f407d1f8406ac52b84d4a20e2d611940716618fd37edfde" + }, + "verify/results/compare/eventlive-b3-t1-5.md": { + "mode": 420, + "sha256": "ec71d98210218fd5b5da69f6b17cf6991128a58a0358a6504e6497dd39159764" + }, + "verify/results/compare/eventlive-b3-t1.json": { + "mode": 420, + "sha256": "84f66c1e6a23f737d1615e75fd22fba958bfd851067acb42503e32a2812dd1de" + }, + "verify/results/compare/eventlive-b3-t1.md": { + "mode": 420, + "sha256": "299b8dd3f2cf42cbc9e6254fac01ee3dcb6abb0758c8f298beb6cc6464db4cfb" + }, + "verify/results/compare/eventlive-b3-zuul.json": { + "mode": 420, + "sha256": "a1a92c06202c8168362c33442edeb7ea7f76f6e586e5deea1b86dff9dc8f3494" + }, + "verify/results/compare/eventlive-b3-zuul.md": { + "mode": 420, + "sha256": "544791f9cd8b77a2d865f2a918d97e74559529f29943171bd1e8e2d8a120dec5" + }, + "verify/results/compare/l5-budget-boundary.md": { + "mode": 420, + "sha256": "6877f9cfc602876b4c213106493853822471a5aaa3e4e8ebf8dffd31373d89d9" + }, + "verify/results/compare/mf-after.json": { + "mode": 420, + "sha256": "586a824a0d0af1de0808c33c1c392c4022128f9c1305dc32b6749e8fa493e8f4" + }, + "verify/results/compare/mf-after.md": { + "mode": 420, + "sha256": "659be3da71cabfd3c34eb818f1bac07f848c58a878fd62d81ac7b1daa5f3ce03" + }, + "verify/results/compare/mf-before.json": { + "mode": 420, + "sha256": "259272b45ca9c63894d8c91e399ff91d7258b7836f1a0d5c91dd3972586b2498" + }, + "verify/results/compare/mf-before.md": { + "mode": 420, + "sha256": "4572530a1c93865d27aba47c23c418773ad39a834c8be1c004f5cc2f16f927a0" + }, + "verify/results/compare/output-ref-turn2.md": { + "mode": 420, + "sha256": "43a569165f9239f13edc31c7a848a6b839829ae06dd6e3b85d289a1552eb8d34" + }, + "verify/results/compare/output-zuul-and-ref.md": { + "mode": 420, + "sha256": "9bc0937c0b3e1e3e5a6cd3768dbfeae56a897615396b00834bd083611f3ef431" + }, + "verify/results/compare/recap-b1-compare.json": { + "mode": 420, + "sha256": "8e86cdd32373e41ac1cdc130b18acc188b35d5ab7112e1fc655d134c44ad9712" + }, + "verify/results/compare/recap-b1-compare.md": { + "mode": 420, + "sha256": "496a3246eda3be76d9d0f08726369d40aa879cf60a510f16209ae77585582841" + }, + "verify/results/compare/recap-b3-compare-t1-5.json": { + "mode": 420, + "sha256": "80eeeeccf15f427b75b053d06f6b32b1692a2ed9ca6b9a51c244e4166a1b0e78" + }, + "verify/results/compare/recap-b3-compare-t1-5.md": { + "mode": 420, + "sha256": "5b6295bff72d599f142e75fa913ca2da590322a6fd1d104328847159fc5e7802" + }, + "verify/results/compare/recap-b3-compare-t1.json": { + "mode": 420, + "sha256": "10d0d5f8aff90f6cce3cd87e30c7f8ff896c5b369f4dc8288141451e25727cb9" + }, + "verify/results/compare/recap-b3-compare-t1.md": { + "mode": 420, + "sha256": "2b0eb8865bb07a2dd8fd038bc19e38a34fbf19b9d3f6fabae085c16a74fbcc6f" + }, + "verify/results/compare/recap-golden-trace.json": { + "mode": 420, + "sha256": "50bb7e34ab2359adc83cc0647fc995d207173fcf6134e413565af450958f652f" + }, + "verify/results/compare/recap-golden-trace.md": { + "mode": 420, + "sha256": "586fc86fe78659902a5d0859c0bce44623bfcda0f375bb57b293796862c48e17" + }, + "verify/results/compare/recap-misc-compare.json": { + "mode": 420, + "sha256": "c73f3f3593a0d715a675b29c7b4f49c02a97578ee9d867ce15d217c43da2e466" + }, + "verify/results/compare/recap-misc-compare.md": { + "mode": 420, + "sha256": "b435c92441742b2b1b0236bfacff10c17757696baf446c544c4759b7e31237ed" + }, + "verify/results/compare/unlock-b3-t1-5.json": { + "mode": 420, + "sha256": "a4dbfc89f6f3d154edbbc62842a4e8d8a3c69b9589eafc1bb496b26a3ecf6e3d" + }, + "verify/results/compare/unlock-b3-t1-5.md": { + "mode": 420, + "sha256": "832626087ddc2da9064a192a1acfb3869d4a52c6398a070cbd66eaa1bdbe2e2e" + }, + "verify/results/compare/unlock-b3-t1.json": { + "mode": 420, + "sha256": "6d8938b8eaeb2da1c7fdccb1fb68f8e3a2b5b7f492cc096326cf3aadb2ab8d55" + }, + "verify/results/compare/unlock-b3-t1.md": { + "mode": 420, + "sha256": "8911e671a143c25765cd7c0b67f1b9cb23f4040fe26aad40ce59b1db858afdcd" + }, + "verify/results/compare/unlock-b3-zuul.json": { + "mode": 420, + "sha256": "3099d248d58c4395e92d65ad18c28227695a7c7935193be6c2bcf752fa0e0f04" + }, + "verify/results/compare/unlock-b3-zuul.md": { + "mode": 420, + "sha256": "f53b165c8502ba9b2416935179fdea68153fb6ebd2458b4ec9b4ecf6c741c91f" + }, + "verify/results/data-catalogs/crosslink.json": { + "mode": 420, + "sha256": "2966ba9780910b596e350c4f81eef5d74c4d235dc3a8d5cf6ad5fd53a407254a" + }, + "verify/results/data-catalogs/schema_stats.json": { + "mode": 420, + "sha256": "6e3f669ae77cdfa2c5cd6bbd29f5cecccd452d9a7b2397c2c23db6c33fda0a2a" + }, + "verify/results/data-catalogs/shipsections.json": { + "mode": 420, + "sha256": "2e7057c608d0cea755bf9dbfa291864d33e3f09ad5deff7bb3a8045bde7a4ab5" + }, + "verify/results/data-catalogs/strings.json": { + "mode": 420, + "sha256": "c36c1b2b9a2eace438f93698df6388fa94aec30d372bcd0bee7e09bb33c54d7c" + }, + "verify/results/data-catalogs/tech_tree.dot": { + "mode": 420, + "sha256": "96ce0492a1284167d82af2c07a8f8a0b3bb9864bc137195560d909df6a913055" + }, + "verify/results/data-catalogs/tech_tree.json": { + "mode": 420, + "sha256": "18df799410c5f650e15808c1ef247b4768a3dfff93795a5ec7f56cd6c4afc597" + }, + "verify/results/data-catalogs/weapons.json": { + "mode": 420, + "sha256": "a446b445c21519fc7992c84155c9652239567030843c405b4219d1f65022db01" + }, + "verify/results/fpu-cw/README.md": { + "mode": 420, + "sha256": "3928fd0f6a03a8ff0b170a7ed23a059120b5014b13bf6870d4f187ff299d5975" + }, + "verify/results/fpu-cw/cw-census.txt": { + "mode": 420, + "sha256": "b7854dc5cd249a2490d04264d758f1894a9ddf4b95573650365d47587c7589d3" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f-rep/shim.log": { + "mode": 420, + "sha256": "73b5b86da743a1cb37d4c0d97b29978923b55a7a47f80c7fa20ca47d424f6c02" + }, + "verify/results/fpu-cw/run-007f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f/shim.cfg": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "verify/results/fpu-cw/run-007f/shim.log": { + "mode": 420, + "sha256": "5721f47d7fd862156ce2cd1832cd1739636b5aee53c82323ef233ff6401775bb" + }, + "verify/results/fpu-cw/run-007f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "149c4fcf750fcf9e81dc86d8696271d9a14ca788891ac95cf96995e3737c68e4" + }, + "verify/results/fpu-cw/run-027f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-027f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-027f/shim.cfg": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "verify/results/fpu-cw/run-027f/shim.log": { + "mode": 420, + "sha256": "4bd3f88bd27eb2e3ae1f42f4dc2ccf1cc5df1a2c1171d2eff8be86e7be684187" + }, + "verify/results/fpu-cw/run-027f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b5d2611d0c08946c1e1eaa244a7e44782eac2592c392efb3d7147fbbd86816e7" + }, + "verify/results/fpu-cw/run-127f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-127f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-127f/shim.cfg": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "verify/results/fpu-cw/run-127f/shim.log": { + "mode": 420, + "sha256": "03f1999dc8964912697782e856f89f190b6680d5732f2cd00b1569bff727a545" + }, + "verify/results/fpu-cw/run-127f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "fb1b9063cc53a6b39ea0a58e0545b9334fbd15d65dd839e72f2c4febbb1dd3f0" + }, + "verify/results/fpu-cw/run-137f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-137f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-137f/shim.cfg": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "verify/results/fpu-cw/run-137f/shim.log": { + "mode": 420, + "sha256": "83aa72572412d5248179397895029367685fd590d795991ab91c98cf9828ae29" + }, + "verify/results/fpu-cw/run-137f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "aad1fb6abd86beafb9f44e2c6060157e22618811d105f2379252e19008839b66" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f-rep/shim.log": { + "mode": 420, + "sha256": "38f2824fbe91bf2fa1ef55473a7468707248420805b6f6dc85245fd34fa94200" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f/shim.cfg": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "verify/results/fpu-cw/run-1a7f/shim.log": { + "mode": 420, + "sha256": "a1bb0bd06dae6955ec09e7d0c6cd1e68e19aa2a114256cdeae1275def0a63091" + }, + "verify/results/fpu-cw/run-1a7f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b9a7affb8235626fcfdd5afe143e4ec03be869b6b386bd9ac78389097df88cef" + }, + "verify/results/fpu-cw/run-off/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-off/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-off/shim.cfg": { + "mode": 420, + "sha256": "6a19c362121a3dba0aac857d6e998131e8b2478f19edcdcbd58006645d096c70" + }, + "verify/results/fpu-cw/run-off/shim.log": { + "mode": 420, + "sha256": "9e3cbd005f0b68037681939b289834c55629bac0e9cd35ac55e6d8ef5333a116" + }, + "verify/results/fpu-cw/run-off/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "ec2271c0d7e09fe51ead7f8d58859c692e8b302233191841d506ea14248caa8c" + }, + "verify/results/fpu-cw/state-checksum-diffs.txt": { + "mode": 420, + "sha256": "3417dfc1b75ad896ac6a5e974d51248eecca319565e2422e146897d19e121b68" + }, + "verify/results/fpu-cw/trace-bitdiff.txt": { + "mode": 420, + "sha256": "8f86707f26f30638097c85f0db6df219adbfebac4e9ec24f1feb8bfce112d4f2" + }, + "verify/results/housekeeping/vm140-result.json": { + "mode": 420, + "sha256": "2250b02342f5c02ba5464cb4656543c6366dec098fbc948006600896ac9254c0" + }, + "verify/results/housekeeping/vm141-result.json": { + "mode": 420, + "sha256": "03d92ffd2947b2f0c058e5c613e04567cffee45be456aece6d771b789f32fb93" + }, + "verify/results/housekeeping/vm144-result.json": { + "mode": 420, + "sha256": "ace15320f7e60995a68f2c9c03a5a44159ae2d64fa273d34d38e285d313a0393" + }, + "verify/results/housekeeping/vm145-result.json": { + "mode": 420, + "sha256": "768666178bf2910a2ff026351727b5cc96e48df70e1ba012031d34eafc95ad7a" + }, + "verify/results/housekeeping/vm146-result.json": { + "mode": 420, + "sha256": "eebb306a3ec8533abae6dfd59f127c48effe9f21107e0c5c09c751108e77bb97" + }, + "verify/results/multiplayer/l2-combat-hud-client.png": { + "mode": 420, + "sha256": "02c86592531ab2889a0eae04e44a644d33c754096fe60aca6640068a7a3f421f" + }, + "verify/results/multiplayer/l2-combat-hud-host.png": { + "mode": 420, + "sha256": "a56daf36fcc88627b29116ad9874c95a3c46960074ff9b823aa15c4ea2660dd7" + }, + "verify/results/multiplayer/l2-combat-loading.png": { + "mode": 420, + "sha256": "f94a718cee08e1b7d346490058f13a107d23aaa7c269fdd53b159a75d62fa558" + }, + "verify/results/multiplayer/l2-combat-round-draw.png": { + "mode": 420, + "sha256": "c1b8424540b702915302f9ff38eaf765e8e95fddc3c5c4d894438dcfcf8b6256" + }, + "verify/results/multiplayer/l2-combat.pcap": { + "mode": 420, + "sha256": "0f112ef96da6c465dbda51baf99eedd66967eed61c097f643bf6c66fc26af31b" + }, + "verify/results/multiplayer/l2-encounter-query-client.png": { + "mode": 420, + "sha256": "4c41b268ad256b0109483a2d9b5ba35de7b9cadb4eb32ef4a68f7867e6e747fd" + }, + "verify/results/multiplayer/l2-encounter-query-host.png": { + "mode": 420, + "sha256": "8c7b0c6d65ddde45eb3447f044589ffc36500b40c4d676af8321f800162f38a0" + }, + "verify/results/multiplayer/l2-fleet-built.png": { + "mode": 420, + "sha256": "6ac91fcf9b42caef50134de01804046d8e60d0fd3966592e9738ceff511949c2" + }, + "verify/results/multiplayer/l2-lobby-client-joined.png": { + "mode": 420, + "sha256": "4a8e698c9ea935449ff0421cd59acd517ebffa388a7572279b28be0369141ff6" + }, + "verify/results/multiplayer/l2-lobby-host-created.png": { + "mode": 420, + "sha256": "e6a7377cabafa973396cedafa5ad5b4863a42f9866709db88faf9572e0ed3c98" + }, + "verify/results/multiplayer/l2-move-warning-dialog.png": { + "mode": 420, + "sha256": "43c6219d74bc0cb28495f13784cdbd3a90c89746b108824c3a2138dbdadcb53e" + }, + "verify/results/multiplayer/l2-socks.log": { + "mode": 420, + "sha256": "109b630d6548d07404f9f905e6c527f10e25221698f1b66226f67f94c5f294b5" + }, + "verify/results/multiplayer/l2-turn13-client.png": { + "mode": 420, + "sha256": "d19f17c4219f21f6c9950440d528a1a91fe3907761df21fd0ba99321b8820baa" + }, + "verify/results/multiplayer/l2-turn13-host.png": { + "mode": 420, + "sha256": "811efcfb571d60435f772a3b619bb329717d1e162b88e440ec0d636b1c6042fc" + }, + "verify/results/multiplayer/w2-internet-browser-no-error.png": { + "mode": 420, + "sha256": "6409b977056c95b29928a0098f75fffd71c501128f9d9325c3000837131c8791" + }, + "verify/results/multiplayer/w2-join-manually-dialog.png": { + "mode": 420, + "sha256": "86904e94a5aec41c1e89271d2712558c3b5055bd2ae4fededfda103d1e22fb71" + }, + "verify/results/multiplayer/w2-lan-browse-listing.png": { + "mode": 420, + "sha256": "6f5d16fa719fb63dd627fba551221c7665b69002e83fe35b8d84912cd7d8ce83" + }, + "verify/results/multiplayer/w2-lobby-client.png": { + "mode": 420, + "sha256": "ede652b21e2a4ea07c8132e4080ba903d1052ebca336bb007e1e8efa62787f10" + }, + "verify/results/multiplayer/w2-mp-turn1.png": { + "mode": 420, + "sha256": "59f9a1f5d8c0fff45d3ae3406dfd9878a5915f18e999d909a5238a90a3b86ed6" + }, + "verify/results/multiplayer/w2-mp-turn2-client.png": { + "mode": 420, + "sha256": "d9da4c151cd8290f80b31eb5ed8a74a0a30a87d1f7a80a179fa082a9439e08e5" + }, + "verify/results/multiplayer/w2-mp-turn2-host.png": { + "mode": 420, + "sha256": "910efd36b4a7c1a85d8ad487660f856339af037b9b00fef0cafd5e77ebdc36e5" + }, + "verify/results/multiplayer/w2-tier0-filtered.pcap": { + "mode": 420, + "sha256": "e108778fd1afb7718c53a4164310b8523415ef073706d310583dab424e5921cc" + }, + "verify/results/saves/ac-turn20-raider.sav": { + "mode": 420, + "sha256": "ee787db8f63d8f564c597bd5a82709790a0fdf47827912037f96b736f2cbed34" + }, + "verify/results/saves/ac-turn22-raider.sav": { + "mode": 420, + "sha256": "0faeaa601e6a867876819e5646b85f8787851093b8e6bd6e3946eb867f2dcc74" + }, + "verify/results/saves/ad-oracle-A-post.sav": { + "mode": 420, + "sha256": "a634510e7208cceb10d8ce016ceb0153601f11d7291f08122bcdb6418e313331" + }, + "verify/results/saves/ad-oracle-B-post.sav": { + "mode": 420, + "sha256": "676b1778880b5d4784ba7f6ef48b1a8e56745adab70a815943b7744876686260" + }, + "verify/results/saves/ad-turn27-two-raiders.sav": { + "mode": 420, + "sha256": "1c8baa27680809d585ab1728391e82729642d32aaedffd5bf95b616f0a11a436" + }, + "verify/results/saves/ap-deploy-turn15.sav": { + "mode": 420, + "sha256": "844f2b746060dc2c4e2099cdc6ceffd5f55ef858c9e347df28c8aca3041f7165" + }, + "verify/results/saves/ap-oa-turn16.sav": { + "mode": 420, + "sha256": "e296394f578b3a5668e5934b9eec8d6c4638ca7411200078f97de1abd346f4c5" + }, + "verify/results/saves/ap-ob-turn16.sav": { + "mode": 420, + "sha256": "262f8bda97c9511d8d2b41e6a8a0582d6f5364c2b01b1caf99e639d0e4f53ebe" + }, + "verify/results/saves/ap-turn22-spydetected.sav": { + "mode": 420, + "sha256": "91381bd7e722ac3847795a402d78ebb31d74dbb5d2909f33d243aec3ef8abaf8" + }, + "verify/results/saves/ap-turn25-spydestroyed.sav": { + "mode": 420, + "sha256": "46380fcf4498d67507e4471eb9ee3762647c53ee5473be142fe5c34e37344bc3" + }, + "verify/results/saves/ar-oracle-A-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-oracle-A-pre.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/ar-oracle-B-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-r1-turn43-post.sav": { + "mode": 420, + "sha256": "37f4a54fd32303fdcc86522b07104fbf2fcb124eec9b1f7005b3446fefcc429f" + }, + "verify/results/saves/ar-r2-probes8-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-turn37-816raiders.sav": { + "mode": 420, + "sha256": "b6f4e05ff226eabd1695003b36293553642553cea96ef417364393e2332a7094" + }, + "verify/results/saves/as-turn14-predeploy.sav": { + "mode": 420, + "sha256": "53986f8511cbf9920f32e2ea406ccf531dd08903fa5d06024fcf03ea7627221d" + }, + "verify/results/saves/as-turn15-spydeployed.sav": { + "mode": 420, + "sha256": "854a10fa1ea602f0f7909f9bf9154942e56ea5fa1db4cce47d6d32bf53952e08" + }, + "verify/results/saves/az-turn11-16destroyers.sav": { + "mode": 420, + "sha256": "501583c7cf2ac81c9db3191203cd3dc5ba5b9e228b9b9ce3dbdcc3650d0070a9" + }, + "verify/results/saves/az-turn23-tarka-comraid.sav": { + "mode": 420, + "sha256": "3d5eb826c149d1fd0278c746f32e6148ca9883a1bc5b522c0d5e6e13fac9788a" + }, + "verify/results/saves/bp-pinA-turn28.sav": { + "mode": 420, + "sha256": "e913ff41188211c02d536da616337544e64133996cd7cc7a6521a8df1960226f" + }, + "verify/results/saves/bp-pinB-turn28.sav": { + "mode": 420, + "sha256": "724528ffde9a7514b69ab9e82ed3b8c8ade63d622c0720de30503a73a92df11e" + }, + "verify/results/saves/bp-turn28-pre.sav": { + "mode": 420, + "sha256": "16f63adbf383946db17c381998957172bca803406b7df78f3b03805fef0bbcb8" + }, + "verify/results/saves/bq/bq-1A-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1A-post.sav": { + "mode": 420, + "sha256": "56980aa086e1a145b00f781b9d9cf618b152986f1c2267b9fd96cca0f1f604b9" + }, + "verify/results/saves/bq/bq-1B-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1B-post.sav": { + "mode": 420, + "sha256": "b36ac0ec2986f3a814dd22ca312c895ba6ec8a0e55fca54d8a7fd08a2f96a2c4" + }, + "verify/results/saves/bq/bq-1bA-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bA-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-1bB-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bB-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-res-post.sav": { + "mode": 420, + "sha256": "28bbd9b5c377afcd8f075b535eb1036ee46acf71ab614e7091ccdbdfb3703db2" + }, + "verify/results/saves/bs/bs-C-endturn.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/bs/bs-C-f38-autosave.sav": { + "mode": 420, + "sha256": "0fe8f37479a702d2e4e7752e6cb160dc242f00a082dc4115b7d10c77b24989f0" + }, + "verify/results/saves/bs/bs-C-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/bs/bs-L-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bs/bs-L-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/cb-c3-turn1to2-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5a-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5b-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-turn2to3-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/cb-turn2to3-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/saves/certified-pairs.md": { + "mode": 420, + "sha256": "4e1cfb79cf5a51446b2eae21f91b565348ffa95a9ebac8f95e23019012aefb57" + }, + "verify/results/saves/cr/cr-oracle-autosave.sav": { + "mode": 420, + "sha256": "79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420" + }, + "verify/results/saves/cr/cr-oracle-endturn.sav": { + "mode": 420, + "sha256": "e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f" + }, + "verify/results/saves/cr/cr-replace0-autosave.sav": { + "mode": 420, + "sha256": "6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5" + }, + "verify/results/saves/cr/cr-replace1-autosave.sav": { + "mode": 420, + "sha256": "8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235" + }, + "verify/results/saves/determinism-hashes.txt": { + "mode": 420, + "sha256": "bfa0615c4b310ae21c09a7d373d5a9d8799f36a0460089e5950fa0edf9d614d2" + }, + "verify/results/saves/human-turn11-spytechs.sav": { + "mode": 420, + "sha256": "aa63dd3d5489884f70d9c35acfb06c23c84531f403798842e7b0cf8cde94d1d4" + }, + "verify/results/saves/human-turn15-spyprogram.sav": { + "mode": 420, + "sha256": "22306d26f8831b90a62c00a2ebad5a97e77017b62ee96a7439d4c2c76c455cca" + }, + "verify/results/saves/human-turn2-orders.sav": { + "mode": 420, + "sha256": "9a94dec562622310893d6f522a0fae06f1033470f4182098e808b175e7df7c8d" + }, + "verify/results/saves/human-turn3-noderoute.sav": { + "mode": 420, + "sha256": "6db0912a050a846c8f3a184811644c76df3fdb65e83dffbf70289e21cc098a90" + }, + "verify/results/saves/human-turn5-traderoutes.sav": { + "mode": 420, + "sha256": "3829e6c6d8f26cd1183a972bd66edadbd71364c11a224b0a6e40461011bcab29" + }, + "verify/results/saves/human-turn8-traderoutes.sav": { + "mode": 420, + "sha256": "afeb3b2d724e07cf59f15eb1bdb9fcf853391fc06fe21beb20c069ff75b2f836" + }, + "verify/results/saves/turn1-state.sav": { + "mode": 420, + "sha256": "a3f9dc4b49fc669c814b09b87a9c6795de21bac80a1c7bfe3901b8e239fa36cc" + }, + "verify/results/saves/turn2-state.sav": { + "mode": 420, + "sha256": "ab4ac2d7e2977260a4de916f65c7ecc6dd5b0094dac4bb51241317232ea17ab4" + }, + "verify/results/saves/turn2-strict-issues.txt": { + "mode": 420, + "sha256": "33a169a2de29ad502e9b7c0159cd543e0b4d71f2d9b3903f5be58c7846db2429" + }, + "verify/results/saves/turn3-state.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/zuul-turn15-orders.sav": { + "mode": 420, + "sha256": "ef86a0d61de3533f023af5dc2b9a5720e4e0c5c97d900d88181603a13db7d045" + }, + "verify/results/saves/zuul-turn16-noderoute.sav": { + "mode": 420, + "sha256": "b6b5d283b62cc46bca914e86c34cf45e8960a653e818e59664087429bbb30103" + }, + "verify/results/saves/zuul-turn17-orders2.sav": { + "mode": 420, + "sha256": "1b863e684edecb4afe738ba30c8132065ebcf2d9977409325e714fe0173056e8" + }, + "verify/results/saves/zuul-turn17-rollpending.sav": { + "mode": 420, + "sha256": "aac5ba5b10ff1af6b0e38c565b2f0a60c16858ee4e89dd2a2f5b037eae95ee7d" + }, + "verify/results/saves/zuul-turn23-fleet23.sav": { + "mode": 420, + "sha256": "fd3748327d87b8c478f50fcd09d097eacff21e57d946ecb43b8119b4d0d78b1b" + }, + "verify/results/saves/zuul-turn5-species5.sav": { + "mode": 420, + "sha256": "48559ab5b719b332e47b4bf43af85a616bff1508125d62edb211b80637234af6" + }, + "verify/results/shim/ac/ac-probe-run-shim.log": { + "mode": 420, + "sha256": "b9b4a5f0e399e16b477cde0bd7e2c4ce378549eb5a467f7b8ae5eb64d75cb106" + }, + "verify/results/shim/ac/ac-probe-run-watch.txt": { + "mode": 420, + "sha256": "543d76d150aeb9318b9ae27acf638b8935eea30b1a2d47fb15354b584a458163" + }, + "verify/results/shim/ad/ad-r1-shim.log": { + "mode": 420, + "sha256": "fec98888b030ed42b84551aac1286c0baeaf15b8a545af068dc6605615e96df0" + }, + "verify/results/shim/aidesign/parse_aidesign.py": { + "mode": 420, + "sha256": "fbd4aeb71db548759bdb1ff65a5fdd0af6c192927e6ebe4b510f1083c3bdba13" + }, + "verify/results/shim/aidesign/sd-br-p1-hashes.txt": { + "mode": 420, + "sha256": "cd276116a51df01129f0e840d4c04f7964be34f75e51c384cd8df65969f458e6" + }, + "verify/results/shim/aidesign/sd-br-p1.txt": { + "mode": 420, + "sha256": "325cb9fcfa505ab2a93bbd00d60a7a4644b6b5970cb16a288cc7a43f2e825dd3" + }, + "verify/results/shim/aidesign/sd-pin-p1-hashes.txt": { + "mode": 420, + "sha256": "f0371c0a439d736ae7e67e71bd87d693481100d08243d16a1ac1f2ad0ab8bdce" + }, + "verify/results/shim/aidesign/sd-pin-p1.txt": { + "mode": 420, + "sha256": "45e693d279899e7a04cf59bda67190058896b56f3b0607d5aee21abb12f03071" + }, + "verify/results/shim/aidesign/sd-pin-p2-hashes.txt": { + "mode": 420, + "sha256": "e7d6dc12a940305087ee03dc7f8826f3c6343d24d8fea0f2aa78665d887138c9" + }, + "verify/results/shim/aidesign/sd-pin-p2.txt": { + "mode": 420, + "sha256": "b0206869206bc3a41bebb5175e31179f1a5d125a44b5ddfc10c67c4a0d13c22c" + }, + "verify/results/shim/aidesign/sd-t15-p1-hashes.txt": { + "mode": 420, + "sha256": "1ee71a623eb17e08c623ec8de3775218dc3a7c2de50d36a25dd2395382195962" + }, + "verify/results/shim/aidesign/sd-t15-p1.txt": { + "mode": 420, + "sha256": "df9f4906ee8bbb2efc9ba9a38c41607b89711d0bc9f705473d8448e9715d9280" + }, + "verify/results/shim/aiorders/cb-c1-turn2to3.txt": { + "mode": 420, + "sha256": "9d5014b346cb0fa9e2172f45db77c4437a03b069930eaaa80ea94e742891eb8f" + }, + "verify/results/shim/aiorders/cb-c3-turn1to2-run1.txt": { + "mode": 420, + "sha256": "fdaf27a32b93fdb3024f7a45f0d90b2cf833d3f592960027c3a6cf4ecbb8c616" + }, + "verify/results/shim/aiorders/cb-c5a-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "d4daa0c2599c1b573ed59617243a392861dbc4e1fbeb707c7248708c015d998f" + }, + "verify/results/shim/aiorders/cb-c5b-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "9682186176024242fddb901b10d9a5ad6beba91bd895c2001ca954fc293eab73" + }, + "verify/results/shim/aiorders/l4-research-run1.txt": { + "mode": 420, + "sha256": "5caf1fa25b7b8c2d6af213e59c6ec821be3c46cdd92a1024a6faf5d0a3b1d71c" + }, + "verify/results/shim/aiorders/l4-research-run2.txt": { + "mode": 420, + "sha256": "846ef2cfbc365e7ee2f481048978baf820d57026737261bfba3a328d59cdaad8" + }, + "verify/results/shim/aiorders/l4-turn1to2-aiorders.txt": { + "mode": 420, + "sha256": "c55d9b3c48cb552c02731003c26bb6dfcb8afb611c2a188d21fd4a39f550d269" + }, + "verify/results/shim/aiorders/l4-turn1to2-hooksoff-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/shim/aiorders/l4-turn1to2-instrumented-autosave.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/aiorders/l4-turn2to3-aiorders.txt": { + "mode": 420, + "sha256": "696c34996e4b5be0383794fae7ea114779f7fdd0a8cdceff5a00aeb07392933a" + }, + "verify/results/shim/airng/par-br-p1-hashes.txt": { + "mode": 420, + "sha256": "656b1d0c073d9988287e5b76543e42eb1c050d9ebc9872e2b7ec5208b7534b42" + }, + "verify/results/shim/airng/par-br-p1.txt": { + "mode": 420, + "sha256": "eadf1cfb7efd7b374472867ddf1cea5f60e30096090c950049f0c264b0299398" + }, + "verify/results/shim/airng/par-br-p2-hashes.txt": { + "mode": 420, + "sha256": "d97916075c7b4c10464962e9e38aed69288a4d68a16a369c1133df16fa134146" + }, + "verify/results/shim/airng/par-br-p2.txt": { + "mode": 420, + "sha256": "bda355cbbf07301cd6d3716eba32312261c402848c91780a97a6d5cce14c3d92" + }, + "verify/results/shim/airng/par-pin-a1-hashes.txt": { + "mode": 420, + "sha256": "5eb1b557826d45fe9d843b37a92aaef54cd1b8a60900f9c34b4fe25e4bd46a24" + }, + "verify/results/shim/airng/par-pin-a1.txt": { + "mode": 420, + "sha256": "17750bab77512434dcc9e66fc86cbfc34df497cadab5b732cf3b0ef3958e09a4" + }, + "verify/results/shim/airng/par-t1-br-p1-hashes.txt": { + "mode": 420, + "sha256": "7577c33ec33d9e94fb77225929c1f34a3dd94c18fe72a394017811b3b5d53467" + }, + "verify/results/shim/airng/par-t1-br-p1.txt": { + "mode": 420, + "sha256": "8bc9969e2da730d26cc5538b758858a00a4ba6ab2d398458ff4dece1edf8bf92" + }, + "verify/results/shim/airng/par-t1-br-p2-hashes.txt": { + "mode": 420, + "sha256": "7e60fc8615163e8ebccf22fc8910f2e7c4f72a9be7a74bc832bc2a0f64ade0da" + }, + "verify/results/shim/airng/par-t1-br-p2.txt": { + "mode": 420, + "sha256": "7e50a728eb5909bd602a9e6996b908b1b2665c8c983cc0258dad000c8bff8e35" + }, + "verify/results/shim/airng/par-t1-br-p3-hashes.txt": { + "mode": 420, + "sha256": "00ce6b3b4c9dbfd192d09b3b06d91b95576cee8a5a85fccdc36a85547fbdcbc4" + }, + "verify/results/shim/airng/par-t1-br-p3.txt": { + "mode": 420, + "sha256": "28cdf1f6b83c1764f1d1e51a67e3f873566b8503f8504ef52f5b5af24b21c0cb" + }, + "verify/results/shim/airng/parse_airng.py": { + "mode": 493, + "sha256": "3fafa7cf2363620d6a25248d085fbc4e3bd1fdbb9388a6795244834a9a2a2ed0" + }, + "verify/results/shim/ap/ap-probes8-d.shim.log": { + "mode": 420, + "sha256": "115545172568edc6a1d5bb3b559f968aa8a7aaa1f6aeba970daebce98fe56a0c" + }, + "verify/results/shim/ap/ap-probes8-w.shim.log": { + "mode": 420, + "sha256": "8af0897a884bb314958c5e6f2fccd88ff8b1890322dafd3bc904b3f983838620" + }, + "verify/results/shim/ar/ar-r1-ledger.txt": { + "mode": 420, + "sha256": "44bddfc0b9e94812a3a1cfd681a1350caedf2ed8e1174900c2f81c90dc95187e" + }, + "verify/results/shim/ar/ar-r1-probes.txt": { + "mode": 420, + "sha256": "c10251c9bcca5436dc42b2c0bd37b66c144aec4036f2069c2df9340fd764992c" + }, + "verify/results/shim/ar/ar-r1-shim.log": { + "mode": 420, + "sha256": "07003ee203d60a638cc8a1cb0a0f6b8042ba227705b4355f1254312c6dd54e28" + }, + "verify/results/shim/ar/ar-r1-sites.txt": { + "mode": 420, + "sha256": "d1923d549ef3567488d0382ae0ef75fa25c5b1b5812ee5349c5c47aea7a30514" + }, + "verify/results/shim/ar/ar-r2-shim.log": { + "mode": 420, + "sha256": "06dbf04cff5a56b0e55d8e73e5b1e3e9d9235f4afafc8139517b68d676781909" + }, + "verify/results/shim/as/as-probes8-run.shim.log": { + "mode": 420, + "sha256": "cd25c93d8b79e0f0df594fe681917fe880741a54a4188d4d72d2fbc6c42ba8d9" + }, + "verify/results/shim/bp/A-aiorders.txt": { + "mode": 420, + "sha256": "ee9f8bb1073e3bf02e115fdee014f79b11100a0e1e35e308c2bcd4b798302c34" + }, + "verify/results/shim/bp/A-shim.log": { + "mode": 420, + "sha256": "853eab98d09ff1e7a8e7da375a678561b02d6236adec627202ff3bb34d90e797" + }, + "verify/results/shim/bp/B-aiorders.txt": { + "mode": 420, + "sha256": "07daeacf33a16afbed64a8a01ffd26fa73c6d2acd0e6993dd9deb06a7fd93fc3" + }, + "verify/results/shim/bp/B-shim.log": { + "mode": 420, + "sha256": "cde2202333e81cc4eec2c47915181229a68a5fa99879968905a2809c4fe0a79a" + }, + "verify/results/shim/bp/L-aiorders.txt": { + "mode": 420, + "sha256": "28492b0f9be74f61db45eae49b44b41efbc1a3bf6f6d2c888e5cc40bfb7753bd" + }, + "verify/results/shim/bp/L-shim.log": { + "mode": 420, + "sha256": "550d8986a35b3f4742e7522df11bfbf2e832e417ad42cc1bff1a39dd4ee510fd" + }, + "verify/results/shim/bp/statecheck-AB.txt": { + "mode": 420, + "sha256": "dacb5cfa5541934f37b2b1c02b87e809c3f65ba8488aa88d925b295fade0083d" + }, + "verify/results/shim/bq/bq-res-aiorders.txt": { + "mode": 420, + "sha256": "991543eb53fbf1353fe99ed96d4ca358e05f6bac32f00bd1f6dc60fcc002c8b4" + }, + "verify/results/shim/bq/bq-res-shim.log": { + "mode": 420, + "sha256": "7855bd268f69443e7ddfda71873458144728630264703482901bf6d8ffbccd3a" + }, + "verify/results/shim/br/BR-aiorders.txt": { + "mode": 420, + "sha256": "d71e11e7c40aaa740adc55651af556afb9e92768336bc11747ad67151f33f4d1" + }, + "verify/results/shim/br/BR-airng.txt": { + "mode": 420, + "sha256": "04eaeaa688a448f64df00dedfd692b78bca0e3e1207a8292c2fafad507f919ea" + }, + "verify/results/shim/br/BR-shim.log": { + "mode": 420, + "sha256": "bc6ef7aa465c2b1a81d08555174e15fb1a97a207da9eefaa8a6155440869a13e" + }, + "verify/results/shim/br/BR2-deep-aiorders.txt": { + "mode": 420, + "sha256": "b9edb53f7d56c1bb26d3bb77349543dce9564930484bc832475a3a04e5f2ad15" + }, + "verify/results/shim/br/BR2-shim.log": { + "mode": 420, + "sha256": "0de7609693747fdf0abaebd60598af127c918f32561c993715aead91cd24b334" + }, + "verify/results/shim/br/aiorders-diff.txt": { + "mode": 420, + "sha256": "411ceb2bacd62185d25a3c58f199c0bdfcd2759705bef2b36536da3870f73a67" + }, + "verify/results/shim/br/cmp_aiorders.py": { + "mode": 420, + "sha256": "b6c192efb40866aa56f29d9ba2b89e17f18ae0579645db8f34a01010db09cc28" + }, + "verify/results/shim/br/shim.cfg.brdeep": { + "mode": 420, + "sha256": "b8017e344666df816f1191906cf8f54504d631bb7ce9d2f51f6f959e4934ff04" + }, + "verify/results/shim/br/shim.cfg.brprobe": { + "mode": 420, + "sha256": "4f090999dba63ef22ab4993bd6af557e9500819c84f27decc126771f48f98efb" + }, + "verify/results/shim/bs/C-aiorders.txt": { + "mode": 420, + "sha256": "5abc20b68edf6ff52301c01825040e1d6b41b582ba40403ed6c4edc42dcbe4e2" + }, + "verify/results/shim/bs/C-airng.txt": { + "mode": 420, + "sha256": "5a4a56506d1eeb82d3bf0fbba95842566911178a82f0aad9d700a9fe00f1b300" + }, + "verify/results/shim/bs/C-shim.log": { + "mode": 420, + "sha256": "8b8dad987589fd159e789806e89dbcf7a7b40b86446d55e1d0bf10ff25cb8f6f" + }, + "verify/results/shim/bs/L-aiorders.txt": { + "mode": 420, + "sha256": "a03e8c1587633ecbb683c376f30e35e126e98ff0e8204c4ee6b5e2b4fc254104" + }, + "verify/results/shim/bs/L-airng.txt": { + "mode": 420, + "sha256": "8d21083857facd3728446af612b3a97b47e5287a5fe0bdf01423812f8445dacd" + }, + "verify/results/shim/bs/L-shim.log": { + "mode": 420, + "sha256": "246af272e464c715c7abb00471b4ddc404b81143f4065006aa4daec4d82cadb9" + }, + "verify/results/shim/bs/shim.cfg.bsrun": { + "mode": 420, + "sha256": "570b15c208d31a367ec6c6886019693cb17b98d254cebead11ec6746ae5af256" + }, + "verify/results/shim/bu/BU1-aiorders.txt": { + "mode": 420, + "sha256": "944eeb701fcd22480513c34d93f8310541977e89a24ae237bd947aed44092529" + }, + "verify/results/shim/bu/BU1-aivisit.txt": { + "mode": 420, + "sha256": "721f038ef80be92325728fc30f095846b54ff1ac67a41537d4a4d1b97d5e9758" + }, + "verify/results/shim/bu/BU1-shim.log": { + "mode": 420, + "sha256": "28ca02f56823e577662744108965bc3ab1d7241143704ac8ceaacf2e9cd077f3" + }, + "verify/results/shim/bu/BU2-aiorders.txt": { + "mode": 420, + "sha256": "5c388039a3e832465f67b4ca88f3f67550d5189a3a68f33c508c4a467733c9ac" + }, + "verify/results/shim/bu/BU2-aivisit.txt": { + "mode": 420, + "sha256": "19963ed364f47fd965508d96fbf9d1f424938f711f2b1cdc83697f789189271a" + }, + "verify/results/shim/bu/BU2-shim.log": { + "mode": 420, + "sha256": "c0a8c467bc4b4134dc83ca5dedbbfed8dac887b432a56cd12f6e211c8d58daca" + }, + "verify/results/shim/bu/BU3-aiorders.txt": { + "mode": 420, + "sha256": "b6443b3f7db541149f54435f14ba830f54d2f950420f3f0694ff12a8b1eec143" + }, + "verify/results/shim/bu/BU3-aivisit.txt": { + "mode": 420, + "sha256": "fe67a4a1cc6a67e06b2eb5675b4b8543ab9f25ea39a18d7f4c83bce74482e0cc" + }, + "verify/results/shim/bu/BU3-shim.log": { + "mode": 420, + "sha256": "0a802ec556c87f44efaa06f211e75d9b89a66ac6db5a08e34d2a7eae992121ed" + }, + "verify/results/shim/bu/claim-order.txt": { + "mode": 420, + "sha256": "7135e3ed0204a4615e546bc882992073d4b48ee42ea341186c32b6b3dd3dfc47" + }, + "verify/results/shim/bu/claimcheck.py": { + "mode": 420, + "sha256": "85c5ec747f12cf37ec2dbc4021447909eeded68ecd1abb697a6fb60005a54aff" + }, + "verify/results/shim/bu/shim.cfg.bupin": { + "mode": 420, + "sha256": "6b37b047adc95f7c08b6767cdec5bd715a8851f14bff7f187772835d1cc032a7" + }, + "verify/results/shim/cr/cr-N.log": { + "mode": 420, + "sha256": "d5459e6dcf44fbe55d0f60f1ac40d68bed96319bb55986cc24a1b9ca0d8103e0" + }, + "verify/results/shim/cr/cr-R0.log": { + "mode": 420, + "sha256": "3b703881aa2b9a1c111201ff9543f2dcae0f948567ee877df275a1093bb567f7" + }, + "verify/results/shim/cr/cr-R1.log": { + "mode": 420, + "sha256": "8df6af84f74891ff9b0b02fa150641f5fadcd0419bc53c41cbe80bf14ec9c712" + }, + "verify/results/shim/eventlive/c6b-loaded.png": { + "mode": 420, + "sha256": "f442d4b211a47b331cef9a255e83732b80a1ede70ac200596c796ac0aa320017" + }, + "verify/results/shim/eventlive/c7b-turn3.png": { + "mode": 420, + "sha256": "3e070abfbdf4efd2662951049f8545f328aa172d64d00b9c5a1f4243426e803a" + }, + "verify/results/shim/eventlive/load-dialog-8files.png": { + "mode": 420, + "sha256": "e0fc5af16042a70b53bf7d44220db56c56a466c22c4abd641557e94b8e6c1693" + }, + "verify/results/shim/eventlive/shim-zuul.log": { + "mode": 420, + "sha256": "f9d184b33c46cab9d497f7a38056c099ce2ff9b5e8149f563a2353d91985fea1" + }, + "verify/results/shim/eventlive/shim.log": { + "mode": 420, + "sha256": "e65f2e3efa1ce8f70c483bb966448239923db2d3924c709a669bb1a890411b0c" + }, + "verify/results/shim/eventlive/t7-after.png": { + "mode": 420, + "sha256": "dc0a3e8f5a5c9032ead266d106fa69a57677711eb807d26376f29baa6ec0b934" + }, + "verify/results/shim/eventlive/zuul-turn1.png": { + "mode": 420, + "sha256": "f9af979ed08315c0a8d644af800318634b3641628f710f3f9b4d2c77d4f70fdc" + }, + "verify/results/shim/l1/README.md": { + "mode": 420, + "sha256": "f008081756d99825aa81d2802869476f8341f81aeb8c4dbbb77502cf76db5145" + }, + "verify/results/shim/l1/cdiff-frames-2-51.txt": { + "mode": 420, + "sha256": "57cb1911c5bfc7bdfacafc6bb1ad382fc05f46fb9cdcee4479d861af48e585c1" + }, + "verify/results/shim/l1/cdiff.py": { + "mode": 420, + "sha256": "2ace41ce6017cfac8758d8b9955f02de84738d90067a7dfadeb8bffffc842027" + }, + "verify/results/shim/l1/rep.py": { + "mode": 420, + "sha256": "1a7a3819da8e9aeaaf213a62b696388b0a9489924c964407536831b5f7dd9488" + }, + "verify/results/shim/l1/saves/l1-t1t2-post-hooksoff.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/l1/saves/l1-t1t2-post.sav": { + "mode": 420, + "sha256": "62061918176e344106e82357e58acc8adec488f6b2969831cb99a84cf25e31c5" + }, + "verify/results/shim/l1/saves/l1-t2t3-post.sav": { + "mode": 420, + "sha256": "2177c659d8dbc39cf7485abe367d42d55cc42cc9a61949d403dcbc79989ec32d" + }, + "verify/results/shim/l1/saves/l1-t2t3-pre.sav": { + "mode": 420, + "sha256": "641a33f06b2fe1c1caf0c4994442bf13a4b03f25a85b34a9875cd22b75715896" + }, + "verify/results/shim/l1/seed-two-processes.txt": { + "mode": 420, + "sha256": "d60412049ced59705284a46078f1906e1aad4140f90db2169e08aeb9530dd985" + }, + "verify/results/shim/l1/seedrep.py": { + "mode": 420, + "sha256": "a06de5d5ccc1e87808eb3877534076340ef5330bee9a86953b8f4dae0268e087" + }, + "verify/results/shim/l1/trace-et1.jsonl": { + "mode": 420, + "sha256": "f21a213bc56983bc94f24303b0837b160f93bfb7e3ca6abdbf2e18321f8dfa19" + }, + "verify/results/shim/l1/trace-et2.jsonl": { + "mode": 420, + "sha256": "6e44b0fc541c3082f91b115de67f5315f43b9db21f0696b856cfff2ead51323a" + }, + "verify/results/shim/l1/trace-oracle.jsonl": { + "mode": 420, + "sha256": "ad9ecbe79a71c84930302868850806798228fe0f2e625b442dd3ed579c05092c" + }, + "verify/results/shim/l1/trace-playforward-f51.jsonl": { + "mode": 420, + "sha256": "6ed0af385dfe7288ad2c994458c8f5d75fc8e29b603dd6607a3703591d25eeb4" + }, + "verify/results/shim/l1/trace-seed-proc1.jsonl": { + "mode": 420, + "sha256": "120074583eb02cd4c3a29aab5826f789d52a6146930b1763f9b0bb824e9a350a" + }, + "verify/results/shim/l1/trace-seed-proc2.jsonl": { + "mode": 420, + "sha256": "03dffeafeff0c33d926207f869741dc544141425c8f665bf58aad4fd363e2f95" + }, + "verify/results/shim/l1/watch-arm.txt": { + "mode": 420, + "sha256": "f8d5811c938d16d003a72a97f2b4b33112914a7ee378fa2b334282616592943e" + }, + "verify/results/shim/l1/watch-hits.txt": { + "mode": 420, + "sha256": "1bf62ac965036a189055cd59a92007c70a2a6aca307df54ce8ccb997048f43d5" + }, + "verify/results/shim/l3/l3-probe-run-shim.log": { + "mode": 420, + "sha256": "f5cd336971ae3d3eaff642e80d9defa20ec2e1ee11e212a082c24365b18d8684" + }, + "verify/results/shim/l3/l3-probe-run-watch.txt": { + "mode": 420, + "sha256": "8d969595789c690a688f7b8fac05288c614d5d9210388ca94315158948c85f24" + }, + "verify/results/shim/l3/l3-spy-run-shim.log": { + "mode": 420, + "sha256": "5abfd08445e9e8139945b095ddddfb56480062019ce6d40304a440c317f21fd1" + }, + "verify/results/shim/l3/l3-spy-run-watch.txt": { + "mode": 420, + "sha256": "c669ccf79202e7060c153151e4fe1be96acf4030cb64aa71bd6a5c212b550b47" + }, + "verify/results/shim/m0-main-menu.png": { + "mode": 420, + "sha256": "465207fda4722ca53585b71647a08b1149944036792a072e7c34e2c437a3e37c" + }, + "verify/results/shim/m0.log": { + "mode": 420, + "sha256": "581d63139503892b6aeeff71acb742143393e9f107aa1f3605d8c028c927cad1" + }, + "verify/results/shim/m1-shim.log": { + "mode": 420, + "sha256": "35401ea82b9a64dbfdb54c282c06c51d7b696afd4ea2794e16071e0fd5c7cbef" + }, + "verify/results/shim/m2-scout-shim.log": { + "mode": 420, + "sha256": "8c46117bdde6b6911a4d77b059b40803d4966652990c8fa3ed67773e5db0459f" + }, + "verify/results/shim/mf-after-shim.log": { + "mode": 420, + "sha256": "86601372b980828171e98fc71afe865f207b1745ef4dcdca646a618c91d17426" + }, + "verify/results/shim/mf-after-turn2.png": { + "mode": 420, + "sha256": "a1f83011ff96e990d7cc80f8306e8fe0c58b96f84eb73ccb6cb013019900133d" + }, + "verify/results/shim/mf-after-turn7.png": { + "mode": 420, + "sha256": "313f3863ab901320174c8ff7cf6f1f6b0d5b3d9d7a2f8999eae6413aedc46fc5" + }, + "verify/results/shim/mf-before-shim.log": { + "mode": 420, + "sha256": "8377a87c7ed05fd0cd7b61e3f1d5fc9c2b9fa294f812c67183d4ce31323a64b1" + }, + "verify/results/shim/mf-before-turn2.png": { + "mode": 420, + "sha256": "c9805791f402ec159fcc6acdd283120eae8536b230666d3049374525595b589f" + }, + "verify/results/shim/mf-before-turn7.png": { + "mode": 420, + "sha256": "3b880b8f96c4cc328aaff8e41068db29b295be8f000c432e321a51b6030b1272" + }, + "verify/results/shim/mf-human-home-no-ships.png": { + "mode": 420, + "sha256": "dfda3e9784eefdc7b75d04908e95c3a192eda7796685907c65bfde3068d6f2bb" + }, + "verify/results/shim/probes/human-t3-5-perturbed.txt": { + "mode": 420, + "sha256": "9b594ab18cdd9aec4fdf807b4d97576191bc6fd48a85cc872c222b515d0f7c01" + }, + "verify/results/shim/probes/human-t5.txt": { + "mode": 420, + "sha256": "0ddd9f0391a3a5d655f1809a9e79d537badd8071f8834e58bdbc7f95d9ff1320" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/shim/probes/zuul-t24-25.txt": { + "mode": 420, + "sha256": "50567b7cb1f008d025baf6cb4b4ad7af7d767a2182afd082c3ac1b1a66c79541" + }, + "verify/results/shim/recap-b1-shim.log": { + "mode": 420, + "sha256": "601cd4cbbec3e8c1f7776eadc4203256ec4c5d1e3e180295369727e1da69ff37" + }, + "verify/results/shim/recap-b3-shim.log": { + "mode": 420, + "sha256": "7c5110a9d4431cc03729a7bddcb13ee69a6d428199051e175b0921391fc02a80" + }, + "verify/results/shim/recap-misc-shim.log": { + "mode": 420, + "sha256": "7cadf2eadb08979cda39fe7e3ed6cfa3f62bdbcd256fc7550b3e27c3f08c9b3e" + }, + "verify/results/shim/recap-misc-turn7.png": { + "mode": 420, + "sha256": "2c1451ded36ad79389f0eb3db098b4e0b0a6f12495d64c832f6e093374005c29" + }, + "verify/results/shim/recap-trace-shim.log": { + "mode": 420, + "sha256": "56da143a92b2edda727862a6fd4a056c716153e23cfddbde076e218ce4c4285f" + }, + "verify/results/shim/recap-turn2-loaded.png": { + "mode": 420, + "sha256": "62a42c44f99d8a53bca735d54a5adf48b89449bb859e859ec573cb40e1a7f2d0" + }, + "verify/results/shim/tailrng/save_rng_delta.py": { + "mode": 420, + "sha256": "a9a04b131427a43372d87688b8eaf230a82a79e2c3c241a90ff4eb31e039749e" + }, + "verify/results/shim/tailrng/z-t5-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z-t6-autosave.sav": { + "mode": 420, + "sha256": "2ce6aef9d49ea238455f3ac680556c6a251065af3e28b6540fe09597ae38571c" + }, + "verify/results/shim/tailrng/z-t6-endturn.sav": { + "mode": 420, + "sha256": "afb112896c0236fa715ab3c10139958294085bb2066e22a6d7b76deb0dfa46dc" + }, + "verify/results/shim/tailrng/z2-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z2-endturn.sav": { + "mode": 420, + "sha256": "8648957fecf5041233f9add4c8173f78981f026f133ecdbecdb89ddd10917048" + }, + "verify/results/shim/unlock-shim.log": { + "mode": 420, + "sha256": "20a6625b369acb773543e530f1bfdc8b7eaca5c6b58415cc5009bb9858e16f22" + }, + "verify/results/shim/watchpoints/w2-modcount-status-2turns.txt": { + "mode": 420, + "sha256": "335be910dc11a20c9fb80f3b0f37f04fd50a9d8074697bb5365c3fea02790b74" + }, + "verify/results/shim/watchpoints/w2-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "9a344045270e3815004a3376eccfbd030372faba54374d9b6626fd80740b8b13" + }, + "verify/results/shim/watchpoints/w3-modcount-turn1.txt": { + "mode": 420, + "sha256": "328a2319e320f5382e82ad497b6b73245c397cf67515e8a27fa9712418af81ae" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt-turn1.txt": { + "mode": 420, + "sha256": "a9b3c20f90a76ee624bde6ee4cae9d1ff1f2baa67aa770a0e70042cb44d11915" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "af9fe2258fe4168f6066768809c509380183f61bc337331392c5202b900d906a" + }, + "verify/results/shim/watchpoints/w3-tshn-containers.txt": { + "mode": 420, + "sha256": "08eab48d1a202f975f1be87e2279379646142f8b22d9dafc56295399083ed0af" + }, + "verify/results/standalone/cv/cv-input-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "d29f3514e4209954d6c068f34285615aef5f4627ba4627ce97c0e65f93620159" + }, + "verify/results/standalone/cv/cv-leaf-worklist.txt": { + "mode": 420, + "sha256": "0f309711de89cc10cf940d0d4b051b5052ce49a3cc0f3f80c532b50256410778" + }, + "verify/results/standalone/cv/cv-noreplay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "3734f197cfefd017dbe562fd421d40859bfc2c37d9ac2cedf9c7ddd340a3a4a7" + }, + "verify/results/standalone/cv/cv-replay-run.log": { + "mode": 420, + "sha256": "7372c7da437ece21098cc6f66d0631e146d8aae14a9242bd2278a9922a7f7c02" + }, + "verify/results/standalone/cv/cv-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "1932158abec82f45b9b838f4cb79b1088190ca5281d388f57356af7776e96950" + }, + "verify/results/standalone/dt/dt-canonical-after.txt": { + "mode": 420, + "sha256": "f32fdcf7d6431293133e951045b42a55e8a27d75cd859ad08cd719e5fb696712" + }, + "verify/results/standalone/dt/dt-canonical-before.txt": { + "mode": 420, + "sha256": "b56160cfdcfa0fff25be2aa566959261e375004905814803e231889da665188f" + }, + "verify/results/standalone/dt/dt-observed-leaves-remaining.txt": { + "mode": 420, + "sha256": "e14bd20e60480f98a564e585c0d25d2e758f71016811b8981dbdacd9d51c0c82" + }, + "verify/results/standalone/dt/dt-replay-run.log": { + "mode": 420, + "sha256": "4b7907fc4e735b1c12e3cf64671079abaad757aabd752b134a9fb27d065656cd" + }, + "verify/results/standalone/dt/dt-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "8ddb84e7e6c2f663b1bc4b9611a56a46aac9d09863dcc5be765cb70dc9642c22" + }, + "verify/results/standalone/max-income-oracle.json": { + "mode": 420, + "sha256": "245796e0aea5f5c2238686cba10c651156117fb454805553b2508a8a8fe71a69" + }, + "verify/results/standalone/report.txt": { + "mode": 420, + "sha256": "b47e90432eaf38149f2ecb5316d1962813b6b1423848e36fcc9435ad1f5485df" + }, + "verify/results/standalone/rng-oracle.json": { + "mode": 420, + "sha256": "98a364c80f69d6a84b86c3f9ccc16176d9e769ff061569b0c0ddfced53f9146c" + }, + "verify/results/standalone/rng-oracle.txt": { + "mode": 420, + "sha256": "3496a217a7e4f80bb18c1b067eaedcafcf7bdc877460c6346606fd7f6a55b877" + }, + "verify/results/standalone/status.json": { + "mode": 420, + "sha256": "d38ca6222c83df3a5886e6b32a30772c7174cc0e584f4a3beabedc05770df9cd" + }, + "verify/results/standalone/t36-turnrecord.md": { + "mode": 420, + "sha256": "b017a93ad04af69ef469cd8ea536dff4cab17140d20b3665e7c89533ab5b8a84" + }, + "verify/results/state-checksum/ad-oracleA-vs-oracleB.txt": { + "mode": 420, + "sha256": "b6c440e20108ad2727a7d7aa32a4bd673ec03ca4372461797705d619de1ba48a" + }, + "verify/results/state-checksum/chain-turn1-3.json": { + "mode": 420, + "sha256": "33941d0dd77bfb79e4302f82a410f5f18fe3ae1ade684b5b59c6ed352789a696" + }, + "verify/results/state-checksum/chain.txt": { + "mode": 420, + "sha256": "ae1037dd8394b258ce91262877d348a0561c5f5056cfae74cc0d058e4166aa83" + }, + "verify/results/state-checksum/float-census.txt": { + "mode": 420, + "sha256": "c697c0f187ee8a8ebb157cbff8d7ae42c92f36a501b16acd9f9839a0ffc306a9" + }, + "verify/results/state-checksum/identical-roots.txt": { + "mode": 420, + "sha256": "1143fabfe96954440542adcd3830ad1d862be6c091f3c1b2e63e92a2751703e7" + }, + "verify/results/state-checksum/resave-localisation.txt": { + "mode": 420, + "sha256": "85f4e8fe3581ba5d0ae74974d757c4c2fddc008f3fbe6781891ae8ef65aa693e" + }, + "verify/results/state-checksum/roots.txt": { + "mode": 420, + "sha256": "6ea7ad668703baaff870720683bcc13beff557cebf8e7843526d6677e5b5ef68" + }, + "verify/results/state-checksum/turn2-to-turn3.txt": { + "mode": 420, + "sha256": "3649c86742460a54d89714df1917508f76952c44c07cb7fbc19010910c5df0f4" + }, + "verify/results/turncommands/br2-turn27-deep.tcb": { + "mode": 420, + "sha256": "329b9c3f1e9f85ddeeb71148bd5c0e38f7d26445ed349df60ffbfaf63db46102" + }, + "verify/results/turncommands/br2-turn27-shallow.tcb": { + "mode": 420, + "sha256": "d8346969421a92fa199d0b9faafa642dc2e71a527b08d27984fe73ee70ecbd6b" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.json": { + "mode": 420, + "sha256": "01e572975339fbe8a242b2438719173bd5bb4f4916078e5887026408923eb356" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.tcb": { + "mode": 420, + "sha256": "16e349db6c46e46520cd2e5f0a9fcf70b537dce878324dd873418ef6cebd8658" + }, + "verify/results/turncommands/cb-turn1to2-pinned.json": { + "mode": 420, + "sha256": "2d4f108b8ac6b1e582382ac25d53f354c293e7caf390b8462d15beaf8e43e01c" + }, + "verify/results/turncommands/cb-turn1to2-pinned.tcb": { + "mode": 420, + "sha256": "28ebfecc3495cc4f5b2892e420cb1b83f3cbdb6b7aabe107f4b1d18233a06094" + }, + "verify/results/turncommands/cb-turn1to2-run1.json": { + "mode": 420, + "sha256": "c9de70196af5453df15cfebcb92c973dfed9d54ffa0dc0a397839cf951ac9b58" + }, + "verify/results/turncommands/cb-turn1to2-run1.tcb": { + "mode": 420, + "sha256": "5cdcfb3ade6cdfb2c00c234f5535c791780230f520d27be14f617462347b4948" + }, + "verify/results/turncommands/cb-turn2to3.json": { + "mode": 420, + "sha256": "8a0d4fc9efae9dcb4eca0de41bf28444d79eb5a4fd4e426671a4d80ab5a46f44" + }, + "verify/results/turncommands/cb-turn2to3.tcb": { + "mode": 420, + "sha256": "420a5d03f2a4ecfa0789835cc46f98961d11bbd7c7fd5f59dc28301aa0b65b6b" + }, + "verify/results/turncommands/l4-turn1to2.tcb": { + "mode": 420, + "sha256": "1b9faa7f8aad9196e36cf1c450e340f37c502a69ccfcaaad7e289bd7b4727b12" + }, + "verify/results/turncommands/l4-turn2to3.tcb": { + "mode": 420, + "sha256": "b0443f176c3915389278de608a8e7c63fa48d4777b924c0e383c7279f2a297e0" + }, + "verify/save-reader/SAVE_FORMAT.md": { + "mode": 420, + "sha256": "5ac2556b6c063c9296ef29e8514cc312983d48a8e2c2832f504c970629990b33" + }, + "verify/save-reader/fixture_joint.sav": { + "mode": 420, + "sha256": "fbe41595e50bb580786f36b197d5b85f87820974c545107c864fa2f1862af3f1" + }, + "verify/save-reader/fixture_split.sav": { + "mode": 420, + "sha256": "3909f12d021bf840617dc8d599841b64d67be46e1c6882cba7728d312d310071" + }, + "verify/save-reader/save_reader.py": { + "mode": 420, + "sha256": "2dcac286b5382b67fe8f2dbce58c80950dd430b726ed0e98f3bcea155df0df35" + }, + "verify/save-reader/save_writer_stub.py": { + "mode": 420, + "sha256": "8343ad15f742ee1b9cd62108efbc9c4b2718c3807442e3dfcfa9513ced7d3638" + }, + "verify/save-reader/test_save_reader.py": { + "mode": 420, + "sha256": "29f609d037eed99bb5444004facbff7b2c5c36fae568e815810585fdc3ddd393" + }, + "verify/state-checksum/STATE_CHECKSUM.md": { + "mode": 420, + "sha256": "5680299a4df27e30cdb545d9d2a640caf9299d61acb662b9512589e4390954e1" + }, + "verify/state-checksum/float_census.py": { + "mode": 420, + "sha256": "a568aad8b9f38aba2474f33941550bf948d050694a1d04dc5c85d15687223ae9" + }, + "verify/state-checksum/run_validation.sh": { + "mode": 493, + "sha256": "bf84b999d2b90368703e80235bac0258b70a1c37dd1902c9205a914a59cb1fc2" + }, + "verify/state-checksum/stability_check.py": { + "mode": 420, + "sha256": "8e640561b05decf590524fbe0dbf3b76a5e2f9c7fde93e005ca6e79464c305f1" + }, + "verify/state-checksum/state_checksum.py": { + "mode": 420, + "sha256": "ed80458e84d92040aa3872464d8df315e935f379ca0da5a2df81c3049826e5b8" + }, + "verify/state-checksum/test_state_checksum.py": { + "mode": 420, + "sha256": "d0ccf8e8390fd0a5d76a8695a490d85dc7e8e415a06ec50b592c57474cc9a73b" + }, + "verify/tooling/README.md": { + "mode": 420, + "sha256": "b05249530d65d43220c1e5c4666939c360d6139ed404a8881f6ad0a9c5c27af6" + }, + "verify/tooling/fixtures.py": { + "mode": 420, + "sha256": "56cccc88b9b9468e07c9ddff39d65813098053ec9e8f00432736906389f200a7" + }, + "verify/tooling/host-tests.json": { + "mode": 420, + "sha256": "90833c99e2749ff890b16b943f43f6ebfc1a1c611f2ed1e40555426fded45c97" + }, + "verify/tooling/test_tooling.py": { + "mode": 420, + "sha256": "bb8d15960dfda13f15cffc57f3b669003b127b4dedbf34100bb4a51c29dd3c6d" + }, + "verify/traces/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/traces/ac-probe-baseline-turn15.jsonl": { + "mode": 420, + "sha256": "a2f4e410f6a8d77f7680b4a69b5b2ac2f59fa80515b0cfe8209e7fec8e4a5b6b" + }, + "verify/traces/ac-probe-turn21-turn23.jsonl": { + "mode": 420, + "sha256": "2bb9317b82744c0da36ef6d9c1a78f31ebacea49b82a18005c0cc75bad62d345" + }, + "verify/traces/ad-r1-turn28-turn29.jsonl": { + "mode": 420, + "sha256": "cde7a1e010aa6195163f3b9320aa5c496fd8c271e9648c90c7319837dd967571" + }, + "verify/traces/ap-probes8-deploy-turn15.jsonl.gz": { + "mode": 420, + "sha256": "e257d5ea3fcb4be8da570d6a5589022e6ba412ff2712f4f06832812d8859e08a" + }, + "verify/traces/ap-probes8-turn16-turn26.jsonl.gz": { + "mode": 420, + "sha256": "df4fb35d9824799d8be79f3a9e976b55b7cd0fb5488b3e12711d04eb3c320f13" + }, + "verify/traces/ar-r1-turn38-turn43.jsonl": { + "mode": 420, + "sha256": "f8653cbd1956346816897b313031c5d70898144d1c84b1c849ac37bfe3bd993c" + }, + "verify/traces/ar-r2-control-turn38-turn39.jsonl": { + "mode": 420, + "sha256": "c1068652ddf54d2ff266c1dc1ef1e69ea663f5d2a83143408f77ec782b3dd988" + }, + "verify/traces/as-probes8-turn15-turn16.jsonl.gz": { + "mode": 420, + "sha256": "024bb0663b167eb364c8e138bae0bf10403860c195bd593cb56f60281060c4e8" + }, + "verify/traces/b2-final-menu.png": { + "mode": 420, + "sha256": "5a95fe260c9cb13dad5fc6f00460819107db93f4ac89f455077ad056600f83fd" + }, + "verify/traces/b2-shim.log": { + "mode": 420, + "sha256": "c31cf01af3659b7fdf008ff44f88f67ee4016dcfb30fc4a72b4d72ea0da8e404" + }, + "verify/traces/b2-techfx-compare.jsonl": { + "mode": 420, + "sha256": "f0202f45b276db6744c80768f12695153812bc882de688cf64705ed6a52f243c" + }, + "verify/traces/b2-techfx-golden.jsonl": { + "mode": 420, + "sha256": "43639e75bd9d510ed270c9cfcbb0c9665f5a6546f748ba81eba3f015e7ca233c" + }, + "verify/traces/cr-N.jsonl.gz": { + "mode": 420, + "sha256": "0071ae72a142533ffb91f9f04caa6704102c826761ff5ae24b57a1c3e9652e46" + }, + "verify/traces/cr-R0.jsonl.gz": { + "mode": 420, + "sha256": "6228c88cebb4dad2158e5586ecbcf71d1160116f2f4a2a8bc020658da8d7d706" + }, + "verify/traces/cr-R1.jsonl.gz": { + "mode": 420, + "sha256": "73f5f15b3343381cf3f973caaf74588fd3d0b6759de1ddcf9e12b9b3ebf29713" + }, + "verify/traces/eventlive-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "9cb344f1d8a3beb4bc1a2bf16baed6c38667443ead9f66fa0f53474a683d263c" + }, + "verify/traces/eventlive-b3-t1.jsonl": { + "mode": 420, + "sha256": "2d9962de9a7ea7fb28b33b72209706b4a27673096f71c8789f9f10ac465f387b" + }, + "verify/traces/eventlive-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "0ee09bb884799e72c6a617ab02e741a7ba791ff458af439b9947a87b368a64de" + }, + "verify/traces/h-probes-human-perturbed-t3-5.jsonl.gz": { + "mode": 420, + "sha256": "2567f8ccb6276a4d647c4f4b88d14f7ae63aa4d1797f672a9bd9c7c86e4d7473" + }, + "verify/traces/h-probes-human-t5.jsonl.gz": { + "mode": 420, + "sha256": "92964779111573dc72e6a1845217cd7d709c9900594a106b3de7b59c2b7a88a7" + }, + "verify/traces/h-probes-zuul-t24-25.jsonl.gz": { + "mode": 420, + "sha256": "0966294af27b49159b1e72e683abc0b59fd52cc9bfd9f517130d30cedf7efa29" + }, + "verify/traces/l3-probe-turn8-turn15.jsonl": { + "mode": 420, + "sha256": "d1b5436f917bb4f6f74bd7b1967dbd0626db2c3a5cbc1d67684ef9f010826676" + }, + "verify/traces/m1-compare.jsonl": { + "mode": 420, + "sha256": "f0f6fd15bc73008e43e20d6ed4c4dd91fb2ec8b40935bfd3cc000d8a84ea6731" + }, + "verify/traces/m1-trace-golden.jsonl": { + "mode": 420, + "sha256": "4a4ddc031fb26a8f8b10dace297c73670f53dcbd250a9be94c0e31c9bb44dcc5" + }, + "verify/traces/mf-after-compare.jsonl": { + "mode": 420, + "sha256": "2a894892977176df1a9d6c8199b0f81b48c7bcac15d2c0e7786441fc6125226e" + }, + "verify/traces/mf-before-compare.jsonl": { + "mode": 420, + "sha256": "ee005097ebaac9f30c63f1e400fdf19a47e88010c71d215885234986d122410e" + }, + "verify/traces/output-ref-turn2.jsonl.gz": { + "mode": 420, + "sha256": "7af583350545501414eda38439f2d0fa39149342d9001d2926e2a4e4fdd5cdca" + }, + "verify/traces/output-zuul-and-ref.jsonl.gz": { + "mode": 420, + "sha256": "d581cb50f07766911fa59fa1df1524b33a9df6eec06226966efd5f54f09b6fb5" + }, + "verify/traces/recap-b1-compare.jsonl.gz": { + "mode": 420, + "sha256": "0ce1c92028a8cd10a38d7cca72f90c37ccbd844f24a1950bf0eb6e75739b44e2" + }, + "verify/traces/recap-b3-compare.jsonl": { + "mode": 420, + "sha256": "6ed3bcd99b4657d614bf63cc0fc2dfff650f4cb14e51086ea98c21bccbcf5fa8" + }, + "verify/traces/recap-golden-trace.jsonl.gz": { + "mode": 420, + "sha256": "d62431e9461ffb1b66adc16a39542b86fa8e0cf54a0ed446a8781c4d75a6c3bb" + }, + "verify/traces/recap-misc-compare.jsonl": { + "mode": 420, + "sha256": "d7c4446d45a9cab2af3da4a0d76f7a42c245da1f59db96fddf31d8b1f2c436ed" + }, + "verify/traces/tailrng-drawsites.jsonl.gz": { + "mode": 420, + "sha256": "5c1806e2b1452226674013119e3b220f3cf42be2ad8b0ed998050ad65d1f8415" + }, + "verify/traces/tailrng-refturn2.jsonl.gz": { + "mode": 420, + "sha256": "c33c6cafe015bda6acf5ca32b0c9595e1611f4ac82ecd3adaff8315c7bd3e560" + }, + "verify/traces/tailrng-zuul-long.jsonl.gz": { + "mode": 420, + "sha256": "213e7dd8a6809dd93190f41c87218e802f1fbe77d44d598f287c2a19544063af" + }, + "verify/traces/tailrng-zuul-noderoute.jsonl.gz": { + "mode": 420, + "sha256": "9476ee3b9b397ca9e20bc92eb887c109a075487cdd750746af051797e8838115" + }, + "verify/traces/unlock-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "f6e27a60bf6c74eb98d8bec50146fe1996642285ca008c6a70c3cb148c6ba54c" + }, + "verify/traces/unlock-b3-t1.jsonl.gz": { + "mode": 420, + "sha256": "bfa53bba3e59d17dd330e38ef52fd04fd92f05f3ad357fefd77388d083b49a05" + }, + "verify/traces/unlock-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "d94c635105a75a68cb811a3881faf371678c075d240998f48fcf348b8459063f" + } + }, + "manifest_sha256": "b4db6808cc2b8aca33fa27eaab330d32811ce146d829a1bb9474a03f7ccdaeb4", + "path": "/tmp/opencode/sots-final-research-re" + } + }, + "source_before": { + "engine": { + "commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "5103c9533f0d31fea29c0cc85d543692af84a697416dfa7557e31c9843210145" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "7d1d4bc05c35e3354a77b3c8d5d2c04fb9d6658d09e87bc814a50bc3d2033fb7" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "15d60c3d592302a2854df8bf6d39c0a578c22b9273a633447e10b76fd76291f5" + }, + "CMakeLists.txt": { + "mode": 420, + "sha256": "6e9791511ea23bf8bf5f7f58617a7e77bbe5006829609e425e565c11c1e8d7ed" + }, + "CMakePresets.json": { + "mode": 420, + "sha256": "fcd1dfe3989ee4f56fa3e419059e1db5621922165edf05f13cfe8e5d786d8bb0" + }, + "CONTRIBUTING.md": { + "mode": 420, + "sha256": "26a381fe08feb51f861655f77de4e558f056d1dba79162a2e82513a92d0e6506" + }, + "LICENSE": { + "mode": 420, + "sha256": "eedebad43ea495111bf4451d78cb440309d90a733d6a36445699dde0629f1858" + }, + "README.md": { + "mode": 420, + "sha256": "66c2437fe4f074e6499de50b0d5f0d013bc290333f4d4bf554b541261885a0c1" + }, + "cmake/toolchain-mingw-i686.cmake": { + "mode": 420, + "sha256": "231c0b79868a77d54cc6619f0b4ea18454964a1a078806f44a6ffe3fb7741a9b" + }, + "docs/A2-alliance-and-modcount.md": { + "mode": 420, + "sha256": "0c0c45c31d5d64124f3b91a161f8a2f4732c8a5d7f6bc524baf4d59f8a191701" + }, + "docs/AC-predictions.md": { + "mode": 420, + "sha256": "ab9e41714abdbc32e620d8a2068be8ebd2fc8898ba149113c66ccda248b4bcda" + }, + "docs/B1.md": { + "mode": 420, + "sha256": "42b61bbfc135cdcd0f1a32f63164b88e67106400de7f08f543f118eccd814364" + }, + "docs/B2.md": { + "mode": 420, + "sha256": "87dfd333ee15681a3aa4de58cf1b14ff8240e75afabc05012e0f28531cb4b8b8" + }, + "docs/B3.md": { + "mode": 420, + "sha256": "fb65c41037b6cd6252c67e5244d492a3a17ea4ba2ddae821d49fe0a879528518" + }, + "docs/B4.md": { + "mode": 420, + "sha256": "22547b3d2960684e52a380fb07f43a75bf50aebf93cede689f297cf38f4a012d" + }, + "docs/B6-ship-construction.md": { + "mode": 420, + "sha256": "9c5c4fd2059af965e317c9db5b7fbfc440397ddfcdc5bf7860115f6a8a0532ab" + }, + "docs/CB-capture.md": { + "mode": 420, + "sha256": "ce45a9082588051eda7438016dc66eb28bb4afda98b82cdc20102c4ca53529f0" + }, + "docs/CB-predictions.md": { + "mode": 420, + "sha256": "ba51538b018cbb403978f97ad45d4743937d49ba55c8f15d7af8f8e4aa441f0f" + }, + "docs/E-events.md": { + "mode": 420, + "sha256": "de98795aadb1617eab91815ebc34818bef8b52c36ba18b4521170065bfd2d201" + }, + "docs/EV-events.md": { + "mode": 420, + "sha256": "e7d9536cd23f5d800dc97f68167bb738088a16136004419f28de92d7fe1bcfb9" + }, + "docs/G-wire-schema.md": { + "mode": 420, + "sha256": "19db69ae359ddbd2a0509d02f1c616f939e0428480a8bb33c81f69145323a591" + }, + "docs/G3-civilian-growth.md": { + "mode": 420, + "sha256": "38ea3a8ddc3fdca258294d949c4cd2af1a930cdd9ba612d5e8fb48bc446bdf30" + }, + "docs/H-probes.md": { + "mode": 420, + "sha256": "f23e4d4cbc8c9a3000a0a58ed994dddd95466cee1ec45e961685e86dde4dc54f" + }, + "docs/L1-predictions.md": { + "mode": 420, + "sha256": "af97dbc9f15b9c2e6f223c89bac17826056fa4f3bced3c01513c1ad4d9ac1754" + }, + "docs/L2-predictions.md": { + "mode": 420, + "sha256": "18213ce5f3375d478f266de85c38c2b04ca2ae8ab4a2023780dca161fa14f460" + }, + "docs/L3-predictions.md": { + "mode": 420, + "sha256": "d1c9c0006079f47ef0d3371f4a2c2df2fe4f08ebdad0f8a12d1b0de35b15ae7e" + }, + "docs/L4-ai-orders.md": { + "mode": 420, + "sha256": "b04127c5158a882f252b2b6e8afb2d131f0de623cc0c62c86c612af803d75835" + }, + "docs/L4-predictions.md": { + "mode": 420, + "sha256": "6a194ae336920f13d8e4a44549cbe26be959beef81cffed88ef03b3cec563e44" + }, + "docs/L5-live-verification.md": { + "mode": 420, + "sha256": "4c1abe57c516b36f383390164a362f53294feda222c623283f1e6091d8ef0ec4" + }, + "docs/M-movefleet.md": { + "mode": 420, + "sha256": "718338edb8cbe8a449793b22889776a1783d1d0ade553c03973ea45d426eb426" + }, + "docs/M0.md": { + "mode": 420, + "sha256": "e121c380612a42727e3a973d8cf50f884d660bb4b43bc494258dc1c6b6f26705" + }, + "docs/M1.md": { + "mode": 420, + "sha256": "e0a36cf109d096748e55522eb8d7a261764cbf5ab5daf9342ba903d0f2bc6704" + }, + "docs/M2.md": { + "mode": 420, + "sha256": "25f9cad74eeee40afc2117333232384e1cf387b2b9132856650234c5ba593c61" + }, + "docs/N-output-term.md": { + "mode": 420, + "sha256": "3b8317e22714ef66b35efceee6fa0f7057c37f7c6e34d93cc5047cd1dd07ecde" + }, + "docs/P-events-wiring.md": { + "mode": 420, + "sha256": "72ee81b71b4c08ae451721c785dc5e01ed4ca43ff0fd474befca09dcc41599ba" + }, + "docs/PAR-predictions.md": { + "mode": 420, + "sha256": "16e8fbbac5001db0b10d766858c0ae2ea9619f37043a0883ee46da80d4dd4846" + }, + "docs/PL-players-residual.md": { + "mode": 420, + "sha256": "9bc29bc030ee8b0e00e496b91fe8fefac15179ce9fd01c0a11a7b5b5335356dc" + }, + "docs/R-recapture.md": { + "mode": 420, + "sha256": "73c62ab20c5eca5e87e1d18aefa60a2a2acd75cbc7510d31b27a2cd4ebcec38f" + }, + "docs/RB-predictions.md": { + "mode": 420, + "sha256": "c1016781505c10aa304d4710c5389918b744ab20cbd8cb54dce462c3dc28e4e7" + }, + "docs/S-standalone.md": { + "mode": 420, + "sha256": "8979b0a9fef33a55ca15bf3ef78064e72df332033354329ff2471ad6648e4a8e" + }, + "docs/SD-predictions.md": { + "mode": 420, + "sha256": "a76a568ccac7409e3cb3acef724dbe6b618d4ec30259bce33594098daff8b6a0" + }, + "docs/SV-script-objects.md": { + "mode": 420, + "sha256": "80ebd120fa9cf5e68ac4d33117966805b917d24bc339f7d82be972a280449409" + }, + "docs/T-turn-driver.md": { + "mode": 420, + "sha256": "a4096b8223cea87ce77cc64014c489d4625ed36fd3aec1358565ca5cf91d4e1e" + }, + "docs/U-unlock.md": { + "mode": 420, + "sha256": "5cbe3d8fb4bd30d029cb2db006a4dd3c6819885f55f434afb4bc8ae79b526901" + }, + "docs/V-eventlive.md": { + "mode": 420, + "sha256": "ebd08c000f42211e87958278f03d6891475cd8557658e1a42105cf5ed45a1aa1" + }, + "docs/W2-predictions.md": { + "mode": 420, + "sha256": "9972e27467cf0fe23a358818caf7edb979de25697d3aa4b97a2135ca79fe34f5" + }, + "docs/W2-watchpoints.md": { + "mode": 420, + "sha256": "f8634c5f977b2ca9b2e07df105cba09adacaeb6fb4cf046e41e5e1e42b83b107" + }, + "docs/W3-predictions.md": { + "mode": 420, + "sha256": "211cedc2d924bcf47cbb73166b408e9a27d795863ffc90aa2adbb85beeadffcf" + }, + "docs/W3-watchpoints.md": { + "mode": 420, + "sha256": "568e818e66d95f9079a1270c4d9b900c7eecfd5b5a3b4ba5a4aa0c843666f061" + }, + "docs/Y-standalone-rng-and-tail.md": { + "mode": 420, + "sha256": "49d926cc505d6ba07753748366e42ec32493a15c76bfaa45b2f66f52adc57f2b" + }, + "docs/Z-tail-rng.md": { + "mode": 420, + "sha256": "3ed2b40f728bcedd663c305cce13481bad1429af03fd5215ee3189161cfbd7f1" + }, + "docs/architecture.md": { + "mode": 420, + "sha256": "ba4732eb8a4c7054df5136a72d1774e4f1e919a517a1c74e975903fdd254422f" + }, + "docs/game-data.md": { + "mode": 420, + "sha256": "2124ea3d117b4ee6f48660d9711c1b4ef844a4ba37af7cea3766914d77bd6b23" + }, + "docs/game-design.md": { + "mode": 420, + "sha256": "5b40349ad446596b534567a5683cf9ea99709d9eff231890e0f6256c755f0272" + }, + "docs/game-effects.md": { + "mode": 420, + "sha256": "e1e0abc162602daaac255fe44b11c511adf45d4ef5fa188268411829b0817e5d" + }, + "docs/game-sim.md": { + "mode": 420, + "sha256": "d1e14770d252fd2f320a7baa1ad54c90d955cfc840f477d1700cfbbadcec730e" + }, + "docs/harness-audit.md": { + "mode": 420, + "sha256": "931d92cc744ec6ca3d961fbe7fe96dcab28060446058eb78be9835ebbce73ed0" + }, + "docs/mars-parse.md": { + "mode": 420, + "sha256": "d9fa3029ade4f9401c59fb88f4520a1ef3af9a9c6f2bb5d1a0ebfa1d5061d6dd" + }, + "docs/mars-rng.md": { + "mode": 420, + "sha256": "f2a01b88f105d07d0d0d514430e76da7632e5c8e4e3bbd6c99a25f1dc5daa89c" + }, + "docs/mars-stream.md": { + "mode": 420, + "sha256": "61a16c9b7c143b4bc2edee473cf1f8bd06c1a5144c120bc563e5ec6d770dd0e7" + }, + "docs/mars-text.md": { + "mode": 420, + "sha256": "2b6c7d2eecbb684160e7565d1d7224eb0d2f7e9a41f4d807095a182ea605dcf1" + }, + "docs/mars-vfs.md": { + "mode": 420, + "sha256": "1508c2a070d56f4fdabac3c2ef1fd08d3f93d7a3045d59158340ee22a6ff1b62" + }, + "docs/shim-trace.md": { + "mode": 420, + "sha256": "8a059c1ba761b366449c2db8ef248656da917050ed28855c6d812ecf91672fa5" + }, + "include/generated/sots_addresses.h": { + "mode": 420, + "sha256": "fc34ac4ee8cc7fea91c447b5715841dc6d3afe36f9aff04e88b6c29b5b64f448" + }, + "include/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "opencode.json": { + "mode": 420, + "sha256": "9af560c2a49945e964beb689649c13775e2aaaf691af270a565d6c6826f76c15" + }, + "src/app/CMakeLists.txt": { + "mode": 420, + "sha256": "142999eded2ff494745ce550af76a8f8caf0269ad22d6d5650e7a79c19d22717" + }, + "src/app/alliance.cpp": { + "mode": 420, + "sha256": "37d6e57f7ce82a69a595cf474e7be7a544efef210f960e9cdfeab6168826bac9" + }, + "src/app/alliance.h": { + "mode": 420, + "sha256": "08fa8dc96286c7cb15a90a987fa22b17e195522e642ab8303b659ca58739eafd" + }, + "src/app/command_replay.cpp": { + "mode": 420, + "sha256": "739059930cd3a5f1d988522ff50c60d8657664a66c9fe19b019833f417b55824" + }, + "src/app/command_replay.h": { + "mode": 420, + "sha256": "956429a742554cada2124de49c6955e27b0e5d68db87dcc95b22c75ec7bd93c2" + }, + "src/app/construction_phase.cpp": { + "mode": 420, + "sha256": "025cd0ea1a7badd567f7f1cd59330b1e01149b5c5094575fbd438683658bb0df" + }, + "src/app/construction_phase.h": { + "mode": 420, + "sha256": "a4d39994096683a1144eb20282b205cf71e2045873cc15b53bdac214ab1e9a5e" + }, + "src/app/event_phase.cpp": { + "mode": 420, + "sha256": "80717fa7c7f108004d5250f12b6c994752a1a55d7f32c7d3ebf29f2869118c90" + }, + "src/app/event_phase.h": { + "mode": 420, + "sha256": "54077268fe4705270dc06bdc46a6fd9384fb5e0d36da19e55ea149b478d8cf34" + }, + "src/app/growth_phase.cpp": { + "mode": 420, + "sha256": "5924d2641fc98d902b56a3e6417d7a57d70c1564718951b098e7d14376ebc4e3" + }, + "src/app/growth_phase.h": { + "mode": 420, + "sha256": "8222ef811abff161c8f891a331a52e527de54fbf468949d1e0e188adc473ae3b" + }, + "src/app/main.cpp": { + "mode": 420, + "sha256": "adfd7dd177439bfd57509532bcf0f37779281ae9309daa93efe1ada3ef3f57a7" + }, + "src/app/observed_phase.cpp": { + "mode": 420, + "sha256": "31fb99678d60de6901b4bb1b251abe2421453264653cf5f7bd297a376c2b23f3" + }, + "src/app/observed_phase.h": { + "mode": 420, + "sha256": "f88fc22a5cb21a43e196d7fae09446126635d3284e6b398bca234f265234b693" + }, + "src/app/phase_catalog.cpp": { + "mode": 420, + "sha256": "e3da16e6d499b7836953251d940ce171792ada208156ca583277298f305fc316" + }, + "src/app/phase_catalog.h": { + "mode": 420, + "sha256": "da6fff506002079d8277358d0095981dc260449dc19677a533ef25ab709aed87" + }, + "src/app/report.cpp": { + "mode": 420, + "sha256": "da3feb6043f6e68cb9ea763f7242ac153a5944c59f448284faf34c64ad6b9228" + }, + "src/app/report.h": { + "mode": 420, + "sha256": "0495d164458ddb7187ce3105f82cee06cf9cf6c5b73ed8cb6e434e1d2e0f8481" + }, + "src/app/script_phase.cpp": { + "mode": 420, + "sha256": "61eeeeb7eac3145cee938ccfc564b231b6968ce7926fb9599c136134f0d5ea91" + }, + "src/app/script_phase.h": { + "mode": 420, + "sha256": "e52006ff939fa945870fafdc2412ba67e3d5e1cc2aa51c0ca0a884ce630aa1b7" + }, + "src/app/trade_raid.cpp": { + "mode": 420, + "sha256": "07d6bb904e655bb644ff6df2e417adb448487bb67acb62240ec5ecc978eabebf" + }, + "src/app/trade_raid.h": { + "mode": 420, + "sha256": "10e0b1460eb7810f1fcd61e67d47333373f06bdacf5a11372958a84a91084e52" + }, + "src/app/treaty.cpp": { + "mode": 420, + "sha256": "317463fc0e2a6ca7eaa4e2f096c3821655a4623de4085af44d951ed500837575" + }, + "src/app/treaty.h": { + "mode": 420, + "sha256": "836395a85868cbd6b7fda8f1d304128fd7cc6952aff37003e8e119a5ce0251f9" + }, + "src/app/turn.cpp": { + "mode": 420, + "sha256": "a626ddf80a340de50b70f09bf91c0180d255c533e65edce1532d807fcf5109b4" + }, + "src/app/turn.h": { + "mode": 420, + "sha256": "85c87aab5c5b5ad5a6a34cc9db710b1cf77dec1a7145ba1e0b5e17fff9a6a237" + }, + "src/app/turn_record.cpp": { + "mode": 420, + "sha256": "e1eb0b253e964ab4f8be1333f81e193ac64109544da384cbdf21858cbf931e4d" + }, + "src/app/turn_record.h": { + "mode": 420, + "sha256": "78d8d2948bd04bff5e7d2c55955b726f1cd7552a765e608e390209e03856f76d" + }, + "src/app/visibility_phase.cpp": { + "mode": 420, + "sha256": "34d9df699af3e57823ec8457c442408da854028f9b95db5820171caad0823131" + }, + "src/app/visibility_phase.h": { + "mode": 420, + "sha256": "60db50f5b98c5edafc86a33f982a7773acc291c1a18f9cf23323e53ebadcde27" + }, + "src/game/ai/CMakeLists.txt": { + "mode": 420, + "sha256": "f51509a2699f02ecab9faa1f75feaa38c299e6bbbe08bfbe5e8e86722037f6eb" + }, + "src/game/ai/agent.cpp": { + "mode": 420, + "sha256": "e1bbddc3deb797d62ae9c2b24bc811ec9379699992dd838694bd5eadc73feef7" + }, + "src/game/ai/agent.h": { + "mode": 420, + "sha256": "48aa26f32d52a3f8f4e37ed5c6986b1e87a8fe1e780d5314514eb5c75b8bc244" + }, + "src/game/ai/apply_order.cpp": { + "mode": 420, + "sha256": "122ffea1090382fd01bc505fd30c59557dfec2c9846609d00da6e80109da2253" + }, + "src/game/ai/apply_order.h": { + "mode": 420, + "sha256": "a3b7a1ca26243ba0fdd801b78978175db6f76e297a72876fa0a35e12f38e09b3" + }, + "src/game/ai/command_capture.cpp": { + "mode": 420, + "sha256": "cb9a1d37af9f66e78d368e03aeabec01e4d48f76aaa30348a51f4c70a915e4ec" + }, + "src/game/ai/command_capture.h": { + "mode": 420, + "sha256": "921599e5b2aa8b773db00134618efde687c7d9ba739abd787ec7666f4cfeb78f" + }, + "src/game/ai/orders.cpp": { + "mode": 420, + "sha256": "1b775eb1a030bc6e81e5b7702cbf8ad56288860276e8a0475da66f7367542640" + }, + "src/game/ai/orders.h": { + "mode": 420, + "sha256": "c2a3b8fe1a7c46a1c1104bc87be8696d9f0782cc304d27cb96d0ec6b182f12ae" + }, + "src/game/ai/tasks.cpp": { + "mode": 420, + "sha256": "b05878ccd94c375aac8723c8ea9499f77b98fb94acc5a75a15fa1948dbe83c76" + }, + "src/game/ai/tasks.h": { + "mode": 420, + "sha256": "b1de4f89c1679ccfdeaa8b852cb2ce407b71dcd1bffacf97df389a69f6ae3a5d" + }, + "src/game/ai/turn_order.cpp": { + "mode": 420, + "sha256": "858b12c51c4509e16a22a6c080d1c6b47bd23d2b8a11f84a48d34f24c4635f22" + }, + "src/game/ai/turn_order.h": { + "mode": 420, + "sha256": "3e76710928fc2df52fd8312abfb8f23a2ce162f8e0856f46672a4f46b5b4384f" + }, + "src/game/combat/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3a05c45360e312d6c1d96c1f05a60437d19d2046257835e0d6c70ecc4ce115" + }, + "src/game/combat/retreat.cpp": { + "mode": 420, + "sha256": "eede86a4d25289dfc9132d5776b11114a109179e5aa10f2b985035e5b22d7a1f" + }, + "src/game/combat/retreat.h": { + "mode": 420, + "sha256": "5fc3e002a5f1944f29c74f862ff942b894e40e88afafd52358373ada36644d7d" + }, + "src/game/config/CMakeLists.txt": { + "mode": 420, + "sha256": "c746021654505c92be333cefb9df994431679d40d8d654b937feb950684830f7" + }, + "src/game/config/config_loader.cpp": { + "mode": 420, + "sha256": "d903ba06747e5b7d66400d03ee1f0a9896bf4268bb200dec0b5c8599dbd3d3a1" + }, + "src/game/config/config_loader.h": { + "mode": 420, + "sha256": "fda71dee1a4e2b896760e9ac344768e176ea4f0a08609c7d651033a1ee698085" + }, + "src/game/config/manifest_loader.cpp": { + "mode": 420, + "sha256": "dbe33dc5ae03db18f3b2c01b48cc1fced10f2cca599270c0a028321a7d7dd7c6" + }, + "src/game/config/manifest_loader.h": { + "mode": 420, + "sha256": "68e508b9e6d1222d980b22ae826b127693fdf0821b6539ed9e62a8ec031aa5b5" + }, + "src/game/config/msvc_sort.h": { + "mode": 420, + "sha256": "17fcb13bb49a634c80be38299617c6c16fd8addedfa88c53d67242c90b811716" + }, + "src/game/data/CMakeLists.txt": { + "mode": 420, + "sha256": "677ba0dd0ebb8176f4e7c41d5550f2ccedd56d49e7e4acb1eb0a7970e9e98a51" + }, + "src/game/data/block.cpp": { + "mode": 420, + "sha256": "f61312708c715ce525ed1a01e71f1446d31fc96ca1cc51f5bd863cac51702200" + }, + "src/game/data/block.h": { + "mode": 420, + "sha256": "f14155dfca5fd270ad6b4d462458aa8cd5c5edf5e19da4df492ee2907e99eccc" + }, + "src/game/data/catalog.cpp": { + "mode": 420, + "sha256": "7799ad3b31d43236cacbc51c3ab086265927f98b1346005a8adfed2796178ebc" + }, + "src/game/data/catalog.h": { + "mode": 420, + "sha256": "80223146bcdbf4808776f974df7e5f46b120a021979a22f50b5ce2d74ec16d6e" + }, + "src/game/data/common.cpp": { + "mode": 420, + "sha256": "e58ba046844be11c61f7f7e501829b48b4f16e7c0ab78f10fcf9189c133cf040" + }, + "src/game/data/common.h": { + "mode": 420, + "sha256": "d1ac8375c1be133a98a383e01598f393f194e1bd9790d1c1230bc6121a45a187" + }, + "src/game/data/fields.h": { + "mode": 420, + "sha256": "4209df368ad776b3c24350246acf47ad874fcbbe292fb16f9ca7dacaef2f08fb" + }, + "src/game/data/shipsection.cpp": { + "mode": 420, + "sha256": "82d5ba9be2a446e50934b0b9a03b16839bd3acd1a967d9441180a1baaa271264" + }, + "src/game/data/shipsection.h": { + "mode": 420, + "sha256": "bcf100f83691226c4993dd7866b67a0b48d9b4bc6841463fbf07f0f26bf9dca0" + }, + "src/game/data/strings.cpp": { + "mode": 420, + "sha256": "6d983d3a4cb4284215301409587136fb765a5e6a4c9f4b988e01d710c0815f59" + }, + "src/game/data/strings.h": { + "mode": 420, + "sha256": "fb292bd472ed68eb4a5e93484f3f92d8a0ae8661e6a61ca4b417ab889c508055" + }, + "src/game/data/techtree.cpp": { + "mode": 420, + "sha256": "2ac6e39faeef808c97375f3b8a3ee219fcab8cc09921f0ed8d82eef7374eb9ea" + }, + "src/game/data/techtree.h": { + "mode": 420, + "sha256": "504946c255405ab28d20d0ed6c095b3b63f0e6865afe0e8bb0707e607c363007" + }, + "src/game/data/turrets.cpp": { + "mode": 420, + "sha256": "ce7db50ef10825e168fee2bf57c4b6038dd1a356be7ada9ed6a4f6a4f31b07a4" + }, + "src/game/data/turrets.h": { + "mode": 420, + "sha256": "f01603ad32b0ffdf891c88cc54c39a725c6a436f8dda79ac23e7505e59853c64" + }, + "src/game/data/weapon.cpp": { + "mode": 420, + "sha256": "accb5aab2081babb26443cd257f292909e19440c40346e098144148922f5d3f6" + }, + "src/game/data/weapon.h": { + "mode": 420, + "sha256": "63aeb670ae7b8a1fd6daa35ed60ebe41a87f62a6ec2a12f44b13f9052c55b009" + }, + "src/game/design/CMakeLists.txt": { + "mode": 420, + "sha256": "42692f7917d99fb5b9e392c2d0f1d908b2bc5c61fc2e5687fddbd665dafe0bef" + }, + "src/game/design/defaults.cpp": { + "mode": 420, + "sha256": "8efa0b79646525375739a1acfe77e75d5ae6b669d1ecaa01f49f3f5183caf528" + }, + "src/game/design/defaults.h": { + "mode": 420, + "sha256": "20af056628f362a4d5ad7ba6277135697718197ec6844ae0ae85bf06d4cd818b" + }, + "src/game/design/design.cpp": { + "mode": 420, + "sha256": "e166281c52a6d92fed8810b38bd736cbd2a324f15d290a39a539d01ff35ead20" + }, + "src/game/design/design.h": { + "mode": 420, + "sha256": "7e936c78ca10c3a49470da67f1659cf4ee323d14d50b5b2c1ada08edfa8f6997" + }, + "src/game/design/hull.cpp": { + "mode": 420, + "sha256": "554b0ef6955ac230c7eca29ea2d94d60b5fbc91f34d9ff457091577c8602268a" + }, + "src/game/design/hull.h": { + "mode": 420, + "sha256": "997018e59c9d78ee1da7e7cb9561b94b76befacbe348a4ce3301c5f22b582461" + }, + "src/game/design/rules.cpp": { + "mode": 420, + "sha256": "a623984f9ab40c354320051fec00bab2c7e3728c2c90082b3b8051294b906319" + }, + "src/game/design/rules.h": { + "mode": 420, + "sha256": "70a8a42fe82e9805cbb957717688ab9f9eb3438226f6e0d696ef5f7a51529229" + }, + "src/game/design/stats.cpp": { + "mode": 420, + "sha256": "c05f420a00026289be8693c0d80bbd2354ce354a91a78459cfc8e70467326c54" + }, + "src/game/design/stats.h": { + "mode": 420, + "sha256": "ba0a5d3bcc98f5c3e64579d42da70bfdf563773ce2fe1e6bfa2b36b14c453fe5" + }, + "src/game/effects/CMakeLists.txt": { + "mode": 420, + "sha256": "2e20f138f98bc69653c8360a26f99f3f43f35beedea5e90dfd7e9721e7550f89" + }, + "src/game/effects/tech_effects.cpp": { + "mode": 420, + "sha256": "40358c2af37543ca3ab09b4d0433cdb4b0d2d212b45f648739cc86e979501604" + }, + "src/game/effects/tech_effects.h": { + "mode": 420, + "sha256": "ef70addf2caf1e3abf36ac9d878a8db37d2adbac370957f5b6a0b5825564a0d6" + }, + "src/game/effects/tech_id.cpp": { + "mode": 420, + "sha256": "11cd652e81a52e86d72541a5c3de77bb50de3d31226272e0d1856e5a15b7f9a6" + }, + "src/game/effects/tech_id.h": { + "mode": 420, + "sha256": "f37752250c80c9c75ef8e144e4646dc1290a2cc8ce72d9a37949c6408996df86" + }, + "src/game/events/CMakeLists.txt": { + "mode": 420, + "sha256": "9b1f14a3801a991ba065e0e39ae2e3fa3966018e8a98fcceeddeaca3909328e2" + }, + "src/game/events/event_log.cpp": { + "mode": 420, + "sha256": "3b131879ec5e81cd1ba2bb0cbdfa6e05775ed77684f4ed7a8f5cfae87da1e7b1" + }, + "src/game/events/event_log.h": { + "mode": 420, + "sha256": "2ff415b1120ca3f28421006a566280fb977027cfa3f209bdba0986350376a953" + }, + "src/game/events/research_events.cpp": { + "mode": 420, + "sha256": "9520b20eba2a2b4bd5925f13b420d526fc610d06aae7ffad314e3002c4f5a253" + }, + "src/game/events/research_events.h": { + "mode": 420, + "sha256": "b87340c6b14e9de97e5bc0c5a4cbd74e54bab2831c60edf88c0e42ff5218ea22" + }, + "src/game/nav/CMakeLists.txt": { + "mode": 420, + "sha256": "79cc0ba25c6d49f7784663ace033d01ab3d85a5d8015fe2f466f8f1a3065983a" + }, + "src/game/nav/pathplan.cpp": { + "mode": 420, + "sha256": "04cfe8fca5be565f5443c8f1402eb0072221dbd63f70855e35b3eeea752f1775" + }, + "src/game/nav/pathplan.h": { + "mode": 420, + "sha256": "28b51f737b458679888e555d985b9e8d41adf8ba91fa0980b5e83668758c86e7" + }, + "src/game/sim/CMakeLists.txt": { + "mode": 420, + "sha256": "4b3085116f88c903a137abef6806891f7b7245dcb031153df7a5465dd2521116" + }, + "src/game/sim/colony.cpp": { + "mode": 420, + "sha256": "e0f0bf15d87b6ac2e92053cbfe0869c0dbf9465d90a9bae5456bb46883423b77" + }, + "src/game/sim/colony.h": { + "mode": 420, + "sha256": "357dce21440140a6cf836a3c12175ebb5bb6706c37d5ecd315a4ee4937725b47" + }, + "src/game/sim/construction.cpp": { + "mode": 420, + "sha256": "8cf4792f487162ca3599f16f0e92d73b4c9549046044548c5aecf202dd564130" + }, + "src/game/sim/construction.h": { + "mode": 420, + "sha256": "a7f201101ad704f1994f809259ad60f780760fa36174d99a1ccd9299447f5460" + }, + "src/game/sim/economy.cpp": { + "mode": 420, + "sha256": "1e0b17b589496a6139e8ca10fe20553050be7c965a02daf8b520dd5020412d89" + }, + "src/game/sim/economy.h": { + "mode": 420, + "sha256": "6f3e33e803bb49367d4cee3c8ef6186f04b79e7cf901047fc48d933108ab6d2a" + }, + "src/game/sim/movement.cpp": { + "mode": 420, + "sha256": "80c64b2148304b84683cf3860ced1354f5c29c923bbc50cc5001030dd85c2cd2" + }, + "src/game/sim/movement.h": { + "mode": 420, + "sha256": "9a6b2b4960428634d8004cd5694ed6a7a10ab28fd9c0e2a9824ede3e201e9441" + }, + "src/game/sim/numeric.h": { + "mode": 420, + "sha256": "88f715192ea322ace4eea13ab5ae55f7f41600262025208e468b5259220522c2" + }, + "src/game/sim/observed.cpp": { + "mode": 420, + "sha256": "43d29a9fe1195dcc0b7e6101ea05bfd076f03636f9f68de473539c83db0ddd22" + }, + "src/game/sim/observed.h": { + "mode": 420, + "sha256": "0224b5bf341f30ff0e98d910547261b6732bdc0c5339b520e26fc51939c1269f" + }, + "src/game/sim/player_turn.cpp": { + "mode": 420, + "sha256": "beb1b2ed434df3727e676ac56e751beff87fa98e4a42e4657cc54d41025773a2" + }, + "src/game/sim/player_turn.h": { + "mode": 420, + "sha256": "f24f8f5e161486575cd341c2f5bfed46fa6983263edcf2320e9c24860b4be51a" + }, + "src/game/sim/research.cpp": { + "mode": 420, + "sha256": "95f2d325544ee018ec8d0f945e91b4172f6ba406f95e19f86c4fb9aac6b22a89" + }, + "src/game/sim/research.h": { + "mode": 420, + "sha256": "e27a311e977afb2e01242938dc8d928e9a67d1f761965e191cf907e05c1c86e9" + }, + "src/game/sim/rng.h": { + "mode": 420, + "sha256": "f7e5bbced3dbd37deb49a00b52d05f7c751501d654dabd645ecff7447355929c" + }, + "src/game/sim/scriptobjects.cpp": { + "mode": 420, + "sha256": "a4f9a1b49e4ba22a88726efbbea2f355b40a3c006734d9150d509a344720a4d2" + }, + "src/game/sim/scriptobjects.h": { + "mode": 420, + "sha256": "210d0eb51780df70a9bca133664429589c03ea33e4524e2c182801d4b4a5c74b" + }, + "src/game/sim/species.h": { + "mode": 420, + "sha256": "83b44c0600b99c5acb72a3484bb0708cfba765cdf594aede596a3c47d5ee6298" + }, + "src/game/sim/techgraph.cpp": { + "mode": 420, + "sha256": "81f8f1120eb1fa4a77752bd2e0917df3dd76372461416526ae510bd697944ef8" + }, + "src/game/sim/techgraph.h": { + "mode": 420, + "sha256": "b2fc90666080a6b7f27dc9290eef17774d57742c2a1f9e1f77d94c7fa5689f6e" + }, + "src/game/sim/tuning.h": { + "mode": 420, + "sha256": "4acfad4098de951cc3a94ca25a2f200e96caba1836bf7441de5a2b458c022194" + }, + "src/game/sim/visibility.cpp": { + "mode": 420, + "sha256": "25f86a34f9a98d2439672283a446ba1804973dae3f6d9aa3692342b05f3a3ac0" + }, + "src/game/sim/visibility.h": { + "mode": 420, + "sha256": "783896489a2a9ec8bce617b141bfb631e8ef92f958be7b5c2ca64fd75774471f" + }, + "src/mars/parse/CMakeLists.txt": { + "mode": 420, + "sha256": "76c290b786a3e73387ec8c574fd5a0dbeb6e629adbe970426314f16497f59fa9" + }, + "src/mars/parse/blocks.cpp": { + "mode": 420, + "sha256": "e60baa8127b21cf6eb6c8e2aa02c6a72c6403dbc29e8480ff658bf184266675b" + }, + "src/mars/parse/blocks.h": { + "mode": 420, + "sha256": "1e8b76919a584d1d7fb01c5ff5e3a7173e8456eca892d61f0c6b7bb8f02f33b1" + }, + "src/mars/parse/effect.cpp": { + "mode": 420, + "sha256": "beb76a841a3d42dbc157413384ff1a0312a7068d6b22020eadcee2e1cbbc81f9" + }, + "src/mars/parse/effect.h": { + "mode": 420, + "sha256": "aaa5c83f2d8eef24667bf05d0f71b2a346f2fce09dc9a45d7a5197c894922e44" + }, + "src/mars/parse/result.h": { + "mode": 420, + "sha256": "58cff456e353550abcd0f52e031d9d70f2b7a975f4762cfccc64eb6bc748dbd9" + }, + "src/mars/parse/script.h": { + "mode": 420, + "sha256": "69a493268c47a08672694489a51c3ff0a7f9aa870e5ae5a93d47ba033cf21ad3" + }, + "src/mars/parse/value.cpp": { + "mode": 420, + "sha256": "712133e4d725649f5461e6a46bac6842b0751ac3fb7e1c468f826638ec58f623" + }, + "src/mars/parse/value.h": { + "mode": 420, + "sha256": "60d692648dab7e3e216c8d9e6ef212592ba1df1a98260b1b4599354742947b38" + }, + "src/mars/rng/CMakeLists.txt": { + "mode": 420, + "sha256": "dceb4bc0fb35c95a12ed9aa36380e79aa75641b15ecc06e4289d39824087e2dc" + }, + "src/mars/rng/mt19937.cpp": { + "mode": 420, + "sha256": "0c60775e9437b8eaad49f67a96001c81947c8d9e6d2472e28b2b490515bac95b" + }, + "src/mars/rng/mt19937.h": { + "mode": 420, + "sha256": "300836ab26fd1a4d913b395f08770bb2c248029ef1b80ecbf0c4d886adca2b8e" + }, + "src/mars/stream/CMakeLists.txt": { + "mode": 420, + "sha256": "95ffbb0c519e55b7423ab048a3019e295b7ef3a3e9506044ef2e68569df9601a" + }, + "src/mars/stream/archive.h": { + "mode": 420, + "sha256": "84d9ae2bb3d6f444b3933b3816cafd12caee8619d2219f19cd10d32cfad01d2e" + }, + "src/mars/stream/bytes.h": { + "mode": 420, + "sha256": "9f5869952c9d6b925db32995a417ba292a0c1a672fc3850400150afb8163b3f1" + }, + "src/mars/stream/dump.cpp": { + "mode": 420, + "sha256": "1b5bba86b2f85b1718276f8db557601320ab8a165d5fbfe93e51219cca5a1c16" + }, + "src/mars/stream/dump.h": { + "mode": 420, + "sha256": "a69af300ae7083fb0a5362edbe7eecd5273c8807884aff9fbedd7ae606c7fc4f" + }, + "src/mars/stream/gzip.cpp": { + "mode": 420, + "sha256": "20d71fd50bd637f78e7ebb5217bc6607ebc257535cc4720e640e4badb72f1644" + }, + "src/mars/stream/gzip.h": { + "mode": 420, + "sha256": "6bce52c615eb120999adb1a6f7f06baa813a033c28e02e6d79ce77f5b7a929c9" + }, + "src/mars/stream/node.h": { + "mode": 420, + "sha256": "eb43054c8592db107557979c7fc8612dc0646ba5d62f154b9b7f96a37ba2e860" + }, + "src/mars/stream/probe.h": { + "mode": 420, + "sha256": "6411d0976d1e785e8c32af6ecfe1a797c0a9aa02314e5e42fae3ed7b3449ae13" + }, + "src/mars/stream/reader.cpp": { + "mode": 420, + "sha256": "90f19cbcdb0fc50795895ea1eff09cd6c0ab3069095c49b276f3894e3d6bcbb3" + }, + "src/mars/stream/reader.h": { + "mode": 420, + "sha256": "900508d97be1cbe566d77f2c91755d3db387535cd9574e41704b6d940daa1ff4" + }, + "src/mars/stream/save.cpp": { + "mode": 420, + "sha256": "6db367b3ea570a4d0ee831160e3f44cef380f58de163b9d9205ca7449e51e049" + }, + "src/mars/stream/save.h": { + "mode": 420, + "sha256": "b3a411600d98b42e9014e1fc3cbc3eac5f32f4393e9f72036d3d840c802bb469" + }, + "src/mars/stream/savedump_main.cpp": { + "mode": 420, + "sha256": "8dc687f009d9f455e9bfa4019f03df72e058cebbb3e9ae5bcbb308285470208c" + }, + "src/mars/stream/schema.h": { + "mode": 420, + "sha256": "b1cd64bc43076a3e5893239bd2eb5c216e7293ee541322ef74fb106928183a05" + }, + "src/mars/stream/shapes.h": { + "mode": 420, + "sha256": "45ee379ff8100b6bc27427a2580d7aae19ff3d5d0aa27f682d156ae6a92d0a6d" + }, + "src/mars/stream/writer.cpp": { + "mode": 420, + "sha256": "54804b06266e34793f5294f9a96d2939d641915a0f60fc4e3b4170bfcea6e083" + }, + "src/mars/stream/writer.h": { + "mode": 420, + "sha256": "921cd44ea30e0b9944825b1d2caafc46edc8f2c23506c807050ed9208a397340" + }, + "src/mars/text/CMakeLists.txt": { + "mode": 420, + "sha256": "dccb93b37c21c9b3c3b35a50ca8de55c9f00df2a9e0a33b6c36d659a75455436" + }, + "src/mars/text/csv.cpp": { + "mode": 420, + "sha256": "b190e12b86a3f416a72c110caf9e0b2d98cdd33851d2fa48b55a8d7ea39279af" + }, + "src/mars/text/csv.h": { + "mode": 420, + "sha256": "3b7ec6d0884e95bfab869c253eddc30a802602bd1f230cc69461cb9cf3c17917" + }, + "src/mars/text/flat_kv.cpp": { + "mode": 420, + "sha256": "b98d3b7345489f0b149e56cd15436fd6199e4cf00d7ce3f8b8b31fcdecb90e47" + }, + "src/mars/text/flat_kv.h": { + "mode": 420, + "sha256": "d6765cd42cad46597b6e36e9d08baf6819f7796442293043d5ff686e2376d292" + }, + "src/mars/text/lines.h": { + "mode": 420, + "sha256": "b9a16ccf0dc7bbf36100e0b66c80bcb818590b161f820d3c67d55bccff1c2c65" + }, + "src/mars/text/manifest.cpp": { + "mode": 420, + "sha256": "4da1bb615902ec61883e561f5dd375d89442f7b9046fbc864f6308f27921087e" + }, + "src/mars/text/manifest.h": { + "mode": 420, + "sha256": "dd7351a7a6a144e97f3a3b6a25d22d1518a099e95deadb8965cedb201601e102" + }, + "src/mars/text/result.h": { + "mode": 420, + "sha256": "7f817033811dff6fcef1d5b76f88922cb0392afb4359549876cd017a14755606" + }, + "src/mars/text/value.cpp": { + "mode": 420, + "sha256": "94b433d78f3211e1a4dd9eb8a0a00b514cbeaf63a03e738146c56dbbfe221479" + }, + "src/mars/text/value.h": { + "mode": 420, + "sha256": "d3b5c70af2f339ad27b43c38353fc7a2da83388854b02000fa1b6d9a4e1dfc07" + }, + "src/mars/vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "630d5d4707ef3c0f24a414815cc23158853fe9d5aef429d6619abc1c433b3786" + }, + "src/mars/vfs/path.cpp": { + "mode": 420, + "sha256": "e1f3bbab1f90b0132aec24d8c5997dafab69ec72f01f2dd2fa63c91f83ef7aeb" + }, + "src/mars/vfs/path.h": { + "mode": 420, + "sha256": "043091008f2cab7c88185de63e7aae63ad9b0e384109f5b6fd8c31666c4e2033" + }, + "src/mars/vfs/result.h": { + "mode": 420, + "sha256": "19115bf1c5b3bf01da078a49209230053043610b342b01cdaaed126e2d3ea748" + }, + "src/mars/vfs/vfs.cpp": { + "mode": 420, + "sha256": "ab8272cd14b4b55e7af13f5383d6106f0b1caabdde57e69c1d0fb5b434d31cba" + }, + "src/mars/vfs/vfs.h": { + "mode": 420, + "sha256": "2484231baa64ede6fc35eb0f49e1fd7a3373d5c559f016d5adfb9fc433619d90" + }, + "src/mars/vfs/zip_archive.cpp": { + "mode": 420, + "sha256": "d66e70300539bd42bcf193683df7c34d2b0b03146fd79f0a180385ead1559e87" + }, + "src/mars/vfs/zip_archive.h": { + "mode": 420, + "sha256": "0ffbd90f7919741e63e86e14d0f87d247bc2cd16d2db54771071553249ad935d" + }, + "src/shim/binkw32.def": { + "mode": 420, + "sha256": "fb500fd9f9ecbff44123b89fc24cec72e91fec4c4430ce12a69efc06b20de235" + }, + "src/shim/fpu_force.cpp": { + "mode": 420, + "sha256": "c4b4e41a7ef81139c652ba8164ed8bb0d809b42182f0d0f048b9a9e63bebe59d" + }, + "src/shim/fpu_force.h": { + "mode": 420, + "sha256": "75bac23bc45510961f6b10d21c47e72d8dc0d3971a3ab30b795cad1d25332c06" + }, + "src/shim/hooks/ai_orders.cpp": { + "mode": 420, + "sha256": "091ed885012fffa0e02b83c53e547483dfdeaf1094933726e0291fff0a99e434" + }, + "src/shim/hooks/ai_orders.h": { + "mode": 420, + "sha256": "6e775b3f946f2eaf10dc2e236a3f3c7b9311ed4e82cd4be1ca30e6c62d49d053" + }, + "src/shim/hooks/ai_rng.cpp": { + "mode": 420, + "sha256": "b8fec711cb620561c8f4854e72c3fb0d73013c9b1cd69fa63fc05dd3d2f60289" + }, + "src/shim/hooks/ai_rng.h": { + "mode": 420, + "sha256": "1306f4d3c8071121b06c75232efa5c50b155c1f8752fcae852ee8e5497ce7d08" + }, + "src/shim/hooks/ai_visit.cpp": { + "mode": 420, + "sha256": "cd69811074820810edb1ed3779ca08bd99fea620b162d80a0395d35e8db7fc31" + }, + "src/shim/hooks/ai_visit.h": { + "mode": 420, + "sha256": "8315b433319f680e80a154409124355ad24842e9a0cdef5c8aa6d12422971189" + }, + "src/shim/hooks/budget_inputs.cpp": { + "mode": 420, + "sha256": "fa50fb74a3874886cf8aeb4012b9fd9a5a43ce38ab3c543ee425002ca32fd46b" + }, + "src/shim/hooks/budget_inputs.h": { + "mode": 420, + "sha256": "56e2f95930ff420820a3464162fde74ac0a3ff2e1dc8b493729fed342e4a6548" + }, + "src/shim/hooks/colony_inputs.cpp": { + "mode": 420, + "sha256": "7aa9191ec6292d765fd06c99ff1f2ae2e09a65fb1f238dd2727f28bd465dd46e" + }, + "src/shim/hooks/colony_inputs.h": { + "mode": 420, + "sha256": "87ec765e14106631e3f6423450e6e01d5bb21060fa91f83c267db215ef4986d9" + }, + "src/shim/hooks/colony_turn.cpp": { + "mode": 420, + "sha256": "b82616c7b9b05e96e7f4c40d853c686884b517a5424413686d61799df9d45420" + }, + "src/shim/hooks/colony_turn.h": { + "mode": 420, + "sha256": "a9013cc2e92998ff56ac0c8cc36dc42033fbe3072ee88b86882a1dd4dd0357d6" + }, + "src/shim/hooks/compute_budget.cpp": { + "mode": 420, + "sha256": "76a24f0daf1f49cfabbed13753c65754e26bfcc4f672791b37e926f82b5c1906" + }, + "src/shim/hooks/compute_budget.h": { + "mode": 420, + "sha256": "f308717e44e12151cfb20a6a0cf11ff8e99ecc9c17ef04783198feed05a24caa" + }, + "src/shim/hooks/dictionaries.cpp": { + "mode": 420, + "sha256": "b60794256c07964eb89d5295ecb711b402112fe5f982a9215dc3a304d03a567b" + }, + "src/shim/hooks/dictionaries.h": { + "mode": 420, + "sha256": "ac68fd66eb343d40ee97d6bf29c8b54f5d469a9ef8862687ae15e6ad8bdafdc0" + }, + "src/shim/hooks/draw_sites.cpp": { + "mode": 420, + "sha256": "e7a1fa40262db2ed22b1dfa5ca1bd2588da07bfbab046f23afa8e86c03814d79" + }, + "src/shim/hooks/draw_sites.h": { + "mode": 420, + "sha256": "0021323e918d464223d03b969d0e6992a0efac23ba84a31af901cf2ac74e9b13" + }, + "src/shim/hooks/event_inputs.cpp": { + "mode": 420, + "sha256": "eeb9cc87ef5c39994b7f25d5ccfe220c4775b32a4b11471b0fc0fb81fca4362b" + }, + "src/shim/hooks/event_inputs.h": { + "mode": 420, + "sha256": "c0e74aed8756b3de8ebbe5ab3d70cfa6282403efefc2d795e8f0b1b4cd44d731" + }, + "src/shim/hooks/fleet_movement.cpp": { + "mode": 420, + "sha256": "f01ae7f64b1d545089b002b79c9986d2a39b97ad3995c88a8b71fa05eedb90f0" + }, + "src/shim/hooks/fleet_movement.h": { + "mode": 420, + "sha256": "dbbfe50afaedad63ec45881819aa5de3907cdb411ddf8d1d3e6a5f9a386dc8af" + }, + "src/shim/hooks/global_consts.cpp": { + "mode": 420, + "sha256": "87a51601e1a7d963bf841ca4e892aa79de789a050f5d783c7b5d8bbc2e96a9a1" + }, + "src/shim/hooks/global_consts.h": { + "mode": 420, + "sha256": "b6ac4265ec1f02f11c342536dbc9970c13761ea68aec0a5962d0f4cd6aa5d265" + }, + "src/shim/hooks/movement_inputs.cpp": { + "mode": 420, + "sha256": "0e23f86e4a8ed6c292aea8e45512931cdd06742f25c5e0d175bf0ed3b2217502" + }, + "src/shim/hooks/movement_inputs.h": { + "mode": 420, + "sha256": "32904786cbb122c3c8c36faf6bd9ea5ade4cd8395e74199ec08dbcdb8019b66a" + }, + "src/shim/hooks/player_turn.cpp": { + "mode": 420, + "sha256": "33bcadd7569ad13c69f5f160423c8d469bc67725ce7b944cf4b4346fb8cc7f23" + }, + "src/shim/hooks/player_turn.h": { + "mode": 420, + "sha256": "a766a0d93f3860da6f8d1e0dcf110d6754cd8dfe67d867093f32e3d24e8ff0e0" + }, + "src/shim/hooks/player_turn_inputs.cpp": { + "mode": 420, + "sha256": "993dce2ca771a36337c9561695995a0825746563d2e84b4458de650f3e456799" + }, + "src/shim/hooks/player_turn_inputs.h": { + "mode": 420, + "sha256": "ca0d7916ca17d993aaef19be48d03076220ae15cdcc622aef52a7c6b5957ca71" + }, + "src/shim/hooks/probe_entry.cpp": { + "mode": 420, + "sha256": "5faf9cf04a2cf849d2dd54ce4ad9b812120fb99741f11e9d52fed450badf0506" + }, + "src/shim/hooks/probe_entry.h": { + "mode": 420, + "sha256": "f04f445863a6164d03bc9f6edcaa2e2b0108163241510f4c1dfcb0da7667d89f" + }, + "src/shim/hooks/research.cpp": { + "mode": 420, + "sha256": "dacd16403f1dd5be2ef2cc42f16938977bdd0ee9283d0bca647a079ee3d28e83" + }, + "src/shim/hooks/research.h": { + "mode": 420, + "sha256": "a62c4847be81ed9d10c4f5b9a876bd79898040aa11aa8764149d82db4b010a84" + }, + "src/shim/hooks/rng_ledger.cpp": { + "mode": 420, + "sha256": "119d325fcda72268bdc87f7ca7af05d059d4521c4d7d40ad7426ce070865eabb" + }, + "src/shim/hooks/rng_ledger.h": { + "mode": 420, + "sha256": "0d1e9c79e7601da921253e860c55d9b69c21e03a1014c49f1dd85fd0e5f70f30" + }, + "src/shim/hooks/system_output.cpp": { + "mode": 420, + "sha256": "93bfb7e6ca381041d1e9830f82b8d774a63c12593fc426fd3e9198c9373be3b4" + }, + "src/shim/hooks/system_output.h": { + "mode": 420, + "sha256": "62a8424c70bb8e6c3d9603ce752f6b19a3920a4a78be75718869d7dac73f3738" + }, + "src/shim/hooks/tail_rng.cpp": { + "mode": 420, + "sha256": "9b2a3923d1d837399f3486650ef0e49b502837ff7df46a12df9a9e9b0d4d9d07" + }, + "src/shim/hooks/tail_rng.h": { + "mode": 420, + "sha256": "b9585605e71364872db25c608012e94db2148f22e2e6fd40d4b590a83f3be92b" + }, + "src/shim/hooks/tech_effect_fields.cpp": { + "mode": 420, + "sha256": "4c4d558aba3ac4e1b10e0944c867911e61daea0b4ade716760546846cebcb7b3" + }, + "src/shim/hooks/tech_effect_fields.h": { + "mode": 420, + "sha256": "22b2c050f73c9de011a42dc5a52d92a1bd3b24a59f3ba3b4332d832fb1853420" + }, + "src/shim/hooks/tech_effects.cpp": { + "mode": 420, + "sha256": "2a20f01a18ed30a466e2023ae023aeed8718c680cda927d2f3b463b6dbe35714" + }, + "src/shim/hooks/tech_effects.h": { + "mode": 420, + "sha256": "ffbc4e8262146cd7764f0b9758fff01ce5d359b25a0f5d8c931313f32d035320" + }, + "src/shim/hooks/watchpoints.cpp": { + "mode": 420, + "sha256": "15c94333f22bb592129efe3fb800ea89987045f9ebbc0e6791d4397961fd727d" + }, + "src/shim/hooks/watchpoints.h": { + "mode": 420, + "sha256": "639ae42b230fb31762f50cac0422dcd5b7fda7a1a02c7739a86d1cd6eda62277" + }, + "src/shim/main.cpp": { + "mode": 420, + "sha256": "eebdac7f8f69b8b95cd290c96d41c6f3f0ed5c45ccd5de54ffc790af47083b99" + }, + "src/shim/shim.cfg": { + "mode": 420, + "sha256": "44ca58394455549150c3461cc888128a968b4f062807e19ef25b8eebf0bfd523" + }, + "src/shim/shim.cfg.b4compare": { + "mode": 420, + "sha256": "68bed5883a75132eb5e885b4750d23c1d5734c843a32a56dc7f96d2b73fdf962" + }, + "src/shim/shim.cfg.b4scout": { + "mode": 420, + "sha256": "faac0765478d88b63f371fbc307512e71fe05f2e6f97272e6e0ceb267cc6d626" + }, + "src/shim/shim.cfg.b4trace": { + "mode": 420, + "sha256": "6a89cdd3cfdf53cfbaff29278fd5d0edf156ad8a525c61624b60ddb1eb0575a1" + }, + "src/shim/shim.cfg.bupin": { + "mode": 420, + "sha256": "39d52ef1ccb18d4dea261b87d3f363ba45079022d1b9bc3531c552ef6df80ec2" + }, + "src/shim/shim.cfg.cbcapture": { + "mode": 420, + "sha256": "0939b1ea144976ded2d45ad885fa0f1ffa3d77f16cba9b4d5a9cb87623500a62" + }, + "src/shim/shim.cfg.cboff": { + "mode": 420, + "sha256": "7d5d6e2ceb7f86fd17543c9212e8547be6009f725871aadbaf6057af1f4f5484" + }, + "src/shim/shim.cfg.cbpin": { + "mode": 420, + "sha256": "72a222c025796458dc1a538eed3ea55f053ee5e3c01e5b19b802922a058d4fbe" + }, + "src/shim/shim.cfg.cbtrap": { + "mode": 420, + "sha256": "938c0893b95b576b75927d75787999c22b3424d28c8936456ea3723f62775e51" + }, + "src/shim/shim.cfg.crcompare": { + "mode": 420, + "sha256": "129031ceb358fef9e0fcee2fb42a0f20fd76d9db78f061f956bf75ce2cc51dec" + }, + "src/shim/shim.cfg.croff": { + "mode": 420, + "sha256": "f99345e7db55e695ecabf7a00fc16ced9a42e8882abfeabc8281b9a4ef26d730" + }, + "src/shim/shim.cfg.crreplace0": { + "mode": 420, + "sha256": "60c13bd76e546b4521ab4e6a7836439078e2a176a11e471e03434623153cb7d9" + }, + "src/shim/shim.cfg.crreplace1": { + "mode": 420, + "sha256": "d27f43eb970d6a9c8a0c8d8f7071633a226c34b675a6581b331c6e1ba6f36c9b" + }, + "src/shim/shim.cfg.fpu007f": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "src/shim/shim.cfg.fpu027f": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "src/shim/shim.cfg.fpu127f": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "src/shim/shim.cfg.fpu137f": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "src/shim/shim.cfg.fpu1a7f": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "src/shim/shim.cfg.fpuoff": { + "mode": 420, + "sha256": "ce637b3f0eca81c04490335cd9fe8a537cd09e5ef14cc5b3050f548ca4d54c65" + }, + "src/shim/shim.cfg.hoff": { + "mode": 420, + "sha256": "dc9b4619fe84921ea5896c2cd190afb5bd4ca89422fb86bfee8459665f92cd7a" + }, + "src/shim/shim.cfg.hp0": { + "mode": 420, + "sha256": "ede723fc540adb94bf16af0f3086c1935aac008acb6a8d550e2a4e97ff232c2c" + }, + "src/shim/shim.cfg.hp10": { + "mode": 420, + "sha256": "1c1f07dfdb7f99d63ed9a62aa9a447efda690623164beeaf434c588e02ef12cd" + }, + "src/shim/shim.cfg.hp11": { + "mode": 420, + "sha256": "36eae0d554a79b9536e3c57d2fef187ae81bd3266947c7f45035be554fb59404" + }, + "src/shim/shim.cfg.hp4": { + "mode": 420, + "sha256": "5bb0d636247c37def9b5cbf0cc9138b13590a50ae8212890fb7d31dfb9e837f4" + }, + "src/shim/shim.cfg.hp8": { + "mode": 420, + "sha256": "a8fe5f16a299b2b9eb81a811c7ec5a3b1baf635fa179a69f1e23243c7d1e2133" + }, + "src/shim/shim.cfg.hp9": { + "mode": 420, + "sha256": "765fdf337bb6942dbd1357166646dbf7fde3777678a606c4dbfd368078f09b5d" + }, + "src/shim/shim.cfg.hpall": { + "mode": 420, + "sha256": "630f99725ea6aa933984f4c545634d127787672de36f6756da2591e22a36f366" + }, + "src/shim/shim.cfg.hprobes": { + "mode": 420, + "sha256": "3bad5e3e7bf35a85acc7169d27531788e9659dbe0f8b1a0c719777fdb6beb5dc" + }, + "src/shim/shim.cfg.hprobes2": { + "mode": 420, + "sha256": "c335f1ec8aeff1165213cd40adcdcd59893c65edf95b1537fc4460e6060911c5" + }, + "src/shim/shim.cfg.l1control": { + "mode": 420, + "sha256": "c5dec81556268795b9a3df175bafde340a3fe76c7d6e05389e09e79d2b138b43" + }, + "src/shim/shim.cfg.l1hive": { + "mode": 420, + "sha256": "970ce465f2363f391a93086f1b596e904265510e02e7d2d38174cc6ea22d9b25" + }, + "src/shim/shim.cfg.l1off": { + "mode": 420, + "sha256": "a4197233c65acb876328666cf37754aea96f942b6ea08105bdfb61d6d5bcbd64" + }, + "src/shim/shim.cfg.l1seed": { + "mode": 420, + "sha256": "360af979eaa0c13eaa4db38ff13dcc64b3e2ab538300c26497921301fd3817b9" + }, + "src/shim/shim.cfg.l1snlv": { + "mode": 420, + "sha256": "3603508983a87906ecce02e4c2e9581cf2fa59390af25335f0b221765c57ef6d" + }, + "src/shim/shim.cfg.l3cont": { + "mode": 420, + "sha256": "629530a34412ebf85fc8ce8d2e5931684eea9891b6b619419e6f8db8c37f0976" + }, + "src/shim/shim.cfg.l3control": { + "mode": 420, + "sha256": "42b6ec7ebc9c83dae4a58884803f627d54956eb308611ce1e8d3691a12a74ccb" + }, + "src/shim/shim.cfg.l3probe": { + "mode": 420, + "sha256": "692dabb6f00343bfcc2f86d62ade827c295acc4630a18a1f2ddcebd53640978d" + }, + "src/shim/shim.cfg.l4control": { + "mode": 420, + "sha256": "ab13b7e3604ee98e9372e3405e0eacb6d5965e02d5317cfee0ea9b9afbd750e3" + }, + "src/shim/shim.cfg.l4dump": { + "mode": 420, + "sha256": "fb40d67d8d7dca4587a1dc13a95826ab68eb3fcf44feb6006388935f3ee346f2" + }, + "src/shim/shim.cfg.l4off": { + "mode": 420, + "sha256": "629a3e41d11daa53325f31aeb77d14d5abe67058e274d36ed8feb71e2e30dc13" + }, + "src/shim/shim.cfg.l4probes": { + "mode": 420, + "sha256": "a446ff3d6117d5352ad9b3c3c02f6d6300ce0b1089f055925afe19b77f0a20f3" + }, + "src/shim/shim.cfg.l4research": { + "mode": 420, + "sha256": "ad400f7082680db82c6fb0d39eed488710e6661f9e3215b9ea2eb0ba53444b9b" + }, + "src/shim/shim.cfg.l5budget": { + "mode": 420, + "sha256": "74df0fa1bd14fec6e8028ba05c516f3a370ba389386e5a8459d594c2c7ad83ae" + }, + "src/shim/shim.cfg.l5control": { + "mode": 420, + "sha256": "3557f716dde348a98fda65a5bad54911fe6d52f75c2cf6a82cc5d4fc47a6e968" + }, + "src/shim/shim.cfg.output": { + "mode": 420, + "sha256": "a811cffac230a1d6c0f9c5adacb1b691ae289ec08de0da3726309a4e1213acb0" + }, + "src/shim/shim.cfg.parbr": { + "mode": 420, + "sha256": "ea8230b596e7baae0c127f5700391ec2c96d546daba8c70ce8b2800c83b096dd" + }, + "src/shim/shim.cfg.parctl": { + "mode": 420, + "sha256": "2d1190d032bb705030746197020c715f4ab8af551f944e9ec0abe136912ea60d" + }, + "src/shim/shim.cfg.parorders": { + "mode": 420, + "sha256": "2107be5ec950e69d01c43ab30919fbfe652823878f150111b158927bc41de8d6" + }, + "src/shim/shim.cfg.parpin": { + "mode": 420, + "sha256": "893f1f81cdef0a964145ebb1c4b1e2725af8868b14fed412d40e3cce71f824f4" + }, + "src/shim/shim.cfg.recapb1": { + "mode": 420, + "sha256": "688840567305218dada122b29284f6af44c3c63ca173db87406de159bb547c8f" + }, + "src/shim/shim.cfg.recapb3": { + "mode": 420, + "sha256": "2120646255bd70adf29ed2880daa6b11d0867b9cfc9f1c9644d63b92c263b69b" + }, + "src/shim/shim.cfg.recapmisc": { + "mode": 420, + "sha256": "cb1f794c51b5d3d74eb91cc084c96a04444cd79f22fc694d821b51924544f595" + }, + "src/shim/shim.cfg.recaptrace": { + "mode": 420, + "sha256": "0ae410cc72fe155837d711c78543e14b1f5743310cd023298eb1e5bbd5457e71" + }, + "src/shim/shim.cfg.sdbr": { + "mode": 420, + "sha256": "7cb2bfd798ed1286628f3a879606eff076c4f6011d95e1223376eb4d0a392ca8" + }, + "src/shim/shim.cfg.sdoff": { + "mode": 420, + "sha256": "9195aeddeb2caa4e3db7dfd775c43e96eb99cfdc59a6a61e65d86fb325f0054a" + }, + "src/shim/shim.cfg.sdpin": { + "mode": 420, + "sha256": "61119f197b1dc8ddcad059d2d2c2753dae457b4bda4eb29e06c78282eeda6a0b" + }, + "src/shim/shim.cfg.sdpin2": { + "mode": 420, + "sha256": "d6d7f82b500df4f3ed120b4ff421178cf4373a145fa803e57d22a0654e4f0f63" + }, + "src/shim/shim.cfg.tturn": { + "mode": 420, + "sha256": "2ab2d64288043c3c55fde668facde9307c0739e0c801c900790e11db57c5759b" + }, + "src/shim/shim.cfg.tturncmp": { + "mode": 420, + "sha256": "114d325ae3ece29422069ee74c790603abb38c49162dd32520a3eecd18ab6061" + }, + "src/shim/shim.cfg.w2control": { + "mode": 420, + "sha256": "d042c0082a8eb4f55b8e21983df292f0950adc4ac5787d4a0b83088c10c5a3eb" + }, + "src/shim/shim.cfg.w2watch": { + "mode": 420, + "sha256": "ddb9c18a1c6b6c23758e51ca9ac18b4b95abe206b162497adc2978c0384d6ee5" + }, + "src/shim/shim.cfg.w3control": { + "mode": 420, + "sha256": "c6a3a5ea1e39a0714dffee0e44a0e8d91a2b450534d7e4377273a55b3e87de8c" + }, + "src/shim/shim.cfg.w3mod": { + "mode": 420, + "sha256": "7c7f82aaa8b5b007a740324373060ca2ba84edc765eb4e7ce55afcaba4e1c2e0" + }, + "src/shim/shim.cfg.w3tshn": { + "mode": 420, + "sha256": "51fa826d0b18d6f01987d6748e6610847ec3a761257ffc382a40d234670afec3" + }, + "src/shim/shim.cfg.zledger": { + "mode": 420, + "sha256": "31d0535aff9660eb1ad06f529c88a42aa71b83b36f8404b7541a29327c508a51" + }, + "src/shim/trace/emitter.cpp": { + "mode": 420, + "sha256": "4253cac49f0761e487fd555c3c01e02fa22e2010789ad3af37c62c8fd2e02030" + }, + "src/shim/trace/emitter.h": { + "mode": 420, + "sha256": "aa7804614b3d3a214d5c32c33ed245ae24276979080baa9d5481d6594ee3f79d" + }, + "src/shim/trace/hook.h": { + "mode": 420, + "sha256": "35be73ac1c9519664957ffea639d873e8a811b4620f0feecb21b54ea2776f800" + }, + "src/shim/trace/platform.h": { + "mode": 420, + "sha256": "f1b78d971798e45998b26c6b0e20db49fceb7d4c63f0c8c37452c6c2c6df9538" + }, + "src/shim/trace/selftest.cpp": { + "mode": 420, + "sha256": "31461ae6d329a8a3856589b245f3bcf8631f0db9a5e00530e4f94279950de354" + }, + "src/shim/trace/selftest.h": { + "mode": 420, + "sha256": "583d7a10ef04254c7a0fb7dd2a6071ad012a9a97dfae0896bbd598970b206475" + }, + "src/shim/trace/sha256.cpp": { + "mode": 420, + "sha256": "2faf44b5b273612c776204c1d83e0910d86394f4f6207129a01c81dedc170aa8" + }, + "src/shim/trace/sha256.h": { + "mode": 420, + "sha256": "31ce080acdc086ff7657d9093ac9bea438203eaa8e392ca38539152cdd15038f" + }, + "src/shim/trace/tracer.cpp": { + "mode": 420, + "sha256": "37d9490dbdedc399ecdb30f46eb27f31a4ff8c902eadb2eb48ecca7fb0e8fb88" + }, + "src/shim/trace/tracer.h": { + "mode": 420, + "sha256": "cbb80f167b8f98777f9fb58ce107226f42027ffdbd868a6808047c48caf10f76" + }, + "tests/addr_smoke.cpp": { + "mode": 420, + "sha256": "ace1ab9549bb6f3e0048d0e6e3ec6061035395581b2db46c0a5acb097c428890" + }, + "tests/app/CMakeLists.txt": { + "mode": 420, + "sha256": "dd18f8e25d2a9ce988dc226e03c7c6e02a275bbbea74f505d005e42ca5972037" + }, + "tests/app/test_alliance.cpp": { + "mode": 420, + "sha256": "671b2cb3295f360c61ee87005287999710d12e10e7e532331c1c946ab97f7c4d" + }, + "tests/app/test_catalog.cpp": { + "mode": 420, + "sha256": "c4cd9840c1f1b5d5a6829f7f1c5a0245b5e66135d3bed6410a2b6eca1a037225" + }, + "tests/app/test_command_replay.cpp": { + "mode": 420, + "sha256": "739ebeea5bed551f232774bc812bcb794cfa057015fd187529fa563b5d7ae5eb" + }, + "tests/app/test_event_phase.cpp": { + "mode": 420, + "sha256": "05498df256759fe5b8af80e9e56c2ca071eb26de0651f257798fe1641da627ca" + }, + "tests/app/test_trade_raid.cpp": { + "mode": 420, + "sha256": "2158008bc711b8062381f346fa347a430582d8d1943b0de5f40eb2a38e9a3f75" + }, + "tests/app/test_treaty.cpp": { + "mode": 420, + "sha256": "0f98150a3f9397fd12109eae7359ff7e04a4060e10e01ecf1693eb2a4606ead7" + }, + "tests/app/test_turn.cpp": { + "mode": 420, + "sha256": "6d45b1d2d065528f14ae83d95314f2b6559e53cc23f1b9e2531c7c09b4b97eab" + }, + "tests/app/test_turn_record.cpp": { + "mode": 420, + "sha256": "a845971b8d25d71c3b1138495354ad392e4fc298f87eb9b89d1567c01ab59cde" + }, + "tests/game_ai/CMakeLists.txt": { + "mode": 420, + "sha256": "a57a82d0c79ff933564e200a5b3137f120e70a19834264eeb2438c4cafd7ad3e" + }, + "tests/game_ai/test_agent.cpp": { + "mode": 420, + "sha256": "41cb3fbfc7e0b277771a2e8dd17601285a1e3a911543fc1335ce05a4e4b5f11c" + }, + "tests/game_ai/test_apply_order.cpp": { + "mode": 420, + "sha256": "8669c2e9a4c95b670a9c41262c68ce183d3cf3900bc262e0a2e33500bfffc594" + }, + "tests/game_ai/test_command_capture.cpp": { + "mode": 420, + "sha256": "8c2bae38754b347beeefe85d796c13bcf43cf5bc9bc99eb743626028b4dbd7ab" + }, + "tests/game_ai/test_live_blocks.cpp": { + "mode": 420, + "sha256": "44cb6bd8b34c13e329f9b1d50bb2a5c5513e52761537dccfb01afb7d48be7580" + }, + "tests/game_ai/test_orders.cpp": { + "mode": 420, + "sha256": "b13d1a3a628de411abb4faf024a1ce8d3e94518f12285bb3d7e7e86b012ad43f" + }, + "tests/game_ai/test_tasks.cpp": { + "mode": 420, + "sha256": "ffd8eed7fa76a24616d579a4e31031dadf43a0534e33743fb104dfca552367fc" + }, + "tests/game_ai/test_turn_order.cpp": { + "mode": 420, + "sha256": "382d6a30e9151c57849595cb134b8e2da25d2763738c9cbfa18d3cad51ecce97" + }, + "tests/game_combat/CMakeLists.txt": { + "mode": 420, + "sha256": "fd0c0dfb54033353b7014e3c764c916522cb529b6b3eae8a8d52afd044c13fe2" + }, + "tests/game_combat/test_retreat.cpp": { + "mode": 420, + "sha256": "3fb0be08d230bbd7c4ea4a59319de7ab252e5b7cbee924afd069847da8dcf73d" + }, + "tests/game_config/CMakeLists.txt": { + "mode": 420, + "sha256": "9874822d186e783f25b2dcd87495e7e380d873b8a0790c67fffb9430468094ed" + }, + "tests/game_config/manifest_tests.cpp": { + "mode": 420, + "sha256": "3bc62e7e49699254151a825421973d831b25bcf7a22028c789e3ca63b0d77319" + }, + "tests/game_config/replay_trace.cpp": { + "mode": 420, + "sha256": "83602ec974b8195c3616230ad44c2d4fd6032f8ef5f96e7aa76d49a0a04ac05e" + }, + "tests/game_config/unit_tests.cpp": { + "mode": 420, + "sha256": "45b07c7289abac61fccd0a6cd0ff87812542ec888eb6d295fb87c3f57755cc6a" + }, + "tests/game_data/CMakeLists.txt": { + "mode": 420, + "sha256": "cb8cffb7217e82077d3db749dcacf29c098549159cc0f312ef04bfccaa30155d" + }, + "tests/game_data/build_and_run.sh": { + "mode": 493, + "sha256": "69ea9cb94468c56c329fcc5b9350431067e97091ed47c08bb10b57b38412883a" + }, + "tests/game_data/dump_catalog.cpp": { + "mode": 420, + "sha256": "4588e699c69586dfb77f0d9289e375407d4f9cf019690e26bfc78f7182167c89" + }, + "tests/game_data/oracle/compare.py": { + "mode": 420, + "sha256": "2cfe1ac93790de3351256d284392372721f94de5375686e6301ef39b1943ad12" + }, + "tests/game_data/realdata_test.cpp": { + "mode": 420, + "sha256": "334a924bf81c6ce6192a6688435b374e115382358f7e4554aa164295bdd38321" + }, + "tests/game_data/test_catalog.cpp": { + "mode": 420, + "sha256": "9ea5c3fff2388c5d7fbf295123dfd7b702ef21f17fc7c45a970822814abfce2e" + }, + "tests/game_data/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_data/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_data/test_shipsection.cpp": { + "mode": 420, + "sha256": "b3519f0de60d061a6f1ab8ee81d470a28fc17cc81b113639ef2c1e139c249b4c" + }, + "tests/game_data/test_techtree.cpp": { + "mode": 420, + "sha256": "d05c889da9edb622bd2b66aa8e300d8162e0c8788950daa1086fc049b90dd4bc" + }, + "tests/game_data/test_turrets.cpp": { + "mode": 420, + "sha256": "66adff30b974e9bf2c96c1af024fb85677e1a8307c801933d23f3d2ec9d8222c" + }, + "tests/game_data/test_weapon.cpp": { + "mode": 420, + "sha256": "b16b0481c0a8697ff16e39c9feb3ad9d5406250b7dd1c828bf12f1bb40ed746b" + }, + "tests/game_design/CMakeLists.txt": { + "mode": 420, + "sha256": "a26524ff14878564870853bc067c379d2ebd26c14e45bcbb06593d300ee4b3ca" + }, + "tests/game_design/build_and_run.sh": { + "mode": 493, + "sha256": "b1aab4d13b09fb1ea4205978bd7d8b05af5a6422ebe4a34261c3247489b48bd7" + }, + "tests/game_design/dump_designs.cpp": { + "mode": 420, + "sha256": "b1b24c5cb534ad821a20325869713c04b742c541c448ade83543d75608f7eda2" + }, + "tests/game_design/json_min.h": { + "mode": 420, + "sha256": "9cfd3eabe9b36d6b2863872e08fe6ebaddf0749d1966dea693f8bbc0472780ac" + }, + "tests/game_design/mini_catalog.cpp": { + "mode": 420, + "sha256": "5817c0251883c999c6ebd54c77fdcf3981181b41fb5f7637d445824d60942810" + }, + "tests/game_design/mini_catalog.h": { + "mode": 420, + "sha256": "ecb7fd0dffa8709008bcdf9b9da3e70e68f735f9b5ecd0dcb4c871a35ae43b59" + }, + "tests/game_design/oracle/compare.py": { + "mode": 420, + "sha256": "2db14952f7fca9a587995e326651b0d549b39ceefd9c0ac59982cd35ae5d21e7" + }, + "tests/game_design/realdata_test.cpp": { + "mode": 420, + "sha256": "cea57cd53d881b3bf2557cc32ea402c4991aa6de5ff72340861f195a8e20c141" + }, + "tests/game_design/stock_designs.cpp": { + "mode": 420, + "sha256": "2ac1b8bcb0f61852f4bc0a8b7cda51167531ca2a05d1e485991a4758cf586d03" + }, + "tests/game_design/stock_designs.h": { + "mode": 420, + "sha256": "a49173bde083467f5650cfbfbaebba5f16208d660fe7f2f3da81c2caff07c807" + }, + "tests/game_design/test_banks.cpp": { + "mode": 420, + "sha256": "c1d34991c53523cb7610a569e861e8a312da1fe659de0522a3594fb14cad24a6" + }, + "tests/game_design/test_census_saves.cpp": { + "mode": 420, + "sha256": "814c17c7a14db7b123579b7636ee7f2b720fdf4a5cbbe90f676dc01709c45e3b" + }, + "tests/game_design/test_hull.cpp": { + "mode": 420, + "sha256": "cff70268d58ab95ed963d335904110ab55c79d6a0f660f613409cf6d5d63e2bd" + }, + "tests/game_design/test_json.cpp": { + "mode": 420, + "sha256": "e7fa196274a4591834a974f742ff59c7ed1fb15fb138091b48a071354d001c5d" + }, + "tests/game_design/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/game_design/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/game_design/test_stats.cpp": { + "mode": 420, + "sha256": "a3681df901095b848cc6b1ae63d04fd70eeeadd406e7d51f3c76671cbf523a7a" + }, + "tests/game_design/test_structure.cpp": { + "mode": 420, + "sha256": "d09f7707ee170f8a933c657628c1da4f61a29c7eb2dc687a96c3985bdac941aa" + }, + "tests/game_design/test_tech.cpp": { + "mode": 420, + "sha256": "689c081a324c7ece3f70d711f7ac67a5b93207f95e2800a3a708f2f8dbe31965" + }, + "tests/game_effects/CMakeLists.txt": { + "mode": 420, + "sha256": "c80413a7103ce0ed7944fb096ad22fc206a091645428a6015ec3d0e442414a0a" + }, + "tests/game_effects/build_and_run.sh": { + "mode": 493, + "sha256": "ab5085eeab0ec65d8f7ddd7d79357cd15183888b1b4e51cb563810d4e4c64506" + }, + "tests/game_effects/test_effects.cpp": { + "mode": 420, + "sha256": "b10d804b1ad4fb140e13cc1984c6372dbbfdd92560f37583f2411bbcb45c16d4" + }, + "tests/game_events/CMakeLists.txt": { + "mode": 420, + "sha256": "c962651d71ee7783d5565b418f653f2954e489cf698762c5686f5f2dbb4304db" + }, + "tests/game_events/build_and_run.sh": { + "mode": 493, + "sha256": "8b92d249138ee53f728583a0c68b153eaf4e2ad7f92d415d8b3a83df2fb3ec28" + }, + "tests/game_events/test_events.cpp": { + "mode": 420, + "sha256": "182941b9b809b20d24a2e29c5e4bbd626e6da8486e87dc38d1c6088161ec793b" + }, + "tests/game_nav/CMakeLists.txt": { + "mode": 420, + "sha256": "7ee85557a167281f4576252428b4e01795232f31dc1d93c23b284568074cec3b" + }, + "tests/game_nav/test_pathplan.cpp": { + "mode": 420, + "sha256": "6229cc2b1be1ffffb3fbb812c2ccc89dba7099d349be3a6f8f2c2e26aa1dd58d" + }, + "tests/game_sim/CMakeLists.txt": { + "mode": 420, + "sha256": "563547cdd93bce41ef29a73289e5104a5df61f71cc980e49ea37cdbe26743be7" + }, + "tests/game_sim/build_and_run.sh": { + "mode": 493, + "sha256": "a9c42a931242c7f266f512b4d4ad11f6f8ecf43a447a06a04f174301ee19328a" + }, + "tests/game_sim/check.h": { + "mode": 420, + "sha256": "faddddc37a528f0235f510b249cfc1776ce30aff709329954f09093b01231221" + }, + "tests/game_sim/mini_json.h": { + "mode": 420, + "sha256": "710218b637aaf1a5eb7c49eaa7d158bc3e495135ec14bf8b41384769d0227ba5" + }, + "tests/game_sim/smoke_real_save.cpp": { + "mode": 420, + "sha256": "2432e92ac18fadfb1152c54d9dec9a77b3dbf506ea122401cbbd48584b7c9190" + }, + "tests/game_sim/test_colony.cpp": { + "mode": 420, + "sha256": "45355673c46cbaef66b2c81d04a845cf65b6ddfd9819350c7338d9771fafb6fe" + }, + "tests/game_sim/test_construction.cpp": { + "mode": 420, + "sha256": "8df75076a3f460e949e34100d55acf60b054603da6d4aeda4f73297442c06e21" + }, + "tests/game_sim/test_economy.cpp": { + "mode": 420, + "sha256": "43fe658fd2347e3667a901afa642713d70c85ef0ec75094642da2d05b9ca471b" + }, + "tests/game_sim/test_movement.cpp": { + "mode": 420, + "sha256": "1927c371d52115458d88552014cef30bba60e9bef5eb3acfce11b2bc623e06a6" + }, + "tests/game_sim/test_observed.cpp": { + "mode": 420, + "sha256": "1f6ad16c1a2c80f0621573b5196989b0349e47351585d83835be5e27f6ef3fe4" + }, + "tests/game_sim/test_player_turn.cpp": { + "mode": 420, + "sha256": "13f76eaa6cad265deec25416acf0cae2028d6cd1c7b9585df6e9252ba3f0cbed" + }, + "tests/game_sim/test_research.cpp": { + "mode": 420, + "sha256": "3dc668eb889c41f58db6007a96f54fe2a6d56ee6501a298fba3afbbe9637baf6" + }, + "tests/game_sim/test_scriptobjects.cpp": { + "mode": 420, + "sha256": "dfe90a42bcd2844c2ea3666816f97c05237206bf44467ac29790c72b7b498582" + }, + "tests/game_sim/test_techgraph.cpp": { + "mode": 420, + "sha256": "0627ea1c8012b90b62285cae2f31599ba8a8cd47928452910ade91f93502d68e" + }, + "tests/game_sim/test_visibility.cpp": { + "mode": 420, + "sha256": "ad756975b6605a164f2f9106daf2511730642eff354a866bc764a93a4be1efe7" + }, + "tests/mars_parse/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_parse/CMakeLists.txt": { + "mode": 420, + "sha256": "898204fbc1cec44f697e2803c8bc4887857950ba2b1192dd153de74d26de0ea4" + }, + "tests/mars_parse/build_and_run.sh": { + "mode": 493, + "sha256": "550c6df5fffbd85cfffc3312a03a5fa9d59c1e0416e883ddc2576cdb73eac6de" + }, + "tests/mars_parse/canon.cpp": { + "mode": 420, + "sha256": "63e2bcfb2820e7533aa3a287bcec6c318f7238006dce61ad35381562b979cd47" + }, + "tests/mars_parse/canon.h": { + "mode": 420, + "sha256": "c9a78b866d62c4e58643de2c4149572380a1392b411049c8fe74e37475d21d9e" + }, + "tests/mars_parse/oracle/dump.py": { + "mode": 420, + "sha256": "16e98089d5b532e35d6b88b3d50b4bb07e879c18512cf8d06cc5fd2aa9da1117" + }, + "tests/mars_parse/oracle_check.cpp": { + "mode": 420, + "sha256": "5eb81a0c2db8f96c6f8e51246ea9991642e5571dd94dd2e410e2fad632d47adb" + }, + "tests/mars_parse/test_blocks.cpp": { + "mode": 420, + "sha256": "f376a57891a83768ecc8b73ef5eb2333291c280760f7581ead53f7c2a71a4df5" + }, + "tests/mars_parse/test_effect.cpp": { + "mode": 420, + "sha256": "8bb14e7c718e772bfb4a22a7370f41080c49beabfa597ddd603be257bc310011" + }, + "tests/mars_parse/test_main.cpp": { + "mode": 420, + "sha256": "e808f3e2054894da5481d549d93cc837daff61c7b049691f6e2ee453cec53389" + }, + "tests/mars_parse/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_parse/test_value.cpp": { + "mode": 420, + "sha256": "a8dbe3326e5339cdad8fed7dd678df92e8a8b675d0b854f4cea6517bf557069d" + }, + "tests/mars_stream/CMakeLists.txt": { + "mode": 420, + "sha256": "31c69840e6e2e566d2e0bbaf49ab3dec712d27e505d0810ddf0496ce3ff321e0" + }, + "tests/mars_stream/build_and_run.sh": { + "mode": 493, + "sha256": "3737e42960b66e788a11cdd7fa9917fe255b6a4f60280e9f620593bf688aab41" + }, + "tests/mars_stream/oracle/compare.py": { + "mode": 493, + "sha256": "f39dd70e4bbf1952cf99e3437fd1ed6252249f3455a2d3c73311f98d8ff4370e" + }, + "tests/mars_stream/test_domains.cpp": { + "mode": 420, + "sha256": "08394777f7bc4186883cd02058f17fda8f47c3ee47049892bd8762c28b5aa959" + }, + "tests/mars_stream/test_rng.cpp": { + "mode": 420, + "sha256": "55f77273d8af5880f976a24fb00dcd8042b31a7a33f15c9f4b62fdb85bba9d0a" + }, + "tests/mars_stream/test_save.cpp": { + "mode": 420, + "sha256": "50250bb4b4f2da05f9453c541f080e018b68731f24cbf93278d50ca93ddd8d63" + }, + "tests/mars_stream/test_stream.cpp": { + "mode": 420, + "sha256": "d0da9ac2287910527bdac875ab39e0147a9be2f5535f04b55460438f31be2537" + }, + "tests/mars_stream/test_wire_schema.cpp": { + "mode": 420, + "sha256": "1cfd259f554be8218cb182dd1facc07f6cd3dea52f0daf7303393e78c7c2eb97" + }, + "tests/mars_text/.gitignore": { + "mode": 420, + "sha256": "181314065df2f2fdaf920b1a8b5311daa216a2d6489a06ada5b49cc514d89417" + }, + "tests/mars_text/CMakeLists.txt": { + "mode": 420, + "sha256": "20f8e0cfa044fb4e6b1caca0ec8d6536e012c1c4ea4454fe990923f40a201752" + }, + "tests/mars_text/build_and_run.sh": { + "mode": 493, + "sha256": "59ae392080c01be0c7f5530ecb9ae4fbdcc02366242b27527c14b8efd5076d0c" + }, + "tests/mars_text/dump_json.cpp": { + "mode": 420, + "sha256": "e246384902c3adf4fa8f2a54e38c4912f6b58f168ebc9b1e158a719e2a52b1bc" + }, + "tests/mars_text/oracle/compare.py": { + "mode": 493, + "sha256": "46a796196a413aa28a0069086e45c96399f21308153b578f063801eb997b54ef" + }, + "tests/mars_text/oracle/dump.py": { + "mode": 493, + "sha256": "53fde94f6676a5504a247cf209e2a42d67e108cc9ea0b02f289562799ee7d880" + }, + "tests/mars_text/realdata_test.cpp": { + "mode": 420, + "sha256": "a399ad5cf91cf35f78809f5b9b5cac8b2eff344dbfbab07b8b27bf66058e1e3b" + }, + "tests/mars_text/unit_tests.cpp": { + "mode": 420, + "sha256": "cd1e9e4f6e0e503d4d9b0902bd2936513293490cdc680f94639ce93661ca09d7" + }, + "tests/mars_vfs/CMakeLists.txt": { + "mode": 420, + "sha256": "282015598e03430be0f47b779ce7087662415b3a59de14814cb3ba35c17af363" + }, + "tests/mars_vfs/build_and_run.sh": { + "mode": 493, + "sha256": "b6a8e7b0706d7416f548f071e742e600cab226663f7d4ad42299dbb76f631701" + }, + "tests/mars_vfs/make_fixture.py": { + "mode": 493, + "sha256": "57586249e57550869dd5adfbc4fdab173a59d2aee630ba69c20d562018d249f1" + }, + "tests/mars_vfs/realdata_test.cpp": { + "mode": 420, + "sha256": "c95248ae53d32bd5d8cf963ca3a39ea82e5ef08b76de736104b6aa34ec88c789" + }, + "tests/mars_vfs/test_main.cpp": { + "mode": 420, + "sha256": "cdb7bdf9b9356eb0b7f6cb0fab081cda2161b34af14ecf60cc44970e79d517c2" + }, + "tests/mars_vfs/test_main.h": { + "mode": 420, + "sha256": "fd63ecf0b56330ee41184fb166498887a8e0af48c7ca60a33ad3270aa5af51fc" + }, + "tests/mars_vfs/unit_tests.cpp": { + "mode": 420, + "sha256": "de8da00718799886fbbc5820e0f7d0e468a31ab0608361fb509b0c12932c9caf" + }, + "tests/mars_vfs/vfs_cat.cpp": { + "mode": 420, + "sha256": "4a443e779de264f5c0c68a631b1a353b1310a4e838d342527befd8ad1e2a25bd" + }, + "tests/mars_vfs/zip_builder.h": { + "mode": 420, + "sha256": "a0f3688e5a90b7e209497d66d0dcd30a0e1ac59a56ffcbed31b2a50967c1da3a" + }, + "tests/shim_budget/CMakeLists.txt": { + "mode": 420, + "sha256": "88a0f43e433c3a6879a7f6cccf8c84ba4559009614a3fe5adf6c558ea7a47245" + }, + "tests/shim_budget/unit_tests.cpp": { + "mode": 420, + "sha256": "654e96d0880232d3090223a0d9f92f428aeffa528fbd5eca89d6bfe348aefce0" + }, + "tests/shim_colony/CMakeLists.txt": { + "mode": 420, + "sha256": "d7b2674971b0eda32b2edd62244c32af81cea9e6d984a24ca6648edbaea80e06" + }, + "tests/shim_colony/unit_tests.cpp": { + "mode": 420, + "sha256": "4cc41308c10fa1e6aa047fb6c26e4c655b727884bce87b5a9e8e2f76db665474" + }, + "tests/shim_events/CMakeLists.txt": { + "mode": 420, + "sha256": "2b43190a2ce88cf7227250aa5a3b48e3006d24f0d6f5e9a5e48507c2733e4c45" + }, + "tests/shim_events/unit_tests.cpp": { + "mode": 420, + "sha256": "0dc151a4aecb24217cc38cb818bbe760b3da2b08a23ad734b3fa8506d25fe2b4" + }, + "tests/shim_movement/CMakeLists.txt": { + "mode": 420, + "sha256": "46ffe5a9815b189283e4d5ef67a0dcd159f60da7f9ca4a3577669035fefdc1f8" + }, + "tests/shim_movement/unit_tests.cpp": { + "mode": 420, + "sha256": "ee6ee983aa72f078a7ae398ca5f828aba14370c898ae4e56063697d28919ad69" + }, + "tests/shim_player_turn/CMakeLists.txt": { + "mode": 420, + "sha256": "f6affa205f857d4a45f8be05ae0426b6f9a2e8e127f5aeadbac2ed8a4c4daddc" + }, + "tests/shim_player_turn/unit_tests.cpp": { + "mode": 420, + "sha256": "0a528cdf64904dfd22c94ea911a15213701e7912921f04c1909799e6e6240450" + }, + "tests/shim_rng_ledger/CMakeLists.txt": { + "mode": 420, + "sha256": "b6a349f2611ec1f1de2013145a97f3da59cefec81dbc4d2f3e58af507e598bb4" + }, + "tests/shim_rng_ledger/unit_tests.cpp": { + "mode": 420, + "sha256": "d38d80dd907a3468036dbca2b017718b199ab4a0078eb5e5b019b913a9ef8d8c" + }, + "tests/shim_techfx/CMakeLists.txt": { + "mode": 420, + "sha256": "5eaf9a76df6b10258a8c1d2658b03d97377d48a778a1628ca94c9bd69fa7ba8a" + }, + "tests/shim_techfx/unit_tests.cpp": { + "mode": 420, + "sha256": "99a71a6d0ca1f53fc8ff0bc21e79acd64ba2cd9c9f990641e5970c866794595b" + }, + "tests/shim_trace/CMakeLists.txt": { + "mode": 420, + "sha256": "91bc736e198c5cef86ad2ad69ca77d93ab770e5faecf9e6d915f9263b9ce491b" + }, + "tests/shim_trace/check.h": { + "mode": 420, + "sha256": "f4b72b971886c64383880ba26484f9c908d21f5902dff0de0b42f276b00d8366" + }, + "tests/shim_trace/harness.h": { + "mode": 420, + "sha256": "d7eae563723843c1389b108fe2efb2e31b6c264d23567a370a09fb9b1d513697" + }, + "tests/shim_trace/oracle_emit.py": { + "mode": 420, + "sha256": "29ed06c602e9f0d6430bb3c81192b1946213a3f44b91107f7036f35f17b69f42" + }, + "tests/shim_trace/test_coverage.cpp": { + "mode": 420, + "sha256": "8ed5b6d755fe7e2bc98d525e97bc7817a5efb7ed5f0196d49d1c783de3a91bea" + }, + "tests/shim_trace/test_diff.cpp": { + "mode": 420, + "sha256": "afd8e5124cf6e1ad9c4f3e4c2beeb65d00002cf1d4cbaa2e876fea0817a7a347" + }, + "tests/shim_trace/test_emitter.cpp": { + "mode": 420, + "sha256": "a9255bbc055df36a01931e8a61dd1dbf16085f7713db7e7386f66b69ddb10762" + }, + "tests/shim_trace/test_hook.cpp": { + "mode": 420, + "sha256": "4dd67374e260ba2722219c2e44e6be76e583d0ad65844f34859cff49b66a30cc" + }, + "tests/shim_trace/test_sha256.cpp": { + "mode": 420, + "sha256": "b55aa15dc806e3e4a87ddf50657fa4e0af6a4e4e2205c4bd63d1ae066fe57428" + }, + "third_party/minhook/LICENSE.txt": { + "mode": 420, + "sha256": "d5c2224982b0b95a16b098a561335fa93f3eaf4d0aa964b7843edb986df78dc8" + }, + "third_party/minhook/VENDOR.txt": { + "mode": 420, + "sha256": "c79054234a5340f6199f8d9f47d6b3d88e8abd2120586cd78f081cfb81a6fabd" + }, + "third_party/minhook/include/MinHook.h": { + "mode": 420, + "sha256": "e34bbf7b855c842694f6e3dd78e2d280e99ed9732501e3dc1532a8626a8db8e5" + }, + "third_party/minhook/src/buffer.c": { + "mode": 420, + "sha256": "75a789eb718bd5ed2de039ccd330736a31d0a2d14e43d8e15e6cd2332432482d" + }, + "third_party/minhook/src/buffer.h": { + "mode": 420, + "sha256": "9769702bd625249e59a19ede05c84365fcc7707e1fa0e5df08df42227cee13e3" + }, + "third_party/minhook/src/hde/hde32.c": { + "mode": 420, + "sha256": "0ddbc3ab3e0b37e61691131289a151e34f508233ccf3f701752777e5d3f62d68" + }, + "third_party/minhook/src/hde/hde32.h": { + "mode": 420, + "sha256": "5132de5be8ac7a9d054420f5caef0fb01437faa892f03b3cdc77f795973bf15a" + }, + "third_party/minhook/src/hde/hde64.c": { + "mode": 420, + "sha256": "9bf19dd706d4bc255ebd1709f98fb44899df7a1f2412820d77295136e0620f1d" + }, + "third_party/minhook/src/hde/hde64.h": { + "mode": 420, + "sha256": "e99aa4997bda14b534c614c3d8cb78a72c4aca91a1212c8b03ec605d1d75e36e" + }, + "third_party/minhook/src/hde/pstdint.h": { + "mode": 420, + "sha256": "604d1cdf45c5a95bc9cf1bbf39ca05ef83013541101d34971c5cd7577e3d5247" + }, + "third_party/minhook/src/hde/table32.h": { + "mode": 420, + "sha256": "43bf687a9fff071b5f46070db4d36c846f8e069cdc57485ee897c499aacdde23" + }, + "third_party/minhook/src/hde/table64.h": { + "mode": 420, + "sha256": "b774446d2f110ce954fb0a710f4693c5562ddbd8d56fe84106f2ee80db8b50a2" + }, + "third_party/minhook/src/hook.c": { + "mode": 420, + "sha256": "3060d3c42f03a2f11324cbee95d853071757ed0fe4b1bc9eb5f0d8fc9e346a37" + }, + "third_party/minhook/src/trampoline.c": { + "mode": 420, + "sha256": "d837f8555681c3762468d712c43f2064ed31dee610e0b02965fd8aa54b88172f" + }, + "third_party/minhook/src/trampoline.h": { + "mode": 420, + "sha256": "27426751dde36cdd8346469e61cdcca47950b1056a69f21cc63f4b41743faf6a" + }, + "third_party/miniz/ChangeLog.md": { + "mode": 420, + "sha256": "ff3b6040f7cbd8c9779a0690e906c66408f7efe3cf88a25019323f0189025ec3" + }, + "third_party/miniz/LICENSE": { + "mode": 420, + "sha256": "0115478d567121238cf6cc1c0c361926cf07a49d9e4c9e66da97fac6a01646b3" + }, + "third_party/miniz/miniz.c": { + "mode": 420, + "sha256": "e2c1aeb66eef9191d8c3feb164db2def2335a61d039bf04ed849f6b042433b30" + }, + "third_party/miniz/miniz.h": { + "mode": 420, + "sha256": "b53b62ed122e559b8f679e3cb787a0b0035fe87a58f909da0e44931678f4e85f" + }, + "third_party/miniz/readme.md": { + "mode": 420, + "sha256": "b4ea367be28a36e5386f65118b73962bc659a67936d248be68b7a7c03b8d359b" + }, + "tools/build-shim.sh": { + "mode": 493, + "sha256": "1da3fdcc019dc6495c870a42b93cee9f21ff7f9623f033c2f50d9db9fd6a33e0" + }, + "tools/check_shim_configs.py": { + "mode": 420, + "sha256": "ef5e8f100c06d8c485a165ab668206af3e9aed3e1f6aa6ffec2592419fc2332f" + }, + "tools/clean_room_check.py": { + "mode": 420, + "sha256": "e15bc3ebfd29c6e2d8edfc32cc812858869b49ffa1404cafce14c4c24e0f4e24" + }, + "tools/clean_room_check.sh": { + "mode": 420, + "sha256": "6646eb6010be756113f7af39b9cfcb06e8580893fbd100a41993f87757ccfd6a" + }, + "tools/deploy.ps1": { + "mode": 420, + "sha256": "fe01f46bedc91d7b42ff98cb0e69633845094cc2802108d23d48eb70f32e3f27" + }, + "tools/sync-build.sh": { + "mode": 493, + "sha256": "ce418ace6c5edae8609849233bb5dfd24657f55141c8ef8507659608f12aee2d" + }, + "tools/undeploy.ps1": { + "mode": 420, + "sha256": "5730b6f95f161ba5a727dc0a34f26da7f1f697711495d6a9de9c289ecd747af0" + } + }, + "manifest_sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd", + "path": "/tmp/opencode/sots-final-research-engine" + }, + "re": { + "commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7", + "files": { + ".gitignore": { + "mode": 420, + "sha256": "ba56b745b84c6d15b7288df65f319831fed3cbf8edd1ab3a6476418f48fd95f8" + }, + "AGENTS.md": { + "mode": 420, + "sha256": "e722b65480a9f72c2fde1c677c789d4f4b347ef9b450894e9f4295035373df7a" + }, + "CLAUDE.md": { + "mode": 420, + "sha256": "b3e3e5851645a05543e91f128eb6d349abdc6f22accfd997012526e4d35eaa8e" + }, + "README.md": { + "mode": 420, + "sha256": "e318014a84d03e53983cdb1e5b0310f372b959f659b91abc9214faf530544afc" + }, + "campaign/DASHBOARD.md": { + "mode": 420, + "sha256": "eb207987006a3a661bf05b24fc361e1dda74b7a7f42f4abf4a3788cb17a254e6" + }, + "campaign/README.md": { + "mode": 420, + "sha256": "dc702a81c2c664c07eb170f082deb65bc3ff24e2b80d892bb082c7c4feac64fd" + }, + "campaign/agents/analyst.md": { + "mode": 420, + "sha256": "895c41509016038b3f72c4a68608c4101511e69c5bf410e379286da1a6202952" + }, + "campaign/agents/implementer.md": { + "mode": 420, + "sha256": "eb5581051a92b3d2b9ddd947812b1c02ff6a0b5e7619e7674adc26701e9a3d91" + }, + "campaign/agents/lab.md": { + "mode": 420, + "sha256": "48f1765ebdcb2015e631ad91428f65735ff899e119134b652f70788ff2eae5b8" + }, + "campaign/agents/lead.md": { + "mode": 420, + "sha256": "7661bbfca972be50a52c735b7f15f5be740158542c3d0cdbdf9a6a2590c7f1ea" + }, + "campaign/agents/resolver.md": { + "mode": 420, + "sha256": "742c36dc8567669d462566d6121eed42fcff5bff34e8eff466e92249f7ca195f" + }, + "campaign/agents/verifier.md": { + "mode": 420, + "sha256": "e467fc644e4e37d631a7a4e35038d9d3d0498491f1d7811d61d99271ff345c6b" + }, + "campaign/backlog.md": { + "mode": 420, + "sha256": "a10edaae044e84ee4d26e7461b88e557112f572d60c57e0025171a53dd209a35" + }, + "campaign/board.md": { + "mode": 420, + "sha256": "040c12a20f5bf70b8e6a239efb205039d1ce00a805411ba194a12bde9f40c03e" + }, + "campaign/contract.schema.json": { + "mode": 420, + "sha256": "a2c76ec042ca097a57c3c05c1e519e392d498d387a31808c7d0f70482d43c201" + }, + "campaign/contracts/controls-bootstrap.json": { + "mode": 384, + "sha256": "2943d2281229c102dd612676428a9714510e540671c1e04dae3e6fa7ea1b56ab" + }, + "campaign/contracts/launcher-smoke.json": { + "mode": 384, + "sha256": "c0418dd22bafc321b2f800acaf574dca7956c37b239d789981b920d50ab36599" + }, + "campaign/contracts/research-completion-abi.json": { + "mode": 420, + "sha256": "a5cf5e4bbc5052aa13dc34b55ee65f2997f9342e0b01062e85ad2c16d99daf71" + }, + "campaign/contracts/research-replacement.json": { + "mode": 420, + "sha256": "1108d30bf7e28f30b2446014503fc3200a8b8198a8fab0b866b873a81bf7b8b9" + }, + "campaign/current.json": { + "mode": 384, + "sha256": "87661aaf5ddfbb872365dae8c531453a1e0cb7f91b3ada046be3e829d2555f77" + }, + "campaign/models.json": { + "mode": 420, + "sha256": "95f507237a8e4fcf14189da4aa102dfae1dbaa536d4d8db6bcbfc30162ac5443" + }, + "campaign/open-questions.md": { + "mode": 420, + "sha256": "efb1c736a07bff32e75e0eede20681c206e2c95f439dffe9824702cb864972e7" + }, + "campaign/pilots/research-replacement.md": { + "mode": 420, + "sha256": "3101b8959f28ba2c6ffbac02a82b5ae0e841e7d78bd1f40f05b9d1d2278490ad" + }, + "campaign/research/SESSION.md": { + "mode": 420, + "sha256": "258a2884486ee777fbd8ff180abf23a3a320b2981ee1e90b57d4e3efe18643f2" + }, + "campaign/rollout/RESULT.md": { + "mode": 420, + "sha256": "87aba912d66e2f7bd9779f86cbae3c78d64b1be2572db02ac39fc70c750cb79c" + }, + "campaign/rollout/architecture-decision.md": { + "mode": 420, + "sha256": "8c710f390671500386745d063d6cb6edb175e6e26572286334d2f14a36be6d41" + }, + "campaign/rollout/controls-followup.md": { + "mode": 420, + "sha256": "44d0c95978cbc0953d6b1feab4463b29fab68c9d8dad2eca5fd562bb5aee1578" + }, + "campaign/rollout/controls-worker-state.md": { + "mode": 420, + "sha256": "02ff66f3f0fa978819e5c100e24cfd3752b9041590e2aed36f6abd62ce790f4e" + }, + "campaign/rollout/controls-worker.md": { + "mode": 420, + "sha256": "d022483618d3c3412785ba40e71106976c9b1c9978c43e424e3023a67b8b3f0f" + }, + "campaign/rollout/controls_evidence.py": { + "mode": 420, + "sha256": "bfaf4e523b2ca39c0ecdab94adf0b2b19a3da68aab8a0fcba69a613aed46588a" + }, + "campaign/rollout/engine-followup.md": { + "mode": 420, + "sha256": "d3d289fb4e4cfb7cf1ab6c3de597f530eafd27d3b1aa2f3e8904d6da3a95ac44" + }, + "campaign/rollout/engine-worker-state.md": { + "mode": 420, + "sha256": "76601fa42c95bd7d78ce46f528a33ef0483e0b7f2e19a1cfe1cab8e560bed05c" + }, + "campaign/rollout/engine-worker.md": { + "mode": 420, + "sha256": "fd8bbe69947b69baa61449548d5746723c941ad8b663ec66d1b278234bebe5b2" + }, + "campaign/rollout/formal-verifier-state.md": { + "mode": 420, + "sha256": "2fbac02f5f22b45e94ee33f9f53779fa059c5e93282d3c2f5ad0af027029a1f4" + }, + "campaign/rollout/formal-verifier.md": { + "mode": 420, + "sha256": "f961ceaef0037001e6576d760e28e7aded0502f3d8311925e5ed1cc537c996dc" + }, + "campaign/rollout/gate-followup.md": { + "mode": 420, + "sha256": "677f17aef214e7a6c92958dd8ad98137b238cc7fe7c1da23bcf36d727f28f7c8" + }, + "campaign/rollout/gate-worker-state.md": { + "mode": 420, + "sha256": "96514befccc589487ac3b6ff9348106aca2e4e8e3aa348471943d589c74629e2" + }, + "campaign/rollout/gate-worker.md": { + "mode": 420, + "sha256": "55db7c5f637d849fb2f200ab12c35a794c86e377a5de3f562b1c32455583e65f" + }, + "campaign/rollout/housekeeping-completion.md": { + "mode": 420, + "sha256": "a25041ebaeb030f1cfc62564b5bc57a98818ea75e082f28036e9cc367096ccd1" + }, + "campaign/rollout/housekeeping-followup.md": { + "mode": 420, + "sha256": "5759aaf403c019173450822dc5e9d4aad711a7497eba906caea39bdb39bd3702" + }, + "campaign/rollout/housekeeping-worker-state.md": { + "mode": 420, + "sha256": "5ee9a48a691709af325994fd3d44a1ac6e40d05f26e09b03ae7efec2ecbe25cc" + }, + "campaign/rollout/housekeeping-worker.md": { + "mode": 420, + "sha256": "bab8219fadd0688e91d6211478a01403a36ae74fd2b6f7df0ad5c8745a542ca9" + }, + "campaign/rollout/independent-review.md": { + "mode": 420, + "sha256": "a7a8ebcce5202db0e67c8c65135df751e69ee6728c4c2ced92e1cc85b4279f22" + }, + "campaign/rollout/lead-state.md": { + "mode": 420, + "sha256": "3ded5b3f97d7882f72abef5ea268765a5db29c8b619486c153f5c92742040c01" + }, + "campaign/rollout/publishing-worker-state.md": { + "mode": 420, + "sha256": "641977e4d0ec400a3a6c38121ae5e7904aa1accc47179ee148ad7cb199029b0e" + }, + "campaign/rollout/publishing-worker.md": { + "mode": 420, + "sha256": "822812fbc803d443fb7e0855268c34224eda29f95e57274c217275b09ff4410f" + }, + "campaign/rollout/review-followup.md": { + "mode": 420, + "sha256": "853e3b5aab09cd77fd54cae6d8a61fb5ae092603ab2be8dee2db6d80492a6443" + }, + "campaign/rollout/review-worker-state.md": { + "mode": 420, + "sha256": "a704e6023eaf3424761bf431e49687ae1f1d687119fe00a466b9da2d9ef7bd42" + }, + "campaign/rollout/review-worker.md": { + "mode": 420, + "sha256": "0e348015440aabef95766010f14880619d34a472102698c9819dfbb029b8a6c8" + }, + "campaign/rollout/sync_verifier_snapshot.py": { + "mode": 420, + "sha256": "4133e536bfdb0e206ecdfc072062e7674b07b973c7f8b9d7f1a268520523d6eb" + }, + "findings/.keep.md": { + "mode": 420, + "sha256": "141ed928eaf10a2023dd2c0ff6ea68cf6ec423cfd28d5a359d9c5add730bf64c" + }, + "findings/00-strategy.md": { + "mode": 420, + "sha256": "3bc97827988c6eb4647713c5655271e156dfa466fad5685924010f3244fe6386" + }, + "findings/01-fingerprint.md": { + "mode": 420, + "sha256": "7cf0503c29f5beff852427c2c5bdf8e9d968386de777c47b6130771cac944cac" + }, + "findings/_template.md": { + "mode": 420, + "sha256": "b92d0ca7bfef4498a5f9e594453f15ab15e2c88c7582c4ed5df4c40e6871c3b1" + }, + "findings/control-flow/ai-visit-order-probe.md": { + "mode": 420, + "sha256": "e89f91a33139014ebdc22d79064ecfd06f9b4ffebb4bbc3da73734fc47534047" + }, + "findings/control-flow/alliance-mask-and-modcount.md": { + "mode": 420, + "sha256": "ec66c6b76d9e4c8bed385acf70e6a7d5da08e05eca72ac1e8e5cb307d87f2552" + }, + "findings/control-flow/combat-done-tail.md": { + "mode": 420, + "sha256": "799ace775f12ebe9a2737a711c8d0a6e617f0cefec70b93bf094e47cf81cc348" + }, + "findings/control-flow/combat-resolver.md": { + "mode": 420, + "sha256": "abf1a9329c1bd8a96c76481246a00b380e9a17fa8dc8900810218026e5fe1b9e" + }, + "findings/control-flow/combat-retreat-pipeline.md": { + "mode": 420, + "sha256": "6c40c8bdbdde672c9cd67248d740d88892ad2b93b30e27e9bebe0e96027cf136" + }, + "findings/control-flow/fleet-visit-order-mechanism.md": { + "mode": 420, + "sha256": "a2ea1a6ac9d383380e16910cff89dff0e9b23f1df66f47ef91dd266bd50b3a6d" + }, + "findings/control-flow/gate-indexed-rng-audit.md": { + "mode": 420, + "sha256": "5004b2480787eec7be66f40474648030fdaf7759087a4c4651091152d89351cd" + }, + "findings/control-flow/hive-creation-rng.md": { + "mode": 420, + "sha256": "5ff37d571c0380c798a137e0c6947a0c63109de489fd2100c99bfc6637fc272b" + }, + "findings/control-flow/indirect-edges.md": { + "mode": 420, + "sha256": "3dbf2acf7354f61de66348fe40965f3138dbc4bbff8cb0f06b2751e71ed06ee1" + }, + "findings/control-flow/inlined-draws.md": { + "mode": 420, + "sha256": "3b099718543d7fb112664699749602ff9d61de9aaebb561fc93f1f8b7a152134" + }, + "findings/control-flow/per-history-residue.md": { + "mode": 420, + "sha256": "739c7fc760583ca143036ce554e1eece640d1662fba4642e6f80fadd3dad13f9" + }, + "findings/control-flow/pinned-seed-rich-turn.md": { + "mode": 420, + "sha256": "7c62336767b7c69f513446543f37662ba2a0872e207b906279446bbe399d65b6" + }, + "findings/control-flow/raid-gate-multiplicity.md": { + "mode": 420, + "sha256": "6d7b7357be428ff79186478dc37063657ca4d8e2ad49fcdd92493753748a52f4" + }, + "findings/control-flow/raid-intercept-species-word.md": { + "mode": 420, + "sha256": "1da80eb14f0e3e5a0ce139f62976bb305e3e75a1e5e0631d8287f94eac093d8f" + }, + "findings/control-flow/raid-intercept-z-word.md": { + "mode": 420, + "sha256": "beb421953b70377c8c759f5cc936321faa6316be76d41020b41f26c99706acb3" + }, + "findings/control-flow/raid-target-pick-verdict.md": { + "mode": 420, + "sha256": "d0262a4187e35547b28d6be842e7c730aa3ee93565404b587a790706afabd694" + }, + "findings/control-flow/seed-exposure-forward-test.md": { + "mode": 420, + "sha256": "f108a07ce695b64c482af58db4caeb2607059a3357b62f04f7f36ce45c84ff4a" + }, + "findings/control-flow/standalone-generator-and-turn-record.md": { + "mode": 420, + "sha256": "e499f62534580f27c2a01395e08312ebc7df13bdd307342096f468212aec600b" + }, + "findings/control-flow/standalone-scaffold.md": { + "mode": 420, + "sha256": "0bf928260d5058815a2f09c4df8c08eb359430aeea941f872018de7cbca39105" + }, + "findings/control-flow/tail-probes.md": { + "mode": 420, + "sha256": "ae45e84a9c7f257170f7550301fc4e1a35d5210269bda8070469a5c921cce95e" + }, + "findings/control-flow/tail-rng-ledger.md": { + "mode": 420, + "sha256": "2db588423e7b7de7729e5319477c17fbcea5b7a9cb8ff00b01cfd72bfce25403" + }, + "findings/control-flow/trade-raid-rng-gate.md": { + "mode": 420, + "sha256": "85c7b27aa284988b07b5e67c8e48ef1725289f1a6956d88be2572577cc06e1bf" + }, + "findings/control-flow/turn-driver.md": { + "mode": 420, + "sha256": "3f4e92041a0842d211ea9ae1ae16a9fe400dacf9632209102a1f76acc6b30792" + }, + "findings/control-flow/turn-spine.md": { + "mode": 420, + "sha256": "e2a64f82e5dececb4ba56859d1e53a0f720e08472c79c39197beba7f6041811b" + }, + "findings/control-flow/w3-containers-status-handlers.md": { + "mode": 420, + "sha256": "fffbaa6e3701abbe57a54046416a102502afeaa29b14632f9506905c22bf3914" + }, + "findings/control-flow/watchpoints-modcount-status.md": { + "mode": 420, + "sha256": "0aec4c93ca7219e29827a5069a9829d5e58da2001e79a7316bce288d3e9a6c7d" + }, + "findings/objects/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/objects/00-inventory.md": { + "mode": 420, + "sha256": "cada5fc81c42cb50878a26e43a58640153c600319e66d4c92a23d7c363ff5f14" + }, + "findings/objects/aiagent-block.md": { + "mode": 420, + "sha256": "55d646ab57e90477993d263399254a3b103024d89fff42491b7df5cf4ffc8037" + }, + "findings/objects/classes-game.txt": { + "mode": 420, + "sha256": "e0eceb77c56e05bc7863d3a07805d703fc0ecec489ef24fabe7c6161f2835199" + }, + "findings/objects/classes-mars.txt": { + "mode": 420, + "sha256": "b624f7bd82a5277462a39627140a85c7a7929fd292b62e45edb5c96fd53b6145" + }, + "findings/objects/ghidra-recon.md": { + "mode": 420, + "sha256": "ca4b043a73c1d5573aa0c83cd3942db731884910c90e7d8544c8a32c939e2fda" + }, + "findings/objects/rtti-raw.txt": { + "mode": 420, + "sha256": "39f6fdf8793f8202c19cfb87a75466b215254a13050ec37c0c496699298247ad" + }, + "findings/objects/save-editor-structs.md": { + "mode": 420, + "sha256": "835d4fbf154275542383ea499a527c044ec7d577486c2735b817bd32d6e0c853" + }, + "findings/objects/schema-gaps-resolved.md": { + "mode": 420, + "sha256": "9ddae36eb8e3ef909c4902d01200fc8a17335271e4e063939ae162a3eea5bb3a" + }, + "findings/objects/serializable-types.txt": { + "mode": 420, + "sha256": "59c2f3942f55eb3f6687758a4c447b1ed8902caa60b97d9619bb8228e27c6838" + }, + "findings/objects/serializer-struct-recovery.md": { + "mode": 420, + "sha256": "5b56d8e1a5047d602cea7a76227f30e17244057fe21fde3d4e2cc76e9f185416" + }, + "findings/objects/ship-design-catalogue.md": { + "mode": 420, + "sha256": "feded2191180e184d34d4992935dc117bff8d052e8a2c63ecc29fa7b2e6b561d" + }, + "findings/objects/struct-recovery.md": { + "mode": 420, + "sha256": "4e99ef972529101f5700b52845e263fb3789e0b82d8cdeca921f1595a24d92db" + }, + "findings/objects/svsctob-variants.md": { + "mode": 420, + "sha256": "89617cd2909f2242e9e1657fd4a8f5aafe5aa0c1e0e9bc8926fb67c1e830dd2d" + }, + "findings/objects/svsctob-writers.md": { + "mode": 420, + "sha256": "7a9b7f3bf4eae63cf522246227410b2e3ca789284b7c620f01550fadf479622c" + }, + "findings/objects/turncommands-block.md": { + "mode": 420, + "sha256": "8eca2b79838114e7ae46d34c6e75eaf3b04c0448d9896ed4219b118f09e83046" + }, + "findings/objects/wire-schema-channel.md": { + "mode": 420, + "sha256": "31f0fc4e1cc3c3e7ef938aa22ad65cfdec32be4f1ade476a7ebf32c3c6f07d6f" + }, + "findings/objects/wire-schema-closeout.md": { + "mode": 420, + "sha256": "bbae848b4f8d6d0f2a914268ac34e75b4cea483f52816916202f3bd3cd084255" + }, + "findings/objects/wire-schema-ratchet-debt.md": { + "mode": 420, + "sha256": "0d144181478a607f2474a7c8a1b71ca49c881ef6fd068b5e8859c3fa8129507a" + }, + "findings/resolutions/2026-09-08-ai-seed-per-process.md": { + "mode": 420, + "sha256": "0765bdaeade29122ab5e64493f3a7c339f1e4c4445192ed09ae3d229dd6ae943" + }, + "findings/resolutions/2026-09-09-fleet-id-order-residue.md": { + "mode": 420, + "sha256": "b3d63a11e8ebd55da4af15760d044607b6105216898a018f5ceebc94750817e8" + }, + "findings/resolutions/2026-09-09-seed-exposure-is-a-predicate.md": { + "mode": 420, + "sha256": "dd7ce18738a625b9008ef80783bd64fc3857852775ab3b784b9e5f4fd5ae7de1" + }, + "findings/resolutions/2026-09-09-tail-draws.md": { + "mode": 420, + "sha256": "ff86a332ea9f87bd6f42a0b64e837e6f6f5876423ae9403a903aa9bfe7c42678" + }, + "findings/subsystems/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "findings/subsystems/ai-client-seed-is-per-process.md": { + "mode": 420, + "sha256": "5e6de0418588ff28cee29cb9affd69c3183819318c314eeb0771bbe810e6b4ed" + }, + "findings/subsystems/ai-order-capture.md": { + "mode": 420, + "sha256": "6efebf9f00b375d2c7f29ddeb24ef7a04e3b02cac9027369b490157a196d08ce" + }, + "findings/subsystems/ai-order-emission.md": { + "mode": 420, + "sha256": "9e54a13a18387a4f93acc5c66dbf71d365c81f1a8e6d2aee31f7a89712894ace" + }, + "findings/subsystems/ai-stepping-and-passes.md": { + "mode": 420, + "sha256": "e7e2fc612457a4e77df362aea2928d20fa5a2456fe12a7fbafeaf3c9e01c1dc1" + }, + "findings/subsystems/ai-task-system.md": { + "mode": 420, + "sha256": "577f8fc41256ebdf9629f1e30df9aac7f51c1a84b55f60c2b59e4af4c55126b2" + }, + "findings/subsystems/ai-turn-logic.md": { + "mode": 420, + "sha256": "79e9b7c9592d583db7b9d9ce472804038a71febf7527bd69e31b3399caeb0770" + }, + "findings/subsystems/battle-load-profile.md": { + "mode": 420, + "sha256": "3cf8e28925ebbb162bca9c3be9e6b2599c82ab6aaf9a9d99ffd9c934bf773c77" + }, + "findings/subsystems/data-model.md": { + "mode": 420, + "sha256": "f01c9bfcf8ed9fbf9fdd30556308a1dbb1094896050cc8a5e4fbc1c6c61aff78" + }, + "findings/subsystems/data-parsers.md": { + "mode": 420, + "sha256": "6a428c14279ac2c589b4af932e762ef7e3ada1a878128527b8d88858c11fbc35" + }, + "findings/subsystems/determinism-oracle.md": { + "mode": 420, + "sha256": "4fe0abad0b1b825392cd47b792d06756742495f26ff40a6a433d8608b4680bcb" + }, + "findings/subsystems/eventlive-verification.md": { + "mode": 420, + "sha256": "8bfcc75e57ddf88ec8a4b8885f033be8ffd420965077ab284b1ebce535ecf1a0" + }, + "findings/subsystems/events.md": { + "mode": 420, + "sha256": "c5d6e168d6d48eabec0ae0a448f9c3ec8d0f751a67fc320bc1021ba10008a3bf" + }, + "findings/subsystems/formula-gaps.md": { + "mode": 420, + "sha256": "63ec96a27fac5381d33cdce3e549d230bd5b0230e4d8573f4f3d45bab7d47ffc" + }, + "findings/subsystems/fpu-precision-sensitivity.md": { + "mode": 420, + "sha256": "4cf84e2a1c3d0eaaf9b3a7f218ad663ffa6984389b2a25851249733ad708ff8f" + }, + "findings/subsystems/golden-trace-recapture.md": { + "mode": 420, + "sha256": "b244f939b87dd464d78d919675c0e6aa010b0ec7b4fc6e4178e26c2c8ebee738" + }, + "findings/subsystems/id-allocation.md": { + "mode": 420, + "sha256": "b04a14a5a7d4d1c6137c4f9072987eebc997421e550881dcc2c8e386187f5b90" + }, + "findings/subsystems/income-term.md": { + "mode": 420, + "sha256": "c40286635675a91ce779b887a0394e92f946844873a778015efb98c4a105b67e" + }, + "findings/subsystems/loader-prototypes.md": { + "mode": 420, + "sha256": "f1d09471d5e17c45413b86805f561329f5af24eadfb17c3c740686c39b167ed6" + }, + "findings/subsystems/money-chain-float-widths.md": { + "mode": 420, + "sha256": "99bded6f2d34a713bc175deb4ad5ab4559ce1cc90274b036c1818ad8257c2fef" + }, + "findings/subsystems/movefleet-position-rounding.md": { + "mode": 420, + "sha256": "12dbdc03658cb042b5927586769dc9c19fc2eb812f703e73bf26273f8b0d65a6" + }, + "findings/subsystems/multiplayer-combat.md": { + "mode": 420, + "sha256": "2f4957011b5c5875b8aa7f71531dd5dfe3fd8df4f2c67a7be2fb5999f090c02b" + }, + "findings/subsystems/multiplayer-gamespy.md": { + "mode": 420, + "sha256": "a878e97775d27e085e58b18eaf5a67aaa522456d1055ca142f0477e3d6152d47" + }, + "findings/subsystems/multiplayer-tier0-verified.md": { + "mode": 420, + "sha256": "942ce29cbe22d8f7de5af54f2017c0433c7b8e1a56c864868ec906ffcbb9059a" + }, + "findings/subsystems/nav-classifier-live.md": { + "mode": 420, + "sha256": "b8aacdea8072a99ba1192e235088b372180f094795baf164e8cb95bd2df9f3b0" + }, + "findings/subsystems/nvo-tshn-visible-owner.md": { + "mode": 420, + "sha256": "ef96bb61769c02affd7148cd95e70bf358cbe6263fbe9b47aba6cf4cfa8486ad" + }, + "findings/subsystems/observedtech-append.md": { + "mode": 420, + "sha256": "61efcf51bffe53b8a10a2cdb8123db3f8c55b6874db87418fc31737efedaa652" + }, + "findings/subsystems/output-term.md": { + "mode": 420, + "sha256": "9eb9ff58a1d4cf34d3138f5044788b6f87ff4c94fa871b2dedd6ff6667196533" + }, + "findings/subsystems/output-turn-path.md": { + "mode": 420, + "sha256": "4e199e5cc14802c1b14b37cff0c1359b43aca94dab833f9024c7825c4c512588" + }, + "findings/subsystems/path-solver.md": { + "mode": 420, + "sha256": "3e0e318d45e14f844831c4180e47011263f64067dacf3249742882186d65cf18" + }, + "findings/subsystems/players-residual.md": { + "mode": 420, + "sha256": "e2f56c7983856470d37cd0fba4834a0ccb34dcaddbaf9acaf5dcdc253c6b3507" + }, + "findings/subsystems/population-growth.md": { + "mode": 420, + "sha256": "c2ec2f062e1224045b761640549e7374336ac762bd61c686a0c1378ad829a993" + }, + "findings/subsystems/rcex-explained.md": { + "mode": 420, + "sha256": "df7c9de6f02c1bd38f69e3a5344ec663d97b1d6b738ff408dfdeb0e2f6175b32" + }, + "findings/subsystems/relabel-new-ids.md": { + "mode": 420, + "sha256": "562ffe347adc6432a7824bfa2b324b6b1812b4fcc18343f0732c0f3d9991be20" + }, + "findings/subsystems/research-replace.md": { + "mode": 420, + "sha256": "d0f692cf687a7fe6aab62fc5d7d076eb595e1c33fd84c6f1e437ed01025cab4b" + }, + "findings/subsystems/roll-parity.md": { + "mode": 420, + "sha256": "7d97d7e5eee7b9f135e32b6553bb94ca83fd05b1eca7d18c42e9d65cae4d95d1" + }, + "findings/subsystems/rung-b-rich-turn.md": { + "mode": 420, + "sha256": "44378c6a305a82b2d131270fa5d97fdcd8a7fd5c9760ecbad7715383eac2db68" + }, + "findings/subsystems/running-the-game.md": { + "mode": 420, + "sha256": "f6109f69c6b86e4cf01d0f2e1f8be9921ff632513bca5d9e44e7f6c34f1cd260" + }, + "findings/subsystems/setresearched-cascade.md": { + "mode": 420, + "sha256": "9c079de161a1d1387339b8e8081395c1356c1443a0c898942acfb6efb65a454f" + }, + "findings/subsystems/ship-construction.md": { + "mode": 420, + "sha256": "86f570b1872c8dfac3982d1d7335f4798ccbd1bfd73c91d481afba2734c41216" + }, + "findings/subsystems/ship-design-composer.md": { + "mode": 420, + "sha256": "639b276e9205aaf6c90d9c458a383cc073e89f401ef8f17f8ad5a8a0c5899fa8" + }, + "findings/subsystems/snlv-measured.md": { + "mode": 420, + "sha256": "785324d176be969e1809090acd6b7a48d27f4fa41472c0d9c6f568c0b3a1e539" + }, + "findings/subsystems/spy-detection-roll.md": { + "mode": 420, + "sha256": "214179f5091408ef01ce4b80565068cb9a0885d1c6a233cda476280b9bf29c0a" + }, + "findings/subsystems/spy-program-draws.md": { + "mode": 420, + "sha256": "0c61c2f9cc767ae679921bfc42ef9a207ec9a6e0dc88419a673a8e439f1abfc1" + }, + "findings/subsystems/strategic-turn-internals.md": { + "mode": 420, + "sha256": "3a5c17e025d4968db6030f8ef1daaa2b03ccd4def12d35cf3a0eabcb0b5cbb54" + }, + "findings/subsystems/strings-and-config.md": { + "mode": 420, + "sha256": "67aefda7792e329b7df3f6e8cf42c7bae7049867cdda0741e871b183bc528786" + }, + "findings/subsystems/system-visibility-prediction.md": { + "mode": 420, + "sha256": "b420526ca0410bd4578dd2ed29cd9a21ed3578d6345d9f853a883e0159c1f89c" + }, + "findings/subsystems/system-visibility-record.md": { + "mode": 420, + "sha256": "d2843e10c156a7c85d7dab40d00204475fc725dc9b93656f6cde941ceceb5f51" + }, + "findings/subsystems/t34-observed-designs.md": { + "mode": 420, + "sha256": "207641821a55f5671749b000d478afd9e427336e2d123a55ad2203f34dfaa796" + }, + "findings/subsystems/tech-effects.md": { + "mode": 420, + "sha256": "7423f1e2cb2a597738b244d58bdf467431ee5de725ac434b904676ddcbcfc609" + }, + "findings/subsystems/techid-name-map.md": { + "mode": 420, + "sha256": "cfd92a7885dad3775465fc0c5b40aeb1749499f90071b44855ab8e1746d5f752" + }, + "findings/subsystems/trade-and-spy-workload.md": { + "mode": 420, + "sha256": "147057456fa30b6218df19679abab1ac31b78276a4272d221b70776e154396ba" + }, + "findings/subsystems/treaty-turn-stamp.md": { + "mode": 420, + "sha256": "fa0a8588847cc2b9e92cddeca65fd00fe3d84a00a1034d9354053c7e6cd9ceb5" + }, + "findings/subsystems/turn-command-replay.md": { + "mode": 420, + "sha256": "b65fa3c3c01c67bc16ec488e4a44e6c748256e941c80987528b7602038a56e07" + }, + "findings/subsystems/turn1-to-turn2-nondeterminism.md": { + "mode": 420, + "sha256": "9ebe834fa0f7c1cf864032ec67da76730ed6c239d6bd3a717f147490116acc4d" + }, + "findings/subsystems/turncommands-capture.md": { + "mode": 420, + "sha256": "a57fd2a77784fef1b176749878b161c4f04ac77c1f4a061a6b713787d92fb9ef" + }, + "findings/subsystems/ui-screen-map.md": { + "mode": 420, + "sha256": "d266285e3ca99ba3b5ebbab47c78f3df247a8b539c0519c6fd27a999b9d6f84b" + }, + "findings/subsystems/unlock-cascade.md": { + "mode": 420, + "sha256": "38d29a9484aa3910f5a62b5dd08225ba590bf26901203c5aef1b0b466fbbc5fb" + }, + "findings/subsystems/value-domain-census.md": { + "mode": 420, + "sha256": "bc99139708aee5da4cafec585fc35ab3523b51571518038db19b5f1383c6a6c4" + }, + "findings/subsystems/writer-byte-exact.md": { + "mode": 420, + "sha256": "a0e91a90d2ae78328dbaef30b37d53037cab26489e4729413bcfebbafcab0978" + }, + "ghidra/addresses.d/README.md": { + "mode": 420, + "sha256": "cf2745d5d3e504725ae5a296dc20e3d63b8d32a903445aafe2af61828a6d59c5" + }, + "ghidra/addresses.d/ag.json": { + "mode": 420, + "sha256": "24d5b11779364cf198008b143c7a3a092117ec4a1530c489497dbc8acdf62d8e" + }, + "ghidra/addresses.d/ap.json": { + "mode": 420, + "sha256": "e37f478836eb297f9cc5186cd7df3f5942abc4b6396a4d2866e613841437f778" + }, + "ghidra/addresses.d/ar.json": { + "mode": 420, + "sha256": "8d8620be8dd807a610ff63c0d77cbf266f3d9ce272158991d1f55d9c9910c248" + }, + "ghidra/addresses.d/as.json": { + "mode": 420, + "sha256": "08a869ab9466d4b575363cfb6fc084ca72cdc05d509c5d87e658a9a9977a7ae9" + }, + "ghidra/addresses.d/az.json": { + "mode": 420, + "sha256": "60b9a169605ac171cffb848024141c9224f6897bf69b547b9a4f2b5ddfc8d835" + }, + "ghidra/addresses.d/bu.json": { + "mode": 420, + "sha256": "79037146ba621e43e561bcf0577afc25b2ffac4ced44c902d2ea8ed9171b1bb9" + }, + "ghidra/addresses.d/cz.json": { + "mode": 420, + "sha256": "35de20ff0e38d05b5c58c89690dfc81ce44eb280a2a594ae862e55d56edb5d3c" + }, + "ghidra/addresses.d/dn.json": { + "mode": 420, + "sha256": "c41f877a37bc864f8f315a47b720ac204c22c25de405f4de63b845180641eba0" + }, + "ghidra/addresses.d/dt.json": { + "mode": 420, + "sha256": "580762e01175fb7246d0f9214e4ed9ba16bebcdb82ad1525fd1f77c0910c660f" + }, + "ghidra/addresses.d/lane-a.json": { + "mode": 420, + "sha256": "fce5f06866bddc6bca095d53e376495103dfd8900ad7da0d0d6731f105915d71" + }, + "ghidra/addresses.d/lane-a2.json": { + "mode": 420, + "sha256": "1207088eb2ae041afc2618a627029e25f578ae9fe8db73bb9efb616f39c34bf0" + }, + "ghidra/addresses.d/lane-ac.json": { + "mode": 420, + "sha256": "02a1c2f01ca0d11a7c38d416d94fabaea64b5c5919f6ceaead83430fb398710e" + }, + "ghidra/addresses.d/lane-ai1.json": { + "mode": 420, + "sha256": "134a0cb87b95bf5f39ed015bcdf64c6e8da6b22e073d5b5487148cb5421addff" + }, + "ghidra/addresses.d/lane-ai2.json": { + "mode": 420, + "sha256": "e9d94ce026231d420538400fa9c73fa8a2fa882d16f542c6b8ce2c34014acda6" + }, + "ghidra/addresses.d/lane-ai3.json": { + "mode": 420, + "sha256": "89c29e1bbb1159b7b6fb4fc8c232902f8497efc82290aba6f50c9c9097feec6a" + }, + "ghidra/addresses.d/lane-ai4.json": { + "mode": 420, + "sha256": "78b7897d3d2678ddbff7cd982bfa7d93a0c26817846a148fd3f46790fef9d7fb" + }, + "ghidra/addresses.d/lane-b5.json": { + "mode": 420, + "sha256": "641c724d1fbf28f5469aac488401ea2f92bdd3b929fbf053ddeef0ba5b8de9da" + }, + "ghidra/addresses.d/lane-b6.json": { + "mode": 420, + "sha256": "b2b2833220e3a645efab2b767f1d93d1215a54d195e28e6743db8f1d89934697" + }, + "ghidra/addresses.d/lane-c3.json": { + "mode": 420, + "sha256": "b732932503c181c77bb14ba0136379c8fa3501d0c1471b02d9bca7d023bb5f5a" + }, + "ghidra/addresses.d/lane-d2.json": { + "mode": 420, + "sha256": "8b5df39fb5eea0cd40dffc20aaccabe169f5472171dfd242ca2e75dfc4ca608c" + }, + "ghidra/addresses.d/lane-e1.json": { + "mode": 420, + "sha256": "cb38b41b747bf74ee73fb7eaa301da4bb896d089fa1dea4197382e94940c7f69" + }, + "ghidra/addresses.d/lane-e3.json": { + "mode": 420, + "sha256": "a5fe9dbb37ee587bf36a311771bbc9d8dcaa4d4fcc0b420b8f45829929b0ff98" + }, + "ghidra/addresses.d/lane-ev.json": { + "mode": 420, + "sha256": "b243d31bcd69bfb1e5928ba8b70e958e559c88ee5190ca34e569f217a784798c" + }, + "ghidra/addresses.d/lane-g2.json": { + "mode": 420, + "sha256": "84401f05c5cf2ca0839e817877892e904b3fd2fd4175607abc34453acd8ce822" + }, + "ghidra/addresses.d/lane-g3.json": { + "mode": 420, + "sha256": "d176eb4a07bb6b98acea77e1a0a9904d317a594768ecf8719bbfacbdf6522729" + }, + "ghidra/addresses.d/lane-h.json": { + "mode": 420, + "sha256": "e8cffe89c7feb1d9fa1949f33aff01edc7b84b49ab752275662f6f613c16c0b6" + }, + "ghidra/addresses.d/lane-i.json": { + "mode": 420, + "sha256": "a4c482ff6fee78e96da3400b9ba7d76b58634a5933ff388db5993a1b105c8aca" + }, + "ghidra/addresses.d/lane-id.json": { + "mode": 420, + "sha256": "3f48c9b2e2c3a08e13a856bfb78d551af17f5a1a1079f03f8edbf4615f17ca7d" + }, + "ghidra/addresses.d/lane-j.json": { + "mode": 420, + "sha256": "4fd95b08fee60a2748995cb082fe50d61e7179ae90b106f230bfc5c55a35660d" + }, + "ghidra/addresses.d/lane-k.json": { + "mode": 420, + "sha256": "f6ead3ff256fd2e1408d52bfa28e308f106ad672b3fe1cce0d136faac351136e" + }, + "ghidra/addresses.d/lane-l1.json": { + "mode": 420, + "sha256": "ecbab4a1b602beefd6889effc4883b7f7de01afabb7c5c071bbc4e2237e9131b" + }, + "ghidra/addresses.d/lane-l3.json": { + "mode": 420, + "sha256": "eabb96253bee36c799f1eb89108e284162606cfdc5e9bd29dbf7b5f88ee88adf" + }, + "ghidra/addresses.d/lane-l4.json": { + "mode": 420, + "sha256": "5b2b54d2f3e123e352e9a2b0f1d80fc8afcdd0b97916a94ee5a62ddc03b0ae75" + }, + "ghidra/addresses.d/lane-l5.json": { + "mode": 420, + "sha256": "cedc4869149212d401c519c46fa3f02769f9c939fc560fe8d35cc4f898091482" + }, + "ghidra/addresses.d/lane-n.json": { + "mode": 420, + "sha256": "6987efa430f2da8987e42e61e53113f914cb00e3e52a7c679565e7faf5160c82" + }, + "ghidra/addresses.d/lane-o.json": { + "mode": 420, + "sha256": "7fcf357f25ccdf061b6bc688339e2006f830c551718b6419a0a9d0ac968bb555" + }, + "ghidra/addresses.d/lane-p2.json": { + "mode": 420, + "sha256": "7eaa63d64a0054ef88f323f58b31fca07bd2372dc21560b4bda64eb13d869792" + }, + "ghidra/addresses.d/lane-par.json": { + "mode": 420, + "sha256": "3836b786aec28feb028271d05f368d7c332b8930b51cfdceb36540133a3d3237" + }, + "ghidra/addresses.d/lane-pl.json": { + "mode": 420, + "sha256": "f29953d17effbb7d8256687833023d4656522e74c40bf1ea646d3b35da3635d7" + }, + "ghidra/addresses.d/lane-q.json": { + "mode": 420, + "sha256": "6f98496ffc288fb30c3a7347a7e5252b296f2345afd1bf678f98a2c934b8935a" + }, + "ghidra/addresses.d/lane-rb.json": { + "mode": 420, + "sha256": "bff95b9452e0efb63e74f741682c8d1843abfe3e722143cf01cf092aa894d75d" + }, + "ghidra/addresses.d/lane-sd.json": { + "mode": 420, + "sha256": "d3239b619cbef5cddc9c7bde6525301a99a6423f8a0e42c1ea53b9ae269c6da9" + }, + "ghidra/addresses.d/lane-sv.json": { + "mode": 420, + "sha256": "f574d8b4dc75da722870c74eb29cd56c75e04dd0ac384b4549fc95d425e3de3a" + }, + "ghidra/addresses.d/lane-t.json": { + "mode": 420, + "sha256": "70975f3c1dea55ceb11af12b9ba3a04e8f7bba2e25f1355ffcd3cd457c41545c" + }, + "ghidra/addresses.d/lane-t2.json": { + "mode": 420, + "sha256": "1e3c59089b769cc5f5d3cf16c33cb6db002966f5beb1a4fb9dd8e28fe54cd6a7" + }, + "ghidra/addresses.d/lane-u.json": { + "mode": 420, + "sha256": "bcccb6ec9257537eece135adbfd126904ca0becf14f9b5d17253adf5d8c9e8fe" + }, + "ghidra/addresses.d/lane-v2.json": { + "mode": 420, + "sha256": "6a4d4960ce99c05b928164159eaf4482bf763785a1f8c50efe133667886d9a54" + }, + "ghidra/addresses.d/lane-w.json": { + "mode": 420, + "sha256": "3971d65c772146534f5d8c350f2d203add70ac82801f57f3704c47cd59b51226" + }, + "ghidra/addresses.d/lane-w2.json": { + "mode": 420, + "sha256": "677648e94de8e1e0d538c9575c9be942d0b37c1a847effcb3c2312af5b6aa7d9" + }, + "ghidra/addresses.d/lane-w3.json": { + "mode": 420, + "sha256": "50ed8ed1b16288b00bac4df0886646dbf9d6d6392867029b4eac386806b41b51" + }, + "ghidra/addresses.d/lane-z.json": { + "mode": 420, + "sha256": "bc63a82f2d0cb7636e95f8a07f183f80817a4c65d2bb7263a047ec3c540512eb" + }, + "ghidra/addresses.json": { + "mode": 420, + "sha256": "865c02d88ac6ede656160a5ab20521ad8854efa381d5a943ab422216aca2c016" + }, + "ghidra/generated/sots_addresses.h": { + "mode": 420, + "sha256": "1cf6b4ab40d3cde306edee12ba4eb05292b98ddcf5c2b7c22c1c64b6075b1bdf" + }, + "ghidra/scripts/FixPlayer.java": { + "mode": 420, + "sha256": "9f9ea470af063339511b1f1c85d6dea2df0827c4fed5806c6f641b1aad3e5660" + }, + "ghidra/scripts/FixThis.java": { + "mode": 420, + "sha256": "aafeeb482f71d1bdcbc99a51fb3f21989a46fbb49b5a572f3d9e436c9b3b98b4" + }, + "ghidra/scripts/LoaderRecon.java": { + "mode": 420, + "sha256": "1275d460227e0098254885fe70666d618da7215bca99483a5475c1e701ab9b27" + }, + "ghidra/scripts/LoaderWriteBack.java": { + "mode": 420, + "sha256": "d1040cb9ee80f0fe4d2310d95b38d7d94b0972283f74ea6058de0bdb9e510e63" + }, + "ghidra/scripts/SpineRecon.java": { + "mode": 420, + "sha256": "bea798733cf60f9478373cc453692104058b643ba5b7fc68e76945ae6f496950" + }, + "ghidra/scripts/SpineRecon2.java": { + "mode": 420, + "sha256": "94f10ac953091d50187a46b74803abb4812b244356f9336fa8e133a8a6cba0c6" + }, + "ghidra/scripts/SpineRecon3.java": { + "mode": 420, + "sha256": "b2344ab3d7195cfb935505ba1949f3d4862f787ccb95b812cef3856f92c94ffc" + }, + "ghidra/scripts/SpineRecon4.java": { + "mode": 420, + "sha256": "1093ee635be94f0c0bb31b5bd79f030faa0d7cbab96a495426363172cbcd1d66" + }, + "ghidra/scripts/TechFx.java": { + "mode": 420, + "sha256": "bfa8e990d65ad7cb2b665ee284ec2d645395e0fb3794ea146b175e2937a159ad" + }, + "ghidra/scripts/TechFx2.java": { + "mode": 420, + "sha256": "ee7040ed3316f2e717bac207c3e8ba9bf5ecb560f9e2b38335582c4ca6bae5a8" + }, + "ghidra/scripts/TechFx3.java": { + "mode": 420, + "sha256": "b672751160abcfee37d16eb2f107a60420b7d6956c312fe93e9f62578c06b96a" + }, + "ghidra/scripts/TechFx4.java": { + "mode": 420, + "sha256": "ef912e86f802452f33c20a1adb87eeb96f0ec893e26ee4bbd02305ba0c5e46c7" + }, + "ghidra/scripts/WriteBack.java": { + "mode": 420, + "sha256": "e002a5b86bc58cf75ef8d08dbaeb84bdf3306c1e8d49e92c0382f8ed858c57ac" + }, + "ghidra/vtable-owners.json": { + "mode": 420, + "sha256": "8ee89f3b43f56283a6ffcc605394a1ab246f8071370a9db8f1e770942a5a82a3" + }, + "guides/lab-screen-wall.md": { + "mode": 420, + "sha256": "d398b47853013dbce63b4af2f2ec680c39775732b9fbba13f5fc42a46628550f" + }, + "guides/method-rules.md": { + "mode": 420, + "sha256": "a71a8415202fe97ccaee3805bf4035684776c37f5613dc39a1f260aa33f94b69" + }, + "guides/multi-agent-workflow.md": { + "mode": 420, + "sha256": "f5bf0c30c12a3a9e1725549fe000be0105d415ca25b120673a780901148f08da" + }, + "guides/re-windows-2000s-howto.md": { + "mode": 420, + "sha256": "3490650440d6e683cb029915b8c2cace914b1f52538c9db89175ad4547db2901" + }, + "guides/windows-lab-housekeeping.md": { + "mode": 420, + "sha256": "4a9e9d66dd76e6b5ee1951686186190c650a617fa812fa4bd236ef02b783939a" + }, + "notes/.keep.md": { + "mode": 420, + "sha256": "7878c159a1b9636974e9093902027a24bf7b3c7520f13a8d96f930bd10d22f1c" + }, + "objects/generated/sots_stream_schema.h": { + "mode": 420, + "sha256": "13446ce54d60a0b29adcefb51aeb5127a0a3ca8de2bd1665e4778ba5354bff8c" + }, + "objects/layouts.h": { + "mode": 420, + "sha256": "24586f7f1c25530691193a919c6335ab1784fa2815b222326409cfe9e2a42981" + }, + "objects/layouts.json": { + "mode": 420, + "sha256": "16bfffa5020d98c12af61c72a48da8f2c5e06d1060358802717e585a49b150b2" + }, + "objects/layouts.md": { + "mode": 420, + "sha256": "83bc29fcd379847f9ebd6732edf9748c1c878052e889615928659307f97a148c" + }, + "objects/streams.json": { + "mode": 420, + "sha256": "60993eda14d0b1056578718d43a3b6d89816e12c4f5a00674806aeef9e81baf7" + }, + "opencode.json": { + "mode": 420, + "sha256": "d24be7fcee57d5eb04c6b7189822a2ca055dd4a70daafbea67f09a120945d49f" + }, + "scripts/.keep.md": { + "mode": 420, + "sha256": "b0cdcee8cfdc1b15ee444520b6b01c747399deea6d92ff2576ca6eb57331bbac" + }, + "scripts/forgejo_campaign.py": null, + "scripts/lane_v2_writeback.py": { + "mode": 420, + "sha256": "69a66058adb04926eeb6f0e81fa8f0392ce06de2e8d8eb61ebcf503bab6311da" + }, + "tools/DASHBOARD_README.md": { + "mode": 420, + "sha256": "f401cc54f64a4862a938263f37eaab22e6475e063e59726e02dce201f657dcc4" + }, + "tools/aiorders_to_tcb.py": { + "mode": 420, + "sha256": "9762d1fd45f3ab7c045088e222c5386a2cc63a6b25e1c09a49cbbd71837bfe17" + }, + "tools/cache_functions.py": { + "mode": 420, + "sha256": "18c037e48ab035764b0c877123ea7c998ef74240c63090e4f58142f57835e0b1" + }, + "tools/campaign.py": { + "mode": 420, + "sha256": "c7b7c7a30d907bba8e59386dee8704d7f3f5e978fcf709b686e37996fa465c31" + }, + "tools/check_agent_config.py": { + "mode": 420, + "sha256": "93115532cb38105777a5c5c20a9f2a808043370e0d4f560a9c82fe8e800076ec" + }, + "tools/dashboard.py": { + "mode": 420, + "sha256": "c84aeeea6fb7d5e45ccec8882bacc59182149f108edd9eb1585eab9ede99911c" + }, + "tools/displacement.py": null, + "tools/evidence.py": { + "mode": 420, + "sha256": "0a7f8497ed287b4b64aa5ba0cb25735172408e38f3605b3ff90f009c7f02eb85" + }, + "tools/gate.py": { + "mode": 420, + "sha256": "4df5ee7022fb2601687f06eab788e2cea1e345e580c4e92c9d47be1787d37460" + }, + "tools/gate.sh": { + "mode": 493, + "sha256": "d7ba27b9b0c6a03df48e4edc71884ef9986743f8afa751dbfec116df5aeee18c" + }, + "tools/gen_addresses.py": { + "mode": 493, + "sha256": "5d995585d4192a19db7cc6d31ed811fa80264159fc114f03f58793f9b6c4908e" + }, + "tools/gen_stream_schema.py": { + "mode": 420, + "sha256": "a9c3e925bb3370371a2c8cde8d738c657fe1cbf68c39c6155562bbb20c551461" + }, + "tools/max_income_oracle.py": { + "mode": 420, + "sha256": "8d3ec6ba5c677486200eab7d1ca55e1350947829e603737307fa394ac8e40bcd" + }, + "tools/max_income_predict.py": { + "mode": 420, + "sha256": "85400c82b6cb7c6786b7fb6486bdc7bcb1140817f7a0ff0b4fa4f7dbeded8797" + }, + "tools/probe_report.py": { + "mode": 420, + "sha256": "f3ef378c10bae4a8bef754d853f0e86616bb95b5e051e04cac97d362587df1a7" + }, + "tools/reva_call.py": { + "mode": 493, + "sha256": "89477650d38985f84b61a664572de1cbde1268b879d3da5e874598942822998b" + }, + "tools/rng_ledger_report.py": { + "mode": 493, + "sha256": "b4f3f581eb6de50118fd531c848354816c20197711e668ce8b0cfcb4d0392cf3" + }, + "tools/rng_oracle_check.py": { + "mode": 420, + "sha256": "f27ca7f9aa03bc672f04067bc71e73ac83742997f12f5f55ce11151bdc39d98a" + }, + "tools/rng_site_report.py": { + "mode": 493, + "sha256": "fabd950c002265403f7b13a8868a158d867828c9930770ed096a2610b086ad35" + }, + "tools/rtti_map.py": { + "mode": 420, + "sha256": "9ac88a8aa566fe08336ba6e50905ec4253409e1317f491c415b1b9ebcc0713e4" + }, + "tools/run_agent.py": { + "mode": 420, + "sha256": "0f5ccb53dcde59b64fe999768737b6cbd2dabcc1272e5605c1f1ecd86e5d5d2b" + }, + "tools/select_evidence.py": { + "mode": 420, + "sha256": "a6e648a77bcf799cc774ff9d0de83011283049ed0f0c44f6e08857a8410e9463" + }, + "tools/serializers.py": { + "mode": 420, + "sha256": "938904eb7b4ae30a61dd966494b112c6d52399f9d4a4658add06b40a54d6cb73" + }, + "tools/serializers_ghidra.py": { + "mode": 420, + "sha256": "d27da0afc8d043d31335bbe274fc76245e50cf0f9091a968b124f31c3a17997c" + }, + "tools/serializers_golden.py": { + "mode": 420, + "sha256": "29d2509b54704b80eff46a59a320719edb17a7eb67fd8acb8ad5e3c427d8e825" + }, + "tools/standalone_report.py": { + "mode": 420, + "sha256": "43a61c4031306732554aca23cd95b57d35f2a870766c33ccf8e005f22436525c" + }, + "tools/streams.py": { + "mode": 420, + "sha256": "57ec4ec5ad222a74f4461d70277d258e51779ae53ff74fd0e07eb51d4bae0afd" + }, + "tools/strfootprint.py": { + "mode": 420, + "sha256": "3b0db212c0b091ae2f63b866ee331435d013c535f233ec34ae3dfb63ded852dc" + }, + "tools/tcb_from_json.py": { + "mode": 420, + "sha256": "8fe09cff16802fda34db24f6f888610baa258399ab39173586b91a7a162f231a" + }, + "tools/techid_table.py": { + "mode": 420, + "sha256": "2c644bdbd3774b70dfdae7e77ff7a3a8e8563b58be7098a2d55ee30dc8b8fd07" + }, + "tools/turncommands_capture.py": { + "mode": 420, + "sha256": "0214d5da6f5f86e188bb2f03db8d3439267baee3a883c7df754601c7c1a38536" + }, + "tools/vmshot.py": { + "mode": 493, + "sha256": "09228bf8bd61918c49afc2b6da931fc8a7833be126be5384b85194e0e86eea44" + }, + "tools/vmwatch-install.sh": { + "mode": 493, + "sha256": "3c004f532422bd589a7294dabdf54d5a726f598c69012eaea3d73a748ad0123a" + }, + "tools/vmwatch.py": { + "mode": 493, + "sha256": "650d8232e46239a55b96f26d581d7d9c5815415c9014fd2e5b846b68c1346b39" + }, + "tools/vtable_map.py": { + "mode": 420, + "sha256": "2e19223efb79421ab4b807e32f0854b2592d7d3a3a52c12e84e47460b960f740" + }, + "tools/windows-housekeeping/Invoke-Housekeeping.ps1": { + "mode": 420, + "sha256": "a97911a3cfbd47813282efa7f52b4de03d28912487fffe0e7e7aa1a250cac01a" + }, + "tools/x86disp.py": { + "mode": 420, + "sha256": "a05a42d63813d2025a4da65bdd684e82a89c95c52901a8f490391e31c49a122e" + }, + "verify/campaign/test_controls.py": { + "mode": 420, + "sha256": "108460f4e90c4cb7036642e85de581e31fd70c478533c32364691260461814fc" + }, + "verify/config/test_agent_config.py": { + "mode": 420, + "sha256": "e60ee546672da91de08ca8fdd5d563b5f1207d0a865adf935017e06bf437585b" + }, + "verify/config/test_source_check.py": { + "mode": 420, + "sha256": "c16731e31a54256dde4f88d33007759ff21ad8537ca6cd2be38b9e34c59525ad" + }, + "verify/design-rules/SHIP_DESIGN_RULES.md": { + "mode": 420, + "sha256": "4decf51bfa03e8ab2b58478198332e834233100126949b920349f210b54521c8" + }, + "verify/design-rules/data/HiverInvasion_FleetTemplates.csv": { + "mode": 420, + "sha256": "327e799be3c75361267725c157f78b425d3a1df6ed6595104b2ce9993e8ae3a7" + }, + "verify/design-rules/data/UpstartApes_GiftFleetTemplates.csv": { + "mode": 420, + "sha256": "89939d70eb6ed48ec776a4a6fc50ccb68fc6be7162706bab199484bf7cdd5e44" + }, + "verify/design-rules/data/_defaultweapons.txt": { + "mode": 420, + "sha256": "ef9e33aa32840f1878ece67f88556d81a4255f63f6e8aad4ac73e575ef2c7ec8" + }, + "verify/design-rules/data/_turrets.txt": { + "mode": 420, + "sha256": "35de6ad40895f76298eef7dc354c739a5a59747b689c2324cfa5040442eddc18" + }, + "verify/design-rules/design_rules.py": { + "mode": 420, + "sha256": "772f70c7d6be2d20d10cf4f5d412233b267440d63d431bf7b320c29f3f06e313" + }, + "verify/design-rules/stock_designs.json": { + "mode": 420, + "sha256": "b363023e02899bc03e4c8b8423b394ef8abb190b1bcf437aade19be463353f68" + }, + "verify/design-rules/stock_designs.py": { + "mode": 420, + "sha256": "fe020f6058ec25b6fc456146abb6594825ee2b98ba5c5c5eeaff969ce4596031" + }, + "verify/design-rules/test_design_rules.py": { + "mode": 420, + "sha256": "6f6764d21d7a3337ec8aba9651b19947239a7d06a6cdf7c6e9be5ddefcfdd186" + }, + "verify/fpu-cw/cw_census.py": { + "mode": 420, + "sha256": "07b7ac5ae60df487867b592e82e9f74201b695437fba248813bc07305a21c7cc" + }, + "verify/fpu-cw/trace_bitdiff.py": { + "mode": 420, + "sha256": "b25c93d70e67ed2fa81e5ea7184f8ffe0cbd2e7c043bc94f923c3db1cf101b59" + }, + "verify/harness/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/harness/cb/README.md": { + "mode": 420, + "sha256": "7a656251a600a9343ffa8afaa4f227e7cb8086be7d3c6879c0a403ab8acec71d" + }, + "verify/harness/cb/cbdo.sh": { + "mode": 493, + "sha256": "6f3d7fd35aeedb0841be9df0ba19136be2e7ccb5c44950d8aa821c61727232a6" + }, + "verify/harness/cb/cbfull.sh": { + "mode": 493, + "sha256": "609101217e9d35bf1caa5cb66f362e0796fcf6c1264bd92ff550d0ed12ca2521" + }, + "verify/harness/cb/cbload.sh": { + "mode": 493, + "sha256": "2e56bb64609434f6dfc6ebcf71a3c839ae59170db80c996ebee7c2219cb664ec" + }, + "verify/harness/cb/cbmenu.py": { + "mode": 420, + "sha256": "fb2e72a1a5390aa28dcae0fbc2d7b920b06bf3b1ea161bb757d4db3c8cd23af2" + }, + "verify/harness/cb/cbstep.sh": { + "mode": 493, + "sha256": "5896b21e8cf08b40e2a2958e44a51beb7e5b5a58cf35d405879a5df7cdd375b4" + }, + "verify/harness/compare/TRACE_FORMAT.md": { + "mode": 420, + "sha256": "cf6f61dc255e3aed0f293c141d9fd3b0d5e848e3abe4dcf50b4ca2d58e37c024" + }, + "verify/harness/compare/mkfixture.py": { + "mode": 420, + "sha256": "f081dd92b9e82e838f59ce8f9c79d5cdebb825255f13b6c49178516e7f3ef118" + }, + "verify/harness/compare/oracle_parsers.py": { + "mode": 420, + "sha256": "b1a745bfa63b447c87279afdb2885a0218f2a0dc2539f79414f8a2534e24c97b" + }, + "verify/harness/compare/test_tracecmp.py": { + "mode": 420, + "sha256": "f25eb9d5ea7215b8366c44924fb49a5f028a0188e709dadfd90cfbc30db0823e" + }, + "verify/harness/compare/tracecmp.py": { + "mode": 420, + "sha256": "d6ca461cabf15351e2040150144084b93d3caf22d879ee158ede04052ab03cbb" + }, + "verify/harness/l2-ui/README.md": { + "mode": 420, + "sha256": "48effd757522ee5ff70af6d77449dcfd805bb7744c9093d01c039b86e030d7f6" + }, + "verify/harness/l2-ui/launch-b.cmd": { + "mode": 420, + "sha256": "8f26c451a88765c49ecb3c8160ed4a3d06f1100a6d9323b305efc01f039dfada" + }, + "verify/harness/l2-ui/socks.ps1": { + "mode": 420, + "sha256": "401cce47d495507f60eeae45942c146586464959046ef9715cd69605753af027" + }, + "verify/harness/l2-ui/ui.ps1": { + "mode": 420, + "sha256": "355c8f222bf99f547d9d16a1665a072e6914917d48e4db22b8438d2d83708e97" + }, + "verify/harness/profiling/battle-run.sh": { + "mode": 493, + "sha256": "79f14ded5c3731efd655a6f9a4ac6795f3ace0a9b064c43ba4bf9a2cb988a7cf" + }, + "verify/harness/profiling/funcs.py": { + "mode": 420, + "sha256": "841a6f5e5dc1d845b7439c9ce9dc08e045864929b0f367908abea7ab54259207" + }, + "verify/harness/profiling/funcs.txt": { + "mode": 420, + "sha256": "d35b17dbb3970f5c24ae862748c5b91aee87491968719c34e48a8b88c0615835" + }, + "verify/harness/profiling/iat.py": { + "mode": 420, + "sha256": "82465ef8284739ab3d3c99acd0fa6cc5a4bb80c8680eb7a949218305fd10d3d3" + }, + "verify/harness/profiling/inspect.ps1": { + "mode": 420, + "sha256": "35bc7dd85108e3f4686975ef7f510b1cc9306b5839329f7fdd2a5ac27a140611" + }, + "verify/harness/profiling/names.txt": { + "mode": 420, + "sha256": "89d90f934e445447c68569448471a8917ee0bbfcb5fb96bba3e6566be9b0779c" + }, + "verify/harness/profiling/parse.py": { + "mode": 420, + "sha256": "680df36804e923d74da8e9fd8877b5ea66975c9ce8d239ad4507c829f881722a" + }, + "verify/harness/profiling/sampler.ps1": { + "mode": 420, + "sha256": "ef0edde8535ef07e508a732f8e11dc3d50fef966e5a9e4d8161085a83372993e" + }, + "verify/harness/profiling/shots.sh": { + "mode": 420, + "sha256": "87e554abf08068d6438417e266f1e7820e34a900a7d559fa0a7c4a2fa18002b3" + }, + "verify/harness/profiling/timerres.ps1": { + "mode": 420, + "sha256": "80362eb9ec8bd882abddf2507236e70db2dd21f64c9db07d217bdd49361ed89c" + }, + "verify/harness/profiling/turnloop.sh": { + "mode": 493, + "sha256": "8e28f076599a9eb53eace77ad77a10b0770f1ce617c7a76e6a2b9044ee0c8774" + }, + "verify/harness/profiling/turnwin.py": { + "mode": 420, + "sha256": "e2033a8e519a7c9f65f67b5592494a9843eb8bef41af6ab5652343aa86bd4c60" + }, + "verify/harness/profiling/ui.sh": { + "mode": 493, + "sha256": "e66774a4d070285e6c6a62472000222a691c7192096039e75fa726bab9f6afb7" + }, + "verify/harness/run-recipe/click_helper.ps1": { + "mode": 420, + "sha256": "150a1c17e12e8479244107cd01d95233c84d550e95a6f5e352fd529818a21d7d" + }, + "verify/harness/run-recipe/display.cfg": { + "mode": 420, + "sha256": "76b4876abd1cd163a5cc6b65a6106670476cde40c9b868a53a0dc45f517e132f" + }, + "verify/harness/run-recipe/dxvk_d3d9.log": { + "mode": 420, + "sha256": "f48ff2684a78cea563ab7f10e2f005638044352fe9cfc30dedf0f26ec7fecf23" + }, + "verify/harness/run-recipe/launch.cmd": { + "mode": 420, + "sha256": "90a6effe8ae835bf641cc775a17ad709198fdfeded4379f658255a82f594e5c2" + }, + "verify/harness/run-recipe/lvp_icd.x86.json": { + "mode": 420, + "sha256": "b89a08526e043a84c3a2550b5ea2fd7692f547ea295e8dd70e79c64fe81f6fbf" + }, + "verify/harness/run-recipe/run.txt": { + "mode": 420, + "sha256": "12c83295dae9db4a98142ef8fe7e45321c90960428df504ed3496e27838a0413" + }, + "verify/harness/run-recipe/session.log": { + "mode": 420, + "sha256": "e9ce9b496e9ee55bd64cc27afe594cee6136dfbc6cf9d9d44e9914b27e568a93" + }, + "verify/parsers/PARITY_NOTES.md": { + "mode": 420, + "sha256": "beecfe60358f5977529bd0784ffe18ca03c38d2dd36766f351c6a9addac83bda" + }, + "verify/parsers/effect_txt.py": { + "mode": 420, + "sha256": "7219045dfaf305dd64218ff8096e8cac69a53df1aabdf85f15e6c5e01c963e74" + }, + "verify/parsers/flat_kv.py": { + "mode": 420, + "sha256": "a26149cb21d152be5cbada3b764e042187daf2ec306b2dba1081737af6a7ae4f" + }, + "verify/parsers/manifest.py": { + "mode": 420, + "sha256": "62a08cfd82d5f701ae3b3f567bc8382cfd1b33b49bf6049ade47a932ef7109da" + }, + "verify/parsers/mars_data.py": { + "mode": 420, + "sha256": "90c7b8421044b1d7e262e6f20e5af391d97a712b12c2d3f0c3033567881d536f" + }, + "verify/parsers/verify.py": { + "mode": 420, + "sha256": "cc5d619bd6b3ca161b4bc8050c30e7d77f6bd3e964c971cc29e051efc1e25a33" + }, + "verify/publishing/test_dashboard.py": { + "mode": 420, + "sha256": "cc44e516da663f5d27bf817cbcbf24c052f2db52ee887d08d7c271caf8f6a000" + }, + "verify/results/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/results/compare/.keep.md": { + "mode": 420, + "sha256": "4581f3fde61549f4c621b2f114228a62d066a528a270a9b41703238ff841ac1d" + }, + "verify/results/compare/b2-techfx-compare.json": { + "mode": 420, + "sha256": "b0533322d44b1694f36baf86d6660481ac5b22ce9c1d6b6b9668ea064cc08f4b" + }, + "verify/results/compare/b2-techfx-golden.json": { + "mode": 420, + "sha256": "4298a8229b85a3329c78d3618d3eb19aff096cb2da66e9238fd843d639b17f11" + }, + "verify/results/compare/cr-compare.json": { + "mode": 420, + "sha256": "f20e9a7c71412688c02b607f08a5224367598eba552e35a50e9922ca8f12edab" + }, + "verify/results/compare/cr-compare.md": { + "mode": 420, + "sha256": "0eb905744120b1cf264ba6e57497db64fdc8e225a87ef7bb86cf3f026ffe4d0d" + }, + "verify/results/compare/cr-replace0.json": { + "mode": 420, + "sha256": "f1556c5d74c236c82617061b5ec60b1a7ce4652bce87b6595eb89406ad832240" + }, + "verify/results/compare/cr-replace0.md": { + "mode": 420, + "sha256": "6f571e46350a29b811bc12b48e12ed2d443acba5f5be6310e0531c3790425d48" + }, + "verify/results/compare/cr-replace1.json": { + "mode": 420, + "sha256": "d0c1d6bd4a1f8f5343b584662d8202184479b01a51480443a97242daf27fccc2" + }, + "verify/results/compare/cr-replace1.md": { + "mode": 420, + "sha256": "111b51290468d5482a1910194487d26dc1b3ec534d699aa07a564de66bbf9d98" + }, + "verify/results/compare/eventlive-b3-t1-5.json": { + "mode": 420, + "sha256": "4f305180bcbe93523f407d1f8406ac52b84d4a20e2d611940716618fd37edfde" + }, + "verify/results/compare/eventlive-b3-t1-5.md": { + "mode": 420, + "sha256": "ec71d98210218fd5b5da69f6b17cf6991128a58a0358a6504e6497dd39159764" + }, + "verify/results/compare/eventlive-b3-t1.json": { + "mode": 420, + "sha256": "84f66c1e6a23f737d1615e75fd22fba958bfd851067acb42503e32a2812dd1de" + }, + "verify/results/compare/eventlive-b3-t1.md": { + "mode": 420, + "sha256": "299b8dd3f2cf42cbc9e6254fac01ee3dcb6abb0758c8f298beb6cc6464db4cfb" + }, + "verify/results/compare/eventlive-b3-zuul.json": { + "mode": 420, + "sha256": "a1a92c06202c8168362c33442edeb7ea7f76f6e586e5deea1b86dff9dc8f3494" + }, + "verify/results/compare/eventlive-b3-zuul.md": { + "mode": 420, + "sha256": "544791f9cd8b77a2d865f2a918d97e74559529f29943171bd1e8e2d8a120dec5" + }, + "verify/results/compare/l5-budget-boundary.md": { + "mode": 420, + "sha256": "6877f9cfc602876b4c213106493853822471a5aaa3e4e8ebf8dffd31373d89d9" + }, + "verify/results/compare/mf-after.json": { + "mode": 420, + "sha256": "586a824a0d0af1de0808c33c1c392c4022128f9c1305dc32b6749e8fa493e8f4" + }, + "verify/results/compare/mf-after.md": { + "mode": 420, + "sha256": "659be3da71cabfd3c34eb818f1bac07f848c58a878fd62d81ac7b1daa5f3ce03" + }, + "verify/results/compare/mf-before.json": { + "mode": 420, + "sha256": "259272b45ca9c63894d8c91e399ff91d7258b7836f1a0d5c91dd3972586b2498" + }, + "verify/results/compare/mf-before.md": { + "mode": 420, + "sha256": "4572530a1c93865d27aba47c23c418773ad39a834c8be1c004f5cc2f16f927a0" + }, + "verify/results/compare/output-ref-turn2.md": { + "mode": 420, + "sha256": "43a569165f9239f13edc31c7a848a6b839829ae06dd6e3b85d289a1552eb8d34" + }, + "verify/results/compare/output-zuul-and-ref.md": { + "mode": 420, + "sha256": "9bc0937c0b3e1e3e5a6cd3768dbfeae56a897615396b00834bd083611f3ef431" + }, + "verify/results/compare/recap-b1-compare.json": { + "mode": 420, + "sha256": "8e86cdd32373e41ac1cdc130b18acc188b35d5ab7112e1fc655d134c44ad9712" + }, + "verify/results/compare/recap-b1-compare.md": { + "mode": 420, + "sha256": "496a3246eda3be76d9d0f08726369d40aa879cf60a510f16209ae77585582841" + }, + "verify/results/compare/recap-b3-compare-t1-5.json": { + "mode": 420, + "sha256": "80eeeeccf15f427b75b053d06f6b32b1692a2ed9ca6b9a51c244e4166a1b0e78" + }, + "verify/results/compare/recap-b3-compare-t1-5.md": { + "mode": 420, + "sha256": "5b6295bff72d599f142e75fa913ca2da590322a6fd1d104328847159fc5e7802" + }, + "verify/results/compare/recap-b3-compare-t1.json": { + "mode": 420, + "sha256": "10d0d5f8aff90f6cce3cd87e30c7f8ff896c5b369f4dc8288141451e25727cb9" + }, + "verify/results/compare/recap-b3-compare-t1.md": { + "mode": 420, + "sha256": "2b0eb8865bb07a2dd8fd038bc19e38a34fbf19b9d3f6fabae085c16a74fbcc6f" + }, + "verify/results/compare/recap-golden-trace.json": { + "mode": 420, + "sha256": "50bb7e34ab2359adc83cc0647fc995d207173fcf6134e413565af450958f652f" + }, + "verify/results/compare/recap-golden-trace.md": { + "mode": 420, + "sha256": "586fc86fe78659902a5d0859c0bce44623bfcda0f375bb57b293796862c48e17" + }, + "verify/results/compare/recap-misc-compare.json": { + "mode": 420, + "sha256": "c73f3f3593a0d715a675b29c7b4f49c02a97578ee9d867ce15d217c43da2e466" + }, + "verify/results/compare/recap-misc-compare.md": { + "mode": 420, + "sha256": "b435c92441742b2b1b0236bfacff10c17757696baf446c544c4759b7e31237ed" + }, + "verify/results/compare/unlock-b3-t1-5.json": { + "mode": 420, + "sha256": "a4dbfc89f6f3d154edbbc62842a4e8d8a3c69b9589eafc1bb496b26a3ecf6e3d" + }, + "verify/results/compare/unlock-b3-t1-5.md": { + "mode": 420, + "sha256": "832626087ddc2da9064a192a1acfb3869d4a52c6398a070cbd66eaa1bdbe2e2e" + }, + "verify/results/compare/unlock-b3-t1.json": { + "mode": 420, + "sha256": "6d8938b8eaeb2da1c7fdccb1fb68f8e3a2b5b7f492cc096326cf3aadb2ab8d55" + }, + "verify/results/compare/unlock-b3-t1.md": { + "mode": 420, + "sha256": "8911e671a143c25765cd7c0b67f1b9cb23f4040fe26aad40ce59b1db858afdcd" + }, + "verify/results/compare/unlock-b3-zuul.json": { + "mode": 420, + "sha256": "3099d248d58c4395e92d65ad18c28227695a7c7935193be6c2bcf752fa0e0f04" + }, + "verify/results/compare/unlock-b3-zuul.md": { + "mode": 420, + "sha256": "f53b165c8502ba9b2416935179fdea68153fb6ebd2458b4ec9b4ecf6c741c91f" + }, + "verify/results/data-catalogs/crosslink.json": { + "mode": 420, + "sha256": "2966ba9780910b596e350c4f81eef5d74c4d235dc3a8d5cf6ad5fd53a407254a" + }, + "verify/results/data-catalogs/schema_stats.json": { + "mode": 420, + "sha256": "6e3f669ae77cdfa2c5cd6bbd29f5cecccd452d9a7b2397c2c23db6c33fda0a2a" + }, + "verify/results/data-catalogs/shipsections.json": { + "mode": 420, + "sha256": "2e7057c608d0cea755bf9dbfa291864d33e3f09ad5deff7bb3a8045bde7a4ab5" + }, + "verify/results/data-catalogs/strings.json": { + "mode": 420, + "sha256": "c36c1b2b9a2eace438f93698df6388fa94aec30d372bcd0bee7e09bb33c54d7c" + }, + "verify/results/data-catalogs/tech_tree.dot": { + "mode": 420, + "sha256": "96ce0492a1284167d82af2c07a8f8a0b3bb9864bc137195560d909df6a913055" + }, + "verify/results/data-catalogs/tech_tree.json": { + "mode": 420, + "sha256": "18df799410c5f650e15808c1ef247b4768a3dfff93795a5ec7f56cd6c4afc597" + }, + "verify/results/data-catalogs/weapons.json": { + "mode": 420, + "sha256": "a446b445c21519fc7992c84155c9652239567030843c405b4219d1f65022db01" + }, + "verify/results/fpu-cw/README.md": { + "mode": 420, + "sha256": "3928fd0f6a03a8ff0b170a7ed23a059120b5014b13bf6870d4f187ff299d5975" + }, + "verify/results/fpu-cw/cw-census.txt": { + "mode": 420, + "sha256": "b7854dc5cd249a2490d04264d758f1894a9ddf4b95573650365d47587c7589d3" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f-rep/shim.log": { + "mode": 420, + "sha256": "73b5b86da743a1cb37d4c0d97b29978923b55a7a47f80c7fa20ca47d424f6c02" + }, + "verify/results/fpu-cw/run-007f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-007f/(Autosave).sav": { + "mode": 420, + "sha256": "ba2435beb17265af3abddb58cd26e926d42b39b358ef6d0c76f9897386174918" + }, + "verify/results/fpu-cw/run-007f/shim.cfg": { + "mode": 420, + "sha256": "998decddb80cf23d63c42d2d6c1d1aa85072258ca0870168ee772708ebfb6363" + }, + "verify/results/fpu-cw/run-007f/shim.log": { + "mode": 420, + "sha256": "5721f47d7fd862156ce2cd1832cd1739636b5aee53c82323ef233ff6401775bb" + }, + "verify/results/fpu-cw/run-007f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "149c4fcf750fcf9e81dc86d8696271d9a14ca788891ac95cf96995e3737c68e4" + }, + "verify/results/fpu-cw/run-027f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-027f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-027f/shim.cfg": { + "mode": 420, + "sha256": "f4f9585a8f6317807bcab498ebed5de5d42400124a82ea958558f1455176cebd" + }, + "verify/results/fpu-cw/run-027f/shim.log": { + "mode": 420, + "sha256": "4bd3f88bd27eb2e3ae1f42f4dc2ccf1cc5df1a2c1171d2eff8be86e7be684187" + }, + "verify/results/fpu-cw/run-027f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b5d2611d0c08946c1e1eaa244a7e44782eac2592c392efb3d7147fbbd86816e7" + }, + "verify/results/fpu-cw/run-127f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-127f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-127f/shim.cfg": { + "mode": 420, + "sha256": "1f50a475f0d347b5b5a7c2341eac4ea22092818e18bc7ea049154d309949e271" + }, + "verify/results/fpu-cw/run-127f/shim.log": { + "mode": 420, + "sha256": "03f1999dc8964912697782e856f89f190b6680d5732f2cd00b1569bff727a545" + }, + "verify/results/fpu-cw/run-127f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "fb1b9063cc53a6b39ea0a58e0545b9334fbd15d65dd839e72f2c4febbb1dd3f0" + }, + "verify/results/fpu-cw/run-137f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-137f/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-137f/shim.cfg": { + "mode": 420, + "sha256": "8658d901e0688d87d2f2359fe725082b9956291988cdc0b82b155dde55fef5e9" + }, + "verify/results/fpu-cw/run-137f/shim.log": { + "mode": 420, + "sha256": "83aa72572412d5248179397895029367685fd590d795991ab91c98cf9828ae29" + }, + "verify/results/fpu-cw/run-137f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "aad1fb6abd86beafb9f44e2c6060157e22618811d105f2379252e19008839b66" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f-rep/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f-rep/shim.log": { + "mode": 420, + "sha256": "38f2824fbe91bf2fa1ef55473a7468707248420805b6f6dc85245fd34fa94200" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-1a7f/(Autosave).sav": { + "mode": 420, + "sha256": "e48e25fa8425a8a1d174efe3e8a553153447f11f8f91c5fda25bd7db3a26cca7" + }, + "verify/results/fpu-cw/run-1a7f/shim.cfg": { + "mode": 420, + "sha256": "59ff1f48a10c378d0ea92d8a156b135a106017a5b6c47b65de304fde3187c588" + }, + "verify/results/fpu-cw/run-1a7f/shim.log": { + "mode": 420, + "sha256": "a1bb0bd06dae6955ec09e7d0c6cd1e68e19aa2a114256cdeae1275def0a63091" + }, + "verify/results/fpu-cw/run-1a7f/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "b9a7affb8235626fcfdd5afe143e4ec03be869b6b386bd9ac78389097df88cef" + }, + "verify/results/fpu-cw/run-off/(Autosave EndTurn).sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/fpu-cw/run-off/(Autosave).sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/fpu-cw/run-off/shim.cfg": { + "mode": 420, + "sha256": "6a19c362121a3dba0aac857d6e998131e8b2478f19edcdcbd58006645d096c70" + }, + "verify/results/fpu-cw/run-off/shim.log": { + "mode": 420, + "sha256": "9e3cbd005f0b68037681939b289834c55629bac0e9cd35ac55e6d8ef5333a116" + }, + "verify/results/fpu-cw/run-off/shim.trace.jsonl.gz": { + "mode": 420, + "sha256": "ec2271c0d7e09fe51ead7f8d58859c692e8b302233191841d506ea14248caa8c" + }, + "verify/results/fpu-cw/state-checksum-diffs.txt": { + "mode": 420, + "sha256": "3417dfc1b75ad896ac6a5e974d51248eecca319565e2422e146897d19e121b68" + }, + "verify/results/fpu-cw/trace-bitdiff.txt": { + "mode": 420, + "sha256": "8f86707f26f30638097c85f0db6df219adbfebac4e9ec24f1feb8bfce112d4f2" + }, + "verify/results/housekeeping/vm140-result.json": { + "mode": 420, + "sha256": "2250b02342f5c02ba5464cb4656543c6366dec098fbc948006600896ac9254c0" + }, + "verify/results/housekeeping/vm141-result.json": { + "mode": 420, + "sha256": "03d92ffd2947b2f0c058e5c613e04567cffee45be456aece6d771b789f32fb93" + }, + "verify/results/housekeeping/vm144-result.json": { + "mode": 420, + "sha256": "ace15320f7e60995a68f2c9c03a5a44159ae2d64fa273d34d38e285d313a0393" + }, + "verify/results/housekeeping/vm145-result.json": { + "mode": 420, + "sha256": "768666178bf2910a2ff026351727b5cc96e48df70e1ba012031d34eafc95ad7a" + }, + "verify/results/housekeeping/vm146-result.json": { + "mode": 420, + "sha256": "eebb306a3ec8533abae6dfd59f127c48effe9f21107e0c5c09c751108e77bb97" + }, + "verify/results/multiplayer/l2-combat-hud-client.png": { + "mode": 420, + "sha256": "02c86592531ab2889a0eae04e44a644d33c754096fe60aca6640068a7a3f421f" + }, + "verify/results/multiplayer/l2-combat-hud-host.png": { + "mode": 420, + "sha256": "a56daf36fcc88627b29116ad9874c95a3c46960074ff9b823aa15c4ea2660dd7" + }, + "verify/results/multiplayer/l2-combat-loading.png": { + "mode": 420, + "sha256": "f94a718cee08e1b7d346490058f13a107d23aaa7c269fdd53b159a75d62fa558" + }, + "verify/results/multiplayer/l2-combat-round-draw.png": { + "mode": 420, + "sha256": "c1b8424540b702915302f9ff38eaf765e8e95fddc3c5c4d894438dcfcf8b6256" + }, + "verify/results/multiplayer/l2-combat.pcap": { + "mode": 420, + "sha256": "0f112ef96da6c465dbda51baf99eedd66967eed61c097f643bf6c66fc26af31b" + }, + "verify/results/multiplayer/l2-encounter-query-client.png": { + "mode": 420, + "sha256": "4c41b268ad256b0109483a2d9b5ba35de7b9cadb4eb32ef4a68f7867e6e747fd" + }, + "verify/results/multiplayer/l2-encounter-query-host.png": { + "mode": 420, + "sha256": "8c7b0c6d65ddde45eb3447f044589ffc36500b40c4d676af8321f800162f38a0" + }, + "verify/results/multiplayer/l2-fleet-built.png": { + "mode": 420, + "sha256": "6ac91fcf9b42caef50134de01804046d8e60d0fd3966592e9738ceff511949c2" + }, + "verify/results/multiplayer/l2-lobby-client-joined.png": { + "mode": 420, + "sha256": "4a8e698c9ea935449ff0421cd59acd517ebffa388a7572279b28be0369141ff6" + }, + "verify/results/multiplayer/l2-lobby-host-created.png": { + "mode": 420, + "sha256": "e6a7377cabafa973396cedafa5ad5b4863a42f9866709db88faf9572e0ed3c98" + }, + "verify/results/multiplayer/l2-move-warning-dialog.png": { + "mode": 420, + "sha256": "43c6219d74bc0cb28495f13784cdbd3a90c89746b108824c3a2138dbdadcb53e" + }, + "verify/results/multiplayer/l2-socks.log": { + "mode": 420, + "sha256": "109b630d6548d07404f9f905e6c527f10e25221698f1b66226f67f94c5f294b5" + }, + "verify/results/multiplayer/l2-turn13-client.png": { + "mode": 420, + "sha256": "d19f17c4219f21f6c9950440d528a1a91fe3907761df21fd0ba99321b8820baa" + }, + "verify/results/multiplayer/l2-turn13-host.png": { + "mode": 420, + "sha256": "811efcfb571d60435f772a3b619bb329717d1e162b88e440ec0d636b1c6042fc" + }, + "verify/results/multiplayer/w2-internet-browser-no-error.png": { + "mode": 420, + "sha256": "6409b977056c95b29928a0098f75fffd71c501128f9d9325c3000837131c8791" + }, + "verify/results/multiplayer/w2-join-manually-dialog.png": { + "mode": 420, + "sha256": "86904e94a5aec41c1e89271d2712558c3b5055bd2ae4fededfda103d1e22fb71" + }, + "verify/results/multiplayer/w2-lan-browse-listing.png": { + "mode": 420, + "sha256": "6f5d16fa719fb63dd627fba551221c7665b69002e83fe35b8d84912cd7d8ce83" + }, + "verify/results/multiplayer/w2-lobby-client.png": { + "mode": 420, + "sha256": "ede652b21e2a4ea07c8132e4080ba903d1052ebca336bb007e1e8efa62787f10" + }, + "verify/results/multiplayer/w2-mp-turn1.png": { + "mode": 420, + "sha256": "59f9a1f5d8c0fff45d3ae3406dfd9878a5915f18e999d909a5238a90a3b86ed6" + }, + "verify/results/multiplayer/w2-mp-turn2-client.png": { + "mode": 420, + "sha256": "d9da4c151cd8290f80b31eb5ed8a74a0a30a87d1f7a80a179fa082a9439e08e5" + }, + "verify/results/multiplayer/w2-mp-turn2-host.png": { + "mode": 420, + "sha256": "910efd36b4a7c1a85d8ad487660f856339af037b9b00fef0cafd5e77ebdc36e5" + }, + "verify/results/multiplayer/w2-tier0-filtered.pcap": { + "mode": 420, + "sha256": "e108778fd1afb7718c53a4164310b8523415ef073706d310583dab424e5921cc" + }, + "verify/results/saves/ac-turn20-raider.sav": { + "mode": 420, + "sha256": "ee787db8f63d8f564c597bd5a82709790a0fdf47827912037f96b736f2cbed34" + }, + "verify/results/saves/ac-turn22-raider.sav": { + "mode": 420, + "sha256": "0faeaa601e6a867876819e5646b85f8787851093b8e6bd6e3946eb867f2dcc74" + }, + "verify/results/saves/ad-oracle-A-post.sav": { + "mode": 420, + "sha256": "a634510e7208cceb10d8ce016ceb0153601f11d7291f08122bcdb6418e313331" + }, + "verify/results/saves/ad-oracle-B-post.sav": { + "mode": 420, + "sha256": "676b1778880b5d4784ba7f6ef48b1a8e56745adab70a815943b7744876686260" + }, + "verify/results/saves/ad-turn27-two-raiders.sav": { + "mode": 420, + "sha256": "1c8baa27680809d585ab1728391e82729642d32aaedffd5bf95b616f0a11a436" + }, + "verify/results/saves/ap-deploy-turn15.sav": { + "mode": 420, + "sha256": "844f2b746060dc2c4e2099cdc6ceffd5f55ef858c9e347df28c8aca3041f7165" + }, + "verify/results/saves/ap-oa-turn16.sav": { + "mode": 420, + "sha256": "e296394f578b3a5668e5934b9eec8d6c4638ca7411200078f97de1abd346f4c5" + }, + "verify/results/saves/ap-ob-turn16.sav": { + "mode": 420, + "sha256": "262f8bda97c9511d8d2b41e6a8a0582d6f5364c2b01b1caf99e639d0e4f53ebe" + }, + "verify/results/saves/ap-turn22-spydetected.sav": { + "mode": 420, + "sha256": "91381bd7e722ac3847795a402d78ebb31d74dbb5d2909f33d243aec3ef8abaf8" + }, + "verify/results/saves/ap-turn25-spydestroyed.sav": { + "mode": 420, + "sha256": "46380fcf4498d67507e4471eb9ee3762647c53ee5473be142fe5c34e37344bc3" + }, + "verify/results/saves/ar-oracle-A-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-oracle-A-pre.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/ar-oracle-B-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-r1-turn43-post.sav": { + "mode": 420, + "sha256": "37f4a54fd32303fdcc86522b07104fbf2fcb124eec9b1f7005b3446fefcc429f" + }, + "verify/results/saves/ar-r2-probes8-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/ar-turn37-816raiders.sav": { + "mode": 420, + "sha256": "b6f4e05ff226eabd1695003b36293553642553cea96ef417364393e2332a7094" + }, + "verify/results/saves/as-turn14-predeploy.sav": { + "mode": 420, + "sha256": "53986f8511cbf9920f32e2ea406ccf531dd08903fa5d06024fcf03ea7627221d" + }, + "verify/results/saves/as-turn15-spydeployed.sav": { + "mode": 420, + "sha256": "854a10fa1ea602f0f7909f9bf9154942e56ea5fa1db4cce47d6d32bf53952e08" + }, + "verify/results/saves/az-turn11-16destroyers.sav": { + "mode": 420, + "sha256": "501583c7cf2ac81c9db3191203cd3dc5ba5b9e228b9b9ce3dbdcc3650d0070a9" + }, + "verify/results/saves/az-turn23-tarka-comraid.sav": { + "mode": 420, + "sha256": "3d5eb826c149d1fd0278c746f32e6148ca9883a1bc5b522c0d5e6e13fac9788a" + }, + "verify/results/saves/bp-pinA-turn28.sav": { + "mode": 420, + "sha256": "e913ff41188211c02d536da616337544e64133996cd7cc7a6521a8df1960226f" + }, + "verify/results/saves/bp-pinB-turn28.sav": { + "mode": 420, + "sha256": "724528ffde9a7514b69ab9e82ed3b8c8ade63d622c0720de30503a73a92df11e" + }, + "verify/results/saves/bp-turn28-pre.sav": { + "mode": 420, + "sha256": "16f63adbf383946db17c381998957172bca803406b7df78f3b03805fef0bbcb8" + }, + "verify/results/saves/bq/bq-1A-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1A-post.sav": { + "mode": 420, + "sha256": "56980aa086e1a145b00f781b9d9cf618b152986f1c2267b9fd96cca0f1f604b9" + }, + "verify/results/saves/bq/bq-1B-endturn.sav": { + "mode": 420, + "sha256": "1a9d937b8bd9c4bb33dd235d4d6ad6e3b38d9f842fc740839e42e06f52356d39" + }, + "verify/results/saves/bq/bq-1B-post.sav": { + "mode": 420, + "sha256": "b36ac0ec2986f3a814dd22ca312c895ba6ec8a0e55fca54d8a7fd08a2f96a2c4" + }, + "verify/results/saves/bq/bq-1bA-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bA-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-1bB-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bq/bq-1bB-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/bq/bq-res-post.sav": { + "mode": 420, + "sha256": "28bbd9b5c377afcd8f075b535eb1036ee46acf71ab614e7091ccdbdfb3703db2" + }, + "verify/results/saves/bs/bs-C-endturn.sav": { + "mode": 420, + "sha256": "15b99255e1f03dab3e35ab8c1ac64f221cb5aa9321f113c7a6e3d1263c3f34ca" + }, + "verify/results/saves/bs/bs-C-f38-autosave.sav": { + "mode": 420, + "sha256": "0fe8f37479a702d2e4e7752e6cb160dc242f00a082dc4115b7d10c77b24989f0" + }, + "verify/results/saves/bs/bs-C-post.sav": { + "mode": 420, + "sha256": "7a8b3d5eb3a60ebac9f40646d3e4b15768a24a0af047a439ce090c7cf38e8b38" + }, + "verify/results/saves/bs/bs-L-endturn.sav": { + "mode": 420, + "sha256": "33e3009254f5acd17417053d88372f3d6851e0206932db0f9201cbce6c0f5b21" + }, + "verify/results/saves/bs/bs-L-post.sav": { + "mode": 420, + "sha256": "4c356f5916f0e6e4b0ba5f147e31177ae946abd6be2d124559e44c8a13b8ed10" + }, + "verify/results/saves/cb-c3-turn1to2-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5a-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-c5b-turn1to2-pinned-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/saves/cb-turn2to3-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/cb-turn2to3-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/saves/certified-pairs.md": { + "mode": 420, + "sha256": "4e1cfb79cf5a51446b2eae21f91b565348ffa95a9ebac8f95e23019012aefb57" + }, + "verify/results/saves/cr/cr-oracle-autosave.sav": { + "mode": 420, + "sha256": "79df50475a7b83afa927d992b9f030dcf45710f4bda0133b8b1fa4800a72e420" + }, + "verify/results/saves/cr/cr-oracle-endturn.sav": { + "mode": 420, + "sha256": "e00eed0c03a31d27a81b7470a9dcc9ba08a2ac48c20baeee4f34749164743e3f" + }, + "verify/results/saves/cr/cr-replace0-autosave.sav": { + "mode": 420, + "sha256": "6b51db992b158caa5424d71b2dccf72924af7198b4165bfcfc870e0d438fb6d5" + }, + "verify/results/saves/cr/cr-replace1-autosave.sav": { + "mode": 420, + "sha256": "8a4309ee4fe0b3177a2820600b5016c7c256d0f51b065df469ecd0b4f2342235" + }, + "verify/results/saves/determinism-hashes.txt": { + "mode": 420, + "sha256": "bfa0615c4b310ae21c09a7d373d5a9d8799f36a0460089e5950fa0edf9d614d2" + }, + "verify/results/saves/human-turn11-spytechs.sav": { + "mode": 420, + "sha256": "aa63dd3d5489884f70d9c35acfb06c23c84531f403798842e7b0cf8cde94d1d4" + }, + "verify/results/saves/human-turn15-spyprogram.sav": { + "mode": 420, + "sha256": "22306d26f8831b90a62c00a2ebad5a97e77017b62ee96a7439d4c2c76c455cca" + }, + "verify/results/saves/human-turn2-orders.sav": { + "mode": 420, + "sha256": "9a94dec562622310893d6f522a0fae06f1033470f4182098e808b175e7df7c8d" + }, + "verify/results/saves/human-turn3-noderoute.sav": { + "mode": 420, + "sha256": "6db0912a050a846c8f3a184811644c76df3fdb65e83dffbf70289e21cc098a90" + }, + "verify/results/saves/human-turn5-traderoutes.sav": { + "mode": 420, + "sha256": "3829e6c6d8f26cd1183a972bd66edadbd71364c11a224b0a6e40461011bcab29" + }, + "verify/results/saves/human-turn8-traderoutes.sav": { + "mode": 420, + "sha256": "afeb3b2d724e07cf59f15eb1bdb9fcf853391fc06fe21beb20c069ff75b2f836" + }, + "verify/results/saves/turn1-state.sav": { + "mode": 420, + "sha256": "a3f9dc4b49fc669c814b09b87a9c6795de21bac80a1c7bfe3901b8e239fa36cc" + }, + "verify/results/saves/turn2-state.sav": { + "mode": 420, + "sha256": "ab4ac2d7e2977260a4de916f65c7ecc6dd5b0094dac4bb51241317232ea17ab4" + }, + "verify/results/saves/turn2-strict-issues.txt": { + "mode": 420, + "sha256": "33a169a2de29ad502e9b7c0159cd543e0b4d71f2d9b3903f5be58c7846db2429" + }, + "verify/results/saves/turn3-state.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/saves/zuul-turn15-orders.sav": { + "mode": 420, + "sha256": "ef86a0d61de3533f023af5dc2b9a5720e4e0c5c97d900d88181603a13db7d045" + }, + "verify/results/saves/zuul-turn16-noderoute.sav": { + "mode": 420, + "sha256": "b6b5d283b62cc46bca914e86c34cf45e8960a653e818e59664087429bbb30103" + }, + "verify/results/saves/zuul-turn17-orders2.sav": { + "mode": 420, + "sha256": "1b863e684edecb4afe738ba30c8132065ebcf2d9977409325e714fe0173056e8" + }, + "verify/results/saves/zuul-turn17-rollpending.sav": { + "mode": 420, + "sha256": "aac5ba5b10ff1af6b0e38c565b2f0a60c16858ee4e89dd2a2f5b037eae95ee7d" + }, + "verify/results/saves/zuul-turn23-fleet23.sav": { + "mode": 420, + "sha256": "fd3748327d87b8c478f50fcd09d097eacff21e57d946ecb43b8119b4d0d78b1b" + }, + "verify/results/saves/zuul-turn5-species5.sav": { + "mode": 420, + "sha256": "48559ab5b719b332e47b4bf43af85a616bff1508125d62edb211b80637234af6" + }, + "verify/results/shim/ac/ac-probe-run-shim.log": { + "mode": 420, + "sha256": "b9b4a5f0e399e16b477cde0bd7e2c4ce378549eb5a467f7b8ae5eb64d75cb106" + }, + "verify/results/shim/ac/ac-probe-run-watch.txt": { + "mode": 420, + "sha256": "543d76d150aeb9318b9ae27acf638b8935eea30b1a2d47fb15354b584a458163" + }, + "verify/results/shim/ad/ad-r1-shim.log": { + "mode": 420, + "sha256": "fec98888b030ed42b84551aac1286c0baeaf15b8a545af068dc6605615e96df0" + }, + "verify/results/shim/aidesign/parse_aidesign.py": { + "mode": 420, + "sha256": "fbd4aeb71db548759bdb1ff65a5fdd0af6c192927e6ebe4b510f1083c3bdba13" + }, + "verify/results/shim/aidesign/sd-br-p1-hashes.txt": { + "mode": 420, + "sha256": "cd276116a51df01129f0e840d4c04f7964be34f75e51c384cd8df65969f458e6" + }, + "verify/results/shim/aidesign/sd-br-p1.txt": { + "mode": 420, + "sha256": "325cb9fcfa505ab2a93bbd00d60a7a4644b6b5970cb16a288cc7a43f2e825dd3" + }, + "verify/results/shim/aidesign/sd-pin-p1-hashes.txt": { + "mode": 420, + "sha256": "f0371c0a439d736ae7e67e71bd87d693481100d08243d16a1ac1f2ad0ab8bdce" + }, + "verify/results/shim/aidesign/sd-pin-p1.txt": { + "mode": 420, + "sha256": "45e693d279899e7a04cf59bda67190058896b56f3b0607d5aee21abb12f03071" + }, + "verify/results/shim/aidesign/sd-pin-p2-hashes.txt": { + "mode": 420, + "sha256": "e7d6dc12a940305087ee03dc7f8826f3c6343d24d8fea0f2aa78665d887138c9" + }, + "verify/results/shim/aidesign/sd-pin-p2.txt": { + "mode": 420, + "sha256": "b0206869206bc3a41bebb5175e31179f1a5d125a44b5ddfc10c67c4a0d13c22c" + }, + "verify/results/shim/aidesign/sd-t15-p1-hashes.txt": { + "mode": 420, + "sha256": "1ee71a623eb17e08c623ec8de3775218dc3a7c2de50d36a25dd2395382195962" + }, + "verify/results/shim/aidesign/sd-t15-p1.txt": { + "mode": 420, + "sha256": "df9f4906ee8bbb2efc9ba9a38c41607b89711d0bc9f705473d8448e9715d9280" + }, + "verify/results/shim/aiorders/cb-c1-turn2to3.txt": { + "mode": 420, + "sha256": "9d5014b346cb0fa9e2172f45db77c4437a03b069930eaaa80ea94e742891eb8f" + }, + "verify/results/shim/aiorders/cb-c3-turn1to2-run1.txt": { + "mode": 420, + "sha256": "fdaf27a32b93fdb3024f7a45f0d90b2cf833d3f592960027c3a6cf4ecbb8c616" + }, + "verify/results/shim/aiorders/cb-c5a-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "d4daa0c2599c1b573ed59617243a392861dbc4e1fbeb707c7248708c015d998f" + }, + "verify/results/shim/aiorders/cb-c5b-turn1to2-pinned.txt": { + "mode": 420, + "sha256": "9682186176024242fddb901b10d9a5ad6beba91bd895c2001ca954fc293eab73" + }, + "verify/results/shim/aiorders/l4-research-run1.txt": { + "mode": 420, + "sha256": "5caf1fa25b7b8c2d6af213e59c6ec821be3c46cdd92a1024a6faf5d0a3b1d71c" + }, + "verify/results/shim/aiorders/l4-research-run2.txt": { + "mode": 420, + "sha256": "846ef2cfbc365e7ee2f481048978baf820d57026737261bfba3a328d59cdaad8" + }, + "verify/results/shim/aiorders/l4-turn1to2-aiorders.txt": { + "mode": 420, + "sha256": "c55d9b3c48cb552c02731003c26bb6dfcb8afb611c2a188d21fd4a39f550d269" + }, + "verify/results/shim/aiorders/l4-turn1to2-hooksoff-autosave.sav": { + "mode": 420, + "sha256": "d59bb9f2fd0eb5358c35954fbf2fcb70d06bafbba2560e0fa5d3f906bfb159d8" + }, + "verify/results/shim/aiorders/l4-turn1to2-instrumented-autosave.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/aiorders/l4-turn2to3-aiorders.txt": { + "mode": 420, + "sha256": "696c34996e4b5be0383794fae7ea114779f7fdd0a8cdceff5a00aeb07392933a" + }, + "verify/results/shim/airng/par-br-p1-hashes.txt": { + "mode": 420, + "sha256": "656b1d0c073d9988287e5b76543e42eb1c050d9ebc9872e2b7ec5208b7534b42" + }, + "verify/results/shim/airng/par-br-p1.txt": { + "mode": 420, + "sha256": "eadf1cfb7efd7b374472867ddf1cea5f60e30096090c950049f0c264b0299398" + }, + "verify/results/shim/airng/par-br-p2-hashes.txt": { + "mode": 420, + "sha256": "d97916075c7b4c10464962e9e38aed69288a4d68a16a369c1133df16fa134146" + }, + "verify/results/shim/airng/par-br-p2.txt": { + "mode": 420, + "sha256": "bda355cbbf07301cd6d3716eba32312261c402848c91780a97a6d5cce14c3d92" + }, + "verify/results/shim/airng/par-pin-a1-hashes.txt": { + "mode": 420, + "sha256": "5eb1b557826d45fe9d843b37a92aaef54cd1b8a60900f9c34b4fe25e4bd46a24" + }, + "verify/results/shim/airng/par-pin-a1.txt": { + "mode": 420, + "sha256": "17750bab77512434dcc9e66fc86cbfc34df497cadab5b732cf3b0ef3958e09a4" + }, + "verify/results/shim/airng/par-t1-br-p1-hashes.txt": { + "mode": 420, + "sha256": "7577c33ec33d9e94fb77225929c1f34a3dd94c18fe72a394017811b3b5d53467" + }, + "verify/results/shim/airng/par-t1-br-p1.txt": { + "mode": 420, + "sha256": "8bc9969e2da730d26cc5538b758858a00a4ba6ab2d398458ff4dece1edf8bf92" + }, + "verify/results/shim/airng/par-t1-br-p2-hashes.txt": { + "mode": 420, + "sha256": "7e60fc8615163e8ebccf22fc8910f2e7c4f72a9be7a74bc832bc2a0f64ade0da" + }, + "verify/results/shim/airng/par-t1-br-p2.txt": { + "mode": 420, + "sha256": "7e50a728eb5909bd602a9e6996b908b1b2665c8c983cc0258dad000c8bff8e35" + }, + "verify/results/shim/airng/par-t1-br-p3-hashes.txt": { + "mode": 420, + "sha256": "00ce6b3b4c9dbfd192d09b3b06d91b95576cee8a5a85fccdc36a85547fbdcbc4" + }, + "verify/results/shim/airng/par-t1-br-p3.txt": { + "mode": 420, + "sha256": "28cdf1f6b83c1764f1d1e51a67e3f873566b8503f8504ef52f5b5af24b21c0cb" + }, + "verify/results/shim/airng/parse_airng.py": { + "mode": 493, + "sha256": "3fafa7cf2363620d6a25248d085fbc4e3bd1fdbb9388a6795244834a9a2a2ed0" + }, + "verify/results/shim/ap/ap-probes8-d.shim.log": { + "mode": 420, + "sha256": "115545172568edc6a1d5bb3b559f968aa8a7aaa1f6aeba970daebce98fe56a0c" + }, + "verify/results/shim/ap/ap-probes8-w.shim.log": { + "mode": 420, + "sha256": "8af0897a884bb314958c5e6f2fccd88ff8b1890322dafd3bc904b3f983838620" + }, + "verify/results/shim/ar/ar-r1-ledger.txt": { + "mode": 420, + "sha256": "44bddfc0b9e94812a3a1cfd681a1350caedf2ed8e1174900c2f81c90dc95187e" + }, + "verify/results/shim/ar/ar-r1-probes.txt": { + "mode": 420, + "sha256": "c10251c9bcca5436dc42b2c0bd37b66c144aec4036f2069c2df9340fd764992c" + }, + "verify/results/shim/ar/ar-r1-shim.log": { + "mode": 420, + "sha256": "07003ee203d60a638cc8a1cb0a0f6b8042ba227705b4355f1254312c6dd54e28" + }, + "verify/results/shim/ar/ar-r1-sites.txt": { + "mode": 420, + "sha256": "d1923d549ef3567488d0382ae0ef75fa25c5b1b5812ee5349c5c47aea7a30514" + }, + "verify/results/shim/ar/ar-r2-shim.log": { + "mode": 420, + "sha256": "06dbf04cff5a56b0e55d8e73e5b1e3e9d9235f4afafc8139517b68d676781909" + }, + "verify/results/shim/as/as-probes8-run.shim.log": { + "mode": 420, + "sha256": "cd25c93d8b79e0f0df594fe681917fe880741a54a4188d4d72d2fbc6c42ba8d9" + }, + "verify/results/shim/bp/A-aiorders.txt": { + "mode": 420, + "sha256": "ee9f8bb1073e3bf02e115fdee014f79b11100a0e1e35e308c2bcd4b798302c34" + }, + "verify/results/shim/bp/A-shim.log": { + "mode": 420, + "sha256": "853eab98d09ff1e7a8e7da375a678561b02d6236adec627202ff3bb34d90e797" + }, + "verify/results/shim/bp/B-aiorders.txt": { + "mode": 420, + "sha256": "07daeacf33a16afbed64a8a01ffd26fa73c6d2acd0e6993dd9deb06a7fd93fc3" + }, + "verify/results/shim/bp/B-shim.log": { + "mode": 420, + "sha256": "cde2202333e81cc4eec2c47915181229a68a5fa99879968905a2809c4fe0a79a" + }, + "verify/results/shim/bp/L-aiorders.txt": { + "mode": 420, + "sha256": "28492b0f9be74f61db45eae49b44b41efbc1a3bf6f6d2c888e5cc40bfb7753bd" + }, + "verify/results/shim/bp/L-shim.log": { + "mode": 420, + "sha256": "550d8986a35b3f4742e7522df11bfbf2e832e417ad42cc1bff1a39dd4ee510fd" + }, + "verify/results/shim/bp/statecheck-AB.txt": { + "mode": 420, + "sha256": "dacb5cfa5541934f37b2b1c02b87e809c3f65ba8488aa88d925b295fade0083d" + }, + "verify/results/shim/bq/bq-res-aiorders.txt": { + "mode": 420, + "sha256": "991543eb53fbf1353fe99ed96d4ca358e05f6bac32f00bd1f6dc60fcc002c8b4" + }, + "verify/results/shim/bq/bq-res-shim.log": { + "mode": 420, + "sha256": "7855bd268f69443e7ddfda71873458144728630264703482901bf6d8ffbccd3a" + }, + "verify/results/shim/br/BR-aiorders.txt": { + "mode": 420, + "sha256": "d71e11e7c40aaa740adc55651af556afb9e92768336bc11747ad67151f33f4d1" + }, + "verify/results/shim/br/BR-airng.txt": { + "mode": 420, + "sha256": "04eaeaa688a448f64df00dedfd692b78bca0e3e1207a8292c2fafad507f919ea" + }, + "verify/results/shim/br/BR-shim.log": { + "mode": 420, + "sha256": "bc6ef7aa465c2b1a81d08555174e15fb1a97a207da9eefaa8a6155440869a13e" + }, + "verify/results/shim/br/BR2-deep-aiorders.txt": { + "mode": 420, + "sha256": "b9edb53f7d56c1bb26d3bb77349543dce9564930484bc832475a3a04e5f2ad15" + }, + "verify/results/shim/br/BR2-shim.log": { + "mode": 420, + "sha256": "0de7609693747fdf0abaebd60598af127c918f32561c993715aead91cd24b334" + }, + "verify/results/shim/br/aiorders-diff.txt": { + "mode": 420, + "sha256": "411ceb2bacd62185d25a3c58f199c0bdfcd2759705bef2b36536da3870f73a67" + }, + "verify/results/shim/br/cmp_aiorders.py": { + "mode": 420, + "sha256": "b6c192efb40866aa56f29d9ba2b89e17f18ae0579645db8f34a01010db09cc28" + }, + "verify/results/shim/br/shim.cfg.brdeep": { + "mode": 420, + "sha256": "b8017e344666df816f1191906cf8f54504d631bb7ce9d2f51f6f959e4934ff04" + }, + "verify/results/shim/br/shim.cfg.brprobe": { + "mode": 420, + "sha256": "4f090999dba63ef22ab4993bd6af557e9500819c84f27decc126771f48f98efb" + }, + "verify/results/shim/bs/C-aiorders.txt": { + "mode": 420, + "sha256": "5abc20b68edf6ff52301c01825040e1d6b41b582ba40403ed6c4edc42dcbe4e2" + }, + "verify/results/shim/bs/C-airng.txt": { + "mode": 420, + "sha256": "5a4a56506d1eeb82d3bf0fbba95842566911178a82f0aad9d700a9fe00f1b300" + }, + "verify/results/shim/bs/C-shim.log": { + "mode": 420, + "sha256": "8b8dad987589fd159e789806e89dbcf7a7b40b86446d55e1d0bf10ff25cb8f6f" + }, + "verify/results/shim/bs/L-aiorders.txt": { + "mode": 420, + "sha256": "a03e8c1587633ecbb683c376f30e35e126e98ff0e8204c4ee6b5e2b4fc254104" + }, + "verify/results/shim/bs/L-airng.txt": { + "mode": 420, + "sha256": "8d21083857facd3728446af612b3a97b47e5287a5fe0bdf01423812f8445dacd" + }, + "verify/results/shim/bs/L-shim.log": { + "mode": 420, + "sha256": "246af272e464c715c7abb00471b4ddc404b81143f4065006aa4daec4d82cadb9" + }, + "verify/results/shim/bs/shim.cfg.bsrun": { + "mode": 420, + "sha256": "570b15c208d31a367ec6c6886019693cb17b98d254cebead11ec6746ae5af256" + }, + "verify/results/shim/bu/BU1-aiorders.txt": { + "mode": 420, + "sha256": "944eeb701fcd22480513c34d93f8310541977e89a24ae237bd947aed44092529" + }, + "verify/results/shim/bu/BU1-aivisit.txt": { + "mode": 420, + "sha256": "721f038ef80be92325728fc30f095846b54ff1ac67a41537d4a4d1b97d5e9758" + }, + "verify/results/shim/bu/BU1-shim.log": { + "mode": 420, + "sha256": "28ca02f56823e577662744108965bc3ab1d7241143704ac8ceaacf2e9cd077f3" + }, + "verify/results/shim/bu/BU2-aiorders.txt": { + "mode": 420, + "sha256": "5c388039a3e832465f67b4ca88f3f67550d5189a3a68f33c508c4a467733c9ac" + }, + "verify/results/shim/bu/BU2-aivisit.txt": { + "mode": 420, + "sha256": "19963ed364f47fd965508d96fbf9d1f424938f711f2b1cdc83697f789189271a" + }, + "verify/results/shim/bu/BU2-shim.log": { + "mode": 420, + "sha256": "c0a8c467bc4b4134dc83ca5dedbbfed8dac887b432a56cd12f6e211c8d58daca" + }, + "verify/results/shim/bu/BU3-aiorders.txt": { + "mode": 420, + "sha256": "b6443b3f7db541149f54435f14ba830f54d2f950420f3f0694ff12a8b1eec143" + }, + "verify/results/shim/bu/BU3-aivisit.txt": { + "mode": 420, + "sha256": "fe67a4a1cc6a67e06b2eb5675b4b8543ab9f25ea39a18d7f4c83bce74482e0cc" + }, + "verify/results/shim/bu/BU3-shim.log": { + "mode": 420, + "sha256": "0a802ec556c87f44efaa06f211e75d9b89a66ac6db5a08e34d2a7eae992121ed" + }, + "verify/results/shim/bu/claim-order.txt": { + "mode": 420, + "sha256": "7135e3ed0204a4615e546bc882992073d4b48ee42ea341186c32b6b3dd3dfc47" + }, + "verify/results/shim/bu/claimcheck.py": { + "mode": 420, + "sha256": "85c5ec747f12cf37ec2dbc4021447909eeded68ecd1abb697a6fb60005a54aff" + }, + "verify/results/shim/bu/shim.cfg.bupin": { + "mode": 420, + "sha256": "6b37b047adc95f7c08b6767cdec5bd715a8851f14bff7f187772835d1cc032a7" + }, + "verify/results/shim/cr/cr-N.log": { + "mode": 420, + "sha256": "d5459e6dcf44fbe55d0f60f1ac40d68bed96319bb55986cc24a1b9ca0d8103e0" + }, + "verify/results/shim/cr/cr-R0.log": { + "mode": 420, + "sha256": "3b703881aa2b9a1c111201ff9543f2dcae0f948567ee877df275a1093bb567f7" + }, + "verify/results/shim/cr/cr-R1.log": { + "mode": 420, + "sha256": "8df6af84f74891ff9b0b02fa150641f5fadcd0419bc53c41cbe80bf14ec9c712" + }, + "verify/results/shim/eventlive/c6b-loaded.png": { + "mode": 420, + "sha256": "f442d4b211a47b331cef9a255e83732b80a1ede70ac200596c796ac0aa320017" + }, + "verify/results/shim/eventlive/c7b-turn3.png": { + "mode": 420, + "sha256": "3e070abfbdf4efd2662951049f8545f328aa172d64d00b9c5a1f4243426e803a" + }, + "verify/results/shim/eventlive/load-dialog-8files.png": { + "mode": 420, + "sha256": "e0fc5af16042a70b53bf7d44220db56c56a466c22c4abd641557e94b8e6c1693" + }, + "verify/results/shim/eventlive/shim-zuul.log": { + "mode": 420, + "sha256": "f9d184b33c46cab9d497f7a38056c099ce2ff9b5e8149f563a2353d91985fea1" + }, + "verify/results/shim/eventlive/shim.log": { + "mode": 420, + "sha256": "e65f2e3efa1ce8f70c483bb966448239923db2d3924c709a669bb1a890411b0c" + }, + "verify/results/shim/eventlive/t7-after.png": { + "mode": 420, + "sha256": "dc0a3e8f5a5c9032ead266d106fa69a57677711eb807d26376f29baa6ec0b934" + }, + "verify/results/shim/eventlive/zuul-turn1.png": { + "mode": 420, + "sha256": "f9af979ed08315c0a8d644af800318634b3641628f710f3f9b4d2c77d4f70fdc" + }, + "verify/results/shim/l1/README.md": { + "mode": 420, + "sha256": "f008081756d99825aa81d2802869476f8341f81aeb8c4dbbb77502cf76db5145" + }, + "verify/results/shim/l1/cdiff-frames-2-51.txt": { + "mode": 420, + "sha256": "57cb1911c5bfc7bdfacafc6bb1ad382fc05f46fb9cdcee4479d861af48e585c1" + }, + "verify/results/shim/l1/cdiff.py": { + "mode": 420, + "sha256": "2ace41ce6017cfac8758d8b9955f02de84738d90067a7dfadeb8bffffc842027" + }, + "verify/results/shim/l1/rep.py": { + "mode": 420, + "sha256": "1a7a3819da8e9aeaaf213a62b696388b0a9489924c964407536831b5f7dd9488" + }, + "verify/results/shim/l1/saves/l1-t1t2-post-hooksoff.sav": { + "mode": 420, + "sha256": "e43ec1d2b443c1017d06b21eb8c76b927613ed49aa78bca46a595a9acb368d1d" + }, + "verify/results/shim/l1/saves/l1-t1t2-post.sav": { + "mode": 420, + "sha256": "62061918176e344106e82357e58acc8adec488f6b2969831cb99a84cf25e31c5" + }, + "verify/results/shim/l1/saves/l1-t2t3-post.sav": { + "mode": 420, + "sha256": "2177c659d8dbc39cf7485abe367d42d55cc42cc9a61949d403dcbc79989ec32d" + }, + "verify/results/shim/l1/saves/l1-t2t3-pre.sav": { + "mode": 420, + "sha256": "641a33f06b2fe1c1caf0c4994442bf13a4b03f25a85b34a9875cd22b75715896" + }, + "verify/results/shim/l1/seed-two-processes.txt": { + "mode": 420, + "sha256": "d60412049ced59705284a46078f1906e1aad4140f90db2169e08aeb9530dd985" + }, + "verify/results/shim/l1/seedrep.py": { + "mode": 420, + "sha256": "a06de5d5ccc1e87808eb3877534076340ef5330bee9a86953b8f4dae0268e087" + }, + "verify/results/shim/l1/trace-et1.jsonl": { + "mode": 420, + "sha256": "f21a213bc56983bc94f24303b0837b160f93bfb7e3ca6abdbf2e18321f8dfa19" + }, + "verify/results/shim/l1/trace-et2.jsonl": { + "mode": 420, + "sha256": "6e44b0fc541c3082f91b115de67f5315f43b9db21f0696b856cfff2ead51323a" + }, + "verify/results/shim/l1/trace-oracle.jsonl": { + "mode": 420, + "sha256": "ad9ecbe79a71c84930302868850806798228fe0f2e625b442dd3ed579c05092c" + }, + "verify/results/shim/l1/trace-playforward-f51.jsonl": { + "mode": 420, + "sha256": "6ed0af385dfe7288ad2c994458c8f5d75fc8e29b603dd6607a3703591d25eeb4" + }, + "verify/results/shim/l1/trace-seed-proc1.jsonl": { + "mode": 420, + "sha256": "120074583eb02cd4c3a29aab5826f789d52a6146930b1763f9b0bb824e9a350a" + }, + "verify/results/shim/l1/trace-seed-proc2.jsonl": { + "mode": 420, + "sha256": "03dffeafeff0c33d926207f869741dc544141425c8f665bf58aad4fd363e2f95" + }, + "verify/results/shim/l1/watch-arm.txt": { + "mode": 420, + "sha256": "f8d5811c938d16d003a72a97f2b4b33112914a7ee378fa2b334282616592943e" + }, + "verify/results/shim/l1/watch-hits.txt": { + "mode": 420, + "sha256": "1bf62ac965036a189055cd59a92007c70a2a6aca307df54ce8ccb997048f43d5" + }, + "verify/results/shim/l3/l3-probe-run-shim.log": { + "mode": 420, + "sha256": "f5cd336971ae3d3eaff642e80d9defa20ec2e1ee11e212a082c24365b18d8684" + }, + "verify/results/shim/l3/l3-probe-run-watch.txt": { + "mode": 420, + "sha256": "8d969595789c690a688f7b8fac05288c614d5d9210388ca94315158948c85f24" + }, + "verify/results/shim/l3/l3-spy-run-shim.log": { + "mode": 420, + "sha256": "5abfd08445e9e8139945b095ddddfb56480062019ce6d40304a440c317f21fd1" + }, + "verify/results/shim/l3/l3-spy-run-watch.txt": { + "mode": 420, + "sha256": "c669ccf79202e7060c153151e4fe1be96acf4030cb64aa71bd6a5c212b550b47" + }, + "verify/results/shim/m0-main-menu.png": { + "mode": 420, + "sha256": "465207fda4722ca53585b71647a08b1149944036792a072e7c34e2c437a3e37c" + }, + "verify/results/shim/m0.log": { + "mode": 420, + "sha256": "581d63139503892b6aeeff71acb742143393e9f107aa1f3605d8c028c927cad1" + }, + "verify/results/shim/m1-shim.log": { + "mode": 420, + "sha256": "35401ea82b9a64dbfdb54c282c06c51d7b696afd4ea2794e16071e0fd5c7cbef" + }, + "verify/results/shim/m2-scout-shim.log": { + "mode": 420, + "sha256": "8c46117bdde6b6911a4d77b059b40803d4966652990c8fa3ed67773e5db0459f" + }, + "verify/results/shim/mf-after-shim.log": { + "mode": 420, + "sha256": "86601372b980828171e98fc71afe865f207b1745ef4dcdca646a618c91d17426" + }, + "verify/results/shim/mf-after-turn2.png": { + "mode": 420, + "sha256": "a1f83011ff96e990d7cc80f8306e8fe0c58b96f84eb73ccb6cb013019900133d" + }, + "verify/results/shim/mf-after-turn7.png": { + "mode": 420, + "sha256": "313f3863ab901320174c8ff7cf6f1f6b0d5b3d9d7a2f8999eae6413aedc46fc5" + }, + "verify/results/shim/mf-before-shim.log": { + "mode": 420, + "sha256": "8377a87c7ed05fd0cd7b61e3f1d5fc9c2b9fa294f812c67183d4ce31323a64b1" + }, + "verify/results/shim/mf-before-turn2.png": { + "mode": 420, + "sha256": "c9805791f402ec159fcc6acdd283120eae8536b230666d3049374525595b589f" + }, + "verify/results/shim/mf-before-turn7.png": { + "mode": 420, + "sha256": "3b880b8f96c4cc328aaff8e41068db29b295be8f000c432e321a51b6030b1272" + }, + "verify/results/shim/mf-human-home-no-ships.png": { + "mode": 420, + "sha256": "dfda3e9784eefdc7b75d04908e95c3a192eda7796685907c65bfde3068d6f2bb" + }, + "verify/results/shim/probes/human-t3-5-perturbed.txt": { + "mode": 420, + "sha256": "9b594ab18cdd9aec4fdf807b4d97576191bc6fd48a85cc872c222b515d0f7c01" + }, + "verify/results/shim/probes/human-t5.txt": { + "mode": 420, + "sha256": "0ddd9f0391a3a5d655f1809a9e79d537badd8071f8834e58bdbc7f95d9ff1320" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-autosave.sav": { + "mode": 420, + "sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921" + }, + "verify/results/shim/probes/oracle-restore/h-oracle-endturn.sav": { + "mode": 420, + "sha256": "bb4fd9ac89f41e3bc0db2af08b18ce83417521ac4bcee695fc9fa6ce16e30948" + }, + "verify/results/shim/probes/zuul-t24-25.txt": { + "mode": 420, + "sha256": "50567b7cb1f008d025baf6cb4b4ad7af7d767a2182afd082c3ac1b1a66c79541" + }, + "verify/results/shim/recap-b1-shim.log": { + "mode": 420, + "sha256": "601cd4cbbec3e8c1f7776eadc4203256ec4c5d1e3e180295369727e1da69ff37" + }, + "verify/results/shim/recap-b3-shim.log": { + "mode": 420, + "sha256": "7c5110a9d4431cc03729a7bddcb13ee69a6d428199051e175b0921391fc02a80" + }, + "verify/results/shim/recap-misc-shim.log": { + "mode": 420, + "sha256": "7cadf2eadb08979cda39fe7e3ed6cfa3f62bdbcd256fc7550b3e27c3f08c9b3e" + }, + "verify/results/shim/recap-misc-turn7.png": { + "mode": 420, + "sha256": "2c1451ded36ad79389f0eb3db098b4e0b0a6f12495d64c832f6e093374005c29" + }, + "verify/results/shim/recap-trace-shim.log": { + "mode": 420, + "sha256": "56da143a92b2edda727862a6fd4a056c716153e23cfddbde076e218ce4c4285f" + }, + "verify/results/shim/recap-turn2-loaded.png": { + "mode": 420, + "sha256": "62a42c44f99d8a53bca735d54a5adf48b89449bb859e859ec573cb40e1a7f2d0" + }, + "verify/results/shim/tailrng/save_rng_delta.py": { + "mode": 420, + "sha256": "a9a04b131427a43372d87688b8eaf230a82a79e2c3c241a90ff4eb31e039749e" + }, + "verify/results/shim/tailrng/z-t5-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z-t6-autosave.sav": { + "mode": 420, + "sha256": "2ce6aef9d49ea238455f3ac680556c6a251065af3e28b6540fe09597ae38571c" + }, + "verify/results/shim/tailrng/z-t6-endturn.sav": { + "mode": 420, + "sha256": "afb112896c0236fa715ab3c10139958294085bb2066e22a6d7b76deb0dfa46dc" + }, + "verify/results/shim/tailrng/z2-autosave.sav": { + "mode": 420, + "sha256": "b2124798470d85ea86b0e9e4abfd9e23f3be73caa1115dd7614021be76305939" + }, + "verify/results/shim/tailrng/z2-endturn.sav": { + "mode": 420, + "sha256": "8648957fecf5041233f9add4c8173f78981f026f133ecdbecdb89ddd10917048" + }, + "verify/results/shim/unlock-shim.log": { + "mode": 420, + "sha256": "20a6625b369acb773543e530f1bfdc8b7eaca5c6b58415cc5009bb9858e16f22" + }, + "verify/results/shim/watchpoints/w2-modcount-status-2turns.txt": { + "mode": 420, + "sha256": "335be910dc11a20c9fb80f3b0f37f04fd50a9d8074697bb5365c3fea02790b74" + }, + "verify/results/shim/watchpoints/w2-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "9a344045270e3815004a3376eccfbd030372faba54374d9b6626fd80740b8b13" + }, + "verify/results/shim/watchpoints/w3-modcount-turn1.txt": { + "mode": 420, + "sha256": "328a2319e320f5382e82ad497b6b73245c397cf67515e8a27fa9712418af81ae" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt-turn1.txt": { + "mode": 420, + "sha256": "a9b3c20f90a76ee624bde6ee4cae9d1ff1f2baa67aa770a0e70042cb44d11915" + }, + "verify/results/shim/watchpoints/w3-shim-log-excerpt.txt": { + "mode": 420, + "sha256": "af9fe2258fe4168f6066768809c509380183f61bc337331392c5202b900d906a" + }, + "verify/results/shim/watchpoints/w3-tshn-containers.txt": { + "mode": 420, + "sha256": "08eab48d1a202f975f1be87e2279379646142f8b22d9dafc56295399083ed0af" + }, + "verify/results/standalone/cv/cv-input-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "d29f3514e4209954d6c068f34285615aef5f4627ba4627ce97c0e65f93620159" + }, + "verify/results/standalone/cv/cv-leaf-worklist.txt": { + "mode": 420, + "sha256": "0f309711de89cc10cf940d0d4b051b5052ce49a3cc0f3f80c532b50256410778" + }, + "verify/results/standalone/cv/cv-noreplay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "3734f197cfefd017dbe562fd421d40859bfc2c37d9ac2cedf9c7ddd340a3a4a7" + }, + "verify/results/standalone/cv/cv-replay-run.log": { + "mode": 420, + "sha256": "7372c7da437ece21098cc6f66d0631e146d8aae14a9242bd2278a9922a7f7c02" + }, + "verify/results/standalone/cv/cv-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "1932158abec82f45b9b838f4cb79b1088190ca5281d388f57356af7776e96950" + }, + "verify/results/standalone/dt/dt-canonical-after.txt": { + "mode": 420, + "sha256": "f32fdcf7d6431293133e951045b42a55e8a27d75cd859ad08cd719e5fb696712" + }, + "verify/results/standalone/dt/dt-canonical-before.txt": { + "mode": 420, + "sha256": "b56160cfdcfa0fff25be2aa566959261e375004905814803e231889da665188f" + }, + "verify/results/standalone/dt/dt-observed-leaves-remaining.txt": { + "mode": 420, + "sha256": "e14bd20e60480f98a564e585c0d25d2e758f71016811b8981dbdacd9d51c0c82" + }, + "verify/results/standalone/dt/dt-replay-run.log": { + "mode": 420, + "sha256": "4b7907fc4e735b1c12e3cf64671079abaad757aabd752b134a9fb27d065656cd" + }, + "verify/results/standalone/dt/dt-replay-vs-bp-pinB.txt": { + "mode": 420, + "sha256": "8ddb84e7e6c2f663b1bc4b9611a56a46aac9d09863dcc5be765cb70dc9642c22" + }, + "verify/results/standalone/max-income-oracle.json": { + "mode": 420, + "sha256": "245796e0aea5f5c2238686cba10c651156117fb454805553b2508a8a8fe71a69" + }, + "verify/results/standalone/report.txt": { + "mode": 420, + "sha256": "b47e90432eaf38149f2ecb5316d1962813b6b1423848e36fcc9435ad1f5485df" + }, + "verify/results/standalone/rng-oracle.json": { + "mode": 420, + "sha256": "98a364c80f69d6a84b86c3f9ccc16176d9e769ff061569b0c0ddfced53f9146c" + }, + "verify/results/standalone/rng-oracle.txt": { + "mode": 420, + "sha256": "3496a217a7e4f80bb18c1b067eaedcafcf7bdc877460c6346606fd7f6a55b877" + }, + "verify/results/standalone/status.json": { + "mode": 420, + "sha256": "d38ca6222c83df3a5886e6b32a30772c7174cc0e584f4a3beabedc05770df9cd" + }, + "verify/results/standalone/t36-turnrecord.md": { + "mode": 420, + "sha256": "b017a93ad04af69ef469cd8ea536dff4cab17140d20b3665e7c89533ab5b8a84" + }, + "verify/results/state-checksum/ad-oracleA-vs-oracleB.txt": { + "mode": 420, + "sha256": "b6c440e20108ad2727a7d7aa32a4bd673ec03ca4372461797705d619de1ba48a" + }, + "verify/results/state-checksum/chain-turn1-3.json": { + "mode": 420, + "sha256": "33941d0dd77bfb79e4302f82a410f5f18fe3ae1ade684b5b59c6ed352789a696" + }, + "verify/results/state-checksum/chain.txt": { + "mode": 420, + "sha256": "ae1037dd8394b258ce91262877d348a0561c5f5056cfae74cc0d058e4166aa83" + }, + "verify/results/state-checksum/float-census.txt": { + "mode": 420, + "sha256": "c697c0f187ee8a8ebb157cbff8d7ae42c92f36a501b16acd9f9839a0ffc306a9" + }, + "verify/results/state-checksum/identical-roots.txt": { + "mode": 420, + "sha256": "1143fabfe96954440542adcd3830ad1d862be6c091f3c1b2e63e92a2751703e7" + }, + "verify/results/state-checksum/resave-localisation.txt": { + "mode": 420, + "sha256": "85f4e8fe3581ba5d0ae74974d757c4c2fddc008f3fbe6781891ae8ef65aa693e" + }, + "verify/results/state-checksum/roots.txt": { + "mode": 420, + "sha256": "6ea7ad668703baaff870720683bcc13beff557cebf8e7843526d6677e5b5ef68" + }, + "verify/results/state-checksum/turn2-to-turn3.txt": { + "mode": 420, + "sha256": "3649c86742460a54d89714df1917508f76952c44c07cb7fbc19010910c5df0f4" + }, + "verify/results/turncommands/br2-turn27-deep.tcb": { + "mode": 420, + "sha256": "329b9c3f1e9f85ddeeb71148bd5c0e38f7d26445ed349df60ffbfaf63db46102" + }, + "verify/results/turncommands/br2-turn27-shallow.tcb": { + "mode": 420, + "sha256": "d8346969421a92fa199d0b9faafa642dc2e71a527b08d27984fe73ee70ecbd6b" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.json": { + "mode": 420, + "sha256": "01e572975339fbe8a242b2438719173bd5bb4f4916078e5887026408923eb356" + }, + "verify/results/turncommands/cb-turn1to2-pinned-run2.tcb": { + "mode": 420, + "sha256": "16e349db6c46e46520cd2e5f0a9fcf70b537dce878324dd873418ef6cebd8658" + }, + "verify/results/turncommands/cb-turn1to2-pinned.json": { + "mode": 420, + "sha256": "2d4f108b8ac6b1e582382ac25d53f354c293e7caf390b8462d15beaf8e43e01c" + }, + "verify/results/turncommands/cb-turn1to2-pinned.tcb": { + "mode": 420, + "sha256": "28ebfecc3495cc4f5b2892e420cb1b83f3cbdb6b7aabe107f4b1d18233a06094" + }, + "verify/results/turncommands/cb-turn1to2-run1.json": { + "mode": 420, + "sha256": "c9de70196af5453df15cfebcb92c973dfed9d54ffa0dc0a397839cf951ac9b58" + }, + "verify/results/turncommands/cb-turn1to2-run1.tcb": { + "mode": 420, + "sha256": "5cdcfb3ade6cdfb2c00c234f5535c791780230f520d27be14f617462347b4948" + }, + "verify/results/turncommands/cb-turn2to3.json": { + "mode": 420, + "sha256": "8a0d4fc9efae9dcb4eca0de41bf28444d79eb5a4fd4e426671a4d80ab5a46f44" + }, + "verify/results/turncommands/cb-turn2to3.tcb": { + "mode": 420, + "sha256": "420a5d03f2a4ecfa0789835cc46f98961d11bbd7c7fd5f59dc28301aa0b65b6b" + }, + "verify/results/turncommands/l4-turn1to2.tcb": { + "mode": 420, + "sha256": "1b9faa7f8aad9196e36cf1c450e340f37c502a69ccfcaaad7e289bd7b4727b12" + }, + "verify/results/turncommands/l4-turn2to3.tcb": { + "mode": 420, + "sha256": "b0443f176c3915389278de608a8e7c63fa48d4777b924c0e383c7279f2a297e0" + }, + "verify/save-reader/SAVE_FORMAT.md": { + "mode": 420, + "sha256": "5ac2556b6c063c9296ef29e8514cc312983d48a8e2c2832f504c970629990b33" + }, + "verify/save-reader/fixture_joint.sav": { + "mode": 420, + "sha256": "fbe41595e50bb580786f36b197d5b85f87820974c545107c864fa2f1862af3f1" + }, + "verify/save-reader/fixture_split.sav": { + "mode": 420, + "sha256": "3909f12d021bf840617dc8d599841b64d67be46e1c6882cba7728d312d310071" + }, + "verify/save-reader/save_reader.py": { + "mode": 420, + "sha256": "2dcac286b5382b67fe8f2dbce58c80950dd430b726ed0e98f3bcea155df0df35" + }, + "verify/save-reader/save_writer_stub.py": { + "mode": 420, + "sha256": "8343ad15f742ee1b9cd62108efbc9c4b2718c3807442e3dfcfa9513ced7d3638" + }, + "verify/save-reader/test_save_reader.py": { + "mode": 420, + "sha256": "29f609d037eed99bb5444004facbff7b2c5c36fae568e815810585fdc3ddd393" + }, + "verify/state-checksum/STATE_CHECKSUM.md": { + "mode": 420, + "sha256": "5680299a4df27e30cdb545d9d2a640caf9299d61acb662b9512589e4390954e1" + }, + "verify/state-checksum/float_census.py": { + "mode": 420, + "sha256": "a568aad8b9f38aba2474f33941550bf948d050694a1d04dc5c85d15687223ae9" + }, + "verify/state-checksum/run_validation.sh": { + "mode": 493, + "sha256": "bf84b999d2b90368703e80235bac0258b70a1c37dd1902c9205a914a59cb1fc2" + }, + "verify/state-checksum/stability_check.py": { + "mode": 420, + "sha256": "8e640561b05decf590524fbe0dbf3b76a5e2f9c7fde93e005ca6e79464c305f1" + }, + "verify/state-checksum/state_checksum.py": { + "mode": 420, + "sha256": "ed80458e84d92040aa3872464d8df315e935f379ca0da5a2df81c3049826e5b8" + }, + "verify/state-checksum/test_state_checksum.py": { + "mode": 420, + "sha256": "d0ccf8e8390fd0a5d76a8695a490d85dc7e8e415a06ec50b592c57474cc9a73b" + }, + "verify/tooling/README.md": { + "mode": 420, + "sha256": "b05249530d65d43220c1e5c4666939c360d6139ed404a8881f6ad0a9c5c27af6" + }, + "verify/tooling/fixtures.py": { + "mode": 420, + "sha256": "56cccc88b9b9468e07c9ddff39d65813098053ec9e8f00432736906389f200a7" + }, + "verify/tooling/host-tests.json": { + "mode": 420, + "sha256": "90833c99e2749ff890b16b943f43f6ebfc1a1c611f2ed1e40555426fded45c97" + }, + "verify/tooling/test_tooling.py": { + "mode": 420, + "sha256": "bb8d15960dfda13f15cffc57f3b669003b127b4dedbf34100bb4a51c29dd3c6d" + }, + "verify/traces/.keep.md": { + "mode": 420, + "sha256": "b9ed9ae581d08f2411346c518e16cd894f159dbe569e3c778b31d9e9a3677786" + }, + "verify/traces/ac-probe-baseline-turn15.jsonl": { + "mode": 420, + "sha256": "a2f4e410f6a8d77f7680b4a69b5b2ac2f59fa80515b0cfe8209e7fec8e4a5b6b" + }, + "verify/traces/ac-probe-turn21-turn23.jsonl": { + "mode": 420, + "sha256": "2bb9317b82744c0da36ef6d9c1a78f31ebacea49b82a18005c0cc75bad62d345" + }, + "verify/traces/ad-r1-turn28-turn29.jsonl": { + "mode": 420, + "sha256": "cde7a1e010aa6195163f3b9320aa5c496fd8c271e9648c90c7319837dd967571" + }, + "verify/traces/ap-probes8-deploy-turn15.jsonl.gz": { + "mode": 420, + "sha256": "e257d5ea3fcb4be8da570d6a5589022e6ba412ff2712f4f06832812d8859e08a" + }, + "verify/traces/ap-probes8-turn16-turn26.jsonl.gz": { + "mode": 420, + "sha256": "df4fb35d9824799d8be79f3a9e976b55b7cd0fb5488b3e12711d04eb3c320f13" + }, + "verify/traces/ar-r1-turn38-turn43.jsonl": { + "mode": 420, + "sha256": "f8653cbd1956346816897b313031c5d70898144d1c84b1c849ac37bfe3bd993c" + }, + "verify/traces/ar-r2-control-turn38-turn39.jsonl": { + "mode": 420, + "sha256": "c1068652ddf54d2ff266c1dc1ef1e69ea663f5d2a83143408f77ec782b3dd988" + }, + "verify/traces/as-probes8-turn15-turn16.jsonl.gz": { + "mode": 420, + "sha256": "024bb0663b167eb364c8e138bae0bf10403860c195bd593cb56f60281060c4e8" + }, + "verify/traces/b2-final-menu.png": { + "mode": 420, + "sha256": "5a95fe260c9cb13dad5fc6f00460819107db93f4ac89f455077ad056600f83fd" + }, + "verify/traces/b2-shim.log": { + "mode": 420, + "sha256": "c31cf01af3659b7fdf008ff44f88f67ee4016dcfb30fc4a72b4d72ea0da8e404" + }, + "verify/traces/b2-techfx-compare.jsonl": { + "mode": 420, + "sha256": "f0202f45b276db6744c80768f12695153812bc882de688cf64705ed6a52f243c" + }, + "verify/traces/b2-techfx-golden.jsonl": { + "mode": 420, + "sha256": "43639e75bd9d510ed270c9cfcbb0c9665f5a6546f748ba81eba3f015e7ca233c" + }, + "verify/traces/cr-N.jsonl.gz": { + "mode": 420, + "sha256": "0071ae72a142533ffb91f9f04caa6704102c826761ff5ae24b57a1c3e9652e46" + }, + "verify/traces/cr-R0.jsonl.gz": { + "mode": 420, + "sha256": "6228c88cebb4dad2158e5586ecbcf71d1160116f2f4a2a8bc020658da8d7d706" + }, + "verify/traces/cr-R1.jsonl.gz": { + "mode": 420, + "sha256": "73f5f15b3343381cf3f973caaf74588fd3d0b6759de1ddcf9e12b9b3ebf29713" + }, + "verify/traces/eventlive-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "9cb344f1d8a3beb4bc1a2bf16baed6c38667443ead9f66fa0f53474a683d263c" + }, + "verify/traces/eventlive-b3-t1.jsonl": { + "mode": 420, + "sha256": "2d9962de9a7ea7fb28b33b72209706b4a27673096f71c8789f9f10ac465f387b" + }, + "verify/traces/eventlive-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "0ee09bb884799e72c6a617ab02e741a7ba791ff458af439b9947a87b368a64de" + }, + "verify/traces/h-probes-human-perturbed-t3-5.jsonl.gz": { + "mode": 420, + "sha256": "2567f8ccb6276a4d647c4f4b88d14f7ae63aa4d1797f672a9bd9c7c86e4d7473" + }, + "verify/traces/h-probes-human-t5.jsonl.gz": { + "mode": 420, + "sha256": "92964779111573dc72e6a1845217cd7d709c9900594a106b3de7b59c2b7a88a7" + }, + "verify/traces/h-probes-zuul-t24-25.jsonl.gz": { + "mode": 420, + "sha256": "0966294af27b49159b1e72e683abc0b59fd52cc9bfd9f517130d30cedf7efa29" + }, + "verify/traces/l3-probe-turn8-turn15.jsonl": { + "mode": 420, + "sha256": "d1b5436f917bb4f6f74bd7b1967dbd0626db2c3a5cbc1d67684ef9f010826676" + }, + "verify/traces/m1-compare.jsonl": { + "mode": 420, + "sha256": "f0f6fd15bc73008e43e20d6ed4c4dd91fb2ec8b40935bfd3cc000d8a84ea6731" + }, + "verify/traces/m1-trace-golden.jsonl": { + "mode": 420, + "sha256": "4a4ddc031fb26a8f8b10dace297c73670f53dcbd250a9be94c0e31c9bb44dcc5" + }, + "verify/traces/mf-after-compare.jsonl": { + "mode": 420, + "sha256": "2a894892977176df1a9d6c8199b0f81b48c7bcac15d2c0e7786441fc6125226e" + }, + "verify/traces/mf-before-compare.jsonl": { + "mode": 420, + "sha256": "ee005097ebaac9f30c63f1e400fdf19a47e88010c71d215885234986d122410e" + }, + "verify/traces/output-ref-turn2.jsonl.gz": { + "mode": 420, + "sha256": "7af583350545501414eda38439f2d0fa39149342d9001d2926e2a4e4fdd5cdca" + }, + "verify/traces/output-zuul-and-ref.jsonl.gz": { + "mode": 420, + "sha256": "d581cb50f07766911fa59fa1df1524b33a9df6eec06226966efd5f54f09b6fb5" + }, + "verify/traces/recap-b1-compare.jsonl.gz": { + "mode": 420, + "sha256": "0ce1c92028a8cd10a38d7cca72f90c37ccbd844f24a1950bf0eb6e75739b44e2" + }, + "verify/traces/recap-b3-compare.jsonl": { + "mode": 420, + "sha256": "6ed3bcd99b4657d614bf63cc0fc2dfff650f4cb14e51086ea98c21bccbcf5fa8" + }, + "verify/traces/recap-golden-trace.jsonl.gz": { + "mode": 420, + "sha256": "d62431e9461ffb1b66adc16a39542b86fa8e0cf54a0ed446a8781c4d75a6c3bb" + }, + "verify/traces/recap-misc-compare.jsonl": { + "mode": 420, + "sha256": "d7c4446d45a9cab2af3da4a0d76f7a42c245da1f59db96fddf31d8b1f2c436ed" + }, + "verify/traces/tailrng-drawsites.jsonl.gz": { + "mode": 420, + "sha256": "5c1806e2b1452226674013119e3b220f3cf42be2ad8b0ed998050ad65d1f8415" + }, + "verify/traces/tailrng-refturn2.jsonl.gz": { + "mode": 420, + "sha256": "c33c6cafe015bda6acf5ca32b0c9595e1611f4ac82ecd3adaff8315c7bd3e560" + }, + "verify/traces/tailrng-zuul-long.jsonl.gz": { + "mode": 420, + "sha256": "213e7dd8a6809dd93190f41c87218e802f1fbe77d44d598f287c2a19544063af" + }, + "verify/traces/tailrng-zuul-noderoute.jsonl.gz": { + "mode": 420, + "sha256": "9476ee3b9b397ca9e20bc92eb887c109a075487cdd750746af051797e8838115" + }, + "verify/traces/unlock-b3-t1-5.jsonl.gz": { + "mode": 420, + "sha256": "f6e27a60bf6c74eb98d8bec50146fe1996642285ca008c6a70c3cb148c6ba54c" + }, + "verify/traces/unlock-b3-t1.jsonl.gz": { + "mode": 420, + "sha256": "bfa53bba3e59d17dd330e38ef52fd04fd92f05f3ad357fefd77388d083b49a05" + }, + "verify/traces/unlock-b3-zuul.jsonl.gz": { + "mode": 420, + "sha256": "d94c635105a75a68cb811a3881faf371678c075d240998f48fcf348b8459063f" + } + }, + "manifest_sha256": "b4db6808cc2b8aca33fa27eaab330d32811ce146d829a1bb9474a03f7ccdaeb4", + "path": "/tmp/opencode/sots-final-research-re" + } + }, + "started_at": "2026-09-10T04:34:59.401747+00:00", + "status": "complete", + "stderr": "campaign/runtime/runs/run-ee78b8773688ca09f8046e21.stderr.log", + "worktrees": { + "engine": "/tmp/opencode/sots-final-research-engine", + "re": "/tmp/opencode/sots-final-research-re" + } +} diff --git a/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.jsonl b/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.jsonl new file mode 100644 index 0000000..291feb0 --- /dev/null +++ b/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.jsonl @@ -0,0 +1,120 @@ +{"type":"step_start","timestamp":1789014904807,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089990fe2001komgpaapWIfcYk","messageID":"msg_08999016d001VB7BzMQVYsl427","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"e7bc0903aeef1ab73ad8c41fe1205d5d72e26fa7","type":"step-start"}} +{"type":"tool_use","timestamp":1789014910311,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"todowrite","callID":"call_wUwLjshPc9cXRW66UesbcuN1","state":{"status":"completed","input":{"todos":[{"content":"Read canonical campaign instructions, contract, checkpoint, and open surprises","status":"in_progress","priority":"high"},{"content":"Verify engine/RE worktree and source/resource identities","status":"pending","priority":"high"},{"content":"Define verification falsifiers, branch exposures, and distinct states from handoff","status":"pending","priority":"high"},{"content":"Reproduce verifier package and independently challenge one assumption","status":"pending","priority":"high"},{"content":"Write mandatory fresh canonical checkpoint with exact next action","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Read canonical campaign instructions, contract, checkpoint, and open surprises\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify engine/RE worktree and source/resource identities\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Define verification falsifiers, branch exposures, and distinct states from handoff\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce verifier package and independently challenge one assumption\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory fresh canonical checkpoint with exact next action\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read canonical campaign instructions, contract, checkpoint, and open surprises","status":"in_progress","priority":"high"},{"content":"Verify engine/RE worktree and source/resource identities","status":"pending","priority":"high"},{"content":"Define verification falsifiers, branch exposures, and distinct states from handoff","status":"pending","priority":"high"},{"content":"Reproduce verifier package and independently challenge one assumption","status":"pending","priority":"high"},{"content":"Write mandatory fresh canonical checkpoint with exact next action","status":"pending","priority":"high"}],"truncated":false},"title":"5 todos","time":{"start":1789014910305,"end":1789014910309}},"metadata":{"openai":{"itemId":"fc_025468b9732831e2016aa2337a570887d1918d3683e218f410"}},"id":"prt_08999164d001JQtY5j5CckF2Vy","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999016d001VB7BzMQVYsl427"}} +{"type":"step_finish","timestamp":1789014910563,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999265e001mkGaavolqBjN4c","reason":"tool-calls","snapshot":"53b0ca6721678c2749e4fd85f451d6e62982de64","messageID":"msg_08999016d001VB7BzMQVYsl427","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":5973,"input":2867,"output":132,"reasoning":30,"cache":{"write":0,"read":2944}},"cost":0}} +{"type":"step_start","timestamp":1789014912534,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089992e12001xXNRmQWqa1ea60","messageID":"msg_089992692001zSjr3Xtt2H8aF6","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"2cfd213685b193468aca2da830224ed43bf7189f","type":"step-start"}} +{"type":"tool_use","timestamp":1789014913599,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_yuDMa1R591idPROPHofkxLpn","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/README.md"},"output":"/home/alex/sots-re/campaign/README.md\nfile\n\n1: # Canonical campaign controls\n2: \n3: `sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\n4: surprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\n5: projections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n6: \n7: Framework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\n8: see [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\n9: Active work is reverse engineering. Change tooling only to unblock a named RE experiment.\n10: \n11: ## Contract format\n12: \n13: `contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\n14: The standard-library validator implements the schema's used subset. A populated example is\n15: [contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n16: \n17: Required fields:\n18: \n19: | Field | Structure |\n20: |---|---|\n21: | `id`, `title`, `status` | Slug, short title, lifecycle state |\n22: | `owner` | `{ \"name\": \"worker-identity\", \"role\": \"implementer\" }` |\n23: | `baseline` | `{ \"engine\": {\"path\":\"/absolute/canonical/engine\",\"commit\":\"full-commit-id\"}, \"re\": {\"path\":\"/absolute/canonical/re\",\"commit\":\"full-commit-id\"} }` |\n24: | `scope`, `inputs`, `effects` | Arrays of explicit nonempty strings; include full write set and runtime inputs |\n25: | `original_dependencies` | String array, including original-assisted portions and unavailable inputs |\n26: | `dependencies` | Array of other contract IDs; all must be accepted before ready/implementing |\n27: | `acceptance` | Array of `{ \"id\": \"unique-criterion\", \"axis\": \"validation-scope\", \"criterion\": \"executable requirement\" }` |\n28: | `predictions`, `stop_conditions` | String arrays of predictions and conditions that halt work |\n29: | `checkpoint` | `null` or `campaign/runtime/checkpoints/.json` |\n30: \n31: Optional `evidence` is an array of\n32: `{id,axis,path,sha256,source,integrated,source_binding,binaries,inputs,outcomes}`.\n33: `path` is an existing canonical RE-relative artifact; `sha256` hashes its actual bytes; `source`\n34: equals the contract's complete baseline object. Store understanding,\n35: implementation, original dependencies, and validation scope as separate acceptance/evidence axes.\n36: There is no generic `verified` scalar. Baseline commit IDs describe starting repositories;\n37: dirty source identity is machine-bound by `source_binding`, never inferred from those commits.\n38: Criteria need distinct states, branch exposure, positive execution, complete writes/elements,\n39: allocations/IDs/events/RNG/runtime inputs, synthetic and original-game differentials as applicable.\n40: The CLI checks package identity and declared axes; the independent reviewer evaluates the actual\n41: criteria, gate outcomes, full manifests and integrated reproduction. A passing measurement alone\n42: does not establish acceptance.\n43: \n44: ### Source-bound evidence interface (R4)\n45: \n46: `source_binding` is `{engine:{path,commit,sha256},re:{path,commit,sha256}}`. Generate it with:\n47: \n48: ```sh\n49: python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-replacement --engine-worktree /absolute/candidate-engine --re-worktree /absolute/candidate-re\n50: ```\n51: \n52: Omit both worktree arguments to bind the canonical integrated trees. Paths must be Git worktree\n53: roots in the respective baseline repositories. `commit` is the actual current HEAD; `sha256`\n54: is the deterministic digest of the actual file manifest, including dirty/untracked nonignored\n55: files, deleted tracked paths (`null`), file bytes and Unix modes. Symlinks/submodules fail closed.\n56: The fixed manifest policy uses `git ls-files --cached --others --exclude-standard`; ignored\n57: untracked build/output files are not source. Python cache directories are excluded. In RE only,\n58: `verify/results/` and `campaign/` are excluded **except** `campaign/models.json`,\n59: `campaign/contract.schema.json`, and `campaign/agents/**`. These exclusions prevent mutable\n60: contracts/checkpoints/evidence/projections from hashing themselves. Relevant RE tools, tests,\n61: generated facts and guides remain bound. Any consumed item outside that source inventory must\n62: appear among immutable input/binary artifacts. The independent reviewer checks inventory adequacy.\n63: \n64: `binaries` and `inputs` are nonempty arrays of `{path,sha256}` artifact references; for tooling\n65: contracts, bind the executable scripts/interpreter identity package and fixture input package.\n66: `outcomes` exactly covers the acceptance criterion IDs for that evidence axis, with entries\n67: `{criterion,status,artifact:{path,sha256}}`; promotion requires `status: \"pass\"`. Outcome artifacts\n68: contain positive execution, branch/state exposures, reproduction recipe and required effect/input\n69: accounting. The CLI checks identities, hashes and declared outcomes, **not arbitrary criterion\n70: semantics**. The independent verifier must reproduce and challenge those claims.\n71: \n72: For example, an outcome for the bootstrap contract is:\n73: \n74: ```json\n75: {\"criterion\":\"controls-negative-paths\",\"status\":\"pass\",\"artifact\":{\"path\":\"verify/results/controls/result.json\",\"sha256\":\"\"}}\n76: ```\n77: \n78: Capture bindings when producing evidence; do not attach a fresh source hash to old measurements.\n79: Every evidence/verdict/promotion check rehashes referenced sources and artifacts. Same-HEAD byte\n80: changes reject old evidence and verdicts. Integrated records require canonical paths, lead in\n81: integration state, and one identical binding across **all** final integrated evidence. A lead's\n82: `integrated` boolean cannot substitute for this check. Verdicts bind the full evidence array and\n83: the source-binding array; old verdicts lacking these identities must be reproduced.\n84: \n85: This contract wrapper is separate from gate measurement schema **`sots-gate/1`**, whose `source`\n86: still has `engine`/`re`. Reference its immutable manifest/binary/input package; do not rename its\n87: fields to match contract `source`. Reporter output is measured evidence, with `--require-match`\n88: for required equality, and gains acceptance only through independent contract/integration gates.\n89: \n90: ## State and transactions\n91: \n92: Every command requires `--state-root /absolute/canonical/sots-re` (the repository, not `campaign/`).\n93: No sibling inference. Control records stay below canonical `campaign/runtime/`; contracts remain\n94: in `campaign/contracts/`. Immutable hashed artifacts may be referenced anywhere inside canonical\n95: RE, including existing `verify/` corpora, without copying them. Absolute/traversing artifact paths,\n96: outside symlinks, Git internals and named secret/private-key locations are rejected; aliases are\n97: checked after resolution too. Never reference secrets or commit owner-supplied binaries/assets.\n98: JSON writes are atomic and fsynced; a canonical `flock` serializes\n99: CLI mutations, WIP decisions, and resource acquisition. Do not hand-edit active state concurrently\n100: with commands. Interrupted multi-file operations retain blocking records and require inspection.\n101: \n102: Runtime APIs (JSON files; no server):\n103: \n104: - `runtime/checkpoints/*.json`: `sots-checkpoint/1`, contract, actor/role/model/session, timestamp,\n105: contract `basis` digest, bounded summary (6000 characters), up to 32 `{path,sha256}` artifacts,\n106: and one `next_action` (2000 characters). Include observations versus decisions, source identities,\n107: tests, blockers, resources/access/cleanup, exact next action in the summary/artifacts.\n108: Do not attach the checkpoint's own contract as an artifact: saving the pointer changes that\n109: file. Its task metadata is already covered by `basis`; the CLI rejects this self-reference.\n110: - `runtime/surprises/*.json`: `sots-surprise/1`, id, contract, `status: open|resolved`, summary,\n111: discriminating probe, actor/model/session provenance where applicable, optional decision ID.\n112: - `runtime/decisions/*.json`: `sots-decision/1`, Astra resolution, explanation/probe, invalidated\n113: evidence and checkpoint; prior verdict is marked invalidated. Resolution returns needs-revision\n114: only when all surprises are closed. Re-probe and rebuild evidence; resolution is not acceptance.\n115: - `runtime/verdicts/.json`: independent verifier actor/session/model, pass/fail,\n116: explanation, contract basis, complete evidence digest and source-bindings digest.\n117: - `runtime/transitions/*.json`: actor/model, previous/next lifecycle state, timestamp.\n118: - `runtime/leases/.json`: owner, random token, held/released, acquisition/release provenance.\n119: - `runtime/runs/run-*.json`, `.jsonl`, `.stderr.log`: requested model/config, command, worktree\n120: manifests before/after, expanded prompt hash, effective configuration hashes, canonical config\n121: file hashes, actual events/session/model when emitted, completion/checkpoint status. Effective\n122: provider config is hashed rather than persisted because it can contain credentials.\n123: `active-.json` reserves the contract. Interrupted running reservations never auto-expire.\n124: \n125: Lifecycle: `proposed -> ready -> implementing -> verification -> integration -> accepted`.\n126: Blocked and needs-revision edges support repairs; no skipping stages. Ready requires scope,\n127: inputs, acceptance, stop conditions, valid pinned baseline and accepted dependencies. Implementing\n128: is atomically capped at two concurrent contracts; lead schedules only one pilot before enabling\n129: two independent slices. Verification requires fresh checkpoint/artifacts after implementation start.\n130: Integration requires lead plus independent passing verifier bound to current source/evidence.\n131: Accepted requires every declared axis in integrated evidence, passing independent verdict over\n132: that final package, and no open surprises. Adding integrated evidence changes the evidence digest:\n133: the verifier must attest the integrated package again. Handoff/promotion/end checkpoints must be\n134: within 15 minutes; recovery start has no age limit.\n135: \n136: Role/model registry: lead/architecture-review/analyst/implementer/verifier/lab =\n137: `openai/gpt-5.6-sol`; resolver = `openai/gpt-6-astra`.\n138: CLI identity fields are **claims, not authenticated model authority**. The runner requests the\n139: registry model explicitly and records emitted provenance. Editable JSON, agent permissions and\n140: shell-accessible tooling are not a security boundary. No silent routing fallback.\n141: \n142: ## Commands\n143: \n144: Run from either repository using the canonical tool path when necessary. Examples:\n145: \n146: ```sh\n147: python3 tools/campaign.py --state-root /home/alex/sots-re validate\n148: python3 tools/campaign.py --state-root /home/alex/sots-re list\n149: python3 tools/campaign.py --state-root /home/alex/sots-re status research-replacement\n150: python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint controls-bootstrap --actor controls-architect --role architecture-review --model openai/gpt-6-astra --session rollout-controls --summary 'Source identities, observations, decisions, tests and blockers are in the attached checkpoint.' --artifact campaign/rollout/controls-worker-state.md --next-action 'Run the independent controls review.'\n151: python3 tools/campaign.py --state-root /home/alex/sots-re transition controls-bootstrap ready --actor controls-architect --role architecture-review --model openai/gpt-6-astra\n152: ```\n153: \n154: `surprise CONTRACT --summary TEXT --probe TEXT` blocks immediately. `resolve SURPRISE_ID\n155: --explanation TEXT --probe TEXT` requires claimed Astra lead/resolver. Both also require\n156: `--actor NAME --role ROLE --model MODEL`. `evidence CONTRACT --record campaign/path.json`\n157: uses the same identity flags; record format is the evidence object above. Integrated records\n158: require lead and integration state. `verdict CONTRACT --session SESSION --verdict pass|fail\n159: --explanation TEXT` requires verifier identity flags and independent actor/session.\n160: \n161: ```sh\n162: python3 tools/campaign.py --state-root /home/alex/sots-re lease acquire windows-vm --actor lab-one --role lab --model openai/gpt-5.5\n163: python3 tools/campaign.py --state-root /home/alex/sots-re lease show windows-vm\n164: python3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lab-one --role lab --model openai/gpt-5.5 --token TOKEN_FROM_ACQUIRE\n165: python3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lead --role lead --model openai/gpt-6-astra --lead-release --reason 'Confirmed prior operator stopped; access and cleanup checked.'\n166: ```\n167: \n168: No stale lease stealing. Explicit lead release requires an explanation and lab preconditions,\n169: side effects, cleanup, and access verification in the operator checkpoint. Treat lease tokens\n170: as local owner capabilities, not secrets to put in a board/dashboard.\n171: \n172: ## Fresh bounded launches\n173: \n174: Prepare **two actual linked worktrees**, each distinct from its canonical source repository,\n175: at the contract's full baseline commit. No auto commits/worktree creation. Launch uses explicit\n176: canonical `OPENCODE_CONFIG`, checks matching repo-local agent/model/40 steps, and sets the final\n177: environment overlay to bind requested role/model/steps. Other inherited config overrides are\n178: cleared. `opencode models` must list the exact requested model even for dry runs.\n179: \n180: ```sh\n181: python3 tools/run_agent.py --state-root /home/alex/sots-re --role implementer --actor worker-one --contract slice-one --engine-worktree /home/alex/worktrees/slice-one-engine --re-worktree /home/alex/worktrees/slice-one-re --cwd engine --dry-run\n182: ```\n183: \n184: Remove `--dry-run` to execute. Normal worker launch requires a valid durable checkpoint, matching\n185: owner/role/status, no open surprises, baseline HEADs and canonical Git common-directory identity.\n186: Recovery checks checkpoint identity/basis and artifact hashes regardless of age, rechecks any\n187: source-bound evidence, and validates paired Git worktree/baseline identity. Missing ordinary-worker\n188: state still blocks. Bootstrap lead/architecture-review can start without a checkpoint; they still\n189: need paired worktrees. Astra lead/resolver may launch a blocked contract with open surprises and\n190: without a worker checkpoint in **resolution-only** scope: read evidence and write decisions/state,\n191: no implementation. Its prompt and permission overlay carry that limit, and worktree source changes\n192: fail completion. Ordinary affected workers stay blocked. Other Astra architecture actors receive\n193: explicit architecture authority within their owned scope. Each run is a fresh\n194: `opencode run --format json --model ... --agent ...`; no resume/continue option is used. The prompt\n195: supplies the run ID to use as checkpoint `--session`; actual OpenCode session IDs are captured\n196: separately when emitted. On exit, a checkpoint after start matching actor/role/model/run ID is\n197: mandatory or the run is marked incomplete. Completion additionally requires a zero exit, no\n198: `type:error`, a successful `step_finish` with `part.reason: \"stop\"`, one nonempty actual session ID,\n199: and consistent explicitly emitted model IDs. Text/tool-call/length events alone cannot complete a\n200: run. Missing model emission is recorded `observed_model_status: \"unavailable\"`, never invented.\n201: \n202: The runner checks the exact Git baseline again under reservation lock, rejects intervening contract\n203: changes, and checks canonical model/prompt/config files and effective configuration for drift at\n204: completion. Expanded role prompt/model/steps are frozen in the last-layer environment overlay.\n205: `opencode debug config` runs in the actual launch cwd with the actual environment before execution\n206: and again at completion. Permissions explicitly allow read/search, ordinary worker shell commands,\n207: and external-directory access to the assigned paired trees plus canonical RE; role-specific edit\n208: denies survive. Task delegation and interactive questions are denied. No `--auto` is required.\n209: Noninteractive command/environment tests and a live loader check cover this overlay; an actual\n210: normal worker launch smoke is a separate lead integration check. Permissions and before/after\n211: checks are operational guards, not a sandbox or continuous filesystem audit.\n212: Compaction is a backstop; no token threshold or machine-enforced 20-tool-call claim.\n213: \n214: ## Local verification\n215: \n216: ```sh\n217: python3 -m unittest discover -s verify/campaign -p 'test_*.py' -v\n218: python3 tools/campaign.py --state-root /home/alex/sots-re validate\n219: ```\n220: \n221: Tests create commits only in disposable fixture repositories, linked worktrees and fake OpenCode processes; they do\n222: not launch agents or touch the lab. Historical rollout artifacts retain the scope and source identity\n223: of their runs; consult the accepted contract and current evidence, not an old handoff's status prose.\n\n(End of file - total 223 lines)\n","metadata":{"preview":"# Canonical campaign controls\n\n`sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\nsurprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\nprojections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n\nFramework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\nsee [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\nActive work is reverse engineering. Change tooling only to unblock a named RE experiment.\n\n## Contract format\n\n`contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\nThe standard-library validator implements the schema's used subset. A populated example is\n[contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n\nRequired fields:\n\n| Field | Structure |\n|---|---|","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/README.md","text":"# Canonical campaign controls\n\n`sots-re/campaign/` is the state authority. Start with your contract, its checkpoint, open\nsurprises, and [current policy](../guides/multi-agent-workflow.md). Board/dashboard are generated\nprojections. Historical evidence is not current acceptance. No automatic commits or lab operations.\n\nFramework development is complete. The `controls-bootstrap` contract reached scoped acceptance;\nsee [rollout result](rollout/RESULT.md) and its current contract/verdict for source-bound evidence.\nActive work is reverse engineering. Change tooling only to unblock a named RE experiment.\n\n## Contract format\n\n`contract.schema.json` is strict JSON Schema (unknown fields and duplicate JSON keys fail).\nThe standard-library validator implements the schema's used subset. A populated example is\n[contracts/controls-bootstrap.json](contracts/controls-bootstrap.json); its lifecycle is in the record.\n\nRequired fields:\n\n| Field | Structure |\n|---|---|\n| `id`, `title`, `status` | Slug, short title, lifecycle state |\n| `owner` | `{ \"name\": \"worker-identity\", \"role\": \"implementer\" }` |\n| `baseline` | `{ \"engine\": {\"path\":\"/absolute/canonical/engine\",\"commit\":\"full-commit-id\"}, \"re\": {\"path\":\"/absolute/canonical/re\",\"commit\":\"full-commit-id\"} }` |\n| `scope`, `inputs`, `effects` | Arrays of explicit nonempty strings; include full write set and runtime inputs |\n| `original_dependencies` | String array, including original-assisted portions and unavailable inputs |\n| `dependencies` | Array of other contract IDs; all must be accepted before ready/implementing |\n| `acceptance` | Array of `{ \"id\": \"unique-criterion\", \"axis\": \"validation-scope\", \"criterion\": \"executable requirement\" }` |\n| `predictions`, `stop_conditions` | String arrays of predictions and conditions that halt work |\n| `checkpoint` | `null` or `campaign/runtime/checkpoints/.json` |\n\nOptional `evidence` is an array of\n`{id,axis,path,sha256,source,integrated,source_binding,binaries,inputs,outcomes}`.\n`path` is an existing canonical RE-relative artifact; `sha256` hashes its actual bytes; `source`\nequals the contract's complete baseline object. Store understanding,\nimplementation, original dependencies, and validation scope as separate acceptance/evidence axes.\nThere is no generic `verified` scalar. Baseline commit IDs describe starting repositories;\ndirty source identity is machine-bound by `source_binding`, never inferred from those commits.\nCriteria need distinct states, branch exposure, positive execution, complete writes/elements,\nallocations/IDs/events/RNG/runtime inputs, synthetic and original-game differentials as applicable.\nThe CLI checks package identity and declared axes; the independent reviewer evaluates the actual\ncriteria, gate outcomes, full manifests and integrated reproduction. A passing measurement alone\ndoes not establish acceptance.\n\n### Source-bound evidence interface (R4)\n\n`source_binding` is `{engine:{path,commit,sha256},re:{path,commit,sha256}}`. Generate it with:\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-replacement --engine-worktree /absolute/candidate-engine --re-worktree /absolute/candidate-re\n```\n\nOmit both worktree arguments to bind the canonical integrated trees. Paths must be Git worktree\nroots in the respective baseline repositories. `commit` is the actual current HEAD; `sha256`\nis the deterministic digest of the actual file manifest, including dirty/untracked nonignored\nfiles, deleted tracked paths (`null`), file bytes and Unix modes. Symlinks/submodules fail closed.\nThe fixed manifest policy uses `git ls-files --cached --others --exclude-standard`; ignored\nuntracked build/output files are not source. Python cache directories are excluded. In RE only,\n`verify/results/` and `campaign/` are excluded **except** `campaign/models.json`,\n`campaign/contract.schema.json`, and `campaign/agents/**`. These exclusions prevent mutable\ncontracts/checkpoints/evidence/projections from hashing themselves. Relevant RE tools, tests,\ngenerated facts and guides remain bound. Any consumed item outside that source inventory must\nappear among immutable input/binary artifacts. The independent reviewer checks inventory adequacy.\n\n`binaries` and `inputs` are nonempty arrays of `{path,sha256}` artifact references; for tooling\ncontracts, bind the executable scripts/interpreter identity package and fixture input package.\n`outcomes` exactly covers the acceptance criterion IDs for that evidence axis, with entries\n`{criterion,status,artifact:{path,sha256}}`; promotion requires `status: \"pass\"`. Outcome artifacts\ncontain positive execution, branch/state exposures, reproduction recipe and required effect/input\naccounting. The CLI checks identities, hashes and declared outcomes, **not arbitrary criterion\nsemantics**. The independent verifier must reproduce and challenge those claims.\n\nFor example, an outcome for the bootstrap contract is:\n\n```json\n{\"criterion\":\"controls-negative-paths\",\"status\":\"pass\",\"artifact\":{\"path\":\"verify/results/controls/result.json\",\"sha256\":\"\"}}\n```\n\nCapture bindings when producing evidence; do not attach a fresh source hash to old measurements.\nEvery evidence/verdict/promotion check rehashes referenced sources and artifacts. Same-HEAD byte\nchanges reject old evidence and verdicts. Integrated records require canonical paths, lead in\nintegration state, and one identical binding across **all** final integrated evidence. A lead's\n`integrated` boolean cannot substitute for this check. Verdicts bind the full evidence array and\nthe source-binding array; old verdicts lacking these identities must be reproduced.\n\nThis contract wrapper is separate from gate measurement schema **`sots-gate/1`**, whose `source`\nstill has `engine`/`re`. Reference its immutable manifest/binary/input package; do not rename its\nfields to match contract `source`. Reporter output is measured evidence, with `--require-match`\nfor required equality, and gains acceptance only through independent contract/integration gates.\n\n## State and transactions\n\nEvery command requires `--state-root /absolute/canonical/sots-re` (the repository, not `campaign/`).\nNo sibling inference. Control records stay below canonical `campaign/runtime/`; contracts remain\nin `campaign/contracts/`. Immutable hashed artifacts may be referenced anywhere inside canonical\nRE, including existing `verify/` corpora, without copying them. Absolute/traversing artifact paths,\noutside symlinks, Git internals and named secret/private-key locations are rejected; aliases are\nchecked after resolution too. Never reference secrets or commit owner-supplied binaries/assets.\nJSON writes are atomic and fsynced; a canonical `flock` serializes\nCLI mutations, WIP decisions, and resource acquisition. Do not hand-edit active state concurrently\nwith commands. Interrupted multi-file operations retain blocking records and require inspection.\n\nRuntime APIs (JSON files; no server):\n\n- `runtime/checkpoints/*.json`: `sots-checkpoint/1`, contract, actor/role/model/session, timestamp,\n contract `basis` digest, bounded summary (6000 characters), up to 32 `{path,sha256}` artifacts,\n and one `next_action` (2000 characters). Include observations versus decisions, source identities,\n tests, blockers, resources/access/cleanup, exact next action in the summary/artifacts.\n Do not attach the checkpoint's own contract as an artifact: saving the pointer changes that\n file. Its task metadata is already covered by `basis`; the CLI rejects this self-reference.\n- `runtime/surprises/*.json`: `sots-surprise/1`, id, contract, `status: open|resolved`, summary,\n discriminating probe, actor/model/session provenance where applicable, optional decision ID.\n- `runtime/decisions/*.json`: `sots-decision/1`, Astra resolution, explanation/probe, invalidated\n evidence and checkpoint; prior verdict is marked invalidated. Resolution returns needs-revision\n only when all surprises are closed. Re-probe and rebuild evidence; resolution is not acceptance.\n- `runtime/verdicts/.json`: independent verifier actor/session/model, pass/fail,\n explanation, contract basis, complete evidence digest and source-bindings digest.\n- `runtime/transitions/*.json`: actor/model, previous/next lifecycle state, timestamp.\n- `runtime/leases/.json`: owner, random token, held/released, acquisition/release provenance.\n- `runtime/runs/run-*.json`, `.jsonl`, `.stderr.log`: requested model/config, command, worktree\n manifests before/after, expanded prompt hash, effective configuration hashes, canonical config\n file hashes, actual events/session/model when emitted, completion/checkpoint status. Effective\n provider config is hashed rather than persisted because it can contain credentials.\n `active-.json` reserves the contract. Interrupted running reservations never auto-expire.\n\nLifecycle: `proposed -> ready -> implementing -> verification -> integration -> accepted`.\nBlocked and needs-revision edges support repairs; no skipping stages. Ready requires scope,\ninputs, acceptance, stop conditions, valid pinned baseline and accepted dependencies. Implementing\nis atomically capped at two concurrent contracts; lead schedules only one pilot before enabling\ntwo independent slices. Verification requires fresh checkpoint/artifacts after implementation start.\nIntegration requires lead plus independent passing verifier bound to current source/evidence.\nAccepted requires every declared axis in integrated evidence, passing independent verdict over\nthat final package, and no open surprises. Adding integrated evidence changes the evidence digest:\nthe verifier must attest the integrated package again. Handoff/promotion/end checkpoints must be\nwithin 15 minutes; recovery start has no age limit.\n\nRole/model registry: lead/architecture-review/analyst/implementer/verifier/lab =\n`openai/gpt-5.6-sol`; resolver = `openai/gpt-6-astra`.\nCLI identity fields are **claims, not authenticated model authority**. The runner requests the\nregistry model explicitly and records emitted provenance. Editable JSON, agent permissions and\nshell-accessible tooling are not a security boundary. No silent routing fallback.\n\n## Commands\n\nRun from either repository using the canonical tool path when necessary. Examples:\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re validate\npython3 tools/campaign.py --state-root /home/alex/sots-re list\npython3 tools/campaign.py --state-root /home/alex/sots-re status research-replacement\npython3 tools/campaign.py --state-root /home/alex/sots-re checkpoint controls-bootstrap --actor controls-architect --role architecture-review --model openai/gpt-6-astra --session rollout-controls --summary 'Source identities, observations, decisions, tests and blockers are in the attached checkpoint.' --artifact campaign/rollout/controls-worker-state.md --next-action 'Run the independent controls review.'\npython3 tools/campaign.py --state-root /home/alex/sots-re transition controls-bootstrap ready --actor controls-architect --role architecture-review --model openai/gpt-6-astra\n```\n\n`surprise CONTRACT --summary TEXT --probe TEXT` blocks immediately. `resolve SURPRISE_ID\n--explanation TEXT --probe TEXT` requires claimed Astra lead/resolver. Both also require\n`--actor NAME --role ROLE --model MODEL`. `evidence CONTRACT --record campaign/path.json`\nuses the same identity flags; record format is the evidence object above. Integrated records\nrequire lead and integration state. `verdict CONTRACT --session SESSION --verdict pass|fail\n--explanation TEXT` requires verifier identity flags and independent actor/session.\n\n```sh\npython3 tools/campaign.py --state-root /home/alex/sots-re lease acquire windows-vm --actor lab-one --role lab --model openai/gpt-5.5\npython3 tools/campaign.py --state-root /home/alex/sots-re lease show windows-vm\npython3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lab-one --role lab --model openai/gpt-5.5 --token TOKEN_FROM_ACQUIRE\npython3 tools/campaign.py --state-root /home/alex/sots-re lease release windows-vm --actor lead --role lead --model openai/gpt-6-astra --lead-release --reason 'Confirmed prior operator stopped; access and cleanup checked.'\n```\n\nNo stale lease stealing. Explicit lead release requires an explanation and lab preconditions,\nside effects, cleanup, and access verification in the operator checkpoint. Treat lease tokens\nas local owner capabilities, not secrets to put in a board/dashboard.\n\n## Fresh bounded launches\n\nPrepare **two actual linked worktrees**, each distinct from its canonical source repository,\nat the contract's full baseline commit. No auto commits/worktree creation. Launch uses explicit\ncanonical `OPENCODE_CONFIG`, checks matching repo-local agent/model/40 steps, and sets the final\nenvironment overlay to bind requested role/model/steps. Other inherited config overrides are\ncleared. `opencode models` must list the exact requested model even for dry runs.\n\n```sh\npython3 tools/run_agent.py --state-root /home/alex/sots-re --role implementer --actor worker-one --contract slice-one --engine-worktree /home/alex/worktrees/slice-one-engine --re-worktree /home/alex/worktrees/slice-one-re --cwd engine --dry-run\n```\n\nRemove `--dry-run` to execute. Normal worker launch requires a valid durable checkpoint, matching\nowner/role/status, no open surprises, baseline HEADs and canonical Git common-directory identity.\nRecovery checks checkpoint identity/basis and artifact hashes regardless of age, rechecks any\nsource-bound evidence, and validates paired Git worktree/baseline identity. Missing ordinary-worker\nstate still blocks. Bootstrap lead/architecture-review can start without a checkpoint; they still\nneed paired worktrees. Astra lead/resolver may launch a blocked contract with open surprises and\nwithout a worker checkpoint in **resolution-only** scope: read evidence and write decisions/state,\nno implementation. Its prompt and permission overlay carry that limit, and worktree source changes\nfail completion. Ordinary affected workers stay blocked. Other Astra architecture actors receive\nexplicit architecture authority within their owned scope. Each run is a fresh\n`opencode run --format json --model ... --agent ...`; no resume/continue option is used. The prompt\nsupplies the run ID to use as checkpoint `--session`; actual OpenCode session IDs are captured\nseparately when emitted. On exit, a checkpoint after start matching actor/role/model/run ID is\nmandatory or the run is marked incomplete. Completion additionally requires a zero exit, no\n`type:error`, a successful `step_finish` with `part.reason: \"stop\"`, one nonempty actual session ID,\nand consistent explicitly emitted model IDs. Text/tool-call/length events alone cannot complete a\nrun. Missing model emission is recorded `observed_model_status: \"unavailable\"`, never invented.\n\nThe runner checks the exact Git baseline again under reservation lock, rejects intervening contract\nchanges, and checks canonical model/prompt/config files and effective configuration for drift at\ncompletion. Expanded role prompt/model/steps are frozen in the last-layer environment overlay.\n`opencode debug config` runs in the actual launch cwd with the actual environment before execution\nand again at completion. Permissions explicitly allow read/search, ordinary worker shell commands,\nand external-directory access to the assigned paired trees plus canonical RE; role-specific edit\ndenies survive. Task delegation and interactive questions are denied. No `--auto` is required.\nNoninteractive command/environment tests and a live loader check cover this overlay; an actual\nnormal worker launch smoke is a separate lead integration check. Permissions and before/after\nchecks are operational guards, not a sandbox or continuous filesystem audit.\nCompaction is a backstop; no token threshold or machine-enforced 20-tool-call claim.\n\n## Local verification\n\n```sh\npython3 -m unittest discover -s verify/campaign -p 'test_*.py' -v\npython3 tools/campaign.py --state-root /home/alex/sots-re validate\n```\n\nTests create commits only in disposable fixture repositories, linked worktrees and fake OpenCode processes; they do\nnot launch agents or touch the lab. Historical rollout artifacts retain the scope and source identity\nof their runs; consult the accepted contract and current evidence, not an old handoff's status prose.","lineStart":1,"lineEnd":223,"totalLines":223,"truncated":false}},"title":"campaign/README.md","time":{"start":1789014913585,"end":1789014913595}},"metadata":{"openai":{"itemId":"fc_05ab8089d396166b016aa233807eb887d1ab31730cbb47e2d7"}},"id":"prt_089992e14001W5TSkCTxNbS6jM","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_089992692001zSjr3Xtt2H8aF6"}} +{"type":"step_finish","timestamp":1789014913683,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089993290001S9edT6s6mKAY3K","reason":"tool-calls","snapshot":"b671645262175ba086cc5c361c67974cb36b228b","messageID":"msg_089992692001zSjr3Xtt2H8aF6","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":6192,"input":531,"output":29,"reasoning":0,"cache":{"write":0,"read":5632}},"cost":0}} +{"type":"step_start","timestamp":1789014915935,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089993b5b001tk1ZnJeGmdvi0l","messageID":"msg_0899932b80019SSgcmGvJLWM0V","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"b24264e3db54f22cdf13ae2031fbc940272b9a36","type":"step-start"}} +{"type":"tool_use","timestamp":1789014917083,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_SgGkYshpuvn95q07KqQsw26e","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json"},"output":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json\nfile\n\n1: {\n2: \"acceptance\": [\n3: {\n4: \"axis\": \"static-recovery\",\n5: \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n6: \"id\": \"ownership-recovered\"\n7: },\n8: {\n9: \"axis\": \"validation\",\n10: \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n11: \"id\": \"independent-cross-check\"\n12: }\n13: ],\n14: \"baseline\": {\n15: \"engine\": {\n16: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n17: \"path\": \"/home/alex/sots-engine\"\n18: },\n19: \"re\": {\n20: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n21: \"path\": \"/home/alex/sots-re\"\n22: }\n23: },\n24: \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json\",\n25: \"dependencies\": [\n26: \"controls-bootstrap\"\n27: ],\n28: \"effects\": [\n29: \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n30: ],\n31: \"evidence\": [],\n32: \"id\": \"research-completion-abi\",\n33: \"inputs\": [\n34: \"Existing binary fingerprint/address contract and private RE findings\",\n35: \"Owner-supplied binary or live read-only ReVa endpoint\",\n36: \"Archived CR traces/saves for observed behavior\",\n37: \"Source-identical current engine/RE worktree snapshots\"\n38: ],\n39: \"original_dependencies\": [\n40: \"Original binary is the object of analysis, not a replacement dependency decision\"\n41: ],\n42: \"owner\": {\n43: \"name\": \"research-abi-analyst\",\n44: \"role\": \"analyst\"\n45: },\n46: \"predictions\": [\n47: \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n48: \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n49: ],\n50: \"scope\": [\n51: \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n52: \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n53: \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n54: \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n55: \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n56: ],\n57: \"status\": \"verification\",\n58: \"stop_conditions\": [\n59: \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n60: \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n61: \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n62: ],\n63: \"title\": \"RE: research completion record construction and allocator ABI\"\n64: }\n\n(End of file - total 64 lines)\n","metadata":{"preview":"{\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/contracts/research-completion-abi.json","text":"{\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"verification\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n}","lineStart":1,"lineEnd":64,"totalLines":64,"truncated":false}},"title":"campaign/contracts/research-completion-abi.json","time":{"start":1789014917074,"end":1789014917081}},"metadata":{"openai":{"itemId":"fc_0db1ad06dde71d79016aa23383e93887d18b497e0f132f60b4"}},"id":"prt_089993b5d001UlEKQ1I5syuGi3","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899932b80019SSgcmGvJLWM0V"}} +{"type":"step_finish","timestamp":1789014917150,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999401a001K8s16iAGfxonEo","reason":"tool-calls","snapshot":"49d8c5b4e9d183ebbd297fe0969597e7a1d1c481","messageID":"msg_0899932b80019SSgcmGvJLWM0V","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":10176,"input":4126,"output":34,"reasoning":0,"cache":{"write":0,"read":6016}},"cost":0}} +{"type":"step_start","timestamp":1789014919458,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999491e0011TV8JBePdy3AoF","messageID":"msg_089994046001hiLz9oi1JQhAf3","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"b5a50d801f8bfb1c1df85f299e4c3456cf3a78cb","type":"step-start"}} +{"type":"tool_use","timestamp":1789014920891,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_EaC8IuVTnkCqgCIwC3Fj28Lh","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json"},"output":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json\nfile\n\n1: {\n2: \"actor\": \"sots-lead\",\n3: \"artifacts\": [\n4: {\n5: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n6: \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n7: },\n8: {\n9: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md\",\n10: \"sha256\": \"f37e3c4bbf4c0dd249bb152422a786172d14d77fc912c7d8a4cb0d7240c0a3c7\"\n11: },\n12: {\n13: \"path\": \"campaign/research/research-completion-abi.md\",\n14: \"sha256\": \"23912a90a275f36679e1ed03d9d8830359299a2ecc269ec075f07d6f7425f4f6\"\n15: },\n16: {\n17: \"path\": \"verify/results/research-completion-abi/recovered-static.md\",\n18: \"sha256\": \"b6bfe302ebc96ab65eab31a86ff286a4bd3c43f3bba16610d9e87b04e5d40c35\"\n19: }\n20: ],\n21: \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n22: \"contract\": \"research-completion-abi\",\n23: \"id\": \"e3bbdd77d84190f5cb086090\",\n24: \"model\": \"openai/gpt-5.6-sol\",\n25: \"next_action\": \"Launch one fresh bounded verifier quantum as research-abi-correction-verifier to independently reproduce and challenge the corrected four-window package, then publish source-bound evidence and a verdict without promoting the contract.\",\n26: \"role\": \"lead\",\n27: \"schema\": \"sots-checkpoint/1\",\n28: \"session\": \"lead-verifier-assignment-20260910b\",\n29: \"summary\": \"Lead verifier assignment checkpoint after restoring author ownership for independence controls. Contract is in verification; author remains research-abi-analyst and assigned distinct verifier is research-abi-correction-verifier. Fresh repair package run-16f8e9b6376b278c4870be09 and corrected handoffs are unchanged. Campaign validation and 37 campaign tests passed. No VM, engine, game, allocator, Ghidra or build-host mutation occurred.\",\n30: \"timestamp\": \"2026-09-10T04:34:51.019450+00:00\"\n31: }\n\n(End of file - total 31 lines)\n","metadata":{"preview":"{\n \"actor\": \"sots-lead\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md\",\n \"sha256\": \"f37e3c4bbf4c0dd249bb152422a786172d14d77fc912c7d8a4cb0d7240c0a3c7\"\n },\n {\n \"path\": \"campaign/research/research-completion-abi.md\",\n \"sha256\": \"23912a90a275f36679e1ed03d9d8830359299a2ecc269ec075f07d6f7425f4f6\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/recovered-static.md\",\n \"sha256\": \"b6bfe302ebc96ab65eab31a86ff286a4bd3c43f3bba16610d9e87b04e5d40c35\"\n }\n ],","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json","text":"{\n \"actor\": \"sots-lead\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md\",\n \"sha256\": \"f37e3c4bbf4c0dd249bb152422a786172d14d77fc912c7d8a4cb0d7240c0a3c7\"\n },\n {\n \"path\": \"campaign/research/research-completion-abi.md\",\n \"sha256\": \"23912a90a275f36679e1ed03d9d8830359299a2ecc269ec075f07d6f7425f4f6\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/recovered-static.md\",\n \"sha256\": \"b6bfe302ebc96ab65eab31a86ff286a4bd3c43f3bba16610d9e87b04e5d40c35\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"e3bbdd77d84190f5cb086090\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Launch one fresh bounded verifier quantum as research-abi-correction-verifier to independently reproduce and challenge the corrected four-window package, then publish source-bound evidence and a verdict without promoting the contract.\",\n \"role\": \"lead\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"lead-verifier-assignment-20260910b\",\n \"summary\": \"Lead verifier assignment checkpoint after restoring author ownership for independence controls. Contract is in verification; author remains research-abi-analyst and assigned distinct verifier is research-abi-correction-verifier. Fresh repair package run-16f8e9b6376b278c4870be09 and corrected handoffs are unchanged. Campaign validation and 37 campaign tests passed. No VM, engine, game, allocator, Ghidra or build-host mutation occurred.\",\n \"timestamp\": \"2026-09-10T04:34:51.019450+00:00\"\n}","lineStart":1,"lineEnd":31,"totalLines":31,"truncated":false}},"title":"campaign/runtime/checkpoints/research-completion-abi-e3bbdd77d84190f5cb086090.json","time":{"start":1789014920880,"end":1789014920888}},"metadata":{"openai":{"itemId":"fc_0d5dce1eb975ee2f016aa233876c4487d187de1831cf3903bd"}},"id":"prt_089994921001Y02NLcSiqu5QLw","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_089994046001hiLz9oi1JQhAf3"}} +{"type":"step_finish","timestamp":1789014920994,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089994f1e001DFqsc5HjST5bRN","reason":"tool-calls","snapshot":"ddba9933761e069d239b60e71b2aca8f995100c3","messageID":"msg_089994046001hiLz9oi1JQhAf3","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":11304,"input":1271,"output":49,"reasoning":0,"cache":{"write":0,"read":9984}},"cost":0}} +{"type":"step_start","timestamp":1789014923306,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089995827001OQcOjdmAR44d0p","messageID":"msg_089994f4900148j6gqkNxw4OVD","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"5057b0a775f5666e9aac145122c9a09900064f75","type":"step-start"}} +{"type":"tool_use","timestamp":1789014928958,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"glob","callID":"call_nZ4licm2sC8FaOWyKOW9FtTf","state":{"status":"completed","input":{"pattern":"campaign/runtime/surprises/*.json","path":"/home/alex/sots-re"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json\n/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json\n/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json\n/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json\n/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json\n/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json\n/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json\n/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json\n/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json\n/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json\n/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json","metadata":{"count":11,"truncated":false},"title":"","time":{"start":1789014928907,"end":1789014928956}},"metadata":{"openai":{"itemId":"fc_038e1a67941cfa39016aa23390a71087d18777c6e5c7001def"}},"id":"prt_089996db6001BfGI68mMke5b6E","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_089994f4900148j6gqkNxw4OVD"}} +{"type":"step_finish","timestamp":1789014929001,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089996e65001TARoAPEfz5T8gA","reason":"tool-calls","snapshot":"31f1355caea20416a92135b983752efb7e063530","messageID":"msg_089994f4900148j6gqkNxw4OVD","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":12111,"input":914,"output":35,"reasoning":26,"cache":{"write":0,"read":11136}},"cost":0}} +{"type":"step_start","timestamp":1789014931224,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899977140011CYE0mZkGDVpvD","messageID":"msg_089996e90001szt3JeEczGexhB","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"60ad2d6ed9ad10a77e03cd0e223954e353beec74","type":"step-start"}} +{"type":"tool_use","timestamp":1789014932195,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_DnCmCmhuSdYZXwUpYn1tTlYL","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/guides/multi-agent-workflow.md"},"output":"/home/alex/sots-re/guides/multi-agent-workflow.md\nfile\n\n1: # Multi-agent operating architecture\n2: \n3: ## Product and milestone\n4: \n5: Reconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\n6: milestone is standalone replay given a captured command stream and complete declared runtime\n7: inputs. The first workflow pilot is the complete research write set. A passing host build is a\n8: component baseline, not a playable engine or independent replacement.\n9: \n10: ## Source of truth\n11: \n12: `campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\n13: leases and surprises, and evidence packages identify inputs, source and executable artifacts.\n14: `campaign/current.json` selects published evidence by path and digest. Board/dashboard are\n15: generated projections, never alternate writable authorities. Exact tool CLI/schema is documented\n16: in `campaign/README.md`. Historical findings retain their original experiment scope; they are\n17: not promoted by copying an old status into a new contract.\n18: \n19: ## Model authority\n20: \n21: | Responsibility | Model |\n22: |---|---|\n23: | Normal planning, architecture and integration loop | GPT-5.6 Sol |\n24: | Bounded RE analysis, implementation and independent verification | GPT-5.6 Sol |\n25: | Routine lab/workload operations | GPT-5.6 Sol |\n26: | Problem and surprise resolution | GPT-6 Astra |\n27: | Context compaction | GPT-5.5 |\n28: \n29: Exact provider IDs are in `campaign/models.json`. The lead escalates to Astra when a falsified\n30: assumption, conflict, instrument effect, or scope change blocks the loop. No fallback is automatic. Model names in editable JSON are\n31: provenance, not authentication: launcher events and independent review support the record.\n32: Permissions reduce accidental role drift; unrestricted local shell access is not a sandbox.\n33: \n34: ## Behavioral slice\n35: \n36: The lead specifies a bounded input domain, full observable write set, dependencies, acceptance\n37: workloads and stop conditions. The analyst recovers behavior; the verifier specifies discriminating\n38: tests before implementation; the implementer changes engine/adapters; the lab operator captures\n39: controls; the verifier reproduces; the integrator tests the combined source snapshot.\n40: \n41: Include transitive effects: allocations, IDs, container ELEMENTS, event text/records, RNG and\n42: nonserialized state. An address/function name is not a sufficient replacement boundary. If a\n43: neighbor function supplies required effects, extend the approved contract or expose it as an\n44: original dependency. Do not call the original and label the result independent.\n45: \n46: Lifecycle is `proposed → ready → implementing → verification → integration → accepted`, with\n47: blocked/revision states. Lifecycle is distinct from evidence strength. Acceptance is scoped to\n48: the manifest's exact procedure and workloads, never universal correctness.\n49: \n50: ## Independence\n51: \n52: Verifier and implementer are different executions. Verification starts with the contract, raw\n53: evidence and reproduction recipe, not just the author's conclusion. Require one meaningful\n54: challenge: held-out state, boundary, negative control, ablation, or independent state accounting.\n55: Both synthetic tests and original-game experiments matter. Repeat-call volume cannot replace\n56: branch and distinct-state coverage. Null effects and zero executions must be distinguishable.\n57: \n58: ## Sessions and recovery\n59: \n60: At most two implementation slices after a single-slice pilot. No nested worker delegation.\n61: Paired worktrees isolate source changes; unique build directories isolate artifacts. Canonical\n62: RE runtime state remains explicit even when a worker runs in `/tmp` worktrees.\n63: \n64: Checkpoint every 20 calls or 15min; also before experiments, compaction, handoff and stopping.\n65: Record source identities, exact changed paths, commands/results, artifacts and hashes, open\n66: surprises, held leases, requested/observed model, session identity and exact next action. Avoid\n67: large prose histories: raw logs belong in evidence; the checkpoint is a bounded resumption record.\n68: \n69: The launcher caps a quantum at 40 agent steps. A new quantum starts fresh using contract and\n70: checkpoint. Auto-compaction with an ample reserved window and four retained turns is enabled.\n71: This is a best-effort context backstop; regular durable checkpoints and fresh quanta provide the\n72: actual recovery discipline. Never claim a model compacted merely because a setting exists.\n73: \n74: ## Surprises\n75: \n76: On a falsified prediction, contradictory claim, unexplained regression, instrument interference,\n77: or newly necessary dependency: record the observation and evidence; block affected work. Astra\n78: first checks the instrument and source identity, then marks claims surviving/qualified/overturned,\n79: chooses a discriminating experiment, and records the revised plan. Unaffected contracted work\n80: may continue. Updating a paragraph without invalidating affected acceptance is insufficient.\n81: \n82: ## Lab ownership\n83: \n84: Acquire a canonical resource lease before VM, build-host or Ghidra mutation. An expired timestamp\n85: does not authorize stealing a lease. The lead reconciles stale ownership with actual processes.\n86: Use one guest at a time for maintenance, capture before/after inventory, preserve access and\n87: runtime dependencies, and verify unattended console login plus authenticated administration.\n88: Reboots require a free guest and a recorded recovery path. Runtime/Ghidra changes are experiments\n89: with provenance, not undocumented preparatory steps.\n90: \n91: ## Gate and publication\n92: \n93: Run the local gate with explicit engine, corpus, new output directory and profile. It snapshots\n94: source, uses fresh builds, records manifests and runs the expected test inventory once. Host\n95: profile allows a named list of unavailable asset/trace tests and publishes them as limitations.\n96: Full acceptance requires the full profile and the slice-specific original oracle; no blanket\n97: waiver converts a host pass to fidelity. Standalone measurement may diverge; acceptance may not.\n98: \n99: The integrator alone selects current results after verifying their hashes and source binding.\n100: No percentages of LOC, mapped rows or closed leaves purport to measure engine completeness.\n101: Run failure and missing evidence are visible states. Old results remain historical, not current.\n\n(End of file - total 101 lines)\n","metadata":{"preview":"# Multi-agent operating architecture\n\n## Product and milestone\n\nReconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\nmilestone is standalone replay given a captured command stream and complete declared runtime\ninputs. The first workflow pilot is the complete research write set. A passing host build is a\ncomponent baseline, not a playable engine or independent replacement.\n\n## Source of truth\n\n`campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\nleases and surprises, and evidence packages identify inputs, source and executable artifacts.\n`campaign/current.json` selects published evidence by path and digest. Board/dashboard are\ngenerated projections, never alternate writable authorities. Exact tool CLI/schema is documented\nin `campaign/README.md`. Historical findings retain their original experiment scope; they are\nnot promoted by copying an old status into a new contract.\n\n## Model authority\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/guides/multi-agent-workflow.md","text":"# Multi-agent operating architecture\n\n## Product and milestone\n\nReconstruct a behavior-equivalent engine consuming owner-supplied assets. The next product\nmilestone is standalone replay given a captured command stream and complete declared runtime\ninputs. The first workflow pilot is the complete research write set. A passing host build is a\ncomponent baseline, not a playable engine or independent replacement.\n\n## Source of truth\n\n`campaign/contracts/` holds versioned tasks, `campaign/runtime/` holds checkpoints, sessions,\nleases and surprises, and evidence packages identify inputs, source and executable artifacts.\n`campaign/current.json` selects published evidence by path and digest. Board/dashboard are\ngenerated projections, never alternate writable authorities. Exact tool CLI/schema is documented\nin `campaign/README.md`. Historical findings retain their original experiment scope; they are\nnot promoted by copying an old status into a new contract.\n\n## Model authority\n\n| Responsibility | Model |\n|---|---|\n| Normal planning, architecture and integration loop | GPT-5.6 Sol |\n| Bounded RE analysis, implementation and independent verification | GPT-5.6 Sol |\n| Routine lab/workload operations | GPT-5.6 Sol |\n| Problem and surprise resolution | GPT-6 Astra |\n| Context compaction | GPT-5.5 |\n\nExact provider IDs are in `campaign/models.json`. The lead escalates to Astra when a falsified\nassumption, conflict, instrument effect, or scope change blocks the loop. No fallback is automatic. Model names in editable JSON are\nprovenance, not authentication: launcher events and independent review support the record.\nPermissions reduce accidental role drift; unrestricted local shell access is not a sandbox.\n\n## Behavioral slice\n\nThe lead specifies a bounded input domain, full observable write set, dependencies, acceptance\nworkloads and stop conditions. The analyst recovers behavior; the verifier specifies discriminating\ntests before implementation; the implementer changes engine/adapters; the lab operator captures\ncontrols; the verifier reproduces; the integrator tests the combined source snapshot.\n\nInclude transitive effects: allocations, IDs, container ELEMENTS, event text/records, RNG and\nnonserialized state. An address/function name is not a sufficient replacement boundary. If a\nneighbor function supplies required effects, extend the approved contract or expose it as an\noriginal dependency. Do not call the original and label the result independent.\n\nLifecycle is `proposed → ready → implementing → verification → integration → accepted`, with\nblocked/revision states. Lifecycle is distinct from evidence strength. Acceptance is scoped to\nthe manifest's exact procedure and workloads, never universal correctness.\n\n## Independence\n\nVerifier and implementer are different executions. Verification starts with the contract, raw\nevidence and reproduction recipe, not just the author's conclusion. Require one meaningful\nchallenge: held-out state, boundary, negative control, ablation, or independent state accounting.\nBoth synthetic tests and original-game experiments matter. Repeat-call volume cannot replace\nbranch and distinct-state coverage. Null effects and zero executions must be distinguishable.\n\n## Sessions and recovery\n\nAt most two implementation slices after a single-slice pilot. No nested worker delegation.\nPaired worktrees isolate source changes; unique build directories isolate artifacts. Canonical\nRE runtime state remains explicit even when a worker runs in `/tmp` worktrees.\n\nCheckpoint every 20 calls or 15min; also before experiments, compaction, handoff and stopping.\nRecord source identities, exact changed paths, commands/results, artifacts and hashes, open\nsurprises, held leases, requested/observed model, session identity and exact next action. Avoid\nlarge prose histories: raw logs belong in evidence; the checkpoint is a bounded resumption record.\n\nThe launcher caps a quantum at 40 agent steps. A new quantum starts fresh using contract and\ncheckpoint. Auto-compaction with an ample reserved window and four retained turns is enabled.\nThis is a best-effort context backstop; regular durable checkpoints and fresh quanta provide the\nactual recovery discipline. Never claim a model compacted merely because a setting exists.\n\n## Surprises\n\nOn a falsified prediction, contradictory claim, unexplained regression, instrument interference,\nor newly necessary dependency: record the observation and evidence; block affected work. Astra\nfirst checks the instrument and source identity, then marks claims surviving/qualified/overturned,\nchooses a discriminating experiment, and records the revised plan. Unaffected contracted work\nmay continue. Updating a paragraph without invalidating affected acceptance is insufficient.\n\n## Lab ownership\n\nAcquire a canonical resource lease before VM, build-host or Ghidra mutation. An expired timestamp\ndoes not authorize stealing a lease. The lead reconciles stale ownership with actual processes.\nUse one guest at a time for maintenance, capture before/after inventory, preserve access and\nruntime dependencies, and verify unattended console login plus authenticated administration.\nReboots require a free guest and a recorded recovery path. Runtime/Ghidra changes are experiments\nwith provenance, not undocumented preparatory steps.\n\n## Gate and publication\n\nRun the local gate with explicit engine, corpus, new output directory and profile. It snapshots\nsource, uses fresh builds, records manifests and runs the expected test inventory once. Host\nprofile allows a named list of unavailable asset/trace tests and publishes them as limitations.\nFull acceptance requires the full profile and the slice-specific original oracle; no blanket\nwaiver converts a host pass to fidelity. Standalone measurement may diverge; acceptance may not.\n\nThe integrator alone selects current results after verifying their hashes and source binding.\nNo percentages of LOC, mapped rows or closed leaves purport to measure engine completeness.\nRun failure and missing evidence are visible states. Old results remain historical, not current.","lineStart":1,"lineEnd":101,"totalLines":101,"truncated":false}},"title":"guides/multi-agent-workflow.md","time":{"start":1789014932186,"end":1789014932192}},"metadata":{"openai":{"itemId":"fc_049bb3f68a2587d4016aa23393318087d186fa5fb06ea4e3fb"}},"id":"prt_089997716001tAcYh74dQxNqyp","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_089996e90001szt3JeEczGexhB"}} +{"type":"step_finish","timestamp":1789014932263,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_089997b19001yo4FxCb0nxa0nT","reason":"tool-calls","snapshot":"10a39559c47b41f595daf2c3b3e30624b2a26622","messageID":"msg_089996e90001szt3JeEczGexhB","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":12494,"input":557,"output":33,"reasoning":0,"cache":{"write":0,"read":11904}},"cost":0}} +{"type":"step_start","timestamp":1789014933934,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899981a9001EPMZczw1NQTUiX","messageID":"msg_089997b4b001uSOpEj39WOA7l6","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"4ded68a7e0f8e5a16ac8fe0b4b2a527449cc59d8","type":"step-start"}} +{"type":"tool_use","timestamp":1789014934668,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_nkRcO3SVQdQVZUi7j7aBTjkX","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/AGENTS.md"},"output":"/home/alex/sots-re/AGENTS.md\nfile\n\n1: # SOTS campaign instructions\n2: \n3: This repository is the state authority for the SOTS reconstruction and its Windows lab.\n4: Start with `campaign/README.md`, your contract, its latest checkpoint, and open surprises.\n5: Current policy: `guides/multi-agent-workflow.md`. Engine architecture: `sots-engine/docs/architecture.md`.\n6: Historical findings are evidence, not current execution instructions or accepted status.\n7: \n8: ## Authority and models\n9: \n10: - The normal lead/RE/implementation/verification/lab loop runs on **GPT-5.6 Sol\n11: (`openai/gpt-5.6-sol`)**. Reserve **GPT-6 Astra (`openai/gpt-6-astra`)** for resolving\n12: falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.\n13: - `campaign/models.json` is the role/model registry. Launch with `tools/run_agent.py` and an\n14: explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.\n15: - Ordinary implementation/test failures inside the contract may be fixed by its worker.\n16: Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope\n17: require a recorded surprise and an Astra resolution before affected work continues.\n18: - No worker subdelegation. The lead assigns parallelism; max two implementation slices after\n19: the pilot. Independent workload preparation is scheduled against explicit resource leases.\n20: \n21: ## Durable state and context\n22: \n23: Checkpoint in the canonical RE state root every **20 tool calls or 15 minutes**, whichever is\n24: earlier, and before an experiment, compaction, handoff, or stop. Include model/session, exact\n25: source identities, evidence paths, decisions versus observations, tests, blockers, and ONE exact\n26: next action. Do not store state only in a chat summary or `/tmp`.\n27: The runner uses bounded 40-step quanta. After checkpointing, stop and restart from the repository;\n28: automatic compaction is a backstop, not proof that a checkpoint was written. On recovery read the\n29: contract/checkpoint, verify worktree and resource identities, then continue. Missing state means\n30: blocked, not permission to reconstruct progress from memory.\n31: \n32: ## Ownership\n33: \n34: Use distinct engine and RE worktrees per lane, baseline-pinned. Canonical runtime state is shared\n35: only through the campaign tools. One integrator writes current evidence pointers and projections.\n36: Never stage someone else's changes. No automatic commit, push, pull, or reset. Commands requiring\n37: these actions need explicit user authorization. Source edits use apply_patch.\n38: VM, shared build-host, and Ghidra mutation require leases. A stale lease is not automatically free.\n39: Record preconditions, side effects, cleanup and access verification for any lab operation.\n40: Rollout bootstrap file-ownership exception: `campaign/rollout/architecture-decision.md` only.\n41: \n42: ## Evidence\n43: \n44: No generic `verified` promotion. Separate understanding, implementation, original dependencies,\n45: and validation scope. A count is insufficient without distinct states, branch exposures, and\n46: positive execution evidence. Include all writes, container elements, allocations, IDs, events,\n47: RNG draws, and runtime-only inputs. Original-assisted execution is not independent replacement.\n48: Synthetic boundary tests and original-game differential tests are complementary. Missing required\n49: inputs, zero execution, incomplete coverage, unexpected skips, stale binaries or unbound source\n50: identity fail acceptance. One independent verifier must reproduce the package; integrated-tree\n51: evidence is required for acceptance. Reports are measurements until those gates pass.\n52: \n53: Never commit owner-supplied binaries/assets or secrets. Engine facts cross only documented\n54: generated channels. Never paste disassembly/decompiler output into the engine repository.\n\n(End of file - total 54 lines)\n","metadata":{"preview":"# SOTS campaign instructions\n\nThis repository is the state authority for the SOTS reconstruction and its Windows lab.\nStart with `campaign/README.md`, your contract, its latest checkpoint, and open surprises.\nCurrent policy: `guides/multi-agent-workflow.md`. Engine architecture: `sots-engine/docs/architecture.md`.\nHistorical findings are evidence, not current execution instructions or accepted status.\n\n## Authority and models\n\n- The normal lead/RE/implementation/verification/lab loop runs on **GPT-5.6 Sol\n (`openai/gpt-5.6-sol`)**. Reserve **GPT-6 Astra (`openai/gpt-6-astra`)** for resolving\n falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.\n- `campaign/models.json` is the role/model registry. Launch with `tools/run_agent.py` and an\n explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.\n- Ordinary implementation/test failures inside the contract may be fixed by its worker.\n Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope\n require a recorded surprise and an Astra resolution before affected work continues.\n- No worker subdelegation. The lead assigns parallelism; max two implementation slices after\n the pilot. Independent workload preparation is scheduled against explicit resource leases.\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/AGENTS.md","text":"# SOTS campaign instructions\n\nThis repository is the state authority for the SOTS reconstruction and its Windows lab.\nStart with `campaign/README.md`, your contract, its latest checkpoint, and open surprises.\nCurrent policy: `guides/multi-agent-workflow.md`. Engine architecture: `sots-engine/docs/architecture.md`.\nHistorical findings are evidence, not current execution instructions or accepted status.\n\n## Authority and models\n\n- The normal lead/RE/implementation/verification/lab loop runs on **GPT-5.6 Sol\n (`openai/gpt-5.6-sol`)**. Reserve **GPT-6 Astra (`openai/gpt-6-astra`)** for resolving\n falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.\n- `campaign/models.json` is the role/model registry. Launch with `tools/run_agent.py` and an\n explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.\n- Ordinary implementation/test failures inside the contract may be fixed by its worker.\n Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope\n require a recorded surprise and an Astra resolution before affected work continues.\n- No worker subdelegation. The lead assigns parallelism; max two implementation slices after\n the pilot. Independent workload preparation is scheduled against explicit resource leases.\n\n## Durable state and context\n\nCheckpoint in the canonical RE state root every **20 tool calls or 15 minutes**, whichever is\nearlier, and before an experiment, compaction, handoff, or stop. Include model/session, exact\nsource identities, evidence paths, decisions versus observations, tests, blockers, and ONE exact\nnext action. Do not store state only in a chat summary or `/tmp`.\nThe runner uses bounded 40-step quanta. After checkpointing, stop and restart from the repository;\nautomatic compaction is a backstop, not proof that a checkpoint was written. On recovery read the\ncontract/checkpoint, verify worktree and resource identities, then continue. Missing state means\nblocked, not permission to reconstruct progress from memory.\n\n## Ownership\n\nUse distinct engine and RE worktrees per lane, baseline-pinned. Canonical runtime state is shared\nonly through the campaign tools. One integrator writes current evidence pointers and projections.\nNever stage someone else's changes. No automatic commit, push, pull, or reset. Commands requiring\nthese actions need explicit user authorization. Source edits use apply_patch.\nVM, shared build-host, and Ghidra mutation require leases. A stale lease is not automatically free.\nRecord preconditions, side effects, cleanup and access verification for any lab operation.\nRollout bootstrap file-ownership exception: `campaign/rollout/architecture-decision.md` only.\n\n## Evidence\n\nNo generic `verified` promotion. Separate understanding, implementation, original dependencies,\nand validation scope. A count is insufficient without distinct states, branch exposures, and\npositive execution evidence. Include all writes, container elements, allocations, IDs, events,\nRNG draws, and runtime-only inputs. Original-assisted execution is not independent replacement.\nSynthetic boundary tests and original-game differential tests are complementary. Missing required\ninputs, zero execution, incomplete coverage, unexpected skips, stale binaries or unbound source\nidentity fail acceptance. One independent verifier must reproduce the package; integrated-tree\nevidence is required for acceptance. Reports are measurements until those gates pass.\n\nNever commit owner-supplied binaries/assets or secrets. Engine facts cross only documented\ngenerated channels. Never paste disassembly/decompiler output into the engine repository.","lineStart":1,"lineEnd":54,"totalLines":54,"truncated":false}},"title":"AGENTS.md","time":{"start":1789014934660,"end":1789014934666}},"metadata":{"openai":{"itemId":"fc_0ebadde8d7ec228c016aa23395e7dc87d1844fb91034108ae4"}},"id":"prt_0899981ac0016Qz9CSpogz2GvM","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_089997b4b001uSOpEj39WOA7l6"}} +{"type":"step_finish","timestamp":1789014934763,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899984e7001DBUX55jZRqGISr","reason":"tool-calls","snapshot":"325a10379dbbb817d7e710a4b99f2496b1d82c84","messageID":"msg_089997b4b001uSOpEj39WOA7l6","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":13948,"input":1632,"output":28,"reasoning":0,"cache":{"write":0,"read":12288}},"cost":0}} +{"type":"step_start","timestamp":1789014938381,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999930a001ilGedXUj2QwjqI","messageID":"msg_0899985100010iVZn94q64as8m","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"293a20ec7e9fed1d53b575d536df684c2847daa0","type":"step-start"}} +{"type":"tool_use","timestamp":1789014941614,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_ISb2En20jgz9MzsQUFxCqyXk","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json\nfile\n\n1: {\n2: \"actor\": \"controls-architect\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-42c6d0b4ee5114e6f2e07c99\",\n5: \"id\": \"s-410e48d5ae6cc4da0a6ae649\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Introduce an immutable typed acceptance package binding candidate/integrated source manifests, built binary, inputs and per-criterion results; change source bytes at unchanged HEAD and require integration/acceptance rejection.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent review R4: lifecycle source binding checks baseline path/commit and artifact hashes, but not the actual candidate/integrated source manifest. Implementation bytes can change at the same HEAD without invalidating the current evidence/verdict. This requires a cross-cutting evidence package/interface decision with publishing and gate owners.\",\n12: \"timestamp\": \"2026-09-09T21:34:52.829937+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-42c6d0b4ee5114e6f2e07c99\",\n \"id\": \"s-410e48d5ae6cc4da0a6ae649\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Introduce an immutable typed acceptance package binding candidate/integrated source manifests, built binary, inputs and per-criterion results; change source bytes at unchanged HEAD and require integration/acceptance rejection.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R4: lifecycle source binding checks baseline path/commit and artifact hashes, but not the actual candidate/integrated source manifest. Implementation bytes can change at the same HEAD without invalidating the current evidence/verdict. This requires a cross-cutting evidence package/interface decision with publishing and gate owners.\",\n \"timestamp\": \"2026-09-09T21:34:52.829937+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json","text":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-42c6d0b4ee5114e6f2e07c99\",\n \"id\": \"s-410e48d5ae6cc4da0a6ae649\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Introduce an immutable typed acceptance package binding candidate/integrated source manifests, built binary, inputs and per-criterion results; change source bytes at unchanged HEAD and require integration/acceptance rejection.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R4: lifecycle source binding checks baseline path/commit and artifact hashes, but not the actual candidate/integrated source manifest. Implementation bytes can change at the same HEAD without invalidating the current evidence/verdict. This requires a cross-cutting evidence package/interface decision with publishing and gate owners.\",\n \"timestamp\": \"2026-09-09T21:34:52.829937+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-410e48d5ae6cc4da0a6ae649.json","time":{"start":1789014941605,"end":1789014941612}},"metadata":{"openai":{"itemId":"fc_0364eb978f4d751c016aa2339c70c087d1ac63702ff04ed960"}},"id":"prt_089999b51001oGO0L5AVCFvqRy","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899985100010iVZn94q64as8m"}} +{"type":"step_finish","timestamp":1789014941717,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999a012001mLjx3Ss14LXVrr","reason":"tool-calls","snapshot":"1e8bcd34fe668c1799d8ed182ccaddb355cd9c8e","messageID":"msg_0899985100010iVZn94q64as8m","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":14940,"input":1017,"output":50,"reasoning":49,"cache":{"write":0,"read":13824}},"cost":0}} +{"type":"step_start","timestamp":1789014945115,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999ad570018nE2kCdUVlRBdB","messageID":"msg_08999a036001PhpRLEXLKOcVHk","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"1e0aaa516ef4db517b20ea8017f251640fca0fac","type":"step-start"}} +{"type":"tool_use","timestamp":1789014946420,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_e6grAqWhuyA9oRmtbNY5yXQP","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json\nfile\n\n1: {\n2: \"actor\": \"live-record surprise resolver\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-b51f3f76803e852ed250846a\",\n5: \"id\": \"s-c6786945b302de2a0b629960\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.\",\n8: \"role\": \"resolver\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.\",\n12: \"timestamp\": \"2026-09-10T04:18:25.950030+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-b51f3f76803e852ed250846a\",\n \"id\": \"s-c6786945b302de2a0b629960\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.\",\n \"timestamp\": \"2026-09-10T04:18:25.950030+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-c6786945b302de2a0b629960.json","text":"{\n \"actor\": \"live-record surprise resolver\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-b51f3f76803e852ed250846a\",\n \"id\": \"s-c6786945b302de2a0b629960\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.\",\n \"role\": \"resolver\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.\",\n \"timestamp\": \"2026-09-10T04:18:25.950030+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-c6786945b302de2a0b629960.json","time":{"start":1789014946410,"end":1789014946418}},"metadata":{"openai":{"itemId":"fc_0a74e1d568549d32016aa233a1034c87d1b811c6bb36d8a4f4"}},"id":"prt_08999ad59001MQUsapSPtfjB8E","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999a036001PhpRLEXLKOcVHk"}} +{"type":"step_finish","timestamp":1789014946480,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999b2ac001IjQGQ6lFE4jDhj","reason":"tool-calls","snapshot":"a264a34c9b1e0e345e79e732f28a6e89fd8e23af","messageID":"msg_08999a036001PhpRLEXLKOcVHk","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":15323,"input":558,"output":45,"reasoning":0,"cache":{"write":0,"read":14720}},"cost":0}} +{"type":"step_start","timestamp":1789014948328,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999b9e3001Td2lxeyg58HmmU","messageID":"msg_08999b2d6001pRz1LfRT94B41T","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"28e66ca6cb2df2ce54d735e25843b653075e4c97","type":"step-start"}} +{"type":"tool_use","timestamp":1789014949709,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_14BRCCk23To4NPdWATXIssJv","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json\nfile\n\n1: {\n2: \"actor\": \"final-controls-verifier\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-d2aeed91781c4da6057f00a7\",\n5: \"id\": \"s-abd1c3613c9922cc94c608d5\",\n6: \"model\": \"openai/gpt-5.6-terra\",\n7: \"probe\": \"From canonical RE, run source-binding once with no worktree arguments and once with the assigned paired paths; confirm the differing RE digest and absence of paired tools/campaign.py plus verify/campaign/test_controls.py. Astra must decide whether independent integrated reproduction may use only dirty canonical trees or provide source-identical linked worktrees and repeat/attest verification.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Falsified paired-worktree reproducibility assumption. The assigned /tmp/opencode/sots-launch-re is clean at the pinned RE HEAD but lacks tools/campaign.py and verify/campaign/test_controls.py; its source binding is 67b7b60509fe43c8d23382003fed069fb32549094eea0c039b75475e32a7a9eb, not the evidence binding 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Engine paired binding likewise differs (949dfb46... versus ccd8e020...). Canonical integrated trees do rehash exactly to the claimed binding and declared binary/input/outcome hashes match, but the supplied isolated paired source cannot reproduce the package from handoff alone. This blocks the final independent integrated verdict under the required linked-worktree/reproduction guard.\",\n12: \"timestamp\": \"2026-09-09T22:25:50.265100+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"final-controls-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-d2aeed91781c4da6057f00a7\",\n \"id\": \"s-abd1c3613c9922cc94c608d5\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"From canonical RE, run source-binding once with no worktree arguments and once with the assigned paired paths; confirm the differing RE digest and absence of paired tools/campaign.py plus verify/campaign/test_controls.py. Astra must decide whether independent integrated reproduction may use only dirty canonical trees or provide source-identical linked worktrees and repeat/attest verification.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Falsified paired-worktree reproducibility assumption. The assigned /tmp/opencode/sots-launch-re is clean at the pinned RE HEAD but lacks tools/campaign.py and verify/campaign/test_controls.py; its source binding is 67b7b60509fe43c8d23382003fed069fb32549094eea0c039b75475e32a7a9eb, not the evidence binding 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Engine paired binding likewise differs (949dfb46... versus ccd8e020...). Canonical integrated trees do rehash exactly to the claimed binding and declared binary/input/outcome hashes match, but the supplied isolated paired source cannot reproduce the package from handoff alone. This blocks the final independent integrated verdict under the required linked-worktree/reproduction guard.\",\n \"timestamp\": \"2026-09-09T22:25:50.265100+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json","text":"{\n \"actor\": \"final-controls-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-d2aeed91781c4da6057f00a7\",\n \"id\": \"s-abd1c3613c9922cc94c608d5\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"From canonical RE, run source-binding once with no worktree arguments and once with the assigned paired paths; confirm the differing RE digest and absence of paired tools/campaign.py plus verify/campaign/test_controls.py. Astra must decide whether independent integrated reproduction may use only dirty canonical trees or provide source-identical linked worktrees and repeat/attest verification.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Falsified paired-worktree reproducibility assumption. The assigned /tmp/opencode/sots-launch-re is clean at the pinned RE HEAD but lacks tools/campaign.py and verify/campaign/test_controls.py; its source binding is 67b7b60509fe43c8d23382003fed069fb32549094eea0c039b75475e32a7a9eb, not the evidence binding 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Engine paired binding likewise differs (949dfb46... versus ccd8e020...). Canonical integrated trees do rehash exactly to the claimed binding and declared binary/input/outcome hashes match, but the supplied isolated paired source cannot reproduce the package from handoff alone. This blocks the final independent integrated verdict under the required linked-worktree/reproduction guard.\",\n \"timestamp\": \"2026-09-09T22:25:50.265100+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-abd1c3613c9922cc94c608d5.json","time":{"start":1789014949699,"end":1789014949707}},"metadata":{"openai":{"itemId":"fc_04a71c6f1e8fd0fb016aa233a44d6087d187d47afca3bf520f"}},"id":"prt_08999b9e6001wn7WmTCbz9A22H","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999b2d6001pRz1LfRT94B41T"}} +{"type":"step_finish","timestamp":1789014949773,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999bf8a0011bEr2W3ygkQst7","reason":"tool-calls","snapshot":"471e8187a6d878903be4a973716430fe73519479","messageID":"msg_08999b2d6001pRz1LfRT94B41T","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":15831,"input":680,"output":47,"reasoning":0,"cache":{"write":0,"read":15104}},"cost":0}} +{"type":"step_start","timestamp":1789014952742,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999cb220010mcnVQIVeC5Qgo","messageID":"msg_08999bfb2001WD1qtRGjGm8d4p","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"4b1bd9e4d16915177b00abf30717eed3d6f0b6c9","type":"step-start"}} +{"type":"tool_use","timestamp":1789014954454,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_XGnrOKLisuZHUjWice0d8YwX","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json\nfile\n\n1: {\n2: \"actor\": \"live-record bridge architect\",\n3: \"contract\": \"research-live-record-bridge\",\n4: \"decision\": \"d-6f4134237e68860fb02e8684\",\n5: \"id\": \"s-5a78d3a0a10c1f8545df8eb1\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.\",\n12: \"timestamp\": \"2026-09-10T04:14:21.422536+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-6f4134237e68860fb02e8684\",\n \"id\": \"s-5a78d3a0a10c1f8545df8eb1\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.\",\n \"timestamp\": \"2026-09-10T04:14:21.422536+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json","text":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-6f4134237e68860fb02e8684\",\n \"id\": \"s-5a78d3a0a10c1f8545df8eb1\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.\",\n \"timestamp\": \"2026-09-10T04:14:21.422536+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json","time":{"start":1789014954445,"end":1789014954452}},"metadata":{"openai":{"itemId":"fc_050236664409c9d0016aa233a8a9f887d1b6766a3d106de60b"}},"id":"prt_08999cb24001553uWjG33xd5HC","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999bfb2001WD1qtRGjGm8d4p"}} +{"type":"step_finish","timestamp":1789014954923,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999d3a8001tNqESOkmfTkrV2","reason":"tool-calls","snapshot":"9727d33f80f3ce3f5a6a5eb35100b5e72e4e4ef3","messageID":"msg_08999bfb2001WD1qtRGjGm8d4p","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":16384,"input":717,"output":51,"reasoning":0,"cache":{"write":0,"read":15616}},"cost":0}} +{"type":"step_start","timestamp":1789014957467,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999dd98001Pq7dskjI7o76ni","messageID":"msg_08999d3cf001Guus6AQx17fKFj","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"f48a4a7ffa73c658dcfc90a29fb8a51e1ac82d66","type":"step-start"}} +{"type":"tool_use","timestamp":1789014958832,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_txJrjSPRApltQsvr1nkcAslL","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json\nfile\n\n1: {\n2: \"actor\": \"rollout-lead\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-6239404c8f40351310c8abf0\",\n5: \"id\": \"s-6d1fcc617a20ca2bcbffc0cc\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Allow verifier launch in verification and integration; reject owner overlap, source drift and open surprises in both.\",\n8: \"role\": \"lead\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent Astra R8: verifier launch permits verification only, but final integrated evidence requires a fresh verifier execution in integration.\",\n12: \"timestamp\": \"2026-09-09T22:09:56.316247+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"rollout-lead\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-6239404c8f40351310c8abf0\",\n \"id\": \"s-6d1fcc617a20ca2bcbffc0cc\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Allow verifier launch in verification and integration; reject owner overlap, source drift and open surprises in both.\",\n \"role\": \"lead\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent Astra R8: verifier launch permits verification only, but final integrated evidence requires a fresh verifier execution in integration.\",\n \"timestamp\": \"2026-09-09T22:09:56.316247+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json","text":"{\n \"actor\": \"rollout-lead\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-6239404c8f40351310c8abf0\",\n \"id\": \"s-6d1fcc617a20ca2bcbffc0cc\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Allow verifier launch in verification and integration; reject owner overlap, source drift and open surprises in both.\",\n \"role\": \"lead\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent Astra R8: verifier launch permits verification only, but final integrated evidence requires a fresh verifier execution in integration.\",\n \"timestamp\": \"2026-09-09T22:09:56.316247+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-6d1fcc617a20ca2bcbffc0cc.json","time":{"start":1789014958812,"end":1789014958830}},"metadata":{"openai":{"itemId":"fc_0cfdfb83ff1a7d05016aa233ad6de087d188f96f82c50a5478"}},"id":"prt_08999dd9a001vsbwdgsU2CDC2m","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999d3cf001Guus6AQx17fKFj"}} +{"type":"step_finish","timestamp":1789014958932,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999e340001RnjwD7Ja11UCIZ","reason":"tool-calls","snapshot":"e0e94af6092b4ac1367a8e144e92deda52ea9d8a","messageID":"msg_08999d3cf001Guus6AQx17fKFj","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":17086,"input":911,"output":47,"reasoning":0,"cache":{"write":0,"read":16128}},"cost":0}} +{"type":"step_start","timestamp":1789014960818,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999eaae0013EG00hx5qbxdYm","messageID":"msg_08999e385001zpMee44LyK13TC","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"aa13ea876b50203569d27a2028f534eb63132e4b","type":"step-start"}} +{"type":"tool_use","timestamp":1789014962220,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_8armcZZeU2Tq4JN4UErLLMvh","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-independent\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-d2a9b8be6399a6abaa0e05a5\",\n5: \"id\": \"s-5c58b6a921997731f5b5ae1f\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra should first rerun both objdump -D -Mintel --start-address=0x00825d40 --stop-address=0x00825e65 dumps/sots.exe and the minimally widened --stop-address=0x00825e67 command against SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, archive raw stdout bytes and objdump executable hash/version, and decide whether the existing capture was manually spliced or generated with a different effective boundary. Repair provenance before independent ABI interpretation resumes.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent reproduction falsified the handoff claim that objdump-2026-09-09-dedup-helper.txt is unfiltered output from its exact first command. With the SHA256-matched executable and GNU objdump 2.38, the declared stop-address 0x00825e65 truncates the three-byte instruction beginning at 0x00825e64: current stdout is bytes c2 while the archive records c2 08 00. The other three declared windows reproduce exactly after only line-end whitespace normalization. This is a provenance/instrument-boundary contradiction; dedup interpretation is paused rather than converting the otherwise matching instructions into success.\",\n12: \"timestamp\": \"2026-09-10T00:19:20.577736+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d2a9b8be6399a6abaa0e05a5\",\n \"id\": \"s-5c58b6a921997731f5b5ae1f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should first rerun both objdump -D -Mintel --start-address=0x00825d40 --stop-address=0x00825e65 dumps/sots.exe and the minimally widened --stop-address=0x00825e67 command against SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, archive raw stdout bytes and objdump executable hash/version, and decide whether the existing capture was manually spliced or generated with a different effective boundary. Repair provenance before independent ABI interpretation resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent reproduction falsified the handoff claim that objdump-2026-09-09-dedup-helper.txt is unfiltered output from its exact first command. With the SHA256-matched executable and GNU objdump 2.38, the declared stop-address 0x00825e65 truncates the three-byte instruction beginning at 0x00825e64: current stdout is bytes c2 while the archive records c2 08 00. The other three declared windows reproduce exactly after only line-end whitespace normalization. This is a provenance/instrument-boundary contradiction; dedup interpretation is paused rather than converting the otherwise matching instructions into success.\",\n \"timestamp\": \"2026-09-10T00:19:20.577736+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json","text":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d2a9b8be6399a6abaa0e05a5\",\n \"id\": \"s-5c58b6a921997731f5b5ae1f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should first rerun both objdump -D -Mintel --start-address=0x00825d40 --stop-address=0x00825e65 dumps/sots.exe and the minimally widened --stop-address=0x00825e67 command against SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, archive raw stdout bytes and objdump executable hash/version, and decide whether the existing capture was manually spliced or generated with a different effective boundary. Repair provenance before independent ABI interpretation resumes.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent reproduction falsified the handoff claim that objdump-2026-09-09-dedup-helper.txt is unfiltered output from its exact first command. With the SHA256-matched executable and GNU objdump 2.38, the declared stop-address 0x00825e65 truncates the three-byte instruction beginning at 0x00825e64: current stdout is bytes c2 while the archive records c2 08 00. The other three declared windows reproduce exactly after only line-end whitespace normalization. This is a provenance/instrument-boundary contradiction; dedup interpretation is paused rather than converting the otherwise matching instructions into success.\",\n \"timestamp\": \"2026-09-10T00:19:20.577736+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-5c58b6a921997731f5b5ae1f.json","time":{"start":1789014962210,"end":1789014962217}},"metadata":{"openai":{"itemId":"fc_0958dc21c387ea2c016aa233b0cb3487d1898d8841373704e4"}},"id":"prt_08999eab1001PDJe7WhPGikLJ6","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999e385001zpMee44LyK13TC"}} +{"type":"step_finish","timestamp":1789014962320,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999f08d001WeWol2n5rbayTb","reason":"tool-calls","snapshot":"b282a0df2efe5ee8592705d25b76478a884e2766","messageID":"msg_08999e385001zpMee44LyK13TC","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":17411,"input":466,"output":49,"reasoning":0,"cache":{"write":0,"read":16896}},"cost":0}} +{"type":"step_start","timestamp":1789014965481,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_08999fce6001s6GJDgUdD2A2vp","messageID":"msg_08999f0b1001OGBflVvYa2WsV7","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"40a5f0483311df6984408d7479cb7e8fa3a3ce53","type":"step-start"}} +{"type":"tool_use","timestamp":1789014969857,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_Ucu095rTiyaewCNS0PkSChsa","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json\nfile\n\n1: {\n2: \"actor\": \"live-record bridge architect\",\n3: \"contract\": \"research-live-record-bridge\",\n4: \"decision\": \"d-3205df5e8425dc9e1779e673\",\n5: \"id\": \"s-d2c8ec81e980396f2306f8fe\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra must compare the stored file with fresh command stdout under the pinned binary/tool identity, decide whether a byte-exact replacement supersedes only capture provenance, and require a fresh hash-bound reserve manifest before the ObservedTech append/growth row is treated as reconciled.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Fresh provenance check falsified the claim that verify/results/research-live-record-bridge/run-ebf85a84ad4247c38792a787/observed-reserve.stdout.txt is byte-exact raw stdout. The stored manually transcribed capture is 2464 bytes/SHA256 5d10954f54a2f8c731ee8d4760414851963ab8dc539ecb66383cf09e176b5c87; rerunning pinned GNU objdump 2.38 against the hash-matched executable with start 0x007b5820 and stop 0x007b5899 produces 2472 bytes/SHA256 2d011ed96329c4c4ff462cbfd65decac9dccf40558765244c769be1dedc92275. First difference is one alignment space at byte 477. SURVIVES: binary/tool/source identities, decoded instructions, append ABI branches, reserve capacity rule, and references to accepted append/reallocator captures. QUALIFIED: the new reserve interpretation is an observation awaiting a byte-exact immutable capture. OVERTURNED: the newly added file cannot be called raw/unfiltered or used as source-bound capture evidence. Affected ABI-row promotion is paused; contract remains proposed. No implementation or lab work occurred.\",\n12: \"timestamp\": \"2026-09-10T02:50:12.833918+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-3205df5e8425dc9e1779e673\",\n \"id\": \"s-d2c8ec81e980396f2306f8fe\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must compare the stored file with fresh command stdout under the pinned binary/tool identity, decide whether a byte-exact replacement supersedes only capture provenance, and require a fresh hash-bound reserve manifest before the ObservedTech append/growth row is treated as reconciled.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh provenance check falsified the claim that verify/results/research-live-record-bridge/run-ebf85a84ad4247c38792a787/observed-reserve.stdout.txt is byte-exact raw stdout. The stored manually transcribed capture is 2464 bytes/SHA256 5d10954f54a2f8c731ee8d4760414851963ab8dc539ecb66383cf09e176b5c87; rerunning pinned GNU objdump 2.38 against the hash-matched executable with start 0x007b5820 and stop 0x007b5899 produces 2472 bytes/SHA256 2d011ed96329c4c4ff462cbfd65decac9dccf40558765244c769be1dedc92275. First difference is one alignment space at byte 477. SURVIVES: binary/tool/source identities, decoded instructions, append ABI branches, reserve capacity rule, and references to accepted append/reallocator captures. QUALIFIED: the new reserve interpretation is an observation awaiting a byte-exact immutable capture. OVERTURNED: the newly added file cannot be called raw/unfiltered or used as source-bound capture evidence. Affected ABI-row promotion is paused; contract remains proposed. No implementation or lab work occurred.\",\n \"timestamp\": \"2026-09-10T02:50:12.833918+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json","text":"{\n \"actor\": \"live-record bridge architect\",\n \"contract\": \"research-live-record-bridge\",\n \"decision\": \"d-3205df5e8425dc9e1779e673\",\n \"id\": \"s-d2c8ec81e980396f2306f8fe\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra must compare the stored file with fresh command stdout under the pinned binary/tool identity, decide whether a byte-exact replacement supersedes only capture provenance, and require a fresh hash-bound reserve manifest before the ObservedTech append/growth row is treated as reconciled.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh provenance check falsified the claim that verify/results/research-live-record-bridge/run-ebf85a84ad4247c38792a787/observed-reserve.stdout.txt is byte-exact raw stdout. The stored manually transcribed capture is 2464 bytes/SHA256 5d10954f54a2f8c731ee8d4760414851963ab8dc539ecb66383cf09e176b5c87; rerunning pinned GNU objdump 2.38 against the hash-matched executable with start 0x007b5820 and stop 0x007b5899 produces 2472 bytes/SHA256 2d011ed96329c4c4ff462cbfd65decac9dccf40558765244c769be1dedc92275. First difference is one alignment space at byte 477. SURVIVES: binary/tool/source identities, decoded instructions, append ABI branches, reserve capacity rule, and references to accepted append/reallocator captures. QUALIFIED: the new reserve interpretation is an observation awaiting a byte-exact immutable capture. OVERTURNED: the newly added file cannot be called raw/unfiltered or used as source-bound capture evidence. Affected ABI-row promotion is paused; contract remains proposed. No implementation or lab work occurred.\",\n \"timestamp\": \"2026-09-10T02:50:12.833918+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-d2c8ec81e980396f2306f8fe.json","time":{"start":1789014969848,"end":1789014969855}},"metadata":{"openai":{"itemId":"fc_0a9194656d6785b1016aa233b539b087d1a44747576de1da8a"}},"id":"prt_08999fce80017ZidljrNfd2lSa","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_08999f0b1001OGBflVvYa2WsV7"}} +{"type":"step_finish","timestamp":1789014969936,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a0e4c001kIQ7D18GN4VFLg","reason":"tool-calls","snapshot":"04c731677b1d291597de9c7bbe3ad1f372cee173","messageID":"msg_08999f0b1001OGBflVvYa2WsV7","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":17963,"input":636,"output":47,"reasoning":0,"cache":{"write":0,"read":17280}},"cost":0}} +{"type":"step_start","timestamp":1789014972433,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a180c001O5ZaL28G14BkQ0","messageID":"msg_0899a0e72001cphquphFIClFdS","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"55eff197cf3180dd9c7d7c6925b8fdccaf5b0f6a","type":"step-start"}} +{"type":"tool_use","timestamp":1789014973972,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_dhWnb0r7izszjtNiZPQILbzE","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json\nfile\n\n1: {\n2: \"actor\": \"controls-independent-verifier\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-2570bf9c76ae66711bdac461\",\n5: \"id\": \"s-4a7d66ebd7d8a8f3ec59f11d\",\n6: \"model\": \"openai/gpt-5.6-terra\",\n7: \"probe\": \"Parse every nonblank JSONL line of campaign/runtime/runs/run-cb15199f9272fe496bd10a8a.jsonl; compare count, error events, stop events, sessions, source_before/source_after and run record fields. Determine whether the false 24-event assertion invalidates only narrative verifier artifacts or the integrated controls evidence/verdict package.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Contradictory prior verification claim: verdict controls-bootstrap.json and checkpoint b467c2d772260f1f03637133 report 24 parsed events for run-cb15199f9272fe496bd10a8a, but independent JSONL parsing finds 67 valid events. The run record itself reports event_count 67. The zero-error, one-session, one-stop, return-0 and unchanged-source facts agree; the count claim is false. Existing source-bound evidence does not document this raw-run count, so its acceptance impact needs Astra resolution before a new verdict.\",\n12: \"timestamp\": \"2026-09-09T22:17:38.435822+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"controls-independent-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-2570bf9c76ae66711bdac461\",\n \"id\": \"s-4a7d66ebd7d8a8f3ec59f11d\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"Parse every nonblank JSONL line of campaign/runtime/runs/run-cb15199f9272fe496bd10a8a.jsonl; compare count, error events, stop events, sessions, source_before/source_after and run record fields. Determine whether the false 24-event assertion invalidates only narrative verifier artifacts or the integrated controls evidence/verdict package.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Contradictory prior verification claim: verdict controls-bootstrap.json and checkpoint b467c2d772260f1f03637133 report 24 parsed events for run-cb15199f9272fe496bd10a8a, but independent JSONL parsing finds 67 valid events. The run record itself reports event_count 67. The zero-error, one-session, one-stop, return-0 and unchanged-source facts agree; the count claim is false. Existing source-bound evidence does not document this raw-run count, so its acceptance impact needs Astra resolution before a new verdict.\",\n \"timestamp\": \"2026-09-09T22:17:38.435822+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json","text":"{\n \"actor\": \"controls-independent-verifier\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-2570bf9c76ae66711bdac461\",\n \"id\": \"s-4a7d66ebd7d8a8f3ec59f11d\",\n \"model\": \"openai/gpt-5.6-terra\",\n \"probe\": \"Parse every nonblank JSONL line of campaign/runtime/runs/run-cb15199f9272fe496bd10a8a.jsonl; compare count, error events, stop events, sessions, source_before/source_after and run record fields. Determine whether the false 24-event assertion invalidates only narrative verifier artifacts or the integrated controls evidence/verdict package.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Contradictory prior verification claim: verdict controls-bootstrap.json and checkpoint b467c2d772260f1f03637133 report 24 parsed events for run-cb15199f9272fe496bd10a8a, but independent JSONL parsing finds 67 valid events. The run record itself reports event_count 67. The zero-error, one-session, one-stop, return-0 and unchanged-source facts agree; the count claim is false. Existing source-bound evidence does not document this raw-run count, so its acceptance impact needs Astra resolution before a new verdict.\",\n \"timestamp\": \"2026-09-09T22:17:38.435822+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-4a7d66ebd7d8a8f3ec59f11d.json","time":{"start":1789014973955,"end":1789014973969}},"metadata":{"openai":{"itemId":"fc_08c337973ae1a1ad016aa233bc66dc87d195e5abd6dc524a7c"}},"id":"prt_0899a180f001OjMrLD9tzp1mHo","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a0e72001cphquphFIClFdS"}} +{"type":"step_finish","timestamp":1789014974104,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a1e94001I9hqkj6kSEU02g","reason":"tool-calls","snapshot":"7dff41ef9de145126d2731ffda73066e88afc3b1","messageID":"msg_0899a0e72001cphquphFIClFdS","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":18579,"input":15583,"output":52,"reasoning":0,"cache":{"write":0,"read":2944}},"cost":0}} +{"type":"step_start","timestamp":1789014975995,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a25f7001jEqUMgYFQp6zVs","messageID":"msg_0899a1ebf001OHytElpggiWY1P","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"c7e2f9f91a5b3cf8c8ebfb3d52ccd0ab6c9fce9f","type":"step-start"}} +{"type":"tool_use","timestamp":1789014977413,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_7Du3XN5Ssg6uxSzAnzz5HR8F","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-independent\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-d4c494ba02ada278030ef473\",\n5: \"id\": \"s-4f71bf4a5df4e5fc992bb6b2\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"Astra should inspect session manifest verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/manifest.json and raw observed-alloc/player-append/player-copy streams, compare the three archive lines, then require fresh paired narrow and minimally widened raw stdout/stderr captures with pinned input/tool/source identities for every ownership window whose terminal instruction is truncated. Decide whether to supersede only provenance or additional completeness claims; do not infer archive production history. After repair, a fresh independent verifier must reproduce the full windows and resume ownership/NaN/static-state checks.\",\n8: \"role\": \"verifier\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Session run-eba7860308317f839eb35392 fresh independent reproduction finds the repaired dedup window is correct, but exposes the same unfiltered-stop-boundary provenance contradiction in the ownership archive. objdump-2026-09-09-ownership.txt declares exact stops 0x0057e5e4, 0x0086c62e and 0x007694c0 yet prints complete c2 04 00 terminal instructions beginning at 0x0057e5e3, 0x0086c62d and 0x007694bf. Fresh GNU objdump 2.38 against the hash-matched executable prints only c2 for each command because each stop is one byte after the instruction start. Thus those archived sections cannot be literal unfiltered output of their declared commands under the bound instrument. The affected ABI/provenance review is paused; matching decoded semantics are not converted into success.\",\n12: \"timestamp\": \"2026-09-10T00:44:38.527547+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d4c494ba02ada278030ef473\",\n \"id\": \"s-4f71bf4a5df4e5fc992bb6b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should inspect session manifest verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/manifest.json and raw observed-alloc/player-append/player-copy streams, compare the three archive lines, then require fresh paired narrow and minimally widened raw stdout/stderr captures with pinned input/tool/source identities for every ownership window whose terminal instruction is truncated. Decide whether to supersede only provenance or additional completeness claims; do not infer archive production history. After repair, a fresh independent verifier must reproduce the full windows and resume ownership/NaN/static-state checks.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-eba7860308317f839eb35392 fresh independent reproduction finds the repaired dedup window is correct, but exposes the same unfiltered-stop-boundary provenance contradiction in the ownership archive. objdump-2026-09-09-ownership.txt declares exact stops 0x0057e5e4, 0x0086c62e and 0x007694c0 yet prints complete c2 04 00 terminal instructions beginning at 0x0057e5e3, 0x0086c62d and 0x007694bf. Fresh GNU objdump 2.38 against the hash-matched executable prints only c2 for each command because each stop is one byte after the instruction start. Thus those archived sections cannot be literal unfiltered output of their declared commands under the bound instrument. The affected ABI/provenance review is paused; matching decoded semantics are not converted into success.\",\n \"timestamp\": \"2026-09-10T00:44:38.527547+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json","text":"{\n \"actor\": \"research-abi-independent\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-d4c494ba02ada278030ef473\",\n \"id\": \"s-4f71bf4a5df4e5fc992bb6b2\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"Astra should inspect session manifest verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/manifest.json and raw observed-alloc/player-append/player-copy streams, compare the three archive lines, then require fresh paired narrow and minimally widened raw stdout/stderr captures with pinned input/tool/source identities for every ownership window whose terminal instruction is truncated. Decide whether to supersede only provenance or additional completeness claims; do not infer archive production history. After repair, a fresh independent verifier must reproduce the full windows and resume ownership/NaN/static-state checks.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Session run-eba7860308317f839eb35392 fresh independent reproduction finds the repaired dedup window is correct, but exposes the same unfiltered-stop-boundary provenance contradiction in the ownership archive. objdump-2026-09-09-ownership.txt declares exact stops 0x0057e5e4, 0x0086c62e and 0x007694c0 yet prints complete c2 04 00 terminal instructions beginning at 0x0057e5e3, 0x0086c62d and 0x007694bf. Fresh GNU objdump 2.38 against the hash-matched executable prints only c2 for each command because each stop is one byte after the instruction start. Thus those archived sections cannot be literal unfiltered output of their declared commands under the bound instrument. The affected ABI/provenance review is paused; matching decoded semantics are not converted into success.\",\n \"timestamp\": \"2026-09-10T00:44:38.527547+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-4f71bf4a5df4e5fc992bb6b2.json","time":{"start":1789014977404,"end":1789014977411}},"metadata":{"openai":{"itemId":"fc_021e9da3046a49bf016aa233bff69c87d1ac9d358e55c05e2a"}},"id":"prt_0899a25f90015R9O3ObC5dOeer","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a1ebf001OHytElpggiWY1P"}} +{"type":"step_finish","timestamp":1789014977507,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a2be0001WevzktNzknt5Ln","reason":"tool-calls","snapshot":"d7d19a14ed8346730cceee5b7737c9d6636a3f20","messageID":"msg_0899a1ebf001OHytElpggiWY1P","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":19065,"input":583,"output":50,"reasoning":0,"cache":{"write":0,"read":18432}},"cost":0}} +{"type":"step_start","timestamp":1789014979265,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a32be001vaHI6kei7o5qy3","messageID":"msg_0899a2c11001QGLgP4W3Q5jTPo","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"86b5ca917858b31c24b190266914a8fa2d9f6400","type":"step-start"}} +{"type":"tool_use","timestamp":1789014980924,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_G8eewFES5wL64h6Arv99QRsQ","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json\nfile\n\n1: {\n2: \"actor\": \"controls-architect\",\n3: \"contract\": \"controls-bootstrap\",\n4: \"decision\": \"d-ab717735fc6c1661919f6894\",\n5: \"id\": \"s-f1c41532e618c77d41538902\",\n6: \"model\": \"openai/gpt-6-astra\",\n7: \"probe\": \"Separate recovery identity/basis/artifact validation from end-run freshness; test old valid recovery state, missing/mismatched state, fresh end-run checkpoint and a resolution-only Astra launch with affected workers still blocked.\",\n8: \"role\": \"architecture-review\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Independent review R6: current launch guard applies 15-minute end-run freshness to recovery, preventing next-day recovery from valid durable state; unconditional open-surprise rejection also prevents a resolver quantum. Assignment explicitly requested no-open-surprise launch guards, so the resolver exception requires lead clarification.\",\n12: \"timestamp\": \"2026-09-09T21:34:59.734916+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-ab717735fc6c1661919f6894\",\n \"id\": \"s-f1c41532e618c77d41538902\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Separate recovery identity/basis/artifact validation from end-run freshness; test old valid recovery state, missing/mismatched state, fresh end-run checkpoint and a resolution-only Astra launch with affected workers still blocked.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R6: current launch guard applies 15-minute end-run freshness to recovery, preventing next-day recovery from valid durable state; unconditional open-surprise rejection also prevents a resolver quantum. Assignment explicitly requested no-open-surprise launch guards, so the resolver exception requires lead clarification.\",\n \"timestamp\": \"2026-09-09T21:34:59.734916+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-f1c41532e618c77d41538902.json","text":"{\n \"actor\": \"controls-architect\",\n \"contract\": \"controls-bootstrap\",\n \"decision\": \"d-ab717735fc6c1661919f6894\",\n \"id\": \"s-f1c41532e618c77d41538902\",\n \"model\": \"openai/gpt-6-astra\",\n \"probe\": \"Separate recovery identity/basis/artifact validation from end-run freshness; test old valid recovery state, missing/mismatched state, fresh end-run checkpoint and a resolution-only Astra launch with affected workers still blocked.\",\n \"role\": \"architecture-review\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Independent review R6: current launch guard applies 15-minute end-run freshness to recovery, preventing next-day recovery from valid durable state; unconditional open-surprise rejection also prevents a resolver quantum. Assignment explicitly requested no-open-surprise launch guards, so the resolver exception requires lead clarification.\",\n \"timestamp\": \"2026-09-09T21:34:59.734916+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-f1c41532e618c77d41538902.json","time":{"start":1789014980909,"end":1789014980923}},"metadata":{"openai":{"itemId":"fc_042fd7cca163831e016aa233c33dec87d18c6b33ab0419a397"}},"id":"prt_0899a32c0001YUix0LhixPvp9y","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a2c11001QGLgP4W3Q5jTPo"}} +{"type":"step_finish","timestamp":1789014981011,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a3990001qSR0ClVwwQQMJY","reason":"tool-calls","snapshot":"c95d5f78bfdae416b1bcc06448a1814d7a2150a5","messageID":"msg_0899a2c11001QGLgP4W3Q5jTPo","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":19659,"input":798,"output":45,"reasoning":0,"cache":{"write":0,"read":18816}},"cost":0}} +{"type":"step_start","timestamp":1789014983423,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a42f8001OE9amvpT1MCrAr","messageID":"msg_0899a39b5001Ayo2SQJm53Ak4i","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"1fb7399ad65806f7d1bb3c942b4425c2d21ce829","type":"step-start"}} +{"type":"tool_use","timestamp":1789014984743,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_HCXXThgWlrjwflshCI5Ntljf","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json"},"output":"/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json\nfile\n\n1: {\n2: \"actor\": \"research-abi-analyst\",\n3: \"contract\": \"research-completion-abi\",\n4: \"decision\": \"d-2ff30c9f5355116bea822924\",\n5: \"id\": \"s-8996365dab2cd6dc0e17bb9f\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"probe\": \"First verify 0x0046f8c0 is std::string equality (or otherwise characterize it) from independent raw instructions/callers; then use or construct two same-bucket PlayerEvents identical in EvAct/EvLoc/EvPos/EvMsg/EvImg but differing only in EvDsc. If 0x00825d40 returns null they are distinct and EvDsc is compared; if it returns the existing element the inherited omission survives and the call has another meaning.\",\n8: \"role\": \"analyst\",\n9: \"schema\": \"sots-surprise/1\",\n10: \"status\": \"resolved\",\n11: \"summary\": \"Fresh raw GNU objdump capture contradicts the standing event dedup semantic claim in findings/subsystems/events.md:185 that EvDsc is not compared. At 0x00825e11 candidate+0x08 and 0x00825e15 stored+0x08 are passed to 0x0046f8c0; its boolean result at 0x00825e21 branches to match return only when true. This occurs after EvAct, EvLoc, EvPos, EvMsg and EvImg comparisons, so description appears to participate in equality. The affected dedup interpretation is paused; no implementation or acceptance claim may use either version pending Astra resolution.\",\n12: \"timestamp\": \"2026-09-09T23:47:56.138628+00:00\"\n13: }\n\n(End of file - total 13 lines)\n","metadata":{"preview":"{\n \"actor\": \"research-abi-analyst\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-2ff30c9f5355116bea822924\",\n \"id\": \"s-8996365dab2cd6dc0e17bb9f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"First verify 0x0046f8c0 is std::string equality (or otherwise characterize it) from independent raw instructions/callers; then use or construct two same-bucket PlayerEvents identical in EvAct/EvLoc/EvPos/EvMsg/EvImg but differing only in EvDsc. If 0x00825d40 returns null they are distinct and EvDsc is compared; if it returns the existing element the inherited omission survives and the call has another meaning.\",\n \"role\": \"analyst\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh raw GNU objdump capture contradicts the standing event dedup semantic claim in findings/subsystems/events.md:185 that EvDsc is not compared. At 0x00825e11 candidate+0x08 and 0x00825e15 stored+0x08 are passed to 0x0046f8c0; its boolean result at 0x00825e21 branches to match return only when true. This occurs after EvAct, EvLoc, EvPos, EvMsg and EvImg comparisons, so description appears to participate in equality. The affected dedup interpretation is paused; no implementation or acceptance claim may use either version pending Astra resolution.\",\n \"timestamp\": \"2026-09-09T23:47:56.138628+00:00\"\n}","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json","text":"{\n \"actor\": \"research-abi-analyst\",\n \"contract\": \"research-completion-abi\",\n \"decision\": \"d-2ff30c9f5355116bea822924\",\n \"id\": \"s-8996365dab2cd6dc0e17bb9f\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"probe\": \"First verify 0x0046f8c0 is std::string equality (or otherwise characterize it) from independent raw instructions/callers; then use or construct two same-bucket PlayerEvents identical in EvAct/EvLoc/EvPos/EvMsg/EvImg but differing only in EvDsc. If 0x00825d40 returns null they are distinct and EvDsc is compared; if it returns the existing element the inherited omission survives and the call has another meaning.\",\n \"role\": \"analyst\",\n \"schema\": \"sots-surprise/1\",\n \"status\": \"resolved\",\n \"summary\": \"Fresh raw GNU objdump capture contradicts the standing event dedup semantic claim in findings/subsystems/events.md:185 that EvDsc is not compared. At 0x00825e11 candidate+0x08 and 0x00825e15 stored+0x08 are passed to 0x0046f8c0; its boolean result at 0x00825e21 branches to match return only when true. This occurs after EvAct, EvLoc, EvPos, EvMsg and EvImg comparisons, so description appears to participate in equality. The affected dedup interpretation is paused; no implementation or acceptance claim may use either version pending Astra resolution.\",\n \"timestamp\": \"2026-09-09T23:47:56.138628+00:00\"\n}","lineStart":1,"lineEnd":13,"totalLines":13,"truncated":false}},"title":"campaign/runtime/surprises/s-8996365dab2cd6dc0e17bb9f.json","time":{"start":1789014984734,"end":1789014984741}},"metadata":{"openai":{"itemId":"fc_0c859e2d73fc00e3016aa233c7620887d180458eb3d19c6f89"}},"id":"prt_0899a42fe001LUuQ0wBB0FtSQ4","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a39b5001Ayo2SQJm53Ak4i"}} +{"type":"step_finish","timestamp":1789014984874,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a48a6001wNe4Fzl8FSd4hN","reason":"tool-calls","snapshot":"697f870c530892326ea45138b107688d4c3e0ea9","messageID":"msg_0899a39b5001Ayo2SQJm53Ak4i","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":20029,"input":526,"output":47,"reasoning":0,"cache":{"write":0,"read":19456}},"cost":0}} +{"type":"step_start","timestamp":1789014986173,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a4dba0015oiJD5rKiIVdm5","messageID":"msg_0899a48df001Cv2PHauod6mkDA","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"b9c57bb3016c8f4ae8f086b15dbecec9668370d2","type":"step-start"}} +{"type":"tool_use","timestamp":1789014991548,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_8GgrqIJSnA2bJtRsjJOox629","state":{"status":"completed","input":{"command":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","workdir":"/tmp/opencode/sots-final-research-engine"},"output":"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\n/tmp/opencode/sots-final-research-engine\n/home/alex/sots-engine/.git\n M CONTRIBUTING.md\n M README.md\n M docs/S-standalone.md\n M src/app/turn.cpp\n M src/game/sim/CMakeLists.txt\n M src/mars/rng/mt19937.cpp\n M src/mars/rng/mt19937.h\n M tests/app/CMakeLists.txt\n M tests/app/test_command_replay.cpp\n M tests/app/test_turn.cpp\n M tests/app/test_turn_record.cpp\n M tests/game_config/CMakeLists.txt\n M tests/game_data/CMakeLists.txt\n M tests/game_design/CMakeLists.txt\n M tests/game_design/test_census_saves.cpp\n M tests/game_sim/CMakeLists.txt\n M tests/mars_stream/CMakeLists.txt\n M tests/mars_stream/test_domains.cpp\n M tests/mars_stream/test_rng.cpp\n M tests/mars_stream/test_save.cpp\n M tests/mars_text/CMakeLists.txt\n M tests/mars_vfs/CMakeLists.txt\n M tools/clean_room_check.sh\n?? AGENTS.md\n?? CLAUDE.md\n?? docs/architecture.md\n?? opencode.json\n?? tools/clean_room_check.py\n","metadata":{"output":"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\n/tmp/opencode/sots-final-research-engine\n/home/alex/sots-engine/.git\n M CONTRIBUTING.md\n M README.md\n M docs/S-standalone.md\n M src/app/turn.cpp\n M src/game/sim/CMakeLists.txt\n M src/mars/rng/mt19937.cpp\n M src/mars/rng/mt19937.h\n M tests/app/CMakeLists.txt\n M tests/app/test_command_replay.cpp\n M tests/app/test_turn.cpp\n M tests/app/test_turn_record.cpp\n M tests/game_config/CMakeLists.txt\n M tests/game_data/CMakeLists.txt\n M tests/game_design/CMakeLists.txt\n M tests/game_design/test_census_saves.cpp\n M tests/game_sim/CMakeLists.txt\n M tests/mars_stream/CMakeLists.txt\n M tests/mars_stream/test_domains.cpp\n M tests/mars_stream/test_rng.cpp\n M tests/mars_stream/test_save.cpp\n M tests/mars_text/CMakeLists.txt\n M tests/mars_vfs/CMakeLists.txt\n M tools/clean_room_check.sh\n?? AGENTS.md\n?? CLAUDE.md\n?? docs/architecture.md\n?? opencode.json\n?? tools/clean_room_check.py\n","exit":0,"truncated":false},"title":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","time":{"start":1789014991477,"end":1789014991545}},"metadata":{"openai":{"itemId":"fc_08ec6bab5b351f04016aa233ce0ca087d1b65bc8d696a37b56"}},"id":"prt_0899a5e9f0018JwIspvgpJLC1e","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a48df001Cv2PHauod6mkDA"}} +{"type":"step_finish","timestamp":1789014991603,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a62ee001QEqIWfHKOf8VQL","reason":"tool-calls","snapshot":"13f2228ba6ae44781d010aac32ac714a7a0dde1a","messageID":"msg_0899a48df001Cv2PHauod6mkDA","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":20669,"input":665,"output":61,"reasoning":103,"cache":{"write":0,"read":19840}},"cost":0}} +{"type":"step_start","timestamp":1789014993482,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a6a460016aq5pKjqObVoHs","messageID":"msg_0899a631a001OPlHxTlLxZdyIN","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"3e423ca8fac66f1503d28551680836014b923730","type":"step-start"}} +{"type":"tool_use","timestamp":1789014995239,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_1pqW19w3mNI3qGfpZ83kjfNm","state":{"status":"completed","input":{"command":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","workdir":"/tmp/opencode/sots-final-research-re"},"output":"3bfde5a70d874a723e797a695bbd847fd82c0aa7\n/tmp/opencode/sots-final-research-re\n/home/alex/sots-re/.git\n M README.md\n M campaign/DASHBOARD.md\n M campaign/backlog.md\n M campaign/board.md\n M campaign/open-questions.md\n M findings/00-strategy.md\n M findings/subsystems/nav-classifier-live.md\n M findings/subsystems/research-replace.md\n M guides/method-rules.md\n D scripts/forgejo_campaign.py\n M tools/DASHBOARD_README.md\n M tools/dashboard.py\n D tools/displacement.py\n M tools/gate.sh\n M tools/standalone_report.py\n?? AGENTS.md\n?? CLAUDE.md\n?? campaign/README.md\n?? campaign/agents/\n?? campaign/contract.schema.json\n?? campaign/contracts/\n?? campaign/current.json\n?? campaign/models.json\n?? campaign/pilots/\n?? campaign/research/\n?? campaign/rollout/\n?? guides/multi-agent-workflow.md\n?? guides/windows-lab-housekeeping.md\n?? opencode.json\n?? tools/campaign.py\n?? tools/check_agent_config.py\n?? tools/evidence.py\n?? tools/gate.py\n?? tools/run_agent.py\n?? tools/select_evidence.py\n?? tools/windows-housekeeping/\n?? verify/campaign/\n?? verify/config/\n?? verify/publishing/\n?? verify/results/housekeeping/\n?? verify/tooling/\n","metadata":{"output":"3bfde5a70d874a723e797a695bbd847fd82c0aa7\n/tmp/opencode/sots-final-research-re\n/home/alex/sots-re/.git\n M README.md\n M campaign/DASHBOARD.md\n M campaign/backlog.md\n M campaign/board.md\n M campaign/open-questions.md\n M findings/00-strategy.md\n M findings/subsystems/nav-classifier-live.md\n M findings/subsystems/research-replace.md\n M guides/method-rules.md\n D scripts/forgejo_campaign.py\n M tools/DASHBOARD_README.md\n M tools/dashboard.py\n D tools/displacement.py\n M tools/gate.sh\n M tools/standalone_report.py\n?? AGENTS.md\n?? CLAUDE.md\n?? campaign/README.md\n?? campaign/agents/\n?? campaign/contract.schema.json\n?? campaign/contracts/\n?? campaign/current.json\n?? campaign/models.json\n?? campaign/pilots/\n?? campaign/research/\n?? campaign/rollout/\n?? guides/multi-agent-workflow.md\n?? guides/windows-lab-housekeeping.md\n?? opencode.json\n?? tools/campaign.py\n?? tools/check_agent_config.py\n?? tools/evidence.py\n?? tools/gate.py\n?? tools/run_agent.py\n?? tools/select_evidence.py\n?? tools/windows-housekeeping/\n?? verify/campaign/\n?? verify/config/\n?? verify/publishing/\n?? verify/results/housekeeping/\n?? verify/tooling/\n","exit":0,"truncated":false},"title":"git rev-parse HEAD && git rev-parse --show-toplevel && git rev-parse --git-common-dir && git status --short","time":{"start":1789014995220,"end":1789014995237}},"metadata":{"openai":{"itemId":"fc_0d7da50c4f25010c016aa233d172cc87d191b93012fa9c570c"}},"id":"prt_0899a6a48001UHLmNdpHYIBi3H","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a631a001OPlHxTlLxZdyIN"}} +{"type":"step_finish","timestamp":1789014995328,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a717d0014Xg4GWIGace7Fa","reason":"tool-calls","snapshot":"cf0054e056966a19887cd1da57123f96fbce17cb","messageID":"msg_0899a631a001OPlHxTlLxZdyIN","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":21017,"input":606,"output":59,"reasoning":0,"cache":{"write":0,"read":20352}},"cost":0}} +{"type":"step_start","timestamp":1789014996910,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899a77aa001qG5hRnjOWDEyLw","messageID":"msg_0899a71ad001goDYMcUxzsv47D","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"7949929993382e259eced3c69fd2b6e8d37a853c","type":"step-start"}} +{"type":"tool_use","timestamp":1789015015148,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_orQimGox3NLw4o4uAUpVv43k","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-ee78b8773688ca09f8046e21 --summary 'Recovery checkpoint. Observations: read canonical AGENTS.md, campaign/README.md, current policy, contract, latest lead checkpoint, and all surprise records; all surprises are resolved. Contract is verification and requests independent reproduction of corrected run-16f8e9b6376b278c4870be09. Assigned engine HEAD is 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 with common-dir /home/alex/sots-engine/.git; assigned RE HEAD is 3bfde5a70d874a723e797a695bbd847fd82c0aa7 with common-dir /home/alex/sots-re/.git. Both match contract baselines and are intentionally dirty source snapshots; exact source-binding digests remain to be measured. No resource lease is held or needed; no VM, Ghidra, build-host, game, engine, allocator, Git index, or source mutation occurred. Decision: proceed only with read-only handoff inspection and local reproduction after explicitly defining falsifiers, branches, and states. Tests: identity commands passed; no evidence reproduction run yet. Blockers: none currently; any binary/tool/hash mismatch or contradictory ABI interpretation will be recorded as a surprise and affected work paused.' --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Compute exact paired source bindings and inspect the corrected run manifest/report/raw four-window captures to define falsifiers, required branch exposures, and distinct states before reproduction.'","workdir":"/home/alex/sots-re"},"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"571f0a480c9255cc8097b5fb\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Compute exact paired source bindings and inspect the corrected run manifest/report/raw four-window captures to define falsifiers, required branch exposures, and distinct states before reproduction.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"summary\": \"Recovery checkpoint. Observations: read canonical AGENTS.md, campaign/README.md, current policy, contract, latest lead checkpoint, and all surprise records; all surprises are resolved. Contract is verification and requests independent reproduction of corrected run-16f8e9b6376b278c4870be09. Assigned engine HEAD is 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 with common-dir /home/alex/sots-engine/.git; assigned RE HEAD is 3bfde5a70d874a723e797a695bbd847fd82c0aa7 with common-dir /home/alex/sots-re/.git. Both match contract baselines and are intentionally dirty source snapshots; exact source-binding digests remain to be measured. No resource lease is held or needed; no VM, Ghidra, build-host, game, engine, allocator, Git index, or source mutation occurred. Decision: proceed only with read-only handoff inspection and local reproduction after explicitly defining falsifiers, branches, and states. Tests: identity commands passed; no evidence reproduction run yet. Blockers: none currently; any binary/tool/hash mismatch or contradictory ABI interpretation will be recorded as a surprise and affected work paused.\",\n \"timestamp\": \"2026-09-10T04:36:55.123032+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"571f0a480c9255cc8097b5fb\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Compute exact paired source bindings and inspect the corrected run manifest/report/raw four-window captures to define falsifiers, required branch exposures, and distinct states before reproduction.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"summary\": \"Recovery checkpoint. Observations: read canonical AGENTS.md, campaign/README.md, current policy, contract, latest lead checkpoint, and all surprise records; all surprises are resolved. Contract is verification and requests independent reproduction of corrected run-16f8e9b6376b278c4870be09. Assigned engine HEAD is 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 with common-dir /home/alex/sots-engine/.git; assigned RE HEAD is 3bfde5a70d874a723e797a695bbd847fd82c0aa7 with common-dir /home/alex/sots-re/.git. Both match contract baselines and are intentionally dirty source snapshots; exact source-binding digests remain to be measured. No resource lease is held or needed; no VM, Ghidra, build-host, game, engine, allocator, Git index, or source mutation occurred. Decision: proceed only with read-only handoff inspection and local reproduction after explicitly defining falsifiers, branches, and states. Tests: identity commands passed; no evidence reproduction run yet. Blockers: none currently; any binary/tool/hash mismatch or contradictory ABI interpretation will be recorded as a surprise and affected work paused.\",\n \"timestamp\": \"2026-09-10T04:36:55.123032+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-ee78b8773688ca09f8046e21 --summary 'Recovery checkpoint. Observations: read canonical AGENTS.md, campaign/README.md, current policy, contract, latest lead checkpoint, and all surprise records; all surprises are resolved. Contract is verification and requests independent reproduction of corrected run-16f8e9b6376b278c4870be09. Assigned engine HEAD is 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 with common-dir /home/alex/sots-engine/.git; assigned RE HEAD is 3bfde5a70d874a723e797a695bbd847fd82c0aa7 with common-dir /home/alex/sots-re/.git. Both match contract baselines and are intentionally dirty source snapshots; exact source-binding digests remain to be measured. No resource lease is held or needed; no VM, Ghidra, build-host, game, engine, allocator, Git index, or source mutation occurred. Decision: proceed only with read-only handoff inspection and local reproduction after explicitly defining falsifiers, branches, and states. Tests: identity commands passed; no evidence reproduction run yet. Blockers: none currently; any binary/tool/hash mismatch or contradictory ABI interpretation will be recorded as a surprise and affected work paused.' --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Compute exact paired source bindings and inspect the corrected run manifest/report/raw four-window captures to define falsifiers, required branch exposures, and distinct states before reproduction.'","time":{"start":1789015015081,"end":1789015015146}},"metadata":{"openai":{"itemId":"fc_0065a261c07983d4016aa233d9871087d1b892db3d4805ed9c"}},"id":"prt_0899a8b63001cbZQ60wEKmazir","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899a71ad001goDYMcUxzsv47D"}} +{"type":"step_finish","timestamp":1789015015200,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899abf1d001YERna1ooKNqCwJ","reason":"tool-calls","snapshot":"01a705da4ebe521884a3c02eb4d3baff62080724","messageID":"msg_0899a71ad001goDYMcUxzsv47D","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":21877,"input":468,"output":422,"reasoning":123,"cache":{"write":0,"read":20864}},"cost":0}} +{"type":"step_start","timestamp":1789015017151,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899ac6bb001Q77o7ECEa9yLhK","messageID":"msg_0899abf49001yN95DcTfwb3reu","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"6628ab64beb19170e27c00abf2c22af35fd87c6d","type":"step-start"}} +{"type":"tool_use","timestamp":1789015022202,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"todowrite","callID":"call_hloC9ryNNJmWSxDQppHWsXBt","state":{"status":"completed","input":{"todos":[{"content":"Read canonical campaign instructions, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify engine/RE worktree and source/resource identities","status":"in_progress","priority":"high"},{"content":"Define verification falsifiers, branch exposures, and distinct states from handoff","status":"pending","priority":"high"},{"content":"Reproduce verifier package and independently challenge one assumption","status":"pending","priority":"high"},{"content":"Write mandatory fresh canonical checkpoint with exact next action","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Read canonical campaign instructions, contract, checkpoint, and open surprises\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify engine/RE worktree and source/resource identities\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Define verification falsifiers, branch exposures, and distinct states from handoff\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce verifier package and independently challenge one assumption\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory fresh canonical checkpoint with exact next action\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read canonical campaign instructions, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify engine/RE worktree and source/resource identities","status":"in_progress","priority":"high"},{"content":"Define verification falsifiers, branch exposures, and distinct states from handoff","status":"pending","priority":"high"},{"content":"Reproduce verifier package and independently challenge one assumption","status":"pending","priority":"high"},{"content":"Write mandatory fresh canonical checkpoint with exact next action","status":"pending","priority":"high"}],"truncated":false},"title":"4 todos","time":{"start":1789015022186,"end":1789015022188}},"metadata":{"openai":{"itemId":"fc_0214daba6bd37a24016aa233ea723887d192200ebee0b27f92"}},"id":"prt_0899acc05001f57Ei7lPFNmljl","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899abf49001yN95DcTfwb3reu"}} +{"type":"step_finish","timestamp":1789015022384,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899adb290012AiWK7QB02Utsi","reason":"tool-calls","snapshot":"a71967c6e3922e24b3172dc1713a5f74ba685ce3","messageID":"msg_0899abf49001yN95DcTfwb3reu","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":22608,"input":1207,"output":132,"reasoning":21,"cache":{"write":0,"read":21248}},"cost":0}} +{"type":"step_start","timestamp":1789015023712,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899ae05c001D5e8y4jqCRvQQm","messageID":"msg_0899adb5c0012J5lx4q26y8Hgn","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"ccab55fe0c2d86421f7480e7ef9b64112058c2b4","type":"step-start"}} +{"type":"tool_use","timestamp":1789015027182,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_KCeBTtrRXG2PfIdKlSHogXgX","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-completion-abi --engine-worktree /tmp/opencode/sots-final-research-engine --re-worktree /tmp/opencode/sots-final-research-re","workdir":"/home/alex/sots-re","timeout":120000},"output":"{\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n}\n","metadata":{"output":"{\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re source-binding research-completion-abi --engine-worktree /tmp/opencode/sots-final-research-engine --re-worktree /tmp/opencode/sots-final-research-re","time":{"start":1789015027024,"end":1789015027179}},"metadata":{"openai":{"itemId":"fc_05098a86ed161be6016aa233f0d2fc87d19176f2dbf4cc170a"}},"id":"prt_0899ae4f2001WyO7YrR89RwY8K","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899adb5c0012J5lx4q26y8Hgn"}} +{"type":"step_finish","timestamp":1789015027215,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899aee0c001PlsW9jQSefByYx","reason":"tool-calls","snapshot":"546582a752e44d576995d1cc2931dc498b63b9a2","messageID":"msg_0899adb5c0012J5lx4q26y8Hgn","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":22898,"input":526,"output":86,"reasoning":14,"cache":{"write":0,"read":22272}},"cost":0}} +{"type":"step_start","timestamp":1789015028782,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899af42a001HGFlTX7D7m3aYI","messageID":"msg_0899aee33001FM2MND9Axz8dCM","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"6c19fb4eaf076a31ab6dd2b9a206f89102d81dd9","type":"step-start"}} +{"type":"tool_use","timestamp":1789015030291,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"glob","callID":"call_wp8uCP0M3WrfIN8RcCmoK0vs","state":{"status":"completed","input":{"pattern":"campaign/runtime/leases/*.json","path":"/home/alex/sots-re"},"output":"/home/alex/sots-re/campaign/runtime/leases/vm140.json\n/home/alex/sots-re/campaign/runtime/leases/vm144.json\n/home/alex/sots-re/campaign/runtime/leases/vm141.json\n/home/alex/sots-re/campaign/runtime/leases/vm146.json\n/home/alex/sots-re/campaign/runtime/leases/vm145.json\n/home/alex/sots-re/campaign/runtime/leases/spicy-autounattend-credential.json","metadata":{"count":6,"truncated":false},"title":"","time":{"start":1789015030280,"end":1789015030289}},"metadata":{"openai":{"itemId":"fc_0739dcda4ab9793a016aa233f5c53487d185f78924d2d6d46d"}},"id":"prt_0899af855001RyGHr3BI2m5yT8","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899aee33001FM2MND9Axz8dCM"}} +{"type":"step_finish","timestamp":1789015030383,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899afa6c001sRIC76MEg8njkN","reason":"tool-calls","snapshot":"c59f2c94daeb44231ee8400ac0c121c5beda5154","messageID":"msg_0899aee33001FM2MND9Axz8dCM","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":23149,"input":448,"output":34,"reasoning":11,"cache":{"write":0,"read":22656}},"cost":0}} +{"type":"step_start","timestamp":1789015032126,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b013b001DCYMEHC1DistPx","messageID":"msg_0899afa930012JwoOjZSksFYUI","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"92fd5b81624ae8746cf3fce788dc2945e94b1d71","type":"step-start"}} +{"type":"tool_use","timestamp":1789015035275,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_EqXOk6056GYAmpQ7ang8whhE","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi && python3 tools/campaign.py --state-root /home/alex/sots-re validate","workdir":"/home/alex/sots-re","timeout":120000},"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-571f0a480c9255cc8097b5fb.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"verification\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n[\n \"controls-bootstrap\",\n \"launcher-smoke\",\n \"research-completion-abi\",\n \"research-live-record-bridge\",\n \"research-replacement\"\n]\n","metadata":{"output":"[\n {\n \"acceptance\": [\n {\n \"axis\": \"static-recovery\",\n \"criterion\": \"Addresses/signatures and record/container/string lifetime rules backed by fresh binary/tool captures; distinguish recorded facts, inference and unexercised branches. Name exact callable allocation/copy/destruction operations or precise unresolved blockers.\",\n \"id\": \"ownership-recovered\"\n },\n {\n \"axis\": \"validation\",\n \"criterion\": \"Independent verifier checks key instruction/ABI claims and archived record values. No static-only claim of live allocator safety or replacement acceptance.\",\n \"id\": \"independent-cross-check\"\n }\n ],\n \"baseline\": {\n \"engine\": {\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"path\": \"/home/alex/sots-engine\"\n },\n \"re\": {\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"path\": \"/home/alex/sots-re\"\n }\n },\n \"checkpoint\": \"campaign/runtime/checkpoints/research-completion-abi-571f0a480c9255cc8097b5fb.json\",\n \"dependencies\": [\n \"controls-bootstrap\"\n ],\n \"effects\": [\n \"Evidence-backed RE handoff and raw static captures; no game or shared database state changes\"\n ],\n \"evidence\": [],\n \"id\": \"research-completion-abi\",\n \"inputs\": [\n \"Existing binary fingerprint/address contract and private RE findings\",\n \"Owner-supplied binary or live read-only ReVa endpoint\",\n \"Archived CR traces/saves for observed behavior\",\n \"Source-identical current engine/RE worktree snapshots\"\n ],\n \"open_surprises\": [],\n \"original_dependencies\": [\n \"Original binary is the object of analysis, not a replacement dependency decision\"\n ],\n \"owner\": {\n \"name\": \"research-abi-analyst\",\n \"role\": \"analyst\"\n },\n \"predictions\": [\n \"Count-only scratch updates conceal concrete element construction and original allocator ownership requirements\",\n \"The observed-tech and nested-event containers use different element strides and nontrivial string lifetimes; raw header copying is insufficient\"\n ],\n \"scope\": [\n \"Reverse engineering only. Own canonical campaign/research/research-completion-abi.md and verify/results/research-completion-abi/ captures. Use assigned source-identical paired worktrees for source inspection; canonical RE for unique evidence/checkpoint outputs.\",\n \"Recover actual constructors/copy/destructors/vector-growth/allocation/free conventions used by RecordObservedTech and EventStorage/TurnEvents/PlayerEvent. Resolve implementable ABI operations, not another general framework.\",\n \"Use existing ReVa read-only tools through canonical tools/reva_call.py or the owner-supplied local binary. No Ghidra renames/type writes, VM mutation, new engine code, framework code, agents or delegation. Do not commit/stage/push.\",\n \"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.\",\n \"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo.\"\n ],\n \"status\": \"verification\",\n \"stop_conditions\": [\n \"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra\",\n \"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps\",\n \"Do not expand into framework development or mark pilot replacement ready/accepted\"\n ],\n \"title\": \"RE: research completion record construction and allocator ABI\"\n }\n]\n[\n \"controls-bootstrap\",\n \"launcher-smoke\",\n \"research-completion-abi\",\n \"research-live-record-bridge\",\n \"research-replacement\"\n]\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re status research-completion-abi && python3 tools/campaign.py --state-root /home/alex/sots-re validate","time":{"start":1789015035186,"end":1789015035272}},"metadata":{"openai":{"itemId":"fc_09877ca373c06aa7016aa233f91d2487d1886483c35eaade76"}},"id":"prt_0899b05700010oq3FXAr8f1lLD","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899afa930012JwoOjZSksFYUI"}} +{"type":"step_finish","timestamp":1789015035315,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b0db1001coOSY7iDfgSaeU","reason":"tool-calls","snapshot":"3a0eb183390a86b9c3c2a7df5ace08a697ef744a","messageID":"msg_0899afa930012JwoOjZSksFYUI","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":23351,"input":347,"output":75,"reasoning":17,"cache":{"write":0,"read":22912}},"cost":0}} +{"type":"step_start","timestamp":1789015036867,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b13c000129xIjm0Xt517A4","messageID":"msg_0899b0ddc001nqoCfDHC8RkijE","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"f482e42b9276386ec56dfae72704ae322121e39d","type":"step-start"}} +{"type":"tool_use","timestamp":1789015038970,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_gx4474AGY2kGPdItseWN5vzt","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09\ndirectory\n\ncapture.py\nmanifest.json\nnested-copy.stderr.txt\nnested-copy.stdout.txt\nnested-dtor.stderr.txt\nnested-dtor.stdout.txt\nreport.md\nturn-append.stderr.txt\nturn-append.stdout.txt\nturn-get-create.stderr.txt\nturn-get-create.stdout.txt\n\n(11 entries)\n","metadata":{"preview":"capture.py\nmanifest.json\nnested-copy.stderr.txt\nnested-copy.stdout.txt\nnested-dtor.stderr.txt\nnested-dtor.stdout.txt\nreport.md\nturn-append.stderr.txt\nturn-append.stdout.txt\nturn-get-create.stderr.txt\nturn-get-create.stdout.txt","truncated":false,"loaded":[],"display":{"type":"directory","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09","entries":["capture.py","manifest.json","nested-copy.stderr.txt","nested-copy.stdout.txt","nested-dtor.stderr.txt","nested-dtor.stdout.txt","report.md","turn-append.stderr.txt","turn-append.stdout.txt","turn-get-create.stderr.txt","turn-get-create.stdout.txt"],"offset":1,"totalEntries":11,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09","time":{"start":1789015038962,"end":1789015038967}},"metadata":{"openai":{"itemId":"fc_0ca78704dbd54883016aa233fde9f487d19a81fcfd2b7eff6d"}},"id":"prt_0899b184c001WWL9lV6tVA262M","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b0ddc001nqoCfDHC8RkijE"}} +{"type":"step_finish","timestamp":1789015039073,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b1c5e001jZneDVnrNQMSXX","reason":"tool-calls","snapshot":"9667bd05af422c35928b0b8d65c80054620eb4c4","messageID":"msg_0899b0ddc001nqoCfDHC8RkijE","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":24369,"input":1138,"output":52,"reasoning":11,"cache":{"write":0,"read":23168}},"cost":0}} +{"type":"step_start","timestamp":1789015040996,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b23e0001Mff75aWttTFZi7","messageID":"msg_0899b1c90001frQ1kZlu0tQ34W","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"4beecde3298e4cc5d2dc090346f3c4db6916ecdb","type":"step-start"}} +{"type":"tool_use","timestamp":1789015042535,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_72JSC5gvQsTsVxdI3ACfzHpc","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\nfile\n\n1: {\n2: \"schema\": \"sots-abi-static-capture/1\",\n3: \"session\": \"run-16f8e9b6376b278c4870be09\",\n4: \"actor\": \"research-abi-analyst\",\n5: \"role\": \"analyst\",\n6: \"model\": \"openai/gpt-5.6-sol\",\n7: \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n8: \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n9: \"source_binding\": {\n10: \"engine\": {\n11: \"path\": \"/tmp/opencode/sots-final-research-engine\",\n12: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n13: \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n14: },\n15: \"re\": {\n16: \"path\": \"/tmp/opencode/sots-final-research-re\",\n17: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n18: \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n19: }\n20: },\n21: \"input\": {\n22: \"path\": \"dumps/sots.exe\",\n23: \"bytes\": 7898624,\n24: \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n25: },\n26: \"tool\": {\n27: \"path\": \"/usr/bin/objdump\",\n28: \"bytes\": 373888,\n29: \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n30: \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n31: },\n32: \"windows\": [\n33: {\n34: \"name\": \"turn-get-create\",\n35: \"argv\": [\n36: \"/usr/bin/objdump\",\n37: \"-D\",\n38: \"-Mintel\",\n39: \"--start-address=0x00885380\",\n40: \"--stop-address=0x0088544a\",\n41: \"/home/alex/sots-re/dumps/sots.exe\"\n42: ],\n43: \"cwd\": \"/home/alex/sots-re\",\n44: \"start\": \"0x00885380\",\n45: \"stop\": \"0x0088544a\",\n46: \"returncode\": 0,\n47: \"stdout\": {\n48: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\",\n49: \"bytes\": 3974,\n50: \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n51: },\n52: \"stderr\": {\n53: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\",\n54: \"bytes\": 0,\n55: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n56: }\n57: },\n58: {\n59: \"name\": \"turn-append\",\n60: \"argv\": [\n61: \"/usr/bin/objdump\",\n62: \"-D\",\n63: \"-Mintel\",\n64: \"--start-address=0x00884cb0\",\n65: \"--stop-address=0x00884d8f\",\n66: \"/home/alex/sots-re/dumps/sots.exe\"\n67: ],\n68: \"cwd\": \"/home/alex/sots-re\",\n69: \"start\": \"0x00884cb0\",\n70: \"stop\": \"0x00884d8f\",\n71: \"returncode\": 0,\n72: \"stdout\": {\n73: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\",\n74: \"bytes\": 4179,\n75: \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n76: },\n77: \"stderr\": {\n78: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt\",\n79: \"bytes\": 0,\n80: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n81: }\n82: },\n83: {\n84: \"name\": \"nested-copy\",\n85: \"argv\": [\n86: \"/usr/bin/objdump\",\n87: \"-D\",\n88: \"-Mintel\",\n89: \"--start-address=0x00779850\",\n90: \"--stop-address=0x00779a20\",\n91: \"/home/alex/sots-re/dumps/sots.exe\"\n92: ],\n93: \"cwd\": \"/home/alex/sots-re\",\n94: \"start\": \"0x00779850\",\n95: \"stop\": \"0x00779a20\",\n96: \"returncode\": 0,\n97: \"stdout\": {\n98: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\",\n99: \"bytes\": 8469,\n100: \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n101: },\n102: \"stderr\": {\n103: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\",\n104: \"bytes\": 0,\n105: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n106: }\n107: },\n108: {\n109: \"name\": \"nested-dtor\",\n110: \"argv\": [\n111: \"/usr/bin/objdump\",\n112: \"-D\",\n113: \"-Mintel\",\n114: \"--start-address=0x00629580\",\n115: \"--stop-address=0x006295ca\",\n116: \"/home/alex/sots-re/dumps/sots.exe\"\n117: ],\n118: \"cwd\": \"/home/alex/sots-re\",\n119: \"start\": \"0x00629580\",\n120: \"stop\": \"0x006295ca\",\n121: \"returncode\": 0,\n122: \"stdout\": {\n123: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\",\n124: \"bytes\": 1727,\n125: \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n126: },\n127: \"stderr\": {\n128: \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\",\n129: \"bytes\": 0,\n130: \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n131: }\n132: }\n133: ]\n134: }\n\n(End of file - total 134 lines)\n","metadata":{"preview":"{\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n },","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json","text":"{\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": \"2026-09-10T04:25:48.076637+00:00\",\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\"\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\"\n }\n },\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": 7898624,\n \"sha256\": \"970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841\"\n },\n \"tool\": {\n \"path\": \"/usr/bin/objdump\",\n \"bytes\": 373888,\n \"sha256\": \"1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd\",\n \"version\": \"GNU objdump (GNU Binutils for Ubuntu) 2.38\"\n },\n \"windows\": [\n {\n \"name\": \"turn-get-create\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00885380\",\n \"--stop-address=0x0088544a\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00885380\",\n \"stop\": \"0x0088544a\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\",\n \"bytes\": 3974,\n \"sha256\": \"f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"turn-append\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00884cb0\",\n \"--stop-address=0x00884d8f\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00884cb0\",\n \"stop\": \"0x00884d8f\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt\",\n \"bytes\": 4179,\n \"sha256\": \"57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-copy\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00779850\",\n \"--stop-address=0x00779a20\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00779850\",\n \"stop\": \"0x00779a20\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt\",\n \"bytes\": 8469,\n \"sha256\": \"e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n {\n \"name\": \"nested-dtor\",\n \"argv\": [\n \"/usr/bin/objdump\",\n \"-D\",\n \"-Mintel\",\n \"--start-address=0x00629580\",\n \"--stop-address=0x006295ca\",\n \"/home/alex/sots-re/dumps/sots.exe\"\n ],\n \"cwd\": \"/home/alex/sots-re\",\n \"start\": \"0x00629580\",\n \"stop\": \"0x006295ca\",\n \"returncode\": 0,\n \"stdout\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt\",\n \"bytes\": 1727,\n \"sha256\": \"3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83\"\n },\n \"stderr\": {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stderr.txt\",\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n }\n ]\n}","lineStart":1,"lineEnd":134,"totalLines":134,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json","time":{"start":1789015042513,"end":1789015042533}},"metadata":{"openai":{"itemId":"fc_00345456d7a9b2b1016aa23400f8cc87d1b181c61ae2e87eb2"}},"id":"prt_0899b23e20010Iibd24cMivy0m","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b1c90001frQ1kZlu0tQ34W"}} +{"type":"step_finish","timestamp":1789015042639,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b2a4c001fZG60T44Yh88ai","reason":"tool-calls","snapshot":"574b2c06b7562a917742f3a1297cbcd4bdafc954","messageID":"msg_0899b1c90001frQ1kZlu0tQ34W","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":24542,"input":297,"output":53,"reasoning":0,"cache":{"write":0,"read":24192}},"cost":0}} +{"type":"step_start","timestamp":1789015045903,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b370a001NLqmHf4BMneS7Q","messageID":"msg_0899b2a7a0017ub11QsmBeXbXG","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"43cbdf6663c5c34217c1afd30aacc1fee79abdbd","type":"step-start"}} +{"type":"tool_use","timestamp":1789015047637,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_7VEkiGPHbv9amp94axqqR1qp","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md\nfile\n\n1: # TurnEvents miss-path correction capture\n2: \n3: This is a **fresh static measurement**, not live execution, allocator-safety evidence, independent\n4: verification, or replacement acceptance. It implements the read-only analyst repair required by\n5: Astra decision `d-b51f3f76803e852ed250846a`.\n6: \n7: ## Provenance and positive execution\n8: \n9: `manifest.json` records four GNU objdump 2.38 invocations. Each returned zero, emitted nonempty\n10: stdout and empty stderr. The freshly hashed inputs are:\n11: \n12: * owner-supplied `dumps/sots.exe`: SHA-256\n13: `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`;\n14: * `/usr/bin/objdump`: SHA-256\n15: `1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`;\n16: * assigned engine source binding:\n17: `ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd`;\n18: * assigned RE source binding:\n19: `6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8`.\n20: \n21: All four stdout hashes equal the corresponding records in the historical bridge manifest\n22: `run-472955e277202c411388c66b/manifest.json`. This is same-tool/same-binary reproduction by the ABI\n23: analyst, not the required independent-verifier reproduction.\n24: \n25: ## Recorded instruction facts\n26: \n27: For valid containers and normally returning callees:\n28: \n29: 1. Complete get/create entry `0x00885380..0x0088544a` reserves stack space but does not initialize\n30: `[EBP-0x20]`, the temporary `TurnEvents+4` / `EvTurn` word. The miss path writes the vptr at\n31: `[EBP-0x24]`, nested-vector pointers at `-0x1c/-0x18/-0x14`, and EH state at `-4`.\n32: 2. Append's external-source branch at `0x00884d62..0x00884d73` loads source `+4`, stores it to\n33: destination `+4`, then invokes nested-vector copy. It advances `_Mylast` at `0x00884d78`.\n34: 3. Nested copy `0x00779850` first zeros all three destination pointers. Its empty-source branch at\n35: `0x007798b2` reaches the return without allocation; a nonempty source instead allocates and\n36: range-copy-constructs `0x74`-byte `PlayerEvent` elements. The captured unwind edge calls\n37: `0x00629580`; no throw was executed.\n38: 4. Get/create calls temporary nested-vector cleanup at `0x00885422`, then writes the requested turn\n39: into the stored last element at `0x0088542d`, then returns `_Mylast-0x18` in EAX.\n40: 5. Cleanup `0x00629580` skips destruction/free for a null first pointer; otherwise it invokes each\n41: `0x74`-stride element's virtual destructor, calls `0x00924faa` on the nested allocation, and in\n42: either case zeros all three vector pointers.\n43: \n44: ## Corrected interpretation\n45: \n46: **Decision:** describe the pre-append scalar only as an incoming stack word not initialized by this\n47: routine. It is neither measured randomness nor necessarily nonzero. Do not encode a zero default or\n48: attempt to reproduce an uninitialized read in clean-room code. The usable static postcondition is\n49: that, after successful append and temporary cleanup, the stored new bucket contains the requested\n50: turn and EAX identifies that bucket.\n51: \n52: **Unexercised / unresolved:** full-capacity allocation at this call site, nonempty nested copy,\n53: failure/unwind outcomes, transient observers/reentrancy, padding bytes and live CRT compatibility.\n54: No event ID, event record, RNG, or other game state is written by get/create itself in the captured\n55: normal path beyond outer container construction/pointers and the new bucket's fields.\n56: \n57: ## Independent falsifiers still required\n58: \n59: The independent verifier should freshly hash the tool/binary and reproduce all four windows, then\n60: check these distinct branches/states: existing duplicate turn buckets select the last match and do\n61: not write; miss with spare versus full outer capacity; empty versus nonempty nested vector; and\n62: cleanup-before-final-turn-store ordering. A future leased runtime fixture, if separately authorized,\n63: can use distinct stack sentinels and spare/full capacity with neutral controls. Coherent parsing or\n64: a final correct `EvTurn` alone cannot prove transient field semantics or allocator safety.\n\n(End of file - total 64 lines)\n","metadata":{"preview":"# TurnEvents miss-path correction capture\n\nThis is a **fresh static measurement**, not live execution, allocator-safety evidence, independent\nverification, or replacement acceptance. It implements the read-only analyst repair required by\nAstra decision `d-b51f3f76803e852ed250846a`.\n\n## Provenance and positive execution\n\n`manifest.json` records four GNU objdump 2.38 invocations. Each returned zero, emitted nonempty\nstdout and empty stderr. The freshly hashed inputs are:\n\n* owner-supplied `dumps/sots.exe`: SHA-256\n `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`;\n* `/usr/bin/objdump`: SHA-256\n `1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`;\n* assigned engine source binding:\n `ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd`;\n* assigned RE source binding:\n `6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8`.\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md","text":"# TurnEvents miss-path correction capture\n\nThis is a **fresh static measurement**, not live execution, allocator-safety evidence, independent\nverification, or replacement acceptance. It implements the read-only analyst repair required by\nAstra decision `d-b51f3f76803e852ed250846a`.\n\n## Provenance and positive execution\n\n`manifest.json` records four GNU objdump 2.38 invocations. Each returned zero, emitted nonempty\nstdout and empty stderr. The freshly hashed inputs are:\n\n* owner-supplied `dumps/sots.exe`: SHA-256\n `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`;\n* `/usr/bin/objdump`: SHA-256\n `1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`;\n* assigned engine source binding:\n `ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd`;\n* assigned RE source binding:\n `6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8`.\n\nAll four stdout hashes equal the corresponding records in the historical bridge manifest\n`run-472955e277202c411388c66b/manifest.json`. This is same-tool/same-binary reproduction by the ABI\nanalyst, not the required independent-verifier reproduction.\n\n## Recorded instruction facts\n\nFor valid containers and normally returning callees:\n\n1. Complete get/create entry `0x00885380..0x0088544a` reserves stack space but does not initialize\n `[EBP-0x20]`, the temporary `TurnEvents+4` / `EvTurn` word. The miss path writes the vptr at\n `[EBP-0x24]`, nested-vector pointers at `-0x1c/-0x18/-0x14`, and EH state at `-4`.\n2. Append's external-source branch at `0x00884d62..0x00884d73` loads source `+4`, stores it to\n destination `+4`, then invokes nested-vector copy. It advances `_Mylast` at `0x00884d78`.\n3. Nested copy `0x00779850` first zeros all three destination pointers. Its empty-source branch at\n `0x007798b2` reaches the return without allocation; a nonempty source instead allocates and\n range-copy-constructs `0x74`-byte `PlayerEvent` elements. The captured unwind edge calls\n `0x00629580`; no throw was executed.\n4. Get/create calls temporary nested-vector cleanup at `0x00885422`, then writes the requested turn\n into the stored last element at `0x0088542d`, then returns `_Mylast-0x18` in EAX.\n5. Cleanup `0x00629580` skips destruction/free for a null first pointer; otherwise it invokes each\n `0x74`-stride element's virtual destructor, calls `0x00924faa` on the nested allocation, and in\n either case zeros all three vector pointers.\n\n## Corrected interpretation\n\n**Decision:** describe the pre-append scalar only as an incoming stack word not initialized by this\nroutine. It is neither measured randomness nor necessarily nonzero. Do not encode a zero default or\nattempt to reproduce an uninitialized read in clean-room code. The usable static postcondition is\nthat, after successful append and temporary cleanup, the stored new bucket contains the requested\nturn and EAX identifies that bucket.\n\n**Unexercised / unresolved:** full-capacity allocation at this call site, nonempty nested copy,\nfailure/unwind outcomes, transient observers/reentrancy, padding bytes and live CRT compatibility.\nNo event ID, event record, RNG, or other game state is written by get/create itself in the captured\nnormal path beyond outer container construction/pointers and the new bucket's fields.\n\n## Independent falsifiers still required\n\nThe independent verifier should freshly hash the tool/binary and reproduce all four windows, then\ncheck these distinct branches/states: existing duplicate turn buckets select the last match and do\nnot write; miss with spare versus full outer capacity; empty versus nonempty nested vector; and\ncleanup-before-final-turn-store ordering. A future leased runtime fixture, if separately authorized,\ncan use distinct stack sentinels and spare/full capacity with neutral controls. Coherent parsing or\na final correct `EvTurn` alone cannot prove transient field semantics or allocator safety.","lineStart":1,"lineEnd":64,"totalLines":64,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/report.md","time":{"start":1789015047622,"end":1789015047635}},"metadata":{"openai":{"itemId":"fc_0bbc994705dad8bd016aa23405861887d189e4602997b945a6"}},"id":"prt_0899b370c0012XJifNqOOLNMhU","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b2a7a0017ub11QsmBeXbXG"}} +{"type":"step_finish","timestamp":1789015047744,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b3e3d001joZEtCagCK1M5s","reason":"tool-calls","snapshot":"8b188dfd4c708c6aa6e9802bc24ac09475f4b152","messageID":"msg_0899b2a7a0017ub11QsmBeXbXG","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":26659,"input":2287,"output":52,"reasoning":0,"cache":{"write":0,"read":24320}},"cost":0}} +{"type":"step_start","timestamp":1789015050524,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b4919001p02J7OtTVKuOxM","messageID":"msg_0899b3e63001jdBBhokBhhnpHT","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"eb564d60c4c0235ad753dd0a4881894c1ebd1e03","type":"step-start"}} +{"type":"tool_use","timestamp":1789015057477,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_YSLQzIXCuJU1DbTgE93kB4tP","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/capture.py"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/capture.py\nfile\n\n1: #!/usr/bin/env python3\n2: \"\"\"Capture the four read-only windows required by decision d-b51f3f76803e852ed250846a.\"\"\"\n3: \n4: import hashlib\n5: import json\n6: import subprocess\n7: from datetime import datetime, timezone\n8: from pathlib import Path\n9: \n10: ROOT = Path(\"/home/alex/sots-re\")\n11: OUT = ROOT / \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09\"\n12: BINARY = ROOT / \"dumps/sots.exe\"\n13: TOOL = Path(\"/usr/bin/objdump\")\n14: \n15: WINDOWS = (\n16: (\"turn-get-create\", \"0x00885380\", \"0x0088544a\"),\n17: (\"turn-append\", \"0x00884cb0\", \"0x00884d8f\"),\n18: (\"nested-copy\", \"0x00779850\", \"0x00779a20\"),\n19: (\"nested-dtor\", \"0x00629580\", \"0x006295ca\"),\n20: )\n21: \n22: \n23: def digest(data: bytes) -> str:\n24: return hashlib.sha256(data).hexdigest()\n25: \n26: \n27: def file_digest(path: Path) -> str:\n28: return digest(path.read_bytes())\n29: \n30: \n31: records = []\n32: for name, start, stop in WINDOWS:\n33: argv = [str(TOOL), \"-D\", \"-Mintel\", f\"--start-address={start}\",\n34: f\"--stop-address={stop}\", str(BINARY)]\n35: proc = subprocess.run(argv, cwd=ROOT, check=False, capture_output=True)\n36: stdout_path = OUT / f\"{name}.stdout.txt\"\n37: stderr_path = OUT / f\"{name}.stderr.txt\"\n38: stdout_path.write_bytes(proc.stdout)\n39: stderr_path.write_bytes(proc.stderr)\n40: records.append({\n41: \"name\": name,\n42: \"argv\": argv,\n43: \"cwd\": str(ROOT),\n44: \"start\": start,\n45: \"stop\": stop,\n46: \"returncode\": proc.returncode,\n47: \"stdout\": {\n48: \"path\": str(stdout_path.relative_to(ROOT)),\n49: \"bytes\": len(proc.stdout),\n50: \"sha256\": digest(proc.stdout),\n51: },\n52: \"stderr\": {\n53: \"path\": str(stderr_path.relative_to(ROOT)),\n54: \"bytes\": len(proc.stderr),\n55: \"sha256\": digest(proc.stderr),\n56: },\n57: })\n58: \n59: version = subprocess.run([str(TOOL), \"--version\"], check=True,\n60: capture_output=True, text=True).stdout.splitlines()[0]\n61: manifest = {\n62: \"schema\": \"sots-abi-static-capture/1\",\n63: \"session\": \"run-16f8e9b6376b278c4870be09\",\n64: \"actor\": \"research-abi-analyst\",\n65: \"role\": \"analyst\",\n66: \"model\": \"openai/gpt-5.6-sol\",\n67: \"timestamp\": datetime.now(timezone.utc).isoformat(),\n68: \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n69: \"source_binding\": {\n70: \"engine\": {\n71: \"path\": \"/tmp/opencode/sots-final-research-engine\",\n72: \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n73: \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\",\n74: },\n75: \"re\": {\n76: \"path\": \"/tmp/opencode/sots-final-research-re\",\n77: \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n78: \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\",\n79: },\n80: },\n81: \"input\": {\n82: \"path\": \"dumps/sots.exe\",\n83: \"bytes\": BINARY.stat().st_size,\n84: \"sha256\": file_digest(BINARY),\n85: },\n86: \"tool\": {\n87: \"path\": str(TOOL),\n88: \"bytes\": TOOL.stat().st_size,\n89: \"sha256\": file_digest(TOOL),\n90: \"version\": version,\n91: },\n92: \"windows\": records,\n93: }\n94: (OUT / \"manifest.json\").write_text(json.dumps(manifest, indent=2) + \"\\n\")\n\n(End of file - total 94 lines)\n","metadata":{"preview":"#!/usr/bin/env python3\n\"\"\"Capture the four read-only windows required by decision d-b51f3f76803e852ed250846a.\"\"\"\n\nimport hashlib\nimport json\nimport subprocess\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nROOT = Path(\"/home/alex/sots-re\")\nOUT = ROOT / \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09\"\nBINARY = ROOT / \"dumps/sots.exe\"\nTOOL = Path(\"/usr/bin/objdump\")\n\nWINDOWS = (\n (\"turn-get-create\", \"0x00885380\", \"0x0088544a\"),\n (\"turn-append\", \"0x00884cb0\", \"0x00884d8f\"),\n (\"nested-copy\", \"0x00779850\", \"0x00779a20\"),\n (\"nested-dtor\", \"0x00629580\", \"0x006295ca\"),\n)","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/capture.py","text":"#!/usr/bin/env python3\n\"\"\"Capture the four read-only windows required by decision d-b51f3f76803e852ed250846a.\"\"\"\n\nimport hashlib\nimport json\nimport subprocess\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nROOT = Path(\"/home/alex/sots-re\")\nOUT = ROOT / \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09\"\nBINARY = ROOT / \"dumps/sots.exe\"\nTOOL = Path(\"/usr/bin/objdump\")\n\nWINDOWS = (\n (\"turn-get-create\", \"0x00885380\", \"0x0088544a\"),\n (\"turn-append\", \"0x00884cb0\", \"0x00884d8f\"),\n (\"nested-copy\", \"0x00779850\", \"0x00779a20\"),\n (\"nested-dtor\", \"0x00629580\", \"0x006295ca\"),\n)\n\n\ndef digest(data: bytes) -> str:\n return hashlib.sha256(data).hexdigest()\n\n\ndef file_digest(path: Path) -> str:\n return digest(path.read_bytes())\n\n\nrecords = []\nfor name, start, stop in WINDOWS:\n argv = [str(TOOL), \"-D\", \"-Mintel\", f\"--start-address={start}\",\n f\"--stop-address={stop}\", str(BINARY)]\n proc = subprocess.run(argv, cwd=ROOT, check=False, capture_output=True)\n stdout_path = OUT / f\"{name}.stdout.txt\"\n stderr_path = OUT / f\"{name}.stderr.txt\"\n stdout_path.write_bytes(proc.stdout)\n stderr_path.write_bytes(proc.stderr)\n records.append({\n \"name\": name,\n \"argv\": argv,\n \"cwd\": str(ROOT),\n \"start\": start,\n \"stop\": stop,\n \"returncode\": proc.returncode,\n \"stdout\": {\n \"path\": str(stdout_path.relative_to(ROOT)),\n \"bytes\": len(proc.stdout),\n \"sha256\": digest(proc.stdout),\n },\n \"stderr\": {\n \"path\": str(stderr_path.relative_to(ROOT)),\n \"bytes\": len(proc.stderr),\n \"sha256\": digest(proc.stderr),\n },\n })\n\nversion = subprocess.run([str(TOOL), \"--version\"], check=True,\n capture_output=True, text=True).stdout.splitlines()[0]\nmanifest = {\n \"schema\": \"sots-abi-static-capture/1\",\n \"session\": \"run-16f8e9b6376b278c4870be09\",\n \"actor\": \"research-abi-analyst\",\n \"role\": \"analyst\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"timestamp\": datetime.now(timezone.utc).isoformat(),\n \"scope\": \"Fresh read-only correction capture required by d-b51f3f76803e852ed250846a; no game execution or live allocator claim.\",\n \"source_binding\": {\n \"engine\": {\n \"path\": \"/tmp/opencode/sots-final-research-engine\",\n \"commit\": \"7741d42fc5e4e761e6449bdaf0e4a61d00036a23\",\n \"sha256\": \"ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd\",\n },\n \"re\": {\n \"path\": \"/tmp/opencode/sots-final-research-re\",\n \"commit\": \"3bfde5a70d874a723e797a695bbd847fd82c0aa7\",\n \"sha256\": \"6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8\",\n },\n },\n \"input\": {\n \"path\": \"dumps/sots.exe\",\n \"bytes\": BINARY.stat().st_size,\n \"sha256\": file_digest(BINARY),\n },\n \"tool\": {\n \"path\": str(TOOL),\n \"bytes\": TOOL.stat().st_size,\n \"sha256\": file_digest(TOOL),\n \"version\": version,\n },\n \"windows\": records,\n}\n(OUT / \"manifest.json\").write_text(json.dumps(manifest, indent=2) + \"\\n\")","lineStart":1,"lineEnd":94,"totalLines":94,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/capture.py","time":{"start":1789015057460,"end":1789015057474}},"metadata":{"openai":{"itemId":"fc_0f9adb9e07b0aeb8016aa2341145b887d1ae3c7c3f8eb81066"}},"id":"prt_0899b6424001I0tZHWw5FOtLw0","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b3e63001jdBBhokBhhnpHT"}} +{"type":"step_finish","timestamp":1789015057663,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b64fc001aT9wHstJEJ1ceG","reason":"tool-calls","snapshot":"9ae197211f1fb4380c346112f414e440fc96f4ca","messageID":"msg_0899b3e63001jdBBhokBhhnpHT","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":27969,"input":1404,"output":55,"reasoning":14,"cache":{"write":0,"read":26496}},"cost":0}} +{"type":"step_start","timestamp":1789015060609,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b707e001d1zvQddcJrI4Cy","messageID":"msg_0899b6528001Ip4DQYM33a0eDs","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"a42a11b4bb0ee1fdc7976d3ec86e818c1610e626","type":"step-start"}} +{"type":"tool_use","timestamp":1789015065914,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_tZRUOlq4LeY0JAeWSLzvdTiX","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/campaign/research/research-completion-abi.md"},"output":"/home/alex/sots-re/campaign/research/research-completion-abi.md\nfile\n\n1: # Completion record ABI recovery\n2: \n3: Static handoff only. The provenance index is\n4: `verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\n5: capture and interpretation are respectively\n6: `verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n7: `verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n8: `verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\n9: provenance is superseded by the paired captures and identity record in\n10: `verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n11: `d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\n12: SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n13: `9969481c39f4b33a8a21c48b62abee4c`.\n14: \n15: The ownership archive's terminal-byte provenance is likewise superseded by the complete package\n16: `verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n17: `d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\n18: audit establish the encoded return immediates while preserving the static-only limitation. The\n19: package found three additional truncated historical stops (ObservedTech append/reallocator and\n20: string allocation/replacement); their widened streams are now the byte authority. No archive\n21: production-history inference or live-safety claim is made.\n22: \n23: ## Implementable machine boundaries recovered\n24: \n25: * `0x008562a0`: ObservedTech default constructor, ECX receiver, EAX return, plain `ret`.\n26: * `0x007b7320`: ObservedTech vector append, ECX receiver plus one stack word, `ret 4`; stride `0x2c`.\n27: Its copy helper is `0x0079a150` (cdecl-style allocator/destination/source stack arguments), which copy-constructs the embedded string rather than copying a\n28: vector element header. Capacity growth is `0x007b5820` -> `0x007b34e0` -> `0x0057e590`.\n29: * `0x0057e590` calls `0x00924fb6` with `count * 0x2c`; reallocation destroys every old element via\n30: virtual slot 0 with zero and frees the array through `0x00924faa`. These are MSVCR100 scalar-new\n31: and scalar-delete import thunks, not clean-room allocator operations.\n32: * `0x0086c580`: PlayerEvent vector append, ECX receiver plus one stack word, `ret 4`; stride `0x74`.\n33: It grows via `0x00869500` and copy-constructs through `0x007693f0` (ECX destination, stack source,\n34: EAX destination return, ret 4), independently assigning all\n35: three strings. `0x0061ae90` releases each long string via `0x00924faa` when capacity is `>= 0x10`.\n36: * `0x004249a0` (reached by `0x00425430` assignment) allocates through `0x00924fb6` and releases a\n37: prior long destination buffer through `0x00924faa`. A temporary long string is therefore not\n38: transferable by raw header copy.\n39: * `0x00885380`: get-or-create TurnEvents bucket, ECX EventStorage receiver plus stack turn, EAX\n40: bucket return, `ret 4`. It returns the last existing matching turn. On absence it initializes the\n41: stack bucket's vptr and empty nested-vector header but **not** its `EvTurn`; `0x00884cb0` copies\n42: that incoming stack word and deep-copies the nested vector. After temporary nested-vector cleanup,\n43: get/create writes the requested turn into the stored last element and returns it. The transient\n44: word is not measured randomness or a zero default. Fresh correction capture:\n45: `verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/`, governed by\n46: `d-b51f3f76803e852ed250846a`.\n47: * `0x00884cb0`: outer TurnEvents vector append, ECX vector receiver plus stack source, `ret 4`,\n48: stride `0x18`. Full-capacity growth is `0x008841a0` -> `0x00883a60`; allocation is\n49: `0x006e8f50` -> `0x00924fb6` with `count * 0x18`. Existing buckets are copy-constructed by\n50: `0x0077fed0`, including an independently allocated/copied nested PlayerEvent vector via\n51: `0x00779850` -> `0x0078af40` (`count * 0x74`) -> `0x007725a0` -> `0x007693f0`.\n52: * TurnEvents virtual slot zero resolves from vtable `0x00a0f07c` to `0x0062e120`. It destroys the\n53: nested vector through `0x00629580`; that destroys every `0x74` PlayerEvent, frees the nested block,\n54: and zeros its three pointers. Static unwind edges clean partial PlayerEvent and TurnEvents ranges\n55: and free the new outer block, but no allocation failure was executed live.\n56: \n57: ## Ordering / visible effects\n58: \n59: RecordObservedTech's append predicate is name absence, not capacity. A matching existing record\n60: keeps first-turn/name and updates last-turn/with mask. `0x00825d40` scans a bucket's events in\n61: `0x74` steps, checking action, location, three floats, message and image before passing both\n62: description strings to `0x0046f8c0`. Fresh paired-boundary instructions establish that helper as\n63: caller-cleaned `bool string_not_equal(stored, candidate)`: it returns one for any byte/length\n64: difference and zero for equality, handling each operand's inline/heap representation at capacity\n65: `0x10`. FindDuplicate reaches the match return only on zero, so `EvDsc` equality is required and a\n66: description-only difference does not deduplicate. This statically contradicts the inherited\n67: description-omission claim; decision `d-2ff30c9f5355116bea822924` required the now-archived complete\n68: branch/helper repair. The later provenance correction does not itself prove these semantics: an\n69: independent verifier must reproduce the repaired package and predeclared falsifiers. The wrapper\n70: returns the first element equal in all fields and writes nothing.\n71: `0x00879eb0` prunes only a leading\n72: stale run (`EvTurn < turn-50`), deep-shifts from the run's last stale element, and therefore removes\n73: `n-1`: one stale bucket survives, a single stale bucket causes no write, and stale buckets after a\n74: fresh bucket are not inspected. The no-duplicate EventStorage path remains distinct from event-vector\n75: capacity: it is the path that appends a `0x74` PlayerEvent and changes IDs/vector contents. Caller\n76: text/position/action/defaulting and the exact PostEvent write order remain required inputs/effects.\n77: No RNG draw occurs in the recovered bucket, duplicate, prune, copy, allocation, or destruction\n78: boundaries.\n79: \n80: ## Original/runtime dependencies and limits\n81: \n82: Any original-assisted allocation, string assignment or deletion must retain allocator-family\n83: compatibility: the recovered calls target the original MSVCR100 import thunks. A standalone\n84: replacement needs its own coherent allocation/destruction boundary; calling these original helpers\n85: is an original dependency, not independent replacement. Calling `0x0046f8c0` likewise retains an\n86: original string-layout/comparison dependency, though its equality behavior is implementable without\n87: allocation in a standalone boundary. Required unavailable proof inputs are a safe\n88: long-string/full-capacity pre/post fixture (or equivalent archived trace), same-bucket\n89: equal/description-only-different event fixtures covering short and long strings, exact exceptional\n90: cleanup outcomes under a live throw, and independent reproduction of the named static windows and\n91: falsifiers. This handoff makes no live\n92: allocator-safety, runtime event-construction, or replacement-acceptance claim.\n\n(End of file - total 92 lines)\n","metadata":{"preview":"# Completion record ABI recovery\n\nStatic handoff only. The provenance index is\n`verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\ncapture and interpretation are respectively\n`verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n`verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\nprovenance is superseded by the paired captures and identity record in\n`verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n`d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\nSHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe ownership archive's terminal-byte provenance is likewise superseded by the complete package\n`verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n`d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\naudit establish the encoded return immediates while preserving the static-only limitation. The\npackage found three additional truncated historical stops (ObservedTech append/reallocator and\nstring allocation/replacement); their widened streams are now the byte authority. No archive","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/campaign/research/research-completion-abi.md","text":"# Completion record ABI recovery\n\nStatic handoff only. The provenance index is\n`verify/results/research-completion-abi/reva-2026-09-09-index.md`; the regenerated instruction\ncapture and interpretation are respectively\n`verify/results/research-completion-abi/objdump-2026-09-09-ownership.txt` and\n`verify/results/research-completion-abi/recovered-static.md`. The complete dedup/helper repair is\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`; its first-window raw\nprovenance is superseded by the paired captures and identity record in\n`verify/results/research-completion-abi/objdump-2026-09-10-boundary-repair.md` under Astra decision\n`d-d2a9b8be6399a6abaa0e05a5`. Input identity is `dumps/sots.exe`,\nSHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe ownership archive's terminal-byte provenance is likewise superseded by the complete package\n`verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/` under Astra decision\n`d-d4c494ba02ada278030ef473`. Its six narrow/wide pairs, raw section-byte checks and full ten-window\naudit establish the encoded return immediates while preserving the static-only limitation. The\npackage found three additional truncated historical stops (ObservedTech append/reallocator and\nstring allocation/replacement); their widened streams are now the byte authority. No archive\nproduction-history inference or live-safety claim is made.\n\n## Implementable machine boundaries recovered\n\n* `0x008562a0`: ObservedTech default constructor, ECX receiver, EAX return, plain `ret`.\n* `0x007b7320`: ObservedTech vector append, ECX receiver plus one stack word, `ret 4`; stride `0x2c`.\n Its copy helper is `0x0079a150` (cdecl-style allocator/destination/source stack arguments), which copy-constructs the embedded string rather than copying a\n vector element header. Capacity growth is `0x007b5820` -> `0x007b34e0` -> `0x0057e590`.\n* `0x0057e590` calls `0x00924fb6` with `count * 0x2c`; reallocation destroys every old element via\n virtual slot 0 with zero and frees the array through `0x00924faa`. These are MSVCR100 scalar-new\n and scalar-delete import thunks, not clean-room allocator operations.\n* `0x0086c580`: PlayerEvent vector append, ECX receiver plus one stack word, `ret 4`; stride `0x74`.\n It grows via `0x00869500` and copy-constructs through `0x007693f0` (ECX destination, stack source,\n EAX destination return, ret 4), independently assigning all\n three strings. `0x0061ae90` releases each long string via `0x00924faa` when capacity is `>= 0x10`.\n* `0x004249a0` (reached by `0x00425430` assignment) allocates through `0x00924fb6` and releases a\n prior long destination buffer through `0x00924faa`. A temporary long string is therefore not\n transferable by raw header copy.\n* `0x00885380`: get-or-create TurnEvents bucket, ECX EventStorage receiver plus stack turn, EAX\n bucket return, `ret 4`. It returns the last existing matching turn. On absence it initializes the\n stack bucket's vptr and empty nested-vector header but **not** its `EvTurn`; `0x00884cb0` copies\n that incoming stack word and deep-copies the nested vector. After temporary nested-vector cleanup,\n get/create writes the requested turn into the stored last element and returns it. The transient\n word is not measured randomness or a zero default. Fresh correction capture:\n `verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/`, governed by\n `d-b51f3f76803e852ed250846a`.\n* `0x00884cb0`: outer TurnEvents vector append, ECX vector receiver plus stack source, `ret 4`,\n stride `0x18`. Full-capacity growth is `0x008841a0` -> `0x00883a60`; allocation is\n `0x006e8f50` -> `0x00924fb6` with `count * 0x18`. Existing buckets are copy-constructed by\n `0x0077fed0`, including an independently allocated/copied nested PlayerEvent vector via\n `0x00779850` -> `0x0078af40` (`count * 0x74`) -> `0x007725a0` -> `0x007693f0`.\n* TurnEvents virtual slot zero resolves from vtable `0x00a0f07c` to `0x0062e120`. It destroys the\n nested vector through `0x00629580`; that destroys every `0x74` PlayerEvent, frees the nested block,\n and zeros its three pointers. Static unwind edges clean partial PlayerEvent and TurnEvents ranges\n and free the new outer block, but no allocation failure was executed live.\n\n## Ordering / visible effects\n\nRecordObservedTech's append predicate is name absence, not capacity. A matching existing record\nkeeps first-turn/name and updates last-turn/with mask. `0x00825d40` scans a bucket's events in\n`0x74` steps, checking action, location, three floats, message and image before passing both\ndescription strings to `0x0046f8c0`. Fresh paired-boundary instructions establish that helper as\ncaller-cleaned `bool string_not_equal(stored, candidate)`: it returns one for any byte/length\ndifference and zero for equality, handling each operand's inline/heap representation at capacity\n`0x10`. FindDuplicate reaches the match return only on zero, so `EvDsc` equality is required and a\ndescription-only difference does not deduplicate. This statically contradicts the inherited\ndescription-omission claim; decision `d-2ff30c9f5355116bea822924` required the now-archived complete\nbranch/helper repair. The later provenance correction does not itself prove these semantics: an\nindependent verifier must reproduce the repaired package and predeclared falsifiers. The wrapper\nreturns the first element equal in all fields and writes nothing.\n`0x00879eb0` prunes only a leading\nstale run (`EvTurn < turn-50`), deep-shifts from the run's last stale element, and therefore removes\n`n-1`: one stale bucket survives, a single stale bucket causes no write, and stale buckets after a\nfresh bucket are not inspected. The no-duplicate EventStorage path remains distinct from event-vector\ncapacity: it is the path that appends a `0x74` PlayerEvent and changes IDs/vector contents. Caller\ntext/position/action/defaulting and the exact PostEvent write order remain required inputs/effects.\nNo RNG draw occurs in the recovered bucket, duplicate, prune, copy, allocation, or destruction\nboundaries.\n\n## Original/runtime dependencies and limits\n\nAny original-assisted allocation, string assignment or deletion must retain allocator-family\ncompatibility: the recovered calls target the original MSVCR100 import thunks. A standalone\nreplacement needs its own coherent allocation/destruction boundary; calling these original helpers\nis an original dependency, not independent replacement. Calling `0x0046f8c0` likewise retains an\noriginal string-layout/comparison dependency, though its equality behavior is implementable without\nallocation in a standalone boundary. Required unavailable proof inputs are a safe\nlong-string/full-capacity pre/post fixture (or equivalent archived trace), same-bucket\nequal/description-only-different event fixtures covering short and long strings, exact exceptional\ncleanup outcomes under a live throw, and independent reproduction of the named static windows and\nfalsifiers. This handoff makes no live\nallocator-safety, runtime event-construction, or replacement-acceptance claim.","lineStart":1,"lineEnd":92,"totalLines":92,"truncated":false}},"title":"campaign/research/research-completion-abi.md","time":{"start":1789015065905,"end":1789015065912}},"metadata":{"openai":{"itemId":"fc_08670c9cb8a535db016aa234191c8887d194d2232b057e6f44"}},"id":"prt_0899b824f001BUDWDY0B6czm2G","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b6528001Ip4DQYM33a0eDs"}} +{"type":"step_finish","timestamp":1789015066026,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b85a6001sN4ED3090rGaNm","reason":"tool-calls","snapshot":"61c5eb37ba34cdeb39dae7982127110b1206cfe0","messageID":"msg_0899b6528001Ip4DQYM33a0eDs","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":29335,"input":1396,"output":37,"reasoning":126,"cache":{"write":0,"read":27776}},"cost":0}} +{"type":"step_start","timestamp":1789015068350,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b8eb7001OvzWcEIjUMjh7K","messageID":"msg_0899b85cd001Z9Sr5B2whThZID","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"2b6940f9f867df2677a73c25a06f5242cac2cb13","type":"step-start"}} +{"type":"tool_use","timestamp":1789015069381,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_HKTmlFUkDTEfMBi5lT7HIAAV","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/recovered-static.md"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/recovered-static.md\nfile\n\n1: # Fresh static observations\n2: \n3: Static evidence only. It does not establish live allocator safety, a compatible replacement\n4: allocator, or replacement acceptance. Raw local evidence and exact regeneration commands are in\n5: `objdump-2026-09-09-ownership.txt`; the owner-supplied input is `dumps/sots.exe`, SHA-256\n6: `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n7: `9969481c39f4b33a8a21c48b62abee4c`.\n8: \n9: The original dedup archive's first-window provenance was overturned by independent review and Astra\n10: decision `d-d2a9b8be6399a6abaa0e05a5`. Fresh narrow/wide raw streams and complete identities are in\n11: `objdump-2026-09-10-boundary-repair.md`. The widened stream supplies the complete terminal bytes;\n12: semantic promotion still requires a new independent reproduction and challenge.\n13: \n14: The ownership archive's selected terminal rows have the same superseded provenance limitation.\n15: Fresh full streams, narrow/wide repairs, section-byte dumps and an audit of all ten declared windows\n16: are in `run-79357a65226f61d6a86c042d/`. Six historical stops truncate `ret imm16` after `c2`;\n17: the widened/static raw bytes establish five `c2 04 00` encodings and one `c2 08 00` encoding.\n18: This repairs terminal-byte provenance under decision `d-d4c494ba02ada278030ef473`; it does not\n19: convert the static interpretations below into live allocator-safety or accepted ABI claims.\n20: \n21: ## Recorded instruction facts\n22: \n23: * `ObservedTech::ObservedTech` at `0x008562a0` is an ECX receiver, returns that receiver in EAX,\n24: and uses plain `ret`. It installs vtable `0x00a2439c`; initializes the string rooted at `+0x0c`\n25: to `_Myres=15`, `_Mysize=0`, empty first byte; zeros `+4` (therefore both 16-bit turns), `+8`, and\n26: `+0x28`; and calls `0x00425550` for the empty-string setup.\n27: * `vector::push_back` at `0x007b7320` is ECX receiver plus one stack word (`ret 4`).\n28: It grows only when `_Mylast == _Myend`, through `0x007b5820(this, 1)`, then invokes the\n29: `0x0079a150` element-copy helper and advances `_Mylast` by exactly `0x2c`. The source-inside-vector\n30: and source-outside-vector branches both lead to this copy helper; the former recomputes the source\n31: from its pre-growth index. Thus append copies the temporary rather than adopting its string header.\n32: * The `0x0079a150` helper constructs a destination `ObservedTech`: vptr, words `+4/+6`, byte `+8`,\n33: string copy via `0x00425430`, and word `+0x28`. It is a copy construction operation, not a raw\n34: 44-byte memcpy. Independent Astra cross-check pins a **cdecl-style three-stack-argument** ABI:\n35: unused allocator argument, destination at `[ebp+0xc]`, source at `[ebp+0x10]`; plain `ret` and\n36: caller cleanup of 12 bytes. Incoming ECX is not a receiver (its initial push only allocates a\n37: local slot that is overwritten). Exact C++ template name is unnecessary for this machine boundary.\n38: * `0x007b5820` computes required capacity as old size plus its one stack-word count and uses the\n39: 1.5x growth rule when sufficient. It calls `0x007b34e0`; that reallocator calls `0x0057e590` with\n40: new element count. `0x0057e590` multiplies by `0x2c` and calls `0x00924fb6` (scalar `operator new`\n41: import thunk). Reallocation copy-constructs old elements through `0x0085e650`, calls each old\n42: element's virtual destructor slot 0 with pushed zero, then frees the old array through\n43: `0x00924faa` (scalar `operator delete` import thunk), and updates all three vector pointers.\n44: * `PlayerEvent` vector append at `0x0086c580` is ECX receiver plus one stack word (`ret 4`), grows\n45: through `0x00869500` if full, copy-constructs the element through `0x007693f0`, then advances\n46: `_Mylast` by `0x74`. The copy helper copies scalar fields and independently assigns all three\n47: strings at `+8`, `+0x24`, `+0x50` through `0x00425430`; it is not a 116-byte header copy.\n48: * `PlayerEvent` destructor body at `0x0061ae90` tests each string capacity (`+0x1c`, `+0x38`,\n49: `+0x64`) against `0x10`; for long strings it frees the buffer at `+8`, `+0x24`, `+0x50` through\n50: `0x00924faa`, then restores empty/SSO values. This establishes three independent owned-string\n51: cleanup paths in a copied event.\n52: * `0x004249a0`, called from the string assignment `0x00425430`, allocates new character storage via\n53: `0x00924fb6` and frees an existing long destination buffer through `0x00924faa` before installing\n54: the replacement pointer/size/capacity. The branch condition for long ownership is capacity\n55: `>= 0x10`; short strings stay inline. Per the independently captured PE imports, these thunks map\n56: to MSVCR100 scalar `operator delete` and scalar `operator new` respectively.\n57: \n58: ### Nested TurnEvents machine boundary\n59: \n60: * `0x00885380` is an ECX-receiver operation over the outer vector at receiver `+4`, takes one\n61: stack `int turn`, returns a `TurnEvents*` in EAX, and uses `ret 4`. It divides the outer byte span\n62: by `0x18`, scans every element, and overwrites its candidate on every `EvTurn` match. Therefore a\n63: hit returns the **last** matching bucket and performs no construction, allocation, ID update, or\n64: RNG draw.\n65: * On a miss it initializes a stack `TurnEvents` with vptr `0x00a0f07c` and zero nested-vector\n66: pointers, but does **not** initialize the temporary `EvTurn` at `+4` (`[EBP-0x20]`). It then calls\n67: outer `vector::push_back` at `0x00884cb0`; append copies that incoming stack word as its\n68: scalar `EvTurn` before deep-copying the nested vector. Get/create destroys the temporary's nested\n69: vector through `0x00629580`, only then writes the requested turn to the stored element at\n70: `_Mylast[-1]+4`, and returns the new element. The transient word is not measured randomness or\n71: necessarily nonzero; do not infer a zero default. This correction and its fresh four-window\n72: reproduction are in `run-16f8e9b6376b278c4870be09/` under decision\n73: `d-b51f3f76803e852ed250846a`.\n74: * `0x00884cb0` is ECX receiver plus one source pointer and `ret 4`; stride is `0x18`. It handles a\n75: source pointer inside its own vector separately so growth cannot invalidate the source. Both\n76: branches install the TurnEvents vptr, copy `EvTurn`, and copy-construct the nested PlayerEvent\n77: vector through `0x00779850`; this is not a 24-byte header copy. It advances outer `_Mylast` only\n78: after the nested copy call returns.\n79: * Outer full-capacity growth is `0x008841a0` -> `0x00883a60`. Capacity selection is old capacity\n80: plus half where sufficient, otherwise required size. `0x006e8f50` allocates `count * 0x18` through\n81: `0x00924fb6`. `0x0077fed0` copy-constructs every old TurnEvents, including an independent nested\n82: vector via `0x00779850`; then `0x00883a60` invokes each old TurnEvents virtual destructor with\n83: deleting flag zero, frees the old outer allocation through `0x00924faa`, and writes all three\n84: outer vector pointers.\n85: * The vtable bytes at `0x00a0f07c` identify slot zero as `0x0062e120`. That scalar-deleting\n86: destructor calls `0x00629580` on the nested vector at `+8`; with flag bit zero it does not free the\n87: inline TurnEvents object. `0x00629580` invokes every nested PlayerEvent virtual destructor in\n88: `0x74` steps, frees the nested allocation through `0x00924faa`, and zeros all three nested vector\n89: pointers.\n90: * `0x00779850` is ECX destination nested vector plus one source-vector pointer and `ret 4`. An empty\n91: source leaves three zero pointers. A nonempty source allocates `count * 0x74` through\n92: `0x0078af40` -> `0x00924fb6`, then `0x007725a0` copy-constructs each PlayerEvent through\n93: `0x007693f0`. Its unwind destroys already completed PlayerEvents; `0x00779850` then calls\n94: `0x00629580`, and outer range-copy unwind at `0x0077fed0` destroys already completed TurnEvents.\n95: Outer reallocation's landing path frees the newly allocated outer block before continuing the\n96: exception through `0x00924fbc`. These are observed cleanup edges, not a claim that allocation\n97: failure has been executed live.\n98: \n99: ### Duplicate and prune branches\n100: \n101: * `0x00825d40` receives bucket and candidate pointers as two stack words, ignores incoming ECX,\n102: and uses `ret 8`. A null bucket or empty nested vector returns zero. It scans in `0x74` steps and\n103: checks, in order: `EvAct`, `EvLoc`, all three `EvPos` floats, `EvMsg`, `EvImg`, then calls\n104: `0x0046f8c0` with the strings rooted at `EvDsc +8`. Complete fresh capture establishes that\n105: `0x0046f8c0` is a two-stack-argument, caller-cleaned string-inequality operation: first argument is\n106: the stored string, second is the candidate string, EAX/AL is one iff the strings differ, and it\n107: uses plain `ret`. `0x00825e21` therefore reaches the matched-element return only when AL is zero,\n108: i.e. when descriptions are equal. A description-only difference continues the scan. This\n109: contradicts the inherited claim that `EvDsc` was excluded; decision\n110: `d-2ff30c9f5355116bea822924` required this evidence repair after resolving surprise\n111: `s-8996365dab2cd6dc0e17bb9f`. The first element equal in every listed field returns its pointer;\n112: exhaustion returns zero. The wrapper performs no writes, allocation, destruction, ID change,\n113: event append, or RNG draw.\n114: * `0x0046f8c0` selects the candidate's inline bytes when capacity is `<0x10`, otherwise its heap\n115: pointer, and passes candidate length/data plus stored length and offset zero to `0x004236a0`.\n116: `0x004236a0` independently selects the stored string's inline/heap bytes, compares the minimum\n117: byte count through `0x00422720`, then orders unequal lengths. Equal bytes and equal lengths return\n118: zero; any byte or length difference returns nonzero, which `0x0046f8c0` normalizes to one. Thus\n119: empty/short/long combinations are covered statically without allocation or copying. The\n120: imported failure helper at IAT slot `0x009dd154` is called only when offset exceeds stored length;\n121: it is unreachable for this offset-zero call, and no failure path was executed live. Its exact\n122: imported symbol remains unresolved in this package.\n123: * `0x00879eb0` is ECX receiver plus one stack `turn` and `ret 4`. It computes cutoff `turn-50` and\n124: inspects only the leading run with `EvTurn < cutoff`. Its selected pointer is the **last** stale\n125: member. No stale member, exactly one leading stale member, or an initially empty vector returns\n126: without writes. For two or more leading stale buckets, it copies from the last stale bucket\n127: through the old end into the old beginning: each destination gets source `EvTurn`, then its nested\n128: vector is deep-assigned by `0x0077a6b0`. It destroys the trailing shifted-from TurnEvents through\n129: virtual slot zero and sets outer `_Mylast` to the end of the retained prefix. Thus it removes\n130: `stale_count-1`, deliberately retaining one stale bucket; a stale bucket after the first fresh\n131: bucket is never inspected. No outer allocation is visible in this wrapper, but nested assignment\n132: may allocate/free/copy/destroy PlayerEvents according to destination capacity.\n133: \n134: ## Ordering and boundary\n135: \n136: `RecordObservedTech` first tests for an existing matching name; name absence, not vector fullness,\n137: reaches the constructor/append sequence. The wrapper later destroys its temporary long string, so\n138: the stored element must already own an independent string allocation where applicable. Existing\n139: records retain first turn/name and update last turn/with mask; this wrapper itself does not expose a\n140: live allocation failure outcome. `EventStorage::PostEvent` constructs a temporary PlayerEvent,\n141: prunes/selects/deduplicates, and only its no-duplicate branch appends; IDs and event vector pointers\n142: remain part of the caller-level behavior documented in `findings/subsystems/events.md`.\n143: \n144: ## Remaining blockers / minimum probes\n145: \n146: 1. `0x0084ee30` remains covered only by the initial ReVa capture in this package; its full local\n147: instruction window should still be added by the independent verifier when checking default-field\n148: values. The nested construction/growth, duplicate, and prune helpers now have local raw captures.\n149: 2. Exact C++ template declarations and the runtime outcome of allocation failure remain unresolved.\n150: Static unwind edges are captured, but no live throw was induced and no allocator-safety claim is\n151: made.\n152: 3. A read-only synthetic long-string/full-capacity fixture (or a safe existing archived trace with\n153: pre/post memory) is required to falsify the static ownership interpretation. It cannot prove\n154: allocator compatibility by coherent parsing alone.\n155: 4. `EvDsc` equality participation is now statically pinned, but has not been exercised in a live\n156: same-bucket description-only fixture. Independent review must reproduce the complete helper and\n157: branch windows before this becomes accepted ABI evidence.\n158: 5. The corrected TurnEvents miss path has a fresh analyst reproduction, not independent\n159: reproduction. Full/spare outer capacity, nonempty nested copy, transient observation and\n160: failure/unwind remain unexecuted; final requested-turn publication does not certify those paths.\n161: \n162: Independent cross-check captures: `verify/results/research-callback/observed-copy-helper-objdump.txt`\n163: and `event-copy-helper-objdump.txt`. The PlayerEvent copy operation is different: ECX is the\n164: destination, one stack argument is source, EAX returns destination and `ret 4` cleans the argument.\n165: Do not reuse the ObservedTech copy-helper calling convention for PlayerEvent.\n166: \n167: Nested raw capture: `verify/results/research-completion-abi/objdump-2026-09-09-turnevents.txt`.\n168: Complete dedup/helper/callee capture:\n169: `verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`.\n170: Verifier falsifiers should include: otherwise-identical records with equal versus description-only\n171: different `EvDsc`, separately using empty/short and long descriptions (static prediction: only equal\n172: descriptions deduplicate); one versus two\n173: leading stale buckets; a stale bucket after a fresh one; existing duplicate turn buckets (last-match\n174: selection); and outer spare/full capacity with nested empty/nonempty PlayerEvent vectors.\n\n(End of file - total 174 lines)\n","metadata":{"preview":"# Fresh static observations\n\nStatic evidence only. It does not establish live allocator safety, a compatible replacement\nallocator, or replacement acceptance. Raw local evidence and exact regeneration commands are in\n`objdump-2026-09-09-ownership.txt`; the owner-supplied input is `dumps/sots.exe`, SHA-256\n`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe original dedup archive's first-window provenance was overturned by independent review and Astra\ndecision `d-d2a9b8be6399a6abaa0e05a5`. Fresh narrow/wide raw streams and complete identities are in\n`objdump-2026-09-10-boundary-repair.md`. The widened stream supplies the complete terminal bytes;\nsemantic promotion still requires a new independent reproduction and challenge.\n\nThe ownership archive's selected terminal rows have the same superseded provenance limitation.\nFresh full streams, narrow/wide repairs, section-byte dumps and an audit of all ten declared windows\nare in `run-79357a65226f61d6a86c042d/`. Six historical stops truncate `ret imm16` after `c2`;\nthe widened/static raw bytes establish five `c2 04 00` encodings and one `c2 08 00` encoding.\nThis repairs terminal-byte provenance under decision `d-d4c494ba02ada278030ef473`; it does not\nconvert the static interpretations below into live allocator-safety or accepted ABI claims.\n","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/recovered-static.md","text":"# Fresh static observations\n\nStatic evidence only. It does not establish live allocator safety, a compatible replacement\nallocator, or replacement acceptance. Raw local evidence and exact regeneration commands are in\n`objdump-2026-09-09-ownership.txt`; the owner-supplied input is `dumps/sots.exe`, SHA-256\n`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841` / MD5\n`9969481c39f4b33a8a21c48b62abee4c`.\n\nThe original dedup archive's first-window provenance was overturned by independent review and Astra\ndecision `d-d2a9b8be6399a6abaa0e05a5`. Fresh narrow/wide raw streams and complete identities are in\n`objdump-2026-09-10-boundary-repair.md`. The widened stream supplies the complete terminal bytes;\nsemantic promotion still requires a new independent reproduction and challenge.\n\nThe ownership archive's selected terminal rows have the same superseded provenance limitation.\nFresh full streams, narrow/wide repairs, section-byte dumps and an audit of all ten declared windows\nare in `run-79357a65226f61d6a86c042d/`. Six historical stops truncate `ret imm16` after `c2`;\nthe widened/static raw bytes establish five `c2 04 00` encodings and one `c2 08 00` encoding.\nThis repairs terminal-byte provenance under decision `d-d4c494ba02ada278030ef473`; it does not\nconvert the static interpretations below into live allocator-safety or accepted ABI claims.\n\n## Recorded instruction facts\n\n* `ObservedTech::ObservedTech` at `0x008562a0` is an ECX receiver, returns that receiver in EAX,\n and uses plain `ret`. It installs vtable `0x00a2439c`; initializes the string rooted at `+0x0c`\n to `_Myres=15`, `_Mysize=0`, empty first byte; zeros `+4` (therefore both 16-bit turns), `+8`, and\n `+0x28`; and calls `0x00425550` for the empty-string setup.\n* `vector::push_back` at `0x007b7320` is ECX receiver plus one stack word (`ret 4`).\n It grows only when `_Mylast == _Myend`, through `0x007b5820(this, 1)`, then invokes the\n `0x0079a150` element-copy helper and advances `_Mylast` by exactly `0x2c`. The source-inside-vector\n and source-outside-vector branches both lead to this copy helper; the former recomputes the source\n from its pre-growth index. Thus append copies the temporary rather than adopting its string header.\n* The `0x0079a150` helper constructs a destination `ObservedTech`: vptr, words `+4/+6`, byte `+8`,\n string copy via `0x00425430`, and word `+0x28`. It is a copy construction operation, not a raw\n 44-byte memcpy. Independent Astra cross-check pins a **cdecl-style three-stack-argument** ABI:\n unused allocator argument, destination at `[ebp+0xc]`, source at `[ebp+0x10]`; plain `ret` and\n caller cleanup of 12 bytes. Incoming ECX is not a receiver (its initial push only allocates a\n local slot that is overwritten). Exact C++ template name is unnecessary for this machine boundary.\n* `0x007b5820` computes required capacity as old size plus its one stack-word count and uses the\n 1.5x growth rule when sufficient. It calls `0x007b34e0`; that reallocator calls `0x0057e590` with\n new element count. `0x0057e590` multiplies by `0x2c` and calls `0x00924fb6` (scalar `operator new`\n import thunk). Reallocation copy-constructs old elements through `0x0085e650`, calls each old\n element's virtual destructor slot 0 with pushed zero, then frees the old array through\n `0x00924faa` (scalar `operator delete` import thunk), and updates all three vector pointers.\n* `PlayerEvent` vector append at `0x0086c580` is ECX receiver plus one stack word (`ret 4`), grows\n through `0x00869500` if full, copy-constructs the element through `0x007693f0`, then advances\n `_Mylast` by `0x74`. The copy helper copies scalar fields and independently assigns all three\n strings at `+8`, `+0x24`, `+0x50` through `0x00425430`; it is not a 116-byte header copy.\n* `PlayerEvent` destructor body at `0x0061ae90` tests each string capacity (`+0x1c`, `+0x38`,\n `+0x64`) against `0x10`; for long strings it frees the buffer at `+8`, `+0x24`, `+0x50` through\n `0x00924faa`, then restores empty/SSO values. This establishes three independent owned-string\n cleanup paths in a copied event.\n* `0x004249a0`, called from the string assignment `0x00425430`, allocates new character storage via\n `0x00924fb6` and frees an existing long destination buffer through `0x00924faa` before installing\n the replacement pointer/size/capacity. The branch condition for long ownership is capacity\n `>= 0x10`; short strings stay inline. Per the independently captured PE imports, these thunks map\n to MSVCR100 scalar `operator delete` and scalar `operator new` respectively.\n\n### Nested TurnEvents machine boundary\n\n* `0x00885380` is an ECX-receiver operation over the outer vector at receiver `+4`, takes one\n stack `int turn`, returns a `TurnEvents*` in EAX, and uses `ret 4`. It divides the outer byte span\n by `0x18`, scans every element, and overwrites its candidate on every `EvTurn` match. Therefore a\n hit returns the **last** matching bucket and performs no construction, allocation, ID update, or\n RNG draw.\n* On a miss it initializes a stack `TurnEvents` with vptr `0x00a0f07c` and zero nested-vector\n pointers, but does **not** initialize the temporary `EvTurn` at `+4` (`[EBP-0x20]`). It then calls\n outer `vector::push_back` at `0x00884cb0`; append copies that incoming stack word as its\n scalar `EvTurn` before deep-copying the nested vector. Get/create destroys the temporary's nested\n vector through `0x00629580`, only then writes the requested turn to the stored element at\n `_Mylast[-1]+4`, and returns the new element. The transient word is not measured randomness or\n necessarily nonzero; do not infer a zero default. This correction and its fresh four-window\n reproduction are in `run-16f8e9b6376b278c4870be09/` under decision\n `d-b51f3f76803e852ed250846a`.\n* `0x00884cb0` is ECX receiver plus one source pointer and `ret 4`; stride is `0x18`. It handles a\n source pointer inside its own vector separately so growth cannot invalidate the source. Both\n branches install the TurnEvents vptr, copy `EvTurn`, and copy-construct the nested PlayerEvent\n vector through `0x00779850`; this is not a 24-byte header copy. It advances outer `_Mylast` only\n after the nested copy call returns.\n* Outer full-capacity growth is `0x008841a0` -> `0x00883a60`. Capacity selection is old capacity\n plus half where sufficient, otherwise required size. `0x006e8f50` allocates `count * 0x18` through\n `0x00924fb6`. `0x0077fed0` copy-constructs every old TurnEvents, including an independent nested\n vector via `0x00779850`; then `0x00883a60` invokes each old TurnEvents virtual destructor with\n deleting flag zero, frees the old outer allocation through `0x00924faa`, and writes all three\n outer vector pointers.\n* The vtable bytes at `0x00a0f07c` identify slot zero as `0x0062e120`. That scalar-deleting\n destructor calls `0x00629580` on the nested vector at `+8`; with flag bit zero it does not free the\n inline TurnEvents object. `0x00629580` invokes every nested PlayerEvent virtual destructor in\n `0x74` steps, frees the nested allocation through `0x00924faa`, and zeros all three nested vector\n pointers.\n* `0x00779850` is ECX destination nested vector plus one source-vector pointer and `ret 4`. An empty\n source leaves three zero pointers. A nonempty source allocates `count * 0x74` through\n `0x0078af40` -> `0x00924fb6`, then `0x007725a0` copy-constructs each PlayerEvent through\n `0x007693f0`. Its unwind destroys already completed PlayerEvents; `0x00779850` then calls\n `0x00629580`, and outer range-copy unwind at `0x0077fed0` destroys already completed TurnEvents.\n Outer reallocation's landing path frees the newly allocated outer block before continuing the\n exception through `0x00924fbc`. These are observed cleanup edges, not a claim that allocation\n failure has been executed live.\n\n### Duplicate and prune branches\n\n* `0x00825d40` receives bucket and candidate pointers as two stack words, ignores incoming ECX,\n and uses `ret 8`. A null bucket or empty nested vector returns zero. It scans in `0x74` steps and\n checks, in order: `EvAct`, `EvLoc`, all three `EvPos` floats, `EvMsg`, `EvImg`, then calls\n `0x0046f8c0` with the strings rooted at `EvDsc +8`. Complete fresh capture establishes that\n `0x0046f8c0` is a two-stack-argument, caller-cleaned string-inequality operation: first argument is\n the stored string, second is the candidate string, EAX/AL is one iff the strings differ, and it\n uses plain `ret`. `0x00825e21` therefore reaches the matched-element return only when AL is zero,\n i.e. when descriptions are equal. A description-only difference continues the scan. This\n contradicts the inherited claim that `EvDsc` was excluded; decision\n `d-2ff30c9f5355116bea822924` required this evidence repair after resolving surprise\n `s-8996365dab2cd6dc0e17bb9f`. The first element equal in every listed field returns its pointer;\n exhaustion returns zero. The wrapper performs no writes, allocation, destruction, ID change,\n event append, or RNG draw.\n* `0x0046f8c0` selects the candidate's inline bytes when capacity is `<0x10`, otherwise its heap\n pointer, and passes candidate length/data plus stored length and offset zero to `0x004236a0`.\n `0x004236a0` independently selects the stored string's inline/heap bytes, compares the minimum\n byte count through `0x00422720`, then orders unequal lengths. Equal bytes and equal lengths return\n zero; any byte or length difference returns nonzero, which `0x0046f8c0` normalizes to one. Thus\n empty/short/long combinations are covered statically without allocation or copying. The\n imported failure helper at IAT slot `0x009dd154` is called only when offset exceeds stored length;\n it is unreachable for this offset-zero call, and no failure path was executed live. Its exact\n imported symbol remains unresolved in this package.\n* `0x00879eb0` is ECX receiver plus one stack `turn` and `ret 4`. It computes cutoff `turn-50` and\n inspects only the leading run with `EvTurn < cutoff`. Its selected pointer is the **last** stale\n member. No stale member, exactly one leading stale member, or an initially empty vector returns\n without writes. For two or more leading stale buckets, it copies from the last stale bucket\n through the old end into the old beginning: each destination gets source `EvTurn`, then its nested\n vector is deep-assigned by `0x0077a6b0`. It destroys the trailing shifted-from TurnEvents through\n virtual slot zero and sets outer `_Mylast` to the end of the retained prefix. Thus it removes\n `stale_count-1`, deliberately retaining one stale bucket; a stale bucket after the first fresh\n bucket is never inspected. No outer allocation is visible in this wrapper, but nested assignment\n may allocate/free/copy/destroy PlayerEvents according to destination capacity.\n\n## Ordering and boundary\n\n`RecordObservedTech` first tests for an existing matching name; name absence, not vector fullness,\nreaches the constructor/append sequence. The wrapper later destroys its temporary long string, so\nthe stored element must already own an independent string allocation where applicable. Existing\nrecords retain first turn/name and update last turn/with mask; this wrapper itself does not expose a\nlive allocation failure outcome. `EventStorage::PostEvent` constructs a temporary PlayerEvent,\nprunes/selects/deduplicates, and only its no-duplicate branch appends; IDs and event vector pointers\nremain part of the caller-level behavior documented in `findings/subsystems/events.md`.\n\n## Remaining blockers / minimum probes\n\n1. `0x0084ee30` remains covered only by the initial ReVa capture in this package; its full local\n instruction window should still be added by the independent verifier when checking default-field\n values. The nested construction/growth, duplicate, and prune helpers now have local raw captures.\n2. Exact C++ template declarations and the runtime outcome of allocation failure remain unresolved.\n Static unwind edges are captured, but no live throw was induced and no allocator-safety claim is\n made.\n3. A read-only synthetic long-string/full-capacity fixture (or a safe existing archived trace with\n pre/post memory) is required to falsify the static ownership interpretation. It cannot prove\n allocator compatibility by coherent parsing alone.\n4. `EvDsc` equality participation is now statically pinned, but has not been exercised in a live\n same-bucket description-only fixture. Independent review must reproduce the complete helper and\n branch windows before this becomes accepted ABI evidence.\n5. The corrected TurnEvents miss path has a fresh analyst reproduction, not independent\n reproduction. Full/spare outer capacity, nonempty nested copy, transient observation and\n failure/unwind remain unexecuted; final requested-turn publication does not certify those paths.\n\nIndependent cross-check captures: `verify/results/research-callback/observed-copy-helper-objdump.txt`\nand `event-copy-helper-objdump.txt`. The PlayerEvent copy operation is different: ECX is the\ndestination, one stack argument is source, EAX returns destination and `ret 4` cleans the argument.\nDo not reuse the ObservedTech copy-helper calling convention for PlayerEvent.\n\nNested raw capture: `verify/results/research-completion-abi/objdump-2026-09-09-turnevents.txt`.\nComplete dedup/helper/callee capture:\n`verify/results/research-completion-abi/objdump-2026-09-09-dedup-helper.txt`.\nVerifier falsifiers should include: otherwise-identical records with equal versus description-only\ndifferent `EvDsc`, separately using empty/short and long descriptions (static prediction: only equal\ndescriptions deduplicate); one versus two\nleading stale buckets; a stale bucket after a fresh one; existing duplicate turn buckets (last-match\nselection); and outer spare/full capacity with nested empty/nonempty PlayerEvent vectors.","lineStart":1,"lineEnd":174,"totalLines":174,"truncated":false}},"title":"verify/results/research-completion-abi/recovered-static.md","time":{"start":1789015069365,"end":1789015069378}},"metadata":{"openai":{"itemId":"fc_016895c30df09146016aa2341c4b4c87d1a1a7ba825893d1ff"}},"id":"prt_0899b8ebd001SoGMauJXM1RV4e","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b85cd001Z9Sr5B2whThZID"}} +{"type":"step_finish","timestamp":1789015069482,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b9327001Pl320wJgiKSX61","reason":"tool-calls","snapshot":"486e70207e4da3cd66cd8391268cd940545a3737","messageID":"msg_0899b85cd001Z9Sr5B2whThZID","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":31444,"input":2351,"output":37,"reasoning":0,"cache":{"write":0,"read":29056}},"cost":0}} +{"type":"step_start","timestamp":1789015071383,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899b9a94001K5sJjNyBlli1Re","messageID":"msg_0899b934d00162zadEmM42zMUF","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"99a0a60b581dfad76e8d2dfca52418e699f7545f","type":"step-start"}} +{"type":"tool_use","timestamp":1789015074731,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"glob","callID":"call_UvRdyrR5TQsh664nuCjnbdxU","state":{"status":"completed","input":{"pattern":"verify/results/research-completion-abi-independent/**/*","path":"/home/alex/sots-re"},"output":"/home/alex/sots-re/verify/results/research-completion-abi-independent/reproduce_run_eba7860308317f839eb35392.py\n/home/alex/sots-re/verify/results/research-completion-abi-independent/reproduce_run_d94d4516b9d898793318805e.py\n/home/alex/sots-re/verify/results/research-completion-abi-independent/heldout_run_d94d4516b9d898793318805e.py\n/home/alex/sots-re/verify/results/research-completion-abi-independent/verification-plan-run-7d85d45cb2196e07025e5096.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/result-run-735fcb8f4876c10285b03fad.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/reproduce_run_735fcb8f4876c10285b03fad.py\n/home/alex/sots-re/verify/results/research-completion-abi-independent/reproduce_run_7d85d45cb2196e07025e5096.py\n/home/alex/sots-re/verify/results/research-completion-abi-independent/result-run-7d85d45cb2196e07025e5096.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/result.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/verification-plan-run-eba7860308317f839eb35392.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-append-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/dedup-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-push-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-alloc-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/byte-compare.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-alloc-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-not-equal.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-ctor-control.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/result-run-d94d4516b9d898793318805e.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/result-run-eba7860308317f839eb35392.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/verification-plan.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/dedup-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-append-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-realloc-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/turn3-state-checksum.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-append-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-realloc-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-copy-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-copy-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-alloc-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-copy-control.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-realloc-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-copy-control.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/import-thunks-control.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-realloc-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-alloc-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/manifest.json\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/dedup-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-push-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-alloc-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-ctor.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-push-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-append-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-dtor-control.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/turn3-save-reader.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/import-thunks-control.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-compare.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-ctor-control.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-copy-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-ctor.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/byte-compare.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-dtor-control.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/player-copy-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/turn3-save-reader.json\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/turn3-state-checksum.json\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-not-equal.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-push-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/independent-state.json\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-alloc-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/dedup-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-compare.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/string-alloc-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-7d85d45cb2196e07025e5096/observed-alloc-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/__pycache__/heldout_run_d94d4516b9d898793318805e.cpython-310.pyc\n/home/alex/sots-re/verify/results/research-completion-abi-independent/__pycache__/reproduce_run_7d85d45cb2196e07025e5096.cpython-310.pyc\n/home/alex/sots-re/verify/results/research-completion-abi-independent/__pycache__/reproduce_run_d94d4516b9d898793318805e.cpython-310.pyc\n/home/alex/sots-re/verify/results/research-completion-abi-independent/verification-plan-run-d94d4516b9d898793318805e.md\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/player-range-copy.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-grow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/prune.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-dtor.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/prune.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/byte-compare.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/player-copy.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-alloc.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/player-dtor.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/observed-append.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-alloc.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/dedup-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/allocator-thunks.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/observed-realloc.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/string-compare.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/observed-append.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/dedup-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn3-save-reader.json\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-vtable.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/player-alloc.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/player-append.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/player-copy.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-range-copy.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-eba7860308317f839eb35392/turn-append.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/observed-alloc-wide.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/player-append-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/dedup-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/observed-push-narrow.stderr.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/observed-alloc-wide.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/byte-compare.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/string-alloc-narrow.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/string-not-equal.stdout.txt\n/home/alex/sots-re/verify/results/research-completion-abi-independent/run-d94d4516b9d898793318805e/observed-ctor-control.stderr.txt\n\n(Results are truncated: showing first 100 results. Consider using a more specific path or pattern.)","metadata":{"count":100,"truncated":true},"title":"","time":{"start":1789015074721,"end":1789015074729}},"metadata":{"openai":{"itemId":"fc_0d82a1e2ba7f8ad1016aa23421ec0887d1bbb23922a9107290"}},"id":"prt_0899ba4a7001sBRWdr1E7z1NmR","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899b934d00162zadEmM42zMUF"}} +{"type":"step_finish","timestamp":1789015074838,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899ba814001mF4GRlQfiYonCO","reason":"tool-calls","snapshot":"335ada063a2995baf47467df96ca4a312c1a4cdc","messageID":"msg_0899b934d00162zadEmM42zMUF","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":35550,"input":4216,"output":38,"reasoning":64,"cache":{"write":0,"read":31232}},"cost":0}} +{"type":"step_start","timestamp":1789015078184,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899bb525001MIG9DD4Bbi1MQR","messageID":"msg_0899ba83b001MpWYbPZwoFyqDl","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"61389a209bd13b59240dafa51e653fc1cbc074d2","type":"step-start"}} +{"type":"tool_use","timestamp":1789015082837,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"read","callID":"call_L0q25mdmzslPo2jrIAgMictP","state":{"status":"completed","input":{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt"},"output":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt\nfile\n\n1: \n2: /home/alex/sots-re/dumps/sots.exe: file format pei-i386\n3: \n4: \n5: Disassembly of section .text:\n6: \n7: 00885380 <.text+0x484380>:\n8: 885380:\t55 \tpush ebp\n9: 885381:\t8b ec \tmov ebp,esp\n10: 885383:\t6a ff \tpush 0xffffffff\n11: 885385:\t68 30 af 99 00 \tpush 0x99af30\n12: 88538a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n13: 885390:\t50 \tpush eax\n14: 885391:\t83 ec 18 \tsub esp,0x18\n15: 885394:\t53 \tpush ebx\n16: 885395:\t56 \tpush esi\n17: 885396:\t57 \tpush edi\n18: 885397:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n19: 88539c:\t33 c5 \txor eax,ebp\n20: 88539e:\t50 \tpush eax\n21: 88539f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n22: 8853a2:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n23: 8853a8:\t8b f1 \tmov esi,ecx\n24: 8853aa:\t8b 56 08 \tmov edx,DWORD PTR [esi+0x8]\n25: 8853ad:\t2b 56 04 \tsub edx,DWORD PTR [esi+0x4]\n26: 8853b0:\t8d 4e 04 \tlea ecx,[esi+0x4]\n27: 8853b3:\tb8 ab aa aa 2a \tmov eax,0x2aaaaaab\n28: 8853b8:\tf7 ea \timul edx\n29: 8853ba:\tc1 fa 02 \tsar edx,0x2\n30: 8853bd:\t8b c2 \tmov eax,edx\n31: 8853bf:\tc1 e8 1f \tshr eax,0x1f\n32: 8853c2:\t33 db \txor ebx,ebx\n33: 8853c4:\t03 c2 \tadd eax,edx\n34: 8853c6:\t33 ff \txor edi,edi\n35: 8853c8:\t3b c3 \tcmp eax,ebx\n36: 8853ca:\t7e 30 \tjle 0x8853fc\n37: 8853cc:\t8b 11 \tmov edx,DWORD PTR [ecx]\n38: 8853ce:\t8b ff \tmov edi,edi\n39: 8853d0:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n40: 8853d3:\t39 5a 04 \tcmp DWORD PTR [edx+0x4],ebx\n41: 8853d6:\t75 02 \tjne 0x8853da\n42: 8853d8:\t8b fa \tmov edi,edx\n43: 8853da:\t83 c2 18 \tadd edx,0x18\n44: 8853dd:\t48 \tdec eax\n45: 8853de:\t75 f0 \tjne 0x8853d0\n46: 8853e0:\t33 db \txor ebx,ebx\n47: 8853e2:\t3b fb \tcmp edi,ebx\n48: 8853e4:\t74 16 \tje 0x8853fc\n49: 8853e6:\t8b c7 \tmov eax,edi\n50: 8853e8:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n51: 8853eb:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n52: 8853f2:\t59 \tpop ecx\n53: 8853f3:\t5f \tpop edi\n54: 8853f4:\t5e \tpop esi\n55: 8853f5:\t5b \tpop ebx\n56: 8853f6:\t8b e5 \tmov esp,ebp\n57: 8853f8:\t5d \tpop ebp\n58: 8853f9:\tc2 04 00 \tret 0x4\n59: 8853fc:\tc7 45 dc 7c f0 a0 00 \tmov DWORD PTR [ebp-0x24],0xa0f07c\n60: 885403:\t89 5d e4 \tmov DWORD PTR [ebp-0x1c],ebx\n61: 885406:\t89 5d e8 \tmov DWORD PTR [ebp-0x18],ebx\n62: 885409:\t89 5d ec \tmov DWORD PTR [ebp-0x14],ebx\n63: 88540c:\t8d 45 dc \tlea eax,[ebp-0x24]\n64: 88540f:\t50 \tpush eax\n65: 885410:\t89 5d fc \tmov DWORD PTR [ebp-0x4],ebx\n66: 885413:\te8 98 f8 ff ff \tcall 0x884cb0\n67: 885418:\t8d 4d e4 \tlea ecx,[ebp-0x1c]\n68: 88541b:\tc7 45 fc 01 00 00 00 \tmov DWORD PTR [ebp-0x4],0x1\n69: 885422:\te8 59 41 da ff \tcall 0x629580\n70: 885427:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n71: 88542a:\t8b 4d 08 \tmov ecx,DWORD PTR [ebp+0x8]\n72: 88542d:\t89 48 ec \tmov DWORD PTR [eax-0x14],ecx\n73: 885430:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n74: 885433:\t83 e8 18 \tsub eax,0x18\n75: 885436:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n76: 885439:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n77: 885440:\t59 \tpop ecx\n78: 885441:\t5f \tpop edi\n79: 885442:\t5e \tpop esi\n80: 885443:\t5b \tpop ebx\n81: 885444:\t8b e5 \tmov esp,ebp\n82: 885446:\t5d \tpop ebp\n83: 885447:\tc2 04 00 \tret 0x4\n\n(End of file - total 83 lines)\n","metadata":{"preview":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00885380 <.text+0x484380>:\n 885380:\t55 \tpush ebp\n 885381:\t8b ec \tmov ebp,esp\n 885383:\t6a ff \tpush 0xffffffff\n 885385:\t68 30 af 99 00 \tpush 0x99af30\n 88538a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 885390:\t50 \tpush eax\n 885391:\t83 ec 18 \tsub esp,0x18\n 885394:\t53 \tpush ebx\n 885395:\t56 \tpush esi\n 885396:\t57 \tpush edi\n 885397:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 88539c:\t33 c5 \txor eax,ebp\n 88539e:\t50 \tpush eax","truncated":false,"loaded":[],"display":{"type":"file","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt","text":"\n/home/alex/sots-re/dumps/sots.exe: file format pei-i386\n\n\nDisassembly of section .text:\n\n00885380 <.text+0x484380>:\n 885380:\t55 \tpush ebp\n 885381:\t8b ec \tmov ebp,esp\n 885383:\t6a ff \tpush 0xffffffff\n 885385:\t68 30 af 99 00 \tpush 0x99af30\n 88538a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n 885390:\t50 \tpush eax\n 885391:\t83 ec 18 \tsub esp,0x18\n 885394:\t53 \tpush ebx\n 885395:\t56 \tpush esi\n 885396:\t57 \tpush edi\n 885397:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n 88539c:\t33 c5 \txor eax,ebp\n 88539e:\t50 \tpush eax\n 88539f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n 8853a2:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n 8853a8:\t8b f1 \tmov esi,ecx\n 8853aa:\t8b 56 08 \tmov edx,DWORD PTR [esi+0x8]\n 8853ad:\t2b 56 04 \tsub edx,DWORD PTR [esi+0x4]\n 8853b0:\t8d 4e 04 \tlea ecx,[esi+0x4]\n 8853b3:\tb8 ab aa aa 2a \tmov eax,0x2aaaaaab\n 8853b8:\tf7 ea \timul edx\n 8853ba:\tc1 fa 02 \tsar edx,0x2\n 8853bd:\t8b c2 \tmov eax,edx\n 8853bf:\tc1 e8 1f \tshr eax,0x1f\n 8853c2:\t33 db \txor ebx,ebx\n 8853c4:\t03 c2 \tadd eax,edx\n 8853c6:\t33 ff \txor edi,edi\n 8853c8:\t3b c3 \tcmp eax,ebx\n 8853ca:\t7e 30 \tjle 0x8853fc\n 8853cc:\t8b 11 \tmov edx,DWORD PTR [ecx]\n 8853ce:\t8b ff \tmov edi,edi\n 8853d0:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n 8853d3:\t39 5a 04 \tcmp DWORD PTR [edx+0x4],ebx\n 8853d6:\t75 02 \tjne 0x8853da\n 8853d8:\t8b fa \tmov edi,edx\n 8853da:\t83 c2 18 \tadd edx,0x18\n 8853dd:\t48 \tdec eax\n 8853de:\t75 f0 \tjne 0x8853d0\n 8853e0:\t33 db \txor ebx,ebx\n 8853e2:\t3b fb \tcmp edi,ebx\n 8853e4:\t74 16 \tje 0x8853fc\n 8853e6:\t8b c7 \tmov eax,edi\n 8853e8:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 8853eb:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 8853f2:\t59 \tpop ecx\n 8853f3:\t5f \tpop edi\n 8853f4:\t5e \tpop esi\n 8853f5:\t5b \tpop ebx\n 8853f6:\t8b e5 \tmov esp,ebp\n 8853f8:\t5d \tpop ebp\n 8853f9:\tc2 04 00 \tret 0x4\n 8853fc:\tc7 45 dc 7c f0 a0 00 \tmov DWORD PTR [ebp-0x24],0xa0f07c\n 885403:\t89 5d e4 \tmov DWORD PTR [ebp-0x1c],ebx\n 885406:\t89 5d e8 \tmov DWORD PTR [ebp-0x18],ebx\n 885409:\t89 5d ec \tmov DWORD PTR [ebp-0x14],ebx\n 88540c:\t8d 45 dc \tlea eax,[ebp-0x24]\n 88540f:\t50 \tpush eax\n 885410:\t89 5d fc \tmov DWORD PTR [ebp-0x4],ebx\n 885413:\te8 98 f8 ff ff \tcall 0x884cb0\n 885418:\t8d 4d e4 \tlea ecx,[ebp-0x1c]\n 88541b:\tc7 45 fc 01 00 00 00 \tmov DWORD PTR [ebp-0x4],0x1\n 885422:\te8 59 41 da ff \tcall 0x629580\n 885427:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n 88542a:\t8b 4d 08 \tmov ecx,DWORD PTR [ebp+0x8]\n 88542d:\t89 48 ec \tmov DWORD PTR [eax-0x14],ecx\n 885430:\t8b 46 08 \tmov eax,DWORD PTR [esi+0x8]\n 885433:\t83 e8 18 \tsub eax,0x18\n 885436:\t8b 4d f4 \tmov ecx,DWORD PTR [ebp-0xc]\n 885439:\t64 89 0d 00 00 00 00 \tmov DWORD PTR fs:0x0,ecx\n 885440:\t59 \tpop ecx\n 885441:\t5f \tpop edi\n 885442:\t5e \tpop esi\n 885443:\t5b \tpop ebx\n 885444:\t8b e5 \tmov esp,ebp\n 885446:\t5d \tpop ebp\n 885447:\tc2 04 00 \tret 0x4","lineStart":1,"lineEnd":83,"totalLines":83,"truncated":false}},"title":"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt","time":{"start":1789015082828,"end":1789015082835}},"metadata":{"openai":{"itemId":"fc_0e0a8b25f3b29341016aa234295c7487d1aeea230419d9d4fb"}},"id":"prt_0899bc1d6001RnBa57G6r0z0bz","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899ba83b001MpWYbPZwoFyqDl"}} +{"type":"step_finish","timestamp":1789015082960,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899bc7cd001950lz9s5ytjf7D","reason":"tool-calls","snapshot":"a70276c90ab3f19492819c320ef8d7e8af601ec9","messageID":"msg_0899ba83b001MpWYbPZwoFyqDl","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":39463,"input":3993,"output":58,"reasoning":84,"cache":{"write":0,"read":35328}},"cost":0}} +{"type":"step_start","timestamp":1789015087499,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899bd987001iLEtPqLzPYKIXN","messageID":"msg_0899bc7f5001Ka8Sy5FIedFw4N","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"1a542e776d6ecf5baad0fb1c669ebc91f3125685","type":"step-start"}} +{"type":"tool_use","timestamp":1789015134973,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"apply_patch","callID":"call_ka6yHAMr5Kdm75u89piuVB1a","state":{"status":"completed","input":{"patchText":"*** Begin Patch\n*** Add File: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n+# Independent correction verification plan\n+\n+Session `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`;\n+model `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static\n+reproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.\n+\n+## Required identities and positive execution\n+\n+The assigned paired source manifests must rehash to engine\n+`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD\n+`7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE\n+`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD\n+`3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte\n+`dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`.\n+The instrument must be 373,888-byte `/usr/bin/objdump` SHA-256\n+`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU\n+objdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.\n+\n+## Falsifiers\n+\n+1. Any source, binary, tool, command boundary, byte count, or digest mismatch fails\n+ reproduction; a decoded-looking listing does not override provenance failure.\n+2. Any write to `[EBP-0x20]` in get/create before the call at `0x00885413` falsifies the\n+ corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime\n+ value, randomness, or allocator safety.\n+3. Failure of append to copy source `+4` to destination `+4`, or advancement of `_Mylast`\n+ before nested copy returns, falsifies the claimed append ordering.\n+4. A final requested-turn store before temporary nested cleanup, or a returned pointer other\n+ than `_Mylast-0x18`, falsifies the usable miss-path postcondition.\n+5. A nested-copy destination not initialized to three null pointers, allocation on its empty\n+ branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than\n+ `0x74` falsifies the nested ownership interpretation.\n+6. A null nested-vector destructor path that destroys/frees, or a nonnull path lacking\n+ per-element virtual destruction, `0x00924faa` free, and final three-pointer zeroing,\n+ falsifies cleanup accounting.\n+7. Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four\n+ declared windows fails the package even if surviving hashes match.\n+\n+## Required branch exposures and distinct states\n+\n+* Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the\n+ last; hit early return with no construction; and miss construction through cleanup/final store.\n+ These are static control-flow states, not executed runtime fixtures.\n+* Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the\n+ source-inside-vector branch must be distinguished where the window exposes it. No allocation\n+ failure is claimed executed.\n+* Nested copy: empty source (no allocation) versus nonempty source (allocation and `0x74`-stride\n+ range copy), plus visible unwind edge without claiming a thrown execution.\n+* Nested destruction: null first pointer versus nonnull element loop/free, including final\n+ pointer-zero state.\n+* Ordering: incoming transient scalar copy, nested copy completion, outer `_Mylast` advance,\n+ temporary nested cleanup, requested-turn publication, then returned last element.\n+\n+## Held-out challenge / ablation\n+\n+In addition to byte-for-byte reproduction of the four handoff commands, capture each window with\n+its stop address widened by four bytes. Require every original stream's instruction rows to be an\n+exact prefix of the widened stream's rows and inspect the first added instruction. This challenges\n+the assumption that exact stop boundaries did not truncate a terminal instruction, the provenance\n+failure that invalidated earlier packages. Independently enumerate get/create stack-memory writes\n+through `0x00885413`; do not infer the answer from report prose.\n+\n+## Acceptance limits\n+\n+Success is an **independent static full compare** of four windows plus a static boundary ablation.\n+It is not original-game runtime comparison, integrated replay, live allocator safety, failure-path\n+execution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live\n+nested-copy state, transient observation, and induced unwind remain residuals.\n*** End Patch"},"output":"Success. Updated the following files:\nA verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md","metadata":{"diff":"Index: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n===================================================================\n--- /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n+++ /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n@@ -0,0 +1,68 @@\n+# Independent correction verification plan\n+\n+Session `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`;\n+model `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static\n+reproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.\n+\n+## Required identities and positive execution\n+\n+The assigned paired source manifests must rehash to engine\n+`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD\n+`7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE\n+`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD\n+`3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte\n+`dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`.\n+The instrument must be 373,888-byte `/usr/bin/objdump` SHA-256\n+`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU\n+objdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.\n+\n+## Falsifiers\n+\n+1. Any source, binary, tool, command boundary, byte count, or digest mismatch fails\n+ reproduction; a decoded-looking listing does not override provenance failure.\n+2. Any write to `[EBP-0x20]` in get/create before the call at `0x00885413` falsifies the\n+ corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime\n+ value, randomness, or allocator safety.\n+3. Failure of append to copy source `+4` to destination `+4`, or advancement of `_Mylast`\n+ before nested copy returns, falsifies the claimed append ordering.\n+4. A final requested-turn store before temporary nested cleanup, or a returned pointer other\n+ than `_Mylast-0x18`, falsifies the usable miss-path postcondition.\n+5. A nested-copy destination not initialized to three null pointers, allocation on its empty\n+ branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than\n+ `0x74` falsifies the nested ownership interpretation.\n+6. A null nested-vector destructor path that destroys/frees, or a nonnull path lacking\n+ per-element virtual destruction, `0x00924faa` free, and final three-pointer zeroing,\n+ falsifies cleanup accounting.\n+7. Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four\n+ declared windows fails the package even if surviving hashes match.\n+\n+## Required branch exposures and distinct states\n+\n+* Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the\n+ last; hit early return with no construction; and miss construction through cleanup/final store.\n+ These are static control-flow states, not executed runtime fixtures.\n+* Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the\n+ source-inside-vector branch must be distinguished where the window exposes it. No allocation\n+ failure is claimed executed.\n+* Nested copy: empty source (no allocation) versus nonempty source (allocation and `0x74`-stride\n+ range copy), plus visible unwind edge without claiming a thrown execution.\n+* Nested destruction: null first pointer versus nonnull element loop/free, including final\n+ pointer-zero state.\n+* Ordering: incoming transient scalar copy, nested copy completion, outer `_Mylast` advance,\n+ temporary nested cleanup, requested-turn publication, then returned last element.\n+\n+## Held-out challenge / ablation\n+\n+In addition to byte-for-byte reproduction of the four handoff commands, capture each window with\n+its stop address widened by four bytes. Require every original stream's instruction rows to be an\n+exact prefix of the widened stream's rows and inspect the first added instruction. This challenges\n+the assumption that exact stop boundaries did not truncate a terminal instruction, the provenance\n+failure that invalidated earlier packages. Independently enumerate get/create stack-memory writes\n+through `0x00885413`; do not infer the answer from report prose.\n+\n+## Acceptance limits\n+\n+Success is an **independent static full compare** of four windows plus a static boundary ablation.\n+It is not original-game runtime comparison, integrated replay, live allocator safety, failure-path\n+execution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live\n+nested-copy state, transient observation, and induced unwind remain residuals.\n\n","files":[{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md","relativePath":"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md","type":"add","patch":"Index: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n===================================================================\n--- /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n+++ /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\n@@ -0,0 +1,68 @@\n+# Independent correction verification plan\n+\n+Session `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`;\n+model `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static\n+reproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution.\n+\n+## Required identities and positive execution\n+\n+The assigned paired source manifests must rehash to engine\n+`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD\n+`7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE\n+`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD\n+`3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte\n+`dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`.\n+The instrument must be 373,888-byte `/usr/bin/objdump` SHA-256\n+`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU\n+objdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr.\n+\n+## Falsifiers\n+\n+1. Any source, binary, tool, command boundary, byte count, or digest mismatch fails\n+ reproduction; a decoded-looking listing does not override provenance failure.\n+2. Any write to `[EBP-0x20]` in get/create before the call at `0x00885413` falsifies the\n+ corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime\n+ value, randomness, or allocator safety.\n+3. Failure of append to copy source `+4` to destination `+4`, or advancement of `_Mylast`\n+ before nested copy returns, falsifies the claimed append ordering.\n+4. A final requested-turn store before temporary nested cleanup, or a returned pointer other\n+ than `_Mylast-0x18`, falsifies the usable miss-path postcondition.\n+5. A nested-copy destination not initialized to three null pointers, allocation on its empty\n+ branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than\n+ `0x74` falsifies the nested ownership interpretation.\n+6. A null nested-vector destructor path that destroys/frees, or a nonnull path lacking\n+ per-element virtual destruction, `0x00924faa` free, and final three-pointer zeroing,\n+ falsifies cleanup accounting.\n+7. Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four\n+ declared windows fails the package even if surviving hashes match.\n+\n+## Required branch exposures and distinct states\n+\n+* Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the\n+ last; hit early return with no construction; and miss construction through cleanup/final store.\n+ These are static control-flow states, not executed runtime fixtures.\n+* Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the\n+ source-inside-vector branch must be distinguished where the window exposes it. No allocation\n+ failure is claimed executed.\n+* Nested copy: empty source (no allocation) versus nonempty source (allocation and `0x74`-stride\n+ range copy), plus visible unwind edge without claiming a thrown execution.\n+* Nested destruction: null first pointer versus nonnull element loop/free, including final\n+ pointer-zero state.\n+* Ordering: incoming transient scalar copy, nested copy completion, outer `_Mylast` advance,\n+ temporary nested cleanup, requested-turn publication, then returned last element.\n+\n+## Held-out challenge / ablation\n+\n+In addition to byte-for-byte reproduction of the four handoff commands, capture each window with\n+its stop address widened by four bytes. Require every original stream's instruction rows to be an\n+exact prefix of the widened stream's rows and inspect the first added instruction. This challenges\n+the assumption that exact stop boundaries did not truncate a terminal instruction, the provenance\n+failure that invalidated earlier packages. Independently enumerate get/create stack-memory writes\n+through `0x00885413`; do not infer the answer from report prose.\n+\n+## Acceptance limits\n+\n+Success is an **independent static full compare** of four windows plus a static boundary ablation.\n+It is not original-game runtime comparison, integrated replay, live allocator safety, failure-path\n+execution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live\n+nested-copy state, transient observation, and induced unwind remain residuals.\n","additions":68,"deletions":0}],"diagnostics":{},"truncated":false},"title":"Success. Updated the following files:\nA verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md","time":{"start":1789015134963,"end":1789015134970}},"metadata":{"openai":{"itemId":"fc_0f35010a285d8d42016aa23438548887d186fb7445511aad74"}},"id":"prt_0899bff820018vqk2JCtmzVPG7","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899bc7f5001Ka8Sy5FIedFw4N"}} +{"type":"step_finish","timestamp":1789015135147,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899c93a8001ph7Ml5gNkFLvSe","reason":"tool-calls","snapshot":"544b9970ac863055195a828ff2f8e0acdb23500c","messageID":"msg_0899bc7f5001Ka8Sy5FIedFw4N","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":42884,"input":2235,"output":1249,"reasoning":232,"cache":{"write":0,"read":39168}},"cost":0}} +{"type":"step_start","timestamp":1789015138068,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899c9f100017K0mO93UvU9EBP","messageID":"msg_0899c93d6001BEaJ9CKaZH7CVH","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"a6da3710062cc2246366c33b3ab0d8a870794282","type":"step-start"}} +{"type":"tool_use","timestamp":1789015158189,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"todowrite","callID":"call_0q7BVvPk1kNXI9B19iR9z8ml","state":{"status":"completed","input":{"todos":[{"content":"Read canonical campaign instructions, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify engine/RE worktree and source/resource identities","status":"completed","priority":"high"},{"content":"Define verification falsifiers, branch exposures, and distinct states from handoff","status":"completed","priority":"high"},{"content":"Reproduce verifier package and independently challenge one assumption","status":"in_progress","priority":"high"},{"content":"Write mandatory fresh canonical checkpoint with exact next action","status":"pending","priority":"high"}]},"output":"[\n {\n \"content\": \"Read canonical campaign instructions, contract, checkpoint, and open surprises\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Verify engine/RE worktree and source/resource identities\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Define verification falsifiers, branch exposures, and distinct states from handoff\",\n \"status\": \"completed\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Reproduce verifier package and independently challenge one assumption\",\n \"status\": \"in_progress\",\n \"priority\": \"high\"\n },\n {\n \"content\": \"Write mandatory fresh canonical checkpoint with exact next action\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n }\n]","metadata":{"todos":[{"content":"Read canonical campaign instructions, contract, checkpoint, and open surprises","status":"completed","priority":"high"},{"content":"Verify engine/RE worktree and source/resource identities","status":"completed","priority":"high"},{"content":"Define verification falsifiers, branch exposures, and distinct states from handoff","status":"completed","priority":"high"},{"content":"Reproduce verifier package and independently challenge one assumption","status":"in_progress","priority":"high"},{"content":"Write mandatory fresh canonical checkpoint with exact next action","status":"pending","priority":"high"}],"truncated":false},"title":"2 todos","time":{"start":1789015158184,"end":1789015158187}},"metadata":{"openai":{"itemId":"fc_04216a7b613d3107016aa23475e91087d1812022a91235dd0e"}},"id":"prt_0899ced6b001IhSX8ablgFSz1Q","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899c93d6001BEaJ9CKaZH7CVH"}} +{"type":"step_finish","timestamp":1789015158322,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899cee2e001wfcC9qonsacGHQ","reason":"tool-calls","snapshot":"4b6c48d67b1ca7fc57fd2030640312b32c0dfd3c","messageID":"msg_0899c93d6001BEaJ9CKaZH7CVH","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":43223,"input":1717,"output":132,"reasoning":158,"cache":{"write":0,"read":41216}},"cost":0}} +{"type":"step_start","timestamp":1789015162727,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899cff620018gt35KYZNSwkWt","messageID":"msg_0899cee68001pDMbCVpc1v9KdF","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"ea827564c7d329d83d500dbbad6df4ee6d386aec","type":"step-start"}} +{"type":"tool_use","timestamp":1789015178120,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_1Z7AQf4CUPKBpYAdyn8mK3Sk","state":{"status":"completed","input":{"command":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-ee78b8773688ca09f8046e21 --summary 'Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.' --artifact verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.'","workdir":"/home/alex/sots-re"},"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"16467a02077d4a5b689b5531\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"summary\": \"Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.\",\n \"timestamp\": \"2026-09-10T04:39:38.094702+00:00\"\n}\n","metadata":{"output":"{\n \"actor\": \"research-abi-correction-verifier\",\n \"artifacts\": [\n {\n \"path\": \"verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md\",\n \"sha256\": \"539210bbc8c1fdda351c7124e5a413d8432ba3e420a1b70bba830cce5ed33dc4\"\n },\n {\n \"path\": \"verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json\",\n \"sha256\": \"4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101\"\n }\n ],\n \"basis\": \"aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0\",\n \"contract\": \"research-completion-abi\",\n \"id\": \"16467a02077d4a5b689b5531\",\n \"model\": \"openai/gpt-5.6-sol\",\n \"next_action\": \"Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.\",\n \"role\": \"verifier\",\n \"schema\": \"sots-checkpoint/1\",\n \"session\": \"run-ee78b8773688ca09f8046e21\",\n \"summary\": \"Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.\",\n \"timestamp\": \"2026-09-10T04:39:38.094702+00:00\"\n}\n","exit":0,"truncated":false},"title":"python3 tools/campaign.py --state-root /home/alex/sots-re checkpoint research-completion-abi --actor research-abi-correction-verifier --role verifier --model openai/gpt-5.6-sol --session run-ee78b8773688ca09f8046e21 --summary 'Pre-experiment checkpoint. Observations: canonical status is verification with no open surprises; campaign validation passes. Assigned source-binding independently rehashes exactly to engine ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 at the contract HEADs, matching the analyst manifest. The handoff manifest declares four nonempty zero-return GNU objdump 2.38 captures over binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841. Decision: verification plan now predeclares identity/execution failures, stack-write/copy/ordering/lifetime falsifiers, required static branches and distinct states, and a held-out +4 stop-boundary ablation targeting prior truncation failures. It explicitly limits success to independent static comparison, not live allocator safety, runtime execution, or replacement acceptance. Tests so far: source-binding, campaign status, and validate passed; capture not yet run. No lease/resource use or lab/source/index mutation. Blocker: none before read-only local capture; any falsifier triggers surprise and pause.' --artifact verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md --artifact verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/manifest.json --next-action 'Run a fresh verifier-owned four-window objdump reproduction plus +4 stop-boundary ablation, hash all outputs, and compare instruction rows and stack-write/call ordering against the predeclared falsifiers.'","time":{"start":1789015178049,"end":1789015178118}},"metadata":{"openai":{"itemId":"fc_01fd17f23f97fc12016aa2347a739c87d199f08f11d983c8ee"}},"id":"prt_0899cff65001OmONsJwESh8LgI","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899cee68001pDMbCVpc1v9KdF"}} +{"type":"step_finish","timestamp":1789015178213,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899d3be2001B3tz2Jw99NYtqe","reason":"tool-calls","snapshot":"2568d22e9641319d846917bad226c582f3a000cc","messageID":"msg_0899cee68001pDMbCVpc1v9KdF","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":43907,"input":661,"output":494,"reasoning":0,"cache":{"write":0,"read":42752}},"cost":0}} +{"type":"step_start","timestamp":1789015180203,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899d43a7001ACqV5JpkugCKTp","messageID":"msg_0899d3c16001SfEZ2XAt5B3lqO","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"d35dee4b36232dd4487e13e5b08bc41a9a30ea39","type":"step-start"}} +{"type":"tool_use","timestamp":1789015194360,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"grep","callID":"call_LqsugLuKwRpRZiM7Xu8KkSTS","state":{"status":"completed","input":{"pattern":"884d62|884d6c|884d73|884d78|779850|7798b2|7798|629580|6295|924faa|007693f0|0x74","path":"/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09","include":"*.stdout.txt"},"output":"Found 100 matches (more matches available)\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-get-create.stdout.txt:\n Line 69: 885422:\te8 59 41 da ff \tcall 0x629580\n\n\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/turn-append.stdout.txt:\n Line 50: 884d22:\t74 54 \tje 0x884d78\n\n Line 68: 884d5a:\t74 1c \tje 0x884d78\n\n Line 70: 884d62:\t8b 4e 04 \tmov ecx,DWORD PTR [esi+0x4]\n\n Line 73: 884d6c:\t89 48 04 \tmov DWORD PTR [eax+0x4],ecx\n\n Line 76: 884d73:\te8 d8 4a ef ff \tcall 0x779850\n\n Line 77: 884d78:\t83 47 04 18 \tadd DWORD PTR [edi+0x4],0x18\n\n\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-dtor.stdout.txt:\n Line 7: 00629580 <.text+0x228580>:\n\n Line 8: 629580:\t57 \tpush edi\n\n Line 9: 629581:\t8b f9 \tmov edi,ecx\n\n Line 10: 629583:\t83 3f 00 \tcmp DWORD PTR [edi],0x0\n\n Line 11: 629586:\t74 36 \tje 0x6295be\n\n Line 12: 629588:\t53 \tpush ebx\n\n Line 13: 629589:\t56 \tpush esi\n\n Line 14: 62958a:\tff 15 2c d1 9d 00 \tcall DWORD PTR ds:0x9dd12c\n\n Line 15: 629590:\t8b 5f 04 \tmov ebx,DWORD PTR [edi+0x4]\n\n Line 16: 629593:\t8b 37 \tmov esi,DWORD PTR [edi]\n\n Line 17: 629595:\t3b f3 \tcmp esi,ebx\n\n Line 18: 629597:\t74 18 \tje 0x6295b1\n\n Line 19: 629599:\t8d a4 24 00 00 00 00 \tlea esp,[esp+0x0]\n\n Line 20: 6295a0:\t8b 06 \tmov eax,DWORD PTR [esi]\n\n Line 21: 6295a2:\t8b 10 \tmov edx,DWORD PTR [eax]\n\n Line 22: 6295a4:\t6a 00 \tpush 0x0\n\n Line 23: 6295a6:\t8b ce \tmov ecx,esi\n\n Line 24: 6295a8:\tff d2 \tcall edx\n\n Line 25: 6295aa:\t83 c6 74 \tadd esi,0x74\n\n Line 26: 6295ad:\t3b f3 \tcmp esi,ebx\n\n Line 27: 6295af:\t75 ef \tjne 0x6295a0\n\n Line 28: 6295b1:\t8b 07 \tmov eax,DWORD PTR [edi]\n\n Line 29: 6295b3:\t50 \tpush eax\n\n Line 30: 6295b4:\te8 f1 b9 2f 00 \tcall 0x924faa\n\n Line 31: 6295b9:\t83 c4 04 \tadd esp,0x4\n\n Line 32: 6295bc:\t5e \tpop esi\n\n Line 33: 6295bd:\t5b \tpop ebx\n\n Line 34: 6295be:\t33 c0 \txor eax,eax\n\n Line 35: 6295c0:\t89 07 \tmov DWORD PTR [edi],eax\n\n Line 36: 6295c2:\t89 47 04 \tmov DWORD PTR [edi+0x4],eax\n\n Line 37: 6295c5:\t89 47 08 \tmov DWORD PTR [edi+0x8],eax\n\n Line 38: 6295c8:\t5f \tpop edi\n\n Line 39: 6295c9:\tc3 \tret \n\n\n/home/alex/sots-re/verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09/nested-copy.stdout.txt:\n Line 7: 00779850 <.text+0x378850>:\n\n Line 8: 779850:\t55 \tpush ebp\n\n Line 9: 779851:\t8b ec \tmov ebp,esp\n\n Line 10: 779853:\t6a ff \tpush 0xffffffff\n\n Line 11: 779855:\t68 10 7b 98 00 \tpush 0x987b10\n\n Line 12: 77985a:\t64 a1 00 00 00 00 \tmov eax,fs:0x0\n\n Line 13: 779860:\t50 \tpush eax\n\n Line 14: 779861:\t83 ec 08 \tsub esp,0x8\n\n Line 15: 779864:\t53 \tpush ebx\n\n Line 16: 779865:\t56 \tpush esi\n\n Line 17: 779866:\t57 \tpush edi\n\n Line 18: 779867:\ta1 78 8b af 00 \tmov eax,ds:0xaf8b78\n\n Line 19: 77986c:\t33 c5 \txor eax,ebp\n\n Line 20: 77986e:\t50 \tpush eax\n\n Line 21: 77986f:\t8d 45 f4 \tlea eax,[ebp-0xc]\n\n Line 22: 779872:\t64 a3 00 00 00 00 \tmov fs:0x0,eax\n\n Line 23: 779878:\t89 65 f0 \tmov DWORD PTR [ebp-0x10],esp\n\n Line 24: 77987b:\t8b f1 \tmov esi,ecx\n\n Line 25: 77987d:\t89 75 ec \tmov DWORD PTR [ebp-0x14],esi\n\n Line 26: 779880:\t8b 5d 08 \tmov ebx,DWORD PTR [ebp+0x8]\n\n Line 27: 779883:\t33 c0 \txor eax,eax\n\n Line 28: 779885:\t89 06 \tmov DWORD PTR [esi],eax\n\n Line 29: 779887:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n\n Line 30: 77988a:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n\n Line 31: 77988d:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n\n Line 32: 779890:\t2b 0b \tsub ecx,DWORD PTR [ebx]\n\n Line 33: 779892:\tb8 09 cb 3d 8d \tmov eax,0x8d3dcb09\n\n Line 34: 779897:\tf7 e9 \timul ecx\n\n Line 35: 779899:\t03 d1 \tadd edx,ecx\n\n Line 36: 77989b:\tc1 fa 06 \tsar edx,0x6\n\n Line 37: 77989e:\t8b fa \tmov edi,edx\n\n Line 38: 7798a0:\tb8 00 00 00 00 \tmov eax,0x0\n\n Line 39: 7798a5:\tc1 ef 1f \tshr edi,0x1f\n\n Line 40: 7798a8:\t03 fa \tadd edi,edx\n\n Line 41: 7798aa:\t89 06 \tmov DWORD PTR [esi],eax\n\n Line 42: 7798ac:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n\n Line 43: 7798af:\t89 46 08 \tmov DWORD PTR [esi+0x8],eax\n\n Line 44: 7798b2:\t74 4b \tje 0x7798ff\n\n Line 45: 7798b4:\t81 ff 2c f7 34 02 \tcmp edi,0x234f72c\n\n Line 46: 7798ba:\t76 0b \tjbe 0x7798c7\n\n Line 47: 7798bc:\t68 90 1f 9e 00 \tpush 0x9e1f90\n\n Line 48: 7798c1:\tff 15 50 d1 9d 00 \tcall DWORD PTR ds:0x9dd150\n\n Line 49: 7798c7:\t8d 4e 0c \tlea ecx,[esi+0xc]\n\n Line 50: 7798ca:\t57 \tpush edi\n\n Line 51: 7798cb:\te8 70 16 01 00 \tcall 0x78af40\n\n Line 52: 7798d0:\t6b ff 74 \timul edi,edi,0x74\n\n Line 53: 7798d3:\t8b 55 08 \tmov edx,DWORD PTR [ebp+0x8]\n\n Line 54: 7798d6:\t52 \tpush edx\n\n Line 55: 7798d7:\t8d 56 0c \tlea edx,[esi+0xc]\n\n Line 56: 7798da:\t52 \tpush edx\n\n Line 57: 7798db:\t03 f8 \tadd edi,eax\n\n Line 58: 7798dd:\t89 06 \tmov DWORD PTR [esi],eax\n\n Line 59: 7798df:\t89 46 04 \tmov DWORD PTR [esi+0x4],eax\n\n Line 60: 7798e2:\t89 7e 08 \tmov DWORD PTR [esi+0x8],edi\n\n Line 61: 7798e5:\t8b 4b 04 \tmov ecx,DWORD PTR [ebx+0x4]\n\n Line 62: 7798e8:\t8b 1b \tmov ebx,DWORD PTR [ebx]\n\n Line 63: 7798ea:\t50 \tpush eax\n\n Line 64: 7798eb:\t51 \tpush ecx\n\n Line 65: 7798ec:\t53 \tpush ebx\n\n Line 66: 7798ed:\tc7 45 fc 00 00 00 00 \tmov DWORD PTR [ebp-0x4],0x0\n\n\n(Results truncated. Consider using a more specific path or pattern.)","metadata":{"matches":100,"truncated":true},"title":"884d62|884d6c|884d73|884d78|779850|7798b2|7798|629580|6295|924faa|007693f0|0x74","time":{"start":1789015194338,"end":1789015194351}},"metadata":{"openai":{"itemId":"fc_0b9f613f9e1bceb7016aa2349752e887d18dab41631128e33a"}},"id":"prt_0899d6f67001Oo7ok7JjW39Idi","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899d3c16001SfEZ2XAt5B3lqO"}} +{"type":"step_finish","timestamp":1789015194399,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899d7b1d001HD3sgZvSnCGMHf","reason":"tool-calls","snapshot":"68c1a5ec9d894ecc116012a7b142fd7dfca28aad","messageID":"msg_0899d3c16001SfEZ2XAt5B3lqO","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":45048,"input":1347,"output":106,"reasoning":331,"cache":{"write":0,"read":43264}},"cost":0}} +{"type":"step_start","timestamp":1789015196356,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899d82bb001oLxNHLOF41fXUC","messageID":"msg_0899d7b47001fOP7lzvo2VSWZT","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"bace49acdd3cc4d00e48afa5658fb5169d40f894","type":"step-start"}} +{"type":"tool_use","timestamp":1789015264755,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"apply_patch","callID":"call_wpCZRYXQ8HYqqZq71EtLFOpi","state":{"status":"completed","input":{"patchText":"*** Begin Patch\n*** Add File: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n+#!/usr/bin/env python3\n+import hashlib, json, re, subprocess\n+from datetime import datetime, timezone\n+from pathlib import Path\n+\n+ROOT = Path('/home/alex/sots-re')\n+OUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\n+AUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\n+TOOL = Path('/usr/bin/objdump')\n+BINARY = ROOT / 'dumps/sots.exe'\n+WINDOWS = {\n+ 'turn-get-create': (0x00885380, 0x0088544a),\n+ 'turn-append': (0x00884cb0, 0x00884d8f),\n+ 'nested-copy': (0x00779850, 0x00779a20),\n+ 'nested-dtor': (0x00629580, 0x006295ca),\n+}\n+EXPECTED = {\n+ 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n+ 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n+}\n+ROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n+\n+def sha(data): return hashlib.sha256(data).hexdigest()\n+def rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n+\n+OUT.mkdir(parents=True, exist_ok=True)\n+checks = []\n+records = []\n+for name, (start, stop) in WINDOWS.items():\n+ variants = {}\n+ for suffix, end in (('exact', stop), ('wide', stop + 4)):\n+ argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n+ f'--stop-address=0x{end:08x}', str(BINARY)]\n+ p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n+ for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n+ (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n+ variants[suffix] = p.stdout\n+ records.append({'name': name, 'variant': suffix, 'argv': argv,\n+ 'returncode': p.returncode,\n+ 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n+ 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n+ checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n+ (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n+ (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n+ archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n+ exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n+ checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n+ (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n+ (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n+\n+get = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\n+pre_call = get.split('885413:', 1)[0]\n+stack20_writes = [line.strip() for line in pre_call.splitlines()\n+ if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\n+append = (OUT / 'turn-append-exact.stdout.txt').read_text()\n+copy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\n+dtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\n+checks += [\n+ ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n+ ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n+ ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n+ ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n+ ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n+ ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n+ ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n+ ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n+ ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n+]\n+\n+failed = [name for name, ok in checks if not ok]\n+manifest = {\n+ 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n+ 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n+ 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n+ 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n+ 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n+ 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n+ 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n+ 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n+ 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n+ 'failed': failed,\n+ 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n+}\n+(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\n+print(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n+ 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\n+raise SystemExit(bool(failed))\n*** End Patch"},"output":"Success. Updated the following files:\nA verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","metadata":{"diff":"Index: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n===================================================================\n--- /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n+++ /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n@@ -0,0 +1,87 @@\n+#!/usr/bin/env python3\n+import hashlib, json, re, subprocess\n+from datetime import datetime, timezone\n+from pathlib import Path\n+\n+ROOT = Path('/home/alex/sots-re')\n+OUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\n+AUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\n+TOOL = Path('/usr/bin/objdump')\n+BINARY = ROOT / 'dumps/sots.exe'\n+WINDOWS = {\n+ 'turn-get-create': (0x00885380, 0x0088544a),\n+ 'turn-append': (0x00884cb0, 0x00884d8f),\n+ 'nested-copy': (0x00779850, 0x00779a20),\n+ 'nested-dtor': (0x00629580, 0x006295ca),\n+}\n+EXPECTED = {\n+ 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n+ 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n+}\n+ROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n+\n+def sha(data): return hashlib.sha256(data).hexdigest()\n+def rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n+\n+OUT.mkdir(parents=True, exist_ok=True)\n+checks = []\n+records = []\n+for name, (start, stop) in WINDOWS.items():\n+ variants = {}\n+ for suffix, end in (('exact', stop), ('wide', stop + 4)):\n+ argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n+ f'--stop-address=0x{end:08x}', str(BINARY)]\n+ p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n+ for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n+ (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n+ variants[suffix] = p.stdout\n+ records.append({'name': name, 'variant': suffix, 'argv': argv,\n+ 'returncode': p.returncode,\n+ 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n+ 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n+ checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n+ (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n+ (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n+ archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n+ exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n+ checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n+ (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n+ (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n+\n+get = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\n+pre_call = get.split('885413:', 1)[0]\n+stack20_writes = [line.strip() for line in pre_call.splitlines()\n+ if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\n+append = (OUT / 'turn-append-exact.stdout.txt').read_text()\n+copy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\n+dtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\n+checks += [\n+ ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n+ ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n+ ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n+ ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n+ ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n+ ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n+ ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n+ ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n+ ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n+]\n+\n+failed = [name for name, ok in checks if not ok]\n+manifest = {\n+ 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n+ 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n+ 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n+ 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n+ 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n+ 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n+ 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n+ 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n+ 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n+ 'failed': failed,\n+ 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n+}\n+(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\n+print(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n+ 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\n+raise SystemExit(bool(failed))\n\n","files":[{"filePath":"/home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","relativePath":"verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","type":"add","patch":"Index: /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n===================================================================\n--- /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n+++ /home/alex/sots-re/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py\n@@ -0,0 +1,87 @@\n+#!/usr/bin/env python3\n+import hashlib, json, re, subprocess\n+from datetime import datetime, timezone\n+from pathlib import Path\n+\n+ROOT = Path('/home/alex/sots-re')\n+OUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21'\n+AUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09'\n+TOOL = Path('/usr/bin/objdump')\n+BINARY = ROOT / 'dumps/sots.exe'\n+WINDOWS = {\n+ 'turn-get-create': (0x00885380, 0x0088544a),\n+ 'turn-append': (0x00884cb0, 0x00884d8f),\n+ 'nested-copy': (0x00779850, 0x00779a20),\n+ 'nested-dtor': (0x00629580, 0x006295ca),\n+}\n+EXPECTED = {\n+ 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841',\n+ 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd',\n+}\n+ROW = re.compile(rb'^\\s*[0-9a-f]+:\\s', re.M)\n+\n+def sha(data): return hashlib.sha256(data).hexdigest()\n+def rows(data): return [line for line in data.splitlines() if ROW.match(line)]\n+\n+OUT.mkdir(parents=True, exist_ok=True)\n+checks = []\n+records = []\n+for name, (start, stop) in WINDOWS.items():\n+ variants = {}\n+ for suffix, end in (('exact', stop), ('wide', stop + 4)):\n+ argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}',\n+ f'--stop-address=0x{end:08x}', str(BINARY)]\n+ p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False)\n+ for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)):\n+ (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data)\n+ variants[suffix] = p.stdout\n+ records.append({'name': name, 'variant': suffix, 'argv': argv,\n+ 'returncode': p.returncode,\n+ 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)},\n+ 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}})\n+ checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0),\n+ (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)),\n+ (f'{name}-{suffix}-stderr-empty', not p.stderr)]\n+ archived = (AUTHOR / f'{name}.stdout.txt').read_bytes()\n+ exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide'])\n+ checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived),\n+ (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]),\n+ (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))]\n+\n+get = (OUT / 'turn-get-create-exact.stdout.txt').read_text()\n+pre_call = get.split('885413:', 1)[0]\n+stack20_writes = [line.strip() for line in pre_call.splitlines()\n+ if '[ebp-0x20]' in line.lower() and re.search(r'\\bmov\\s+DWORD PTR \\[ebp-0x20\\]', line, re.I)]\n+append = (OUT / 'turn-append-exact.stdout.txt').read_text()\n+copy = (OUT / 'nested-copy-exact.stdout.txt').read_text()\n+dtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text()\n+checks += [\n+ ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']),\n+ ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']),\n+ ('get-no-precall-ebp-minus-20-write', not stack20_writes),\n+ ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))),\n+ ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')),\n+ ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')),\n+ ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))),\n+ ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))),\n+ ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))),\n+]\n+\n+failed = [name for name, ok in checks if not ok]\n+manifest = {\n+ 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21',\n+ 'actor': 'research-abi-correction-verifier', 'role': 'verifier',\n+ 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(),\n+ 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())},\n+ 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()),\n+ 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]},\n+ 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()),\n+ 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes,\n+ 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks],\n+ 'failed': failed,\n+ 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.'\n+}\n+(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\\n')\n+print(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed,\n+ 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2))\n+raise SystemExit(bool(failed))\n","additions":87,"deletions":0}],"diagnostics":{},"truncated":false},"title":"Success. Updated the following files:\nA verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","time":{"start":1789015264749,"end":1789015264753}},"metadata":{"openai":{"itemId":"fc_08cc14ae97dfc5b8016aa234e08f0487d185404c49411c45de"}},"id":"prt_0899e8d8a0016QFUOlSOtIvNcD","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899d7b47001fOP7lzvo2VSWZT"}} +{"type":"step_finish","timestamp":1789015264929,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899e8e9e001i5eTMBC6YOGVvP","reason":"tool-calls","snapshot":"2b60e71531048c161eac9a7d24827ca5623b82fe","messageID":"msg_0899d7b47001fOP7lzvo2VSWZT","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":49769,"input":3482,"output":1863,"reasoning":8,"cache":{"write":0,"read":44416}},"cost":0}} +{"type":"step_start","timestamp":1789015266920,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899e9664001Z2SHGipjqKW31e","messageID":"msg_0899e8ed1001ek0n8XgsZ39Hsk","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"5863e373b2fee029f33fb26fe53521912a44a212","type":"step-start"}} +{"type":"tool_use","timestamp":1789015275495,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"type":"tool","tool":"bash","callID":"call_uZfkV6SnDOVlzrBhCX9F6tpY","state":{"status":"completed","input":{"command":"python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","workdir":"/home/alex/sots-re","timeout":120000},"output":"{\n \"commands\": 8,\n \"checks\": 45,\n \"failed\": [\n \"nested-copy-wide-row-prefix\"\n ],\n \"manifest\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\"\n}\n","metadata":{"output":"{\n \"commands\": 8,\n \"checks\": 45,\n \"failed\": [\n \"nested-copy-wide-row-prefix\"\n ],\n \"manifest\": \"verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json\"\n}\n","exit":1,"truncated":false},"title":"python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py","time":{"start":1789015275400,"end":1789015275494}},"metadata":{"openai":{"itemId":"fc_0f92b954a26b2bef016aa234eb279087d1ab90318ff59d94ff"}},"id":"prt_0899eb71d001P1VWAhe2laUW6a","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","messageID":"msg_0899e8ed1001ek0n8XgsZ39Hsk"}} +{"type":"step_finish","timestamp":1789015275643,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899eb879001sKi1yi6DiSB5hs","reason":"tool-calls","snapshot":"da26b7258c644f60f5d5d81e2ed843cf4fc1914e","messageID":"msg_0899e8ed1001ek0n8XgsZ39Hsk","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":49891,"input":2074,"output":67,"reasoning":6,"cache":{"write":0,"read":47744}},"cost":0}} +{"type":"step_start","timestamp":1789015277456,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899ebf8c001hOUsn0GzsMRv8g","messageID":"msg_0899eb8a8001W7fOXotboGYFb0","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","snapshot":"9b008acd25af4c22b468b8e57e09e08f99dee039","type":"step-start"}} +{"type":"text","timestamp":1789015284597,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899ebf8e001gZJ6n6StO4OhNB","messageID":"msg_0899eb8a8001W7fOXotboGYFb0","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"text","text":"Maximum steps for this agent have been reached.\n\nAccomplished:\n- Read canonical instructions, contract, latest checkpoint, policy, and all surprises; none remain open.\n- Verified both worktrees match baseline HEADs and expected source-binding hashes.\n- Confirmed campaign validation passes.\n- Predeclared falsifiers, branch/state requirements, and a held-out widened-boundary ablation.\n- Wrote two canonical checkpoints before experimentation.\n- Ran 8 fresh verifier-owned objdump captures and 45 checks.\n\nOutstanding:\n- One check failed: `nested-copy-wide-row-prefix`.\n- Per policy, this failed prediction must be investigated and potentially recorded as a surprise.\n- Mandatory quantum-end checkpoint could not be written after the failure because the step limit intervened.\n- No evidence/verdict was published.\n\nNext action:\n- Fresh verifier quantum should inspect the exact versus widened `nested-copy` row divergence, determine whether it is boundary truncation or comparison-instrument behavior, record a surprise and pause if the assumption is falsified, then write the mandatory canonical checkpoint before further affected work.","time":{"start":1789015277454,"end":1789015284595},"metadata":{"openai":{"itemId":"msg_0702dc80d979622d016aa234ed6a6487d193625136618ed130","phase":"final_answer"}}}} +{"type":"step_finish","timestamp":1789015284659,"sessionID":"ses_f76670049ffet3nNghKAXGuoNT","part":{"id":"prt_0899edbb1001KCsqGhJTfcXO13","reason":"stop","snapshot":"1e64ab89dcbdb4258df97755675d94c90513008e","messageID":"msg_0899eb8a8001W7fOXotboGYFb0","sessionID":"ses_f76670049ffet3nNghKAXGuoNT","type":"step-finish","tokens":{"total":50349,"input":467,"output":218,"reasoning":0,"cache":{"write":0,"read":49664}},"cost":0}} diff --git a/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.stderr.log b/campaign/runtime/runs/run-ee78b8773688ca09f8046e21.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json b/campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json new file mode 100644 index 0000000..acd710a --- /dev/null +++ b/campaign/runtime/surprises/s-4f4fb5e8ee42ccff7e68efb5.json @@ -0,0 +1,13 @@ +{ + "actor": "research-abi-correction-verifier", + "contract": "research-completion-abi", + "decision": "d-fd5aff1eaf78a8c15d96723c", + "id": "s-4f4fb5e8ee42ccff7e68efb5", + "model": "openai/gpt-5.6-sol", + "probe": "Astra must inspect verifier manifest verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json and the exact/wide nested-copy streams, confirm the 0x00779a1f terminal truncation under pinned GNU objdump 2.38 and binary hash, and prescribe a stop boundary after a complete instruction (including checking that any replacement boundary itself is not truncated). Then require fresh analyst capture/source-bound package and fresh independent reproduction before independent-cross-check can pass.", + "role": "verifier", + "schema": "sots-surprise/1", + "status": "resolved", + "summary": "Held-out +4 stop-boundary ablation falsified the predeclared no-truncation assumption for the corrected four-window package. All 8 objdump commands returned zero with nonempty stdout/empty stderr; all four exact captures byte-match the analyst archive; binary/tool/source identities pass; 44/45 checks pass. However nested-copy exact stop 0x00779a20 emits a truncated terminal row at 0x00779a1f as bytes 74, while widened stop 0x00779a24 emits the complete two-byte instruction 74 10 (je 0x00779a31), followed by a later call row also truncated at the widened boundary. Therefore the exact nested-copy capture is not a complete instruction stream and nested-copy-wide-row-prefix fails. Matching decoded ownership rows are measurements, not success. Pause affected independent acceptance; no live/lab/source mutation occurred.", + "timestamp": "2026-09-10T04:45:32.413275+00:00" +} diff --git a/campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json b/campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json new file mode 100644 index 0000000..f9b83c2 --- /dev/null +++ b/campaign/runtime/surprises/s-d44b9f9e62272794d88bbed6.json @@ -0,0 +1,13 @@ +{ + "actor": "research-abi-correction-verifier", + "contract": "research-completion-abi", + "decision": "d-0bb927e63b915c87a58d4257", + "id": "s-d44b9f9e62272794d88bbed6", + "model": "openai/gpt-5.6-sol", + "probe": "Astra must decide the provenance repair together with s-4f4fb5e8ee42ccff7e68efb5: require a newly generated current-session capture harness or direct command manifest that takes session as an explicit immutable input, then rerun all exact and complete-boundary windows. Reject the stale-session manifest rather than attaching it to a current verdict.", + "role": "verifier", + "schema": "sots-surprise/1", + "status": "resolved", + "summary": "Independent capture harness provenance is stale across fresh quanta: reproduce_run_ee78b8773688ca09f8046e21.py was inherited from the prior checkpoint and hard-codes session run-ee78b8773688ca09f8046e21. Executing it during current session run-5bd0e537bb0c4c4f43987ac1 generated fresh timestamp/raw streams but a manifest claiming the old session. The raw subprocess outputs remain measurements, but the manifest is not valid current-session evidence and must not be self-certified or relabeled after the fact. The current-session report explicitly records this defect. Affected verification is already paused by boundary surprise s-4f4fb5e8ee42ccff7e68efb5.", + "timestamp": "2026-09-10T04:46:35.617690+00:00" +} diff --git a/campaign/runtime/transitions/research-completion-abi-26acbf8f870f787a7b76a7f9.json b/campaign/runtime/transitions/research-completion-abi-26acbf8f870f787a7b76a7f9.json new file mode 100644 index 0000000..7acec38 --- /dev/null +++ b/campaign/runtime/transitions/research-completion-abi-26acbf8f870f787a7b76a7f9.json @@ -0,0 +1,9 @@ +{ + "actor": "sots-lead", + "contract": "research-completion-abi", + "from": "implementing", + "model": "openai/gpt-5.6-sol", + "role": "lead", + "timestamp": "2026-09-10T04:33:27.064636+00:00", + "to": "verification" +} diff --git a/campaign/runtime/transitions/research-completion-abi-d475e37e08e96828c07e4297.json b/campaign/runtime/transitions/research-completion-abi-d475e37e08e96828c07e4297.json new file mode 100644 index 0000000..57e45a5 --- /dev/null +++ b/campaign/runtime/transitions/research-completion-abi-d475e37e08e96828c07e4297.json @@ -0,0 +1,9 @@ +{ + "actor": "sots-lead", + "contract": "research-completion-abi", + "from": "ready", + "model": "openai/gpt-5.6-sol", + "role": "lead", + "timestamp": "2026-09-10T04:33:00.422019+00:00", + "to": "implementing" +} diff --git a/campaign/runtime/transitions/research-completion-abi-fd6aa9b1b310b17fd2d851ed.json b/campaign/runtime/transitions/research-completion-abi-fd6aa9b1b310b17fd2d851ed.json new file mode 100644 index 0000000..60ebad2 --- /dev/null +++ b/campaign/runtime/transitions/research-completion-abi-fd6aa9b1b310b17fd2d851ed.json @@ -0,0 +1,9 @@ +{ + "actor": "sots-lead", + "contract": "research-completion-abi", + "from": "needs-revision", + "model": "openai/gpt-5.6-sol", + "role": "lead", + "timestamp": "2026-09-10T04:32:53.781271+00:00", + "to": "ready" +} diff --git a/campaign/runtime/verdicts/research-completion-abi.json b/campaign/runtime/verdicts/research-completion-abi.json index fa09954..eb5bb87 100644 --- a/campaign/runtime/verdicts/research-completion-abi.json +++ b/campaign/runtime/verdicts/research-completion-abi.json @@ -2,7 +2,7 @@ "actor": "research-abi-independent", "basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0", "contract": "research-completion-abi", - "decision": "d-b51f3f76803e852ed250846a", + "decision": "d-0bb927e63b915c87a58d4257", "evidence_digest": "e5073be0f1187ee65c203eb9ad20adc64d18ff2d3314d554f58bd8487dafa931", "explanation": "Scoped integrated PASS over the current two-record integrated evidence array. Fresh handoff reproduction executed 22 nonempty static windows plus strict archived save parse/checksum: 24 positive subprocesses, empty stderr, no skips; manifest matches the integrated artifact except session and state is byte-identical. Seven narrow/wide boundaries reproduce complete ret 4/ret 8 bytes. Held-out direct-PE ablation confirmed each exact return and rejected all minus-one/plus-one shifted starts; static inspection exposed distinct 0x2c/0x74 strides, deep-copy calls, three guarded long-string deletes, description inequality and three unordered-or-unequal float branches. Actual state inspection found EvNxID 4, turn-3 count 2, event ID 3 fields/defaults, exact 609080-byte rebuild, and a 2503-byte RNG leaf with digest 0978fdf34ff7962f76c2de810dc93e0a. Integrated source/input/binary/outcome hashes remain bound and campaign tests/validation pass. Scope is independent static reproduction plus one archived state only: no live allocator safety, original differential, replacement or replay acceptance; runtime branch residuals remain. Historical failed provenance/description predictions remain failures resolved by Astra.", "model": "openai/gpt-5.6-sol", diff --git a/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md b/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md new file mode 100644 index 0000000..6bf1743 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/report-run-5bd0e537bb0c4c4f43987ac1.md @@ -0,0 +1,63 @@ +# Independent correction verification result + +Actor `research-abi-correction-verifier`, role `verifier`, requested model +`openai/gpt-5.6-sol`, campaign session `run-5bd0e537bb0c4c4f43987ac1`. + +## Scope and identities + +This was an independent static partial comparison plus held-out stop-boundary ablation. It was not +original-game runtime comparison, live allocator validation, independent replacement, integrated +replay, or an acceptance verdict. The paired source bindings reproduced as engine +`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` and RE +`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at the contract HEADs. +The 7,898,624-byte input SHA-256 was +`970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. The dereferenced +373,888-byte GNU objdump 2.38 executable SHA-256 was +`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`. + +## Reproduction and observations + +From `/home/alex/sots-re`: + +```sh +python3 verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py +``` + +The process exited 1 after eight positive objdump executions (four exact windows and four held-out +windows widened by four bytes). Every subprocess returned zero, emitted nonempty stdout, and emitted +empty stderr. All four exact stdout streams byte-matched the analyst captures. Binary/tool checks, +the independent empty list of pre-`0x00885413` writes to `[EBP-0x20]`, get/create ordering, append +copy ordering, nested empty/nonempty-copy branch markers, and destructor null/non-null branch markers +passed. The generated manifest reports 44 passing checks and one failure. + +The failed check is `nested-copy-wide-row-prefix`. Exact stop `0x00779a20` ends with: + +```text +779a1f: 74 je 0x779a31 +``` + +The widened stop `0x00779a24` exposes the complete instruction: + +```text +779a1f: 74 10 je 0x779a31 +``` + +and then rows at `0x00779a21` and `0x00779a23`; the latter call is itself truncated by that widened +boundary. Thus exact rows are not a byte-identical prefix of widened rows and the analyst's +`nested-copy` window has a truncated terminal instruction. This falsifies the predeclared boundary +prediction. Surprise `s-4f4fb5e8ee42ccff7e68efb5` records and blocks the affected interpretation. + +## Provenance defect and residuals + +The reproduction helper was inherited from the prior verifier checkpoint and hard-codes prior +session `run-ee78b8773688ca09f8046e21` into its generated manifest. Although the raw commands ran in +this fresh quantum, that manifest does not truthfully identify the current campaign session and is +not acceptable as a current-session evidence record. This report records the actual invocation and +does not relabel the generated manifest. + +No success is claimed for the failed full compare. Surviving rows remain partial static +measurements. Residuals include a complete non-truncated nested-copy boundary, fresh analyst and +verifier provenance, live spare/full-capacity fixtures, nonempty live nested-copy state, allocator +safety, induced unwind, original runtime comparison, whole-state/RNG validation, independent +replacement, and integrated replay. No RNG execution occurred; static no-RNG prose was not treated +as runtime state accounting. diff --git a/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py b/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py new file mode 100644 index 0000000..0764334 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/reproduce_run_ee78b8773688ca09f8046e21.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +import hashlib, json, re, subprocess +from datetime import datetime, timezone +from pathlib import Path + +ROOT = Path('/home/alex/sots-re') +OUT = ROOT / 'verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21' +AUTHOR = ROOT / 'verify/results/research-completion-abi/run-16f8e9b6376b278c4870be09' +TOOL = Path('/usr/bin/objdump') +BINARY = ROOT / 'dumps/sots.exe' +WINDOWS = { + 'turn-get-create': (0x00885380, 0x0088544a), + 'turn-append': (0x00884cb0, 0x00884d8f), + 'nested-copy': (0x00779850, 0x00779a20), + 'nested-dtor': (0x00629580, 0x006295ca), +} +EXPECTED = { + 'binary': '970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841', + 'tool': '1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd', +} +ROW = re.compile(rb'^\s*[0-9a-f]+:\s', re.M) + +def sha(data): return hashlib.sha256(data).hexdigest() +def rows(data): return [line for line in data.splitlines() if ROW.match(line)] + +OUT.mkdir(parents=True, exist_ok=True) +checks = [] +records = [] +for name, (start, stop) in WINDOWS.items(): + variants = {} + for suffix, end in (('exact', stop), ('wide', stop + 4)): + argv = [str(TOOL), '-D', '-Mintel', f'--start-address=0x{start:08x}', + f'--stop-address=0x{end:08x}', str(BINARY)] + p = subprocess.run(argv, cwd=ROOT, capture_output=True, check=False) + for stream, data in (('stdout', p.stdout), ('stderr', p.stderr)): + (OUT / f'{name}-{suffix}.{stream}.txt').write_bytes(data) + variants[suffix] = p.stdout + records.append({'name': name, 'variant': suffix, 'argv': argv, + 'returncode': p.returncode, + 'stdout': {'bytes': len(p.stdout), 'sha256': sha(p.stdout)}, + 'stderr': {'bytes': len(p.stderr), 'sha256': sha(p.stderr)}}) + checks += [(f'{name}-{suffix}-return-zero', p.returncode == 0), + (f'{name}-{suffix}-stdout-nonempty', bool(p.stdout)), + (f'{name}-{suffix}-stderr-empty', not p.stderr)] + archived = (AUTHOR / f'{name}.stdout.txt').read_bytes() + exact_rows, wide_rows = rows(variants['exact']), rows(variants['wide']) + checks += [(f'{name}-byte-exact-author-compare', variants['exact'] == archived), + (f'{name}-wide-row-prefix', exact_rows == wide_rows[:len(exact_rows)]), + (f'{name}-wide-adds-row', len(wide_rows) > len(exact_rows))] + +get = (OUT / 'turn-get-create-exact.stdout.txt').read_text() +pre_call = get.split('885413:', 1)[0] +stack20_writes = [line.strip() for line in pre_call.splitlines() + if '[ebp-0x20]' in line.lower() and re.search(r'\bmov\s+DWORD PTR \[ebp-0x20\]', line, re.I)] +append = (OUT / 'turn-append-exact.stdout.txt').read_text() +copy = (OUT / 'nested-copy-exact.stdout.txt').read_text() +dtor = (OUT / 'nested-dtor-exact.stdout.txt').read_text() +checks += [ + ('binary-hash', sha(BINARY.read_bytes()) == EXPECTED['binary']), + ('tool-hash', sha(TOOL.read_bytes()) == EXPECTED['tool']), + ('get-no-precall-ebp-minus-20-write', not stack20_writes), + ('get-last-match-overwrite-visible', all(x in get for x in ('8853d3:', '8853d8:', '8853de:', '8853e6:'))), + ('get-cleanup-before-final-store', get.index('885422:') < get.index('88542d:') < get.index('885433:')), + ('append-source4-copy-before-nested-copy-before-advance', append.index('884d62:') < append.index('884d6c:') < append.index('884d73:') < append.index('884d78:')), + ('nested-copy-three-null-initializers', all(x in copy for x in ('779885:', '779887:', '77988a:'))), + ('nested-copy-empty-and-nonempty-branches', all(x in copy for x in ('7798b2:', '7798cb:', '7798d0:', '7798ed:'))), + ('nested-dtor-null-branch-loop-free-zero', all(x in dtor for x in ('629586:', '6295a8:', '6295aa:', '6295b4:', '6295c0:', '6295c2:', '6295c5:'))), +] + +failed = [name for name, ok in checks if not ok] +manifest = { + 'schema': 'sots-abi-independent-static/1', 'session': 'run-ee78b8773688ca09f8046e21', + 'actor': 'research-abi-correction-verifier', 'role': 'verifier', + 'model': 'openai/gpt-5.6-sol', 'timestamp': datetime.now(timezone.utc).isoformat(), + 'input': {'path': 'dumps/sots.exe', 'bytes': BINARY.stat().st_size, 'sha256': sha(BINARY.read_bytes())}, + 'tool': {'path': str(TOOL), 'bytes': TOOL.stat().st_size, 'sha256': sha(TOOL.read_bytes()), + 'version': subprocess.run([str(TOOL), '--version'], capture_output=True, text=True, check=True).stdout.splitlines()[0]}, + 'author_manifest_sha256': sha((AUTHOR / 'manifest.json').read_bytes()), + 'stack_writes_to_ebp_minus_20_before_0x885413': stack20_writes, + 'commands': records, 'checks': [{'name': n, 'status': 'pass' if ok else 'fail'} for n, ok in checks], + 'failed': failed, + 'scope': 'Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance.' +} +(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\n') +print(json.dumps({'commands': len(records), 'checks': len(checks), 'failed': failed, + 'manifest': str((OUT / 'manifest.json').relative_to(ROOT))}, indent=2)) +raise SystemExit(bool(failed)) diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json new file mode 100644 index 0000000..2cd5db6 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/manifest.json @@ -0,0 +1,377 @@ +{ + "schema": "sots-abi-independent-static/1", + "session": "run-ee78b8773688ca09f8046e21", + "actor": "research-abi-correction-verifier", + "role": "verifier", + "model": "openai/gpt-5.6-sol", + "timestamp": "2026-09-10T04:44:36.333584+00:00", + "input": { + "path": "dumps/sots.exe", + "bytes": 7898624, + "sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841" + }, + "tool": { + "path": "/usr/bin/objdump", + "bytes": 373888, + "sha256": "1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd", + "version": "GNU objdump (GNU Binutils for Ubuntu) 2.38" + }, + "author_manifest_sha256": "4f3b4b28002a22521d2e7b87c8f82d63b21bf9f48918cc4ab6a7f629155cd101", + "stack_writes_to_ebp_minus_20_before_0x885413": [], + "commands": [ + { + "name": "turn-get-create", + "variant": "exact", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00885380", + "--stop-address=0x0088544a", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 3974, + "sha256": "f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "turn-get-create", + "variant": "wide", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00885380", + "--stop-address=0x0088544e", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 4134, + "sha256": "9cb7d2ccfcc645b3b642e520ba51c85330c57d6d4395ed3fbd4a4a1950436e80" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "turn-append", + "variant": "exact", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00884cb0", + "--stop-address=0x00884d8f", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 4179, + "sha256": "57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "turn-append", + "variant": "wide", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00884cb0", + "--stop-address=0x00884d93", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 4309, + "sha256": "957339f40b2af8947cb883cc1d3a9d1e151bf7663305415065472ef9171dc33d" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "nested-copy", + "variant": "exact", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00779850", + "--stop-address=0x00779a20", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 8469, + "sha256": "e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "nested-copy", + "variant": "wide", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00779850", + "--stop-address=0x00779a24", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 8558, + "sha256": "4d9a176ee3c9a8e449026e421520541000d9792a9d11cbc416318d7e26b06b5c" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "nested-dtor", + "variant": "exact", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00629580", + "--stop-address=0x006295ca", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 1727, + "sha256": "3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "name": "nested-dtor", + "variant": "wide", + "argv": [ + "/usr/bin/objdump", + "-D", + "-Mintel", + "--start-address=0x00629580", + "--stop-address=0x006295ce", + "/home/alex/sots-re/dumps/sots.exe" + ], + "returncode": 0, + "stdout": { + "bytes": 1887, + "sha256": "0aba6fc800760e3a113c07238cfb6e721623eb0bb8a933a990d3e2e82823d00f" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + ], + "checks": [ + { + "name": "turn-get-create-exact-return-zero", + "status": "pass" + }, + { + "name": "turn-get-create-exact-stdout-nonempty", + "status": "pass" + }, + { + "name": "turn-get-create-exact-stderr-empty", + "status": "pass" + }, + { + "name": "turn-get-create-wide-return-zero", + "status": "pass" + }, + { + "name": "turn-get-create-wide-stdout-nonempty", + "status": "pass" + }, + { + "name": "turn-get-create-wide-stderr-empty", + "status": "pass" + }, + { + "name": "turn-get-create-byte-exact-author-compare", + "status": "pass" + }, + { + "name": "turn-get-create-wide-row-prefix", + "status": "pass" + }, + { + "name": "turn-get-create-wide-adds-row", + "status": "pass" + }, + { + "name": "turn-append-exact-return-zero", + "status": "pass" + }, + { + "name": "turn-append-exact-stdout-nonempty", + "status": "pass" + }, + { + "name": "turn-append-exact-stderr-empty", + "status": "pass" + }, + { + "name": "turn-append-wide-return-zero", + "status": "pass" + }, + { + "name": "turn-append-wide-stdout-nonempty", + "status": "pass" + }, + { + "name": "turn-append-wide-stderr-empty", + "status": "pass" + }, + { + "name": "turn-append-byte-exact-author-compare", + "status": "pass" + }, + { + "name": "turn-append-wide-row-prefix", + "status": "pass" + }, + { + "name": "turn-append-wide-adds-row", + "status": "pass" + }, + { + "name": "nested-copy-exact-return-zero", + "status": "pass" + }, + { + "name": "nested-copy-exact-stdout-nonempty", + "status": "pass" + }, + { + "name": "nested-copy-exact-stderr-empty", + "status": "pass" + }, + { + "name": "nested-copy-wide-return-zero", + "status": "pass" + }, + { + "name": "nested-copy-wide-stdout-nonempty", + "status": "pass" + }, + { + "name": "nested-copy-wide-stderr-empty", + "status": "pass" + }, + { + "name": "nested-copy-byte-exact-author-compare", + "status": "pass" + }, + { + "name": "nested-copy-wide-row-prefix", + "status": "fail" + }, + { + "name": "nested-copy-wide-adds-row", + "status": "pass" + }, + { + "name": "nested-dtor-exact-return-zero", + "status": "pass" + }, + { + "name": "nested-dtor-exact-stdout-nonempty", + "status": "pass" + }, + { + "name": "nested-dtor-exact-stderr-empty", + "status": "pass" + }, + { + "name": "nested-dtor-wide-return-zero", + "status": "pass" + }, + { + "name": "nested-dtor-wide-stdout-nonempty", + "status": "pass" + }, + { + "name": "nested-dtor-wide-stderr-empty", + "status": "pass" + }, + { + "name": "nested-dtor-byte-exact-author-compare", + "status": "pass" + }, + { + "name": "nested-dtor-wide-row-prefix", + "status": "pass" + }, + { + "name": "nested-dtor-wide-adds-row", + "status": "pass" + }, + { + "name": "binary-hash", + "status": "pass" + }, + { + "name": "tool-hash", + "status": "pass" + }, + { + "name": "get-no-precall-ebp-minus-20-write", + "status": "pass" + }, + { + "name": "get-last-match-overwrite-visible", + "status": "pass" + }, + { + "name": "get-cleanup-before-final-store", + "status": "pass" + }, + { + "name": "append-source4-copy-before-nested-copy-before-advance", + "status": "pass" + }, + { + "name": "nested-copy-three-null-initializers", + "status": "pass" + }, + { + "name": "nested-copy-empty-and-nonempty-branches", + "status": "pass" + }, + { + "name": "nested-dtor-null-branch-loop-free-zero", + "status": "pass" + } + ], + "failed": [ + "nested-copy-wide-row-prefix" + ], + "scope": "Independent static full compare plus widened-stop boundary ablation; no live game/allocator execution or replacement acceptance." +} diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt new file mode 100644 index 0000000..0aec076 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-exact.stdout.txt @@ -0,0 +1,175 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00779850 <.text+0x378850>: + 779850: 55 push ebp + 779851: 8b ec mov ebp,esp + 779853: 6a ff push 0xffffffff + 779855: 68 10 7b 98 00 push 0x987b10 + 77985a: 64 a1 00 00 00 00 mov eax,fs:0x0 + 779860: 50 push eax + 779861: 83 ec 08 sub esp,0x8 + 779864: 53 push ebx + 779865: 56 push esi + 779866: 57 push edi + 779867: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 77986c: 33 c5 xor eax,ebp + 77986e: 50 push eax + 77986f: 8d 45 f4 lea eax,[ebp-0xc] + 779872: 64 a3 00 00 00 00 mov fs:0x0,eax + 779878: 89 65 f0 mov DWORD PTR [ebp-0x10],esp + 77987b: 8b f1 mov esi,ecx + 77987d: 89 75 ec mov DWORD PTR [ebp-0x14],esi + 779880: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8] + 779883: 33 c0 xor eax,eax + 779885: 89 06 mov DWORD PTR [esi],eax + 779887: 89 46 04 mov DWORD PTR [esi+0x4],eax + 77988a: 89 46 08 mov DWORD PTR [esi+0x8],eax + 77988d: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] + 779890: 2b 0b sub ecx,DWORD PTR [ebx] + 779892: b8 09 cb 3d 8d mov eax,0x8d3dcb09 + 779897: f7 e9 imul ecx + 779899: 03 d1 add edx,ecx + 77989b: c1 fa 06 sar edx,0x6 + 77989e: 8b fa mov edi,edx + 7798a0: b8 00 00 00 00 mov eax,0x0 + 7798a5: c1 ef 1f shr edi,0x1f + 7798a8: 03 fa add edi,edx + 7798aa: 89 06 mov DWORD PTR [esi],eax + 7798ac: 89 46 04 mov DWORD PTR [esi+0x4],eax + 7798af: 89 46 08 mov DWORD PTR [esi+0x8],eax + 7798b2: 74 4b je 0x7798ff + 7798b4: 81 ff 2c f7 34 02 cmp edi,0x234f72c + 7798ba: 76 0b jbe 0x7798c7 + 7798bc: 68 90 1f 9e 00 push 0x9e1f90 + 7798c1: ff 15 50 d1 9d 00 call DWORD PTR ds:0x9dd150 + 7798c7: 8d 4e 0c lea ecx,[esi+0xc] + 7798ca: 57 push edi + 7798cb: e8 70 16 01 00 call 0x78af40 + 7798d0: 6b ff 74 imul edi,edi,0x74 + 7798d3: 8b 55 08 mov edx,DWORD PTR [ebp+0x8] + 7798d6: 52 push edx + 7798d7: 8d 56 0c lea edx,[esi+0xc] + 7798da: 52 push edx + 7798db: 03 f8 add edi,eax + 7798dd: 89 06 mov DWORD PTR [esi],eax + 7798df: 89 46 04 mov DWORD PTR [esi+0x4],eax + 7798e2: 89 7e 08 mov DWORD PTR [esi+0x8],edi + 7798e5: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] + 7798e8: 8b 1b mov ebx,DWORD PTR [ebx] + 7798ea: 50 push eax + 7798eb: 51 push ecx + 7798ec: 53 push ebx + 7798ed: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0 + 7798f4: e8 a7 8c ff ff call 0x7725a0 + 7798f9: 83 c4 14 add esp,0x14 + 7798fc: 89 46 04 mov DWORD PTR [esi+0x4],eax + 7798ff: 8b c6 mov eax,esi + 779901: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 779904: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 77990b: 59 pop ecx + 77990c: 5f pop edi + 77990d: 5e pop esi + 77990e: 5b pop ebx + 77990f: 8b e5 mov esp,ebp + 779911: 5d pop ebp + 779912: c2 04 00 ret 0x4 + 779915: 8b 4d ec mov ecx,DWORD PTR [ebp-0x14] + 779918: e8 63 fc ea ff call 0x629580 + 77991d: 6a 00 push 0x0 + 77991f: 6a 00 push 0x0 + 779921: e8 96 b6 1a 00 call 0x924fbc + 779926: cc int3 + 779927: cc int3 + 779928: cc int3 + 779929: cc int3 + 77992a: cc int3 + 77992b: cc int3 + 77992c: cc int3 + 77992d: cc int3 + 77992e: cc int3 + 77992f: cc int3 + 779930: 55 push ebp + 779931: 8b ec mov ebp,esp + 779933: 6a ff push 0xffffffff + 779935: 68 38 06 97 00 push 0x970638 + 77993a: 64 a1 00 00 00 00 mov eax,fs:0x0 + 779940: 50 push eax + 779941: 83 ec 20 sub esp,0x20 + 779944: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 779949: 33 c5 xor eax,ebp + 77994b: 89 45 f0 mov DWORD PTR [ebp-0x10],eax + 77994e: 56 push esi + 77994f: 50 push eax + 779950: 8d 45 f4 lea eax,[ebp-0xc] + 779953: 64 a3 00 00 00 00 mov fs:0x0,eax + 779959: 8b f1 mov esi,ecx + 77995b: 8b 86 8c 00 00 00 mov eax,DWORD PTR [esi+0x8c] + 779961: 85 c0 test eax,eax + 779963: 75 0c jne 0x779971 + 779965: 68 34 24 a2 00 push 0xa22434 + 77996a: e8 e1 05 14 00 call 0x8b9f50 + 77996f: eb 7e jmp 0x7799ef + 779971: 50 push eax + 779972: e8 09 cc c9 ff call 0x416580 + 779977: 83 c4 04 add esp,0x4 + 77997a: 85 c0 test eax,eax + 77997c: 74 0c je 0x77998a + 77997e: 68 f8 23 a2 00 push 0xa223f8 + 779983: e8 58 08 14 00 call 0x8ba1e0 + 779988: eb 65 jmp 0x7799ef + 77998a: e8 d1 58 dc ff call 0x53f260 + 77998f: c7 45 e8 0f 00 00 00 mov DWORD PTR [ebp-0x18],0xf + 779996: c7 45 e4 00 00 00 00 mov DWORD PTR [ebp-0x1c],0x0 + 77999d: c6 45 d4 00 mov BYTE PTR [ebp-0x2c],0x0 + 7799a1: 8d 4d d4 lea ecx,[ebp-0x2c] + 7799a4: 51 push ecx + 7799a5: 50 push eax + 7799a6: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0 + 7799ad: e8 fe 52 dc ff call 0x53ecb0 + 7799b2: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c] + 7799b5: 83 c4 08 add esp,0x8 + 7799b8: 83 7d e8 10 cmp DWORD PTR [ebp-0x18],0x10 + 7799bc: 73 03 jae 0x7799c1 + 7799be: 8d 45 d4 lea eax,[ebp-0x2c] + 7799c1: 8b 96 8c 00 00 00 mov edx,DWORD PTR [esi+0x8c] + 7799c7: 6a 00 push 0x0 + 7799c9: 56 push esi + 7799ca: 68 a0 8d 77 00 push 0x778da0 + 7799cf: 68 e0 ea 76 00 push 0x76eae0 + 7799d4: 6a 00 push 0x0 + 7799d6: 50 push eax + 7799d7: 52 push edx + 7799d8: e8 f3 d7 c9 ff call 0x4171d0 + 7799dd: 83 c4 1c add esp,0x1c + 7799e0: 83 7d e8 10 cmp DWORD PTR [ebp-0x18],0x10 + 7799e4: 72 0c jb 0x7799f2 + 7799e6: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c] + 7799e9: 50 push eax + 7799ea: e8 bb b5 1a 00 call 0x924faa + 7799ef: 83 c4 04 add esp,0x4 + 7799f2: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 7799f5: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 7799fc: 59 pop ecx + 7799fd: 5e pop esi + 7799fe: 8b 4d f0 mov ecx,DWORD PTR [ebp-0x10] + 779a01: 33 cd xor ecx,ebp + 779a03: e8 7a b3 1a 00 call 0x924d82 + 779a08: 8b e5 mov esp,ebp + 779a0a: 5d pop ebp + 779a0b: c3 ret + 779a0c: cc int3 + 779a0d: cc int3 + 779a0e: cc int3 + 779a0f: cc int3 + 779a10: 53 push ebx + 779a11: 56 push esi + 779a12: 8b f1 mov esi,ecx + 779a14: 57 push edi + 779a15: 8b be 24 01 00 00 mov edi,DWORD PTR [esi+0x124] + 779a1b: 33 db xor ebx,ebx + 779a1d: 3b fb cmp edi,ebx + 779a1f: 74 je 0x779a31 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt new file mode 100644 index 0000000..ca04328 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-copy-wide.stdout.txt @@ -0,0 +1,177 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00779850 <.text+0x378850>: + 779850: 55 push ebp + 779851: 8b ec mov ebp,esp + 779853: 6a ff push 0xffffffff + 779855: 68 10 7b 98 00 push 0x987b10 + 77985a: 64 a1 00 00 00 00 mov eax,fs:0x0 + 779860: 50 push eax + 779861: 83 ec 08 sub esp,0x8 + 779864: 53 push ebx + 779865: 56 push esi + 779866: 57 push edi + 779867: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 77986c: 33 c5 xor eax,ebp + 77986e: 50 push eax + 77986f: 8d 45 f4 lea eax,[ebp-0xc] + 779872: 64 a3 00 00 00 00 mov fs:0x0,eax + 779878: 89 65 f0 mov DWORD PTR [ebp-0x10],esp + 77987b: 8b f1 mov esi,ecx + 77987d: 89 75 ec mov DWORD PTR [ebp-0x14],esi + 779880: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8] + 779883: 33 c0 xor eax,eax + 779885: 89 06 mov DWORD PTR [esi],eax + 779887: 89 46 04 mov DWORD PTR [esi+0x4],eax + 77988a: 89 46 08 mov DWORD PTR [esi+0x8],eax + 77988d: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] + 779890: 2b 0b sub ecx,DWORD PTR [ebx] + 779892: b8 09 cb 3d 8d mov eax,0x8d3dcb09 + 779897: f7 e9 imul ecx + 779899: 03 d1 add edx,ecx + 77989b: c1 fa 06 sar edx,0x6 + 77989e: 8b fa mov edi,edx + 7798a0: b8 00 00 00 00 mov eax,0x0 + 7798a5: c1 ef 1f shr edi,0x1f + 7798a8: 03 fa add edi,edx + 7798aa: 89 06 mov DWORD PTR [esi],eax + 7798ac: 89 46 04 mov DWORD PTR [esi+0x4],eax + 7798af: 89 46 08 mov DWORD PTR [esi+0x8],eax + 7798b2: 74 4b je 0x7798ff + 7798b4: 81 ff 2c f7 34 02 cmp edi,0x234f72c + 7798ba: 76 0b jbe 0x7798c7 + 7798bc: 68 90 1f 9e 00 push 0x9e1f90 + 7798c1: ff 15 50 d1 9d 00 call DWORD PTR ds:0x9dd150 + 7798c7: 8d 4e 0c lea ecx,[esi+0xc] + 7798ca: 57 push edi + 7798cb: e8 70 16 01 00 call 0x78af40 + 7798d0: 6b ff 74 imul edi,edi,0x74 + 7798d3: 8b 55 08 mov edx,DWORD PTR [ebp+0x8] + 7798d6: 52 push edx + 7798d7: 8d 56 0c lea edx,[esi+0xc] + 7798da: 52 push edx + 7798db: 03 f8 add edi,eax + 7798dd: 89 06 mov DWORD PTR [esi],eax + 7798df: 89 46 04 mov DWORD PTR [esi+0x4],eax + 7798e2: 89 7e 08 mov DWORD PTR [esi+0x8],edi + 7798e5: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4] + 7798e8: 8b 1b mov ebx,DWORD PTR [ebx] + 7798ea: 50 push eax + 7798eb: 51 push ecx + 7798ec: 53 push ebx + 7798ed: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0 + 7798f4: e8 a7 8c ff ff call 0x7725a0 + 7798f9: 83 c4 14 add esp,0x14 + 7798fc: 89 46 04 mov DWORD PTR [esi+0x4],eax + 7798ff: 8b c6 mov eax,esi + 779901: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 779904: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 77990b: 59 pop ecx + 77990c: 5f pop edi + 77990d: 5e pop esi + 77990e: 5b pop ebx + 77990f: 8b e5 mov esp,ebp + 779911: 5d pop ebp + 779912: c2 04 00 ret 0x4 + 779915: 8b 4d ec mov ecx,DWORD PTR [ebp-0x14] + 779918: e8 63 fc ea ff call 0x629580 + 77991d: 6a 00 push 0x0 + 77991f: 6a 00 push 0x0 + 779921: e8 96 b6 1a 00 call 0x924fbc + 779926: cc int3 + 779927: cc int3 + 779928: cc int3 + 779929: cc int3 + 77992a: cc int3 + 77992b: cc int3 + 77992c: cc int3 + 77992d: cc int3 + 77992e: cc int3 + 77992f: cc int3 + 779930: 55 push ebp + 779931: 8b ec mov ebp,esp + 779933: 6a ff push 0xffffffff + 779935: 68 38 06 97 00 push 0x970638 + 77993a: 64 a1 00 00 00 00 mov eax,fs:0x0 + 779940: 50 push eax + 779941: 83 ec 20 sub esp,0x20 + 779944: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 779949: 33 c5 xor eax,ebp + 77994b: 89 45 f0 mov DWORD PTR [ebp-0x10],eax + 77994e: 56 push esi + 77994f: 50 push eax + 779950: 8d 45 f4 lea eax,[ebp-0xc] + 779953: 64 a3 00 00 00 00 mov fs:0x0,eax + 779959: 8b f1 mov esi,ecx + 77995b: 8b 86 8c 00 00 00 mov eax,DWORD PTR [esi+0x8c] + 779961: 85 c0 test eax,eax + 779963: 75 0c jne 0x779971 + 779965: 68 34 24 a2 00 push 0xa22434 + 77996a: e8 e1 05 14 00 call 0x8b9f50 + 77996f: eb 7e jmp 0x7799ef + 779971: 50 push eax + 779972: e8 09 cc c9 ff call 0x416580 + 779977: 83 c4 04 add esp,0x4 + 77997a: 85 c0 test eax,eax + 77997c: 74 0c je 0x77998a + 77997e: 68 f8 23 a2 00 push 0xa223f8 + 779983: e8 58 08 14 00 call 0x8ba1e0 + 779988: eb 65 jmp 0x7799ef + 77998a: e8 d1 58 dc ff call 0x53f260 + 77998f: c7 45 e8 0f 00 00 00 mov DWORD PTR [ebp-0x18],0xf + 779996: c7 45 e4 00 00 00 00 mov DWORD PTR [ebp-0x1c],0x0 + 77999d: c6 45 d4 00 mov BYTE PTR [ebp-0x2c],0x0 + 7799a1: 8d 4d d4 lea ecx,[ebp-0x2c] + 7799a4: 51 push ecx + 7799a5: 50 push eax + 7799a6: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0 + 7799ad: e8 fe 52 dc ff call 0x53ecb0 + 7799b2: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c] + 7799b5: 83 c4 08 add esp,0x8 + 7799b8: 83 7d e8 10 cmp DWORD PTR [ebp-0x18],0x10 + 7799bc: 73 03 jae 0x7799c1 + 7799be: 8d 45 d4 lea eax,[ebp-0x2c] + 7799c1: 8b 96 8c 00 00 00 mov edx,DWORD PTR [esi+0x8c] + 7799c7: 6a 00 push 0x0 + 7799c9: 56 push esi + 7799ca: 68 a0 8d 77 00 push 0x778da0 + 7799cf: 68 e0 ea 76 00 push 0x76eae0 + 7799d4: 6a 00 push 0x0 + 7799d6: 50 push eax + 7799d7: 52 push edx + 7799d8: e8 f3 d7 c9 ff call 0x4171d0 + 7799dd: 83 c4 1c add esp,0x1c + 7799e0: 83 7d e8 10 cmp DWORD PTR [ebp-0x18],0x10 + 7799e4: 72 0c jb 0x7799f2 + 7799e6: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c] + 7799e9: 50 push eax + 7799ea: e8 bb b5 1a 00 call 0x924faa + 7799ef: 83 c4 04 add esp,0x4 + 7799f2: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 7799f5: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 7799fc: 59 pop ecx + 7799fd: 5e pop esi + 7799fe: 8b 4d f0 mov ecx,DWORD PTR [ebp-0x10] + 779a01: 33 cd xor ecx,ebp + 779a03: e8 7a b3 1a 00 call 0x924d82 + 779a08: 8b e5 mov esp,ebp + 779a0a: 5d pop ebp + 779a0b: c3 ret + 779a0c: cc int3 + 779a0d: cc int3 + 779a0e: cc int3 + 779a0f: cc int3 + 779a10: 53 push ebx + 779a11: 56 push esi + 779a12: 8b f1 mov esi,ecx + 779a14: 57 push edi + 779a15: 8b be 24 01 00 00 mov edi,DWORD PTR [esi+0x124] + 779a1b: 33 db xor ebx,ebx + 779a1d: 3b fb cmp edi,ebx + 779a1f: 74 10 je 0x779a31 + 779a21: 8b cf mov ecx,edi + 779a23: e8 call 0x770450 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt new file mode 100644 index 0000000..db08381 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-exact.stdout.txt @@ -0,0 +1,39 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00629580 <.text+0x228580>: + 629580: 57 push edi + 629581: 8b f9 mov edi,ecx + 629583: 83 3f 00 cmp DWORD PTR [edi],0x0 + 629586: 74 36 je 0x6295be + 629588: 53 push ebx + 629589: 56 push esi + 62958a: ff 15 2c d1 9d 00 call DWORD PTR ds:0x9dd12c + 629590: 8b 5f 04 mov ebx,DWORD PTR [edi+0x4] + 629593: 8b 37 mov esi,DWORD PTR [edi] + 629595: 3b f3 cmp esi,ebx + 629597: 74 18 je 0x6295b1 + 629599: 8d a4 24 00 00 00 00 lea esp,[esp+0x0] + 6295a0: 8b 06 mov eax,DWORD PTR [esi] + 6295a2: 8b 10 mov edx,DWORD PTR [eax] + 6295a4: 6a 00 push 0x0 + 6295a6: 8b ce mov ecx,esi + 6295a8: ff d2 call edx + 6295aa: 83 c6 74 add esi,0x74 + 6295ad: 3b f3 cmp esi,ebx + 6295af: 75 ef jne 0x6295a0 + 6295b1: 8b 07 mov eax,DWORD PTR [edi] + 6295b3: 50 push eax + 6295b4: e8 f1 b9 2f 00 call 0x924faa + 6295b9: 83 c4 04 add esp,0x4 + 6295bc: 5e pop esi + 6295bd: 5b pop ebx + 6295be: 33 c0 xor eax,eax + 6295c0: 89 07 mov DWORD PTR [edi],eax + 6295c2: 89 47 04 mov DWORD PTR [edi+0x4],eax + 6295c5: 89 47 08 mov DWORD PTR [edi+0x8],eax + 6295c8: 5f pop edi + 6295c9: c3 ret diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stdout.txt new file mode 100644 index 0000000..74115e5 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/nested-dtor-wide.stdout.txt @@ -0,0 +1,43 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00629580 <.text+0x228580>: + 629580: 57 push edi + 629581: 8b f9 mov edi,ecx + 629583: 83 3f 00 cmp DWORD PTR [edi],0x0 + 629586: 74 36 je 0x6295be + 629588: 53 push ebx + 629589: 56 push esi + 62958a: ff 15 2c d1 9d 00 call DWORD PTR ds:0x9dd12c + 629590: 8b 5f 04 mov ebx,DWORD PTR [edi+0x4] + 629593: 8b 37 mov esi,DWORD PTR [edi] + 629595: 3b f3 cmp esi,ebx + 629597: 74 18 je 0x6295b1 + 629599: 8d a4 24 00 00 00 00 lea esp,[esp+0x0] + 6295a0: 8b 06 mov eax,DWORD PTR [esi] + 6295a2: 8b 10 mov edx,DWORD PTR [eax] + 6295a4: 6a 00 push 0x0 + 6295a6: 8b ce mov ecx,esi + 6295a8: ff d2 call edx + 6295aa: 83 c6 74 add esi,0x74 + 6295ad: 3b f3 cmp esi,ebx + 6295af: 75 ef jne 0x6295a0 + 6295b1: 8b 07 mov eax,DWORD PTR [edi] + 6295b3: 50 push eax + 6295b4: e8 f1 b9 2f 00 call 0x924faa + 6295b9: 83 c4 04 add esp,0x4 + 6295bc: 5e pop esi + 6295bd: 5b pop ebx + 6295be: 33 c0 xor eax,eax + 6295c0: 89 07 mov DWORD PTR [edi],eax + 6295c2: 89 47 04 mov DWORD PTR [edi+0x4],eax + 6295c5: 89 47 08 mov DWORD PTR [edi+0x8],eax + 6295c8: 5f pop edi + 6295c9: c3 ret + 6295ca: cc int3 + 6295cb: cc int3 + 6295cc: cc int3 + 6295cd: cc int3 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt new file mode 100644 index 0000000..f13718d --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-exact.stdout.txt @@ -0,0 +1,85 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00884cb0 <.text+0x483cb0>: + 884cb0: 55 push ebp + 884cb1: 8b ec mov ebp,esp + 884cb3: 6a ff push 0xffffffff + 884cb5: 68 72 0b 98 00 push 0x980b72 + 884cba: 64 a1 00 00 00 00 mov eax,fs:0x0 + 884cc0: 50 push eax + 884cc1: 51 push ecx + 884cc2: 56 push esi + 884cc3: 57 push edi + 884cc4: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 884cc9: 33 c5 xor eax,ebp + 884ccb: 50 push eax + 884ccc: 8d 45 f4 lea eax,[ebp-0xc] + 884ccf: 64 a3 00 00 00 00 mov fs:0x0,eax + 884cd5: 8b f9 mov edi,ecx + 884cd7: 8b 4f 04 mov ecx,DWORD PTR [edi+0x4] + 884cda: 8b 75 08 mov esi,DWORD PTR [ebp+0x8] + 884cdd: 3b f1 cmp esi,ecx + 884cdf: 73 59 jae 0x884d3a + 884ce1: 8b 07 mov eax,DWORD PTR [edi] + 884ce3: 3b c6 cmp eax,esi + 884ce5: 77 53 ja 0x884d3a + 884ce7: 2b f0 sub esi,eax + 884ce9: b8 ab aa aa 2a mov eax,0x2aaaaaab + 884cee: f7 ee imul esi + 884cf0: c1 fa 02 sar edx,0x2 + 884cf3: 8b f2 mov esi,edx + 884cf5: c1 ee 1f shr esi,0x1f + 884cf8: 03 f2 add esi,edx + 884cfa: 3b 4f 08 cmp ecx,DWORD PTR [edi+0x8] + 884cfd: 75 09 jne 0x884d08 + 884cff: 6a 01 push 0x1 + 884d01: 8b cf mov ecx,edi + 884d03: e8 98 f4 ff ff call 0x8841a0 + 884d08: 8b 0f mov ecx,DWORD PTR [edi] + 884d0a: 8d 04 76 lea eax,[esi+esi*2] + 884d0d: 8d 0c c1 lea ecx,[ecx+eax*8] + 884d10: 8b 47 04 mov eax,DWORD PTR [edi+0x4] + 884d13: 89 45 08 mov DWORD PTR [ebp+0x8],eax + 884d16: 89 45 f0 mov DWORD PTR [ebp-0x10],eax + 884d19: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0 + 884d20: 85 c0 test eax,eax + 884d22: 74 54 je 0x884d78 + 884d24: c7 00 7c f0 a0 00 mov DWORD PTR [eax],0xa0f07c + 884d2a: 8b 51 04 mov edx,DWORD PTR [ecx+0x4] + 884d2d: 83 c1 08 add ecx,0x8 + 884d30: c6 45 fc 01 mov BYTE PTR [ebp-0x4],0x1 + 884d34: 89 50 04 mov DWORD PTR [eax+0x4],edx + 884d37: 51 push ecx + 884d38: eb 36 jmp 0x884d70 + 884d3a: 3b 4f 08 cmp ecx,DWORD PTR [edi+0x8] + 884d3d: 75 09 jne 0x884d48 + 884d3f: 6a 01 push 0x1 + 884d41: 8b cf mov ecx,edi + 884d43: e8 58 f4 ff ff call 0x8841a0 + 884d48: 8b 47 04 mov eax,DWORD PTR [edi+0x4] + 884d4b: 89 45 08 mov DWORD PTR [ebp+0x8],eax + 884d4e: 89 45 f0 mov DWORD PTR [ebp-0x10],eax + 884d51: c7 45 fc 02 00 00 00 mov DWORD PTR [ebp-0x4],0x2 + 884d58: 85 c0 test eax,eax + 884d5a: 74 1c je 0x884d78 + 884d5c: c7 00 7c f0 a0 00 mov DWORD PTR [eax],0xa0f07c + 884d62: 8b 4e 04 mov ecx,DWORD PTR [esi+0x4] + 884d65: 83 c6 08 add esi,0x8 + 884d68: c6 45 fc 03 mov BYTE PTR [ebp-0x4],0x3 + 884d6c: 89 48 04 mov DWORD PTR [eax+0x4],ecx + 884d6f: 56 push esi + 884d70: 8d 48 08 lea ecx,[eax+0x8] + 884d73: e8 d8 4a ef ff call 0x779850 + 884d78: 83 47 04 18 add DWORD PTR [edi+0x4],0x18 + 884d7c: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 884d7f: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 884d86: 59 pop ecx + 884d87: 5f pop edi + 884d88: 5e pop esi + 884d89: 8b e5 mov esp,ebp + 884d8b: 5d pop ebp + 884d8c: c2 04 00 ret 0x4 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stdout.txt new file mode 100644 index 0000000..0682ca6 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-append-wide.stdout.txt @@ -0,0 +1,88 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00884cb0 <.text+0x483cb0>: + 884cb0: 55 push ebp + 884cb1: 8b ec mov ebp,esp + 884cb3: 6a ff push 0xffffffff + 884cb5: 68 72 0b 98 00 push 0x980b72 + 884cba: 64 a1 00 00 00 00 mov eax,fs:0x0 + 884cc0: 50 push eax + 884cc1: 51 push ecx + 884cc2: 56 push esi + 884cc3: 57 push edi + 884cc4: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 884cc9: 33 c5 xor eax,ebp + 884ccb: 50 push eax + 884ccc: 8d 45 f4 lea eax,[ebp-0xc] + 884ccf: 64 a3 00 00 00 00 mov fs:0x0,eax + 884cd5: 8b f9 mov edi,ecx + 884cd7: 8b 4f 04 mov ecx,DWORD PTR [edi+0x4] + 884cda: 8b 75 08 mov esi,DWORD PTR [ebp+0x8] + 884cdd: 3b f1 cmp esi,ecx + 884cdf: 73 59 jae 0x884d3a + 884ce1: 8b 07 mov eax,DWORD PTR [edi] + 884ce3: 3b c6 cmp eax,esi + 884ce5: 77 53 ja 0x884d3a + 884ce7: 2b f0 sub esi,eax + 884ce9: b8 ab aa aa 2a mov eax,0x2aaaaaab + 884cee: f7 ee imul esi + 884cf0: c1 fa 02 sar edx,0x2 + 884cf3: 8b f2 mov esi,edx + 884cf5: c1 ee 1f shr esi,0x1f + 884cf8: 03 f2 add esi,edx + 884cfa: 3b 4f 08 cmp ecx,DWORD PTR [edi+0x8] + 884cfd: 75 09 jne 0x884d08 + 884cff: 6a 01 push 0x1 + 884d01: 8b cf mov ecx,edi + 884d03: e8 98 f4 ff ff call 0x8841a0 + 884d08: 8b 0f mov ecx,DWORD PTR [edi] + 884d0a: 8d 04 76 lea eax,[esi+esi*2] + 884d0d: 8d 0c c1 lea ecx,[ecx+eax*8] + 884d10: 8b 47 04 mov eax,DWORD PTR [edi+0x4] + 884d13: 89 45 08 mov DWORD PTR [ebp+0x8],eax + 884d16: 89 45 f0 mov DWORD PTR [ebp-0x10],eax + 884d19: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0 + 884d20: 85 c0 test eax,eax + 884d22: 74 54 je 0x884d78 + 884d24: c7 00 7c f0 a0 00 mov DWORD PTR [eax],0xa0f07c + 884d2a: 8b 51 04 mov edx,DWORD PTR [ecx+0x4] + 884d2d: 83 c1 08 add ecx,0x8 + 884d30: c6 45 fc 01 mov BYTE PTR [ebp-0x4],0x1 + 884d34: 89 50 04 mov DWORD PTR [eax+0x4],edx + 884d37: 51 push ecx + 884d38: eb 36 jmp 0x884d70 + 884d3a: 3b 4f 08 cmp ecx,DWORD PTR [edi+0x8] + 884d3d: 75 09 jne 0x884d48 + 884d3f: 6a 01 push 0x1 + 884d41: 8b cf mov ecx,edi + 884d43: e8 58 f4 ff ff call 0x8841a0 + 884d48: 8b 47 04 mov eax,DWORD PTR [edi+0x4] + 884d4b: 89 45 08 mov DWORD PTR [ebp+0x8],eax + 884d4e: 89 45 f0 mov DWORD PTR [ebp-0x10],eax + 884d51: c7 45 fc 02 00 00 00 mov DWORD PTR [ebp-0x4],0x2 + 884d58: 85 c0 test eax,eax + 884d5a: 74 1c je 0x884d78 + 884d5c: c7 00 7c f0 a0 00 mov DWORD PTR [eax],0xa0f07c + 884d62: 8b 4e 04 mov ecx,DWORD PTR [esi+0x4] + 884d65: 83 c6 08 add esi,0x8 + 884d68: c6 45 fc 03 mov BYTE PTR [ebp-0x4],0x3 + 884d6c: 89 48 04 mov DWORD PTR [eax+0x4],ecx + 884d6f: 56 push esi + 884d70: 8d 48 08 lea ecx,[eax+0x8] + 884d73: e8 d8 4a ef ff call 0x779850 + 884d78: 83 47 04 18 add DWORD PTR [edi+0x4],0x18 + 884d7c: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 884d7f: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 884d86: 59 pop ecx + 884d87: 5f pop edi + 884d88: 5e pop esi + 884d89: 8b e5 mov esp,ebp + 884d8b: 5d pop ebp + 884d8c: c2 04 00 ret 0x4 + 884d8f: cc int3 + 884d90: 55 push ebp + 884d91: 8b ec mov ebp,esp diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt new file mode 100644 index 0000000..74205d2 --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-exact.stdout.txt @@ -0,0 +1,83 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00885380 <.text+0x484380>: + 885380: 55 push ebp + 885381: 8b ec mov ebp,esp + 885383: 6a ff push 0xffffffff + 885385: 68 30 af 99 00 push 0x99af30 + 88538a: 64 a1 00 00 00 00 mov eax,fs:0x0 + 885390: 50 push eax + 885391: 83 ec 18 sub esp,0x18 + 885394: 53 push ebx + 885395: 56 push esi + 885396: 57 push edi + 885397: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 88539c: 33 c5 xor eax,ebp + 88539e: 50 push eax + 88539f: 8d 45 f4 lea eax,[ebp-0xc] + 8853a2: 64 a3 00 00 00 00 mov fs:0x0,eax + 8853a8: 8b f1 mov esi,ecx + 8853aa: 8b 56 08 mov edx,DWORD PTR [esi+0x8] + 8853ad: 2b 56 04 sub edx,DWORD PTR [esi+0x4] + 8853b0: 8d 4e 04 lea ecx,[esi+0x4] + 8853b3: b8 ab aa aa 2a mov eax,0x2aaaaaab + 8853b8: f7 ea imul edx + 8853ba: c1 fa 02 sar edx,0x2 + 8853bd: 8b c2 mov eax,edx + 8853bf: c1 e8 1f shr eax,0x1f + 8853c2: 33 db xor ebx,ebx + 8853c4: 03 c2 add eax,edx + 8853c6: 33 ff xor edi,edi + 8853c8: 3b c3 cmp eax,ebx + 8853ca: 7e 30 jle 0x8853fc + 8853cc: 8b 11 mov edx,DWORD PTR [ecx] + 8853ce: 8b ff mov edi,edi + 8853d0: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8] + 8853d3: 39 5a 04 cmp DWORD PTR [edx+0x4],ebx + 8853d6: 75 02 jne 0x8853da + 8853d8: 8b fa mov edi,edx + 8853da: 83 c2 18 add edx,0x18 + 8853dd: 48 dec eax + 8853de: 75 f0 jne 0x8853d0 + 8853e0: 33 db xor ebx,ebx + 8853e2: 3b fb cmp edi,ebx + 8853e4: 74 16 je 0x8853fc + 8853e6: 8b c7 mov eax,edi + 8853e8: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 8853eb: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 8853f2: 59 pop ecx + 8853f3: 5f pop edi + 8853f4: 5e pop esi + 8853f5: 5b pop ebx + 8853f6: 8b e5 mov esp,ebp + 8853f8: 5d pop ebp + 8853f9: c2 04 00 ret 0x4 + 8853fc: c7 45 dc 7c f0 a0 00 mov DWORD PTR [ebp-0x24],0xa0f07c + 885403: 89 5d e4 mov DWORD PTR [ebp-0x1c],ebx + 885406: 89 5d e8 mov DWORD PTR [ebp-0x18],ebx + 885409: 89 5d ec mov DWORD PTR [ebp-0x14],ebx + 88540c: 8d 45 dc lea eax,[ebp-0x24] + 88540f: 50 push eax + 885410: 89 5d fc mov DWORD PTR [ebp-0x4],ebx + 885413: e8 98 f8 ff ff call 0x884cb0 + 885418: 8d 4d e4 lea ecx,[ebp-0x1c] + 88541b: c7 45 fc 01 00 00 00 mov DWORD PTR [ebp-0x4],0x1 + 885422: e8 59 41 da ff call 0x629580 + 885427: 8b 46 08 mov eax,DWORD PTR [esi+0x8] + 88542a: 8b 4d 08 mov ecx,DWORD PTR [ebp+0x8] + 88542d: 89 48 ec mov DWORD PTR [eax-0x14],ecx + 885430: 8b 46 08 mov eax,DWORD PTR [esi+0x8] + 885433: 83 e8 18 sub eax,0x18 + 885436: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 885439: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 885440: 59 pop ecx + 885441: 5f pop edi + 885442: 5e pop esi + 885443: 5b pop ebx + 885444: 8b e5 mov esp,ebp + 885446: 5d pop ebp + 885447: c2 04 00 ret 0x4 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stderr.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stderr.txt new file mode 100644 index 0000000..e69de29 diff --git a/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stdout.txt b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stdout.txt new file mode 100644 index 0000000..c47ffab --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/run-ee78b8773688ca09f8046e21/turn-get-create-wide.stdout.txt @@ -0,0 +1,87 @@ + +/home/alex/sots-re/dumps/sots.exe: file format pei-i386 + + +Disassembly of section .text: + +00885380 <.text+0x484380>: + 885380: 55 push ebp + 885381: 8b ec mov ebp,esp + 885383: 6a ff push 0xffffffff + 885385: 68 30 af 99 00 push 0x99af30 + 88538a: 64 a1 00 00 00 00 mov eax,fs:0x0 + 885390: 50 push eax + 885391: 83 ec 18 sub esp,0x18 + 885394: 53 push ebx + 885395: 56 push esi + 885396: 57 push edi + 885397: a1 78 8b af 00 mov eax,ds:0xaf8b78 + 88539c: 33 c5 xor eax,ebp + 88539e: 50 push eax + 88539f: 8d 45 f4 lea eax,[ebp-0xc] + 8853a2: 64 a3 00 00 00 00 mov fs:0x0,eax + 8853a8: 8b f1 mov esi,ecx + 8853aa: 8b 56 08 mov edx,DWORD PTR [esi+0x8] + 8853ad: 2b 56 04 sub edx,DWORD PTR [esi+0x4] + 8853b0: 8d 4e 04 lea ecx,[esi+0x4] + 8853b3: b8 ab aa aa 2a mov eax,0x2aaaaaab + 8853b8: f7 ea imul edx + 8853ba: c1 fa 02 sar edx,0x2 + 8853bd: 8b c2 mov eax,edx + 8853bf: c1 e8 1f shr eax,0x1f + 8853c2: 33 db xor ebx,ebx + 8853c4: 03 c2 add eax,edx + 8853c6: 33 ff xor edi,edi + 8853c8: 3b c3 cmp eax,ebx + 8853ca: 7e 30 jle 0x8853fc + 8853cc: 8b 11 mov edx,DWORD PTR [ecx] + 8853ce: 8b ff mov edi,edi + 8853d0: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8] + 8853d3: 39 5a 04 cmp DWORD PTR [edx+0x4],ebx + 8853d6: 75 02 jne 0x8853da + 8853d8: 8b fa mov edi,edx + 8853da: 83 c2 18 add edx,0x18 + 8853dd: 48 dec eax + 8853de: 75 f0 jne 0x8853d0 + 8853e0: 33 db xor ebx,ebx + 8853e2: 3b fb cmp edi,ebx + 8853e4: 74 16 je 0x8853fc + 8853e6: 8b c7 mov eax,edi + 8853e8: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 8853eb: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 8853f2: 59 pop ecx + 8853f3: 5f pop edi + 8853f4: 5e pop esi + 8853f5: 5b pop ebx + 8853f6: 8b e5 mov esp,ebp + 8853f8: 5d pop ebp + 8853f9: c2 04 00 ret 0x4 + 8853fc: c7 45 dc 7c f0 a0 00 mov DWORD PTR [ebp-0x24],0xa0f07c + 885403: 89 5d e4 mov DWORD PTR [ebp-0x1c],ebx + 885406: 89 5d e8 mov DWORD PTR [ebp-0x18],ebx + 885409: 89 5d ec mov DWORD PTR [ebp-0x14],ebx + 88540c: 8d 45 dc lea eax,[ebp-0x24] + 88540f: 50 push eax + 885410: 89 5d fc mov DWORD PTR [ebp-0x4],ebx + 885413: e8 98 f8 ff ff call 0x884cb0 + 885418: 8d 4d e4 lea ecx,[ebp-0x1c] + 88541b: c7 45 fc 01 00 00 00 mov DWORD PTR [ebp-0x4],0x1 + 885422: e8 59 41 da ff call 0x629580 + 885427: 8b 46 08 mov eax,DWORD PTR [esi+0x8] + 88542a: 8b 4d 08 mov ecx,DWORD PTR [ebp+0x8] + 88542d: 89 48 ec mov DWORD PTR [eax-0x14],ecx + 885430: 8b 46 08 mov eax,DWORD PTR [esi+0x8] + 885433: 83 e8 18 sub eax,0x18 + 885436: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc] + 885439: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx + 885440: 59 pop ecx + 885441: 5f pop edi + 885442: 5e pop esi + 885443: 5b pop ebx + 885444: 8b e5 mov esp,ebp + 885446: 5d pop ebp + 885447: c2 04 00 ret 0x4 + 88544a: cc int3 + 88544b: cc int3 + 88544c: cc int3 + 88544d: cc int3 diff --git a/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md b/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md new file mode 100644 index 0000000..1ee822d --- /dev/null +++ b/verify/results/research-completion-abi-correction-verifier/verification-plan-run-ee78b8773688ca09f8046e21.md @@ -0,0 +1,68 @@ +# Independent correction verification plan + +Session `run-ee78b8773688ca09f8046e21`; actor `research-abi-correction-verifier`; +model `openai/gpt-5.6-sol`. This plan predates the verifier capture. It covers static +reproduction and does not authorize game, allocator, VM, Ghidra, or build-host execution. + +## Required identities and positive execution + +The assigned paired source manifests must rehash to engine +`ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd` at HEAD +`7741d42fc5e4e761e6449bdaf0e4a61d00036a23` and RE +`6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8` at HEAD +`3bfde5a70d874a723e797a695bbd847fd82c0aa7`. The input must be 7,898,624-byte +`dumps/sots.exe` SHA-256 `970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841`. +The instrument must be 373,888-byte `/usr/bin/objdump` SHA-256 +`1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd`, GNU +objdump 2.38. Every command must return zero, emit nonempty stdout and empty stderr. + +## Falsifiers + +1. Any source, binary, tool, command boundary, byte count, or digest mismatch fails + reproduction; a decoded-looking listing does not override provenance failure. +2. Any write to `[EBP-0x20]` in get/create before the call at `0x00885413` falsifies the + corrected uninitialized-in-this-routine claim. Absence of a write does not prove a runtime + value, randomness, or allocator safety. +3. Failure of append to copy source `+4` to destination `+4`, or advancement of `_Mylast` + before nested copy returns, falsifies the claimed append ordering. +4. A final requested-turn store before temporary nested cleanup, or a returned pointer other + than `_Mylast-0x18`, falsifies the usable miss-path postcondition. +5. A nested-copy destination not initialized to three null pointers, allocation on its empty + branch, failure to expose a nonempty allocation/range-copy branch, or a stride other than + `0x74` falsifies the nested ownership interpretation. +6. A null nested-vector destructor path that destroys/frees, or a nonnull path lacking + per-element virtual destruction, `0x00924faa` free, and final three-pointer zeroing, + falsifies cleanup accounting. +7. Zero commands, unexpected skips, truncated terminal instructions, or fewer than all four + declared windows fails the package even if surviving hashes match. + +## Required branch exposures and distinct states + +* Get/create: empty outer vector; nonempty/no match; one match; duplicate matches selecting the + last; hit early return with no construction; and miss construction through cleanup/final store. + These are static control-flow states, not executed runtime fixtures. +* Outer append: spare-capacity external-source copy and full-capacity growth dispatch; the + source-inside-vector branch must be distinguished where the window exposes it. No allocation + failure is claimed executed. +* Nested copy: empty source (no allocation) versus nonempty source (allocation and `0x74`-stride + range copy), plus visible unwind edge without claiming a thrown execution. +* Nested destruction: null first pointer versus nonnull element loop/free, including final + pointer-zero state. +* Ordering: incoming transient scalar copy, nested copy completion, outer `_Mylast` advance, + temporary nested cleanup, requested-turn publication, then returned last element. + +## Held-out challenge / ablation + +In addition to byte-for-byte reproduction of the four handoff commands, capture each window with +its stop address widened by four bytes. Require every original stream's instruction rows to be an +exact prefix of the widened stream's rows and inspect the first added instruction. This challenges +the assumption that exact stop boundaries did not truncate a terminal instruction, the provenance +failure that invalidated earlier packages. Independently enumerate get/create stack-memory writes +through `0x00885413`; do not infer the answer from report prose. + +## Acceptance limits + +Success is an **independent static full compare** of four windows plus a static boundary ablation. +It is not original-game runtime comparison, integrated replay, live allocator safety, failure-path +execution, or independent replacement acceptance. Missing full/spare live fixtures, nonempty live +nested-copy state, transient observation, and induced unwind remain residuals.