ReviewOS

also looking at this

stacks/drone

test: retain execution HTTP lifecycle evidence

#95
Closed chris wants to merge codex/http-fixture-observations into codex/vtol-wind-phase-cases
3 files +150 -58
docs/public-safety-execution.mdmodified+29-0
Changes to docs/public-safety-execution.md
@@ -116,3 +116,32 @@ EXECUTION_BROWSER_QA=true BROWSE_BROWSER=/path/to/google-chrome bun test tests/u
116116Native controller and HTTP checks separately cover authority replacement,
117117elapsed deadlines, stream capacity, cleanup and durable COMMIT with a withheld
118118response. The existing workspace browser scenarios remain required regressions.
119
120### HTTP fixture failure observations
121
122The native HTTP fixture records parent and child Bun identity separately, bounded
123phase timings and the actual settled exit code and signal. Parent and child
124elapsed times have separate local monotonic origins. The original 35,000 ms
125SIGKILL guard and 40,000 ms test limit remain unchanged.
126
127To collect a focused observation in an operator-controlled private directory:
128
129```sh
130EXECUTION_HTTP_EVIDENCE="$HOME/private-drone-http-evidence" bun test tests/unit/public-safety-execution-http-limits.test.ts --test-name-pattern 'native execution HTTP limits nativeRoutes=true'
131```
132
133Successful, fully captured fixtures are removed. A failed fixture or unavailable
134evidence write retains its directory, including available `fixture.stdout`,
135`fixture.stderr` and `lifecycle.json`. Failed fixture databases contain generated
136test credentials and remain private. Evidence write failures are reported without
137replacing the child's settled result.
138
139`watchdogFired` records that the parent's guard callback ran; `watchdogKill`
140records its SIGKILL request. `cleanupKill` records a separate cleanup request.
141The actual child signal and settled status are independent observations. Exit 137
142alone does not identify the kill actor. A missing child runtime record remains
143unknown, including when termination precedes entry-module evaluation.
144
145These observations support the [open HTTP timeout investigation](https://github.com/stacksjs/drone/issues/93).
146They do not establish its original cause or turn a later passing control into a
147fix for an earlier failed run.