{"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":"8297add5250822db579614e9a681a8721b256fcf8d447e3e0632de5acdf813ea","name":"naive-harness","script":{"path":"python.exe","sha256":"5341746f92483a93e44c313de830f2fba2956f0759094404a16b2fed06c9a2ed"},"seat":0},{"claimed_model":"stub:v1","declared_env":[],"manifest_digest":"5d52a461498a7ddbd6a85f34b30fa85e184ce34f5c88225141f71d63eab8709e","name":"solver-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":"0e489032414e8882","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":1005},"hash":"2ab38afbc06e15bc7713b867426be35aac512af623f8264104a2bee80ce7c9ce","kind":"header","prev":"0000000000000000000000000000000000000000000000000000000000000000","seq":0}
{"body":{"entrant_message":{"backend":"stub:v1","entrant":"naive-harness","type":"ready","version":"2"},"player":0},"hash":"8567656babc263bdc85923cbe139b58a20dc6e69925c014919bf9dffa46563dd","kind":"ready","prev":"2ab38afbc06e15bc7713b867426be35aac512af623f8264104a2bee80ce7c9ce","seq":1}
{"body":{"entrant_message":{"backend":"stub:v1","entrant":"solver-harness","type":"ready","version":"2"},"player":1},"hash":"04e9eda50a1c88d676be634b533049dd3b7665d276c0beb1b77c0ae718d97a65","kind":"ready","prev":"8567656babc263bdc85923cbe139b58a20dc6e69925c014919bf9dffa46563dd","seq":2}
{"body":{"state":{"heaps":[7,4,5,4],"last_mover":null,"to_move":0,"turn":0},"state_digest":"89c95bac0d4422fb7c2a371e1548f199627eda45027509d4e464a989ec22c71e","turn":0},"hash":"8b9e0d8aa099017938e5483a9d97d31a3b1b65f8f32a788a6839265411cf60c9","kind":"state","prev":"04e9eda50a1c88d676be634b533049dd3b7665d276c0beb1b77c0ae718d97a65","seq":3}
{"body":{"entrant_message":{"move":{"heap":3,"take":1},"note":"Looking at the heaps, I'll take 1 from heap 3.","type":"move"},"legal":true,"move":{"heap":3,"take":1},"player":0,"turn":0},"hash":"5984113f5f25b669a0cc6cfaadac9ac8b08cbe4c150e930320e83f99aca74143","kind":"move","prev":"8b9e0d8aa099017938e5483a9d97d31a3b1b65f8f32a788a6839265411cf60c9","seq":4}
{"body":{"state":{"heaps":[7,4,5,3],"last_mover":0,"to_move":1,"turn":1},"state_digest":"75a9ee4db86b58abc1d41d09023246f8a2f65311d7c5eebdec866a092a4c659c","turn":1},"hash":"061988919e0b7f910a856057d1588eb844b5a0edb33f9e2ae5de06c6a65b3e6a","kind":"state","prev":"5984113f5f25b669a0cc6cfaadac9ac8b08cbe4c150e930320e83f99aca74143","seq":5}
{"body":{"entrant_message":{"move":{"heap":0,"take":5},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":0,"take":5},"player":1,"turn":1},"hash":"d8287e2c4764a10781ff9cd88d6e51abd9a18b106378c0056692cfcdbc50e88e","kind":"move","prev":"061988919e0b7f910a856057d1588eb844b5a0edb33f9e2ae5de06c6a65b3e6a","seq":6}
{"body":{"state":{"heaps":[2,4,5,3],"last_mover":1,"to_move":0,"turn":2},"state_digest":"eab68cb9d9c7c3517b9e40246b8f7cb266dc953e6c2882d76eb4f9038484c586","turn":2},"hash":"4be8db254e399da2e1cf8fcf233c8ee63d3d1ea56416c2fe2ab0a73e26d7272d","kind":"state","prev":"d8287e2c4764a10781ff9cd88d6e51abd9a18b106378c0056692cfcdbc50e88e","seq":7}
{"body":{"entrant_message":{"move":{"heap":3,"take":1},"note":"{\"heap\": 3, \"take\": 1}","type":"move"},"legal":true,"move":{"heap":3,"take":1},"player":0,"turn":2},"hash":"a6e5cc8ebcf6493d3b77d0a44228b4fcb5efab6826bd5e0f86d3a17a4db2a33b","kind":"move","prev":"4be8db254e399da2e1cf8fcf233c8ee63d3d1ea56416c2fe2ab0a73e26d7272d","seq":8}
{"body":{"state":{"heaps":[2,4,5,2],"last_mover":0,"to_move":1,"turn":3},"state_digest":"9152c4c96329e8656e71d961d3ccf6f79edefc060372a01487b6db8b0d61fef2","turn":3},"hash":"6eb3a82c443154f0526780beec67566e74f2d63f83782ee0531487a910bf82cf","kind":"state","prev":"a6e5cc8ebcf6493d3b77d0a44228b4fcb5efab6826bd5e0f86d3a17a4db2a33b","seq":9}
{"body":{"entrant_message":{"move":{"heap":2,"take":1},"note":"source=model","type":"move"},"legal":true,"move":{"heap":2,"take":1},"player":1,"turn":3},"hash":"c083b59c8e4cd3f22869aced130b0210a63065df96bc56d876542885ae47c4b7","kind":"move","prev":"6eb3a82c443154f0526780beec67566e74f2d63f83782ee0531487a910bf82cf","seq":10}
{"body":{"state":{"heaps":[2,4,4,2],"last_mover":1,"to_move":0,"turn":4},"state_digest":"860cfac8698e4e1de307073e6741886358b896f389a654be96d1ee9586fed5e1","turn":4},"hash":"0afd3327c34469230f0f5e9d0e7c31f93bd5b02ebaf7752a1adcd9e76cffed0e","kind":"state","prev":"c083b59c8e4cd3f22869aced130b0210a63065df96bc56d876542885ae47c4b7","seq":11}
{"body":{"entrant_message":{"move":{"heap":2,"take":3},"note":"{\"heap\": 2, \"take\": 3}","type":"move"},"legal":true,"move":{"heap":2,"take":3},"player":0,"turn":4},"hash":"ac0ffc51098a40190a7c21f32a4d2360e4f5a9309d6c391309dd146f018120a1","kind":"move","prev":"0afd3327c34469230f0f5e9d0e7c31f93bd5b02ebaf7752a1adcd9e76cffed0e","seq":12}
{"body":{"state":{"heaps":[2,4,1,2],"last_mover":0,"to_move":1,"turn":5},"state_digest":"f98b55ba910b12f9642abdeae6b6d46d361e067287a2b9d042a97cb2d26d6062","turn":5},"hash":"b2d50625d4d4951891437dada3a6d6d22dbabcaa4f42f710556d56f7b8b7e2ed","kind":"state","prev":"ac0ffc51098a40190a7c21f32a4d2360e4f5a9309d6c391309dd146f018120a1","seq":13}
{"body":{"entrant_message":{"move":{"heap":1,"take":3},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":1,"take":3},"player":1,"turn":5},"hash":"aba5f2d88ca086cb01302d77bb99b88afcce332c7c7ccbdd0dc58efd17095668","kind":"move","prev":"b2d50625d4d4951891437dada3a6d6d22dbabcaa4f42f710556d56f7b8b7e2ed","seq":14}
{"body":{"state":{"heaps":[2,1,1,2],"last_mover":1,"to_move":0,"turn":6},"state_digest":"1e3ea8aba636d5f7865e2a96cbfa8fac817e47585caf1d876403792c7eb1e019","turn":6},"hash":"e6ee960621d193af3c73b560d83c49dfba68621bd4c0ef00640a818e0ba1f11f","kind":"state","prev":"aba5f2d88ca086cb01302d77bb99b88afcce332c7c7ccbdd0dc58efd17095668","seq":15}
{"body":{"entrant_message":{"move":{"heap":3,"take":2},"note":"{\"heap\": 3, \"take\": 2}","type":"move"},"legal":true,"move":{"heap":3,"take":2},"player":0,"turn":6},"hash":"17209a512179061069ac9c627479fccbd4f9cda196a142cab3ae5a1ddbe33f1b","kind":"move","prev":"e6ee960621d193af3c73b560d83c49dfba68621bd4c0ef00640a818e0ba1f11f","seq":16}
{"body":{"state":{"heaps":[2,1,1,0],"last_mover":0,"to_move":1,"turn":7},"state_digest":"87073e2f3fddb78808cbd7b123f035e17e67e5610c2f101d657d1be2ffc46cd1","turn":7},"hash":"464d4b9449e1d27b0de01f58cce1923a701a573d489b31dad008445283348e24","kind":"state","prev":"17209a512179061069ac9c627479fccbd4f9cda196a142cab3ae5a1ddbe33f1b","seq":17}
{"body":{"entrant_message":{"move":{"heap":0,"take":2},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":0,"take":2},"player":1,"turn":7},"hash":"aa398e6d05ebb38a060a019a3de51dc69240302609c29431778d3a252e1a8030","kind":"move","prev":"464d4b9449e1d27b0de01f58cce1923a701a573d489b31dad008445283348e24","seq":18}
{"body":{"state":{"heaps":[0,1,1,0],"last_mover":1,"to_move":0,"turn":8},"state_digest":"6a99e3da052a82f9403d7596790a6488a586761c660580b3413e3ec10d85a776","turn":8},"hash":"017c066ac33dc4ffd506f7db7225b783cb344a7d13d3604dbb8cf29559655ffa","kind":"state","prev":"aa398e6d05ebb38a060a019a3de51dc69240302609c29431778d3a252e1a8030","seq":19}
{"body":{"entrant_message":{"move":{"heap":2,"take":1},"note":"Looking at the heaps, I'll take 1 from heap 2.","type":"move"},"legal":true,"move":{"heap":2,"take":1},"player":0,"turn":8},"hash":"2a5a36056985500042f156657a5cd207169b648f9b2c31eb971c8d776f1f2796","kind":"move","prev":"017c066ac33dc4ffd506f7db7225b783cb344a7d13d3604dbb8cf29559655ffa","seq":20}
{"body":{"state":{"heaps":[0,1,0,0],"last_mover":0,"to_move":1,"turn":9},"state_digest":"8023445ee00e0903d63f44d7a95df3dd3710a09152aa85869b3d62a0728835ff","turn":9},"hash":"ad8312ef66c9f445f042f5f031e1aeaa32610342a6152f7aa8d4bfb808d41af8","kind":"state","prev":"2a5a36056985500042f156657a5cd207169b648f9b2c31eb971c8d776f1f2796","seq":21}
{"body":{"entrant_message":{"move":{"heap":1,"take":1},"note":"source=fallback:rejected_model_answer","type":"move"},"legal":true,"move":{"heap":1,"take":1},"player":1,"turn":9},"hash":"d2f41017d4d0f5164aa1320586599124e3c644627204e6f0f5149616e6f3c34b","kind":"move","prev":"ad8312ef66c9f445f042f5f031e1aeaa32610342a6152f7aa8d4bfb808d41af8","seq":22}
{"body":{"state":{"heaps":[0,0,0,0],"last_mover":1,"to_move":0,"turn":10},"state_digest":"736db4c2d6f2ef8b3cab9b34d6164daab0910ae3d9cafc0412baaa619d4b5422","turn":10},"hash":"62d5946c53e9c03c08714985ff5a8baf1de8761db56e4b87b52b65b2c80e3034","kind":"state","prev":"d2f41017d4d0f5164aa1320586599124e3c644627204e6f0f5149616e6f3c34b","seq":23}
{"body":{"decisive":true,"moves":10,"points":{"0":0,"1":1},"reason":"took_last_object","scored_from":"referee_state_only","seats":{"0":"naive-harness","1":"solver-harness"},"self_report_excluded":true,"winner":1},"hash":"af6fb219d25d20d76b32fccb03e6ef2bd3c32296dd670209fdbf77e385333d90","kind":"result","prev":"62d5946c53e9c03c08714985ff5a8baf1de8761db56e4b87b52b65b2c80e3034","seq":24}
