@codacy/verity-cli 0.30.1 → 0.31.0-experimental.6bc3b1b
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/bin/verity.js +1134 -417
- package/data/skills/verity-insights/SKILL.md +24 -0
- package/data/skills/verity-setup/SKILL.md +42 -0
- package/package.json +1 -1
|
@@ -85,3 +85,27 @@ curl -s -X POST -H "Authorization: Bearer $VERITY_TOKEN" \
|
|
|
85
85
|
3. **Review**: User sees suggestions with evidence (run counts, FP rates, citation counts)
|
|
86
86
|
4. **Apply**: Approved suggestions become a new Standard version (immutable, rollback-safe)
|
|
87
87
|
5. **No autonomous changes** in v1 — every suggestion requires human approval
|
|
88
|
+
|
|
89
|
+
## Recording an accepted-risk disposition (unblocking a guard deadlock)
|
|
90
|
+
|
|
91
|
+
When the pre-commit/pre-push guard blocks on a finding that humans have already
|
|
92
|
+
adjudicated the other way (a reviewer finding, an ADR, phase exit criteria),
|
|
93
|
+
record the disposition with:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
verity waive <pattern-id> --file <path> --reason "per reviewer finding 5 — no code change needed"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
What this does — and deliberately does not do:
|
|
100
|
+
|
|
101
|
+
- Marks the open statement `waived` with your reason; the next guard/analyze run
|
|
102
|
+
on the **same file bytes** no longer blocks on it, and the disposition is
|
|
103
|
+
visible in the run report.
|
|
104
|
+
- **It voids automatically when the file changes** — a waive is an assertion
|
|
105
|
+
about specific bytes, never a standing mute. Edit the file and the finding is
|
|
106
|
+
reconsidered fresh.
|
|
107
|
+
- The reason is mandatory (≥ 20 chars) and should name the human decision it
|
|
108
|
+
traces to. At most 3 statements are waived per invocation.
|
|
109
|
+
- `verity feedback finding <run-id> <pattern-id> false_positive` remains the
|
|
110
|
+
right tool for *pattern-level* feedback (it feeds suppression/evolution);
|
|
111
|
+
`verity waive` is the *per-site, accepted-risk* path that unblocks a push.
|
|
@@ -751,6 +751,48 @@ global store and removes it automatically on the next `verity` command.
|
|
|
751
751
|
|
|
752
752
|
---
|
|
753
753
|
|
|
754
|
+
## Step 10b: Offer a `.verityignore` (optional)
|
|
755
|
+
|
|
756
|
+
Only if the codebase analysis in Step 2 found committed generated output —
|
|
757
|
+
`dist/`, `build/`, vendored bundles, generated API clients, large fixture
|
|
758
|
+
corpora. Do NOT create the file speculatively; an empty or guessed ruleset is
|
|
759
|
+
worse than none.
|
|
760
|
+
|
|
761
|
+
Ask the user first, naming the specific directories you found. If they agree,
|
|
762
|
+
write `.verityignore` at the repo root, gitignore syntax, and **commit it** — it
|
|
763
|
+
is a shared team decision, not machine-local state, so it does NOT go in
|
|
764
|
+
`.gitignore`.
|
|
765
|
+
|
|
766
|
+
```
|
|
767
|
+
# Generated — reviewing it grades a generator, not a person.
|
|
768
|
+
src/generated/**
|
|
769
|
+
dist/
|
|
770
|
+
|
|
771
|
+
# …but keep this one in scope.
|
|
772
|
+
!dist/entry.js
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
Rules, in the order they matter:
|
|
776
|
+
|
|
777
|
+
- **Last match wins.** A later `!` line re-includes what an earlier line
|
|
778
|
+
excluded. Order is load-bearing.
|
|
779
|
+
- A pattern with **no slash** matches at any depth (`*.min.js`). One **with** a
|
|
780
|
+
slash is anchored to the repo root (`src/generated/**`).
|
|
781
|
+
- `**`, `*`, `/` and `**/*` on their own are **refused** — they exclude the whole
|
|
782
|
+
repository, which is turning the product off rather than scoping it.
|
|
783
|
+
|
|
784
|
+
Two things to tell the user, because both surprise people:
|
|
785
|
+
|
|
786
|
+
1. **It cannot hide a finding you just created.** Any turn that changes
|
|
787
|
+
`.verityignore` has its rules suspended entirely, and the edit is always
|
|
788
|
+
reviewed. A rule takes effect from the next turn onward.
|
|
789
|
+
2. **A pattern that covers a secret is warned about, not refused** — `config/**`
|
|
790
|
+
also hides `config/.env`. Verity says so at push time and again on any run
|
|
791
|
+
where it actually excludes one. Add a `!` rule if that is not what was meant.
|
|
792
|
+
|
|
793
|
+
Excluded files are still named in every run's coverage ledger, and the share of
|
|
794
|
+
changed files they cover is reported — an ignore file is never silent.
|
|
795
|
+
|
|
754
796
|
## Step 11: Show summary
|
|
755
797
|
|
|
756
798
|
Print a complete summary:
|