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