EchoResidueTaxonomy: Search + Epistemic as ResidueForm instances#139
Merged
hyperpolymath merged 1 commit intoMay 28, 2026
Merged
Conversation
Closes the last two "structurally compatible" gaps in the Tier-2
residue grid companion remark. All eight decoration modules now
have packaged ResidueForm instances (six worked + two endpoints).
* `search-residue` — bounded-`n` search witness as the residue
carrier, parametric in a search-completeness witness
`∀ {y} (e : Echo f y) → Σ ℕ λ k → (k < n) × (enum k ≡ proj₁ e)`.
Mirrors `module CostInstance.cost-residue`'s parametric-witness
shape: an external proof that the relevant point exists in the
decoration's quantitative axis is passed at the boundary. The
lowering's EchoS triple is `(k, k<n, trans (cong f eq) p)`.
* `epistemic-residue` — `identity-residue` specialised to `obs r`
(Role → Bool from EchoChoreo). The indistinguishability class
at observation value `y` IS the fibre `Echo (obs r) y`, so the
"quotient by indist" interpretation collapses definitionally to
identity. Pinned under a distinct name so the epistemic reading
is discoverable at the taxonomy boundary; no new carrier (a
setoid carrier with explicit equivalence relation or a
propositional truncation of the class would both be separate
earn-back lifts — the latter handled by EchoImageFactorizationProp
in a related PR).
Companion remark updated to mark items 6 and 8 as LANDED (matching
items 5 and 7 which landed 2026-05-27); closing paragraph revised
to reflect all eight decorations now packaged.
Smoke.agda pin extended to include `search-residue` and
`epistemic-residue`.
## Build invariant
* `EchoResidueTaxonomy.agda` compiles standalone under
`--safe --without-K`, zero postulates, no funext.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 69 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 secret-scanner.yml",
"type": "missing_workflow",
"file": "secret-scanner.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in agda.yml",
"type": "unknown",
"file": "agda.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in agda.yml",
"type": "unknown",
"file": "agda.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in governance.yml",
"type": "unknown",
"file": "governance.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in hypatia-scan.yml",
"type": "unknown",
"file": "hypatia-scan.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in mirror.yml",
"type": "unknown",
"file": "mirror.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard.yml",
"type": "unknown",
"file": "scorecard.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Agda postulate assumes without proof -- potential soundness hole (1 occurrences, CWE-704)",
"type": "agda_postulate",
"file": "/home/runner/work/echo-types/echo-types/tutorial/epistemic_erasure/EpistemicErasure.agda",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "Agda postulate assumes without proof -- potential soundness hole (1 occurrences, CWE-704)",
"type": "agda_postulate",
"file": "/home/runner/work/echo-types/echo-types/tutorial/region_exit_audit/RegionExitAudit.agda",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
3 tasks
hyperpolymath
added a commit
that referenced
this pull request
May 28, 2026
…ADME) (#144) ## Summary Surgical narrative refresh across the five canonical doc surfaces (CHANGELOG.md, EXPLAINME.adoc, docs/echo-types/MAP.adoc, README.md, readme.adoc) to catch up with the six PRs that landed 2026-05-28: #136 (kernel-guard fix), #137 (Slice 3 prerequisites), #138 (EchoImageFactorizationProp), #139 (ResidueTaxonomy Search + Epistemic), #140 (banner kit), #141 (Slice 3 headline). ## Changes per file - **CHANGELOG.md** (+78 lines) — new \`### Added (2026-05-28)\` + \`### Fixed (2026-05-28)\` blocks covering all six PRs with honest framing (Slice 3 headline closure described as "under a strict-head premise"; bpsi=bpsi-at-equal-markers caller-burden sub-case explicitly NOT closed). - **EXPLAINME.adoc** (+4 lines) — status-snapshot bullets for Slice 3, canonical identity layer extensions, and CI / foundational hygiene; new \`docs/echo-types/echo-kernel-note.adoc\` entry in "Where to look first". - **docs/echo-types/MAP.adoc** (+14 / -9 net) — new (epi, mono) bullet adjacent to image factorisation; ResidueForm instance count 4 → 6 with Search + Epistemic named; Buchholz proofs list gains RankPowSlice3 + RankPowSlice3Headline with strict-head-premise framing. - **README.md** (+2 / -2) — Tier 1 + Tier 2 mermaid node labels updated for ImageFactorizationProp + Search/Epistemic. - **readme.adoc** (+2 / -1) — Tier 1 + Tier 2 list mirror updated. ## Verification - \`scripts/kernel-guard.sh\` PASS (both Check A funext-free + Check B classification-drift). - No Agda code touched; docs-only refresh. ## Honesty constraints preserved - Slice 3 headline framed as closed *under a strict-head premise*, not unconditionally. - bpsi=bpsi-at-equal-markers caller-burden sub-case explicitly named as NOT closed (rank-adm / rank-lex remaining work). - PR #136 framed as "infrastructure honesty, not a proof-content advance". - 11/13 per-constructor rank-mono count unchanged. ## Test plan - [x] kernel-guard.sh PASS locally - [ ] CI green on this PR - [ ] Admin-merge once green or budget permits 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 tasks
hyperpolymath
added a commit
that referenced
this pull request
May 28, 2026
## Summary Two corrections to PR #144's narrative refresh. ## ResidueForm instance count: 6 → 8 PR #144 stated the post-#139 ResidueForm count as six. The actual count is eight. The pre-#139 baseline was already six (not four): the 2026-05-27 audit-follow-on landed \`indexed-residue\` + \`cost-residue\` (lines 181–234 of EchoResidueTaxonomy.agda). PR #139 then added \`search-residue\` + \`epistemic-residue\`, for a total of 8. ## Slice 3 closure: PRs #142 + #143 PR #144 framed the Slice 3 umbrella case-split as remaining work and the \`bpsi=bpsi at equal markers\` sub-case as still needing α's rank via rank-adm / rank-lex. Both landed in PRs #142 + #143: - **PR #142** — \`_<ᵇ¹_\` extension with joint-bplus + strict-head dispatch wires the headline (from #141) into the umbrella. - **PR #143** — \`bpsi-source-at-equality\` ψ-rank discharge closes the last sub-case via rank-lex. CHANGELOG + EXPLAINME updated to acknowledge both. ## Files - CHANGELOG.md — count fix + new Slice 3 follow-on bullet (#142 + #143) - EXPLAINME.adoc — Slice 3 narrative refreshed - docs/echo-types/MAP.adoc — 8 instances enumerated with landing dates - README.md — Tier 2 mermaid label - readme.adoc — Tier 2 list mirror ## Verification \`scripts/kernel-guard.sh\` PASS. No Agda code changed. ## Test plan - [x] kernel-guard.sh PASS - [ ] Admin-merge if budget permits Refs: echo-types#142, echo-types#143, echo-types#144. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Closes the last two "structurally compatible" gaps in the Tier-2 residue grid companion remark. All eight decoration modules now have packaged
ResidueForminstances (six worked + two endpoints).What lands
search-residue— bounded-nsearch witness as the residue carrier, parametric in a search-completeness witness∀ {y} (e : Echo f y) → Σ ℕ λ k → (k < n) × (enum k ≡ proj₁ e). Mirrorsmodule CostInstance.cost-residue's parametric-witness shape.epistemic-residue—identity-residuespecialised toobs r. The indistinguishability class at observationyIS the fibreEcho (obs r) y, so the "quotient by indist" interpretation collapses definitionally to identity. Pinned under a distinct name so the epistemic reading is discoverable.Companion remark updated to mark items 6 and 8 as LANDED; closing paragraph revised to reflect all eight decorations now packaged.
Smoke.agda pin extended.
Test plan
EchoResidueTaxonomy.agdacompiles standalone under--safe --without-K, zero postulates.