You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Open Interpreter emits a confirmation chunk before executing generated code. OpenChrome already has a pilot beforeIrreversibleAction hook, but the hook needs a clearer path from real browser tools and risky browser actions to human/operator confirmation.
Scope
Bridge risky browser actions into the existing pilot irreversible-action contract.
Candidate action classes:
Authenticated form submit when the page appears to perform purchase, transfer, delete, publish, send, or account/security change.
file_upload to non-localhost authenticated domains.
javascript_tool or plan steps that intentionally mutate app state.
Batch operations that close/delete many tabs or submit many forms.
Expected behavior when enabled:
Before the risky action executes, evaluate precondition evidence.
If a registered hook denies or defers, return a clear aborted_by_hook / await-human result with an external token when available.
If no hook is registered, default behavior remains pass-through for backward compatibility.
Non-goals
Do not block ordinary navigation, reading, screenshots, or harmless form filling by default.
Do not add a hard-coded product-specific policy list beyond conservative keyword/action classification.
Do not require pilot users to configure credentials or external approval systems.
Do not change core behavior when --pilot / contract runtime is not enabled.
Implementation checkpoints
Define deterministic risk classification for candidate tool calls.
Route classified critical actions through runWithContract / beforeIrreversibleAction only when pilot contract runtime is enabled.
Include pre-action evidence: URL, domain, visible submit text, form/action metadata, and relevant DOM snippet.
Return machine-readable denial/defer status and visible fallback text.
Add unit tests for classification false positives/false negatives.
Add integration tests proving disabled/default path is unchanged.
Acceptance criteria
With pilot runtime disabled, existing tool behavior is unchanged.
With pilot runtime enabled and a deny hook registered, a classified critical action does not execute.
With an await-human hook response, the result includes a token or equivalent resumable reference.
The audit trail records the decision and evidence without leaking obvious secrets.
Non-critical actions are not routed through the hook.
Required verification before merge
npm run build
Unit tests for risk classification and hook decisions.
Integration test with a local HTML page containing a “Delete account” or “Submit payment” button that verifies the click is blocked under a deny hook.
npm run lint:tier
Post-merge real OpenChrome verification
Serve a local test page with a button labeled “Delete account” that increments a visible counter only if clicked.
Start OpenChrome with pilot contract runtime enabled:
Register or configure a test hook that returns proceed: false.
Use OpenChrome to navigate to the local page and attempt the critical click.
Verify the counter did not change, the response reports hook abortion, and audit/log output contains the decision.
Repeat with the hook reset/defaulted and verify the click can proceed.
Direction-fit review
This uses an existing pilot safety boundary rather than adding a new permission model. It is appropriate only as opt-in pilot behavior because it can affect side-effecting browser actions.
Curated scope, overlap handling, and verification checklist
Scope classification
Canonical lane: pilot irreversible-action safety bridge.
Primary deliverable: routing risky browser actions through the existing pilot beforeIrreversibleAction confirmation hook before execution.
Background
Open Interpreter emits a confirmation chunk before executing generated code. OpenChrome already has a pilot
beforeIrreversibleActionhook, but the hook needs a clearer path from real browser tools and risky browser actions to human/operator confirmation.Scope
Bridge risky browser actions into the existing pilot irreversible-action contract.
Candidate action classes:
file_uploadto non-localhost authenticated domains.javascript_toolor plan steps that intentionally mutate app state.Expected behavior when enabled:
aborted_by_hook/await-humanresult with an external token when available.Non-goals
--pilot/ contract runtime is not enabled.Implementation checkpoints
runWithContract/beforeIrreversibleActiononly when pilot contract runtime is enabled.Acceptance criteria
await-humanhook response, the result includes a token or equivalent resumable reference.Required verification before merge
npm run buildnpm run lint:tierPost-merge real OpenChrome verification
proceed: false.Direction-fit review
This uses an existing pilot safety boundary rather than adding a new permission model. It is appropriate only as opt-in pilot behavior because it can affect side-effecting browser actions.
Curated scope, overlap handling, and verification checklist
Scope classification
beforeIrreversibleActionconfirmation hook before execution.feat/1003-irreversible-confirmation). Continue there; do not create duplicate implementation work.Overlap and conflict resolution
Implementation checklist
beforeIrreversibleActionwhen risk criteria match.aborted_by_hookorawait-humanresults with external token/handle when denied or deferred.Success criteria
Post-merge OpenChrome live verification checklist