Skip to content

Commit 0a86e18

Browse files
claudehyperpolymath
authored andcommitted
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 e151d6b commit 0a86e18

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
@@ -253,6 +253,17 @@ honest-bound matched-negative block.
253253
the `affine` mode in `EchoObservationalEquivalence`. Honest-bound:
254254
NOT side-channel-safe / cryptographic deniability / adaptive
255255
adversary. `proofs/agda/EchoDeniability.agda`. `[REAL]`
256+
* *Aggregation* — `aggregate` rolls a two-account ledger up to a
257+
Godley column total. The fibre `ConsistentLedgers m = Echo
258+
aggregate m` is "aggregation is many-to-one" as a type;
259+
`aggregate-non-injective` exhibits two distinct micro ledgers at
260+
the same macro total; `no-canonical-disaggregation` is the
261+
non-identifiability theorem (no section of `aggregate`, via
262+
`no-section-of-collapsing-map`). The mechanised keystone of the
263+
oikos/betlang alib note (`oikos:docs/alib-aggregate-bridge.adoc`).
264+
Honest-bound: NOT a quantitative fibre-size bound / joint
265+
identifiability of the full MacroState record.
266+
`proofs/agda/EchoAggregation.agda`. `[REAL]`
256267

257268
*Curated suite — single-file entry point.* The narrative
258269
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
@@ -124,12 +124,16 @@ kernel** — the boundary is real and lives outside this core.
124124
residue / decoration / observational classifications.
125125
*Application/extension modules* (also added via the same sweep):
126126
`EchoEntropy`, `EchoLLEncoding`, `EchoProvenance`, `EchoSecurity`,
127-
`EchoProbabilisticSupport`, `EchoDifferential`, `EchoDeniability`
127+
`EchoProbabilisticSupport`, `EchoDifferential`, `EchoDeniability`,
128+
`EchoAggregation`
128129
are derived domain applications mapped under their own headings in
129130
MAP.adoc. `EchoDeniability` formalises residue deniability: the
130131
perfect (constant / no-section) case and the partial (injective /
131132
has-section) case, with `IsConstantOpener` as the exact cut-point.
132-
Imports `Echo` + `EchoNoSectionGeneric`.
133+
`EchoAggregation` formalises micro→macro economic aggregation: the
134+
rollup `aggregate` is an `Echo` map and non-disaggregability is
135+
`no-section-of-collapsing-map` (the mechanised keystone of the
136+
oikos/betlang alib note). Imports `Echo` + `EchoNoSectionGeneric`.
133137

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

0 commit comments

Comments
 (0)