API: Reality
Capability state: fixture-rehearsed → staging-durable. Per reference/capability-state.md:
reality.forkandreality.diffare staging-durable;reality.commit,reality.promote,reality.discardare fixture-rehearsed.
The reality operations let you fork projected worldlines, admit atoms
into them, diff them against record, promote successful projections,
or discard them while preserving the explanation. See
concepts: realities.
reality.fork
Section titled “reality.fork”Fork a governed projected reality from record.
POST /v1/reality/forkstate: staging-durablesdk_role: fork governed projected realityrequest_record: CloudRealityForkRequestresponses: projection | context_transition | receiptRequest
Section titled “Request”interface RealityForkRequest { tenant?: GestaltRef; purpose?: string;}Response
Section titled “Response”{ "operation": "reality.fork", "outcome": "projected", "body": { "projection": "reality:m6_projection_repair", "contextTransition": "context_transition:..." }, "receipt": {...}}SDK example
Section titled “SDK example”const fork = await client.realityFork({ tenant: "tenant_node:rheinwerk_calibration", purpose: "march close what-if: count disputed payment",});reality.commit
Section titled “reality.commit”Admit an atom under a projected reality without record leakage.
POST /v1/reality/commitstate: fixture-rehearsedsdk_role: admit atom under projected reality without record leakagerequest_record: CloudRealityCommitRequestresponses: atom | refusal | receiptRequest
Section titled “Request”interface RealityCommitRequest { tenant?: GestaltRef; reality?: GestaltRef; // the projected reality ref evidence?: GestaltRef[]; leak_to_record?: boolean; // default false; true is intentionally unsupported}The leak_to_record: true option is preserved in the contract for
explicit refusal — Gestalt deliberately refuses any caller asking for
projection-to-record leakage. The only legitimate path is
reality.promote.
reality.diff
Section titled “reality.diff”Compare record and projected realities.
POST /v1/reality/diffstate: staging-durablesdk_role: compare record and projected realitiesconst diff = await client.realityDiff({ tenant: "tenant_node:rheinwerk_calibration", reality: "reality:m6_projection_repair", evidence: [],});The response carries record_leak: false to confirm isolation.
reality.promote
Section titled “reality.promote”Request projection promotion with authority evidence.
POST /v1/reality/promotestate: fixture-rehearsedsdk_role: request projection promotion with authority evidenceconst promotion = await client.realityPromote({ tenant: "tenant_node:rheinwerk_calibration", reality: "reality:m6_projection_repair", evidence: ["evidence_bundle:projection_promotion_approval"],});Refused with reality_promotion_authority_missing if the required
projection-promotion approval evidence is not cited.
Promotion is a fresh Gravity admission, not a copy. Atoms are
re-evaluated against current record conditions and admitted as new
record atoms citing the projection’s atoms as cause.
reality.discard
Section titled “reality.discard”Discard an active projection while preserving the explanation.
POST /v1/reality/discardstate: fixture-rehearsedsdk_role: discard active projection while preserving explanationconst discard = await client.realityDiscard({ tenant: "tenant_node:rheinwerk_calibration", reality: "reality:m6_projection_repair",});What worldline coherence guarantees
Section titled “What worldline coherence guarantees”Gravity refuses any atom that:
- has no reality named,
- is a
recordatom citingprojectedparents as cause, - is a
projectedatom citing atoms from a different projection, - promotes without an explicit promotion atom,
- discards by deleting the projection body.
These rules are constitutional, not configuration. They prevent silent leakage between simulation and truth.
Refusal codes
Section titled “Refusal codes”reality_unspecifiedreality_record_cites_projectedreality_projected_cites_other_projectionreality_promotion_authority_missingreality_promotion_atom_missingreality_discard_attempts_deleterequired_evidence_missingSee reference/refusal-codes.md.
Where to read next
Section titled “Where to read next”- Concepts: realities
- API: zeitgestalt and tensions — asking “why” inside a projection
- Guide: projecting context transitions