Fil-C on Nix

Filnix wiki

mbrock/filnix/nanofil

campaign

nanofil

A campaign is one numbered stage of nanofil's formal plan in formal.md, from Campaign 0 (measure which checks survive) to Campaign 7 (prove one program never panics). Each ends with a note in docs/ saying what it found.

CampaignGoalNote
0measure the residual checksresidual.md
1the core model in Rocq, agreeing with the interpreterrocq.md
2the runtime as axiomsruntime-axioms.md
3[[soundnesssoundness of checking]], valid_no_uncheckedrocq.md
4observations, refinement, libc [[external-callcontracts]]libc-contracts.md
5static discharge by certificatenot started
6integration with Filnixnot started
7trap-freedom of one pinned programtrap-census.md

The word has two other meanings nearby. campaign.md is "the campaign": nanofil's foundation as an executable account of Fil-C's capability semantics, which formal.md extends. And "the full campaign" is the opt-in Rocq check with every mutant. Filnix's port campaign is unrelated.

See formal.md, The campaigns at a glance.