@codacy/verity-cli 0.35.4 → 0.35.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.md +22 -10
- package/bin/verity.js +432 -264
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -64,6 +64,35 @@ installs are untouched.
|
|
|
64
64
|
which is the ordinary case for someone whose first Verity install *is* the
|
|
65
65
|
plugin.
|
|
66
66
|
|
|
67
|
+
## [0.35.5] — 2026-11-11
|
|
68
|
+
|
|
69
|
+
### 🔬 Formal verification at push is on by default
|
|
70
|
+
|
|
71
|
+
- **Every project gets the formal check at push**, also a project set up
|
|
72
|
+
before. Until now it ran only where `formal: "push"` was written, and
|
|
73
|
+
`verity init` wrote that only for a new project. At a push, Verity can check
|
|
74
|
+
a small Lean model of the riskiest changed function and replay a
|
|
75
|
+
counterexample on the real code. Only a reproduced bug can block. For the
|
|
76
|
+
replay, the source of that function goes to the Verity service. Turn it off
|
|
77
|
+
for a checkout with `verity config formal off`, or for a shell with
|
|
78
|
+
`VERITY_GIT_MOMENT_FORMAL=off`.
|
|
79
|
+
- **The first session after the upgrade starts the Lean 4 download** (about
|
|
80
|
+
800 MB, 2.7 GB on disk) on a machine with no install record, and says once
|
|
81
|
+
per machine that formal is on and how to turn it off. When Lean will not
|
|
82
|
+
come (`VERITY_NO_LEAN=1`, CI, too little disk, no release for the platform,
|
|
83
|
+
a failed download), it says why, and that a push skips the formal check.
|
|
84
|
+
`VERITY_NO_LEAN=1` and CI are checked before any probe for Lean.
|
|
85
|
+
- **An "off" counts only from a file that you control.** An "off" in a
|
|
86
|
+
`.verity/config.json` that git tracks, or that is a link, is ignored: a
|
|
87
|
+
repository cannot switch the review off for its clones. `verity config
|
|
88
|
+
formal`, `verity doctor`, `verity init` and the notice say so, and name
|
|
89
|
+
`git rm --cached .verity/config.json`. When git cannot tell, the "off" is
|
|
90
|
+
kept and the push says `formal: skipped (off-unverified: …)`.
|
|
91
|
+
- **Breaking:** `verity config formal` prints `push` when nothing is set
|
|
92
|
+
(it printed `off`). A re-run of `verity init` starts the Lean download in an
|
|
93
|
+
existing project. An earlier "off" in a tracked `.verity/config.json` no
|
|
94
|
+
longer counts.
|
|
95
|
+
|
|
67
96
|
## [0.35.4] — 2026-11-10
|
|
68
97
|
|
|
69
98
|
### 📐 The Standard file is machine-local
|
package/README.md
CHANGED
|
@@ -205,8 +205,9 @@ No re-setup needed: your token, Standard, and run history all carry over.
|
|
|
205
205
|
| `verity memory untrack` | Stop committing `.verity/memory/` — the graph stays on disk and leaves your diffs |
|
|
206
206
|
| `verity memory track` | Commit the graph on purpose, and record that so nothing offers to change it |
|
|
207
207
|
| **Formal verification** | |
|
|
208
|
-
| `verity config formal
|
|
209
|
-
| `verity config formal off` | Turn it off |
|
|
208
|
+
| `verity config formal` | Show the setting in force: `push` (the default) or `off` |
|
|
209
|
+
| `verity config formal off` | Turn it off for this checkout. The answer stays: nothing turns it on again |
|
|
210
|
+
| `verity config formal push` | Turn it back on for this checkout: at push, one risky changed function may get a Lean model, checked and replayed (see below) |
|
|
210
211
|
| `verity lean status` / `install` / `remove` | The managed Lean 4 toolchain the models are checked with (≈800 MB download, 2.7 GB on disk) |
|
|
211
212
|
| `verity prove candidates [paths]` | Rank the riskiest code from git history and shape signals, no model |
|
|
212
213
|
| `verity prove auto [files]` | Run the push-time phase by hand on the commits ahead of upstream |
|
|
@@ -233,7 +234,7 @@ No re-setup needed: your token, Standard, and run history all carry over.
|
|
|
233
234
|
| `/verity-reflect` | Capture learnings after a task |
|
|
234
235
|
| `/verity-prove <worry>` | Formal verification on demand: pick a function together, model it in Lean, replay any counterexample on the real code |
|
|
235
236
|
|
|
236
|
-
## Formal verification (
|
|
237
|
+
## Formal verification (on by default)
|
|
237
238
|
|
|
238
239
|
At `git push`, beside the review, Verity can build a **small Lean 4 model of one
|
|
239
240
|
risky function in the change**, search every interleaving of its actions up to a
|
|
@@ -249,13 +250,24 @@ or plain code stops in under a second with a named reason. Counterexamples can
|
|
|
249
250
|
only be replayed for **TypeScript, JavaScript and Python**; other languages stop
|
|
250
251
|
before any model is paid for.
|
|
251
252
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
253
|
+
Formal verification is on by default in every project, unless someone turned
|
|
254
|
+
it off with `verity config formal off` (or `VERITY_GIT_MOMENT_FORMAL=off`). An
|
|
255
|
+
"off" is an answer and stays. It does not count from a `.verity/config.json`
|
|
256
|
+
that git tracks or that is a link: a repository cannot switch the review off
|
|
257
|
+
for its clones. When git cannot tell, the "off" is kept and the push says
|
|
258
|
+
`formal: skipped (off-unverified: …)`.
|
|
259
|
+
|
|
260
|
+
The Lean 4 toolchain downloads in the background (≈800 MB, 2.7 GB on disk;
|
|
261
|
+
`verity lean status` shows the progress). `verity init` starts the download,
|
|
262
|
+
and the first Claude Code session after an upgrade starts it on a machine that
|
|
263
|
+
never tried. That session also says once, per machine, that formal is on, how
|
|
264
|
+
to turn it off, and why Lean will not come when it cannot.
|
|
265
|
+
|
|
266
|
+
Until Lean is ready, a push reports `formal: skipped (no-toolchain: Lean
|
|
267
|
+
installing, 63%)` and the gate decision does not change. The download does not
|
|
268
|
+
start in CI (unless `VERITY_LEAN=1`), with `VERITY_NO_LEAN=1`, with formal off,
|
|
269
|
+
or with less than 3.75 GB free. A failed download is not retried at each
|
|
270
|
+
session start: run `verity lean install`.
|
|
259
271
|
|
|
260
272
|
```bash
|
|
261
273
|
verity config formal off # turn it off for this checkout
|