Independent build · Local browser control plane

Browser work with an effect ledger—not a free-roaming automation script.

Typed GitHub tasks pass schema, policy, STOP, write-cap, and recovery gates before reaching either an attended handoff or a deliberately restricted local browser.

Status
Local integration complete
Role
System design, Node.js, safety boundaries
Boundary
External targets remain attended/manual
Browser Bridge architecture showing a GitHub task, schema and policy gates, durable effect coordination, attended and loopback browser lanes, audit events, and ambiguous-effect review
The same durable effect owner surrounds both execution lanes; an uncertain result stops instead of retrying.

Problem

A task is not permission.

Duplicate, redirected, or uncertain tasks need explicit limits.

Build

Policy and effects became separate gates.

Typed tasks, STOP checks, write caps, and a durable ledger surround two narrow executors.

Result

Local execution stays bounded.

Real sites stay attended. Automated work is limited to exact-origin loopback fixtures.

Before / after

Record intent before any browser effect.

Broken
result = await browser.run(issue.body)
mark_done(result)
Fixed
task = validate_and_hash(issue)
mode = policy.decide(task, write_caps)
await ledger.append(effect_intent(task))
result = await executors[mode].run(task)
if result.ambiguous: stop_for_review()

Evidence

The proof is behavioral, not a test-count trophy.

Stack and capabilities

A short-lived worker with explicit recovery state.

Next

See another system.

Back to projectsContact Niyam