Skip to content

Commit f7a965f

Browse files
hyperpolymathclaude
andcommitted
feat(experimental): echo-additive R0+R1 — grade semiring + comparative variance protocol
Adds the experimental echo-additive subtree gated by R-2026-05-18 (do-not-reopen). No shipped module is imported or modified. R0: ℕ∪{∞} min-plus grade semiring (Grade.agda) - (Grade, ⊓g, +g) tropical semiring, --safe --without-K, exit 0 - Keystone: finite grades non-idempotent under +g; inf is the unique +g-idempotent cap - Embeds old 3-grade lattice {keep→fin 0, residue→fin 1, forget→inf} R1: Variance gate + comparative protocol (VarianceGate.agda, STATE.adoc, DECISIONS.adoc) - Diagnoses gduplicate keep g : A → D_g A as monadic unit direction (not comonadic δ) - Corrects false Option C claim (lax monoidal DOES require nested D_r(D_s A)) - Resolves R1 as comparative protocol: primary (graded monad, φ direction) + secondary (comonadic, δ direction) built in parallel; neither claims primacy until terminating condition; no postulates; line-separation firewall enforced Decision log D-2026-06-14-R1 records enforcement specifics and sharpened terminating condition (ii): adjunction must be proven, not assumed from law discharge. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 09be594 commit f7a965f

4 files changed

Lines changed: 873 additions & 0 deletions

File tree

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
// SPDX-License-Identifier: MPL-2.0
2+
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3+
= Echo-Additive Experimental — Decision Log
4+
:revdate: 2026-06-14
5+
6+
Decision log for the `experimental/echo-additive/` subtree. Each entry records
7+
a named, dated, author-authorised decision with its rationale and downstream
8+
constraints. Entries are append-only. Superseding decisions reference the entry
9+
they override.
10+
11+
[IMPORTANT]
12+
====
13+
This log holds decisions, not findings. Findings (what the Agda proves or fails to
14+
prove) live in STATE.adoc. Decisions (what to attempt, what to stop, what to merge)
15+
live here. A finding without a corresponding decision is not authorization to merge.
16+
====
17+
18+
---
19+
20+
== D-2026-06-14-R1: Comparative protocol — primary and secondary lines
21+
22+
*Date:* 2026-06-14 +
23+
*Author authorization:* explicit, in-session +
24+
*Supersedes:* none (first decision for this tree)
25+
26+
=== Decision
27+
28+
R1 is resolved as a *comparative protocol*, not as a choice of one reading over the
29+
other. Both the monadic and comonadic readings of the grade composition map are to
30+
be constructed in parallel in the experimental tree. Neither is declared the winner
31+
before construction.
32+
33+
=== Rationale
34+
35+
The variance analysis at R1 established:
36+
37+
* The combining direction of Echo-comp-iso has monadic variance (μ direction;
38+
`D_r(D_s A) → D_{r+s} A`). Building this gives the primary line.
39+
* The splitting direction has comonadic variance (δ direction;
40+
`D_{r+s} A → D_r(D_s A)`). Building this gives the secondary line.
41+
42+
The question of whether *recoverability* — given a lossy output, what inputs were
43+
possible? — lives naturally in the monadic direction, the comonadic direction, or
44+
genuinely requires both, cannot be settled by structural analysis alone. It requires
45+
attempting the laws in `--safe --without-K` Agda and seeing what can and cannot be
46+
discharged. Choosing before construction would discard potentially live evidence.
47+
48+
=== Three enforcement specifics
49+
50+
[cols="1,4", options="header"]
51+
|===
52+
| Enforcement specific | Binding constraint
53+
54+
| *WHERE*
55+
| Scope is `proofs/agda/experimental/echo-additive/` exclusively. Shipped modules
56+
(`EchoGraded.agda`, `EchoGradedComonad.agda`, `EchoTruncation.agda`) are read-only.
57+
Nothing in shipped code imports from experimental/. R-2026-05-18 retraction stands.
58+
59+
| *WHAT HOLDS YOU (the gate)*
60+
| Nothing from experimental/ goes to main — no merge, no claim, no retraction
61+
reversal — until one of the two terminating conditions is met AND the author
62+
explicitly authorizes the merge. "Both lines compile" alone does not satisfy the gate.
63+
Author authorization alone does not satisfy the gate. Both required together.
64+
65+
| *LINE-SEPARATION FIREWALL*
66+
| Primary (`GradedMonad.agda`) and secondary (`GradedComonad.agda`) are separate files.
67+
Neither imports the other during the law-discharge phase. No postulates anywhere in
68+
experimental/ (a postulate in one line corrupts the comparison). Synthesis happens in
69+
a dedicated file created only after both lines have been independently evaluated.
70+
|===
71+
72+
=== Terminating condition
73+
74+
[cols="1,4", options="header"]
75+
|===
76+
| Case | Consequence
77+
78+
| *(i)* One reading discharges its laws; the other provably cannot (park point reached
79+
with named obstruction and no postulate escape)
80+
| The discharging reading is the correct structural home. The other is parked with the
81+
named obstruction. Author decides whether to proceed to R4+ on the surviving line.
82+
83+
| *(ii)* Both readings discharge their laws
84+
| Proceed to adjunction proof: construct F_r, U_r, and the witness `F_r ⊣ U_r`
85+
in `--safe --without-K` Agda. The adjunction is *not assumed* from the law
86+
discharge — it must be proven as a separate construction. Only after the witness
87+
compiles does this satisfy (ii). If the adjunction proof itself fails (postulate
88+
needed), document the obstruction explicitly and park. Report to author; do not
89+
auto-merge.
90+
|===
91+
92+
=== Files in scope at decision point
93+
94+
* `proofs/agda/experimental/echo-additive/Grade.agda` — R0 grade semiring, exit 0.
95+
* `proofs/agda/experimental/echo-additive/VarianceGate.agda` — R1 variance frame,
96+
§3 records this decision.
97+
* `experimental/echo-additive/STATE.adoc` — running state; records the protocol,
98+
enforcement specifics, and terminating condition in detail.
99+
* `experimental/echo-additive/DECISIONS.adoc` — this file.
100+
101+
=== Next action (author-gated)
102+
103+
R2 (per-grade `degrade` coherence in ℕ∪{∞}) is the next rung. Await author return
104+
before beginning R2 or R3.

0 commit comments

Comments
 (0)