REPOSITORY SOURCE

simulation-watchdog-acceptance.json

docs/evidence/simulation-watchdog-acceptance.json

1{
2  "date": "2026-10-25",
3  "branch": "codex/engine-foundations",
4  "approximateFullPlanCompletePercent": 56,
5  "scope": [
6    "Main-thread liveness probes independent of rendering and frame acknowledgements",
7    "Five-second outstanding-probe deadline with hidden-tab suspension and observer-resume grace",
8    "Terminal failures terminate simulation and fence queued deliveries",
9    "Manual retry preserves lightweight local progress and rejoins the shared session"
10  ],
11  "verification": {
12    "headless": {
13      "passed": 547,
14      "failed": 0,
15      "evidence": "simulation-watchdog-full.tap"
16    },
17    "focusedHeadless": {
18      "passed": 12,
19      "includes": "6 watchdog cases and 6 renderer-recovery cases, included in the full suite"
20    },
21    "watchdogBrowser": {
22      "passed": 3,
23      "failed": 0,
24      "evidence": "simulation-watchdog-browser-tests.json"
25    },
26    "graphicsBrowser": {
27      "passed": 3,
28      "failed": 0,
29      "evidence": "simulation-watchdog-graphics-tests.json"
30    },
31    "staticChecks": "TypeScript and import boundaries passed (108 package source files)",
32    "build": "Browser harness built isolated production client and engine bundles",
33    "visual": "simulation-watchdog-stopped.png reviewed at 960 \u00d7 640"
34  },
35  "testDevelopmentNotes": [
36    "The initial injected infinite loop used DevTools Runtime.evaluate; the error UI appeared and terminate was called, but the inspector worker target remained attached. Injecting a normal worker message task instead verified actual worker termination. No production deadline was relaxed.",
37    "The stronger seeded-progress assertion initially compared a pre-acknowledgement pause save against the accepted paused position (2 cm of gravity settling). It now waits for the simulation pause acknowledgement; final assertions require exact position, inventory, flags and doors."
38  ],
39  "limits": [
40    "Restoration uses existing lightweight saves and a manual reload; exact native checkpoint restart remains open.",
41    "Monitoring starts after simulation initialization and cannot interrupt a blocked main thread.",
42    "Asynchronous job deadlines, behavior budgets, interrupted shared-edit recovery and third-party isolation remain open.",
43    "Software-rendered Chromium acceptance is not physical-device or multi-machine certification.",
44    "No complete roadmap milestone is closed."
45  ]
46}
47