Skip to content

Commit ff09981

Browse files
docs(proof): correct stale PROOF-NEEDS current-state (#73)
Re-verified 2026-06-29. Corrects stale Current State (abi present-but-placeholder; generated Verified/*.idr fail typecheck; 265 unwrap not 225). Docs-only; keeps origin/main's CC-BY-SA-4.0 header. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 6d4b339 commit ff09981

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

PROOF-NEEDS.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,20 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
66

77
## Current State
88

9-
- **src/abi/*.idr**: NO
10-
- **Dangerous patterns**: 225 `unwrap()` calls across Rust codebase
9+
_Re-verified 2026-06-29 (idris2 0.8.0)._
10+
11+
- **src/abi/*.idr**: PRESENT but **placeholder**`src/abi/Proofs.idr` typechecks, but its
12+
theorems are trivial/tautological (e.g. `memoryDefeatsGPU : So (65536 >= 65536)`,
13+
`timeCostMonotonic : So (a >= b) -> So (a >= b)` returns its own hypothesis). NOT the
14+
security proofs listed below.
15+
- **generated/idrisiser/idris2/Januskey/Verified/*.idr**: **DO NOT typecheck**
16+
`idris2 --check` fails ("Expected a capitalised identifier, got: key") because the
17+
generated module names are lowercase. Despite the `Verified/` name, nothing there is
18+
currently verified.
19+
- **Dangerous patterns**: **265** `unwrap()` calls across the Rust codebase.
1120
- **LOC**: ~12,200 (Rust)
12-
- **ABI layer**: Missing
21+
- **ABI layer**: present (`src/abi/{Types,Foreign,Layout,Proofs}.idr`) but carries no
22+
load-bearing security proof yet — the real obligations below are still open.
1323

1424
## What Needs Proving
1525

0 commit comments

Comments
 (0)