fix(profile): stage stopped profile before fresh Agent verification - #184
fix(profile): stage stopped profile before fresh Agent verification#184git-ksk wants to merge 7 commits into
Conversation
f9f2fec to
8d292bb
Compare
|
Mac local Docker acceptance found and reproduced a profile-handoff race in the production-equivalent Linux/Chromium image. Observed before this fix:
Fix:
Mac Docker re-acceptance using the same production immutable image + only this compiled browser-session overlay:
Regression:
|
|
Mac local production-equivalent Docker acceptance narrowed the remaining failure to a post-Human readiness race rather than profile loss. Observed with the same Linux/Chromium image and a real Human Google sign-in:
This proves the real Google session/profile survived Human -> stopped profile -> fresh Agent in the local container. The completion verifier was treating an initial transient Fix: post-Human verification now performs a bounded 8s settle that succeeds only on observed Validation:
|
|
Acceptance bookkeeping: the latest two temporary local runs are excluded from candidate evidence. One locator expired at the configured 10-minute acceptance TTL; the following temporary harness reused fixed state/continue paths, allowing an older stale container to consume the Done signal. The resulting PR implementation/regression remains green. Next re-acceptance must isolate all temporary run-control paths per run before evaluating the bounded post-Human settle. |
|
Latest acceptance status after the bounded post-Human readiness settle work:
Validation:
Cloud Run acceptance candidate:
Remaining gate:
No account identity, credential/session material, Human input payload, or takeover locator is recorded in this issue. |
|
Implementation status after the durability review:
Validation on #183 branch:
Validation on combined #181/#183/#189 branch:
Next gate remains runtime acceptance, not a code-only claim: build a no-traffic Cloud Run candidate from |
Summary
prepareStoppedBrowserProfileForVerificationhooksigned_inand a stopped Agent browserThis mirrors the hosted-browser profile lifecycle pattern without adding a Steel/Browserbase runtime dependency.
Safety / ordering
Human revoke + normal browser close -> stopped-profile preparation -> fresh Agent verification -> stop Agent -> durable checkpoint -> resume.
No credential/account identity/cookie/token/raw Human input/browser content/takeover locator is added to logs or control-plane state. Preparation failure fails closed.
Validation
npm run check: 370 tests, 365 pass / 0 fail / 5 platform skipsnpm run buildcd reference/oauth-gateway && npm test: 42/42 passsigned_ingit diff --checkAcceptance remaining
maps_complete_human_sign_insucceeds with post-Human settlesigned_insigned_inRefs #135