@vibe-agent-toolkit/cli 0.2.0-rc.2 → 0.2.0-rc.4

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.
Files changed (211) hide show
  1. package/dist/bin/vat +68 -16
  2. package/dist/bin/vat.js +68 -16
  3. package/dist/bin/vat.js.map +1 -1
  4. package/dist/bin.js +157 -37
  5. package/dist/bin.js.map +1 -1
  6. package/dist/command-loaders.d.ts +44 -0
  7. package/dist/command-loaders.d.ts.map +1 -0
  8. package/dist/command-loaders.js +58 -0
  9. package/dist/command-loaders.js.map +1 -0
  10. package/dist/commands/agent/index.js +1 -1
  11. package/dist/commands/agent/install.d.ts.map +1 -1
  12. package/dist/commands/agent/install.js +46 -5
  13. package/dist/commands/agent/install.js.map +1 -1
  14. package/dist/commands/audit/distributed-tree.d.ts +2 -2
  15. package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
  16. package/dist/commands/audit/distributed-tree.js +2 -1
  17. package/dist/commands/audit/distributed-tree.js.map +1 -1
  18. package/dist/commands/audit/git-url-clone.d.ts +1 -1
  19. package/dist/commands/audit/git-url-clone.d.ts.map +1 -1
  20. package/dist/commands/audit/git-url-clone.js.map +1 -1
  21. package/dist/commands/audit/hierarchical-output.d.ts +1 -1
  22. package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
  23. package/dist/commands/audit/hierarchical-output.js +1 -1
  24. package/dist/commands/audit/hierarchical-output.js.map +1 -1
  25. package/dist/commands/audit.d.ts +22 -1
  26. package/dist/commands/audit.d.ts.map +1 -1
  27. package/dist/commands/audit.js +224 -24
  28. package/dist/commands/audit.js.map +1 -1
  29. package/dist/commands/build.d.ts +1 -1
  30. package/dist/commands/build.d.ts.map +1 -1
  31. package/dist/commands/build.js +15 -12
  32. package/dist/commands/build.js.map +1 -1
  33. package/dist/commands/cache/cache-control.d.ts +82 -0
  34. package/dist/commands/cache/cache-control.d.ts.map +1 -0
  35. package/dist/commands/cache/cache-control.js +86 -0
  36. package/dist/commands/cache/cache-control.js.map +1 -0
  37. package/dist/commands/cache/clear.d.ts +17 -3
  38. package/dist/commands/cache/clear.d.ts.map +1 -1
  39. package/dist/commands/cache/clear.js +68 -3
  40. package/dist/commands/cache/clear.js.map +1 -1
  41. package/dist/commands/cache/index.d.ts +13 -63
  42. package/dist/commands/cache/index.d.ts.map +1 -1
  43. package/dist/commands/cache/index.js +38 -79
  44. package/dist/commands/cache/index.js.map +1 -1
  45. package/dist/commands/claude/budget.d.ts +157 -0
  46. package/dist/commands/claude/budget.d.ts.map +1 -0
  47. package/dist/commands/claude/budget.js +412 -0
  48. package/dist/commands/claude/budget.js.map +1 -0
  49. package/dist/commands/claude/context.d.ts +340 -0
  50. package/dist/commands/claude/context.d.ts.map +1 -0
  51. package/dist/commands/claude/context.js +1079 -0
  52. package/dist/commands/claude/context.js.map +1 -0
  53. package/dist/commands/claude/index.d.ts +13 -0
  54. package/dist/commands/claude/index.d.ts.map +1 -1
  55. package/dist/commands/claude/index.js +24 -2
  56. package/dist/commands/claude/index.js.map +1 -1
  57. package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
  58. package/dist/commands/claude/marketplace/git-publish.js +18 -19
  59. package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
  60. package/dist/commands/claude/marketplace/validate.d.ts +19 -1
  61. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  62. package/dist/commands/claude/marketplace/validate.js +41 -21
  63. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  64. package/dist/commands/claude/plugin/build.d.ts +18 -2
  65. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  66. package/dist/commands/claude/plugin/build.js +55 -18
  67. package/dist/commands/claude/plugin/build.js.map +1 -1
  68. package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
  69. package/dist/commands/claude/plugin/helpers.js +2 -1
  70. package/dist/commands/claude/plugin/helpers.js.map +1 -1
  71. package/dist/commands/claude/plugin/install.d.ts.map +1 -1
  72. package/dist/commands/claude/plugin/install.js +24 -3
  73. package/dist/commands/claude/plugin/install.js.map +1 -1
  74. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  75. package/dist/commands/claude/plugin/tree-copy.js +2 -1
  76. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  77. package/dist/commands/consistency-check.d.ts.map +1 -1
  78. package/dist/commands/consistency-check.js +4 -3
  79. package/dist/commands/consistency-check.js.map +1 -1
  80. package/dist/commands/corpus/report.d.ts +1 -1
  81. package/dist/commands/corpus/report.d.ts.map +1 -1
  82. package/dist/commands/corpus/runner.d.ts.map +1 -1
  83. package/dist/commands/corpus/runner.js +3 -2
  84. package/dist/commands/corpus/runner.js.map +1 -1
  85. package/dist/commands/corpus/scan.d.ts.map +1 -1
  86. package/dist/commands/corpus/scan.js +18 -8
  87. package/dist/commands/corpus/scan.js.map +1 -1
  88. package/dist/commands/doctor.d.ts +36 -0
  89. package/dist/commands/doctor.d.ts.map +1 -1
  90. package/dist/commands/doctor.js +99 -2
  91. package/dist/commands/doctor.js.map +1 -1
  92. package/dist/commands/inventory.d.ts +13 -1
  93. package/dist/commands/inventory.d.ts.map +1 -1
  94. package/dist/commands/inventory.js +118 -13
  95. package/dist/commands/inventory.js.map +1 -1
  96. package/dist/commands/mcp/collections.d.ts +1 -1
  97. package/dist/commands/mcp/collections.d.ts.map +1 -1
  98. package/dist/commands/phase-utils.d.ts +155 -104
  99. package/dist/commands/phase-utils.d.ts.map +1 -1
  100. package/dist/commands/phase-utils.js +109 -155
  101. package/dist/commands/phase-utils.js.map +1 -1
  102. package/dist/commands/rag/index-command.d.ts +39 -0
  103. package/dist/commands/rag/index-command.d.ts.map +1 -1
  104. package/dist/commands/rag/index-command.js +28 -2
  105. package/dist/commands/rag/index-command.js.map +1 -1
  106. package/dist/commands/rag/index.d.ts.map +1 -1
  107. package/dist/commands/rag/index.js +21 -10
  108. package/dist/commands/rag/index.js.map +1 -1
  109. package/dist/commands/resources/index.d.ts.map +1 -1
  110. package/dist/commands/resources/index.js +10 -2
  111. package/dist/commands/resources/index.js.map +1 -1
  112. package/dist/commands/resources/scan.d.ts +24 -0
  113. package/dist/commands/resources/scan.d.ts.map +1 -1
  114. package/dist/commands/resources/scan.js +19 -6
  115. package/dist/commands/resources/scan.js.map +1 -1
  116. package/dist/commands/resources/validate.d.ts +12 -1
  117. package/dist/commands/resources/validate.d.ts.map +1 -1
  118. package/dist/commands/resources/validate.js +102 -51
  119. package/dist/commands/resources/validate.js.map +1 -1
  120. package/dist/commands/skill/review-checklist.d.ts.map +1 -1
  121. package/dist/commands/skill/review-checklist.js +1 -0
  122. package/dist/commands/skill/review-checklist.js.map +1 -1
  123. package/dist/commands/skill/review.js +2 -2
  124. package/dist/commands/skill/review.js.map +1 -1
  125. package/dist/commands/skill/test/configure.d.ts +19 -0
  126. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  127. package/dist/commands/skill/test/configure.js +18 -3
  128. package/dist/commands/skill/test/configure.js.map +1 -1
  129. package/dist/commands/skill/test/run.d.ts +51 -4
  130. package/dist/commands/skill/test/run.d.ts.map +1 -1
  131. package/dist/commands/skill/test/run.js +123 -12
  132. package/dist/commands/skill/test/run.js.map +1 -1
  133. package/dist/commands/skills/build.d.ts +11 -1
  134. package/dist/commands/skills/build.d.ts.map +1 -1
  135. package/dist/commands/skills/build.js +154 -61
  136. package/dist/commands/skills/build.js.map +1 -1
  137. package/dist/commands/skills/package.d.ts +1 -1
  138. package/dist/commands/skills/package.d.ts.map +1 -1
  139. package/dist/commands/skills/package.js.map +1 -1
  140. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  141. package/dist/commands/skills/skill-discovery.js +2 -1
  142. package/dist/commands/skills/skill-discovery.js.map +1 -1
  143. package/dist/commands/skills/validate.d.ts +79 -2
  144. package/dist/commands/skills/validate.d.ts.map +1 -1
  145. package/dist/commands/skills/validate.js +101 -48
  146. package/dist/commands/skills/validate.js.map +1 -1
  147. package/dist/commands/validate.d.ts.map +1 -1
  148. package/dist/commands/validate.js +26 -16
  149. package/dist/commands/validate.js.map +1 -1
  150. package/dist/commands/verify.d.ts +11 -10
  151. package/dist/commands/verify.d.ts.map +1 -1
  152. package/dist/commands/verify.js +49 -38
  153. package/dist/commands/verify.js.map +1 -1
  154. package/dist/utils/command-error.d.ts +33 -2
  155. package/dist/utils/command-error.d.ts.map +1 -1
  156. package/dist/utils/command-error.js +34 -10
  157. package/dist/utils/command-error.js.map +1 -1
  158. package/dist/utils/config-loader.d.ts.map +1 -1
  159. package/dist/utils/config-loader.js +7 -1
  160. package/dist/utils/config-loader.js.map +1 -1
  161. package/dist/utils/context-budget-issues.d.ts +108 -0
  162. package/dist/utils/context-budget-issues.d.ts.map +1 -0
  163. package/dist/utils/context-budget-issues.js +280 -0
  164. package/dist/utils/context-budget-issues.js.map +1 -0
  165. package/dist/utils/corpus-target.d.ts +48 -0
  166. package/dist/utils/corpus-target.d.ts.map +1 -0
  167. package/dist/utils/corpus-target.js +61 -0
  168. package/dist/utils/corpus-target.js.map +1 -0
  169. package/dist/utils/issue-anchor.d.ts +2 -2
  170. package/dist/utils/issue-anchor.d.ts.map +1 -1
  171. package/dist/utils/issue-anchor.js +1 -1
  172. package/dist/utils/issue-rendering.d.ts +1 -1
  173. package/dist/utils/issue-rendering.d.ts.map +1 -1
  174. package/dist/utils/issue-rendering.js +1 -1
  175. package/dist/utils/issue-rendering.js.map +1 -1
  176. package/dist/utils/issue-severity.d.ts +1 -1
  177. package/dist/utils/issue-severity.d.ts.map +1 -1
  178. package/dist/utils/issue-severity.js +1 -1
  179. package/dist/utils/issue-severity.js.map +1 -1
  180. package/dist/utils/optional-backend.d.ts +77 -0
  181. package/dist/utils/optional-backend.d.ts.map +1 -0
  182. package/dist/utils/optional-backend.js +115 -0
  183. package/dist/utils/optional-backend.js.map +1 -0
  184. package/dist/utils/output.d.ts +17 -0
  185. package/dist/utils/output.d.ts.map +1 -1
  186. package/dist/utils/output.js +19 -0
  187. package/dist/utils/output.js.map +1 -1
  188. package/dist/utils/population-wiring.d.ts +100 -0
  189. package/dist/utils/population-wiring.d.ts.map +1 -0
  190. package/dist/utils/population-wiring.js +98 -0
  191. package/dist/utils/population-wiring.js.map +1 -0
  192. package/dist/utils/projection-store.d.ts +188 -0
  193. package/dist/utils/projection-store.d.ts.map +1 -0
  194. package/dist/utils/projection-store.js +257 -0
  195. package/dist/utils/projection-store.js.map +1 -0
  196. package/dist/utils/resource-loader.d.ts +128 -2
  197. package/dist/utils/resource-loader.d.ts.map +1 -1
  198. package/dist/utils/resource-loader.js +234 -7
  199. package/dist/utils/resource-loader.js.map +1 -1
  200. package/dist/utils/verdict-helpers.d.ts +1 -1
  201. package/dist/utils/verdict-helpers.d.ts.map +1 -1
  202. package/dist/utils/verdict-helpers.js +1 -1
  203. package/dist/utils/verdict-helpers.js.map +1 -1
  204. package/docs/agent.md +2 -2
  205. package/docs/mcp.md +2 -2
  206. package/docs/resources.md +8 -1
  207. package/package.json +15 -12
  208. package/dist/commands/resources/command-helpers.d.ts +0 -5
  209. package/dist/commands/resources/command-helpers.d.ts.map +0 -1
  210. package/dist/commands/resources/command-helpers.js +0 -6
  211. package/dist/commands/resources/command-helpers.js.map +0 -1
@@ -9,14 +9,15 @@
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 are subprocess phases chosen by {@link selectVerifyPhases}; 4–6 run here and
13
- * are chosen by `selectInProcessVerifyPhases`. Both sets are config-gated, and both
14
- * are announced on startup.
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';
18
- import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/agent-schema';
19
19
  import { computeTreeCopiedSkillLocations, detectPackagedAgentInstructionFiles, explicitFilesConfigDests, } from '@vibe-agent-toolkit/agent-skills';
20
+ import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/schema';
20
21
  import { safePath } from '@vibe-agent-toolkit/utils';
21
22
  import { Command } from 'commander';
22
23
  import { handleCommandError } from '../utils/command-error.js';
@@ -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 (subprocess):
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 (in-process, run after the above, when 'skills:' is configured):
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 subprocess
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 the child's REPORTED status, not
88
- from its exit code — an exit code cannot express 'warning'. In-process
89
- phases also publish issueCounts {errors, warnings, info}; 'consistency' and
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 subprocess phase reports a per-asset summary plus the assets
96
- that have findings. '--verbose' is forwarded to every subprocess phase, which
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, was killed by a signal, was never spawned, or wrote
104
- output that could not be parsed), or a usage error such as passing a path
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 subprocess
165
- * phases report the real config error, and an in-process phase must not race them
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
@@ -290,7 +294,7 @@ export function checkFilesConfigDests(cwd, discovered) {
290
294
  * whose usage is only answerable across a whole run, and this phase would have to
291
295
  * drain a ledger it is not the run of — reporting ALLOW_UNUSED for every entry the
292
296
  * project declares for other lanes. Severity is answerable per unit of work; allow
293
- * is not. See `AllowUsageLedger` in `@vibe-agent-toolkit/agent-schema`.
297
+ * is not. See `AllowUsageLedger` in `@vibe-agent-toolkit/schema`.
294
298
  *
295
299
  * Locations anchor at `cwd`, the run's stated root, so a reader can open them.
296
300
  *
@@ -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 subprocess phase still runs so the CHILD reports the real
411
- * config error (exit 2) instead of this command guessing.
412
- * @param verbose - Forwarded to each subprocess phase as `--verbose`. The
413
- * children own their own summarization; this command only relays the request.
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 ? ['--verbose'] : [];
422
+ const detail = verbose === true;
419
423
  if (unreadable || config?.resources) {
420
- phases.push({ name: 'resources', args: ['resources', 'validate', ...detail] });
424
+ phases.push({
425
+ name: 'resources',
426
+ run: () => runResourcesValidatePhase(undefined, { verbose: detail }),
427
+ });
421
428
  }
422
429
  if (unreadable || config?.skills) {
423
- phases.push({ name: 'skills', args: ['skills', 'validate', ...detail] });
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
- args: [
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 subprocess phases alone while these two were gated by
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(subprocessPhaseNames, config) {
483
- const all = [...subprocessPhaseNames, ...selectInProcessVerifyPhases(config)];
490
+ export function formatVerifyAnnouncement(delegatedPhaseNames, config) {
491
+ const all = [...delegatedPhaseNames, ...selectInProcessVerifyPhases(config)];
484
492
  return `🔍 vat verify (phases: ${all.join(' → ')})`;
485
493
  }
486
494
  /**
@@ -513,7 +521,7 @@ export function toPublishedIssue(issue) {
513
521
  * `ConsistencyIssue` speaks the same severity vocabulary as `ValidationIssue`
514
522
  * but carries a free-form `code`, so it is counted through this projection —
515
523
  * there must be exactly ONE issues→status/counts collapse in the codebase, and
516
- * it lives in `@vibe-agent-toolkit/agent-schema`.
524
+ * it lives in `@vibe-agent-toolkit/schema`.
517
525
  */
518
526
  function asValidationIssues(issues) {
519
527
  return issues.map((issue) => ({
@@ -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, binPath } = createPhaseContext(options.debug);
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
- phaseResults.push(runPhase(binPath, phase));
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
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * written nothing to stdout — same name, same signature, same documented
7
7
  * contract, silently different behaviour. Every command family routes here.
8
8
  */
9
- import { type SeverityCounts, type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
9
+ import { type SeverityCounts, type ValidationIssue } from '@vibe-agent-toolkit/schema';
10
10
  import type { Logger } from './logger.js';
11
11
  /**
12
12
  * Format duration for human readability
@@ -33,8 +33,39 @@ export declare function formatDuration(ms: number): string;
33
33
  * @returns Stack trace for an `Error`, or an inspected rendering of a non-`Error`
34
34
  */
35
35
  export declare function errorDiagnostics(error: unknown): string;
36
+ /** The document a command publishes when an unexpected failure stops it. */
37
+ export interface CommandErrorDocument {
38
+ status: 'error';
39
+ error: string;
40
+ duration: string;
41
+ }
42
+ /**
43
+ * Report an unexpected failure on stderr and return the document that describes
44
+ * it, WITHOUT deciding how the caller ends.
45
+ *
46
+ * Split out of {@link handleCommandError} because the same failure now has two
47
+ * endings and must not grow two policies. A command run from the command line
48
+ * writes this document to stdout and exits 2; the same command run as a phase of
49
+ * `vat validate` / `vat verify` / `vat build` runs in the orchestrator's own
50
+ * process, where exiting would kill the whole run and skip every later phase —
51
+ * so it hands the document back and the orchestrator nests it under that phase's
52
+ * `report`, exactly as it used to nest the child's captured stdout.
53
+ *
54
+ * The stderr half is identical in both lanes: progress and diagnostics have
55
+ * always streamed live, and that is unchanged by there no longer being a child.
56
+ *
57
+ * @param error - The value that was thrown
58
+ * @param logger - Logger instance for error output
59
+ * @param startTime - Command start time (from Date.now())
60
+ * @param commandName - Name of the command (for the error message)
61
+ */
62
+ export declare function reportCommandError(error: unknown, logger: Logger, startTime: number, commandName: string): CommandErrorDocument;
36
63
  /**
37
- * Handle command error with standard formatting and exit
64
+ * Handle command error with standard formatting and exit.
65
+ *
66
+ * The command-line ending for {@link reportCommandError}. Exit 2 is the
67
+ * UNEXPECTED failure, per the exit-code contract every command's help documents.
68
+ *
38
69
  * @param error - The error that occurred
39
70
  * @param logger - Logger instance for error output
40
71
  * @param startTime - Command start time (from Date.now())
@@ -1 +1 @@
1
- {"version":3,"file":"command-error.d.ts","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAE9G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,KAAK,CAYP;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,qBAAqB,CAEvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,KAAK,CAGP"}
1
+ {"version":3,"file":"command-error.d.ts","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAExG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMvD;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,oBAAoB,CAQtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,KAAK,CAGP;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,qBAAqB,CAEvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,KAAK,CAGP"}
@@ -7,7 +7,7 @@
7
7
  * contract, silently different behaviour. Every command family routes here.
8
8
  */
9
9
  import { inspect } from 'node:util';
10
- import { countBySeverity } from '@vibe-agent-toolkit/agent-schema';
10
+ import { countBySeverity } from '@vibe-agent-toolkit/schema';
11
11
  import { writeYamlOutput } from './output.js';
12
12
  /**
13
13
  * Format duration for human readability
@@ -49,21 +49,45 @@ export function errorDiagnostics(error) {
49
49
  return `Non-Error value thrown: ${inspect(error, { depth: 3 })}`;
50
50
  }
51
51
  /**
52
- * Handle command error with standard formatting and exit
52
+ * Report an unexpected failure on stderr and return the document that describes
53
+ * it, WITHOUT deciding how the caller ends.
54
+ *
55
+ * Split out of {@link handleCommandError} because the same failure now has two
56
+ * endings and must not grow two policies. A command run from the command line
57
+ * writes this document to stdout and exits 2; the same command run as a phase of
58
+ * `vat validate` / `vat verify` / `vat build` runs in the orchestrator's own
59
+ * process, where exiting would kill the whole run and skip every later phase —
60
+ * so it hands the document back and the orchestrator nests it under that phase's
61
+ * `report`, exactly as it used to nest the child's captured stdout.
62
+ *
63
+ * The stderr half is identical in both lanes: progress and diagnostics have
64
+ * always streamed live, and that is unchanged by there no longer being a child.
65
+ *
66
+ * @param error - The value that was thrown
67
+ * @param logger - Logger instance for error output
68
+ * @param startTime - Command start time (from Date.now())
69
+ * @param commandName - Name of the command (for the error message)
70
+ */
71
+ export function reportCommandError(error, logger, startTime, commandName) {
72
+ const duration = Date.now() - startTime;
73
+ const message = error instanceof Error ? error.message : 'Unknown error';
74
+ logger.error(`${commandName} failed: ${message}`);
75
+ logger.debug(errorDiagnostics(error));
76
+ return { status: 'error', error: message, duration: formatDuration(duration) };
77
+ }
78
+ /**
79
+ * Handle command error with standard formatting and exit.
80
+ *
81
+ * The command-line ending for {@link reportCommandError}. Exit 2 is the
82
+ * UNEXPECTED failure, per the exit-code contract every command's help documents.
83
+ *
53
84
  * @param error - The error that occurred
54
85
  * @param logger - Logger instance for error output
55
86
  * @param startTime - Command start time (from Date.now())
56
87
  * @param commandName - Name of the command (for error message)
57
88
  */
58
89
  export function handleCommandError(error, logger, startTime, commandName) {
59
- const duration = Date.now() - startTime;
60
- logger.error(`${commandName} failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
61
- logger.debug(errorDiagnostics(error));
62
- writeYamlOutput({
63
- status: 'error',
64
- error: error instanceof Error ? error.message : 'Unknown error',
65
- duration: formatDuration(duration),
66
- });
90
+ writeYamlOutput(reportCommandError(error, logger, startTime, commandName));
67
91
  process.exit(2);
68
92
  }
69
93
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"command-error.js","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAA6C,MAAM,kCAAkC,CAAC;AAG9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,yEAAyE;QACzE,OAAO,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,2BAA2B,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,MAAc,EACd,SAAiB,EACjB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACnG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtC,eAAe,CAAC;QACd,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;QAC/D,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,MAAkC;IAElC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACnF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,MAAkC;IAElC,eAAe,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"command-error.js","sourceRoot":"","sources":["../../src/utils/command-error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAA6C,MAAM,4BAA4B,CAAC;AAGxG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,yEAAyE;QACzE,OAAO,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,2BAA2B,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,MAAc,EACd,SAAiB,EACjB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAEzE,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,YAAY,OAAO,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,MAAc,EACd,SAAiB,EACjB,WAAmB;IAEnB,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,MAAkC;IAElC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACnF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,MAAkC;IAElC,eAAe,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMxF;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjB,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAMhD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA8BzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAqBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAgB/E"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMxF;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBACjB,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAMhD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAoCzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAqBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAgB/E"}
@@ -70,7 +70,13 @@ export function loadConfig(projectRoot) {
70
70
  }
71
71
  catch (error) {
72
72
  if (error instanceof Error) {
73
- throw new Error(`Failed to load config: ${error.message}`);
73
+ // `cause` is load-bearing, not decoration: callers decide whether to
74
+ // degrade or abort by asking `isFilesystemAccessError`, which reads the
75
+ // errno off the error. Re-wrapping without it produced a plain Error with
76
+ // no `code`, so an unreadable config read as "a bug in VAT" and aborted the
77
+ // whole run — the exact failure `vat audit`'s guard exists to prevent,
78
+ // reintroduced by a message-formatting layer.
79
+ throw new Error(`Failed to load config: ${error.message}`, { cause: error });
74
80
  }
75
81
  throw error;
76
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The always-loaded context budget sweep, rendered as validation findings.
3
+ *
4
+ * Pure: no I/O, no config, no severity resolution, no exit code. It takes the
5
+ * {@link BudgetSweep} `@vibe-agent-toolkit/resources` produced and answers
6
+ * "which of these does a reader need to be told about, and in what words". The
7
+ * command that calls it stays a thin orchestrator, and this file is where the
8
+ * decision worth testing lives.
9
+ *
10
+ * ## ONE issue per REPRESENTATIVE, never one per working location
11
+ *
12
+ * A sweep reports every working location, and locations sharing an instruction
13
+ * chain share one budget — that is the whole point of the collapse. Re-measured
14
+ * on VAT's own tree 2026-08-23, after the context population began declining the
15
+ * gitignored half: **366 of 589 directories** pay the single chain
16
+ * `['CLAUDE.md']`, so emitting per location would print 366 byte-identical
17
+ * findings, all blaming one file, the moment the root `CLAUDE.md` crossed the
18
+ * budget. (It read *"553 of 819"* against the wider population; the ratio barely
19
+ * moved, and the argument does not turn on it.) There are **9** distinct chains
20
+ * on this tree either way, so per-representative emission caps the output at 9
21
+ * findings at any threshold.
22
+ *
23
+ * That is not a formatting preference. A check that emits 366 findings for one
24
+ * cause is a check an adopter silences with
25
+ * `severity.ALWAYS_LOADED_CONTEXT_BUDGET: ignore` rather than fixes — and a
26
+ * silenced check reports nothing forever, which is strictly worse than the
27
+ * finding it was trying to deliver.
28
+ *
29
+ * ## What the message may and may not claim
30
+ *
31
+ * ⛔ Never "the total cost". A global `~/.claude/CLAUDE.md` and the enabled skill
32
+ * index are real always-loaded cost that this TREE-ONLY projection cannot see, so
33
+ * even a budget reporting zero exclusions is a floor — see the module doc of
34
+ * `packages/resources/src/projection/claude-context-budget.ts`, which states the
35
+ * bound precisely and which this wording must not contradict. The messages here
36
+ * therefore say "estimated at", and the narrower, checkable claim carried by
37
+ * {@link AlwaysLoadedBudget.lowerBound} — that rows VAT *did* see were left out
38
+ * of the sum — is appended as its own sentence with the three counts behind it.
39
+ *
40
+ * 🔑 `excludedRuleRows` is deliberately NOT one of those counts. What it counts is
41
+ * PATH-SCOPED rules — the ones carrying a `paths:` list — and those are excluded
42
+ * by DESIGN: they are `selected`, not `always`, so their absence from the sum is a
43
+ * decision rather than a gap in what we know, and only ignorance makes a sum a
44
+ * lower bound.
45
+ *
46
+ * ⛔ Not "rules files" as a class. An UNSCOPED rule in the root `.claude/rules/`
47
+ * is classed `always` and IS charged into the budget — nothing gates it on a path,
48
+ * so it loads at launch exactly as a CLAUDE.md does. The blanket reading was true
49
+ * while every rule was excluded and became a false statement about a check that
50
+ * gates the moment the root-rule admission started qualifying. It matters here
51
+ * because the largest contributor a message names may now be a rules file, which
52
+ * is why the registry `fix` points at the named contributors rather than at a file
53
+ * type.
54
+ */
55
+ import type { BudgetSweep } from '@vibe-agent-toolkit/resources';
56
+ import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
57
+ /** A sweep narrowed to the paths a caller asked about, and what did not match. */
58
+ export interface ScopedSweep {
59
+ /**
60
+ * The narrowed sweep.
61
+ *
62
+ * ⚠️ It retains EVERY location of every selected chain, not only the ones
63
+ * inside the scope — see {@link scopeSweepToPaths} for why that is the whole
64
+ * point rather than an oversight.
65
+ */
66
+ readonly sweep: BudgetSweep;
67
+ /**
68
+ * Requested paths that named no working location in this sweep.
69
+ *
70
+ * ⛔ Reported rather than dropped. A scope that matched nothing produces zero
71
+ * findings, which is byte-identical to "everything you asked about is within
72
+ * budget" — the one confusion this field exists to prevent.
73
+ */
74
+ readonly unmatchedScope: readonly string[];
75
+ }
76
+ /**
77
+ * Narrow a sweep to the instruction chains the requested paths inherit.
78
+ *
79
+ * ## The retention rule, which is the whole design
80
+ *
81
+ * A scope selects CHAINS, never payers. Every location paying a selected chain
82
+ * is retained even when it sits outside the scope, because the finding's message
83
+ * says how many working locations pay it — and that number is a fact about the
84
+ * TREE. Retaining only the in-scope payers would make `vat claude budget
85
+ * docs/guides` report *"1 working location pays it"* for a chain 366 directories
86
+ * pay: a confidently wrong number, which costs more than no number.
87
+ *
88
+ * ## Matching is on SEGMENT boundaries
89
+ *
90
+ * `'packages/cli-x'.startsWith('packages/cli')` is true, so a bare prefix test
91
+ * hands a sibling directory its neighbour's scope. The same trap
92
+ * `representativeFor` in `claude-context-budget-sweep.ts` exists to avoid, one
93
+ * layer down.
94
+ *
95
+ * @param sweep - Every working location's budget, from `sweepAlwaysLoadedBudgets`
96
+ * @param scope - Root-relative directories to report for. `''` is the corpus
97
+ * root and selects the whole tree; an empty list selects nothing
98
+ * @returns The narrowed sweep and the requested paths that matched no location
99
+ */
100
+ export declare function scopeSweepToPaths(sweep: BudgetSweep, scope: readonly string[]): ScopedSweep;
101
+ /**
102
+ * One finding per over-budget instruction chain, ordered for a clean diff.
103
+ *
104
+ * @param sweep - Every working location's budget, from `sweepAlwaysLoadedBudgets`
105
+ * @returns The issues, ascending by representative directory (code point)
106
+ */
107
+ export declare function contextBudgetIssues(sweep: BudgetSweep): ValidationIssue[];
108
+ //# sourceMappingURL=context-budget-issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget-issues.d.ts","sourceRoot":"","sources":["../../src/utils/context-budget-issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAYvF,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAoB3F;AA4BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,EAAE,CAKzE"}