@codacy/verity-cli 0.32.0-experimental.f0746f7 → 0.32.0

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
@@ -5,6 +5,43 @@ All notable changes to Verity are documented here. This project follows
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ **Verity ships as a Claude Code plugin.** `/plugin marketplace add codacy/verity`
9
+ then `/plugin install verity@codacy` gives a working gate with nothing else to
10
+ install — the plugin carries the CLI as a pinned dependency, and Claude Code
11
+ installs and updates it for you.
12
+
13
+ ### 🔌 The plugin
14
+
15
+ - **Eight skills, namespaced** — `/verity:analyze`, `/verity:status`,
16
+ `/verity:learn`, `/verity:memory`, `/verity:reflect` are available to Claude
17
+ directly; `/verity:setup`, `/verity:insights` and `/verity:feedback` are yours
18
+ to invoke and are not offered to the model at all. The whole plugin adds about
19
+ 500 tokens to a session (`claude plugin details verity`).
20
+ - **All six hooks come from the plugin**, so nothing is written to your
21
+ `.claude/settings.json`.
22
+ - **One gate decision per turn.** A project carrying both the plugin and the
23
+ hooks `verity init` used to write no longer reviews each turn twice: when the
24
+ plugin is present it owns the hooks, and the settings.json copy stands down.
25
+ `verity init` detects the plugin and removes the duplicate wiring.
26
+
27
+ ### 🚪 A project that was never set up is left alone
28
+
29
+ Every hook now asks the same question the same way. `verity analyze` used to run
30
+ in a project that had never seen `verity init`, create `.verity/` there, and then —
31
+ with no baseline to compare against — review nothing. It now stands down like the
32
+ other hooks always have, so installing Verity no longer scatters state through
33
+ directories you merely opened. On the first session in such a project, Claude is
34
+ told once that the gate is off here and can offer `/verity:setup` (or `verity init`
35
+ on an npm install). Works correctly from linked git worktrees.
36
+
37
+ ### ⚙️ Git-moment gating moved into the project
38
+
39
+ `verity guard` now reads `.verity/config.json` instead of taking its moments from
40
+ which hook was wired, because a plugin's hooks are the same for everyone. **The
41
+ default gates nothing** — set it with `verity config git-moments commit,push`, or
42
+ answer the question in `verity init`. An explicit `--on` still wins, so existing
43
+ installs are untouched.
44
+
8
45
  ### 🎯 Setup finishes in one command
9
46
 
10
47
  - **`verity init` now derives the Standard itself.** When the service has nothing
@@ -97,7 +134,6 @@ those is now an assertion.
97
134
  before exiting: raw mode left on outlives the process and makes the user's next
98
135
  shell prompt unusable.
99
136
 
100
- ## [Unreleased]
101
137
 
102
138
  ### 🤝 Joining a project that already has a Standard
103
139
 
@@ -141,7 +177,6 @@ those is now an assertion.
141
177
  - The setup skill learned the same case — Standard present, analysis config
142
178
  missing — and writes only the config rather than re-synthesizing the Standard.
143
179
 
144
- ## [Unreleased]
145
180
 
146
181
  **Setup is one command.** `verity init` and `/verity-setup` were two half-flows
147
182
  that overlapped — and the overlap was not harmless: init wired the Stop hook,
@@ -218,6 +253,26 @@ with one entry point.
218
253
  terminal (Ctrl+D, a pty that ends) falls back to the default instead of
219
254
  crashing init between copying the skills and wiring the hooks.
220
255
 
256
+ ## [0.31.3] — 2026-09-03
257
+
258
+ **After a rebase, Verity reviewed the wrong code.** When a branch was rebased
259
+ onto an updated main, the gate could treat all of the upstream changes as the
260
+ session's own work and block the push on findings in code the session never
261
+ touched. The cause was that the review baseline was trusted by whether its commit
262
+ still existed rather than whether it was still part of the current history, so a
263
+ rewritten baseline kept anchoring every diff.
264
+
265
+ - **The push gate reviews exactly what the push publishes** — the commits the
266
+ remote does not yet have — so a rebase, a force-push, a first push, or
267
+ re-pushing an already-published commit each review only their real new work.
268
+ - **The stop-hook baseline is trusted only while it is an ancestor of HEAD.** A
269
+ rewritten baseline is discarded and re-derived from the commits actually made
270
+ since, so upstream changes are never attributed to the session.
271
+ - **A commit made during a merge reviews only the files you resolved**, not the
272
+ whole incoming branch.
273
+ - **A slash command such as `/login` is no longer treated as a task or a goal**,
274
+ so the review is graded against what you were actually working on.
275
+
221
276
  ## [0.31.1] — 2026-08-27
222
277
 
223
278
  **Verity stops repeating itself.** A finding it had already closed could keep