04 · Workflows
Hand it the drawn-out work. Keep the judgment.
The detail of a lawsuit eats the week: chasing a production, asking the client the one question that unblocks a filing, checking what moved. BRON carries that work and stops at the next consequential decision.
Reconcile the missing production against the held record
runs on the recordPrepare a client evidence request
client gateReturn the unresolved call
lawyer gateApproval binds this exact revision, for ten minutes, to you.
The question in the room
“If I let it run, where exactly does it stop?”
How it works
The mechanism, not the promise.
A proposal that cannot act
Planning freezes the accessible matter snapshot and writes a proposal draft. It never approves a plan, stages a run, executes a tool, or produces an external effect.
A token bound to the exact act
Approval mints a random token with a ten-minute life, stored only as its hash. It is bound to the action, the matter, the user and the exact arguments, and it is spent by a single conditional update, so two concurrent approvals resolve to one winner and any database error fails the confirm closed.
A card that is a receipt, not a preview
The confirmation card carries ids, versions, digests and counts. Never document text, never client-facing copy, never a recipient's address.
One gate stack behind every surface
ShippedThe board, the brief and the assistant run the same gate stack rather than three that drift apart.
backend/src/routes/surfaceActions.ts
A floor no policy can lower
ShippedSome actions are always confirmed, and no autonomy setting can lower that floor.
backend/src/lib/chat/toolRegistry.ts
One triage brain
ShippedThe board, the daily brief and the email read the same triage rather than each ranking the day its own way.
backend/src/lib/proactive/triage.ts
Autonomy promoted on evidence, failing closed
ShippedA capability is promoted only by an evaluation run carrying the decision fields, and a missing field fails the gate.
backend/src/lib/agent/promotionGate.ts
Refusals
What it will not do, and why.
- Treat a detector that crashed as a detector that found nothing.
- The pass that closes stale items runs only when every detector succeeded. A detector that threw contributes no candidates, and absence because it threw means unknown. Missing a cycle of auto-close is free. Missing a deadline is not.
- Re-raise something you dismissed.
- A dismissed item is left alone, and an item a person resolved is left alone. Only an item the system itself auto-closed can reopen.
- Auto-wipe a proposal to move a calendared date.
- Deadline drift is deliberately outside the set the reconcile pass may close, so one scan that failed to re-derive a date cannot erase the proposal to move it.
- Let a surface smuggle an override through.
- The action route strips every override flag at the boundary, and when one was present it says so in the confirmation summary rather than dropping it quietly.
- Let an unaccepted task look like finished work.
- A delegated task must be accepted before it can be resolved, dismissed or handed back, and a decline returns it to the owner without ever reading as a resolution.
One record
Nothing here stands on its own.
What feeds it
- The matter brain
- Discovery findings
- Deadlines and obligations
What it feeds
- Client requests
- Drafting
- The daily board
- The audit trail
Limits
What this does not establish.
- Blocking while a conflict is flagged is a smaller, deliberate list than the confirm list. Logging time already spent is not a binding act; issuing a litigation hold must never be blocked by a flagged conflict.
- No agent capability has been promoted on evidence, because no evaluation run yet carries the required fields.
Check the work before you believe it.
Run a sample manifest in your own browser, or read where publication refuses for want of evidence.