Skip to content

JSON Semantics and Projection

Jim Daley edited this page May 3, 2026 · 1 revision

JSON Semantics and Projection

Home | Runtime Logic and Workflows | Contract and Schema Atlas

Aeostara is a JSON configuration self-healing engine. JSON surface differences are evidence, not semantic truth. Semantic projection decides what a document means.

JSON Rule Stack

flowchart TB
  Pointer["JSON Pointer addressing"] --> Resolution["Present / missing / null resolution"]
  Resolution --> Canonical["Canonical serialization + hash"]
  Canonical --> Difference["SurfaceDifference evidence"]
  Difference --> Projection["Semantic projection"]
  Projection --> AshState["9-coordinate ASH state"]
  AshState --> Diagnosis["State validity diagnostic"]
Loading

Addressing Rules

Concern Required behavior Evidence page
Object key with dot Treat dot as an ordinary key, not a separator Json Pointer Operations
Missing vs null Missing path and JSON null are distinct states Json Pointer
Arrays Address deterministically by JSON Pointer array token Json Semantics Fixtures
Canonical hash Stable serialization and SHA-256 hash Json Canonicalization
Mutation preconditions Test current value/hash before mutation Mutation Precondition Check

Projection Coordinates

flowchart LR
  JSON["Observed + desired JSON"] --> b0["b0 enabled intent"]
  JSON --> b1["b1 policy permitted"]
  JSON --> b2["b2 backup ready"]
  JSON --> b3["b3 verification ready"]
  JSON --> b4["b4 fallback available"]
  JSON --> b5["b5 containment boundary"]
  JSON --> b6["b6 rollback available"]
  JSON --> b7["b7 audit continuity"]
  JSON --> b8["b8 safe halt terminal"]
  b0 --> State["AshState coordinates[9]"]
  b1 --> State
  b2 --> State
  b3 --> State
  b4 --> State
  b5 --> State
  b6 --> State
  b7 --> State
  b8 --> State
Loading

Ambiguity Handling

stateDiagram-v2
  [*] --> MAPPED: one rule emits one bit
  [*] --> BLOCKED: required source missing
  [*] --> AMBIGUOUS: conflicting bits
  [*] --> FAILED: type violation
  AMBIGUOUS --> Diagnostic: emit MappingAmbiguity
  BLOCKED --> Diagnostic: emit blocked mapping diagnostic
  FAILED --> Diagnostic: emit failed mapping diagnostic
  Diagnostic --> NoMutation: do not coerce state
Loading

Contract Links

Contract Role
JsonPointer Address model and missing/null flags
JsonDocumentReference Observed, desired, canonicalized, and backup documents
JsonMutationOperation Guarded mutation operation
JsonCanonicalizationRule Deterministic serialization rules
SurfaceDifference Evidence-only difference record
SemanticProjectionSpec Declares coordinate projection rules
MappingResult Mapped, ambiguous, blocked, or failed output
MappingAmbiguity Evidence for blocked ambiguous mapping

Clone this wiki locally