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
(consequences "Users write zero target language code; all complexity in the -iser"))
12
+
(context "Need to make Dafny verification accessible without requiring users to learn Dafny syntax")
13
+
(decision "Use manifest-driven code generation: user describes WHAT (pre/postconditions), dafniser generates HOW (Dafny source with verification annotations)")
14
+
(consequences "Users write zero Dafny; all complexity in the -iser; specs are TOML, not Dafny"))
15
15
16
16
(adr "002-abi-ffi-standard"
17
17
(status "accepted")
18
-
(context "Need verified interop between Rust CLI, target language, and user code")
19
-
(decision "Idris2 ABI for formal proofs, Zig FFI for C-ABI bridge")
20
-
(consequences "Compile-time correctness guarantees; zero runtime overhead from proofs"))
18
+
(context "Need verified interop between Rust CLI, Dafny compiler, Z3, and user code")
19
+
(decision "Idris2 ABI for formal proofs of spec consistency; Zig FFI for C-ABI bridge to Dafny compilation and verification pipeline")
20
+
(consequences "Compile-time correctness guarantees for specs; zero runtime overhead from proofs"))
21
21
22
-
(adr "003-rsr-template"
22
+
(adr "003-dafny-verification-pipeline"
23
+
(status "accepted")
24
+
(context "Dafny uses Z3 SMT solver for automatic verification of requires/ensures/invariant/decreases")
(explanation "User intent captured in TOML; all generation is deterministic and reproducible"))
50
+
(explanation "User intent captured in TOML — pre/postconditions, invariants, ghost variables, lemma hints; all generation is deterministic and reproducible"))
38
51
(principle "Formally verified bridges"
39
-
(explanation "Idris2 dependent types prove interface correctness at compile time"))
40
-
(principle "Zero target language exposure"
41
-
(explanation "Users never write Chapel/Julia/Futhark/etc. — the -iser handles everything"))))
52
+
(explanation "Idris2 dependent types prove spec consistency at compile time — no contradictory requires/ensures, well-founded decreases, ghost variables stay ghost"))
53
+
(principle "Zero Dafny exposure"
54
+
(explanation "Users never write or read Dafny — the -iser handles all Dafny syntax, Z3 interaction, and target compilation"))
55
+
(principle "Counterexample-driven feedback"
56
+
(explanation "When Z3 finds a violation, dafniser maps the counterexample back to the TOML spec location with a concrete witness value"))))
3. Read `.machine_readable/6a2/STATE.a2ml` for current project state
135
+
4. State understanding of canonical locations
118
136
119
137
## ATTESTATION PROOF
120
138
121
-
**"I have read the AI manifest. All machine-readable content (state files, anchors, policies, bot directives, contractiles, AI guides) is located in `.machine_readable/` ONLY, and community metadata is in `.github/`. I will not create duplicate files in the root directory."**
139
+
**"I have read the AI manifest for dafniser. All machine-readable content (state files, anchors, policies, bot directives, contractiles, AI guides) is located in `.machine_readable/` ONLY, and community metadata is in `.github/`. I will not create duplicate files in the root directory."**
0 commit comments