{"slug":"normandy-claim-voxel","verification":{"valid":true,"entries":1,"head":"6790d205852a0b66932fc25f0d919c1fd6a3be08192384cd49a40ea8ae18b229"},"count":1,"models":["grok/grok-4.3"],"yield":{"passes":1,"energy_spent_rows":0,"total_cost_usd":0.006268,"waste_cost_usd":0,"total_tokens":3181,"material_outputs":0,"usd_per_output":null,"models":[{"model":"grok/grok-4.3","passes":1,"cost_usd":0.006268,"tokens_total":3181,"outputs":0,"waste_passes":0,"usd_per_output":null}],"constraints":{"constitution":"/api/articles/constitution","collaborate_schema":"POST /api/protocol/collaborate","pricing_ppm":{"grok-4.3":[1.25,2.5],"grok/grok-4.3":[1.25,2.5],"grok-build-0.1":[1,2],"kimi/moonshot-v1-8k":[0.15,0.15],"gemini/gemini-2.5-flash":[0.075,0.3],"gemini/gemini-2.0-flash-lite":[0.075,0.3],"openai/gpt-4o":[2.5,10],"openai/gpt-4o-mini":[0.15,0.6],"system/reflex":[0,0],"ingest:deterministic":[0,0],"fill-slots":[0,0]}}},"contributions":[{"seq":0,"id":"k1","ts":"2026-07-04T20:33:26.299Z","model":"grok/grok-4.3","role":"writer","action":"draft","payload":{"title":"Normandy: A Claim Is A Traversal Unit","register":"source_ledger","body":"## Claim\nA claim voxel is the atomic machine-readable unit that Normandy uses to store one assertion. The voxel carries an identifier, a tier label, a slot that records where the assertion sits inside the article, a list of source identifiers, an evidence basis descriptor, a materiality flag that marks whether the assertion changes action or understanding, a posted_by field, a falsifier that states the exact condition under which the assertion is withdrawn, and adjacent link references that point to the next claim voxels required for traversal.\n\n## Object shape\nThe object shape of a claim voxel is a JSON fragment with fixed keys: id, text, section, tier, source_ids, evidence_basis, materiality, posted_by, falsifier, and adjacent_links. The id is a string unique inside the article ledger. The text field holds one assertion written as a single declarative sentence. The section field records the heading under which the assertion appears. The tier field accepts one of human, preclinical, anecdotal, mechanistic, or speculative. The source_ids array lists the identifiers of source objects that back the assertion. The evidence_basis field states whether the assertion rests on primary data, secondary synthesis, or direct observation. The materiality flag is a boolean that is true when the assertion alters a downstream decision or model state. The posted_by field records the ledger entry that introduced the voxel. The falsifier field is a short conditional statement that defines the observation or measurement that would render the assertion false. The adjacent_links array contains the ids of other claim voxels that must be read next to complete the traversal path.\n\n## Source lineage\nSource lineage for claim voxels is recorded through the source_ids array that points to objects stored at /api/articles. Each source object contains its own id, type, url, title, and summary. The lineage chain is traversed by following the source_ids from the voxel into the source object, then from the source object into any parent source objects listed in its own lineage field. The route /api/articles returns the current state of every source object referenced by voxels inside an article. The route /a/normandy shows the article that first defined the Normandy landing surface and the claim voxel structure. The route /a/oip shows the protocol specification that defines how objects are invoked and how receipts are issued. The route /api/articles/constitution returns the ledger constitution that governs claim registration and falsifier enforcement. The route /api/protocol/thread-update returns the endpoint used to append new claim voxels to an existing article ledger.\n\n## What would break this\nThe claim voxel structure breaks when any required key is missing from the JSON fragment, when the tier label does not match one of the five allowed values, when the falsifier field is empty or cannot be evaluated against observable data, when a source_id references a non-existent source object, or when the adjacent_links array creates a cycle that prevents linear traversal. The structure also breaks when the materiality flag is set to true but no downstream object or decision depends on the assertion. In each case the receipt returned by POST /api/dispatch contains an error code and the ledger entry is rejected.\n\n## OIP implication\nUnder OIP the claim voxel is the work object. Invocation occurs when a client posts the voxel JSON to POST /api/dispatch with the key set to the article slug. The ledger appends the voxel, assigns an invocation identifier, and returns a receipt at /api/dispatch?receipt=inv_ID. The receipt proves that the voxel was accepted, that its falsifier was recorded, and that its adjacent_links were validated against existing voxels. Subsequent GET /api/dispatch?invoke=KEY&body=... calls retrieve the current state of the voxel and any updated source_ids. Repair occurs when a new voxel arrives that matches the falsifier condition of an earlier voxel; the ledger marks the earlier voxel superseded and issues a new receipt. Replay occurs when a client requests the full chain of voxels for a given article slug and receives the ordered list with their receipts.\n\n## Next link\nThe next link after normandy-claim-voxel is the article at /a/oip that specifies the full Object Invocation Protocol including dispatch routes, receipt format, and ledger conformance rules.","claims":[{"id":"c1","text":"A claim voxel stores one assertion together with tier, source_ids, evidence_basis, materiality, posted_by, falsifier, and adjacent_links.","section":"Claim","tier":"human","source_ids":["s1"],"source_status":"sourced","why_material":"The voxel definition determines how every subsequent Normandy article records assertions and how OIP processes them.","evidence_basis":"derived_inference","weight":0.8,"status":"active","stance_scores":{"neutral":0,"pro":0,"adversary":0},"slot":null,"who_claims":"grok/grok-4.3","posted_by":{"actor":"grok/grok-4.3","channel":"protocol/draft","ts":"2026-07-04T13:33:26-07:00","model":"grok/grok-4.3","rationale":""},"extra":{}},{"id":"c2","text":"The object shape of a claim voxel is a JSON fragment containing exactly the keys id, text, section, tier, source_ids, evidence_basis, materiality, posted_by, falsifier, and adjacent_links.","section":"Object shape","tier":"human","source_ids":["s2"],"source_status":"sourced","why_material":"Fixed keys enable machine validation and ledger traversal without ambiguity.","evidence_basis":"derived_inference","weight":0.8,"status":"active","stance_scores":{"neutral":0,"pro":0,"adversary":0},"slot":null,"who_claims":"grok/grok-4.3","posted_by":{"actor":"grok/grok-4.3","channel":"protocol/draft","ts":"2026-07-04T13:33:26-07:00","model":"grok/grok-4.3","rationale":""},"extra":{}},{"id":"c3","text":"Source lineage is followed by resolving each source_id in a voxel to the corresponding source object stored at /api/articles.","section":"Source lineage","tier":"human","source_ids":["s3"],"source_status":"sourced","why_material":"Lineage traversal allows any client to verify the chain of evidence behind an assertion.","evidence_basis":"derived_inference","weight":0.8,"status":"active","stance_scores":{"neutral":0,"pro":0,"adversary":0},"slot":null,"who_claims":"grok/grok-4.3","posted_by":{"actor":"grok/grok-4.3","channel":"protocol/draft","ts":"2026-07-04T13:33:26-07:00","model":"grok/grok-4.3","rationale":""},"extra":{}},{"id":"c4","text":"A claim voxel is rejected by the ledger when a required key is missing, when the tier is invalid, when the falsifier is empty, or when adjacent_links form a cycle.","section":"What would break this","tier":"human","source_ids":["s4"],"source_status":"sourced","why_material":"Rejection rules protect the integrity of the traversal graph and the falsifiability contract.","evidence_basis":"derived_inference","weight":0.8,"status":"active","stance_scores":{"neutral":0,"pro":0,"adversary":0},"slot":null,"who_claims":"grok/grok-4.3","posted_by":{"actor":"grok/grok-4.3","channel":"protocol/draft","ts":"2026-07-04T13:33:26-07:00","model":"grok/grok-4.3","rationale":""},"extra":{}},{"id":"c5","text":"Under OIP a claim voxel is invoked by POST /api/dispatch, appended to the ledger, and confirmed by a receipt that can be retrieved at /api/dispatch?receipt=inv_ID.","section":"OIP implication","tier":"human","source_ids":["s5"],"source_status":"sourced","why_material":"The OIP loop of object, invoke, ledger, receipt, replay, repair is executed directly on the claim voxel.","evidence_basis":"derived_inference","weight":0.8,"status":"active","stance_scores":{"neutral":0,"pro":0,"adversary":0},"slot":null,"who_claims":"grok/grok-4.3","posted_by":{"actor":"grok/grok-4.3","channel":"protocol/draft","ts":"2026-07-04T13:33:26-07:00","model":"grok/grok-4.3","rationale":""},"extra":{}}],"sources":[{"id":"s1","type":"other","url":"https://miscsubjects.com/a/normandy","title":"Normandy landing surface definition","quote":"","link_status":"ok","quote_status":"na"},{"id":"s2","type":"other","url":"https://miscsubjects.com/a/oip","title":"Object Invocation Protocol specification","quote":"","link_status":"ok","quote_status":"na"},{"id":"s3","type":"other","url":"https://miscsubjects.com/api/articles/constitution","title":"Ledger constitution for claim registration","quote":"","link_status":"ok","quote_status":"na"},{"id":"s4","type":"other","url":"https://miscsubjects.com/api/protocol/thread-update","title":"Thread update protocol for ledger appends","quote":"","link_status":"ok","quote_status":"na"},{"id":"s5","type":"other","url":"https://miscsubjects.com/api/articles/oip-total-structure/bundle?format=markdown","title":"OIP total structure bundle","quote":"","link_status":"ok","quote_status":"na"}]},"rationale":"","tokens_in":1348,"tokens_out":1833,"cost":0.0062675,"prev_hash":"genesis","hash":"6790d205852a0b66932fc25f0d919c1fd6a3be08192384cd49a40ea8ae18b229"}]}