ワンクリックで
Synchronize Spin/Promela models with current source code and re-verify
npx skills add https://github.com/AI-native-Systems-Research/ai-native-storage-certus --skill tools-spin-syncこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストール
Synchronize Spin/Promela models with current source code and re-verify
npx skills add https://github.com/AI-native-Systems-Research/ai-native-storage-certus --skill tools-spin-syncこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストール
| name | tools-spin-sync |
| description | Synchronize Spin/Promela models with current source code and re-verify |
| argument-hint | [model-name | all] |
Ensure that existing Spin/Promela models in modelling/spin/ accurately reflect the current source code, then re-run model checking to confirm the properties still hold.
The user provides one of:
modelling/spin/, e.g. write-before-evict, no-lost-extents)all — synchronize every model found in modelling/spin/List all subdirectories under modelling/spin/ that contain a .pml file and a README.md. Each such directory is a model.
If no argument was provided, present the list and ask:
Which model(s) would you like to synchronize?
- write-before-evict
- no-lost-extents
- (other models...) A. All of the above
Extract from the README:
For each entry in the Correspondence table, read the referenced source file and the indicated line range (plus ~50 lines of context on each side to detect if the logic has shifted).
Read the full Promela specification to understand the current model logic.
Compare the model against the source and look for:
For each model, report one of:
If the model requires updating:
For each model (whether updated or unchanged):
cd modelling/spin/<model-name>
make clean
make
Report the results:
spin -t -p <model>.pml to get the error trailIf Spin is not installed (/usr/local/bin/spin missing), warn the user and skip verification.
Present a final summary table:
| Model | Status | Divergences | Verification | States | Unreached |
|---|---|---|---|---|---|
| write-before-evict | IN SYNC | — | PASS | 12345 | 0 |
| no-lost-extents | UPDATED | new abort path | PASS | 67890 | 0 |
modelling/spin/<name>/<name_underscored>.pml (name uses hyphens for the directory, underscores for the .pml filename).make/make clean targets.Add Coq 8.20 as an additional prover to an existing Creusot installation, for verification conditions that SMT solvers cannot discharge
Install the Creusot Rust verification tool
Prepare an existing Cargo project to use Creusot formal verification
Create a new Spin/Promela formal verification model for a system property
Measure system performance of this platform using
Create a new version of a component