open-standards/aac/spec/cascade.md
Transaction Science ba1212361f Add aac, map, sandbox standards; catalog the standards family
Commit the previously-untracked standard directories and catalog them in the
root README alongside proof:

- aac/    — communication cargo class: portable boards + a ten-level
            offline-first cascade (Apache-2.0 code / CC-BY-4.0 spec).
- map/    — geospatial cargo class: range-requestable signed tilesets +
            an F0–F4 fidelity cascade (Apache-2.0 code / CC-BY-4.0 spec).
- sandbox/— isolated, metered, attested execution across the heterogeneous
            compute fabric (Apache-2.0 code / CC-BY-4.0 spec).
- jouleclaw-otel-authz, jouleclaw-trust — new jouleclaw reference crates.

Root README now lists aac, map, sandbox, and proof in the catalog, the tree,
and the contribution guide.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-07 17:04:36 -04:00

3.3 KiB
Raw Permalink Blame History

AAC sub-spec — The communication cascade

Normative refinement of SPEC §6. Reference: aac_core::{AacCascade, AacCascadeLevel, AacOperation}.

Every communication operation resolves through the lowest cascade level that can satisfy it. Ten levels, each an order of magnitude costlier than the last; the order is normative and is pinned by conformance suites C1–C3 and the published vector ../conformance/v1/cascade.json.

1. The levels — AacCascadeLevel

Tag Variant Operation it closes Energy floor
L0 CacheHit recently-used phrase, pinned message, motor-planned sequence 1 µJ
L1 SymbolLookup core vocabulary retrieval, symbol-set search 10 µJ
L2 LocalPredict on-device word/phrase n-gram completion 100 µJ
L3 ContextPredict time / place / partner / activity-aware prediction 1 mJ
L4 SemanticExpand novel sentence construction from partial input 10 mJ
L5 ConversationAi conversation repair, social scripts, pragmatics 100 mJ
L6 GenerativeComm letters, posts, longer narratives 1 J
L7 VoiceClone personal-voice synthesis from recordings 5 J
L8 MultimodalGen custom symbol / visual-scene synthesis 10 J
L9 AdaptiveModel retrain the user's prediction model 15 J

AacCascadeLevel::estimated_energy_uj() returns the floor in microjoules.

2. Routing — AacCascade::level_for_operation

The operation→level table is fixed (conformance C1):

CellSelect → L0   SymbolSearch → L1   WordPrediction → L2
SocialScript → L3   SentenceConstruction → L4   ConversationRepair → L5
ComposeLong → L6   VoiceBanking → L7   SymbolGeneration → L8   ModelRetrain → L9

AacCascade::level_for_prediction(vocab_level, has_context) additionally chooses the prediction tier from the user's VocabularyLevel (Emergent | Transitional | Conventional | Literate) and whether context is available — an emergent user never escalates past a cache hit; a literate user with context reaches semantic expansion.

3. Energy monotonicity (C2)

For every adjacent pair, Lₙ.estimated_energy_uj() > Lₙ₋₁.estimated_energy_uj() — strictly increasing. A level that costs no more than the one below it is a defect.

4. The offline invariant (C3)

AacCascadeLevel::is_offline() is true for exactly L0, L1, L2 and false for L3–L9. A conforming client MUST serve every L0–L2 operation with no network access and MUST NOT make any L0–L2 operation contingent on connectivity. Concretely: selecting cells, looking up symbols, and completing words MUST work with the radio off. L0–L2 are specified to carry 95%+ of communication for this reason.

5. The free invariant

No level MAY be gated behind payment, quota, balance, or subscription at the protocol layer (SPEC §6.3). An implementation MUST NOT refuse, degrade, or rate-limit a communication operation on the basis of billing state. Hosted L3+ enrichment MAY be operated commercially, but a conforming client MUST remain fully functional through L2 with no account. Enrichment (L3+) is reached only when a lower level cannot close the request, and its absence MUST NOT degrade L0–L2 (SPEC §6.4).