You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
admitted-detail = "single_op_reversible OpRmdir branch (proofs/coq/filesystem_composition.v:199): mkdir restores with default_perms, but the original directory may have had different permissions, so mkdir(rmdir(fs)) ≠ fs in general. Full reversibility requires the undo stack to preserve original node data. Known limitation of the Filesystem = Path -> option FSNode model. Pre-existing model gap, flagged in CRG-AUDIT-2026-04-18; the in-source comment at line 195-198 acknowledges it. Declaring honestly here corrects the prior `admitted = 0` claim."
36
+
admitted-detail = """
37
+
3 Admitted markers as of 2026-06-02 post-PR #55 design-gap surfacing:
sequence reversal; not derivable from two_op_sequence_reversible as
41
+
stated. Tracked as #56 (restate as LIFO sequence).
42
+
43
+
2. overwrite_pass_equalizes_storage (rmo_operations.v:422) — model gap.
44
+
Needs Hgeom strengthening or conclusion relaxation. Tracked as #57.
45
+
46
+
3. obliterate_not_injective (rmo_operations.v:535) — downstream of #57;
47
+
reconnects once #57 closes. Tracked as #58.
48
+
49
+
The prior single_op_reversible OpRmdir admit (declared 2026-04-19) was
50
+
Qed-closed by PR #67 (2026-06-01) via OpMkdirWithPerms +
51
+
OpCreateFileWithPerms constructor-variant approach — zero new axioms.
52
+
"""
37
53
axiom-detail = "is_empty_dir_dec: Filesystem = Path -> option FSNode is infinite-domain; universal quantification over all paths is not constructively decidable. Migration: switch to FMaps.t FSNode."
38
54
proof-debt-items-closed = [1, 2]
39
55
proof-debt-open = [3]
@@ -59,6 +75,8 @@ note = "Promotion to C-grade dogfooding evidence requires real daily-driver use
| Agda |`postulate funext`|`proofs/agda/FilesystemModel.agda:161-162`| Standard intensional-TT axiom; provable under `--cubical`|
26
-
| Coq |`admit.` mid-`single_op_reversible`, OpRmdir branch |`proofs/coq/filesystem_composition.v:199`| Model gap — `mkdir` writes `default_perms`, original may have had non-default |
-`proofs/idris2/src/Filesystem/Composition.idr`: 5 holes (reverseConcat + Operations.idr drive-by holes; the prior 7 `partial` markers were cleared by direct-primitive refactor in PR #109)
36
+
-`proofs/idris2/src/Filesystem/Model.idr`: 3 holes (equivSym + equivTrans + equivReflProof; the last added when DecEq Path fix landed via PR #105)
35
37
36
-
The`partial`annotations above are recognised by `standards/scripts/check-trusted-base.sh` as Idris2 totality escape hatches. They are enumerated here (full paths) so the trusted-base check finds them documented per estate policy (`docs/TRUSTED-BASE-REDUCTION-POLICY.adoc`). Closure path: discharge the corresponding `?hole`with the precondition lemma, then drop the `partial` annotation.
38
+
All`partial`markers in `proofs/idris2/src/Filesystem/*.idr` were cleared 2026-06-02 (PRs #108 + #109, closing #89). The total `partial` count is now zero. Closure path for the remaining 23 holes: discharge with the precondition lemma per theorem.
37
39
38
40
### Foundational Closure (history)
39
41
@@ -46,6 +48,10 @@ The `partial` annotations above are recognised by `standards/scripts/check-trust
46
48
| 2026-04-03 | ReScript closure | All 24 `Obj.magic` in `impl/mcp/src/Server.res` replaced with `toolResultToJson`|
| 2026-06-01 | Narrative reconciliation |`obliterate_overwrites_all_blocks` (which PROOF_HOLES_AUDIT listed as the gap) confirmed closed; actual gap identified as model-perm gap in composition.v |
51
+
| 2026-06-01 |`single_op_reversible` OpRmdir branch | Closed Qed via `OpMkdirWithPerms` + `OpCreateFileWithPerms` constructor-variant approach (PR #67); zero new axioms |
**Total**: 4 modules, 23 proof holes to fill, 0 `partial` annotations (cleared 2026-06-02 via PRs #108 + #109)
36
36
37
37
### Proof Holes (TODO)
38
38
@@ -105,13 +105,13 @@ just build-idris2 # cd proofs/idris2 && idris2 --build valence-shell.ipkg
105
105
just verify-idris2 # build + count distinct ?holes for regression tracking
106
106
```
107
107
108
-
#### Known oracle status (2026-06-01)
108
+
#### Known oracle status (2026-06-02)
109
109
110
-
`build-idris2` currently fails on pre-existing issues outside #60/#61's scope:
110
+
`build-idris2` currently fails on pre-existing issues outside the #60/#61/#89 scope:
111
111
112
-
-`Filesystem/Model.idr` — `equivSym` / `equivTrans` are deliberate `?holes`; trivial closure when needed.
113
-
-`Filesystem/RMO.idr` — `hardwareEraseIrreversible`'s `() -> Filesystem` parameter has a parse issue under Idris2 0.8.0 (tracked as part of #94 alongside the 10 partial markers).
-`Filesystem/RMO.idr` — `hardwareEraseIrreversible`'s `() -> Filesystem` parameter has a parse issue under Idris2 0.8.0 (tracked as part of #94, the remaining practice gaps under #45). The 10 `partial` annotations previously listed in this bullet were cleared 2026-06-02 by PRs #108 + #109 (closing #89).
0 commit comments