@codacy/verity-cli 0.34.0-experimental.6aa7092 → 0.34.0-experimental.6f579cf

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,78 @@ 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.34.0] — 2026-09-30
68
+
69
+ **Formal verification at push: Verity can now prove a bug is real before it
70
+ blocks — and the code map and the knowledge loop tell the reviewer more about
71
+ the code around a change.**
72
+
73
+ ### 🧮 Formal verification, opt-in
74
+
75
+ A third review at `git push`, next to the one-shot and the agent. It picks the
76
+ riskiest function the push changed, has the Verity service write a small Lean 4
77
+ model of it, checks the model on your machine, and replays any counterexample
78
+ on the real code in an isolated container with the network off. **Only a
79
+ reproduced bug blocks;** a counterexample that does not reproduce on the real
80
+ code is reported, never enforced. Most pushes get no model at all.
81
+
82
+ - **Off until you say yes.** `verity init` asks once, on a terminal, with "no"
83
+ as the default, and remembers either answer. `--yes` and headless runs are not
84
+ asked and never probe for a toolchain. `verity config formal push` turns it on
85
+ for a checkout, `verity config formal off` turns it off. It needs you to be
86
+ signed in: ranking, model writing and replay run on the Verity service. The
87
+ function's source is sent for the replay; no code is stored.
88
+ - **`verity lean install | status | remove`** manages the pinned official Lean 4
89
+ release under `~/.verity/lean` (≈800 MB download, 2.7 GB on disk). The
90
+ download is checksum-verified, abandoned after 60 s with nothing received,
91
+ and refused up front when the disk is short. An elan install is used when it
92
+ already has the pinned toolchain; Verity never makes elan download one.
93
+ - **On demand:** `verity prove candidates | generate | check | replay | auto`,
94
+ and the `/verity-prove <worry>` skill, where the words after the command are
95
+ what you want checked. Under the plugin, `/verity:verity-prove` arrives with
96
+ the plugin's next release.
97
+ - **A finding holds until the code changes.** Pushing the same bytes again
98
+ re-blocks without a new model. `verity prove waive <file>` accepts the risk
99
+ for the file's current bytes, and voids when they change.
100
+ - **Yours, never the repository's.** A `.verity/config.json` that git tracks,
101
+ or that is reached through a symlink, cannot switch formal verification on —
102
+ `verity doctor`, `verity config formal` and `verity init` say why it is off.
103
+ Findings and spend records a repository ships are ignored, and Lean never runs
104
+ on a `.verity/proofs/` workspace the repository supplies.
105
+ - **Admins can switch it off** per project, organization or globally with the
106
+ `formal` flag in the dashboard; the push then reports `disabled-by-server`.
107
+
108
+ ### 🗺️ The code map
109
+
110
+ The CLI now parses TypeScript, TSX, JavaScript, Python, Go and Java with bundled
111
+ tree-sitter grammars (about 6 MB added to the package).
112
+
113
+ - **The reviewer sees what else touches the same state.** At commit and push,
114
+ the review's context names the other functions that write the state a change
115
+ writes, and the agent reviewer can ask for a function's callers and
116
+ definitions. Formal verification models the exact function, not a guess at
117
+ its extent.
118
+ - **Reads use the bytes under review:** at a push, the pushed commit; at a
119
+ commit, the staged files — not whatever is in the working tree.
120
+ - **Paths the project denies are never shown** by the code tools or in the
121
+ code-map context.
122
+
123
+ ### 🧠 The knowledge loop
124
+
125
+ - **The reviewer says what it did with each node it was shown** — applied,
126
+ violated, irrelevant or unclear, each tied to a line in the change — and
127
+ ranking learns from it which nodes help. One scorer now chooses the nodes for
128
+ both the review and your agent's prompt.
129
+ - **A known rule said back to the agent.** When a change breaks a rule the
130
+ project has already learned, Verity can tell the agent which one. This ships
131
+ in shadow: the decision is made and recorded, and nothing is sent.
132
+ - **Fewer, better nodes.** The extractor's rubric was rewritten from 143
133
+ human-graded nodes; it no longer records what the code already says, and it
134
+ checks each new node against the nearest existing ones before adding it.
135
+ - **A failed diff in `verity memory` sync no longer drops a node edit you made.**
136
+ - **A failed knowledge lookup no longer fails a review.** The review runs
137
+ without knowledge and records that it did.
138
+
67
139
  ### 🎯 `/verity:init` does everything `verity init` does, in the session
68
140
 
69
141
  Under the plugin, setup used to stop short of the terminal flow: `/verity:init`
@@ -89,6 +161,11 @@ sign-in meant leaving Claude Code for a terminal.
89
161
  - **`verity telemetry install|uninstall` update `.verity/setup.json`**, so a
90
162
  request deferred until sign-in stops being reported as still to do.
91
163
 
164
+ ### 🔧 Fixed
165
+
166
+ - **A swapped `.verity` directory cannot redirect a write.** File writes check
167
+ the file they opened is the one they meant to write, after opening it.
168
+
92
169
  ## [0.33.3] — 2026-09-24
93
170
 
94
171
  **The knowledge seed runs once per project, not once per checkout.**
package/README.md CHANGED
@@ -172,11 +172,13 @@ No re-setup needed: your token, Standard, and run history all carry over.
172
172
  | **Knowledge** | |
173
173
  | `verity reflect` | Trigger knowledge extraction for current task |
174
174
  | `verity reflect --user-input "..."` | Save a human reflection as a knowledge node |
175
+ | `verity reflect --user-input -` | Same, reading the text from stdin, so it never passes through shell quoting |
175
176
  | `verity reflect --kind decision` | Specify the node kind |
176
177
  | `verity memory untrack` | Stop committing `.verity/memory/` — the graph stays on disk and leaves your diffs |
177
178
  | `verity memory track` | Commit the graph on purpose, and record that so nothing offers to change it |
178
179
  | **Feedback** | |
179
180
  | `verity feedback message "text"` | Send general feedback |
181
+ | `verity feedback message -` | Same, reading the message from stdin |
180
182
  | `verity feedback finding <run-id> <pattern-id> <action>` | Per-finding feedback |
181
183
  | **Tasks** | |
182
184
  | `verity task list` | List tasks |