@codacy/verity-cli 0.34.0-experimental.145d0fb → 0.34.0-experimental.380b51f
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 +77 -0
- package/README.md +2 -0
- package/bin/verity.js +1533 -1183
- package/data/skills/verity-analyze/SKILL.md +17 -5
- package/data/skills/verity-feedback/SKILL.md +19 -3
- package/data/skills/verity-learn/SKILL.md +19 -7
- package/data/skills/verity-memory/SKILL.md +21 -8
- package/data/skills/verity-prove/SKILL.md +35 -9
- package/data/skills/verity-reflect/SKILL.md +16 -3
- package/package.json +1 -1
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 |
|