Background
Roadmap 4.1.2 shipped the dedicated kani-smoke CI job (PR #308). As scoped
at the time, the job runs only the bounded smoke path — currently
make install-kani followed by make kani-check (a Kani version check) —
because no proof harnesses existed yet. Populating the bounded harness set was
explicitly deferred to the 4.2.* roadmap work (see
docs/execplans/4-1-2-kani-smoke-ci-job.md, Risk section).
Current gap
4.2.1 and 4.2.2 have since landed real harnesses (nine IR harnesses plus
four cycle-canonicalization harnesses; 13 #[kani::proof] total). However, the
kani-smoke PR job still runs only make kani-check, so those bounded
harnesses are not exercised on pull requests.
Proposed work
- Point the
kani-smoke PR job at the bounded harness set (e.g. make kani-ir
/ make kani-full) instead of, or in addition to, make kani-check.
- Keep the existing
build-test job unchanged and preserve the isolated Kani
cache (.kani-cargo / .kani-home, keyed on tools/kani/VERSION).
- Confirm the cold-run wall-clock stays within the execplan tolerance (the
4.1.2 plan flagged a 20-minute ceiling).
References
docs/roadmap.md — 4.1.2 (third subtask signposts this issue).
docs/execplans/4-1-2-kani-smoke-ci-job.md.
.github/workflows/ci.yml — kani-smoke job.
Background
Roadmap
4.1.2shipped the dedicatedkani-smokeCI job (PR #308). As scopedat the time, the job runs only the bounded smoke path — currently
make install-kanifollowed bymake kani-check(a Kani version check) —because no proof harnesses existed yet. Populating the bounded harness set was
explicitly deferred to the
4.2.*roadmap work (seedocs/execplans/4-1-2-kani-smoke-ci-job.md, Risk section).Current gap
4.2.1and4.2.2have since landed real harnesses (nine IR harnesses plusfour cycle-canonicalization harnesses; 13
#[kani::proof]total). However, thekani-smokePR job still runs onlymake kani-check, so those boundedharnesses are not exercised on pull requests.
Proposed work
kani-smokePR job at the bounded harness set (e.g.make kani-ir/
make kani-full) instead of, or in addition to,make kani-check.build-testjob unchanged and preserve the isolated Kanicache (
.kani-cargo/.kani-home, keyed ontools/kani/VERSION).4.1.2plan flagged a 20-minute ceiling).References
docs/roadmap.md—4.1.2(third subtask signposts this issue).docs/execplans/4-1-2-kani-smoke-ci-job.md..github/workflows/ci.yml—kani-smokejob.