create_question
Register a frozen question version in the durable journal.
Contract
Requires a resolvable contract with ordered timestamps. Structural validation does not prove the prose predicate is complete. Existing question/version keys cannot be overwritten.
Fields
| Field | Type | Required |
|---|---|---|
op | "create_question" | Yes |
question | Question | Yes |
This operation needs no existing question or forecast. Use --memory for a calculation-only session.
Request
Send this object on one line. It is expanded below for readability.
{
"version": 1,
"id": "example",
"command": {
"op": "create_question",
"question": {
"id": "doc-launch",
"version": 1,
"proposition": "Release before timestamp 100",
"opens_at": 0,
"deadline": 100,
"resolve_after": 110,
"yes_rule": "Archive confirms release strictly before 100",
"no_rule": "Complete archive confirms no qualifying release",
"void_rule": "Archive permanently unavailable",
"resolution_sources": [
"official archive"
]
}
}
}
Response
This response is generated by executing the example against the current binary. Commit timestamps, when present, are shown as <runtime UTC seconds>; the actual protocol returns integer UTC seconds.
{
"version": 1,
"id": "example",
"result": {
"event": {
"kind": "question",
"question": {
"deadline": 100,
"id": "doc-launch",
"no_rule": "Complete archive confirms no qualifying release",
"opens_at": 0,
"proposition": "Release before timestamp 100",
"resolution_sources": [
"official archive"
],
"resolve_after": 110,
"version": 1,
"void_rule": "Archive permanently unavailable",
"yes_rule": "Archive confirms release strictly before 100"
}
},
"key": {
"question_id": "doc-launch",
"version": 1
},
"recorded_at": "<runtime UTC seconds>",
"sequence": 1
}
}
Verification
The documentation gate executes the setup and request, then checks the following result fields against independently specified expectations:
JSON pointer within result | Expected |
|---|---|
/sequence | 1 |
/event/kind | "question" |
Float comparisons use a 1e-12 tolerance. Request schema validation and cross-record validation still apply. See errors and recovery for failure handling.