{ "recordedUtc": "2026-09-22T10:21:30.811Z", "host": { "platform": "linux", "release": "6.18.39+rpt-rpi-2712", "arch": "arm64", "node": "v24.20.0" }, "scope": "Declared Zig type layouts and actual Wasm memory capacity; excludes JS/DOM/renderer, code pages and RSS. No latency or throughput measurement.", "imports": [], "storage": { "layoutBytes": { "rules": 16, "state": 68, "decision": 24, "history": 264, "engine": 372, "graph": 24, "logicalTotal": 396 }, "wasmLinearMemoryBytes": 65536, "note": "Type-layout sizes; constant graph may be compiled into code. Not browser heap or RSS." }, "trace": [ { "command": "jump", "state": { "tick": 0, "y": 0, "vy": 1000, "distance": 0, "obstacleX": 800, "passed": 0, "hits": 0, "jumpsUsed": 1, "running": 0, "revision": 0, "lastReason": 1, "lastSource": 2, "totalInputs": 1, "acceptedJumps": 1, "mode": 0, "impulse": 10, "enabled": 1, "grounded": 0, "obstacleHeight": 48 }, "decision": { "tick": 0, "revision": 0, "y": 0, "jumps": 0, "nodes": [ 1, 1, 1, 1, 1, 1 ] }, "history": [ { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] }, { "command": "step 8", "state": { "tick": 8, "y": 6020, "vy": 560, "distance": 32, "obstacleX": 768, "passed": 0, "hits": 0, "jumpsUsed": 1, "running": 0, "revision": 0, "lastReason": 1, "lastSource": 2, "totalInputs": 1, "acceptedJumps": 1, "mode": 0, "impulse": 10, "enabled": 1, "grounded": 0, "obstacleHeight": 48 }, "decision": { "tick": 0, "revision": 0, "y": 0, "jumps": 0, "nodes": [ 1, 1, 1, 1, 1, 1 ] }, "history": [ { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] }, { "command": "jump", "state": { "tick": 8, "y": 6020, "vy": 560, "distance": 32, "obstacleX": 768, "passed": 0, "hits": 0, "jumpsUsed": 1, "running": 0, "revision": 0, "lastReason": 3, "lastSource": 2, "totalInputs": 2, "acceptedJumps": 1, "mode": 0, "impulse": 10, "enabled": 1, "grounded": 0, "obstacleHeight": 48 }, "decision": { "tick": 8, "revision": 0, "y": 6020, "jumps": 1, "nodes": [ 1, 1, 0, 1, 0, 0 ] }, "history": [ { "tick": 8, "kind": 2, "detail": 3, "revision": 0 }, { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] }, { "command": "rules double 12 on", "state": { "tick": 8, "y": 6020, "vy": 560, "distance": 32, "obstacleX": 768, "passed": 0, "hits": 0, "jumpsUsed": 1, "running": 0, "revision": 1, "lastReason": 3, "lastSource": 2, "totalInputs": 2, "acceptedJumps": 1, "mode": 1, "impulse": 12, "enabled": 1, "grounded": 0, "obstacleHeight": 48 }, "decision": { "tick": 8, "revision": 0, "y": 6020, "jumps": 1, "nodes": [ 1, 1, 0, 1, 0, 0 ] }, "history": [ { "tick": 8, "kind": 3, "detail": 1, "revision": 1 }, { "tick": 8, "kind": 2, "detail": 3, "revision": 0 }, { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] }, { "command": "jump", "state": { "tick": 8, "y": 6020, "vy": 1200, "distance": 32, "obstacleX": 768, "passed": 0, "hits": 0, "jumpsUsed": 2, "running": 0, "revision": 1, "lastReason": 1, "lastSource": 2, "totalInputs": 3, "acceptedJumps": 2, "mode": 1, "impulse": 12, "enabled": 1, "grounded": 0, "obstacleHeight": 48 }, "decision": { "tick": 8, "revision": 1, "y": 6020, "jumps": 1, "nodes": [ 1, 1, 0, 1, 1, 1 ] }, "history": [ { "tick": 8, "kind": 1, "detail": 2, "revision": 1 }, { "tick": 8, "kind": 3, "detail": 1, "revision": 1 }, { "tick": 8, "kind": 2, "detail": 3, "revision": 0 }, { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] }, { "command": "step 60", "state": { "tick": 68, "y": 0, "vy": 0, "distance": 272, "obstacleX": 528, "passed": 0, "hits": 0, "jumpsUsed": 0, "running": 0, "revision": 1, "lastReason": 1, "lastSource": 2, "totalInputs": 3, "acceptedJumps": 2, "mode": 1, "impulse": 12, "enabled": 1, "grounded": 1, "obstacleHeight": 48 }, "decision": { "tick": 8, "revision": 1, "y": 6020, "jumps": 1, "nodes": [ 1, 1, 0, 1, 1, 1 ] }, "history": [ { "tick": 56, "kind": 4, "detail": 0, "revision": 1 }, { "tick": 8, "kind": 1, "detail": 2, "revision": 1 }, { "tick": 8, "kind": 3, "detail": 1, "revision": 1 }, { "tick": 8, "kind": 2, "detail": 3, "revision": 0 }, { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] } ], "finalState": { "state": { "tick": 68, "y": 0, "vy": 0, "distance": 272, "obstacleX": 528, "passed": 0, "hits": 0, "jumpsUsed": 0, "running": 0, "revision": 1, "lastReason": 1, "lastSource": 2, "totalInputs": 3, "acceptedJumps": 2, "mode": 1, "impulse": 12, "enabled": 1, "grounded": 1, "obstacleHeight": 48 }, "decision": { "tick": 8, "revision": 1, "y": 6020, "jumps": 1, "nodes": [ 1, 1, 0, 1, 1, 1 ] }, "history": [ { "tick": 56, "kind": 4, "detail": 0, "revision": 1 }, { "tick": 8, "kind": 1, "detail": 2, "revision": 1 }, { "tick": 8, "kind": 3, "detail": 1, "revision": 1 }, { "tick": 8, "kind": 2, "detail": 3, "revision": 0 }, { "tick": 0, "kind": 1, "detail": 2, "revision": 0 } ] }, "build": { "built_utc": "2026-09-22T10:01:20.063882+00:00", "zig_version": "0.15.2", "flags": [ "-target", "wasm32-freestanding", "-O", "ReleaseSafe", "-fno-entry", "-rdynamic", "--export-memory", "--stack", "16384", "--initial-memory=65536", "--max-memory=65536" ], "source_sha256": "d9fdba86e700605b053586d95ccdfb47cbe87070717182fb1c2ab7b45221ad2b", "wasm_sha256": "ea0789dcbb0cc2d6a17e049f4568374d242b44dafe7f996673538f3bd6dafed5", "wasm_file_bytes": 32544, "native_test_output": "1/11 core.test.edits preserve complete simulation state and latest observation...OK\n2/11 core.test.invalid edits and oversized advance are atomic...OK\n3/11 core.test.pause, step, and ground-only jump handle input before integration...OK\n4/11 core.test.double jump, disable, mode changes, and impulse apply at input boundaries...OK\n5/11 core.test.all input sources share transition behavior and retain provenance...OK\n6/11 core.test.fixed history overwrites oldest entry and handles invalid access...OK\n7/11 core.test.decision is pre-input state and remains at its original revision...OK\n8/11 core.test.graph truth table agrees with a direct permission predicate...OK\n9/11 core.test.replay includes respawns and produces identical complete engine state...OK\n10/11 core.test.collisions do not reset progress and each obstacle is counted once...OK\n11/11 core.test.counters wrap explicitly and memory accounting has no overlapping total...OK\nAll 11 tests passed.\n" }, "files": { "core.zig": { "bytes": 17914, "sha256": "d9fdba86e700605b053586d95ccdfb47cbe87070717182fb1c2ab7b45221ad2b" }, "web/core.wasm": { "bytes": 32544, "sha256": "ea0789dcbb0cc2d6a17e049f4568374d242b44dafe7f996673538f3bd6dafed5" }, "runtime.mjs": { "bytes": 3939, "sha256": "9d01626245d1e0c6261a28a9ecacb04c56c67dfcb901958526d3ccb234bef159" }, "cli.mjs": { "bytes": 2998, "sha256": "6b39eebef35b5c19db01dee4d254ad667e42a5633c840b29d84607f37e98ef8f" }, "adapter.test.mjs": { "bytes": 3701, "sha256": "6f81dc74cd2e2b38390e7bcca4c4757e8a50b58ef65194eab871192c4e86cf66" }, "measure.mjs": { "bytes": 2810, "sha256": "4125f3e98d3d941bd1a61c389a91d3a1e0cd7e1bc14c6fedd87094ae6f0948dd" }, "manage.py": { "bytes": 3559, "sha256": "d9f1b13e635e15dff526a2f082144570e13bc18e73d9d85da1c1804de82a3e32" }, "qa-browser.js": { "bytes": 7554, "sha256": "50d4293d41d5aa63b404c3e22fdc1349008765365fac8cdafe01dfdf858893da" }, "web/app.js": { "bytes": 14358, "sha256": "b3dcd10fa4e4ab56dff200e9238c640e6dbea5fa7b624328d7d421ee8744e778" }, "web/index.html": { "bytes": 13396, "sha256": "28630577d3faa81b61fec95723d421e1cac9a576452d909342cfd054d3dea385" }, "web/style.css": { "bytes": 16606, "sha256": "b399be728d8f2bfb1964903e11e69a9bccbc83c9d90ecfd6783110c7a0702923" } }, "adapterTests": { "command": "node prototypes/live-rules/adapter.test.mjs", "exitCode": 0, "output": "✔ the actual Wasm preserves airborne state through a rule change, then permits the second jump (9.168858ms)\n✔ bad CLI edits and malformed numeric input cannot silently coerce into a different rule (1.968798ms)\n✔ keyboard, pointer and terminal requests give the same simulation result (2.355835ms)\n✔ paused input has an inspectable decision; advance cannot move paused state (2.338743ms)\n✔ bounded history and fixed linear memory survive repeated play and edits (4.602115ms)\n✔ replaying the same CLI operations produces identical snapshots and journal (3.481058ms)\nℹ tests 6\nℹ suites 0\nℹ pass 6\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 32.277966\n" } }