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

46 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AAC sub-spec — The communication cascade
Normative refinement of [SPEC §6](../SPEC.md). 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`](../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).