Summary
Missing-port browser failures currently retain exit/probe counts but cannot distinguish a stalled native process, launcher/descendant failure, changed executable or shared resource pressure. Adds startup-only PID/Linux process/resource observations and pins actual executable descriptors for hashing after discovery. The original Chrome arguments, inherited group and 400-read/50 ms discovery guard stay intact.
existing discovery loop -> one owned startup observation
-> discovery end -> settle actual work -> hash/close pinned identities
-> original CDP/page scenario, or original startup failure and cleanupA cooperative timeout cancels further Linux reads/hashing without abandoning an active task. Finalization cannot allow a page behind unfinished work; the existing outer fixture guard governs nonsettling native calls. Reports exclude argv/environment/comm/stack dumps and post-page stderr. A successful CDP response supplies a bounded Chrome version; missing-port failure retains null rather than inventing one.
Refs #72 and #64. This is evidence infrastructure, not a proven Chrome root-cause fix. Built on pending #98/#99 runtime/intake source; configured cargo #97 is already on main. Neither browser issue nor fleet handover is closed.
Evidence
- Before: actual native launch had no process observation. A held OS-adapter promise also reproduced two overlapping samples after the old timeout race. After: the observer owns the actual promise until settlement, blocks later samples/hash on cancellation and preserves final state.
- Final local focused campaign: 6 passed, 1 Linux-only case skipped, zero failed, 65 assertions across three files. Actual exited and live parent/child fixtures retain all 400 probes, verify shutdown and protect argv/environment sentinels. The exact-head early Linux native-fixture gate has now passed, including actual field/hash and descriptor-closure assertions; original allowlisted artifact retained once.
- Genuine rendered execution scenario plus guard: 2 passed, zero failed, 6 assertions. Native routes and an actual Worker completed; observed Chrome/156.0.8078.47 from CDP. Post-page stderr was withheld and owned cleanup completed. An earlier development workspace attempt reproduced #64's later exit0/renewal failure and remains retained; it is not replaced by this passing execution scenario.
- Native Buddy Pickier lint, app/runtime types and docs build passed. Generated docs: 97 pages, 7,406 local links and 97 assets, no missing targets.
- Independent Spec/Standards reviews passed on all ten changed files after the ownership correction, with source hashes unchanged through qualification and commit. Both actual rendered Linux browser jobs and the early native-fixture gate have passed in run 40083774805. Full workflow CI is still running. The workspace control captured actual Chrome/155.0.8059.39 and backing SHA-256
9bfb381296dffe75f3419d07b6cc64525105ed117d1453a4ef3b291cb97d2b58; the execution control explicitly reports its Chrome digest unavailable after the hash budget. Those records are retained separately and neither explains an earlier failure. Full local suite was withheld below the retained 4 GB disk-space floor.
Merge Danger
Door: two-way. No data migration, vehicle protocol, physical actuator endpoint or new dependency.
Blast Radius: qualification. Both rendered browser jobs use this helper. Process reads and post-discovery hashes add bounded cooperative work and can perturb scheduling; timeouts, permission failures, limits and incomplete descendant scope are explicit. Native operations are not given a fictitious hard cancellation guarantee. Linux evidence is required before main publication. No passing control explains an earlier failed startup or renewal.
Full workflow and publication checkpoint
Exact-source CI 40083774805 passed all five jobs. Native results: 2,101 passed, 41 skipped, zero failed and 507,073 assertions across 237 files, plus 13 Python bridge tests and all 31 copied cargo cases. All copied cargo report hashes match the qualified Linux intake release. The original workflow ZIP and each of the native/workspace/execution/cargo artifacts were retained once. The ten reviewed source hashes stayed unchanged. Source f9b2917 was published to origin/main as Chris, without coauthors and by normal fast-forward. The Linux workspace control captured a Chrome executable digest; the execution control retained a null Chrome hash after its actual 2 s budget abort. Do not substitute one control's binary identity for the other. This successful observed workflow does not reconstruct or explain the original failed startup. Issues #72 and #64 remain open for causal diagnosis.