docs: tidy after earn-back closure + theory-work closure + examples cluster landed#92
Merged
Merged
Conversation
…luster landed
Three small accuracy passes through `docs/echo-types/`:
1. `roadmap.md` §"Theory work — no proof assistant needed" — the
section is now genuinely closed. Updated two stale items:
* Axis 8 line said "the *decidability-respecting* candidate has
shipped" and listed the other three as still candidate
refinements. All four have now shipped: EchoDecidable
(decidability), EchoCost (cost-indexed, #85), EchoAccess
(graded access, #68/#75), EchoSearch (witness-search, #80).
* Negative / co-echoes line was [unblocked]; now [landed] —
AntiEcho (#69), tropical decomposition concrete + generic
(#72 + #91), antiecho-partition-dec (#90). Names the
obligation-5 / obligation-6 closures explicitly.
2. `roadmap.md` §"Example work" — three [unblocked] items now
[landed]: ex. 5 (EchoExampleProvenance, #81), ex. 9
(EchoExampleParser, #83), ex. 10 (EchoExampleAbsInt, #82). Only
ex. 6 (approximate-echo numeric example) remains [unblocked].
3. `earn-back-plan.adoc`:
* Header note "the gate discipline was historically attributed
to a `roadmap-gates.adoc`; that file does not exist in-tree"
is stale — the file IS in tree (created 2026-05-18). Header
rewritten to list `roadmap-gates.adoc` alongside
`retractions.adoc` / this plan / `next-questions.adoc` as the
four canonical loci.
* Ledger row D ("roadmap-gates.adoc does not exist") marked
CLOSED 2026-05-20; cite reflects current reality.
Pure prose / docs only. No Agda content changes. `agda
proofs/agda/All.agda` and `agda proofs/agda/Smoke.agda` exit 0
under `--safe --without-K` (verified — confirms the docs say what
the code does).
Refs the closure side of #84 / #86 / #88 / #90 / #91 — does not
modify any Agda module, does not move any earned-back / retracted
claim.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 tasks
hyperpolymath
added a commit
that referenced
this pull request
May 20, 2026
…re (#93) ## Summary Brings `.machine_readable/6a2/STATE.a2ml` and `META.a2ml` in line with the prose docs after this session's Pillar F earn-back closure and §"Theory work" closing. ## `META.a2ml` — three new ADRs (append-only) No existing ADR is edited. Three appended after `adr-006`: * **`adr-007`** — F1 earn-back via monoid-graded iterated-residue construction. `EchoGradedComonadF1.agda` at `(ℕ, +, 0)` with Echo as grade-unit object, nested δ, all three comonad laws, `D2-nontrivial` separating witness. (PR #86 merged 2026-05-20.) * **`adr-008`** — F3 earn-back via two non-isomorphic-grade-monoid instances of an abstract `GradedComonadStructure` interface. No `⊑-prop`-equivalent field. `nat-instance` at commutative `(ℕ, +, 0)`; `list-instance` at non-commutative `(List Tag, ++, [])`. (PR #88 open.) * **`adr-009`** — Retraction-discipline succeeded: the R-2026-05-18 reframing converted into four earn-back gate passes (F4, F2, F1, F3); one retraction stays retracted (conservativity metatheorem, finding 5); none silently re-inflated. Each ADR carries the strict scope qualifier — F1/F3 earn back claims **for a separate side-construction**; `EchoGraded` itself remains a thin-poset reindexing modality per R-2026-05-18, and `paper.adoc` / `types-abstract.adoc` / `conservativity.adoc` are intentionally not moved. ## `STATE.a2ml` — `next-actions` pruned + two closure sections appended **Pruned**: 3 of 5 April `next-actions` were stale and are resolved in the prose: * `integration` (apply 7-commit sequence) — done long ago * `t-3` (Gate-1 falsification test 3) — superseded by Gate 1 adjacency refresh (`decisions/gate1-adjacency-refresh.adoc`, PR #77) * `q2-4` (falsifier attempts) — absorbed by `IntegrationAudit.agda` EI-2 negative result; remaining attempts are bookkeeping **Remaining + added**: `q2-1` (echo-not-prop generalisation, still high), `q2-3` (RoleGraded as N5, still low), new `owner-gated-paper-update` entry, new `ordinal-track-path-1` entry (in-flight in other session), and the original `v0-2-recipe-extension` parked entry. **Two new closure sections** at the end of STATE.a2ml: * **`earn-back-summary`** — closure record for all four gates with module paths, claim wording, retraction-followup citations, and a `forbidden-rebrandings` list to prevent later mis-framing. * **`theory-work-summary`** — closure record for §"Theory work — no proof assistant needed": axes fully mechanised list, ruled-out items, refreshed items, canonical examples cluster. ## Test plan * [x] Pure machine-readable data; no Agda touched * [x] `agda proofs/agda/All.agda` exit 0 * [x] `agda proofs/agda/Smoke.agda` exit 0 * [x] Append-only ADR discipline preserved (adr-001 through adr-006 unchanged; new ADRs at the end) * [x] No retracted claim moved; no earned-back claim overclaimed * [ ] (owner) confirm a2ml schema validation if you run a validator against the standards/state-a2ml + meta-a2ml specs ## Scope Pure machine-readable data update. Disjoint from all currently-open PRs (#88 F3, #90 partition-dec, #91 generic-codomain, #92 docs tidy). `paper.adoc` / `types-abstract.adoc` / `conservativity.adoc` are intentionally not touched. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 10 issues detected
View findings[
{
"reason": "No test directory or test files found",
"type": "no_tests",
"file": "/home/runner/work/echo-types/echo-types",
"action": "flag",
"rule_module": "honest_completion",
"severity": "high",
"deduction": 20
},
{
"reason": "Issue in quality.yml",
"type": "missing_workflow",
"file": "quality.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in security-policy.yml",
"type": "missing_workflow",
"file": "security-policy.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in secret-scanner.yml",
"type": "missing_workflow",
"file": "secret-scanner.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Action actions/cache@v4 needs attention",
"type": "unpinned_action",
"file": "agda.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "No dependabot.yml or renovate.json found in echo-types",
"type": "DependencyUpdate",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "high",
"remediation": "Add .github/dependabot.yml or renovate.json configuration.",
"scorecard_check": "Dependency-Update-Tool"
},
{
"reason": "Nominal-only SAST in echo-types: codeql.yml language matrix contains no language present in the repo and lacks `actions`, so CodeQL records zero results on every commit. Remediation: set the CodeQL matrix to `language: actions`.",
"type": "StaticAnalysis",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Add CodeQL or equivalent SAST workflow.",
"scorecard_check": "SAST"
},
{
"reason": "1 workflow(s) with tag-pinned (not SHA-pinned) actions in echo-types",
"type": "DependencyPinning",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Pin GitHub Actions and Docker base images by SHA hash.",
"scorecard_check": "Pinned-Dependencies"
},
{
"reason": "Repository has 1 non-main remote branch(es). Policy: single main branch only.",
"type": "GS007",
"file": ".",
"action": "delete_remote_branches",
"rule_module": "git_state",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three small accuracy passes through
docs/echo-types/after theearn-back programme, the §"Theory work — no proof assistant needed"
section, and the canonical examples cluster (5/9/10) all closed in
this session. Pure prose; no Agda changes.
1.
roadmap.md§"Theory work" — two stale items refreshedshipped but listed the other three as still candidate refinements.
All four have now shipped:
EchoDecidable,EchoCost(theory: EchoCost — Axis 8 cost-indexed refinement (thin slice) #85),EchoAccess(theory: Axis 8 graded access modality — thin slice (Access, ≤a, ≤a-trans, ≤a-prop) #68 / theory: Axis 8 sweep — join + composition trio (Rungs A + B; Rung C deferred) #75),EchoSearch(theory: EchoSearch — Axis 8 witness-search machine (thin slice) #80). Updated to credit allfour.
[unblocked]; now[landed]—AntiEcho(theory: AntiEcho thin slice — Σ-dual of Echo (carrier + map-over + disjointness) #69), tropical decomposition concrete + generic (theory: AntiEcho × IsArgmin tropical decomposition #72 +theory: AntiEchoTropicalGeneric — generic-codomain lift of the tropical decomposition #91),
antiecho-partition-dec(theory: antiecho-partition-dec — per-element classification (deferred obligation 5) #90). Names thecoecho.md§5obligation-5 / obligation-6 closures explicitly.
After these edits, every item in §"Theory work — no proof assistant
needed" is either
[landed]or[ruled out]/[refreshed]— thesection is genuinely closed.
2.
roadmap.md§"Example work" — three items landedEchoExampleProvenance, examples: Example 5 — database provenance (K-provenance semiring) #81) →[landed]EchoExampleParser, examples: Example 9 — parser residue (balanced parens) #83) →[landed]EchoExampleAbsInt, examples: Example 10 — abstract interpretation (Sign lattice) #82) →[landed]Only ex. 6 (approximate-echo numeric example) remains
[unblocked].3.
earn-back-plan.adoc— staleroadmap-gates.adocclaim correctedattributed to a
roadmap-gates.adoc; that file does not existin-tree". The file does exist (created 2026-05-18; see its
preamble). Header rewritten to list
roadmap-gates.adocalongsideretractions.adoc/ this plan /next-questions.adocas the fourcanonical loci.
with the cite reflecting current reality.
Test plan
.adoc/.mdedits — no Agda touchedagda proofs/agda/All.agdaexit 0 (confirms docs match code)agda proofs/agda/Smoke.agdaexit 0overclaimed;
paper.adoc/types-abstract.adoc/conservativity.adocuntouchedScope
Disjoint from all currently-open PRs:
retractions.adoc(different sections)earn-back-plan.adocStatus (different section from header /ledger-D)
No retracted claim is moved. No earned-back claim is overclaimed.
paper.adoc/types-abstract.adoc/conservativity.adocareintentionally untouched (owner-gated, per the posture set by #86 /
#88).
🤖 Generated with Claude Code