@vibe-agent-toolkit/cli 0.2.0-rc.3 → 0.2.0-rc.5
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 +2 -1
- package/dist/bin/vat.js +2 -1
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +37 -3
- package/dist/bin.js.map +1 -1
- package/dist/commands/audit/distributed-tree.d.ts +1 -1
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
- package/dist/commands/audit/distributed-tree.js +2 -1
- package/dist/commands/audit/distributed-tree.js.map +1 -1
- package/dist/commands/audit/git-url-clone.d.ts +1 -1
- package/dist/commands/audit/git-url-clone.d.ts.map +1 -1
- package/dist/commands/audit/git-url-clone.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +25 -6
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +14 -11
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/cache-control.d.ts +16 -7
- package/dist/commands/cache/cache-control.d.ts.map +1 -1
- package/dist/commands/cache/cache-control.js +17 -8
- package/dist/commands/cache/cache-control.js.map +1 -1
- package/dist/commands/claude/budget.js +1 -1
- package/dist/commands/claude/budget.js.map +1 -1
- package/dist/commands/claude/context.d.ts +138 -9
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +450 -80
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +2 -1
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +18 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +40 -20
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts +17 -1
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +45 -16
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
- package/dist/commands/claude/plugin/helpers.js +2 -1
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +2 -2
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +2 -1
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +2 -1
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +3 -20
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/corpus/scan.d.ts.map +1 -1
- package/dist/commands/corpus/scan.js +2 -1
- package/dist/commands/corpus/scan.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +3 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.js +2 -2
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +154 -103
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +109 -155
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +145 -0
- package/dist/commands/resources/check-progress.d.ts.map +1 -0
- package/dist/commands/resources/check-progress.js +205 -0
- package/dist/commands/resources/check-progress.js.map +1 -0
- package/dist/commands/resources/check-supervisor.d.ts +465 -0
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -0
- package/dist/commands/resources/check-supervisor.js +566 -0
- package/dist/commands/resources/check-supervisor.js.map +1 -0
- package/dist/commands/resources/check.d.ts +454 -0
- package/dist/commands/resources/check.d.ts.map +1 -0
- package/dist/commands/resources/check.js +1237 -0
- package/dist/commands/resources/check.js.map +1 -0
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +277 -6
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query.d.ts +89 -0
- package/dist/commands/resources/query.d.ts.map +1 -0
- package/dist/commands/resources/query.js +146 -0
- package/dist/commands/resources/query.js.map +1 -0
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +2 -2
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +11 -0
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +96 -48
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +11 -2
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +10 -0
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +83 -25
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/install.js +0 -1
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +6 -3
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +78 -1
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +67 -32
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +26 -16
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +9 -8
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +46 -35
- package/dist/commands/verify.js.map +1 -1
- package/dist/utils/agent-runner.d.ts.map +1 -1
- package/dist/utils/agent-runner.js +7 -3
- package/dist/utils/agent-runner.js.map +1 -1
- package/dist/utils/command-error.d.ts +88 -2
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +98 -11
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +10 -3
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/issue-severity.d.ts +12 -5
- package/dist/utils/issue-severity.d.ts.map +1 -1
- package/dist/utils/issue-severity.js +1 -1
- package/dist/utils/issue-severity.js.map +1 -1
- package/dist/utils/population-wiring.d.ts +47 -6
- package/dist/utils/population-wiring.d.ts.map +1 -1
- package/dist/utils/population-wiring.js +45 -2
- package/dist/utils/population-wiring.js.map +1 -1
- package/dist/utils/projection-query.d.ts +263 -0
- package/dist/utils/projection-query.d.ts.map +1 -0
- package/dist/utils/projection-query.js +262 -0
- package/dist/utils/projection-query.js.map +1 -0
- package/dist/utils/projection-store.d.ts +110 -6
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +133 -9
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/resource-loader.d.ts +1 -1
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +11 -1
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/vat-bin-path.d.ts +36 -0
- package/dist/utils/vat-bin-path.d.ts.map +1 -0
- package/dist/utils/vat-bin-path.js +49 -0
- package/dist/utils/vat-bin-path.js.map +1 -0
- package/package.json +25 -14
- package/dist/commands/resources/command-helpers.d.ts +0 -5
- package/dist/commands/resources/command-helpers.d.ts.map +0 -1
- package/dist/commands/resources/command-helpers.js +0 -6
- package/dist/commands/resources/command-helpers.js.map +0 -1
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
* using validateSkillForPackaging with merged packaging config.
|
|
6
6
|
*/
|
|
7
7
|
import { validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
|
|
8
|
-
import { ResourceRegistry } from '@vibe-agent-toolkit/resources';
|
|
8
|
+
import { ResourceRegistry, } from '@vibe-agent-toolkit/resources';
|
|
9
9
|
import { allowUnusedIssues, calculateValidationStatus, countBySeverity, createAllowUsageLedger, } from '@vibe-agent-toolkit/schema';
|
|
10
|
-
import { findProjectRoot,
|
|
10
|
+
import { findProjectRoot, safePath } from '@vibe-agent-toolkit/utils';
|
|
11
|
+
import { gitFindRoot, GitTracker } from '@vibe-agent-toolkit/utils/git';
|
|
11
12
|
import * as yaml from 'yaml';
|
|
12
|
-
import {
|
|
13
|
+
import { reportCommandError } from '../../utils/command-error.js';
|
|
13
14
|
import { loadConfig } from '../../utils/config-loader.js';
|
|
14
15
|
import { formatDurationSecs } from '../../utils/duration.js';
|
|
15
16
|
import { formatIssueLines, formatRunIssueLines, formatSeverityBreakdown, issuesToRenderAtVerbosity, summarizeFindings, sumSeverityCounts, } from '../../utils/issue-rendering.js';
|
|
@@ -18,6 +19,7 @@ import { RESOURCES_CRAWL_ENV, RESOURCES_CRAWL_PROJECTION, withResourcePopulation
|
|
|
18
19
|
import { collectDeclaredEvalSuites, mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
19
20
|
import { renderSkillQualityFooter } from '../../utils/skill-quality-footer.js';
|
|
20
21
|
import { applyConfigVerdicts } from '../../utils/verdict-helpers.js';
|
|
22
|
+
import { finishCommand } from '../phase-utils.js';
|
|
21
23
|
import { filterSkillsByName, setupCommandContext, } from './command-helpers.js';
|
|
22
24
|
import { discoverSkillsFromConfig } from './skill-discovery.js';
|
|
23
25
|
/**
|
|
@@ -144,9 +146,8 @@ export function buildValidateSummary(results, duration, verbose, runIssues) {
|
|
|
144
146
|
/**
|
|
145
147
|
* Output YAML summary to stdout
|
|
146
148
|
*/
|
|
147
|
-
function
|
|
148
|
-
|
|
149
|
-
console.log(yaml.stringify(output, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
|
|
149
|
+
function writeYamlSummary(summary) {
|
|
150
|
+
console.log(yaml.stringify(summary, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
|
|
150
151
|
}
|
|
151
152
|
/**
|
|
152
153
|
* ONE line for one skill: its severity breakdown, its allowed count, and the
|
|
@@ -280,8 +281,7 @@ export function formatValidationReportLines(results, runIssues, verbose) {
|
|
|
280
281
|
/**
|
|
281
282
|
* Output validation report to stdout (YAML) and stderr (human-readable)
|
|
282
283
|
*/
|
|
283
|
-
function
|
|
284
|
-
outputYamlSummary(results, duration, verbose, runIssues);
|
|
284
|
+
function reportValidationToStderr(results, logger, verbose, runIssues) {
|
|
285
285
|
// Collect all emitted codes across skills (both errors and warnings) to drive the footer
|
|
286
286
|
const emittedCodes = new Set();
|
|
287
287
|
for (const r of results) {
|
|
@@ -327,20 +327,31 @@ function logSkillProgress(skillName, result, logger) {
|
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
/**
|
|
330
|
-
*
|
|
331
|
-
* invocation.
|
|
330
|
+
* The markdown-only, link-resolved registry `vat skills validate` shares across
|
|
331
|
+
* every skill in one invocation.
|
|
332
332
|
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
333
|
+
* Exported and named because it had two implementations: this one, and a
|
|
334
|
+
* restatement inside `pipeline-oracles/lanes.ts` whose own comment recorded that
|
|
335
|
+
* it was "the one lane with no reusable builder to point at". A copy of a
|
|
336
|
+
* registry builder is a copy of its ARGUMENTS, and the argument that matters
|
|
337
|
+
* here is `config` — see {@link SkillsValidateRegistryOptions.config}.
|
|
338
338
|
*
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
*
|
|
339
|
+
* @param projectRoot - Root every skill in the batch resolves to
|
|
340
|
+
* @param options - The governing config, and optionally the projection-backed
|
|
341
|
+
* enumeration to build from
|
|
342
|
+
* @returns A crawled registry whose links are already resolved
|
|
342
343
|
*/
|
|
343
|
-
async function
|
|
344
|
+
export async function buildSkillsValidateRegistry(projectRoot, options = {}) {
|
|
345
|
+
const { config, populationSource } = options;
|
|
346
|
+
const registry = await ResourceRegistry.fromCrawl({
|
|
347
|
+
baseDir: projectRoot,
|
|
348
|
+
include: ['**/*.md'],
|
|
349
|
+
...(populationSource !== undefined && { populationSource }),
|
|
350
|
+
}, config === undefined ? undefined : { config });
|
|
351
|
+
registry.resolveLinks();
|
|
352
|
+
return registry;
|
|
353
|
+
}
|
|
354
|
+
export async function buildSharedValidationContext(skills, projectSkills, config, logger) {
|
|
344
355
|
// The allow-entry ledger is not an optimization like the two below — it is
|
|
345
356
|
// what makes ALLOW_UNUSED true. `validation.allow` is declared once for the
|
|
346
357
|
// package and matched per skill, so only the batch can say an entry matched
|
|
@@ -405,13 +416,19 @@ async function buildSharedValidationContext(skills, projectSkills, logger) {
|
|
|
405
416
|
logger.debug(populationSource
|
|
406
417
|
? `Enumerating via the projection lane (${RESOURCES_CRAWL_ENV}=${RESOURCES_CRAWL_PROJECTION})`
|
|
407
418
|
: `Enumerating via the incumbent walk (${RESOURCES_CRAWL_ENV} unset)`);
|
|
408
|
-
return
|
|
409
|
-
|
|
410
|
-
|
|
419
|
+
return buildSkillsValidateRegistry(sharedRoot, {
|
|
420
|
+
// The command's OWN config, not a second read of the same file. It
|
|
421
|
+
// governs `sharedRoot` by construction: this command exits early
|
|
422
|
+
// without a config at `cwd`, every skill is discovered relative to
|
|
423
|
+
// `cwd`, and `findProjectRoot` stops at the nearest config — so the
|
|
424
|
+
// root every skill agrees on IS the root this config was loaded
|
|
425
|
+
// from. Withholding it routes parsing by the extension tables while
|
|
426
|
+
// the projection behind `populationSource` routes by the declared
|
|
427
|
+
// `mimeType`, and the two then disagree about which files are prose.
|
|
428
|
+
config,
|
|
411
429
|
...(populationSource !== undefined && { populationSource }),
|
|
412
430
|
});
|
|
413
431
|
});
|
|
414
|
-
registry.resolveLinks();
|
|
415
432
|
context.registry = registry;
|
|
416
433
|
}
|
|
417
434
|
}
|
|
@@ -421,9 +438,15 @@ async function buildSharedValidationContext(skills, projectSkills, logger) {
|
|
|
421
438
|
return context;
|
|
422
439
|
}
|
|
423
440
|
/**
|
|
424
|
-
*
|
|
441
|
+
* Validate every configured skill and hand back the document and exit code,
|
|
442
|
+
* printing the document nowhere.
|
|
443
|
+
*
|
|
444
|
+
* The phase entry point for `vat validate` and `vat verify`. The two early
|
|
445
|
+
* returns publish NO document — an unconfigured or empty run prints nothing on
|
|
446
|
+
* stdout and exits 0, exactly as the child process did, and
|
|
447
|
+
* `phaseResultFromOutcome` records that as `success` with no `report`.
|
|
425
448
|
*/
|
|
426
|
-
export async function
|
|
449
|
+
export async function runSkillsValidatePhase(pathArg, options) {
|
|
427
450
|
const { logger, cwd, startTime } = setupCommandContext(pathArg, options.debug);
|
|
428
451
|
try {
|
|
429
452
|
// Spec §7: `vat skills validate` requires a projectRoot — fails fast at
|
|
@@ -435,13 +458,13 @@ export async function validateCommand(pathArg, options) {
|
|
|
435
458
|
const config = loadConfig(cwd);
|
|
436
459
|
if (!config?.skills) {
|
|
437
460
|
logger.info('No skills section in config yaml — nothing to validate');
|
|
438
|
-
|
|
461
|
+
return { document: undefined, exitCode: 0 };
|
|
439
462
|
}
|
|
440
463
|
// Discover skills from config yaml (relative to cwd where config lives)
|
|
441
464
|
const discovered = await discoverSkillsFromConfig(config.skills, cwd);
|
|
442
465
|
if (discovered.length === 0) {
|
|
443
466
|
logger.info('ℹ️ No skills found matching config yaml skills.include patterns');
|
|
444
|
-
|
|
467
|
+
return { document: undefined, exitCode: 0 };
|
|
445
468
|
}
|
|
446
469
|
// Merge packaging config for each skill.
|
|
447
470
|
const { defaults, config: perSkillConfig } = config.skills;
|
|
@@ -459,7 +482,7 @@ export async function validateCommand(pathArg, options) {
|
|
|
459
482
|
// Every declared skill, not just `skillsToValidate`: `--skill x` narrows what is
|
|
460
483
|
// REPORTED on, never what counts as some skill's declared test input.
|
|
461
484
|
const projectSkills = collectDeclaredEvalSuites(config.skills, discovered);
|
|
462
|
-
const sharedContext = await buildSharedValidationContext(skillsToValidate, projectSkills, logger);
|
|
485
|
+
const sharedContext = await buildSharedValidationContext(skillsToValidate, projectSkills, config, logger);
|
|
463
486
|
// Validate each skill
|
|
464
487
|
const results = [];
|
|
465
488
|
for (const skill of skillsToValidate) {
|
|
@@ -479,16 +502,28 @@ export async function validateCommand(pathArg, options) {
|
|
|
479
502
|
const runIssues = sharedContext.allowLedger === undefined
|
|
480
503
|
? []
|
|
481
504
|
: allowUnusedIssues(sharedContext.allowLedger);
|
|
482
|
-
// Output report and exit
|
|
483
505
|
const duration = Date.now() - startTime;
|
|
484
506
|
const verbose = options.verbose === true;
|
|
485
|
-
|
|
507
|
+
const document = buildValidateSummary(results, duration, verbose, runIssues);
|
|
508
|
+
reportValidationToStderr(results, logger, verbose, runIssues);
|
|
486
509
|
const hasErrors = results.some(r => r.status === 'error')
|
|
487
510
|
|| runIssues.some(i => i.severity === 'error');
|
|
488
|
-
|
|
511
|
+
return { document, exitCode: hasErrors ? 1 : 0 };
|
|
489
512
|
}
|
|
490
513
|
catch (error) {
|
|
491
|
-
|
|
514
|
+
return {
|
|
515
|
+
document: reportCommandError(error, logger, startTime, 'SkillsValidate'),
|
|
516
|
+
exitCode: 2,
|
|
517
|
+
failed: true,
|
|
518
|
+
};
|
|
492
519
|
}
|
|
493
520
|
}
|
|
521
|
+
/**
|
|
522
|
+
* Skills validate command implementation
|
|
523
|
+
*/
|
|
524
|
+
export async function validateCommand(pathArg, options) {
|
|
525
|
+
finishCommand(await runSkillsValidatePhase(pathArg, options), (document) => {
|
|
526
|
+
writeYamlSummary(document);
|
|
527
|
+
});
|
|
528
|
+
}
|
|
494
529
|
//# sourceMappingURL=validate.js.map
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAWL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAwB1B,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,wBAAgB,6BAA6B,IAAI,OAAO,CAgEvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,UAAQ,GACd,cAAc,CAwBhB"}
|
|
@@ -28,8 +28,10 @@ import { loadConfig } from '../utils/config-loader.js';
|
|
|
28
28
|
import { createLogger } from '../utils/logger.js';
|
|
29
29
|
import { writeYamlOutput } from '../utils/output.js';
|
|
30
30
|
import { requireProjectRoot } from '../utils/project-root-policy.js';
|
|
31
|
-
import { addRetiredOnlyOption, aggregatePhaseIssueCounts, aggregatePhaseStatus, applyPhaseSelection, decidePhaseSelection, exitCodeForPhases, rejectRetiredOnly,
|
|
31
|
+
import { addRetiredOnlyOption, aggregatePhaseIssueCounts, aggregatePhaseStatus, applyPhaseSelection, decidePhaseSelection, exitCodeForPhases, rejectRetiredOnly, runPhase, } from './phase-utils.js';
|
|
32
32
|
import { rejectPositionalArguments } from './positional-args.js';
|
|
33
|
+
import { runResourcesValidatePhase } from './resources/validate.js';
|
|
34
|
+
import { runSkillsValidatePhase } from './skills/validate.js';
|
|
33
35
|
/** Surfaces `vat validate` knows how to run, in stable execution order. */
|
|
34
36
|
const VALID_SURFACES = ['resources', 'skills'];
|
|
35
37
|
const VALIDATE_VOCABULARY = {
|
|
@@ -81,8 +83,8 @@ Description:
|
|
|
81
83
|
Output:
|
|
82
84
|
ONE YAML document → stdout
|
|
83
85
|
per surface: status (success | warning | error | system-error) plus the
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
validator's exitCode — a surface that could not run is never reported as a
|
|
87
|
+
surface that failed validation. The validator's own
|
|
86
88
|
report is captured and nested under 'report', so the whole run stays a
|
|
87
89
|
single parseable document ('vat validate | jq' works). A surface's status
|
|
88
90
|
comes from the validator's REPORTED status, not from its exit code — an
|
|
@@ -93,9 +95,8 @@ Exit Codes:
|
|
|
93
95
|
0 - All configured validators passed (or nothing configured to validate)
|
|
94
96
|
1 - Validation errors found, or the retired '--only' flag was passed
|
|
95
97
|
2 - System error (this command's own, or propagated from a validator that
|
|
96
|
-
could not run: exited 2,
|
|
97
|
-
|
|
98
|
-
a path
|
|
98
|
+
could not run: it exited 2, or reported 'system-error' for itself), or a
|
|
99
|
+
usage error such as passing a path
|
|
99
100
|
|
|
100
101
|
Arguments:
|
|
101
102
|
None. Scope comes from vibe-agent-toolkit.config.yaml, never from the command
|
|
@@ -129,16 +130,23 @@ Example:
|
|
|
129
130
|
*/
|
|
130
131
|
export function selectValidateSurfaces(config, verbose = false) {
|
|
131
132
|
// Forwarded to every surface, exactly as `vat verify` forwards its own. Both
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
|
|
133
|
+
// validators already accept `-v, --verbose`; only this command lacked the
|
|
134
|
+
// flag, which made the collapsed warning/info detail unreachable HERE while
|
|
135
|
+
// the same findings were one `vat skills validate` away. It is now passed as
|
|
136
|
+
// the option it is, rather than re-serialized into an argv a second Commander
|
|
137
|
+
// would have to parse back.
|
|
136
138
|
const phases = [];
|
|
137
139
|
if (config?.resources) {
|
|
138
|
-
phases.push({
|
|
140
|
+
phases.push({
|
|
141
|
+
name: 'resources',
|
|
142
|
+
run: () => runResourcesValidatePhase(undefined, { verbose }),
|
|
143
|
+
});
|
|
139
144
|
}
|
|
140
145
|
if (config?.skills) {
|
|
141
|
-
phases.push({
|
|
146
|
+
phases.push({
|
|
147
|
+
name: 'skills',
|
|
148
|
+
run: () => runSkillsValidatePhase(undefined, { verbose }),
|
|
149
|
+
});
|
|
142
150
|
}
|
|
143
151
|
return decidePhaseSelection(undefined, phases, VALIDATE_VOCABULARY);
|
|
144
152
|
}
|
|
@@ -160,14 +168,16 @@ async function validateTopLevelCommand(options, command) {
|
|
|
160
168
|
try {
|
|
161
169
|
const phases = applyPhaseSelection(selectValidateSurfaces(loadConfig(projectRoot), options.verbose === true), logger, startTime);
|
|
162
170
|
logger.info(`✅ vat validate (surfaces: ${phases.map((p) => p.name).join(' → ')})`);
|
|
163
|
-
const binPath = resolveBinPath();
|
|
164
171
|
const phaseResults = [];
|
|
165
172
|
for (const phase of phases) {
|
|
166
173
|
logger.info(`\n▶ Surface: ${phase.name}`);
|
|
167
|
-
|
|
174
|
+
// Awaited in the loop, deliberately: surfaces are announced in a fixed
|
|
175
|
+
// order and their stderr streams live, so overlapping them would
|
|
176
|
+
// interleave two running reports into one unreadable channel.
|
|
177
|
+
phaseResults.push(await runPhase(phase));
|
|
168
178
|
}
|
|
169
|
-
// A surface whose validator could not RUN (exit 2,
|
|
170
|
-
// is not
|
|
179
|
+
// A surface whose validator could not RUN (exit 2, or a self-reported
|
|
180
|
+
// system error) is not one that failed validation: it exits 2, so a CI gate can
|
|
171
181
|
// tell a broken config from a broken link.
|
|
172
182
|
// `issueCounts` beside `status` because a status alone cannot express a
|
|
173
183
|
// three-valued distribution, and this document published none at all: a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* 5. packaged-content (in-process; built bundles carry nothing that must not ship)
|
|
10
10
|
* 6. consistency check (in-process; skill distribution integrity — package.json, plugin assignment)
|
|
11
11
|
*
|
|
12
|
-
* 1–3
|
|
13
|
-
* are chosen by
|
|
14
|
-
* are
|
|
12
|
+
* 1–3 delegate to a whole `vat` command and nest that command's own report under
|
|
13
|
+
* `report`; they are chosen by {@link selectVerifyPhases}. 4–6 exist only here and
|
|
14
|
+
* are chosen by `selectInProcessVerifyPhases`. Every phase runs in this process.
|
|
15
|
+
* Both sets are config-gated, and both are announced on startup.
|
|
15
16
|
*/
|
|
16
17
|
import type { ProjectConfig } from '@vibe-agent-toolkit/resources';
|
|
17
18
|
import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
@@ -102,17 +103,17 @@ export declare function checkPackagedAgentInstructionFiles(cwd: string, discover
|
|
|
102
103
|
* `vat build`).
|
|
103
104
|
*
|
|
104
105
|
* @param configError - The config-load failure, when the config could not be
|
|
105
|
-
* read. Every
|
|
106
|
-
*
|
|
107
|
-
* @param verbose - Forwarded to each
|
|
108
|
-
*
|
|
106
|
+
* read. Every delegated phase still runs so THE PHASE reports the real config
|
|
107
|
+
* error (exit 2) instead of this command guessing.
|
|
108
|
+
* @param verbose - Forwarded to each delegated phase. Each phase owns its own
|
|
109
|
+
* summarization; this command only relays the request.
|
|
109
110
|
*/
|
|
110
111
|
export declare function selectVerifyPhases(config: ProjectConfig | undefined, configError?: string, verbose?: boolean): PhaseSelection;
|
|
111
112
|
/**
|
|
112
113
|
* The startup announcement: every phase this run will inspect something with,
|
|
113
114
|
* in order. A phase that would consult nothing is not named.
|
|
114
115
|
*/
|
|
115
|
-
export declare function formatVerifyAnnouncement(
|
|
116
|
+
export declare function formatVerifyAnnouncement(delegatedPhaseNames: readonly string[], config: ProjectConfig | undefined): string;
|
|
116
117
|
/** An in-process phase's finding as it appears in the archived YAML. */
|
|
117
118
|
interface PublishedIssue {
|
|
118
119
|
severity: ValidationIssue['severity'] | ConsistencyIssueSeverity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAWL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAInE,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD,wBAAgB,2BAA2B,IAAI,OAAO,CAqFrD;AAED,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAyID;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,SAAS,eAAe,EAAE,GACrC,oBAAoB,EAAE,CAmBxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,SAAS,eAAe,EAAE,GACrC,eAAe,EAAE,CAWnB;AAwGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,cAAc,CAiChB;AA4CD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,mBAAmB,EAAE,SAAS,MAAM,EAAE,EACtC,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,MAAM,CAGR;AAED,wEAAwE;AACxE,UAAU,cAAc;IAGtB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,wBAAwB,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAavE"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* 5. packaged-content (in-process; built bundles carry nothing that must not ship)
|
|
10
10
|
* 6. consistency check (in-process; skill distribution integrity — package.json, plugin assignment)
|
|
11
11
|
*
|
|
12
|
-
* 1–3
|
|
13
|
-
* are chosen by
|
|
14
|
-
* are
|
|
12
|
+
* 1–3 delegate to a whole `vat` command and nest that command's own report under
|
|
13
|
+
* `report`; they are chosen by {@link selectVerifyPhases}. 4–6 exist only here and
|
|
14
|
+
* are chosen by `selectInProcessVerifyPhases`. Every phase runs in this process.
|
|
15
|
+
* Both sets are config-gated, and both are announced on startup.
|
|
15
16
|
*/
|
|
16
17
|
import { existsSync } from 'node:fs';
|
|
17
18
|
import { basename } from 'node:path';
|
|
@@ -26,10 +27,13 @@ import { resolveIssueSeverity } from '../utils/issue-severity.js';
|
|
|
26
27
|
import { writeYamlOutput } from '../utils/output.js';
|
|
27
28
|
import { requireProjectRoot } from '../utils/project-root-policy.js';
|
|
28
29
|
import { mergeSkillPackagingConfig } from '../utils/skill-packaging-config.js';
|
|
30
|
+
import { runMarketplaceValidatePhase } from './claude/marketplace/validate.js';
|
|
29
31
|
import { runConsistencyChecks, } from './consistency-check.js';
|
|
30
32
|
import { addRetiredOnlyOption, aggregatePhaseStatus, applyPhaseSelection, createPhaseContext, decidePhaseSelection, exitCodeForPhases, rejectRetiredOnly, runPhase, } from './phase-utils.js';
|
|
31
33
|
import { rejectPositionalArguments } from './positional-args.js';
|
|
34
|
+
import { runResourcesValidatePhase } from './resources/validate.js';
|
|
32
35
|
import { discoverSkillsFromConfig } from './skills/skill-discovery.js';
|
|
36
|
+
import { runSkillsValidatePhase } from './skills/validate.js';
|
|
33
37
|
/**
|
|
34
38
|
* Measured full-run duration on the 90-skill / 1,041-document adopter, cited by
|
|
35
39
|
* the retired-`--only` message: resources 12.5s + skills 15.6s + marketplace
|
|
@@ -58,12 +62,12 @@ Description:
|
|
|
58
62
|
about as long as its slowest two phases, so a CI gate cannot lose coverage
|
|
59
63
|
by naming a phase whose config key was renamed out from under it.
|
|
60
64
|
|
|
61
|
-
Phases (
|
|
65
|
+
Phases (delegated to a whole vat command):
|
|
62
66
|
resources → link integrity, collection frontmatter schemas (when 'resources:' configured)
|
|
63
67
|
skills → SKILL.md frontmatter and packaging validation (when 'skills:' configured)
|
|
64
68
|
marketplace → strict marketplace validation (when 'claude.marketplaces:' configured)
|
|
65
69
|
|
|
66
|
-
Phases (
|
|
70
|
+
Phases (verify's own, run after the above, when 'skills:' is configured):
|
|
67
71
|
files-config-dests → every 'files:' dest exists in the built output. Appears
|
|
68
72
|
in the document only when a dest is missing.
|
|
69
73
|
packaged-content → built skill bundles carry no repo-internal agent-instruction
|
|
@@ -81,27 +85,27 @@ Description:
|
|
|
81
85
|
|
|
82
86
|
Output:
|
|
83
87
|
ONE YAML document → stdout
|
|
84
|
-
per phase: status (success | warning | error | system-error). A
|
|
88
|
+
per phase: status (success | warning | error | system-error). A delegated
|
|
85
89
|
phase's own report is captured and nested under 'report', so the whole run
|
|
86
90
|
is a single parseable document (a phase's stdout is never streamed
|
|
87
|
-
through). A phase's status comes from
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
through). A phase's status comes from its own REPORTED status, not from its
|
|
92
|
+
exit code — an exit code cannot express 'warning'. Verify's own phases also
|
|
93
|
+
publish issueCounts {errors, warnings, info}; 'consistency' and
|
|
90
94
|
'packaged-content' carry their findings into the document too, while
|
|
91
95
|
'files-config-dests' publishes counts only and lists the missing dests on
|
|
92
96
|
stderr.
|
|
93
97
|
Progress and validation errors → stderr (streamed live)
|
|
94
98
|
|
|
95
|
-
By default each
|
|
96
|
-
that have findings. '--verbose' is forwarded to every
|
|
99
|
+
By default each delegated phase reports a per-asset summary plus the assets
|
|
100
|
+
that have findings. '--verbose' is forwarded to every delegated phase, which
|
|
97
101
|
then also lists the assets it inspected and found nothing to report.
|
|
98
102
|
|
|
99
103
|
Exit Codes:
|
|
100
104
|
0 - All phases passed (a warning does not fail the run — read status/issueCounts)
|
|
101
105
|
1 - Validation errors found
|
|
102
106
|
2 - System error (this command's own, or propagated from a phase that could
|
|
103
|
-
not run: exited 2,
|
|
104
|
-
|
|
107
|
+
not run: it exited 2, or reported 'system-error' for itself), or a usage
|
|
108
|
+
error such as passing a path
|
|
105
109
|
|
|
106
110
|
Arguments:
|
|
107
111
|
None. Scope comes from vibe-agent-toolkit.config.yaml, never from the command
|
|
@@ -161,9 +165,9 @@ function tryAddCheckEntry(checks, skillName, outputDir, packaging) {
|
|
|
161
165
|
* - Pool skills: `dist/skills/<fsName>/`
|
|
162
166
|
* - Tree-copy skills: `dist/.claude/plugins/.../skills/<name>/`
|
|
163
167
|
*
|
|
164
|
-
* Returns `[]` (never throws) for an unreadable config: `vat verify`'s
|
|
165
|
-
* phases report the real config error, and
|
|
166
|
-
* with a second, worse diagnosis.
|
|
168
|
+
* Returns `[]` (never throws) for an unreadable config: `vat verify`'s delegated
|
|
169
|
+
* phases report the real config error, and one of verify's own phases must not
|
|
170
|
+
* race them with a second, worse diagnosis.
|
|
167
171
|
*
|
|
168
172
|
* The pool arm enumerates the skills the run DISCOVERED, unioned with the keys of
|
|
169
173
|
* `skills.config`. It used to be the config keys alone, which made both in-process
|
|
@@ -407,31 +411,35 @@ const VERIFY_VOCABULARY = {
|
|
|
407
411
|
* `vat build`).
|
|
408
412
|
*
|
|
409
413
|
* @param configError - The config-load failure, when the config could not be
|
|
410
|
-
* read. Every
|
|
411
|
-
*
|
|
412
|
-
* @param verbose - Forwarded to each
|
|
413
|
-
*
|
|
414
|
+
* read. Every delegated phase still runs so THE PHASE reports the real config
|
|
415
|
+
* error (exit 2) instead of this command guessing.
|
|
416
|
+
* @param verbose - Forwarded to each delegated phase. Each phase owns its own
|
|
417
|
+
* summarization; this command only relays the request.
|
|
414
418
|
*/
|
|
415
419
|
export function selectVerifyPhases(config, configError, verbose) {
|
|
416
420
|
const phases = [];
|
|
417
421
|
const unreadable = configError !== undefined;
|
|
418
|
-
const detail = verbose === true
|
|
422
|
+
const detail = verbose === true;
|
|
419
423
|
if (unreadable || config?.resources) {
|
|
420
|
-
phases.push({
|
|
424
|
+
phases.push({
|
|
425
|
+
name: 'resources',
|
|
426
|
+
run: () => runResourcesValidatePhase(undefined, { verbose: detail }),
|
|
427
|
+
});
|
|
421
428
|
}
|
|
422
429
|
if (unreadable || config?.skills) {
|
|
423
|
-
phases.push({
|
|
430
|
+
phases.push({
|
|
431
|
+
name: 'skills',
|
|
432
|
+
run: () => runSkillsValidatePhase(undefined, { verbose: detail }),
|
|
433
|
+
});
|
|
424
434
|
}
|
|
425
435
|
for (const name of Object.keys(config?.claude?.marketplaces ?? {})) {
|
|
436
|
+
// Bound per marketplace, so each phase closes over its OWN name. This is a
|
|
437
|
+
// loop over the adopter's config, which is why verify's phase count is
|
|
438
|
+
// `2 + n` and never the constant four its help text once implied.
|
|
439
|
+
const marketplacePath = `dist/.claude/plugins/marketplaces/${name}`;
|
|
426
440
|
phases.push({
|
|
427
441
|
name: `marketplace:${name}`,
|
|
428
|
-
|
|
429
|
-
'claude',
|
|
430
|
-
'marketplace',
|
|
431
|
-
'validate',
|
|
432
|
-
`dist/.claude/plugins/marketplaces/${name}`,
|
|
433
|
-
...detail,
|
|
434
|
-
],
|
|
442
|
+
run: () => runMarketplaceValidatePhase(marketplacePath, { verbose: detail }),
|
|
435
443
|
});
|
|
436
444
|
}
|
|
437
445
|
return decidePhaseSelection(undefined, phases, VERIFY_VOCABULARY, {
|
|
@@ -446,7 +454,7 @@ const PACKAGED_CONTENT = 'packaged-content';
|
|
|
446
454
|
* The SINGLE source for that question: {@link verifyTopLevelCommand} gates
|
|
447
455
|
* execution on this list and {@link formatVerifyAnnouncement} announces the same
|
|
448
456
|
* list, so the printed phase list cannot drift from the phases that run. It used
|
|
449
|
-
* to be announced from the
|
|
457
|
+
* to be announced from the delegated phases alone while these two were gated by
|
|
450
458
|
* hand-written conditions further down, so a run printed '(phases: skills)' and
|
|
451
459
|
* then also ran `consistency`, which put a second entry in the emitted document.
|
|
452
460
|
* A status that under-reports what it did is the same defect class as
|
|
@@ -479,8 +487,8 @@ function selectInProcessVerifyPhases(config) {
|
|
|
479
487
|
* The startup announcement: every phase this run will inspect something with,
|
|
480
488
|
* in order. A phase that would consult nothing is not named.
|
|
481
489
|
*/
|
|
482
|
-
export function formatVerifyAnnouncement(
|
|
483
|
-
const all = [...
|
|
490
|
+
export function formatVerifyAnnouncement(delegatedPhaseNames, config) {
|
|
491
|
+
const all = [...delegatedPhaseNames, ...selectInProcessVerifyPhases(config)];
|
|
484
492
|
return `🔍 vat verify (phases: ${all.join(' → ')})`;
|
|
485
493
|
}
|
|
486
494
|
/**
|
|
@@ -574,7 +582,7 @@ async function verifyTopLevelCommand(options, command) {
|
|
|
574
582
|
rejectRetiredOnly(options.only, COMMAND_NAME, VERIFY_FULL_RUN_SECONDS);
|
|
575
583
|
// Spec §7: `vat verify` requires a projectRoot.
|
|
576
584
|
const projectRoot = requireProjectRoot(process.cwd(), COMMAND_NAME);
|
|
577
|
-
const { logger, startTime
|
|
585
|
+
const { logger, startTime } = createPhaseContext(options.debug);
|
|
578
586
|
try {
|
|
579
587
|
// Inside the try, deliberately: phase selection used to throw from out here
|
|
580
588
|
// (on an unroutable `--only`), so the user got a raw Node stack trace and
|
|
@@ -588,7 +596,10 @@ async function verifyTopLevelCommand(options, command) {
|
|
|
588
596
|
const phaseResults = [];
|
|
589
597
|
for (const phase of phases) {
|
|
590
598
|
logger.info(`\n▶ Phase: ${phase.name}`);
|
|
591
|
-
|
|
599
|
+
// Awaited in the loop, deliberately: phases are announced in a fixed order
|
|
600
|
+
// and their stderr streams live, so overlapping them would interleave two
|
|
601
|
+
// running reports into one unreadable channel.
|
|
602
|
+
phaseResults.push(await runPhase(phase));
|
|
592
603
|
}
|
|
593
604
|
// ONE discovery for the whole in-process half of the run. Every phase below
|
|
594
605
|
// asks the same question — "which skills does this project have" — and each
|