docs: port §4.8.1 + §5.1 + L1 admit enumeration to main#182
Merged
Conversation
Brings three doc-only improvements from the design branch onto main: 1. PRESERVATION-DESIGN.md §4.8.1 (from design-branch PR #170 — T_Var strengthening landed via the m-indexed has_type_l1 in #176). Docs what §4.8 path (3) closes and what it does not. 2. PRESERVATION-DESIGN.md §5.1 (from design-branch PR #172) — L1's lambda-rigidity gap (S_App_Step2 / S_Pair_Step2 admits in preservation_l1) closes at L2 Phase 2 via effect-typed TFun. Documents the §5 table's "✓ (L1 fix)" cell as conditional, and explains why effect-typing is L2's job not L1's. 3. docs/proof-debt.adoc — adds the L1 admit enumeration that the design branch carried via PR #169. Eight current escape-hatch sites in Semantics_L1.v listed by file:line per the trusted-base policy substring-match convention. Plus the Echo.v K-closure note (from PR #173's main re-port). No source/proof changes — pure documentation. Allows the trusted-base reduction policy check to substring-match all escape-hatch sites in Semantics_L1.v. Refs design-branch PRs #169 / #170 / #172 / #173, PR #176 (L2 hybrid).
f32b687 to
2aebf63
Compare
🔍 Hypatia Security ScanFindings: 38 issues detected
View findings[
{
"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": "Admitted leaves proof hole (12 occurrences, CWE-704)",
"type": "admitted",
"file": "/home/runner/work/ephapax/ephapax/formal/Semantics_L1.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "Coq admit tactic leaves goal unproven (6 occurrences, CWE-704)",
"type": "coq_admit_tactic",
"file": "/home/runner/work/ephapax/ephapax/formal/Semantics_L1.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/ephapax/ephapax/formal/Semantics_L1.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "Admitted leaves proof hole (3 occurrences, CWE-704)",
"type": "admitted",
"file": "/home/runner/work/ephapax/ephapax/formal/Semantics.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "Coq admit tactic leaves goal unproven (7 occurrences, CWE-704)",
"type": "coq_admit_tactic",
"file": "/home/runner/work/ephapax/ephapax/formal/Semantics.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/ephapax/ephapax/formal/Semantics.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "believe_me undermines formal verification (1 occurrences, CWE-704)",
"type": "believe_me",
"file": "/home/runner/work/ephapax/ephapax/src/formal/Ephapax/Formal/RegionLinear.idr",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "assert_total bypasses totality checker (1 occurrences, CWE-704)",
"type": "assert_total",
"file": "/home/runner/work/ephapax/ephapax/src/formal/Ephapax/Formal/RegionLinear.idr",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "expect() in hot path (1 occurrences, CWE-754)",
"type": "expect_in_hot_path",
"file": "/home/runner/work/ephapax/ephapax/src/ephapax-repl/src/lib.rs",
"action": "flag",
"rule_module": "code_safety",
"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
Brings three doc-only improvements from the (now-superseded) design branch onto main. All are pure documentation; no source/proof changes.
What this PR adds
1.
PRESERVATION-DESIGN.md§4.8.1 (from design-branch PR #170)Records that path (3) —
T_Var_*_L1strengthening — landed via the m-indexedhas_type_l1in #176. Documents what it closes (source-level variable soundness gap) and what it does not (the lambda-rigidity gap inS_App_Step2/S_Pair_Step2).2.
PRESERVATION-DESIGN.md§5.1 (from design-branch PR #172)L1's lambda-rigidity gap closes at L2 Phase 2 via effect-typed
TFun, not at L1. Documents:(*conditional on §5.1*).TFunsignature:TFun T1 T2 (R_in : region_env) (R_out : region_env).T_Lam_L1_*rules.3.
docs/proof-debt.adoc— L1 admit enumeration (from design-branch PR #169)Adds the eight current escape-hatch sites in
Semantics_L1.vlisted byfile:lineper the standards#203 trusted-base policy substring-match convention:region_liveness_at_split_l1)Plus the Echo.v K-closure note (from PR #173's main re-port).
Why this matters
Three independent improvements that the parallel-session #176 bundling didn't include. Each is small enough to ship as part of a single docs cleanup:
trusted-base reduction policycheck to substring-match all current L1 escape-hatch sites by file:line.Companion PRs
region_liveness_at_split_l1(port of proof(L1.G): convert Axiom region_liveness_at_split_l1 to Lemma with 1 narrow admit #178, adapted to m-indexedhas_type_l1). When proof(L1.G): convert Axiom region_liveness_at_split_l1 to Lemma with 1 narrow admit #181 lands, the L608Axiomentry in this PR's proof-debt.adoc will become stale — follow-up doc tweak to update the line numbers post-proof(L1.G): convert Axiom region_liveness_at_split_l1 to Lemma with 1 narrow admit #181.Test plan
file:linesubstring matchesRefs design-branch PRs #169 / #170 / #172 / #173, PR #176 (L2 hybrid), PRs #180 and #181 (companion).
🤖 Generated with Claude Code