REPOSITORY SOURCE

trusted-behaviors-acceptance.json

docs/evidence/trusted-behaviors-acceptance.json

1{
2  "capability": "Trusted behavior transactions integrated into Simulation",
3  "headless": {
4    "passed": 572,
5    "failed": 0,
6    "command": "node --import tsx --test --test-concurrency=4 tests/*.test.ts",
7    "evidence": "trusted-behaviors-headless.tap"
8  },
9  "new_cases": {
10    "runtime": 14,
11    "simulation": 6
12  },
13  "checks": [
14    "TypeScript and package boundaries (109 source files)",
15    "Native schema/configuration migration",
16    "Existing profile-7 replay and legacy checkpoint migration fixtures unchanged"
17  ],
18  "initial_headless_failure": {
19    "test": "the player runtime uses the declared schedule and exposes bounded per-system timing",
20    "cause": "An optional behavior system appeared in the default schedule without a program.",
21    "correction": "Install the behavior phase system only when a trusted program is supplied.",
22    "final_status": "Full suite passed after correction."
23  },
24  "browser_before_final_followup": {
25    "cases": [
26      {
27        "title": "native recovery restores airborne physics and releases held input without reloading (worker)",
28        "status": "expected",
29        "results": [
30          {
31            "status": "passed",
32            "duration": 17780
33          }
34        ]
35      },
36      {
37        "title": "native recovery restores airborne physics and releases held input without reloading (main)",
38        "status": "expected",
39        "results": [
40          {
41            "status": "passed",
42            "duration": 14258
43          }
44        ]
45      },
46      {
47        "title": "shared recovery preserves identity and accepts authoritative progress made while reconnecting",
48        "status": "expected",
49        "results": [
50          {
51            "status": "passed",
52            "duration": 21171
53          }
54        ]
55      }
56    ],
57    "stats": {
58      "startTime": "2026-10-25T11:07:31.596Z",
59      "duration": 56145.191,
60      "expected": 3,
61      "skipped": 0,
62      "unexpected": 0,
63      "flaky": 0
64    }
65  },
66  "airborne_fixture_failure": {
67    "test": "native recovery restores airborne physics and releases held input without reloading (worker)",
68    "phase": "Before recovery, arranging the airborne checkpoint",
69    "observed_frame": {
70      "tick": "150",
71      "vertical_velocity": 2.400000000000001,
72      "driver_call_duration_ms": 229.9
73    },
74    "captured_checkpoint": {
75      "tick": "154",
76      "vertical_velocity": 6.661338147750939e-16
77    },
78    "cause": "The rising-state observation returned after the worker advanced to the apex, so releasing the capture through a second driver round trip missed the upward velocity assertion.",
79    "correction": "A test-only worker hook dispatches the original held checkpoint request synchronously at the first published rising frame. Native checkpoint capture, held-input assertion, production behavior and deadlines remain intact."
80  },
81  "limits": [
82    "No player/editor behavior controls yet",
83    "No shared behavior admission or replication yet",
84    "Native behavior recovery requires the supplied trusted program; default player worker does not load it yet",
85    "Lightweight player saves do not persist behavior state",
86    "Trusted JavaScript is not a hostile-code sandbox; CPU interruption still needs the external worker watchdog",
87    "Async jobs, automatic event routing and complete lifecycle host wiring remain open"
88  ],
89  "final_browser": {
90    "cases": [
91      {
92        "title": "native recovery restores airborne physics and releases held input without reloading (worker)",
93        "status": "expected",
94        "results": [
95          {
96            "status": "passed",
97            "duration": 15472
98          }
99        ]
100      },
101      {
102        "title": "native recovery restores airborne physics and releases held input without reloading (main)",
103        "status": "expected",
104        "results": [
105          {
106            "status": "passed",
107            "duration": 13809
108          }
109        ]
110      },
111      {
112        "title": "shared recovery preserves identity and accepts authoritative progress made while reconnecting",
113        "status": "expected",
114        "results": [
115          {
116            "status": "passed",
117            "duration": 22472
118          }
119        ]
120      }
121    ],
122    "stats": {
123      "startTime": "2026-10-25T11:10:53.490Z",
124      "duration": 54802.234,
125      "expected": 3,
126      "skipped": 0,
127      "unexpected": 0,
128      "flaky": 0
129    },
130    "command": "CI=1 PLAYWRIGHT_EXECUTABLE_PATH=/tmp/dw-browser-test/chrome-linux/headless_shell node node_modules/@playwright/test/cli.js test tests/browser/simulation-recovery.spec.ts --grep 'airborne physics|shared recovery preserves'"
131  },
132  "verification_order": "Final full headless suite after all production-source corrections; final browser scenarios and type/import checks after the test-only airborne capture correction."
133}
134