@codacy/verity-cli 0.28.1-experimental.8cc9c66 → 0.28.1-experimental.99781f8
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 +36 -8
- package/package.json +1 -1
package/bin/verity.js
CHANGED
|
@@ -16625,7 +16625,7 @@ function resolveTaskContext(opts) {
|
|
|
16625
16625
|
// src/lib/cli-version.ts
|
|
16626
16626
|
function cliVersion() {
|
|
16627
16627
|
try {
|
|
16628
|
-
return true ? "0.28.1-experimental.
|
|
16628
|
+
return true ? "0.28.1-experimental.99781f8" : "dev";
|
|
16629
16629
|
} catch {
|
|
16630
16630
|
return "dev";
|
|
16631
16631
|
}
|
|
@@ -17331,12 +17331,12 @@ function emitVerdict(input) {
|
|
|
17331
17331
|
${input.agentContext}
|
|
17332
17332
|
`);
|
|
17333
17333
|
}
|
|
17334
|
-
if (note) process.stderr.write(`
|
|
17334
|
+
if (note && !input.silenced) process.stderr.write(`
|
|
17335
17335
|
${YELLOW2}${note}${NC2}
|
|
17336
17336
|
`);
|
|
17337
17337
|
return exit(2);
|
|
17338
17338
|
}
|
|
17339
|
-
const agentBlock = [input.agentContext, note].filter(Boolean).join("\n\n") || null;
|
|
17339
|
+
const agentBlock = input.silenced ? null : [input.agentContext, note].filter(Boolean).join("\n\n") || null;
|
|
17340
17340
|
printJsonCompact(buildHookOutput(verdict, input.userSummary, agentBlock));
|
|
17341
17341
|
return exit(0);
|
|
17342
17342
|
}
|
|
@@ -18216,6 +18216,8 @@ async function passAndExit(reason, skip, kindOverride) {
|
|
|
18216
18216
|
if (unaccounted.length > 0) {
|
|
18217
18217
|
logEvent("coverage_unaccounted", { where: "passAndExit", skip, count: unaccounted.length });
|
|
18218
18218
|
}
|
|
18219
|
+
const AGENT_SILENT_SKIPS = /* @__PURE__ */ new Set(["iteration-cap"]);
|
|
18220
|
+
const agentNote = AGENT_SILENT_SKIPS.has(skip) ? null : note;
|
|
18219
18221
|
printJsonCompact(
|
|
18220
18222
|
buildHookOutput(
|
|
18221
18223
|
verdict,
|
|
@@ -18223,7 +18225,7 @@ async function passAndExit(reason, skip, kindOverride) {
|
|
|
18223
18225
|
// The agent's ONLY input is additionalContext. Sixteen of the nineteen
|
|
18224
18226
|
// terminating paths wrote `systemMessage` — the human's field — and told
|
|
18225
18227
|
// the agent nothing at all.
|
|
18226
|
-
|
|
18228
|
+
agentNote
|
|
18227
18229
|
)
|
|
18228
18230
|
);
|
|
18229
18231
|
process.exit(0);
|
|
@@ -18887,6 +18889,26 @@ async function runAnalyze(opts, globals) {
|
|
|
18887
18889
|
stage: "extractActionSummary",
|
|
18888
18890
|
kind: "capacity"
|
|
18889
18891
|
})),
|
|
18892
|
+
// ⚠ BASELINE SCOPING — the biggest source of false NOT A CLEAN REVIEW.
|
|
18893
|
+
//
|
|
18894
|
+
// The universe is `allChanged`, git's whole dirty tree. The reviewed set is
|
|
18895
|
+
// scoped to what THIS SESSION authored (the VRT-26 contamination cure), so
|
|
18896
|
+
// every pre-existing dirty file is in the universe, absent from `reviewed`,
|
|
18897
|
+
// and — until now — declared by nobody. It fell through to `unaccounted`,
|
|
18898
|
+
// became capacity, and produced "NOT A CLEAN REVIEW: admin.js" over a file
|
|
18899
|
+
// that was never this session's to review.
|
|
18900
|
+
//
|
|
18901
|
+
// Measured 2026-08-04: three consecutive runs over an untouched tree gave
|
|
18902
|
+
// three different answers — .claude/settings.json, then admin.js, then six
|
|
18903
|
+
// files — because each run took a different path and each path had a
|
|
18904
|
+
// different idea of the universe. POLICY: not this session's work is not a
|
|
18905
|
+
// coverage gap, it is the cure working.
|
|
18906
|
+
...allChanged.filter((p) => !sentPaths.includes(p) && !codeDelta.excluded.some((e) => e.path === p)).filter((p) => analyzable.includes(p) || reviewable.includes(p) || securityFiles.includes(p)).map((path) => ({
|
|
18907
|
+
path,
|
|
18908
|
+
reason: "not-authored-this-session",
|
|
18909
|
+
stage: "baseline-scoping",
|
|
18910
|
+
kind: "policy"
|
|
18911
|
+
})),
|
|
18890
18912
|
// The extension allowlist, and it is POLICY rather than capacity: a changed
|
|
18891
18913
|
// README was never going to be reviewed, and treating that as a coverage
|
|
18892
18914
|
// gap would downgrade nearly every PASS to WARN until WARN meant nothing.
|
|
@@ -19139,7 +19161,9 @@ ${YELLOW}${grantNudge.trim()}${NC}
|
|
|
19139
19161
|
// Subject to the SAME cycle cut as PASS/WARN. Suppressing here is safe:
|
|
19140
19162
|
// the findings themselves are rendered above by the blocking renderer,
|
|
19141
19163
|
// so what the cut removes is the repeated commentary, never the defect.
|
|
19142
|
-
agentContext: silenced ? null : agentContextFor(response, intentRepeatCount)
|
|
19164
|
+
agentContext: silenced ? null : agentContextFor(response, intentRepeatCount),
|
|
19165
|
+
// The coverage note is silenced with it — half a channel is still a channel.
|
|
19166
|
+
silenced: !!silenced
|
|
19143
19167
|
});
|
|
19144
19168
|
break;
|
|
19145
19169
|
}
|
|
@@ -19157,7 +19181,9 @@ ${YELLOW}${grantNudge.trim()}${NC}
|
|
|
19157
19181
|
changed: skipCoverageChanged,
|
|
19158
19182
|
coverage: reviewCoverage,
|
|
19159
19183
|
userSummary,
|
|
19160
|
-
agentContext: silenced ? null : agentContextFor(response, intentRepeatCount)
|
|
19184
|
+
agentContext: silenced ? null : agentContextFor(response, intentRepeatCount),
|
|
19185
|
+
// The coverage note is silenced with it — half a channel is still a channel.
|
|
19186
|
+
silenced: !!silenced
|
|
19161
19187
|
});
|
|
19162
19188
|
break;
|
|
19163
19189
|
}
|
|
@@ -19174,7 +19200,9 @@ ${YELLOW}${grantNudge.trim()}${NC}
|
|
|
19174
19200
|
changed: skipCoverageChanged,
|
|
19175
19201
|
coverage: reviewCoverage,
|
|
19176
19202
|
userSummary,
|
|
19177
|
-
agentContext: silenced ? null : agentContextFor(response, intentRepeatCount)
|
|
19203
|
+
agentContext: silenced ? null : agentContextFor(response, intentRepeatCount),
|
|
19204
|
+
// The coverage note is silenced with it — half a channel is still a channel.
|
|
19205
|
+
silenced: !!silenced
|
|
19178
19206
|
});
|
|
19179
19207
|
break;
|
|
19180
19208
|
}
|
|
@@ -20975,7 +21003,7 @@ function registerTelemetryCommands(program2) {
|
|
|
20975
21003
|
}
|
|
20976
21004
|
|
|
20977
21005
|
// src/cli.ts
|
|
20978
|
-
program.name("verity").description("CLI for Verity quality gate service").version("0.28.1-experimental.
|
|
21006
|
+
program.name("verity").description("CLI for Verity quality gate service").version("0.28.1-experimental.99781f8").option("--token <token>", "Override authentication token").option("--service-url <url>", "Override service URL").option("--verbose", "Log HTTP requests/responses to stderr").hook("preAction", async () => {
|
|
20979
21007
|
try {
|
|
20980
21008
|
await foldLegacyLocalCredential();
|
|
20981
21009
|
} catch {
|