Skip to content

Commit b47e7be

Browse files
committed
fix(ci): classify EchoAggregation in kernel-note and MAP.adoc
kernel-guard.sh Check B (classification-drift lint) requires every proofs/agda/Echo*.agda module to be named in echo-kernel-note.adoc. Add EchoAggregation to the application/extension list there, plus a [REAL]-tagged audience-move bullet in MAP.adoc. Mirrors the EchoDeniability classification fix (2026-06-13). scripts/kernel-guard.sh exits 0 locally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwbFNQJw23tW8tqM7utWku
1 parent f067e18 commit b47e7be

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

docs/echo-types/MAP.adoc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,17 @@ honest-bound matched-negative block.
245245
the `affine` mode in `EchoObservationalEquivalence`. Honest-bound:
246246
NOT side-channel-safe / cryptographic deniability / adaptive
247247
adversary. `proofs/agda/EchoDeniability.agda`. `[REAL]`
248+
* *Aggregation* — `aggregate` rolls a two-account ledger up to a
249+
Godley column total. The fibre `ConsistentLedgers m = Echo
250+
aggregate m` is "aggregation is many-to-one" as a type;
251+
`aggregate-non-injective` exhibits two distinct micro ledgers at
252+
the same macro total; `no-canonical-disaggregation` is the
253+
non-identifiability theorem (no section of `aggregate`, via
254+
`no-section-of-collapsing-map`). The mechanised keystone of the
255+
oikos/betlang alib note (`oikos:docs/alib-aggregate-bridge.adoc`).
256+
Honest-bound: NOT a quantitative fibre-size bound / joint
257+
identifiability of the full MacroState record.
258+
`proofs/agda/EchoAggregation.agda`. `[REAL]`
248259

249260
*Curated suite — single-file entry point.* The narrative
250261
deliverable that pulls the Tier-1 / Tier-2 / Tier-3 named theorems

docs/echo-types/echo-kernel-note.adoc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,16 @@ kernel** — the boundary is real and lives outside this core.
121121
residue / decoration / observational classifications.
122122
*Application/extension modules* (also added via the same sweep):
123123
`EchoEntropy`, `EchoLLEncoding`, `EchoProvenance`, `EchoSecurity`,
124-
`EchoProbabilisticSupport`, `EchoDifferential`, `EchoDeniability`
124+
`EchoProbabilisticSupport`, `EchoDifferential`, `EchoDeniability`,
125+
`EchoAggregation`
125126
are derived domain applications mapped under their own headings in
126127
MAP.adoc. `EchoDeniability` formalises residue deniability: the
127128
perfect (constant / no-section) case and the partial (injective /
128129
has-section) case, with `IsConstantOpener` as the exact cut-point.
129-
Imports `Echo` + `EchoNoSectionGeneric`.
130+
`EchoAggregation` formalises micro→macro economic aggregation: the
131+
rollup `aggregate` is an `Echo` map and non-disaggregability is
132+
`no-section-of-collapsing-map` (the mechanised keystone of the
133+
oikos/betlang alib note). Imports `Echo` + `EchoNoSectionGeneric`.
130134

131135
| *Earn-back gate modules* +
132136
(derived / scoped; not kernel)

0 commit comments

Comments
 (0)