Decision Posture
Decision posture is BMO’s way of making uncertainty visible before it turns into action. When the situation is ambiguous, BMO can expose the bounded reasoning shape behind the next move: whether it can act now, should ask, should run a cheap lookup, or should avoid an unsafe step.
The practical benefit is simple: less decision fog at the moment an agent might make a costly mistake.
When to use it
Section titled “When to use it”Use decision posture when you want to understand why BMO is slowing down, asking for clarification, inspecting another surface, or avoiding an irreversible action.
Good moments to check it:
- Before a broad edit, destructive shell command, external API call, or deploy.
- When BMO asks a question and you want to know what evidence is missing.
- When a run feels over-cautious or too willing to proceed.
- During handoff, when the next session needs to preserve why a previous run chose its posture.
Inspect it in the TUI
Section titled “Inspect it in the TUI”Open the inspector with:
/epistemic-controlThe underscore alias also works:
/epistemic_controlThe inspector renders the portable decision fields first, then local supporting detail. That keeps the cross-surface contract small while still giving the operator enough context to debug the next move.
When BMO is already waiting on you, the same posture can appear inline on
operator prompt surfaces. Permission prompts, MCP elicitations, and agent
clarifications may show a compact Decision Posture line with the action
class, primary reason, and safe remaining capability. That line is explanatory:
approval, denial, and answer controls stay governed by the normal prompt and
tool-policy paths.
How to read the fields
Section titled “How to read the fields”| Field | Meaning |
|---|---|
action_class | The current posture, such as act now, ask, or run a bounded lookup. |
primary_reason | The main reason behind that posture. |
next_surfaces | The smallest useful surfaces to inspect next. |
reason_codes | Bounded durable reasons that can survive handoff or continuity. |
safe_remaining_capability | What BMO can still safely do without widening authority. |
decision_hints | Optional operator-provided projection of the scenario. |
Think of these as a compact runtime state, not a transcript of hidden chain of thought. The posture tells you what kind of decision BMO thinks it is facing and which bounded next step would reduce uncertainty.
Project a scenario with hints
Section titled “Project a scenario with hints”You can pass hints to model the situation you believe BMO is in:
/epistemic-control external_irreversible cheap_lookup_available lookup_action=session_observabilityEquivalent keyed form:
/epistemic-control effect_surface=external_irreversible evidence_state=cheap_lookup_available lookup_action=session_observabilityHints do not grant permission or force an action. They let the inspector project the posture for a scenario, such as “this action affects the outside world” or “there is a cheap lookup available before deciding.”
Continuity and handoff
Section titled “Continuity and handoff”Session continuity capsules keep the durable part of the posture:
- Portable core:
action_class,primary_reason,next_surfaces - Durable supplement:
reason_codes,safe_remaining_capability
That means a resumed session can preserve the reason BMO chose a posture without carrying the full local evidence view or pretending to preserve private model reasoning.
Generated handoff prompts include the same bounded posture summary when no custom recommended prompt is supplied. They carry action, reason codes, safe remaining capability, and next surfaces; they do not carry proof details, warnings, operator hints, raw prompt text, tool arguments, or private deliberation.
Other surfaces
Section titled “Other surfaces”Decision posture is exposed through the same product family as the TUI inspector:
| Surface | Use |
|---|---|
/epistemic-control | TUI operator inspection for the active session. |
GET /v1/sessions/{id}/epistemic-control | HTTP read for session-scoped integrations. |
epistemic_control | Native agent read surface for the same posture. |
bmo_get_epistemic_control | MCP twin when the MCP service exposes the family. |
| Session continuity capsules | Durable handoff summary. |
| Run annotations | Bounded epistemic_control.posture breadcrumb when a non-default posture reaches prompt assembly. |
What it is not
Section titled “What it is not”Decision posture does not bypass approval gates, widen tool policy, or make BMO more autonomous by itself. It is read-only explanation and bounded projection.
It also is not full chain-of-thought. BMO exposes the operational posture and safe next surfaces, not private deliberation.

