Skip to content

Commit f6729e4

Browse files
crumplecupCopilot
andcommitted
fix(proof-crate-gen): improve generated README content
- Remove 'do not edit by hand' — users own the README after first gen - Replace raw verifier commands with elicitation prove --kani/--creusot/--verus --csv - Add Contents table summarising the three generated backend directories - Update elicit_proofs/README.md to match Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent ffaf6ab commit f6729e4

2 files changed

Lines changed: 49 additions & 20 deletions

File tree

crates/elicit_proofs/README.md

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
# elicit_proofs
22

3-
> **Auto-generated** — do not edit by hand.
4-
> Regenerate with `elicitation generate proof-crate`.
5-
63
Kani, Creusot, and Verus proof harnesses for [`elicit_server`],
7-
produced by [elicitation](https://crates.io/crates/elicitation).
4+
generated by [elicitation](https://crates.io/crates/elicitation).
5+
6+
This README was scaffolded on first generation and can be freely edited —
7+
subsequent runs of `elicitation generate proof-crate` will not overwrite it.
8+
9+
## Contents
10+
11+
| Directory | Description |
12+
|-----------|-------------|
13+
| `src/kani/generated/` | Kani proof harnesses, one per VSM transition |
14+
| `src/creusot/generated/` | Creusot logic predicates and extern specs |
15+
| `src/verus/generated/` | Verus proof harnesses |
816

9-
## Verifiers
17+
## Running proofs
1018

11-
| Backend | Feature flag | Run command |
12-
|----------|-------------|-----------------------------------|
13-
| Kani | `kani` | `cargo kani` |
14-
| Creusot | `creusot` | `cargo creusot prove` |
15-
| Verus | `verus` | `verus src/lib.rs` |
19+
```sh
20+
# Kani
21+
elicitation prove --kani --csv
22+
23+
# Creusot
24+
elicitation prove --creusot --csv
25+
26+
# Verus
27+
elicitation prove --verus --csv
28+
```
1629

1730
## Regenerating
1831

crates/elicitation/src/cli/generate/proof_crate_gen.rs

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -726,19 +726,32 @@ fn render_readme(proof_name: &str, primary_source: &str) -> String {
726726
format!(
727727
r#"# {proof_name}
728728
729-
> **Auto-generated** — do not edit by hand.
730-
> Regenerate with `elicitation generate proof-crate`.
731-
732729
Kani, Creusot, and Verus proof harnesses for [`{primary_source}`],
733-
produced by [elicitation](https://crates.io/crates/elicitation).
730+
generated by [elicitation](https://crates.io/crates/elicitation).
731+
732+
This README was scaffolded on first generation and can be freely edited —
733+
subsequent runs of `elicitation generate proof-crate` will not overwrite it.
734+
735+
## Contents
734736
735-
## Verifiers
737+
| Directory | Description |
738+
|-----------|-------------|
739+
| `src/kani/generated/` | Kani proof harnesses, one per VSM transition |
740+
| `src/creusot/generated/` | Creusot logic predicates and extern specs |
741+
| `src/verus/generated/` | Verus proof harnesses |
742+
743+
## Running proofs
744+
745+
```sh
746+
# Kani
747+
elicitation prove --kani --csv
736748
737-
| Backend | Feature flag | Run command |
738-
|----------|-------------|-----------------------------------|
739-
| Kani | `kani` | `cargo kani` |
740-
| Creusot | `creusot` | `cargo creusot prove` |
741-
| Verus | `verus` | `verus src/lib.rs` |
749+
# Creusot
750+
elicitation prove --creusot --csv
751+
752+
# Verus
753+
elicitation prove --verus --csv
754+
```
742755
743756
## Regenerating
744757
@@ -751,6 +764,9 @@ elicitation generate proof-crate \
751764
"#
752765
)
753766
}
767+
"#
768+
)
769+
}
754770
755771
756772
/// return the names of any external crates that appear in `workspace_deps` but

0 commit comments

Comments
 (0)