@vibe-agent-toolkit/cli 0.2.0-rc.7 → 0.2.0-rc.9
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/README.md +0 -1
- package/dist/bin/vat +34 -19
- package/dist/bin/vat.js +34 -19
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +5 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/build.d.ts.map +1 -1
- package/dist/commands/agent/build.js +2 -1
- package/dist/commands/agent/build.js.map +1 -1
- package/dist/commands/agent/import.d.ts.map +1 -1
- package/dist/commands/agent/import.js +3 -2
- package/dist/commands/agent/import.js.map +1 -1
- package/dist/commands/agent/install-path.d.ts +36 -0
- package/dist/commands/agent/install-path.d.ts.map +1 -0
- package/dist/commands/agent/install-path.js +44 -0
- package/dist/commands/agent/install-path.js.map +1 -0
- package/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +22 -10
- package/dist/commands/agent/install.js.map +1 -1
- package/dist/commands/agent/installed.d.ts.map +1 -1
- package/dist/commands/agent/installed.js +22 -12
- package/dist/commands/agent/installed.js.map +1 -1
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +2 -1
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +2 -1
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +13 -6
- package/dist/commands/agent/uninstall.js.map +1 -1
- package/dist/commands/agent/validate.d.ts.map +1 -1
- package/dist/commands/agent/validate.js +3 -2
- package/dist/commands/agent/validate.js.map +1 -1
- package/dist/commands/ard/emit.d.ts +72 -23
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +109 -56
- package/dist/commands/ard/emit.js.map +1 -1
- package/dist/commands/ard/index.d.ts +1 -1
- package/dist/commands/ard/index.d.ts.map +1 -1
- package/dist/commands/ard/index.js +4 -3
- package/dist/commands/ard/index.js.map +1 -1
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
- package/dist/commands/audit/distributed-tree.js +9 -6
- package/dist/commands/audit/distributed-tree.js.map +1 -1
- package/dist/commands/audit/provenance.d.ts.map +1 -1
- package/dist/commands/audit/provenance.js +4 -3
- package/dist/commands/audit/provenance.js.map +1 -1
- package/dist/commands/audit/scan-population.d.ts +158 -0
- package/dist/commands/audit/scan-population.d.ts.map +1 -0
- package/dist/commands/audit/scan-population.js +292 -0
- package/dist/commands/audit/scan-population.js.map +1 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +6 -5
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +16 -14
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +304 -389
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +25 -24
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/clear.d.ts +17 -3
- package/dist/commands/cache/clear.d.ts.map +1 -1
- package/dist/commands/cache/clear.js +34 -13
- package/dist/commands/cache/clear.js.map +1 -1
- package/dist/commands/cache/index.d.ts.map +1 -1
- package/dist/commands/cache/index.js +19 -10
- package/dist/commands/cache/index.js.map +1 -1
- package/dist/commands/claude/context.d.ts +2 -2
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +7 -6
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/claude/index.d.ts +12 -11
- package/dist/commands/claude/index.d.ts.map +1 -1
- package/dist/commands/claude/index.js +14 -16
- package/dist/commands/claude/index.js.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.js +1 -2
- package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +22 -12
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +0 -1
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +0 -6
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +2 -1
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +26 -16
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/api-keys.d.ts +0 -3
- package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
- package/dist/commands/claude/org/api-keys.js +2 -1
- package/dist/commands/claude/org/api-keys.js.map +1 -1
- package/dist/commands/claude/org/helpers.d.ts +17 -22
- package/dist/commands/claude/org/helpers.d.ts.map +1 -1
- package/dist/commands/claude/org/helpers.js +6 -22
- package/dist/commands/claude/org/helpers.js.map +1 -1
- package/dist/commands/claude/org/invites.d.ts +0 -3
- package/dist/commands/claude/org/invites.d.ts.map +1 -1
- package/dist/commands/claude/org/invites.js +3 -2
- package/dist/commands/claude/org/invites.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +19 -1
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +147 -111
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/users.d.ts +0 -3
- package/dist/commands/claude/org/users.d.ts.map +1 -1
- package/dist/commands/claude/org/users.js +3 -2
- package/dist/commands/claude/org/users.js.map +1 -1
- package/dist/commands/claude/org/workspaces.d.ts +0 -3
- package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
- package/dist/commands/claude/org/workspaces.js +6 -5
- package/dist/commands/claude/org/workspaces.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +23 -52
- 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 +0 -6
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install.d.ts +12 -0
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +71 -60
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/list.d.ts.map +1 -1
- package/dist/commands/claude/plugin/list.js +3 -2
- package/dist/commands/claude/plugin/list.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.js +0 -2
- package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.js +3 -6
- package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.js +3 -6
- package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts +2 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +15 -14
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
- package/dist/commands/claude/plugin/uninstall.js +4 -4
- package/dist/commands/claude/plugin/uninstall.js.map +1 -1
- package/dist/commands/consistency-check.d.ts +17 -15
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +149 -104
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -2
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +2 -6
- 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 -3
- package/dist/commands/corpus/scan.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +4 -4
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +1 -3
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +55 -37
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +6 -7
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/mcp/list-collections.d.ts.map +1 -1
- package/dist/commands/mcp/list-collections.js +2 -1
- package/dist/commands/mcp/list-collections.js.map +1 -1
- package/dist/commands/mcp/serve.d.ts.map +1 -1
- package/dist/commands/mcp/serve.js +3 -2
- package/dist/commands/mcp/serve.js.map +1 -1
- package/dist/commands/okf/index.d.ts.map +1 -1
- package/dist/commands/okf/index.js +14 -2
- package/dist/commands/okf/index.js.map +1 -1
- package/dist/commands/okf/validate.d.ts +157 -48
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +109 -76
- package/dist/commands/okf/validate.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +11 -10
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +30 -14
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/positional-args.d.ts.map +1 -1
- package/dist/commands/positional-args.js +2 -1
- package/dist/commands/positional-args.js.map +1 -1
- package/dist/commands/rag/clear-command.d.ts.map +1 -1
- package/dist/commands/rag/clear-command.js +2 -1
- package/dist/commands/rag/clear-command.js.map +1 -1
- package/dist/commands/rag/index-command.d.ts.map +1 -1
- package/dist/commands/rag/index-command.js +4 -1
- package/dist/commands/rag/index-command.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +2 -1
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/rag/stats-command.d.ts.map +1 -1
- package/dist/commands/rag/stats-command.js +2 -1
- package/dist/commands/rag/stats-command.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +6 -0
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +15 -4
- package/dist/commands/resources/check-progress.js.map +1 -1
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +14 -7
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +315 -205
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +368 -327
- package/dist/commands/resources/check.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +159 -39
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query.d.ts +2 -2
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +24 -18
- package/dist/commands/resources/query.js.map +1 -1
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +4 -8
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +1 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +0 -1
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review-checklist.d.ts +3 -2
- package/dist/commands/skill/review-checklist.d.ts.map +1 -1
- package/dist/commands/skill/review-checklist.js +4 -2
- package/dist/commands/skill/review-checklist.js.map +1 -1
- package/dist/commands/skill/review.d.ts +247 -0
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +90 -60
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/configure.d.ts.map +1 -1
- package/dist/commands/skill/test/configure.js +0 -1
- package/dist/commands/skill/test/configure.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +12 -6
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +120 -65
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +83 -3
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +162 -40
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/install.d.ts +2 -1
- package/dist/commands/skills/install.d.ts.map +1 -1
- package/dist/commands/skills/install.js +20 -30
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +14 -18
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +1 -1
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +6 -8
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts.map +1 -1
- package/dist/commands/skills/scope-guard.js +2 -4
- package/dist/commands/skills/scope-guard.js.map +1 -1
- package/dist/commands/skills/shared.d.ts.map +1 -1
- package/dist/commands/skills/shared.js +2 -4
- package/dist/commands/skills/shared.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +15 -13
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +23 -5
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/source-resolvers.d.ts +15 -0
- package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
- package/dist/commands/skills/source-resolvers.js +25 -4
- package/dist/commands/skills/source-resolvers.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +39 -14
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +17 -5
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +161 -104
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/report-schemas.d.ts +45 -0
- package/dist/report-schemas.d.ts.map +1 -0
- package/dist/report-schemas.js +100 -0
- package/dist/report-schemas.js.map +1 -0
- package/dist/skill-resolution/classify.js +2 -2
- package/dist/skill-resolution/classify.js.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.js +50 -55
- package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
- package/dist/utils/agent-discovery.d.ts.map +1 -1
- package/dist/utils/agent-discovery.js +22 -11
- package/dist/utils/agent-discovery.js.map +1 -1
- package/dist/utils/agent-runner.d.ts.map +1 -1
- package/dist/utils/agent-runner.js +0 -1
- package/dist/utils/agent-runner.js.map +1 -1
- package/dist/utils/claude-context-lens.d.ts +34 -0
- package/dist/utils/claude-context-lens.d.ts.map +1 -0
- package/dist/utils/claude-context-lens.js +39 -0
- package/dist/utils/claude-context-lens.js.map +1 -0
- package/dist/utils/command-error.d.ts +63 -62
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +80 -76
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts +2 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +3 -6
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/corpus-target.d.ts +5 -27
- package/dist/utils/corpus-target.d.ts.map +1 -1
- package/dist/utils/corpus-target.js +7 -33
- package/dist/utils/corpus-target.js.map +1 -1
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +0 -1
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +2 -2
- package/dist/utils/issue-rendering.js +2 -2
- package/dist/utils/optional-backend.d.ts.map +1 -1
- package/dist/utils/optional-backend.js +2 -1
- package/dist/utils/optional-backend.js.map +1 -1
- package/dist/utils/output.d.ts +9 -0
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +16 -0
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/package-json.d.ts +24 -0
- package/dist/utils/package-json.d.ts.map +1 -0
- package/dist/utils/package-json.js +49 -0
- package/dist/utils/package-json.js.map +1 -0
- package/dist/utils/project-root-policy.d.ts.map +1 -1
- package/dist/utils/project-root-policy.js +0 -2
- package/dist/utils/project-root-policy.js.map +1 -1
- package/dist/utils/projection-lenses.d.ts +98 -0
- package/dist/utils/projection-lenses.d.ts.map +1 -0
- package/dist/utils/projection-lenses.js +203 -0
- package/dist/utils/projection-lenses.js.map +1 -0
- package/dist/utils/projection-query.d.ts +38 -14
- package/dist/utils/projection-query.d.ts.map +1 -1
- package/dist/utils/projection-query.js +78 -17
- package/dist/utils/projection-query.js.map +1 -1
- package/dist/utils/projection-store.d.ts +61 -42
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +155 -59
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/relation-limits.d.ts +50 -0
- package/dist/utils/relation-limits.d.ts.map +1 -0
- package/dist/utils/relation-limits.js +50 -0
- package/dist/utils/relation-limits.js.map +1 -0
- package/dist/utils/resource-loader.js +2 -2
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-discovery.d.ts.map +1 -1
- package/dist/utils/skill-discovery.js +2 -1
- package/dist/utils/skill-discovery.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +63 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +56 -1
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/url-redact.d.ts.map +1 -1
- package/dist/utils/url-redact.js +4 -6
- package/dist/utils/url-redact.js.map +1 -1
- package/dist/utils/user-context-scanner.d.ts.map +1 -1
- package/dist/utils/user-context-scanner.js +0 -2
- package/dist/utils/user-context-scanner.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +3 -4
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/vat-bin-path.d.ts.map +1 -1
- package/dist/utils/vat-bin-path.js +0 -1
- package/dist/utils/vat-bin-path.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -3
- package/dist/version.js.map +1 -1
- package/docs/audit.md +44 -53
- package/docs/doctor.md +1 -0
- package/docs/index.md +18 -10
- package/docs/rag.md +0 -1
- package/docs/resources.md +0 -1
- package/docs/skill-test.md +10 -9
- package/docs/skills.md +6 -7
- package/package.json +23 -28
- package/schemas/ard-emit.json +149 -0
- package/schemas/okf-validate.json +170 -0
- package/schemas/resources-check.json +229 -0
- package/schemas/skill-review.json +230 -0
- package/dist/commands/claude/budget.d.ts +0 -170
- package/dist/commands/claude/budget.d.ts.map +0 -1
- package/dist/commands/claude/budget.js +0 -464
- package/dist/commands/claude/budget.js.map +0 -1
- package/dist/utils/context-budget-issues.d.ts +0 -108
- package/dist/utils/context-budget-issues.d.ts.map +0 -1
- package/dist/utils/context-budget-issues.js +0 -280
- package/dist/utils/context-budget-issues.js.map +0 -1
|
@@ -1,280 +0,0 @@
|
|
|
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 { createRegistryIssue } from '@vibe-agent-toolkit/schema';
|
|
56
|
-
import { toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
57
|
-
/**
|
|
58
|
-
* How many contributors a message names before it starts counting them.
|
|
59
|
-
*
|
|
60
|
-
* The chain can be five files deep and the message is read in a terminal, beside
|
|
61
|
-
* every other finding of the run. Three names the files worth opening; the tail
|
|
62
|
-
* is a count so nothing is silently dropped.
|
|
63
|
-
*/
|
|
64
|
-
const MAX_NAMED_CONTRIBUTORS = 3;
|
|
65
|
-
/**
|
|
66
|
-
* Narrow a sweep to the instruction chains the requested paths inherit.
|
|
67
|
-
*
|
|
68
|
-
* ## The retention rule, which is the whole design
|
|
69
|
-
*
|
|
70
|
-
* A scope selects CHAINS, never payers. Every location paying a selected chain
|
|
71
|
-
* is retained even when it sits outside the scope, because the finding's message
|
|
72
|
-
* says how many working locations pay it — and that number is a fact about the
|
|
73
|
-
* TREE. Retaining only the in-scope payers would make `vat claude budget
|
|
74
|
-
* docs/guides` report *"1 working location pays it"* for a chain 366 directories
|
|
75
|
-
* pay: a confidently wrong number, which costs more than no number.
|
|
76
|
-
*
|
|
77
|
-
* ## Matching is on SEGMENT boundaries
|
|
78
|
-
*
|
|
79
|
-
* `'packages/cli-x'.startsWith('packages/cli')` is true, so a bare prefix test
|
|
80
|
-
* hands a sibling directory its neighbour's scope. The same trap
|
|
81
|
-
* `representativeFor` in `claude-context-budget-sweep.ts` exists to avoid, one
|
|
82
|
-
* layer down.
|
|
83
|
-
*
|
|
84
|
-
* @param sweep - Every working location's budget, from `sweepAlwaysLoadedBudgets`
|
|
85
|
-
* @param scope - Root-relative directories to report for. `''` is the corpus
|
|
86
|
-
* root and selects the whole tree; an empty list selects nothing
|
|
87
|
-
* @returns The narrowed sweep and the requested paths that matched no location
|
|
88
|
-
*/
|
|
89
|
-
export function scopeSweepToPaths(sweep, scope) {
|
|
90
|
-
const selected = new Set();
|
|
91
|
-
const unmatched = [];
|
|
92
|
-
for (const target of scope) {
|
|
93
|
-
const matched = sweep.locations.filter((location) => coversDirectory(target, location.directory));
|
|
94
|
-
if (matched.length === 0) {
|
|
95
|
-
unmatched.push(target);
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
for (const location of matched)
|
|
99
|
-
selected.add(location.representative);
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
102
|
-
// Counters are carried through untouched: they describe the SWEEP, and a
|
|
103
|
-
// scope narrows what is reported without changing what was measured.
|
|
104
|
-
sweep: {
|
|
105
|
-
...sweep,
|
|
106
|
-
locations: sweep.locations.filter((location) => selected.has(location.representative)),
|
|
107
|
-
},
|
|
108
|
-
unmatchedScope: unmatched,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Does a requested directory cover another one — itself included?
|
|
113
|
-
*
|
|
114
|
-
* @param target - The requested root-relative directory; `''` is the corpus root
|
|
115
|
-
* @param directory - A working location
|
|
116
|
-
* @returns True when `target` is `directory` or one of its ancestors
|
|
117
|
-
*/
|
|
118
|
-
function coversDirectory(target, directory) {
|
|
119
|
-
if (target === '')
|
|
120
|
-
return true;
|
|
121
|
-
// Both sides are already forward-slashed — the projection's `dir` column and
|
|
122
|
-
// `safePath.relative`'s output both are — but normalizing anyway is what keeps
|
|
123
|
-
// a Windows-separator string from silently matching nothing here.
|
|
124
|
-
const normalizedScope = toForwardSlash(target);
|
|
125
|
-
const normalizedLocation = toForwardSlash(directory);
|
|
126
|
-
return normalizedLocation === normalizedScope
|
|
127
|
-
|| normalizedLocation.startsWith(`${normalizedScope}/`);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* One finding per over-budget instruction chain, ordered for a clean diff.
|
|
131
|
-
*
|
|
132
|
-
* @param sweep - Every working location's budget, from `sweepAlwaysLoadedBudgets`
|
|
133
|
-
* @returns The issues, ascending by representative directory (code point)
|
|
134
|
-
*/
|
|
135
|
-
export function contextBudgetIssues(sweep) {
|
|
136
|
-
return [...groupByRepresentative(sweep).values()]
|
|
137
|
-
.filter((group) => group.budget.overBudget)
|
|
138
|
-
.sort((left, right) => comparePaths(left.representative, right.representative))
|
|
139
|
-
.map(issueFor);
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Collapse the sweep's locations onto the representatives that produced them.
|
|
143
|
-
*
|
|
144
|
-
* Every location in a group carries the SAME `budget` object — the sweep memoizes
|
|
145
|
-
* one answer per representative — so the first one seen is the group's budget and
|
|
146
|
-
* the rest only add to the count.
|
|
147
|
-
*
|
|
148
|
-
* @param sweep - The sweep
|
|
149
|
-
* @returns Representative directory → its budget and its location count
|
|
150
|
-
*/
|
|
151
|
-
function groupByRepresentative(sweep) {
|
|
152
|
-
const groups = new Map();
|
|
153
|
-
for (const location of sweep.locations) {
|
|
154
|
-
const existing = groups.get(location.representative);
|
|
155
|
-
if (existing === undefined) {
|
|
156
|
-
groups.set(location.representative, {
|
|
157
|
-
representative: location.representative,
|
|
158
|
-
budget: location.budget,
|
|
159
|
-
locations: 1,
|
|
160
|
-
});
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
existing.locations += 1;
|
|
164
|
-
}
|
|
165
|
-
return groups;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* One group's finding, with severity, `fix` and `reference` taken from the
|
|
169
|
-
* registry rather than restated here.
|
|
170
|
-
*
|
|
171
|
-
* ⛔ `location` is OMITTED entirely for the corpus root. `ValidationIssue.
|
|
172
|
-
* location` is a project-relative POSIX path, and `''` is not one — the schema's
|
|
173
|
-
* own refinements would be handed a value that means "nowhere", while the message
|
|
174
|
-
* carries the same fact in words a reader can act on.
|
|
175
|
-
*
|
|
176
|
-
* @param group - The over-budget representative
|
|
177
|
-
* @returns The issue
|
|
178
|
-
*/
|
|
179
|
-
function issueFor(group) {
|
|
180
|
-
return createRegistryIssue('ALWAYS_LOADED_CONTEXT_BUDGET', messageFor(group), group.representative === '' ? {} : { location: group.representative });
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* The finding's prose: where, how much, against what, who pays it, and what is
|
|
184
|
-
* biggest — in that order, because that is the order a reader needs them to
|
|
185
|
-
* decide whether to open anything.
|
|
186
|
-
*
|
|
187
|
-
* @param group - The over-budget representative
|
|
188
|
-
* @returns The message
|
|
189
|
-
*/
|
|
190
|
-
function messageFor(group) {
|
|
191
|
-
const { budget, locations } = group;
|
|
192
|
-
const paying = locations === 1
|
|
193
|
-
? '1 working location pays it'
|
|
194
|
-
: `${count(locations)} working locations pay it`;
|
|
195
|
-
return `Always-loaded context at ${subjectOf(group.representative)} is estimated at`
|
|
196
|
-
+ ` ${count(budget.tokens)} tokens, over the ${count(budget.threshold)}-token budget;`
|
|
197
|
-
+ ` ${paying}. ${contributorsOf(budget)}${lowerBoundOf(budget)}`;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* How the representative is named in prose.
|
|
201
|
-
*
|
|
202
|
-
* The corpus root is `''`, which renders as nothing at all and reads like a bug —
|
|
203
|
-
* and it is also the one case that carries no `location` field, so the prose is
|
|
204
|
-
* the ONLY place a reader learns which directory the finding is about.
|
|
205
|
-
*
|
|
206
|
-
* @param representative - The representative directory
|
|
207
|
-
* @returns Its display form
|
|
208
|
-
*/
|
|
209
|
-
function subjectOf(representative) {
|
|
210
|
-
return representative === '' ? 'the repository root' : representative;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* The largest contributors, capped, with the tail counted rather than dropped.
|
|
214
|
-
*
|
|
215
|
-
* The sweep already sorted contributors descending by tokens (ties broken on path
|
|
216
|
-
* by code point), so "largest" is a prefix and this function does no ordering of
|
|
217
|
-
* its own.
|
|
218
|
-
*
|
|
219
|
-
* @param budget - The over-budget answer
|
|
220
|
-
* @returns The sentence, ending in a period
|
|
221
|
-
*/
|
|
222
|
-
function contributorsOf(budget) {
|
|
223
|
-
const { contributors } = budget;
|
|
224
|
-
if (contributors.length === 0)
|
|
225
|
-
return 'No contributor was charged.';
|
|
226
|
-
const named = contributors
|
|
227
|
-
.slice(0, MAX_NAMED_CONTRIBUTORS)
|
|
228
|
-
.map((contributor) => `${contributor.path} (${count(contributor.tokens)} tokens)`);
|
|
229
|
-
const remaining = contributors.length - named.length;
|
|
230
|
-
const tail = remaining > 0 ? `, +${count(remaining)} more` : '';
|
|
231
|
-
return `Largest contributors: ${named.join(', ')}${tail}.`;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* The bound sentence, when — and only when — rows VAT saw were left unsummed.
|
|
235
|
-
*
|
|
236
|
-
* All three counts are named even at zero, so a reader learns which kind of
|
|
237
|
-
* ignorance is behind the bound rather than having to infer it from silence.
|
|
238
|
-
*
|
|
239
|
-
* @param budget - The over-budget answer
|
|
240
|
-
* @returns The sentence with a leading space, or the empty string
|
|
241
|
-
*/
|
|
242
|
-
function lowerBoundOf(budget) {
|
|
243
|
-
if (!budget.lowerBound)
|
|
244
|
-
return '';
|
|
245
|
-
return ' That figure is a lower bound: '
|
|
246
|
-
+ `${count(budget.unknownTokenRows)} rows of unknown size, `
|
|
247
|
-
+ `${count(budget.excludedDeepImportRows)} import rows past one hop and `
|
|
248
|
-
+ `${count(budget.unattributedImportRows)} unattributed import rows`
|
|
249
|
-
+ ' were seen but left out of the sum.';
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* A count as a reader reads it.
|
|
253
|
-
*
|
|
254
|
-
* Pinned to `en-US` rather than left to the host locale: the same finding must
|
|
255
|
-
* render byte-identically on two developers' machines, for the same reason the
|
|
256
|
-
* ordering below is code-point and not `localeCompare`.
|
|
257
|
-
*
|
|
258
|
-
* @param value - The number
|
|
259
|
-
* @returns Its thousands-separated form
|
|
260
|
-
*/
|
|
261
|
-
function count(value) {
|
|
262
|
-
return value.toLocaleString('en-US');
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Order two root-relative directories by UTF-16 code point.
|
|
266
|
-
*
|
|
267
|
-
* ⛔ Not `localeCompare`: ICU collation is locale-dependent, so two developers
|
|
268
|
-
* diffing the same run's findings would see churn neither of them caused. Matches
|
|
269
|
-
* every other ordering in the projection lane.
|
|
270
|
-
*
|
|
271
|
-
* @param left - One representative
|
|
272
|
-
* @param right - The other
|
|
273
|
-
* @returns Negative, zero or positive, per the `Array#sort` contract
|
|
274
|
-
*/
|
|
275
|
-
function comparePaths(left, right) {
|
|
276
|
-
if (left === right)
|
|
277
|
-
return 0;
|
|
278
|
-
return left < right ? -1 : 1;
|
|
279
|
-
}
|
|
280
|
-
//# sourceMappingURL=context-budget-issues.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-budget-issues.js","sourceRoot":"","sources":["../../src/utils/context-budget-issues.ts"],"names":[],"mappings":"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"}
|