Skip to content

Commit 273c51e

Browse files
Update AGENTS.md
1 parent c05449a commit 273c51e

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

AGENTS.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# AGENT Instructions
22

3-
This repository contains the `anybytes` Rust crate.
4-
53
## Project Priorities
64

75
The project balances a few key goals:
@@ -42,10 +40,16 @@ Kani verification can be expensive. To keep proof times manageable:
4240

4341
* Write focused harnesses that verify one small property.
4442
* Use bounded loops and avoid unbounded recursion.
43+
* When generating nondeterministic data in proofs, use `kani::any()` for
44+
primitive types and `Vec::bounded_any(...)`/`String::bounded_any(...)` for
45+
collections. This lets Kani explore the intended state space while bounding
46+
otherwise unbounded structures.
47+
* Avoid using fixed constants in Kani proofs. Prefer nondeterministic values
48+
generated with `kani::any()` or the bounded constructors so the verifier can
49+
fully explore possible states.
4550
* Provide `kani::assume` constraints to limit the search space when full exploration is unnecessary.
4651
* Break complex checks into separate proofs so failures are easier to diagnose.
4752
* All Kani proofs are considered long running and are executed as part of the
4853
`preflight.sh` script or in CI.
4954
* During development you can run specific harnesses with `cargo kani --harness
5055
<NAME>` to iterate more quickly.
51-

0 commit comments

Comments
 (0)