@vibe-agent-toolkit/cli 0.1.41-rc.7 → 0.1.41-rc.8
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/dist/bin/vat +24 -1
- package/dist/bin/vat.js +24 -1
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +12 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/list.d.ts +11 -0
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +30 -11
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/audit.d.ts +34 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +220 -88
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +14 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +89 -24
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +97 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +154 -40
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/stubs.d.ts +9 -1
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +11 -3
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts +25 -2
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +99 -10
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +15 -0
- package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +22 -4
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -0
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +16 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +40 -22
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/inventory.d.ts +2 -0
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +45 -4
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +183 -14
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +294 -29
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts +40 -0
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +47 -20
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +27 -9
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/scan.d.ts +37 -0
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +47 -32
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +136 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +105 -66
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +7 -3
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +1 -1
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +8 -6
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +96 -7
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +277 -60
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +6 -10
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +6 -22
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/list.d.ts +18 -0
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +41 -15
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +15 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +30 -20
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +22 -6
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +44 -3
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +180 -46
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +73 -66
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +38 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +203 -83
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/skill-resolution/index.d.ts +1 -1
- package/dist/skill-resolution/index.d.ts.map +1 -1
- package/dist/skill-resolution/index.js +1 -1
- package/dist/skill-resolution/index.js.map +1 -1
- package/dist/skill-resolution/packaging-config.d.ts +15 -2
- package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
- package/dist/skill-resolution/packaging-config.js +39 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/utils/command-error.d.ts +34 -1
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +32 -1
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/help-loader.d.ts +6 -2
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +9 -16
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +88 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -1
- package/dist/utils/issue-rendering.js +94 -0
- package/dist/utils/issue-rendering.js.map +1 -1
- package/dist/utils/output.d.ts +54 -5
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +111 -17
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/relativize-paths.d.ts +45 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -0
- package/dist/utils/relativize-paths.js +67 -0
- package/dist/utils/relativize-paths.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +21 -2
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +85 -11
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +22 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +26 -0
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +4 -3
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +6 -13
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/rag.md +9 -4
- package/docs/resources.md +30 -14
- package/docs/skills.md +9 -5
- package/package.json +12 -12
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Discovers skills from config yaml skills.include/exclude, validates each
|
|
5
5
|
* using validateSkillForPackaging with merged packaging config.
|
|
6
6
|
*/
|
|
7
|
-
import { type SeverityCounts } from '@vibe-agent-toolkit/agent-schema';
|
|
7
|
+
import { type SeverityCounts, type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
8
8
|
import { type PackagingValidationResult } from '@vibe-agent-toolkit/agent-skills';
|
|
9
9
|
/**
|
|
10
10
|
* Skills validate command options
|
|
@@ -16,6 +16,16 @@ export interface SkillsValidateCommandOptions {
|
|
|
16
16
|
}
|
|
17
17
|
/** The vocabulary of a validation verdict: worst ACTIONABLE severity. */
|
|
18
18
|
type ValidationStatus = 'success' | 'warning' | 'error';
|
|
19
|
+
/**
|
|
20
|
+
* Findings about the RUN rather than about any one skill — currently the
|
|
21
|
+
* `validation.allow` entries no skill in the batch matched (ALLOW_UNUSED).
|
|
22
|
+
*
|
|
23
|
+
* They are a separate parameter, not folded into a skill's result, because
|
|
24
|
+
* that is what they are: `validation.allow` is declared once per package, so
|
|
25
|
+
* attributing "nothing matched this entry" to whichever skill happened to be
|
|
26
|
+
* validated at the time is what produced 78 warnings from 3 real entries.
|
|
27
|
+
*/
|
|
28
|
+
type RunIssues = readonly ValidationIssue[];
|
|
19
29
|
/**
|
|
20
30
|
* Build the YAML summary object.
|
|
21
31
|
*
|
|
@@ -24,12 +34,32 @@ type ValidationStatus = 'success' | 'warning' | 'error';
|
|
|
24
34
|
* `results.some(r => r.status === 'error') ? 'error' : 'success'` — a two-value
|
|
25
35
|
* collapse that could never report the warning case, and so reported 33 active
|
|
26
36
|
* warnings as `success`.
|
|
37
|
+
*
|
|
38
|
+
* The header total counts BOTH the per-skill findings and the run-level ones,
|
|
39
|
+
* because the exit code does too — dropping run issues from the header would
|
|
40
|
+
* divorce the published verdict from the code the process actually returns.
|
|
41
|
+
* That is why `runIssueCounts` exists beside them: on a large real repo the
|
|
42
|
+
* header read 1814 warnings against a per-skill sum of 1800, and the missing 14
|
|
43
|
+
* were run-level ALLOW_UNUSED entries published only as a bare LIST. The
|
|
44
|
+
* identity `issueCounts === Σ results[].issueCounts + runIssueCounts` now holds
|
|
45
|
+
* by construction, so a consumer can reconcile the two numbers instead of
|
|
46
|
+
* hand-counting a list to find out whether anything went missing.
|
|
47
|
+
*
|
|
48
|
+
* That identity survives the default mode dropping every finding-free skill from
|
|
49
|
+
* `results[]`, because a dropped row contributes exactly zero to each bucket —
|
|
50
|
+
* and it survives the default row publishing its counts flat with zero buckets
|
|
51
|
+
* omitted, because an absent bucket reads as zero. Only the per-asset ROWS omit
|
|
52
|
+
* zeros: `issueCounts` and `runIssueCounts` keep their complete
|
|
53
|
+
* `{errors, warnings, info}` shape in both modes, because they are the
|
|
54
|
+
* reconciliation identity rather than something a reader scans.
|
|
27
55
|
*/
|
|
28
|
-
export declare function buildValidateSummary(results: PackagingValidationResult[], duration: number, verbose: boolean): {
|
|
56
|
+
export declare function buildValidateSummary(results: PackagingValidationResult[], duration: number, verbose: boolean, runIssues: RunIssues): {
|
|
29
57
|
status: ValidationStatus;
|
|
30
58
|
issueCounts: SeverityCounts;
|
|
59
|
+
runIssueCounts: SeverityCounts;
|
|
31
60
|
skillsValidated: number;
|
|
32
61
|
results: unknown[];
|
|
62
|
+
runIssues: ValidationIssue[];
|
|
33
63
|
durationSecs: number;
|
|
34
64
|
};
|
|
35
65
|
/**
|
|
@@ -38,8 +68,19 @@ export declare function buildValidateSummary(results: PackagingValidationResult[
|
|
|
38
68
|
* Renders every skill with ANY emitted finding, not just the ones that failed
|
|
39
69
|
* the gate: a warning-only or info-only run used to print the success banner and
|
|
40
70
|
* nothing else, so the findings existed only in the YAML on stdout.
|
|
71
|
+
*
|
|
72
|
+
* Every skill with findings gets its summary row at every verbosity; `verbose`
|
|
73
|
+
* picks only which findings are ALSO rendered in full beneath that row, per
|
|
74
|
+
* {@link issuesToRenderAtVerbosity} — errors always, `warning`/`info` when
|
|
75
|
+
* asked, `ignore` never. `verbose` deliberately does NOT gate errors: a default
|
|
76
|
+
* run that collapsed the error it exited 1 on into a count line forced the reader
|
|
77
|
+
* to re-run with a flag to learn what broke.
|
|
78
|
+
*
|
|
79
|
+
* Run-level findings and the banner are printed in full either way — there are
|
|
80
|
+
* ~14 of the former, and they belong to the project config rather than to any
|
|
81
|
+
* asset, so there is no row for them to collapse into.
|
|
41
82
|
*/
|
|
42
|
-
export declare function formatValidationReportLines(results: PackagingValidationResult[]): string[];
|
|
83
|
+
export declare function formatValidationReportLines(results: PackagingValidationResult[], runIssues: RunIssues, verbose: boolean): string[];
|
|
43
84
|
/**
|
|
44
85
|
* Log validation progress for a single skill.
|
|
45
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAGL,KAAK,yBAAyB,EAG/B,MAAM,kCAAkC,CAAC;AA8B1C;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,yEAAyE;AACzE,KAAK,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAaxD;;;;;;;;GAQG;AACH,KAAK,SAAS,GAAG,SAAS,eAAe,EAAE,CAAC;AA6D5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,yBAAyB,EAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,CAgBA;AAkGD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,yBAAyB,EAAE,EACpC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,EAAE,CAeV;AAkCD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,yBAAyB,GAChC,MAAM,EAAE,CAeV;AAkGD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
|
|
@@ -4,19 +4,20 @@
|
|
|
4
4
|
* Discovers skills from config yaml skills.include/exclude, validates each
|
|
5
5
|
* using validateSkillForPackaging with merged packaging config.
|
|
6
6
|
*/
|
|
7
|
-
import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/agent-schema';
|
|
7
|
+
import { allowUnusedIssues, calculateValidationStatus, countBySeverity, createAllowUsageLedger, } from '@vibe-agent-toolkit/agent-schema';
|
|
8
8
|
import { validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
|
|
9
9
|
import { ResourceRegistry } from '@vibe-agent-toolkit/resources';
|
|
10
10
|
import { findProjectRoot, gitFindRoot, GitTracker, safePath } from '@vibe-agent-toolkit/utils';
|
|
11
11
|
import * as yaml from 'yaml';
|
|
12
|
+
import { handleCommandError } from '../../utils/command-error.js';
|
|
12
13
|
import { loadConfig } from '../../utils/config-loader.js';
|
|
13
14
|
import { formatDurationSecs } from '../../utils/duration.js';
|
|
14
|
-
import { formatIssueLines,
|
|
15
|
+
import { formatIssueLines, formatRunIssueLines, formatSeverityBreakdown, issuesToRenderAtVerbosity, summarizeFindings, sumSeverityCounts, } from '../../utils/issue-rendering.js';
|
|
15
16
|
import { requireProjectRoot } from '../../utils/project-root-policy.js';
|
|
16
|
-
import { mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
17
|
+
import { collectDeclaredEvalSuites, mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
17
18
|
import { renderSkillQualityFooter } from '../../utils/skill-quality-footer.js';
|
|
18
19
|
import { applyConfigVerdicts } from '../../utils/verdict-helpers.js';
|
|
19
|
-
import { filterSkillsByName,
|
|
20
|
+
import { filterSkillsByName, setupCommandContext, } from './command-helpers.js';
|
|
20
21
|
import { discoverSkillsFromConfig } from './skill-discovery.js';
|
|
21
22
|
/**
|
|
22
23
|
* Every issue emitted across the batch, after severity resolution.
|
|
@@ -29,22 +30,59 @@ function batchIssues(results) {
|
|
|
29
30
|
return results.flatMap((r) => r.allErrors);
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
|
-
* One skill's YAML entry: the result plus the per-severity counts
|
|
33
|
-
* `status` cannot express.
|
|
33
|
+
* One skill's VERBOSE YAML entry: the whole result plus the per-severity counts
|
|
34
|
+
* its two-valued `status` cannot express.
|
|
34
35
|
*
|
|
35
36
|
* The per-skill `status` stays the gate verdict (`error` iff an active error) —
|
|
36
37
|
* that is what the exit code is derived from. `issueCounts` beside it is what
|
|
37
38
|
* makes `success` readable: "nothing you must act on", not "nothing was found".
|
|
39
|
+
*
|
|
40
|
+
* This shape is optimized for `> file` then `grep`, not for reading: on a
|
|
41
|
+
* 90-skill repo it is 17,262 of the 22,156 stdout lines `vat verify` emits.
|
|
38
42
|
*/
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
function toVerboseYamlResult(result) {
|
|
44
|
+
return { ...result, issueCounts: countBySeverity(result.allErrors) };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Does this skill have anything to say? Emitted findings OR allow-suppressed
|
|
48
|
+
* ones — the same predicate the human report uses, so the two streams cannot
|
|
49
|
+
* disagree about which skills exist.
|
|
50
|
+
*/
|
|
51
|
+
function hasFindings(result) {
|
|
52
|
+
return result.allErrors.length > 0 || result.ignoredErrors.length > 0;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* One skill's DEFAULT YAML entry: which asset has problems, how many, of what
|
|
56
|
+
* code — and nothing else.
|
|
57
|
+
*
|
|
58
|
+
* Why the per-code tally is a summary rather than N findings: 1,728 of the 1,897
|
|
59
|
+
* findings on a real 90-skill repo are one code, LINK_DROPPED_BY_DEPTH, and the
|
|
60
|
+
* four remedies its `fix` hint proposes (`linkFollowDepth`, `files:`,
|
|
61
|
+
* `validation.allow`, `excludeReferencesFromBundle`) are all SKILL-level config
|
|
62
|
+
* edits — so 348 findings on one skill propose the same four edits 348 times.
|
|
63
|
+
* The skill is the unit the reader acts on, so the skill is the unit we publish.
|
|
64
|
+
* Aggregating at EMISSION instead would break `validation.allow`'s per-`paths:`
|
|
65
|
+
* matching and per-path severity overrides, both of which need one issue per
|
|
66
|
+
* link; the collapse therefore has to happen here, after allow-filtering.
|
|
67
|
+
* Downgrading the code to `info` was considered and rejected: it would delete
|
|
68
|
+
* the signal the code exists for (a depth-limited walk may silently omit content
|
|
69
|
+
* the author expected to ship) and would contradict PACKAGED_TEST_INPUT, which
|
|
70
|
+
* `docs/validation-codes.md` keeps at `warning` on identical "this is configured
|
|
71
|
+
* behaviour, here is your receipt" reasoning.
|
|
72
|
+
*
|
|
73
|
+
* `allowed` is a scalar, not a list: an allow-suppressed finding is a fact about
|
|
74
|
+
* the skill a reader must not lose, but it is deliberately NOT in `codes`, which
|
|
75
|
+
* summarizes the EMITTED set.
|
|
76
|
+
*/
|
|
77
|
+
function toSummaryYamlResult(result) {
|
|
78
|
+
const { codes, ...counts } = summarizeFindings(result.allErrors);
|
|
79
|
+
const allowedCount = result.ignoredErrors.length;
|
|
45
80
|
return {
|
|
46
|
-
|
|
47
|
-
|
|
81
|
+
skillName: result.skillName,
|
|
82
|
+
status: result.status,
|
|
83
|
+
...counts,
|
|
84
|
+
...(allowedCount > 0 ? { allowed: allowedCount } : {}),
|
|
85
|
+
codes,
|
|
48
86
|
};
|
|
49
87
|
}
|
|
50
88
|
/**
|
|
@@ -55,40 +93,100 @@ function toYamlResult(result, verbose) {
|
|
|
55
93
|
* `results.some(r => r.status === 'error') ? 'error' : 'success'` — a two-value
|
|
56
94
|
* collapse that could never report the warning case, and so reported 33 active
|
|
57
95
|
* warnings as `success`.
|
|
96
|
+
*
|
|
97
|
+
* The header total counts BOTH the per-skill findings and the run-level ones,
|
|
98
|
+
* because the exit code does too — dropping run issues from the header would
|
|
99
|
+
* divorce the published verdict from the code the process actually returns.
|
|
100
|
+
* That is why `runIssueCounts` exists beside them: on a large real repo the
|
|
101
|
+
* header read 1814 warnings against a per-skill sum of 1800, and the missing 14
|
|
102
|
+
* were run-level ALLOW_UNUSED entries published only as a bare LIST. The
|
|
103
|
+
* identity `issueCounts === Σ results[].issueCounts + runIssueCounts` now holds
|
|
104
|
+
* by construction, so a consumer can reconcile the two numbers instead of
|
|
105
|
+
* hand-counting a list to find out whether anything went missing.
|
|
106
|
+
*
|
|
107
|
+
* That identity survives the default mode dropping every finding-free skill from
|
|
108
|
+
* `results[]`, because a dropped row contributes exactly zero to each bucket —
|
|
109
|
+
* and it survives the default row publishing its counts flat with zero buckets
|
|
110
|
+
* omitted, because an absent bucket reads as zero. Only the per-asset ROWS omit
|
|
111
|
+
* zeros: `issueCounts` and `runIssueCounts` keep their complete
|
|
112
|
+
* `{errors, warnings, info}` shape in both modes, because they are the
|
|
113
|
+
* reconciliation identity rather than something a reader scans.
|
|
58
114
|
*/
|
|
59
|
-
export function buildValidateSummary(results, duration, verbose) {
|
|
60
|
-
const
|
|
115
|
+
export function buildValidateSummary(results, duration, verbose, runIssues) {
|
|
116
|
+
const skillIssues = batchIssues(results);
|
|
117
|
+
const runIssueCounts = countBySeverity(runIssues);
|
|
61
118
|
return {
|
|
62
|
-
status: calculateValidationStatus(
|
|
63
|
-
issueCounts: countBySeverity(
|
|
119
|
+
status: calculateValidationStatus([...skillIssues, ...runIssues]),
|
|
120
|
+
issueCounts: sumSeverityCounts([countBySeverity(skillIssues), runIssueCounts]),
|
|
121
|
+
runIssueCounts,
|
|
122
|
+
// `skillsValidated` stays the true denominator even though the default
|
|
123
|
+
// `results[]` lists only the skills with something to say.
|
|
64
124
|
skillsValidated: results.length,
|
|
65
|
-
results:
|
|
125
|
+
results: verbose
|
|
126
|
+
? results.map((r) => toVerboseYamlResult(r))
|
|
127
|
+
: results.filter((r) => hasFindings(r)).map((r) => toSummaryYamlResult(r)),
|
|
128
|
+
runIssues: [...runIssues],
|
|
66
129
|
durationSecs: formatDurationSecs(duration),
|
|
67
130
|
};
|
|
68
131
|
}
|
|
69
132
|
/**
|
|
70
133
|
* Output YAML summary to stdout
|
|
71
134
|
*/
|
|
72
|
-
function outputYamlSummary(results, duration, verbose) {
|
|
73
|
-
const output = buildValidateSummary(results, duration, verbose);
|
|
135
|
+
function outputYamlSummary(results, duration, verbose, runIssues) {
|
|
136
|
+
const output = buildValidateSummary(results, duration, verbose, runIssues);
|
|
74
137
|
console.log(yaml.stringify(output, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
|
|
75
138
|
}
|
|
76
|
-
/**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
139
|
+
/**
|
|
140
|
+
* ONE line for one skill: its severity breakdown, its allowed count, and the
|
|
141
|
+
* codes behind it, dominant first.
|
|
142
|
+
*
|
|
143
|
+
* The stderr counterpart of {@link toSummaryYamlResult} — same unit (the asset),
|
|
144
|
+
* same reason (see that function's comment). The per-issue blocks below are what
|
|
145
|
+
* made this stream 6,261 lines on a 90-skill repo.
|
|
146
|
+
*/
|
|
147
|
+
function skillSummaryLine(result) {
|
|
148
|
+
const { codes } = summarizeFindings(result.allErrors);
|
|
149
|
+
const breakdown = formatSeverityBreakdown(countBySeverity(result.allErrors));
|
|
150
|
+
const allowed = result.ignoredErrors.length > 0
|
|
151
|
+
? ` (+${result.ignoredErrors.length} allowed by config)`
|
|
152
|
+
: '';
|
|
153
|
+
const tally = Object.entries(codes).map(([code, count]) => `${code}: ${count}`).join(', ');
|
|
154
|
+
const codeSuffix = tally === '' ? '' : ` — ${tally}`;
|
|
155
|
+
return ` ${result.skillName}: ${breakdown}${allowed}${codeSuffix}`;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Lines for ONE skill: its summary row, then the findings that render in full
|
|
159
|
+
* beneath it at this verbosity.
|
|
160
|
+
*
|
|
161
|
+
* The row is unconditional — it is the only place a collapsed finding is
|
|
162
|
+
* counted, so a mode that replaced it with per-issue blocks would lose the
|
|
163
|
+
* allowed count and the per-code tally. What varies is what hangs below it, and
|
|
164
|
+
* that choice belongs to {@link issuesToRenderAtVerbosity}, not to this lane:
|
|
165
|
+
* an `error` renders in full at every verbosity (the reader must never have to
|
|
166
|
+
* re-run with `-v` to learn what failed the gate), while `warning`/`info`
|
|
167
|
+
* collapse into the row unless asked for.
|
|
168
|
+
*
|
|
169
|
+
* The allow-suppressed records are listed only under `verbose`; by default the
|
|
170
|
+
* row's `(+N allowed by config)` is their receipt.
|
|
171
|
+
*/
|
|
172
|
+
function skillReportLines(result, verbose) {
|
|
173
|
+
const lines = [skillSummaryLine(result)];
|
|
174
|
+
const rendered = issuesToRenderAtVerbosity(result.allErrors, verbose);
|
|
175
|
+
for (const issue of rendered) {
|
|
176
|
+
lines.push(...formatIssueLines(issue, ' '));
|
|
84
177
|
}
|
|
85
|
-
|
|
178
|
+
const listAllowed = verbose && result.ignoredErrors.length > 0;
|
|
179
|
+
if (listAllowed) {
|
|
86
180
|
lines.push(` Allowed issues (${result.ignoredErrors.length}):`);
|
|
87
181
|
for (const record of result.ignoredErrors) {
|
|
88
182
|
lines.push(` [${String(record.code)}] ${String(record.location)} (allowed: ${record.reason})`);
|
|
89
183
|
}
|
|
90
184
|
}
|
|
91
|
-
|
|
185
|
+
// A trailing blank line only when something was rendered beneath the row —
|
|
186
|
+
// otherwise consecutive one-line rows would be double-spaced.
|
|
187
|
+
if (rendered.length > 0 || listAllowed) {
|
|
188
|
+
lines.push('');
|
|
189
|
+
}
|
|
92
190
|
return lines;
|
|
93
191
|
}
|
|
94
192
|
/**
|
|
@@ -120,24 +218,39 @@ function reportBanner(status, counts) {
|
|
|
120
218
|
* Renders every skill with ANY emitted finding, not just the ones that failed
|
|
121
219
|
* the gate: a warning-only or info-only run used to print the success banner and
|
|
122
220
|
* nothing else, so the findings existed only in the YAML on stdout.
|
|
221
|
+
*
|
|
222
|
+
* Every skill with findings gets its summary row at every verbosity; `verbose`
|
|
223
|
+
* picks only which findings are ALSO rendered in full beneath that row, per
|
|
224
|
+
* {@link issuesToRenderAtVerbosity} — errors always, `warning`/`info` when
|
|
225
|
+
* asked, `ignore` never. `verbose` deliberately does NOT gate errors: a default
|
|
226
|
+
* run that collapsed the error it exited 1 on into a count line forced the reader
|
|
227
|
+
* to re-run with a flag to learn what broke.
|
|
228
|
+
*
|
|
229
|
+
* Run-level findings and the banner are printed in full either way — there are
|
|
230
|
+
* ~14 of the former, and they belong to the project config rather than to any
|
|
231
|
+
* asset, so there is no row for them to collapse into.
|
|
123
232
|
*/
|
|
124
|
-
export function formatValidationReportLines(results) {
|
|
125
|
-
const issues = batchIssues(results);
|
|
233
|
+
export function formatValidationReportLines(results, runIssues, verbose) {
|
|
234
|
+
const issues = [...batchIssues(results), ...runIssues];
|
|
126
235
|
const counts = countBySeverity(issues);
|
|
127
236
|
const status = calculateValidationStatus(issues);
|
|
128
237
|
const lines = [reportBanner(status, counts)];
|
|
129
238
|
for (const result of results) {
|
|
130
|
-
if (result
|
|
239
|
+
if (!hasFindings(result))
|
|
131
240
|
continue;
|
|
132
|
-
lines.push(...
|
|
241
|
+
lines.push(...skillReportLines(result, verbose));
|
|
242
|
+
}
|
|
243
|
+
const runLines = formatRunIssueLines(runIssues);
|
|
244
|
+
if (runLines.length > 0) {
|
|
245
|
+
lines.push(...runLines, '');
|
|
133
246
|
}
|
|
134
247
|
return lines;
|
|
135
248
|
}
|
|
136
249
|
/**
|
|
137
250
|
* Output validation report to stdout (YAML) and stderr (human-readable)
|
|
138
251
|
*/
|
|
139
|
-
function outputValidationReport(results, duration, logger, verbose) {
|
|
140
|
-
outputYamlSummary(results, duration, verbose);
|
|
252
|
+
function outputValidationReport(results, duration, logger, verbose, runIssues) {
|
|
253
|
+
outputYamlSummary(results, duration, verbose, runIssues);
|
|
141
254
|
// Collect all emitted codes across skills (both errors and warnings) to drive the footer
|
|
142
255
|
const emittedCodes = new Set();
|
|
143
256
|
for (const r of results) {
|
|
@@ -145,8 +258,11 @@ function outputValidationReport(results, duration, logger, verbose) {
|
|
|
145
258
|
emittedCodes.add(issue.code);
|
|
146
259
|
}
|
|
147
260
|
}
|
|
148
|
-
const
|
|
149
|
-
|
|
261
|
+
for (const issue of runIssues) {
|
|
262
|
+
emittedCodes.add(issue.code);
|
|
263
|
+
}
|
|
264
|
+
const hasSkillFindings = results.some((r) => calculateValidationStatus(r.allErrors) !== 'success');
|
|
265
|
+
for (const line of formatValidationReportLines(results, runIssues, verbose)) {
|
|
150
266
|
logger.info(line);
|
|
151
267
|
}
|
|
152
268
|
renderSkillQualityFooter(logger, hasSkillFindings, emittedCodes);
|
|
@@ -168,7 +284,7 @@ export function formatSkillProgressLine(skillName, result) {
|
|
|
168
284
|
if (result.ignoredErrors.length > 0) {
|
|
169
285
|
lines.push(` (${result.ignoredErrors.length} allowed by config)`);
|
|
170
286
|
}
|
|
171
|
-
const expiredCount = result.
|
|
287
|
+
const expiredCount = result.allErrors.filter(w => w.code === 'ALLOW_EXPIRED').length;
|
|
172
288
|
if (expiredCount > 0) {
|
|
173
289
|
lines.push(` (${expiredCount} expired allow entr${expiredCount === 1 ? 'y' : 'ies'})`);
|
|
174
290
|
}
|
|
@@ -193,9 +309,17 @@ function logSkillProgress(skillName, result, logger) {
|
|
|
193
309
|
* returns an empty context and validators transparently fall back to their
|
|
194
310
|
* legacy per-skill setup — correctness first, perf second.
|
|
195
311
|
*/
|
|
196
|
-
async function buildSharedValidationContext(skills, logger) {
|
|
312
|
+
async function buildSharedValidationContext(skills, projectSkills, logger) {
|
|
313
|
+
// The allow-entry ledger is not an optimization like the two below — it is
|
|
314
|
+
// what makes ALLOW_UNUSED true. `validation.allow` is declared once for the
|
|
315
|
+
// package and matched per skill, so only the batch can say an entry matched
|
|
316
|
+
// nothing. Always present, so no early return can drop it.
|
|
317
|
+
const allowLedger = createAllowUsageLedger();
|
|
318
|
+
// Likewise not an optimization: the test-input rule is project-wide, so this
|
|
319
|
+
// lane must model a bundle that excludes EVERY declared suite, not just the
|
|
320
|
+
// subject's. Present even for an empty batch, so no early return can drop it.
|
|
197
321
|
if (skills.length === 0) {
|
|
198
|
-
return {};
|
|
322
|
+
return { allowLedger, projectSkills };
|
|
199
323
|
}
|
|
200
324
|
const projectRoots = new Set();
|
|
201
325
|
const gitRoots = new Set();
|
|
@@ -213,7 +337,7 @@ async function buildSharedValidationContext(skills, logger) {
|
|
|
213
337
|
gitRoots.add(safePath.resolve(gitRoot));
|
|
214
338
|
}
|
|
215
339
|
}
|
|
216
|
-
const context = {};
|
|
340
|
+
const context = { allowLedger, projectSkills };
|
|
217
341
|
// Only reuse a single registry when every skill shares the same project
|
|
218
342
|
// root. Otherwise the per-skill fallback path is correct and the cost is
|
|
219
343
|
// unchanged from the pre-refactor baseline.
|
|
@@ -284,7 +408,10 @@ export async function validateCommand(pathArg, options) {
|
|
|
284
408
|
// (for markdown parses) and the git tracker (for gitignore checks) can be
|
|
285
409
|
// shared across every skill whose projectRoot + gitRoot match the derived
|
|
286
410
|
// values, which is the common case for a single-repo `vat skills validate`.
|
|
287
|
-
|
|
411
|
+
// Every declared skill, not just `skillsToValidate`: `--skill x` narrows what is
|
|
412
|
+
// REPORTED on, never what counts as some skill's declared test input.
|
|
413
|
+
const projectSkills = collectDeclaredEvalSuites(config.skills, discovered);
|
|
414
|
+
const sharedContext = await buildSharedValidationContext(skillsToValidate, projectSkills, logger);
|
|
288
415
|
// Validate each skill
|
|
289
416
|
const results = [];
|
|
290
417
|
for (const skill of skillsToValidate) {
|
|
@@ -298,11 +425,18 @@ export async function validateCommand(pathArg, options) {
|
|
|
298
425
|
logSkillProgress(skill.name, result, logger);
|
|
299
426
|
results.push(result);
|
|
300
427
|
}
|
|
428
|
+
// Drain the run's allow ledger AFTER the last skill — an entry matched by
|
|
429
|
+
// any skill in the batch is used, so this is the first point at which
|
|
430
|
+
// "matched nothing" is answerable.
|
|
431
|
+
const runIssues = sharedContext.allowLedger === undefined
|
|
432
|
+
? []
|
|
433
|
+
: allowUnusedIssues(sharedContext.allowLedger);
|
|
301
434
|
// Output report and exit
|
|
302
435
|
const duration = Date.now() - startTime;
|
|
303
436
|
const verbose = options.verbose === true;
|
|
304
|
-
outputValidationReport(results, duration, logger, verbose);
|
|
305
|
-
const hasErrors = results.some(r => r.status === 'error')
|
|
437
|
+
outputValidationReport(results, duration, logger, verbose, runIssues);
|
|
438
|
+
const hasErrors = results.some(r => r.status === 'error')
|
|
439
|
+
|| runIssues.some(i => i.severity === 'error');
|
|
306
440
|
process.exit(hasErrors ? 1 : 0);
|
|
307
441
|
}
|
|
308
442
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,28 @@
|
|
|
22
22
|
* build. If a single "validate the whole shippable thing" command is later
|
|
23
23
|
* wanted, fold the marketplace phase in here (mirror verify.ts) — see #128.
|
|
24
24
|
*/
|
|
25
|
+
import { type ProjectConfig } from '@vibe-agent-toolkit/resources';
|
|
25
26
|
import { Command } from 'commander';
|
|
27
|
+
import { type PhaseSelection } from './phase-utils.js';
|
|
26
28
|
export interface ValidateCommandOptions {
|
|
29
|
+
/** Retired; declared only so {@link rejectRetiredOnly} can explain the removal. */
|
|
27
30
|
only?: string;
|
|
28
31
|
debug?: boolean;
|
|
32
|
+
verbose?: boolean;
|
|
29
33
|
}
|
|
30
34
|
export declare function createValidateTopLevelCommand(): Command;
|
|
35
|
+
/**
|
|
36
|
+
* Decide which validation surfaces to run.
|
|
37
|
+
*
|
|
38
|
+
* A surface is included only when its config block is present, so coverage is
|
|
39
|
+
* discovered rather than hand-composed — and with `--only` retired, config
|
|
40
|
+
* presence is now the ONLY input. There is no longer a way for a caller to
|
|
41
|
+
* narrow the run, so there is no longer a way for a CI gate to ask for coverage
|
|
42
|
+
* it cannot get; the class of silent-coverage-loss bug the `--only` failure arms
|
|
43
|
+
* existed to catch is now unreachable by construction rather than guarded.
|
|
44
|
+
*
|
|
45
|
+
* `only` is still passed to {@link decidePhaseSelection} as `undefined`: that
|
|
46
|
+
* helper is shared with `vat build`, which keeps its own `--only`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function selectValidateSurfaces(config: ProjectConfig | undefined, verbose?: boolean): PhaseSelection;
|
|
31
49
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EAYL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,6BAA6B,IAAI,OAAO,CA0DvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,UAAQ,GACd,cAAc,CAiBhB"}
|