Commit b372397
refactor(proofs/idris2): drop misleading partial markers on RMO.idr secureDelete + gdprDelete (2 of 10 from #89)
Two of the 10 `partial` markers in #89's scope were misleading
annotations: `secureDelete` and `gdprDelete` are IO computations,
exhaust their case-splits, and never recurse. IO does not introduce
partiality in Idris2 — these are legitimately total.
Verified locally with #105's Model.idr fixes applied (post-#105 the
Idris2 build proceeds past both functions without partial-checker
complaint).
The remaining 8 partial markers all live in `Composition.idr`:
- `applyOp` / `applySequence` — partial because operations have
preconditions that aren't represented in the type. Requires a real
refactor to either return `Maybe Filesystem` or carry precondition
proofs as dependent arguments.
- `execute` / `undo` / `redo` — partial because they call `applyOp`;
cascade-cleanup as applyOp becomes total.
- `sequenceReversible` / `undoRedoIdentity` / `undoRedoComposition` —
proof bodies with `?holes`; require closure before totality.
Per #89's resolution: gap-per-PR. The Composition.idr refactor is
substantive enough for its own track and is gated on #70's build
oracle landing (in flight as #106) so each conversion can be machine-
verified.
Closes 2 of 10 markers in #89; #89 stays open for the remaining 8.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 7a6ea55 commit b372397
1 file changed
Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
53 | 56 | | |
54 | | - | |
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
| |||
135 | 137 | | |
136 | 138 | | |
137 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
138 | 143 | | |
139 | | - | |
140 | 144 | | |
141 | 145 | | |
142 | 146 | | |
| |||
0 commit comments