@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 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 push` | Turn it on for this checkout: at push, one risky changed function may get a Lean model, checked and replayed (see below). On by default for a new project |
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 (opt-in)
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
- For a new project, `verity init` turns this on and starts the Lean 4 download
253
- in the background (≈800 MB, 2.7 GB on disk; `verity lean status` shows the
254
- progress). Until Lean is ready, a push reports `formal: skipped (no-toolchain:
255
- Lean installing, 63%)` and the gate decision does not change. Init does not
256
- start the download in CI (unless `VERITY_LEAN=1`), with `VERITY_NO_LEAN=1`,
257
- with formal off, or with less than 3.75 GB free. A re-run of init never turns
258
- formal on.
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