Arxo Decision Protocol
The Arxo Decision Protocol is what comes back: the answer document with statuses, the proof, the issues and the hashes. The same inputs give the same bytes, so the document can be stored, checked a year later and taken apart in a dispute.
The answer document
Section titled “The answer document”An evaluation document has five load bearing parts:
- the
manifest: the hashes of the package, the case and the context —programHash,caseHash,semanticHash— together with the three dates the question was read under; - one
resultper question, each with itsevaluationStatus(COMPUTEDhere), the truth value found (TRUE_ONLY,FALSE_ONLY,BOTHorNEITHER), and a pointer into the proof; - the
proofGraph: every conclusion names its rule and its supports, from the asserted facts up through the applied rule to the evaluated question;proofHashseals the graph; issuesandconflicts: what was missing and what contradicts — empty here, present when the case is incomplete or torn;positions: the duties and powers the run created, each with its holder, its status (ACTIVEhere) and the proof that created it.
resultHash seals the whole document:
it is computed over the results, so any change in what was established
changes the hash.
An example answer
Section titled “An example answer”The document below is the recorded answer to the request on the Arxo Fact Protocol page: one duty created for one person, with the proof that leads from the two asserted facts through the applied rule to the evaluated question.
View full JSON document
{ "conflicts": [], "issues": [], "manifest": { "artifactHash": "sha256:6cad5bcbbd19de9b0fc84f45d0bd39c68b48f369da8a5a7c50541a638370c189", "calendarSnapshot": "", "caseHash": "sha256:908e19c49a0b0733533d42f80e219c0deb46600a014d059af6adfa15e4ccf471", "decisionTime": "2026-08-26T12:00:00+05:00", "evidenceSnapshotHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000", "externalSnapshots": {}, "id": "urn:manifest:oracle-1", "interpretations": [], "knowledgeTime": "2026-08-26T12:00:00+05:00", "legalTime": "2026-08-26", "lockfileHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000", "mode": "audit", "policies": {}, "programHash": "sha256:a47956edfca7cf7af1f9c1b5d93ddd3ae22f06aacbc87c22f0da85c76aac65cf", "resolvedEditions": {}, "semanticHash": "sha256:39dbcd571269c597665e90e09f6a0ca1152cc3c2aeff38d2156b2db17d50ca89", "semantics": "law.core/0.2.4", "theoryHash": "sha256:a47956edfca7cf7af1f9c1b5d93ddd3ae22f06aacbc87c22f0da85c76aac65cf", "timezone": "Asia/Qyzylorda" }, "positions": [ { "createdBy": "urn:proof:norm:urn:law:vectors:err-e0218-judgment#KeepRule:80d5e26e6e071f80a6d65c9bff5d59f6c278e004eabfef9ac7d430d8ed04ff21", "holder": "urn:entity:p1", "id": "urn:position:urn:law:vectors:err-e0218-judgment#KeepRule:e5dab3aad77154fa49d198e164665b2b891a01f9229f23cdd815b058ae49e264", "manifest": "urn:manifest:oracle-1", "modality": "duty", "payload": { "bearer": { "id": "urn:entity:p1", "kind": "entity_ref" }, "goal": { "condition": { "items": [ { "formula": { "args": [ { "id": "urn:entity:p1", "kind": "entity_ref" } ], "kind": "literal", "polarity": "positive", "predicate": "urn:law:vectors:err-e0218-judgment#respectful" }, "kind": "status", "status": "established" }, { "formula": { "args": [ { "id": "urn:entity:p1", "kind": "entity_ref" } ], "kind": "literal", "polarity": "positive", "predicate": "urn:law:vectors:err-e0218-judgment#done_a" }, "kind": "status", "status": "established" } ], "kind": "and" }, "kind": "achievement", "window": { "end": { "kind": "value", "type": { "name": "urn:law:std#Date" }, "value": "2026-12-31" }, "endInclusive": true, "kind": "interval", "start": { "kind": "value", "type": { "name": "urn:law:std#Date" }, "value": "2026-01-01" }, "startInclusive": true } }, "kind": "duty" }, "proof": "urn:proof:norm:urn:law:vectors:err-e0218-judgment#KeepRule:80d5e26e6e071f80a6d65c9bff5d59f6c278e004eabfef9ac7d430d8ed04ff21", "status": "ACTIVE", "statusHistory": [], "template": "urn:law:vectors:err-e0218-judgment#Keep" } ], "proofGraph": { "nodes": [ { "attributes": { "assertion": "urn:law:vectors:err-e0218-judgment#assert-done_a-negative" }, "conclusion": { "args": [ { "id": "urn:entity:p1", "kind": "entity_ref" } ], "kind": "literal", "polarity": "negative", "predicate": "urn:law:vectors:err-e0218-judgment#done_a" }, "evidence": [], "id": "urn:proof:assert:urn:law:vectors:err-e0218-judgment#assert-done_a-negative", "kind": "assertion", "premises": [], "sourceAnchors": [] }, { "attributes": { "assertion": "urn:law:vectors:err-e0218-judgment#assert-trigger-positive" }, "conclusion": { "args": [ { "id": "urn:entity:p1", "kind": "entity_ref" } ], "kind": "literal", "polarity": "positive", "predicate": "urn:law:vectors:err-e0218-judgment#trigger" }, "evidence": [], "id": "urn:proof:assert:urn:law:vectors:err-e0218-judgment#assert-trigger-positive", "kind": "assertion", "premises": [], "sourceAnchors": [] }, { "attributes": { "rule": "urn:law:vectors:err-e0218-judgment#KeepRule" }, "conclusion": { "position": "urn:position:urn:law:vectors:err-e0218-judgment#KeepRule:e5dab3aad77154fa49d198e164665b2b891a01f9229f23cdd815b058ae49e264", "template": "urn:law:vectors:err-e0218-judgment#Keep" }, "evidence": [], "id": "urn:proof:norm:urn:law:vectors:err-e0218-judgment#KeepRule:80d5e26e6e071f80a6d65c9bff5d59f6c278e004eabfef9ac7d430d8ed04ff21", "kind": "norm_creation", "premises": [ "urn:proof:assert:urn:law:vectors:err-e0218-judgment#assert-trigger-positive" ], "sourceAnchors": [] }, { "attributes": {}, "conclusion": { "positions": [ { "id": "urn:position:urn:law:vectors:err-e0218-judgment#KeepRule:e5dab3aad77154fa49d198e164665b2b891a01f9229f23cdd815b058ae49e264", "status": "ACTIVE" } ] }, "evidence": [], "id": "urn:proof:query:lq6-e0218-judgment-leaf-dead-v02", "kind": "query_evaluation", "premises": [ "urn:proof:norm:urn:law:vectors:err-e0218-judgment#KeepRule:80d5e26e6e071f80a6d65c9bff5d59f6c278e004eabfef9ac7d430d8ed04ff21" ], "sourceAnchors": [] } ], "proofHash": "sha256:9274623d12ec87419ef64f76f043881cab8864276fbe26e9d4c011546e772a3b", "roots": [ "urn:proof:query:lq6-e0218-judgment-leaf-dead-v02" ] }, "resultHash": "sha256:f6235e015c937ed293173ae1be8434bdda9d5e52deb4a42ead18c3b1222e47bb", "results": [ { "applicabilityStatus": "APPLICABLE", "conflicts": [], "evaluationStatus": "COMPUTED", "evidence": [], "id": "urn:result:lq6-e0218-judgment-leaf-dead-v02", "judgmentRequests": [], "manifest": "urn:manifest:oracle-1", "missingInputs": [], "normativeStatus": "ACTIVE", "normativeStatusSupports": [ { "proof": [ "urn:proof:norm:urn:law:vectors:err-e0218-judgment#KeepRule:80d5e26e6e071f80a6d65c9bff5d59f6c278e004eabfef9ac7d430d8ed04ff21" ], "status": "CREATED", "truthStatus": "TRUE_ONLY", "valid": { "end": "2026-08-26", "endInclusive": true, "start": "2026-08-26", "startInclusive": true } }, { "proof": [ "urn:proof:assert:urn:law:vectors:err-e0218-judgment#assert-done_a-negative" ], "status": "ACTIVE", "truthStatus": "TRUE_ONLY", "valid": { "end": "2026-08-26", "endInclusive": true, "start": "2026-08-26", "startInclusive": true } } ], "proof": "urn:proof:query:lq6-e0218-judgment-leaf-dead-v02", "query": "urn:query:lq6-e0218-judgment-leaf-dead-v02", "resultKind": "NORM_POSITION", "sourceAnchors": [] } ], "schemaVersion": "law.core.evaluation/0.2"}Diagnostics by code
Section titled “Diagnostics by code”Not every question gets an answer. When the engine refuses, the refusal carries a stable machine-readable code instead of prose:
- a question outside the query schema is
rejected with the code
QUERY_INVALIDbefore anything is evaluated; - every diagnostic carries its
code, the place it belongs to, and a human-readable message, so a host can match on the code exhaustively and show the message to its user.
Because the codes are stable and the refusal names the document and the pointer into it, a host can tell a malformed question from a missing pin from an incomplete case without parsing sentences.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.