open_decision()
KeyCreates a decision, pins its as_of, assembles and pins the context pack, and sets the risk level (the server may raise it by policy). From this moment, everything the decision sees is reconstructible — the pack is frozen, not re-fetched.
open_decision(question, risk_level, as_of)→ DECISION + PINNED PACKCallable over MCP as open_decision(question, risk_level, as_of). REST mirror POST /v1/decisions Planned — alpha is MCP-only
The moment a real question lands, the agent opens a decision — and the substrate pins everything: the as_of, the context pack, the risk level. From here on, what the decision knew is frozen and reconstructible. Decisions made outside this frame can't be audited; decisions made inside it can't be retconned.
Over MCP, your agent invokes it on its own when the moment calls for it — just describe the situation. A Python SDK for headless runtimes is planned; this is what the call will look like.
| Param | Type | Description |
|---|---|---|
| questionREQUIRED | string | The decision question, plainly stated. |
| risk_level | enum | low · medium · high. Server may raise it by policy. |
| as_of | timestamp | Pin knowledge to this moment. Default now. |

