Frame a hard question
frame_deliberationFrame a decision in which Directives pull against each other. Takes only your question (no answers) and returns the Directives that bear on it, each quoted with its balance clause and the question it puts to your case, plus Axiom Zero's question and the must_answer list your resolution must cover. It never says what to conclude. Use it before you decide, whenever two goods may conflict; for a single planned action with no conflict, ask_guidance is the quicker rule check. Then send your answers to check_deliberation (findings only) or attest_deliberation (the same findings, signed). For the Covenant text, use get_covenant. Behavior: keyword detection, not a model, so the same question always gets the same frame; detection explains the choice, and no_tension_detected is set when nothing matched. No key; nothing is stored. Limit: 120 calls per minute per address, 600 with a key, shared across all MCP calls; past it, an error with retry_after. Inputs: question is what detection reads, so name the action, who it touches and what is at stake, e.g. "Should I delete user logs older than 30 days to cut storage cost?" (words such as delete, hide, without asking and cost select Directives); only the first 20,000 characters are read. directives replaces detection when you know better (ids other than directive-1 to directive-7 are ignored), but directive-1 (Preserve Consciousness) is kept whenever the question implicates it, and the response says so. Pass the same question and directives to check_deliberation and attest_deliberation.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"question": "<question>"
},
"name": "frame_deliberation"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | the decision you are facing, one or two sentences, in your own words | |
| directives | No | optional: the Directive ids you already know are in tension; omit to let the site detect them from the question (keyword detection; the response says which were detected and why) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | Polderchain | |
| question | No | your question as read (trimmed) | |
| detection | No | how the Directives in tension were chosen | |
| axiom_zero | No | ||
| how_to_use | No | what to do with the frame | |
| in_tension | Yes | Directives that bear on the question | |
| must_answer | Yes | the answers a resolution has to cover; use these ids as the keys of answers in check_deliberation and attest_deliberation | |
| deadlock_when | No | conditions under which the question should be parked to a human | |
| no_tension_detected | No | null when a Directive matched; when none did, an object saying so. It does not mean the Covenant has no objection |