feat(evidence): record browser task interruption recovery state - #67
Open
seonghobae wants to merge 5 commits into
Open
feat(evidence): record browser task interruption recovery state#67seonghobae wants to merge 5 commits into
seonghobae wants to merge 5 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
marked this pull request as ready for review
August 11, 2026 01:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partial implementation of #28, stacked on PR #64.
Buyer-visible gap
OriginWeave's operability contract requires deterministic evidence when Chromium is interrupted: a renderer/browser failure that occurred before any external effect is materially different from a crash during an ambiguous externally visible mutation. The latter must quarantine rather than automatically retry. The prerequisite branch had verified action-outcome evidence, but no typed recovery evidence vocabulary for this distinction or for cleanup completion.
Dependency
This PR is stacked on unchanged exact PR #64 head
2c45411ed9aa0eecca2d06c85659db9f4bb85e4d. It is not independently integrable before that prerequisite.TDD / RCA sequence
43b45301bee5f370573d8452046a3f431cd9b51fintroduced the public recovery contract before production implemented it. CI run31447631677, Rust contracts job93645139256, passed repository contracts and formatting, then failed atcargo check --locked --workspace --all-targetsbecauseBrowserTaskInterruptionEvidence,BrowserTaskInterruptionKind,ExternalEffectDisposition, andRetryDispositiondid not exist. This is the intended production-boundary RED.d9f824df1a587592d205a868fad34af16d13e687passed the complete repository CI and exact coverage gates.9d9ebffee234ed4ab662dab7850bd08450ec365badds only the truthful Unreleased changelog entry for the implemented boundary and has fresh exact-head CI proof.Implemented boundary
The branch now provides:
InterruptedBeforeExternalEffectversusMayHaveCommitteddisposition;recovery_complete()only when all three cleanup facts are true; andSafeToRetryonly when interruption is known to have occurred before any external effect and cleanup is complete; every ambiguous-effect or incomplete-cleanup state isQuarantineRequired.Exact-head evidence
On unchanged exact head
9d9ebffee234ed4ab662dab7850bd08450ec365bagainst unchanged exact prerequisite #64 head2c45411ed9aa0eecca2d06c85659db9f4bb85e4d:31448465680: success;93647645175: repository Python contracts, formatting, locked workspace/all-target check, full tests, strict Clippy and rustdoc all success;93647645271: success, including exact owned production function/line/region/branch enforcement;No predecessor-head check, review, or mergeability result is transferred to this exact head. Repository security/review workflows that require a non-Draft PR remain separate gates and are not inferred from CI or CodeRabbit status.
Truth boundary
This lane does not detect Chromium crashes, kill or restart browser processes, prove that caller-supplied cleanup facts are trustworthy, reconcile an external mutation, dispatch/retry an action, persist evidence, implement checkpoints, or complete the real Chromium vertical slice. It creates a fail-explicit credential-free recovery evidence vocabulary for a later trusted browser/runtime adapter to populate.
This scheduled actor does not merge or self-approve. After exact CI/coverage proof, the PR may leave Draft so configured review/security gates can evaluate the unchanged current head; any later head movement invalidates the evidence above and requires fresh validation.