-
Notifications
You must be signed in to change notification settings - Fork 0
JSON Semantics and Projection
Jim Daley edited this page May 3, 2026
·
1 revision
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.
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"]
| 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 |
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
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
| 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 |