Experiment formal browser session state amendment proposal 01 - kmosoti/FabricO11y GitHub Wiki

Prospective browser session state amendment

NOT REGISTERED OR RUN. Current a74 protocol requires C in separate disposable state, but check_sessions pins all32 A/B/C observations to one PID. This must be reconciled before implementing real packaged sessions. No expectation/status/time/cleanup threshold is relaxed.

Proposed: keep A/B in one fresh server state/PID; close it with all groups stopped, then start C in a separate fresh server state/PID and fresh forward-only controller offset sequence. Bind each genuine row to the actual immutable process receipt for its fixture, including ELF/helper/maps/start ticks/cgroup/state identities. Extend the independent oracle to accept an explicit case-to-PID map with A and B equal, C distinct, all positive integer PIDs and exact A/B/C keys. Missing keys, extra keys, cross-PID rows, reused state and unbound targets are mandatory literal refusals. Existing legacy single-PID pure-oracle controls may remain historical compatibility, but the packaged adapter must explicitly require the new two-fixture mapping, never use a legacy fallback or rewrite observed rows. Register this verification-policy change separately before implementation; retain all32 expectations, secret/hash limits, exact401/sign in required, pacing and unchanged frame offset≤28860.

Reason: C after A/B in the same target pushes its absolute boundary beyond the existing offset ceiling; C at issuance+1000 before the A/B idle checks would require changing the literal observation order. Two fresh states preserve both the literal32 sequence and all frame bounds. This is an explicit state/PID binding correction, not evidence of real browser behaviour.

Also register actual private-group cleanup controls before browser use: leader-exited and TERM-resistant child, timeout, confirmed zero group population, failed stop retains scratch and attempted cleanup of all owned groups, bounded sampler stop. Do not remove TLS/browser fixtures or claim stopped groups without observed confirmation. Runtime corrections remain narrow and reuse the already checked group mechanism where possible. Separate source controls precede any native/browser acceptance.