echo(image-factorization-prop): postulated-truncation consumer + Exploratory classification#148
echo(image-factorization-prop): postulated-truncation consumer + Exploratory classification#148hyperpolymath wants to merge 1 commit into
Conversation
…oratory classification Demonstrates that the parametric `TruncInterface` slot in `EchoImageFactorizationProp` is plug-in-usable by exhibiting a concrete instance built from four postulates matching the four interface fields. New module `EchoImageFactorizationPropPostulated`: * Flag profile `--without-K` only (no `--safe`); `postulate` is forbidden under `--safe`, so this module lives outside the kernel cone. * Four postulates `Trunc-pos`, `∣_∣-pos`, `is-prop-pos`, `rec-pos` realising the standard (-1)-truncation laws (cited as the Cubical-Agda or hand-rolled-HIT discipline; not mechanised here). * `trunc : TruncInterface ℓ` repackaged from the postulates. * `module ImagePropPostulated f` re-opens `EchoImageFactorizationProp.ImageProp trunc f` for any `f : A → B` at the same level. * Demonstrative pinned exports `prop-factor-right-injective-demo` (mono side) and `prop-factor-left-mere-surjective-demo` (epi side) — both confirm the parametric content type-checks at the concrete instance. Classification: Exploratory in `docs/echo-types/echo-kernel-note.adoc` (alongside `EchoDecorationBridge`). Deliberately NOT wired into `proofs/agda/All.agda` so the verified suite is unaffected. `scripts/kernel-guard.sh` PASS. Honest scope: this is a POSTULATED-INTERFACE demonstration, NOT a HIT construction. The base `EchoImageFactorizationProp` remains kernel-cone compatible (`--safe --without-K`, zero postulates) and is the load-bearing artefact. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 75 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 codeql.yml",
"type": "missing_workflow",
"file": "codeql.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"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"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
|
Closing: The postulated consumer demo for the (epi, mono) image factorisation can't land here as currently architected. Three follow-on paths if revisited:
The keystone module |
Pull request was closed
…ils policy (#152) Four narrative-alignment edits after the post-compact session: - **CONTRIBUTING.md**: add Pre-merge checklist item #5 documenting \`tools/check-guardrails.sh\` (the CI-enforced no-postulates + mandatory \`--safe --without-K\` policy across \`proofs/agda/**\`). PR #148 (postulated \`EchoImageFactorizationPropPostulated\` consumer) was closed precisely because this guardrail was not discoverable in user-facing docs. **Critical** — addresses a real contributor gotcha. - **docs/echo-types/MAP.adoc**: index the two new Buchholz modules from this session — \`RankLexJointBplus\` (PR #147) and \`RankMonoUmbrellaSlice4\` (PR #149) — alongside the existing Slice 3 trio. - **roadmap.adoc**: refresh Lane 3 status — Slice 3 + Slice 4 both LANDED 2026-05-28 with the two constructor-level shortfalls pinned as \`⊤\`-aliases; bottleneck moves to unbudgeted \`_<ᵇʳᶠ_\` global WF. - **README.md**: Ordinal track one-line ledger gains 2026-05-28 Slice 3 + Slice 4 entry. Pure narrative — no Agda touched, no proof obligations changed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Demonstrates the parametric
TruncInterfaceslot inEchoImageFactorizationPropis plug-in-usable by exhibiting a concrete instance built from four postulates matching the interface fields.New module
EchoImageFactorizationPropPostulated:--without-Konly (no--safe) —postulateis forbidden under--safe, so this module lives outside the kernel cone.trunc : TruncInterface ℓrepackaged +module ImagePropPostulated fconsumer wrapper.prop-factor-right-injective-demo(mono) +prop-factor-left-mere-surjective-demo(epi) — confirm parametric content type-checks at the concrete instance.Classification: Exploratory in
docs/echo-types/echo-kernel-note.adoc(alongsideEchoDecorationBridge). Deliberately NOT wired intoproofs/agda/All.agda.Honest scope
POSTULATED-INTERFACE demonstration, NOT a HIT construction. The base
EchoImageFactorizationPropremains kernel-cone compatible (--safe --without-K, zero postulates) and is the load-bearing artefact. The HIT instantiation under--cubicalis the next earn-back step.Test plan
agda --library-file=... proofs/agda/EchoImageFactorizationPropPostulated.agdaEXIT 0scripts/kernel-guard.shPASS (classification-drift lint sees the new module via Exploratory section)EchoImageFactorizationPropunchanged; kernel cone unchangedAll.agda(per Exploratory precedent)🤖 Generated with Claude Code