{"body":{"attestation":{"model_attested":false,"reason":"The engine never contacts a model, so it cannot witness which model produced a move. Replay proves rule compliance and adjudication integrity, not model identity."},"engine":{"digest":"268af65826d74f2d806baddb31dd66f0d7e809f483268f07c6136879670ccd81","files":[["__init__.py","9ceaf46768c3ab8307d10b7d8bfdb6c8fb9fa118ec96fc01d3cdaaa8b96e0ae7"],["canonical.py","ae5a9d3702692ef5dee51641253aa1847344782ee6508d488a99ac9ebc75239d"],["integrity.py","1080db8480e8fae0af647ffd9d48b674a38dbab58e665d81fa5403736054f909"],["match.py","4b497e63d6abf69528e6dd60b7854d0b7e15ebd46300f15ba9e5addcf5875be5"],["replay.py","1d01f912f34e5b142f8afe10599a50d51f883c1c105a10dbb83ff7bd6968bf8b"],["sandbox.py","f92663df93af381a767e2af07cddcb2eb694cbf80ca061e93e35c43ca06c6c46"],["scoring.py","bde02741a248ec254688158ac2378f8c37bbe59bb515e61ffaf4d6593fbaecc3"],["transcript.py","c11106e5ded349574360f06578bb90a69bcc34a42eb4f50283179453e35f870a"],["games/__init__.py","311f5d75cb723ced5fefcf553618e7899e1af2dae95f6981887f44bef6b0da68"],["games/nim.py","1b28d3b758069f2246cd39515b50b39b74261c1c31f2ba4fa9ffc56838dab968"]]},"entrants":[{"claimed_model":"stub:v1","declared_env":[],"manifest_digest":"5d52a461498a7ddbd6a85f34b30fa85e184ce34f5c88225141f71d63eab8709e","name":"solver-harness","script":{"path":"python.exe","sha256":"5341746f92483a93e44c313de830f2fba2956f0759094404a16b2fed06c9a2ed"},"seat":0},{"claimed_model":"stub:v1","declared_env":[],"manifest_digest":"8297add5250822db579614e9a681a8721b256fcf8d447e3e0632de5acdf813ea","name":"naive-harness","script":{"path":"python.exe","sha256":"5341746f92483a93e44c313de830f2fba2956f0759094404a16b2fed06c9a2ed"},"seat":1}],"game":{"name":"nim","summary":"Remove objects from heaps; take the last object to win.","version":"1"},"limits":{"move_timeout_ms":15000},"match_id":"d226c6578f121c5d","protocol":"arena/1","sandbox_policy":{"enforced":["separate_os_process (no shared memory or imports with the referee)","cwd_isolated_scratch_dir (entrant is started in a per-match scratch dir)","env_allowlist (only base OS vars plus names the entrant manifest declares)","no_inherited_file_handles (close_fds)","transcript_path_withheld (entrant is never told where the record is written)","per_move_wall_clock_timeout (exceeded -> forfeit)","stdout_line_size_cap","stdout_total_size_cap","stderr_captured_and_capped","kill_on_timeout_and_at_match_end"],"note":"The unenforced items need an OS-level jail (container, WSL cgroup, Windows job object plus a firewall profile). Until that ships, a match run on an untrusted entrant is isolated in process but not in capability, and results should be labelled accordingly.","protocol":"arena/1","unenforced_v1":["network_egress_blocking (an entrant CAN reach the network; not restricted by the host in v1)","filesystem_confinement (cwd is set, not chrooted; an entrant CAN read outside it)","cpu_and_memory_limits (no job object / cgroup applied in v1)"]},"seed":1007},"hash":"c175239a2a76d5eebc4877f8f1dab59d7dcbd7682a3bfa17635336ad9f9ed7a1","kind":"header","prev":"0000000000000000000000000000000000000000000000000000000000000000","seq":0}
{"body":{"entrant_message":{"backend":"stub:v1","entrant":"solver-harness","type":"ready","version":"2"},"player":0},"hash":"6722daa4324f1ec5af58f3d9b9a745945d50bafdcc14596271fb506f2a1ce05f","kind":"ready","prev":"c175239a2a76d5eebc4877f8f1dab59d7dcbd7682a3bfa17635336ad9f9ed7a1","seq":1}
{"body":{"entrant_message":{"backend":"stub:v1","entrant":"naive-harness","type":"ready","version":"2"},"player":1},"hash":"f65808210e663e161f6fa9d46ad189ed0e14caac02090d67f5b333a62c481572","kind":"ready","prev":"6722daa4324f1ec5af58f3d9b9a745945d50bafdcc14596271fb506f2a1ce05f","seq":2}
{"body":{"state":{"heaps":[7,7,5],"last_mover":null,"to_move":0,"turn":0},"state_digest":"d946bc8341da211f46ceea7fbc48d8629f6526e3974dd87c825c4fba65c253c4","turn":0},"hash":"b440ebc916dbe2b6aac84776358fc3b676dd6d93e2cf6804a6034500c7ceab44","kind":"state","prev":"f65808210e663e161f6fa9d46ad189ed0e14caac02090d67f5b333a62c481572","seq":3}
{"body":{"entrant_message":{"move":{"heap":0,"take":5},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":0,"take":5},"player":0,"turn":0},"hash":"391829908c7c22cd0b72405cfaf36c001b34b6d3967cbafb442bcaab8cb7fa20","kind":"move","prev":"b440ebc916dbe2b6aac84776358fc3b676dd6d93e2cf6804a6034500c7ceab44","seq":4}
{"body":{"state":{"heaps":[2,7,5],"last_mover":0,"to_move":1,"turn":1},"state_digest":"7a308f156c64661d2cc4caa279784a915a097fb92e4c389927f6f7aad6d6046c","turn":1},"hash":"aa9970b825200e88e4a98c22f8a0d71c9a8f1e5025530c3e31f3b9a341ba38ee","kind":"state","prev":"391829908c7c22cd0b72405cfaf36c001b34b6d3967cbafb442bcaab8cb7fa20","seq":5}
{"body":{"entrant_message":{"move":{"heap":1,"take":6},"note":"{\"heap\": 1, \"take\": 6}","type":"move"},"legal":true,"move":{"heap":1,"take":6},"player":1,"turn":1},"hash":"838cd40311f53b007033e39b5383f5925f701dc7af4f50e48ee21c5263e9f9a0","kind":"move","prev":"aa9970b825200e88e4a98c22f8a0d71c9a8f1e5025530c3e31f3b9a341ba38ee","seq":6}
{"body":{"state":{"heaps":[2,1,5],"last_mover":1,"to_move":0,"turn":2},"state_digest":"bc9a41e83695f3906a93d6181cd88ce15498b4a4a6c84527dc90dcba493765a7","turn":2},"hash":"8f3eafcccb8af27c1c44cf260064ff54cc17f3cc97f2cd614f54ffeba136584b","kind":"state","prev":"838cd40311f53b007033e39b5383f5925f701dc7af4f50e48ee21c5263e9f9a0","seq":7}
{"body":{"entrant_message":{"move":{"heap":2,"take":2},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":2,"take":2},"player":0,"turn":2},"hash":"65be953704603a0d0ede816ec4a3596b14be7d6bf715d27209c2144819d0549d","kind":"move","prev":"8f3eafcccb8af27c1c44cf260064ff54cc17f3cc97f2cd614f54ffeba136584b","seq":8}
{"body":{"state":{"heaps":[2,1,3],"last_mover":0,"to_move":1,"turn":3},"state_digest":"72fcc4f1a5ba988fd662fed518894090212cd8cc6f70781e1be483cb54d206c6","turn":3},"hash":"d58c7ee1906ec0e287716749f33b4031e15892553cdb86b518b2a140af579867","kind":"state","prev":"65be953704603a0d0ede816ec4a3596b14be7d6bf715d27209c2144819d0549d","seq":9}
{"body":{"entrant_message":{"move":{"heap":0,"take":1},"note":"Looking at the heaps, I'll take 1 from heap 0.","type":"move"},"legal":true,"move":{"heap":0,"take":1},"player":1,"turn":3},"hash":"c5d6c1636d1b03711ddf49fc65aab2558d36636c9a9c100aeb53613e2dfa1413","kind":"move","prev":"d58c7ee1906ec0e287716749f33b4031e15892553cdb86b518b2a140af579867","seq":10}
{"body":{"state":{"heaps":[1,1,3],"last_mover":1,"to_move":0,"turn":4},"state_digest":"41586ad8ea9bd1b57206ce0565fb35cc012d12ffb4e59ec55684ac9dbe79b824","turn":4},"hash":"9055e358ce16f4079d36dcb5b760cd7f17b707f086f18681229371ccc70d7dc6","kind":"state","prev":"c5d6c1636d1b03711ddf49fc65aab2558d36636c9a9c100aeb53613e2dfa1413","seq":11}
{"body":{"entrant_message":{"move":{"heap":2,"take":3},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":2,"take":3},"player":0,"turn":4},"hash":"549b3ce32959f0cf1a90c5985fc108e9e7e2a9f4e697ec7cf6ed77354c8a77d4","kind":"move","prev":"9055e358ce16f4079d36dcb5b760cd7f17b707f086f18681229371ccc70d7dc6","seq":12}
{"body":{"state":{"heaps":[1,1,0],"last_mover":0,"to_move":1,"turn":5},"state_digest":"9aa5499324a85259c17d8dea8215e103b258ded2def64a5ba80dc27ef5a500da","turn":5},"hash":"34f3c635184e40b34755700d34398d593c25560292650f83299b5da084d11a1a","kind":"state","prev":"549b3ce32959f0cf1a90c5985fc108e9e7e2a9f4e697ec7cf6ed77354c8a77d4","seq":13}
{"body":{"entrant_message":{"move":{"heap":0,"take":1},"note":"Looking at the heaps, I'll take 1 from heap 0.","type":"move"},"legal":true,"move":{"heap":0,"take":1},"player":1,"turn":5},"hash":"f0f1bc7a6b4547b9142db1e305eba43e09ee6c6372fc97af1f092c2e47c82304","kind":"move","prev":"34f3c635184e40b34755700d34398d593c25560292650f83299b5da084d11a1a","seq":14}
{"body":{"state":{"heaps":[0,1,0],"last_mover":1,"to_move":0,"turn":6},"state_digest":"28b66e5dc8a081c2e30b2572ab8d79c04c152000396bbef3400054d021eba4e9","turn":6},"hash":"c76145e231e13691255e84ff7e485468e85fe9380a4b6d88e9ecc34a3f293353","kind":"state","prev":"f0f1bc7a6b4547b9142db1e305eba43e09ee6c6372fc97af1f092c2e47c82304","seq":15}
{"body":{"entrant_message":{"move":{"heap":1,"take":1},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":1,"take":1},"player":0,"turn":6},"hash":"fc0e919101004f78225ffa37fbe598aab1fe06760bdc487eba6181b8b557d676","kind":"move","prev":"c76145e231e13691255e84ff7e485468e85fe9380a4b6d88e9ecc34a3f293353","seq":16}
{"body":{"state":{"heaps":[0,0,0],"last_mover":0,"to_move":1,"turn":7},"state_digest":"dba8b9ec6d4bac48746097d4dc98c8f8a3d3f38883558fe22599566f01caa1e1","turn":7},"hash":"87307075149325b793148df9dee2b3ecac7a5b9151ac55b3e1d12d2988ec1511","kind":"state","prev":"fc0e919101004f78225ffa37fbe598aab1fe06760bdc487eba6181b8b557d676","seq":17}
{"body":{"decisive":true,"moves":7,"points":{"0":1,"1":0},"reason":"took_last_object","scored_from":"referee_state_only","seats":{"0":"solver-harness","1":"naive-harness"},"self_report_excluded":true,"winner":0},"hash":"52eb5f718dcd28e1cd2a7ad4728c8fd3b17b846e5b45d838e3c9df4985e149a7","kind":"result","prev":"87307075149325b793148df9dee2b3ecac7a5b9151ac55b3e1d12d2988ec1511","seq":18}
