Skip to content

Commit 036cc8b

Browse files
claudehyperpolymath
authored andcommitted
docs: ADR-0007 graded-comonad note; STATE refresh; flag PMPL/MPL discrepancy (gap-006)
ADR-0007 gains the graded-comonad / tropical-grade characterization (cross-links echo-types' establishment track) as the conceptual basis for the v2 (c) bridge. STATE.a2ml refreshed to 2026-06-15; gap-006 records that 8 files carry the non-SPDX PMPL-1.0 identifier while the rest of the repo + estate standard use MPL-2.0 — logged for a governance decision, NOT auto-changed. https://claude.ai/code/session_01BJmfoz1ZS1Pejy9LLMY742
1 parent f28c894 commit 036cc8b

2 files changed

Lines changed: 34 additions & 5 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
[metadata]
66
project = "julia-the-viper"
77
version = "0.0.1"
8-
last-updated = "2026-06-13"
8+
last-updated = "2026-06-15"
99
status = "active"
10-
session = "2026-06-13PR #26 (Lean repair + Echo as structural type-system gate + root-cause Rust-CI fix) and PR #27 (de-vacuation of 8 True-typed believeme theorems) merged; ADR-0007 records the addition-only mandate + Echo reversibility tiering; governance-hardening + number-system-semantics + v2 (c) bridge queued"
10+
session = "2026-06-15bookkeeping/tidying consolidation: lake build green (8 libs, 0 sorry/admit/axiom, 0 vacuity, 0 lint warnings); 4 stray branches resolved (2 stale-merged deleted + codeql weekly->monthly cron folded + estate-standardization salvaged: CODEOWNERS + 17 wiki SPDX headers); ADR-0007 gains the graded-comonad/tropical-grade characterization note; PMPL-1.0 vs MPL-2.0 header discrepancy flagged for governance decision (gap-006); number-system-semantics + v2 (c) bridge remain queued"
1111

1212
[project-context]
1313
name = "Julia The Viper"
@@ -50,7 +50,8 @@ issues = [
5050
{ id = "gap-002", description = "typing_coercion in JtvTypes.lean weaker than docstring — proves existence not coercion to target type", severity = "low", status = "known", follow-up = "ADR needed" },
5151
{ id = "gap-003", description = "Coprocessor implementation gated on PataCL Phase 1", severity = "medium", status = "external-dependency" },
5252
{ id = "gap-004", description = "Reversibility round-trip not guaranteed end-to-end at integration level", severity = "medium", status = "known" },
53-
{ id = "gap-005", description = "Semantic model is Int-only: the 7 number systems are typed but stated-unproven at the value level; type_preservation mechanised only for τ=int (see ADR-0007 D6 + PROOF-CAPABILITY-MATRIX.adoc)", severity = "medium", status = "known", follow-up = "number-system-semantics work" }
53+
{ id = "gap-005", description = "Semantic model is Int-only: the 7 number systems are typed but stated-unproven at the value level; type_preservation mechanised only for τ=int (see ADR-0007 D6 + PROOF-CAPABILITY-MATRIX.adoc)", severity = "medium", status = "known", follow-up = "number-system-semantics work" },
54+
{ id = "gap-006", description = "License-identifier discrepancy: 8 files (codeql.yml, scorecard.yml, language-policy.yml, README.adoc, PALIMPSEST.adoc, playground/README.adoc, playground/PALIMPSEST.adoc, playground/jtv/README.adoc) carry SPDX-License-Identifier: PMPL-1.0, not an SPDX-recognised identifier; ADR-0007 + spec + 6a2 + new governance/wiki files use MPL-2.0 (PMPL noted only as aspirational). estate standard (absolute-zero) is MPL-2.0-only with PMPL-1.0 -> MPL-2.0. Needs governance decision: normalise to MPL-2.0, or formally keep/adopt PMPL via PALIMPSEST.adoc.", severity = "medium", status = "flagged", follow-up = "user governance decision" }
5455
]
5556

5657
[critical-next-actions]
@@ -64,7 +65,7 @@ actions = [
6465
]
6566

6667
[maintenance-status]
67-
last-run-utc = "2026-06-02T00:00:00Z"
68+
last-run-utc = "2026-06-15T00:00:00Z"
6869
last-result = "pass" # unknown | pass | warn | fail
6970

7071
[session-history]
@@ -80,7 +81,8 @@ sessions = [
8081
{ date = "2026-06-02", subject = "Build-truth: patacl-core path dep removed from workspace; [features] patacl = [] pure code feature; proof-regression.yml startup failure fixed; Lean 4 all 5 libs compile; Idris2 Types.idr compiles; CI governance/language-policy/deno-lint fixes; documentation refresh" },
8182
{ date = "2026-06-13", subject = "PR #26 merged: Lean suite repaired (JtvEcho.neg_injective; orphan JtvExtended wired in → 8 libs); Echo a structural type-system gate over BOTH reverse{} and reversible{}->tok (checked first, before type inference); fixed pre-existing failing reverse-block echo test; root-cause Rust-CI revival (rust-ci/coverage hashFiles-in-job-if startup failure since ~05-27); clippy lint cleared; workflow pins+timeouts; *.jtv/*.pata eol=lf" },
8283
{ date = "2026-06-13", subject = "PR #27 merged: de-vacuated 8 True-typed believeme theorems (string_not_executable, confluence, no_vulnerable_constructs, no_reverse_joinpoints, dataExpr_no_control, data_evaluation_secure, control_data_noninterference, rev_composition) into real compiled statements; NO-VACUITY + Int-only-scope recorded in capability matrix" },
83-
{ date = "2026-06-13", subject = "ADR-0007: addition-only mandate (absolute; ×/÷ generated, not primitive); subtraction = reverse addition (not 2s-complement/not primitive); Harvard-in-von-Neumann AOLD insertability; shortest-path-to-equality + Echo lineage + cross-system routing; additive-algebra → reversibility-tier (group→Safe / cancellative→Neutral / idempotent→Breaking; Echo's own join is idempotent)" }
84+
{ date = "2026-06-13", subject = "ADR-0007: addition-only mandate (absolute; ×/÷ generated, not primitive); subtraction = reverse addition (not 2s-complement/not primitive); Harvard-in-von-Neumann AOLD insertability; shortest-path-to-equality + Echo lineage + cross-system routing; additive-algebra → reversibility-tier (group→Safe / cancellative→Neutral / idempotent→Breaking; Echo's own join is idempotent)" },
85+
{ date = "2026-06-15", subject = "Bookkeeping/tidying consolidation: confirmed lake build green (8 libs); cleared all Lean unused-variable lint warnings (_-prefix); resolved 4 stray remote branches (deleted 2 stale-merged changelog/tech-debt whose content is already on main; folded codeql weekly->monthly cron; salvaged CODEOWNERS + 17 wiki SPDX headers from estate-standardization-20260607, dropped its superseded pre-repair Lean drafts + old contractiles); ADR-0007 graded-comonad/tropical-grade characterization note; flagged PMPL-1.0 vs MPL-2.0 discrepancy (gap-006)" }
8486
]
8587

8688
[design-artefact-locations]

docs/design-decisions/0007-addition-only-mandate-and-reversibility-tiering.adoc

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,33 @@ semirings, lattices). In such systems the D5 ladder is *forced*: Safe
141141
is impossible, so one must keep a residue (Neutral) or accept Breaking.
142142
====
143143

144+
=== Theoretical characterization (note for continuity): Echo is a graded comonad with a tropical grade
145+
146+
Recording the characterization that situates the D1–D6 tiering in
147+
type-theoretic terms, so later work can build on it directly:
148+
149+
* *Echo is a graded comonad of structured loss.* The grade is the
150+
reversibility tier `{Safe ⊑ Neutral ⊑ Breaking}`; `extract` forgets the
151+
retained lineage and `duplicate` splits it, and grades compose by the
152+
lattice join. This is precisely the object the companion `echo-types`
153+
development formalises and pins on its establishment track (a
154+
*characterised graded comonad of structured loss* — coeffect /
155+
quantitative-lineage, explicitly not the linear/dependent judgmental
156+
ladder).
157+
* *The grade is a tropical (idempotent, min-plus-style) modality.* Join
158+
is idempotent (the D6 self-reference NOTE), so loss composition takes
159+
the worst tier and admits no inverse — which is exactly why `Breaking`
160+
is one-way and why a `Neutral` reverse needs a retained residue (D5).
161+
* *Operational reading.* JtV's reversibility tiering (D5/D6) is the
162+
operational face of that graded comonad: the grade attached to a
163+
computation is the best reversal tier still attainable, and Echo is the
164+
bookkeeping of that grade across number-system hops (D4).
165+
166+
This is a characterisation, not a new JtV obligation: JtV does **not**
167+
re-mechanise the graded-comonad laws — those are proved in `echo-types`
168+
(its Pillar B is complete). JtV consumes the result as the conceptual
169+
basis for the v2 `(c)` Neutral bridge and the number-system → tier map.
170+
144171
== Consequences
145172

146173
. *Number-system semantics work (next-but-one priority).* The Lean model

0 commit comments

Comments
 (0)