@deftai/directive-core 0.55.0
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/architecture/sor-preflight.d.ts +66 -0
- package/dist/architecture/sor-preflight.js +903 -0
- package/dist/branch/evaluate.d.ts +23 -0
- package/dist/branch/evaluate.js +136 -0
- package/dist/branch/git.d.ts +15 -0
- package/dist/branch/git.js +42 -0
- package/dist/branch/index.d.ts +3 -0
- package/dist/branch/index.js +3 -0
- package/dist/cache/cli.d.ts +3 -0
- package/dist/cache/cli.js +8 -0
- package/dist/cache/constants.d.ts +12 -0
- package/dist/cache/constants.js +14 -0
- package/dist/cache/errors.d.ts +34 -0
- package/dist/cache/errors.js +52 -0
- package/dist/cache/fetch.d.ts +101 -0
- package/dist/cache/fetch.js +413 -0
- package/dist/cache/index.d.ts +14 -0
- package/dist/cache/index.js +14 -0
- package/dist/cache/io.d.ts +15 -0
- package/dist/cache/io.js +53 -0
- package/dist/cache/json.d.ts +11 -0
- package/dist/cache/json.js +32 -0
- package/dist/cache/main.d.ts +3 -0
- package/dist/cache/main.js +319 -0
- package/dist/cache/operations.d.ts +34 -0
- package/dist/cache/operations.js +348 -0
- package/dist/cache/paths.d.ts +7 -0
- package/dist/cache/paths.js +27 -0
- package/dist/cache/quota.d.ts +56 -0
- package/dist/cache/quota.js +191 -0
- package/dist/cache/scanner.d.ts +28 -0
- package/dist/cache/scanner.js +362 -0
- package/dist/cache/test-helpers.d.ts +10 -0
- package/dist/cache/test-helpers.js +17 -0
- package/dist/cache/time.d.ts +9 -0
- package/dist/cache/time.js +20 -0
- package/dist/cache/types.d.ts +50 -0
- package/dist/cache/types.js +2 -0
- package/dist/cache/validate.d.ts +3 -0
- package/dist/cache/validate.js +118 -0
- package/dist/capacity/backfill.d.ts +52 -0
- package/dist/capacity/backfill.js +429 -0
- package/dist/capacity/index.d.ts +3 -0
- package/dist/capacity/index.js +3 -0
- package/dist/capacity/show.d.ts +73 -0
- package/dist/capacity/show.js +387 -0
- package/dist/check/index.d.ts +3 -0
- package/dist/check/index.js +2 -0
- package/dist/check/orchestrator.d.ts +51 -0
- package/dist/check/orchestrator.js +71 -0
- package/dist/codebase/constants.d.ts +2 -0
- package/dist/codebase/constants.js +2 -0
- package/dist/codebase/default-extractor.d.ts +28 -0
- package/dist/codebase/default-extractor.js +713 -0
- package/dist/codebase/index.d.ts +8 -0
- package/dist/codebase/index.js +8 -0
- package/dist/codebase/json.d.ts +14 -0
- package/dist/codebase/json.js +45 -0
- package/dist/codebase/map-fresh.d.ts +11 -0
- package/dist/codebase/map-fresh.js +125 -0
- package/dist/codebase/map.d.ts +19 -0
- package/dist/codebase/map.js +345 -0
- package/dist/codebase/projection-registry.d.ts +25 -0
- package/dist/codebase/projection-registry.js +93 -0
- package/dist/codebase/provider.d.ts +30 -0
- package/dist/codebase/provider.js +696 -0
- package/dist/content-contracts/skills/greptile-detector.d.ts +56 -0
- package/dist/content-contracts/skills/greptile-detector.js +368 -0
- package/dist/content-contracts/skills/helpers.d.ts +24 -0
- package/dist/content-contracts/skills/helpers.js +73 -0
- package/dist/content-contracts/skills/skill-frontmatter.d.ts +7 -0
- package/dist/content-contracts/skills/skill-frontmatter.js +65 -0
- package/dist/content-contracts/standards/_helpers.d.ts +49 -0
- package/dist/content-contracts/standards/_helpers.js +227 -0
- package/dist/content-contracts/standards/_shapes.d.ts +12 -0
- package/dist/content-contracts/standards/_shapes.js +45 -0
- package/dist/content-contracts/standards/_taskfile-helpers.d.ts +12 -0
- package/dist/content-contracts/standards/_taskfile-helpers.js +61 -0
- package/dist/content-root.d.ts +47 -0
- package/dist/content-root.js +89 -0
- package/dist/doctor/agents-md.d.ts +14 -0
- package/dist/doctor/agents-md.js +263 -0
- package/dist/doctor/checks.d.ts +16 -0
- package/dist/doctor/checks.js +351 -0
- package/dist/doctor/cli.d.ts +2 -0
- package/dist/doctor/cli.js +7 -0
- package/dist/doctor/constants.d.ts +15 -0
- package/dist/doctor/constants.js +40 -0
- package/dist/doctor/doctor-state.d.ts +16 -0
- package/dist/doctor/doctor-state.js +117 -0
- package/dist/doctor/flags.d.ts +5 -0
- package/dist/doctor/flags.js +63 -0
- package/dist/doctor/index.d.ts +14 -0
- package/dist/doctor/index.js +14 -0
- package/dist/doctor/json.d.ts +3 -0
- package/dist/doctor/json.js +21 -0
- package/dist/doctor/main.d.ts +3 -0
- package/dist/doctor/main.js +387 -0
- package/dist/doctor/manifest.d.ts +11 -0
- package/dist/doctor/manifest.js +114 -0
- package/dist/doctor/output.d.ts +19 -0
- package/dist/doctor/output.js +49 -0
- package/dist/doctor/paths.d.ts +16 -0
- package/dist/doctor/paths.js +106 -0
- package/dist/doctor/payload-staleness.d.ts +13 -0
- package/dist/doctor/payload-staleness.js +165 -0
- package/dist/doctor/taskfile.d.ts +6 -0
- package/dist/doctor/taskfile.js +65 -0
- package/dist/doctor/types.d.ts +76 -0
- package/dist/doctor/types.js +4 -0
- package/dist/doctor/which.d.ts +3 -0
- package/dist/doctor/which.js +17 -0
- package/dist/encoding/evaluate.d.ts +19 -0
- package/dist/encoding/evaluate.js +155 -0
- package/dist/encoding/git.d.ts +11 -0
- package/dist/encoding/git.js +36 -0
- package/dist/encoding/index.d.ts +6 -0
- package/dist/encoding/index.js +6 -0
- package/dist/encoding/patterns.d.ts +29 -0
- package/dist/encoding/patterns.js +109 -0
- package/dist/encoding/scan.d.ts +24 -0
- package/dist/encoding/scan.js +182 -0
- package/dist/encoding/text.d.ts +21 -0
- package/dist/encoding/text.js +111 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.js +55 -0
- package/dist/intake/candidates-log.d.ts +20 -0
- package/dist/intake/candidates-log.js +224 -0
- package/dist/intake/github-auth-modes-cli.d.ts +3 -0
- package/dist/intake/github-auth-modes-cli.js +23 -0
- package/dist/intake/github-auth-modes.d.ts +54 -0
- package/dist/intake/github-auth-modes.js +275 -0
- package/dist/intake/github-body-cli.d.ts +3 -0
- package/dist/intake/github-body-cli.js +30 -0
- package/dist/intake/github-body.d.ts +48 -0
- package/dist/intake/github-body.js +151 -0
- package/dist/intake/index.d.ts +15 -0
- package/dist/intake/index.js +15 -0
- package/dist/intake/issue-emit-cli.d.ts +3 -0
- package/dist/intake/issue-emit-cli.js +34 -0
- package/dist/intake/issue-emit.d.ts +63 -0
- package/dist/intake/issue-emit.js +351 -0
- package/dist/intake/issue-ingest-cli.d.ts +3 -0
- package/dist/intake/issue-ingest-cli.js +33 -0
- package/dist/intake/issue-ingest.d.ts +53 -0
- package/dist/intake/issue-ingest.js +477 -0
- package/dist/intake/markdown-scanners.d.ts +23 -0
- package/dist/intake/markdown-scanners.js +247 -0
- package/dist/intake/parity-scenarios.d.ts +22 -0
- package/dist/intake/parity-scenarios.js +32 -0
- package/dist/intake/platform-capabilities.d.ts +11 -0
- package/dist/intake/platform-capabilities.js +34 -0
- package/dist/intake/reconcile-issues-cli.d.ts +3 -0
- package/dist/intake/reconcile-issues-cli.js +31 -0
- package/dist/intake/reconcile-issues.d.ts +60 -0
- package/dist/intake/reconcile-issues.js +756 -0
- package/dist/integration-e2e/bootstrap-cache-module.d.ts +5 -0
- package/dist/integration-e2e/bootstrap-cache-module.js +21 -0
- package/dist/integration-e2e/helpers.d.ts +28 -0
- package/dist/integration-e2e/helpers.js +157 -0
- package/dist/lifecycle/event-detect.d.ts +32 -0
- package/dist/lifecycle/event-detect.js +172 -0
- package/dist/lifecycle/events.d.ts +45 -0
- package/dist/lifecycle/events.js +340 -0
- package/dist/lifecycle/index.d.ts +4 -0
- package/dist/lifecycle/index.js +4 -0
- package/dist/lifecycle/lifecycle-hygiene.d.ts +59 -0
- package/dist/lifecycle/lifecycle-hygiene.js +388 -0
- package/dist/orchestration/index.d.ts +7 -0
- package/dist/orchestration/index.js +7 -0
- package/dist/orchestration/judgment-policy.d.ts +23 -0
- package/dist/orchestration/judgment-policy.js +228 -0
- package/dist/orchestration/pathspec.d.ts +11 -0
- package/dist/orchestration/pathspec.js +95 -0
- package/dist/orchestration/probe-session.d.ts +74 -0
- package/dist/orchestration/probe-session.js +478 -0
- package/dist/orchestration/subagent-monitor.d.ts +64 -0
- package/dist/orchestration/subagent-monitor.js +405 -0
- package/dist/orchestration/verify-investigation.d.ts +27 -0
- package/dist/orchestration/verify-investigation.js +314 -0
- package/dist/orchestration/verify-judgment-gates.d.ts +66 -0
- package/dist/orchestration/verify-judgment-gates.js +710 -0
- package/dist/packs/index.d.ts +4 -0
- package/dist/packs/index.js +4 -0
- package/dist/packs/pack-render.d.ts +31 -0
- package/dist/packs/pack-render.js +357 -0
- package/dist/packs/packs-slice.d.ts +58 -0
- package/dist/packs/packs-slice.js +649 -0
- package/dist/packs/quarantine-ext.d.ts +7 -0
- package/dist/packs/quarantine-ext.js +164 -0
- package/dist/platform/agents-md.d.ts +31 -0
- package/dist/platform/agents-md.js +320 -0
- package/dist/platform/changelog-cli.d.ts +3 -0
- package/dist/platform/changelog-cli.js +64 -0
- package/dist/platform/constants.d.ts +20 -0
- package/dist/platform/constants.js +27 -0
- package/dist/platform/index.d.ts +9 -0
- package/dist/platform/index.js +9 -0
- package/dist/platform/ip-risk.d.ts +10 -0
- package/dist/platform/ip-risk.js +235 -0
- package/dist/platform/linear-scan.d.ts +36 -0
- package/dist/platform/linear-scan.js +174 -0
- package/dist/platform/platform-capabilities.d.ts +45 -0
- package/dist/platform/platform-capabilities.js +190 -0
- package/dist/platform/resolve-changelog-unreleased.d.ts +24 -0
- package/dist/platform/resolve-changelog-unreleased.js +364 -0
- package/dist/platform/resolve-version.d.ts +22 -0
- package/dist/platform/resolve-version.js +303 -0
- package/dist/platform/slug-normalize.d.ts +9 -0
- package/dist/platform/slug-normalize.js +110 -0
- package/dist/policy/autonomy.d.ts +43 -0
- package/dist/policy/autonomy.js +220 -0
- package/dist/policy/capacity.d.ts +45 -0
- package/dist/policy/capacity.js +251 -0
- package/dist/policy/decisions.d.ts +26 -0
- package/dist/policy/decisions.js +114 -0
- package/dist/policy/disclosure.d.ts +4 -0
- package/dist/policy/disclosure.js +19 -0
- package/dist/policy/index.d.ts +43 -0
- package/dist/policy/index.js +298 -0
- package/dist/policy/resolve.d.ts +38 -0
- package/dist/policy/resolve.js +228 -0
- package/dist/policy/wip.d.ts +15 -0
- package/dist/policy/wip.js +81 -0
- package/dist/pr-closing-keywords/constants.d.ts +6 -0
- package/dist/pr-closing-keywords/constants.js +6 -0
- package/dist/pr-closing-keywords/detect.d.ts +5 -0
- package/dist/pr-closing-keywords/detect.js +113 -0
- package/dist/pr-closing-keywords/gh.d.ts +6 -0
- package/dist/pr-closing-keywords/gh.js +129 -0
- package/dist/pr-closing-keywords/index.d.ts +7 -0
- package/dist/pr-closing-keywords/index.js +6 -0
- package/dist/pr-closing-keywords/io.d.ts +3 -0
- package/dist/pr-closing-keywords/io.js +22 -0
- package/dist/pr-closing-keywords/main.d.ts +9 -0
- package/dist/pr-closing-keywords/main.js +246 -0
- package/dist/pr-closing-keywords/types.d.ts +23 -0
- package/dist/pr-closing-keywords/types.js +2 -0
- package/dist/pr-merge-readiness/compute.d.ts +7 -0
- package/dist/pr-merge-readiness/compute.js +210 -0
- package/dist/pr-merge-readiness/constants.d.ts +20 -0
- package/dist/pr-merge-readiness/constants.js +32 -0
- package/dist/pr-merge-readiness/evaluate.d.ts +5 -0
- package/dist/pr-merge-readiness/evaluate.js +48 -0
- package/dist/pr-merge-readiness/gh.d.ts +22 -0
- package/dist/pr-merge-readiness/gh.js +281 -0
- package/dist/pr-merge-readiness/index.d.ts +9 -0
- package/dist/pr-merge-readiness/index.js +8 -0
- package/dist/pr-merge-readiness/main.d.ts +14 -0
- package/dist/pr-merge-readiness/main.js +67 -0
- package/dist/pr-merge-readiness/output.d.ts +7 -0
- package/dist/pr-merge-readiness/output.js +98 -0
- package/dist/pr-merge-readiness/parse.d.ts +6 -0
- package/dist/pr-merge-readiness/parse.js +83 -0
- package/dist/pr-merge-readiness/types.d.ts +29 -0
- package/dist/pr-merge-readiness/types.js +2 -0
- package/dist/pr-monitor/cadence.d.ts +3 -0
- package/dist/pr-monitor/cadence.js +12 -0
- package/dist/pr-monitor/constants.d.ts +8 -0
- package/dist/pr-monitor/constants.js +12 -0
- package/dist/pr-monitor/index.d.ts +7 -0
- package/dist/pr-monitor/index.js +6 -0
- package/dist/pr-monitor/main.d.ts +17 -0
- package/dist/pr-monitor/main.js +169 -0
- package/dist/pr-monitor/monitor.d.ts +9 -0
- package/dist/pr-monitor/monitor.js +106 -0
- package/dist/pr-monitor/readiness.d.ts +6 -0
- package/dist/pr-monitor/readiness.js +64 -0
- package/dist/pr-monitor/types.d.ts +30 -0
- package/dist/pr-monitor/types.js +2 -0
- package/dist/pr-protected-issues/constants.d.ts +7 -0
- package/dist/pr-protected-issues/constants.js +7 -0
- package/dist/pr-protected-issues/gh.d.ts +9 -0
- package/dist/pr-protected-issues/gh.js +96 -0
- package/dist/pr-protected-issues/index.d.ts +6 -0
- package/dist/pr-protected-issues/index.js +5 -0
- package/dist/pr-protected-issues/main.d.ts +14 -0
- package/dist/pr-protected-issues/main.js +128 -0
- package/dist/pr-protected-issues/parse.d.ts +6 -0
- package/dist/pr-protected-issues/parse.js +21 -0
- package/dist/pr-protected-issues/types.d.ts +8 -0
- package/dist/pr-protected-issues/types.js +2 -0
- package/dist/pr-wait-mergeable/cascade.d.ts +12 -0
- package/dist/pr-wait-mergeable/cascade.js +107 -0
- package/dist/pr-wait-mergeable/classify.d.ts +5 -0
- package/dist/pr-wait-mergeable/classify.js +47 -0
- package/dist/pr-wait-mergeable/constants.d.ts +5 -0
- package/dist/pr-wait-mergeable/constants.js +5 -0
- package/dist/pr-wait-mergeable/index.d.ts +8 -0
- package/dist/pr-wait-mergeable/index.js +7 -0
- package/dist/pr-wait-mergeable/main.d.ts +18 -0
- package/dist/pr-wait-mergeable/main.js +213 -0
- package/dist/pr-wait-mergeable/result.d.ts +9 -0
- package/dist/pr-wait-mergeable/result.js +38 -0
- package/dist/pr-wait-mergeable/types.d.ts +16 -0
- package/dist/pr-wait-mergeable/types.js +2 -0
- package/dist/pr-wait-mergeable/wrappers.d.ts +26 -0
- package/dist/pr-wait-mergeable/wrappers.js +103 -0
- package/dist/preflight/evaluate.d.ts +22 -0
- package/dist/preflight/evaluate.js +137 -0
- package/dist/preflight/index.d.ts +3 -0
- package/dist/preflight/index.js +2 -0
- package/dist/preflight-cache/evaluate.d.ts +40 -0
- package/dist/preflight-cache/evaluate.js +481 -0
- package/dist/preflight-cache/index.d.ts +3 -0
- package/dist/preflight-cache/index.js +2 -0
- package/dist/preflight-gh/classifier.d.ts +56 -0
- package/dist/preflight-gh/classifier.js +415 -0
- package/dist/preflight-gh/index.d.ts +3 -0
- package/dist/preflight-gh/index.js +2 -0
- package/dist/release/changelog.d.ts +9 -0
- package/dist/release/changelog.js +105 -0
- package/dist/release/cli.d.ts +2 -0
- package/dist/release/cli.js +7 -0
- package/dist/release/constants.d.ts +22 -0
- package/dist/release/constants.js +85 -0
- package/dist/release/flags.d.ts +4 -0
- package/dist/release/flags.js +131 -0
- package/dist/release/gh.d.ts +16 -0
- package/dist/release/gh.js +210 -0
- package/dist/release/git.d.ts +11 -0
- package/dist/release/git.js +84 -0
- package/dist/release/index.d.ts +14 -0
- package/dist/release/index.js +15 -0
- package/dist/release/main.d.ts +3 -0
- package/dist/release/main.js +47 -0
- package/dist/release/paths.d.ts +6 -0
- package/dist/release/paths.js +39 -0
- package/dist/release/pipeline.d.ts +6 -0
- package/dist/release/pipeline.js +314 -0
- package/dist/release/pyproject-sync.d.ts +6 -0
- package/dist/release/pyproject-sync.js +52 -0
- package/dist/release/pyproject.d.ts +3 -0
- package/dist/release/pyproject.js +33 -0
- package/dist/release/python-bridge.d.ts +7 -0
- package/dist/release/python-bridge.js +144 -0
- package/dist/release/spawn.d.ts +8 -0
- package/dist/release/spawn.js +44 -0
- package/dist/release/types.d.ts +58 -0
- package/dist/release/types.js +2 -0
- package/dist/release/version.d.ts +11 -0
- package/dist/release/version.js +74 -0
- package/dist/release-e2e/constants.d.ts +22 -0
- package/dist/release-e2e/constants.js +43 -0
- package/dist/release-e2e/entrypoint-worker-thread.d.ts +2 -0
- package/dist/release-e2e/entrypoint-worker-thread.js +22 -0
- package/dist/release-e2e/entrypoint-worker.d.ts +13 -0
- package/dist/release-e2e/entrypoint-worker.js +50 -0
- package/dist/release-e2e/entrypoint.d.ts +40 -0
- package/dist/release-e2e/entrypoint.js +257 -0
- package/dist/release-e2e/flags.d.ts +5 -0
- package/dist/release-e2e/flags.js +80 -0
- package/dist/release-e2e/gh-ops.d.ts +5 -0
- package/dist/release-e2e/gh-ops.js +72 -0
- package/dist/release-e2e/git-ops.d.ts +6 -0
- package/dist/release-e2e/git-ops.js +47 -0
- package/dist/release-e2e/index.d.ts +10 -0
- package/dist/release-e2e/index.js +10 -0
- package/dist/release-e2e/main.d.ts +4 -0
- package/dist/release-e2e/main.js +78 -0
- package/dist/release-e2e/npm-ops.d.ts +29 -0
- package/dist/release-e2e/npm-ops.js +149 -0
- package/dist/release-e2e/rehearsal.d.ts +3 -0
- package/dist/release-e2e/rehearsal.js +51 -0
- package/dist/release-e2e/rollback-bridge.d.ts +3 -0
- package/dist/release-e2e/rollback-bridge.js +20 -0
- package/dist/release-e2e/types.d.ts +40 -0
- package/dist/release-e2e/types.js +2 -0
- package/dist/release-publish/cli.d.ts +2 -0
- package/dist/release-publish/cli.js +7 -0
- package/dist/release-publish/constants.d.ts +4 -0
- package/dist/release-publish/constants.js +24 -0
- package/dist/release-publish/flags.d.ts +5 -0
- package/dist/release-publish/flags.js +67 -0
- package/dist/release-publish/gh-api.d.ts +6 -0
- package/dist/release-publish/gh-api.js +102 -0
- package/dist/release-publish/index.d.ts +7 -0
- package/dist/release-publish/index.js +8 -0
- package/dist/release-publish/main.d.ts +3 -0
- package/dist/release-publish/main.js +38 -0
- package/dist/release-publish/pipeline.d.ts +4 -0
- package/dist/release-publish/pipeline.js +46 -0
- package/dist/release-publish/types.d.ts +25 -0
- package/dist/release-publish/types.js +2 -0
- package/dist/release-rollback/constants.d.ts +18 -0
- package/dist/release-rollback/constants.js +55 -0
- package/dist/release-rollback/flags.d.ts +4 -0
- package/dist/release-rollback/flags.js +136 -0
- package/dist/release-rollback/gh.d.ts +5 -0
- package/dist/release-rollback/gh.js +71 -0
- package/dist/release-rollback/git.d.ts +9 -0
- package/dist/release-rollback/git.js +87 -0
- package/dist/release-rollback/guard.d.ts +12 -0
- package/dist/release-rollback/guard.js +97 -0
- package/dist/release-rollback/index.d.ts +9 -0
- package/dist/release-rollback/index.js +10 -0
- package/dist/release-rollback/main.d.ts +3 -0
- package/dist/release-rollback/main.js +51 -0
- package/dist/release-rollback/pipeline.d.ts +7 -0
- package/dist/release-rollback/pipeline.js +221 -0
- package/dist/release-rollback/types.d.ts +41 -0
- package/dist/release-rollback/types.js +2 -0
- package/dist/render/constants.d.ts +16 -0
- package/dist/render/constants.js +78 -0
- package/dist/render/framework-commands.d.ts +41 -0
- package/dist/render/framework-commands.js +416 -0
- package/dist/render/index.d.ts +15 -0
- package/dist/render/index.js +15 -0
- package/dist/render/prd-render.d.ts +14 -0
- package/dist/render/prd-render.js +79 -0
- package/dist/render/project-render.d.ts +20 -0
- package/dist/render/project-render.js +169 -0
- package/dist/render/roadmap-render.d.ts +8 -0
- package/dist/render/roadmap-render.js +387 -0
- package/dist/render/spec-render.d.ts +13 -0
- package/dist/render/spec-render.js +362 -0
- package/dist/render/spec-validate.d.ts +6 -0
- package/dist/render/spec-validate.js +157 -0
- package/dist/render/text-utils.d.ts +8 -0
- package/dist/render/text-utils.js +72 -0
- package/dist/scm/argv.d.ts +7 -0
- package/dist/scm/argv.js +54 -0
- package/dist/scm/binary.d.ts +11 -0
- package/dist/scm/binary.js +35 -0
- package/dist/scm/build-command.d.ts +11 -0
- package/dist/scm/build-command.js +23 -0
- package/dist/scm/call.d.ts +25 -0
- package/dist/scm/call.js +38 -0
- package/dist/scm/cli.d.ts +3 -0
- package/dist/scm/cli.js +7 -0
- package/dist/scm/constants.d.ts +11 -0
- package/dist/scm/constants.js +11 -0
- package/dist/scm/errors.d.ts +5 -0
- package/dist/scm/errors.js +8 -0
- package/dist/scm/gh-rest.d.ts +74 -0
- package/dist/scm/gh-rest.js +326 -0
- package/dist/scm/index.d.ts +11 -0
- package/dist/scm/index.js +11 -0
- package/dist/scm/main.d.ts +12 -0
- package/dist/scm/main.js +65 -0
- package/dist/scm/py-format.d.ts +9 -0
- package/dist/scm/py-format.js +31 -0
- package/dist/scm/rest-dispatch.d.ts +14 -0
- package/dist/scm/rest-dispatch.js +175 -0
- package/dist/scope/audit-log.d.ts +14 -0
- package/dist/scope/audit-log.js +186 -0
- package/dist/scope/capacity-stamp.d.ts +3 -0
- package/dist/scope/capacity-stamp.js +45 -0
- package/dist/scope/cli.d.ts +4 -0
- package/dist/scope/cli.js +11 -0
- package/dist/scope/constants.d.ts +19 -0
- package/dist/scope/constants.js +44 -0
- package/dist/scope/decompose.d.ts +42 -0
- package/dist/scope/decompose.js +1016 -0
- package/dist/scope/decomposed-refs.d.ts +6 -0
- package/dist/scope/decomposed-refs.js +173 -0
- package/dist/scope/demote.d.ts +24 -0
- package/dist/scope/demote.js +209 -0
- package/dist/scope/index.d.ts +12 -0
- package/dist/scope/index.js +12 -0
- package/dist/scope/main.d.ts +30 -0
- package/dist/scope/main.js +365 -0
- package/dist/scope/project-context.d.ts +6 -0
- package/dist/scope/project-context.js +55 -0
- package/dist/scope/project-definition-sync.d.ts +3 -0
- package/dist/scope/project-definition-sync.js +157 -0
- package/dist/scope/transition.d.ts +10 -0
- package/dist/scope/transition.js +133 -0
- package/dist/scope/undo.d.ts +25 -0
- package/dist/scope/undo.js +334 -0
- package/dist/scope/vbrief-json.d.ts +4 -0
- package/dist/scope/vbrief-json.js +8 -0
- package/dist/scope/vbrief-ref.d.ts +11 -0
- package/dist/scope/vbrief-ref.js +100 -0
- package/dist/scope/wip-cap-check.d.ts +11 -0
- package/dist/scope/wip-cap-check.js +23 -0
- package/dist/session/git.d.ts +14 -0
- package/dist/session/git.js +49 -0
- package/dist/session/index.d.ts +9 -0
- package/dist/session/index.js +9 -0
- package/dist/session/json.d.ts +7 -0
- package/dist/session/json.js +29 -0
- package/dist/session/resume-conditions.d.ts +56 -0
- package/dist/session/resume-conditions.js +486 -0
- package/dist/session/ritual-entrypoint.d.ts +20 -0
- package/dist/session/ritual-entrypoint.js +86 -0
- package/dist/session/ritual-sentinel.d.ts +58 -0
- package/dist/session/ritual-sentinel.js +338 -0
- package/dist/session/session-start-hook.d.ts +14 -0
- package/dist/session/session-start-hook.js +53 -0
- package/dist/session/session-start.d.ts +41 -0
- package/dist/session/session-start.js +290 -0
- package/dist/session/staleness.d.ts +8 -0
- package/dist/session/staleness.js +91 -0
- package/dist/session/time.d.ts +5 -0
- package/dist/session/time.js +19 -0
- package/dist/session/verify-session-ritual.d.ts +29 -0
- package/dist/session/verify-session-ritual.js +222 -0
- package/dist/slice/cli.d.ts +21 -0
- package/dist/slice/cli.js +248 -0
- package/dist/slice/constants.d.ts +18 -0
- package/dist/slice/constants.js +30 -0
- package/dist/slice/errors.d.ts +9 -0
- package/dist/slice/errors.js +15 -0
- package/dist/slice/existing.d.ts +53 -0
- package/dist/slice/existing.js +344 -0
- package/dist/slice/index.d.ts +10 -0
- package/dist/slice/index.js +10 -0
- package/dist/slice/json.d.ts +7 -0
- package/dist/slice/json.js +25 -0
- package/dist/slice/lock.d.ts +9 -0
- package/dist/slice/lock.js +59 -0
- package/dist/slice/project-context.d.ts +15 -0
- package/dist/slice/project-context.js +87 -0
- package/dist/slice/record.d.ts +50 -0
- package/dist/slice/record.js +139 -0
- package/dist/slice/validate.d.ts +3 -0
- package/dist/slice/validate.js +86 -0
- package/dist/story-ready/allocation.d.ts +14 -0
- package/dist/story-ready/allocation.js +61 -0
- package/dist/story-ready/evaluate.d.ts +23 -0
- package/dist/story-ready/evaluate.js +161 -0
- package/dist/story-ready/git.d.ts +6 -0
- package/dist/story-ready/git.js +26 -0
- package/dist/story-ready/index.d.ts +4 -0
- package/dist/story-ready/index.js +4 -0
- package/dist/subprocess/max-buffer.d.ts +18 -0
- package/dist/subprocess/max-buffer.js +18 -0
- package/dist/swarm/complete-cohort-cli.d.ts +3 -0
- package/dist/swarm/complete-cohort-cli.js +42 -0
- package/dist/swarm/complete-cohort.d.ts +34 -0
- package/dist/swarm/complete-cohort.js +407 -0
- package/dist/swarm/constants.d.ts +18 -0
- package/dist/swarm/constants.js +24 -0
- package/dist/swarm/index.d.ts +18 -0
- package/dist/swarm/index.js +18 -0
- package/dist/swarm/launch-cli.d.ts +5 -0
- package/dist/swarm/launch-cli.js +111 -0
- package/dist/swarm/launch.d.ts +78 -0
- package/dist/swarm/launch.js +587 -0
- package/dist/swarm/readiness-cli.d.ts +3 -0
- package/dist/swarm/readiness-cli.js +25 -0
- package/dist/swarm/readiness.d.ts +24 -0
- package/dist/swarm/readiness.js +606 -0
- package/dist/swarm/routing-set-cli.d.ts +3 -0
- package/dist/swarm/routing-set-cli.js +82 -0
- package/dist/swarm/routing-verify-cli.d.ts +3 -0
- package/dist/swarm/routing-verify-cli.js +51 -0
- package/dist/swarm/routing-verify.d.ts +20 -0
- package/dist/swarm/routing-verify.js +104 -0
- package/dist/swarm/routing.d.ts +57 -0
- package/dist/swarm/routing.js +173 -0
- package/dist/swarm/subagent-backend.d.ts +22 -0
- package/dist/swarm/subagent-backend.js +162 -0
- package/dist/swarm/subprocess.d.ts +10 -0
- package/dist/swarm/subprocess.js +34 -0
- package/dist/swarm/verify-review-clean-cli.d.ts +3 -0
- package/dist/swarm/verify-review-clean-cli.js +38 -0
- package/dist/swarm/verify-review-clean.d.ts +40 -0
- package/dist/swarm/verify-review-clean.js +240 -0
- package/dist/swarm/worktrees-cli.d.ts +9 -0
- package/dist/swarm/worktrees-cli.js +57 -0
- package/dist/swarm/worktrees.d.ts +39 -0
- package/dist/swarm/worktrees.js +178 -0
- package/dist/text/redos-safe.d.ts +29 -0
- package/dist/text/redos-safe.js +338 -0
- package/dist/triage/actions/candidates-log.d.ts +8 -0
- package/dist/triage/actions/candidates-log.js +195 -0
- package/dist/triage/actions/errors.d.ts +17 -0
- package/dist/triage/actions/errors.js +29 -0
- package/dist/triage/actions/index.d.ts +19 -0
- package/dist/triage/actions/index.js +305 -0
- package/dist/triage/actions/resume-on.d.ts +3 -0
- package/dist/triage/actions/resume-on.js +65 -0
- package/dist/triage/actions/types.d.ts +57 -0
- package/dist/triage/actions/types.js +2 -0
- package/dist/triage/bootstrap/gitignore.d.ts +16 -0
- package/dist/triage/bootstrap/gitignore.js +414 -0
- package/dist/triage/bootstrap/index.d.ts +44 -0
- package/dist/triage/bootstrap/index.js +572 -0
- package/dist/triage/bootstrap/types.d.ts +60 -0
- package/dist/triage/bootstrap/types.js +2 -0
- package/dist/triage/bulk/index.d.ts +99 -0
- package/dist/triage/bulk/index.js +454 -0
- package/dist/triage/classify/index.d.ts +88 -0
- package/dist/triage/classify/index.js +738 -0
- package/dist/triage/help/index.d.ts +25 -0
- package/dist/triage/help/index.js +212 -0
- package/dist/triage/help/registry-data.d.ts +555 -0
- package/dist/triage/help/registry-data.js +841 -0
- package/dist/triage/index.d.ts +23 -0
- package/dist/triage/index.js +23 -0
- package/dist/triage/queue/audit.d.ts +12 -0
- package/dist/triage/queue/audit.js +47 -0
- package/dist/triage/queue/build-queue.d.ts +9 -0
- package/dist/triage/queue/build-queue.js +133 -0
- package/dist/triage/queue/cache.d.ts +20 -0
- package/dist/triage/queue/cache.js +169 -0
- package/dist/triage/queue/constants.d.ts +22 -0
- package/dist/triage/queue/constants.js +28 -0
- package/dist/triage/queue/derive-group.d.ts +7 -0
- package/dist/triage/queue/derive-group.js +20 -0
- package/dist/triage/queue/index.d.ts +12 -0
- package/dist/triage/queue/index.js +12 -0
- package/dist/triage/queue/project.d.ts +6 -0
- package/dist/triage/queue/project.js +18 -0
- package/dist/triage/queue/ranking-labels.d.ts +10 -0
- package/dist/triage/queue/ranking-labels.js +54 -0
- package/dist/triage/queue/render.d.ts +9 -0
- package/dist/triage/queue/render.js +35 -0
- package/dist/triage/queue/repo.d.ts +5 -0
- package/dist/triage/queue/repo.js +36 -0
- package/dist/triage/queue/scope-walk.d.ts +13 -0
- package/dist/triage/queue/scope-walk.js +170 -0
- package/dist/triage/queue/selection.d.ts +28 -0
- package/dist/triage/queue/selection.js +109 -0
- package/dist/triage/queue/types.d.ts +58 -0
- package/dist/triage/queue/types.js +2 -0
- package/dist/triage/reconcile/audit.d.ts +4 -0
- package/dist/triage/reconcile/audit.js +62 -0
- package/dist/triage/reconcile/index.d.ts +5 -0
- package/dist/triage/reconcile/index.js +5 -0
- package/dist/triage/reconcile/parse-uri.d.ts +4 -0
- package/dist/triage/reconcile/parse-uri.js +43 -0
- package/dist/triage/reconcile/reconcile.d.ts +17 -0
- package/dist/triage/reconcile/reconcile.js +163 -0
- package/dist/triage/reconcile/types.d.ts +23 -0
- package/dist/triage/reconcile/types.js +70 -0
- package/dist/triage/refresh/drift.d.ts +15 -0
- package/dist/triage/refresh/drift.js +72 -0
- package/dist/triage/refresh/extract.d.ts +3 -0
- package/dist/triage/refresh/extract.js +43 -0
- package/dist/triage/refresh/index.d.ts +5 -0
- package/dist/triage/refresh/index.js +5 -0
- package/dist/triage/refresh/refresh.d.ts +16 -0
- package/dist/triage/refresh/refresh.js +95 -0
- package/dist/triage/refresh/types.d.ts +18 -0
- package/dist/triage/refresh/types.js +7 -0
- package/dist/triage/scope/cli.d.ts +23 -0
- package/dist/triage/scope/cli.js +257 -0
- package/dist/triage/scope/constants.d.ts +16 -0
- package/dist/triage/scope/constants.js +25 -0
- package/dist/triage/scope/coverage.d.ts +24 -0
- package/dist/triage/scope/coverage.js +96 -0
- package/dist/triage/scope/duration.d.ts +6 -0
- package/dist/triage/scope/duration.js +44 -0
- package/dist/triage/scope/evaluate.d.ts +18 -0
- package/dist/triage/scope/evaluate.js +161 -0
- package/dist/triage/scope/index.d.ts +14 -0
- package/dist/triage/scope/index.js +14 -0
- package/dist/triage/scope/milestone.d.ts +13 -0
- package/dist/triage/scope/milestone.js +178 -0
- package/dist/triage/scope/mutations-core.d.ts +24 -0
- package/dist/triage/scope/mutations-core.js +216 -0
- package/dist/triage/scope/mutations.d.ts +21 -0
- package/dist/triage/scope/mutations.js +203 -0
- package/dist/triage/scope/normalize.d.ts +5 -0
- package/dist/triage/scope/normalize.js +45 -0
- package/dist/triage/scope/python-repr.d.ts +7 -0
- package/dist/triage/scope/python-repr.js +25 -0
- package/dist/triage/scope/renderers.d.ts +9 -0
- package/dist/triage/scope/renderers.js +177 -0
- package/dist/triage/scope/resolve.d.ts +15 -0
- package/dist/triage/scope/resolve.js +122 -0
- package/dist/triage/scope/time.d.ts +6 -0
- package/dist/triage/scope/time.js +18 -0
- package/dist/triage/scope/validate.d.ts +11 -0
- package/dist/triage/scope/validate.js +272 -0
- package/dist/triage/scope-drift/add-ignore.d.ts +10 -0
- package/dist/triage/scope-drift/add-ignore.js +78 -0
- package/dist/triage/scope-drift/cache-walker.d.ts +8 -0
- package/dist/triage/scope-drift/cache-walker.js +103 -0
- package/dist/triage/scope-drift/compute.d.ts +9 -0
- package/dist/triage/scope-drift/compute.js +92 -0
- package/dist/triage/scope-drift/index.d.ts +6 -0
- package/dist/triage/scope-drift/index.js +6 -0
- package/dist/triage/scope-drift/render.d.ts +4 -0
- package/dist/triage/scope-drift/render.js +45 -0
- package/dist/triage/scope-drift/scope-rules.d.ts +16 -0
- package/dist/triage/scope-drift/scope-rules.js +149 -0
- package/dist/triage/scope-drift/types.d.ts +13 -0
- package/dist/triage/scope-drift/types.js +8 -0
- package/dist/triage/smoketest/index.d.ts +81 -0
- package/dist/triage/smoketest/index.js +335 -0
- package/dist/triage/subscribe/index.d.ts +38 -0
- package/dist/triage/subscribe/index.js +303 -0
- package/dist/triage/summary/index.d.ts +70 -0
- package/dist/triage/summary/index.js +431 -0
- package/dist/triage/summary/reconcilable.d.ts +12 -0
- package/dist/triage/summary/reconcilable.js +150 -0
- package/dist/triage/summary/scope-drift.d.ts +5 -0
- package/dist/triage/summary/scope-drift.js +219 -0
- package/dist/triage/welcome/constants.d.ts +24 -0
- package/dist/triage/welcome/constants.js +34 -0
- package/dist/triage/welcome/default-mode.d.ts +21 -0
- package/dist/triage/welcome/default-mode.js +48 -0
- package/dist/triage/welcome/index.d.ts +6 -0
- package/dist/triage/welcome/index.js +6 -0
- package/dist/triage/welcome/prior-state.d.ts +17 -0
- package/dist/triage/welcome/prior-state.js +170 -0
- package/dist/triage/welcome/summary.d.ts +23 -0
- package/dist/triage/welcome/summary.js +303 -0
- package/dist/triage/welcome/writers.d.ts +17 -0
- package/dist/triage/welcome/writers.js +157 -0
- package/dist/ts-check-lane/index.d.ts +3 -0
- package/dist/ts-check-lane/index.js +2 -0
- package/dist/ts-check-lane/run-lane.d.ts +53 -0
- package/dist/ts-check-lane/run-lane.js +98 -0
- package/dist/validate-content/capacity-policy.d.ts +82 -0
- package/dist/validate-content/capacity-policy.js +399 -0
- package/dist/validate-content/capacity-show.d.ts +60 -0
- package/dist/validate-content/capacity-show.js +336 -0
- package/dist/validate-content/filename.d.ts +3 -0
- package/dist/validate-content/filename.js +54 -0
- package/dist/validate-content/index.d.ts +9 -0
- package/dist/validate-content/index.js +9 -0
- package/dist/validate-content/link-parser.d.ts +5 -0
- package/dist/validate-content/link-parser.js +42 -0
- package/dist/validate-content/types.d.ts +8 -0
- package/dist/validate-content/types.js +2 -0
- package/dist/validate-content/validate-links.d.ts +17 -0
- package/dist/validate-content/validate-links.js +114 -0
- package/dist/validate-content/validate-strategy-output.d.ts +11 -0
- package/dist/validate-content/validate-strategy-output.js +120 -0
- package/dist/validate-content/verify-capacity.d.ts +14 -0
- package/dist/validate-content/verify-capacity.js +96 -0
- package/dist/vbrief-activate/activate.d.ts +13 -0
- package/dist/vbrief-activate/activate.js +184 -0
- package/dist/vbrief-activate/constants.d.ts +9 -0
- package/dist/vbrief-activate/constants.js +11 -0
- package/dist/vbrief-activate/index.d.ts +6 -0
- package/dist/vbrief-activate/index.js +4 -0
- package/dist/vbrief-activate/main.d.ts +14 -0
- package/dist/vbrief-activate/main.js +33 -0
- package/dist/vbrief-build/build.d.ts +13 -0
- package/dist/vbrief-build/build.js +123 -0
- package/dist/vbrief-build/constants.d.ts +13 -0
- package/dist/vbrief-build/constants.js +34 -0
- package/dist/vbrief-build/index.d.ts +12 -0
- package/dist/vbrief-build/index.js +11 -0
- package/dist/vbrief-build/json.d.ts +3 -0
- package/dist/vbrief-build/json.js +5 -0
- package/dist/vbrief-build/main.d.ts +5 -0
- package/dist/vbrief-build/main.js +65 -0
- package/dist/vbrief-build/parity-scenarios.d.ts +19 -0
- package/dist/vbrief-build/parity-scenarios.js +321 -0
- package/dist/vbrief-build/project-definition-io.d.ts +13 -0
- package/dist/vbrief-build/project-definition-io.js +117 -0
- package/dist/vbrief-build/routing.d.ts +13 -0
- package/dist/vbrief-build/routing.js +110 -0
- package/dist/vbrief-build/sources.d.ts +16 -0
- package/dist/vbrief-build/sources.js +294 -0
- package/dist/vbrief-build/speckit.d.ts +23 -0
- package/dist/vbrief-build/speckit.js +212 -0
- package/dist/vbrief-build/types.d.ts +18 -0
- package/dist/vbrief-build/types.js +7 -0
- package/dist/vbrief-reconcile/graph.d.ts +11 -0
- package/dist/vbrief-reconcile/graph.js +171 -0
- package/dist/vbrief-reconcile/index.d.ts +10 -0
- package/dist/vbrief-reconcile/index.js +9 -0
- package/dist/vbrief-reconcile/labels.d.ts +22 -0
- package/dist/vbrief-reconcile/labels.js +252 -0
- package/dist/vbrief-reconcile/main.d.ts +18 -0
- package/dist/vbrief-reconcile/main.js +149 -0
- package/dist/vbrief-reconcile/parity-scenarios.d.ts +16 -0
- package/dist/vbrief-reconcile/parity-scenarios.js +385 -0
- package/dist/vbrief-reconcile/py-repr.d.ts +3 -0
- package/dist/vbrief-reconcile/py-repr.js +5 -0
- package/dist/vbrief-reconcile/reconciliation.d.ts +20 -0
- package/dist/vbrief-reconcile/reconciliation.js +542 -0
- package/dist/vbrief-reconcile/swarm-deps.d.ts +8 -0
- package/dist/vbrief-reconcile/swarm-deps.js +142 -0
- package/dist/vbrief-reconcile/types.d.ts +128 -0
- package/dist/vbrief-reconcile/types.js +2 -0
- package/dist/vbrief-reconcile/umbrellas.d.ts +48 -0
- package/dist/vbrief-reconcile/umbrellas.js +462 -0
- package/dist/vbrief-validate/conformance.d.ts +26 -0
- package/dist/vbrief-validate/conformance.js +273 -0
- package/dist/vbrief-validate/constants.d.ts +13 -0
- package/dist/vbrief-validate/constants.js +36 -0
- package/dist/vbrief-validate/decomposition.d.ts +3 -0
- package/dist/vbrief-validate/decomposition.js +38 -0
- package/dist/vbrief-validate/epic-links.d.ts +4 -0
- package/dist/vbrief-validate/epic-links.js +152 -0
- package/dist/vbrief-validate/filename.d.ts +5 -0
- package/dist/vbrief-validate/filename.js +62 -0
- package/dist/vbrief-validate/folder-status.d.ts +4 -0
- package/dist/vbrief-validate/folder-status.js +30 -0
- package/dist/vbrief-validate/index.d.ts +14 -0
- package/dist/vbrief-validate/index.js +11 -0
- package/dist/vbrief-validate/main.d.ts +17 -0
- package/dist/vbrief-validate/main.js +127 -0
- package/dist/vbrief-validate/origin.d.ts +4 -0
- package/dist/vbrief-validate/origin.js +76 -0
- package/dist/vbrief-validate/paths.d.ts +11 -0
- package/dist/vbrief-validate/paths.js +83 -0
- package/dist/vbrief-validate/placeholders.d.ts +3 -0
- package/dist/vbrief-validate/placeholders.js +33 -0
- package/dist/vbrief-validate/plan-hooks.d.ts +9 -0
- package/dist/vbrief-validate/plan-hooks.js +145 -0
- package/dist/vbrief-validate/precutover.d.ts +7 -0
- package/dist/vbrief-validate/precutover.js +30 -0
- package/dist/vbrief-validate/project-definition.d.ts +4 -0
- package/dist/vbrief-validate/project-definition.js +166 -0
- package/dist/vbrief-validate/schema.d.ts +8 -0
- package/dist/vbrief-validate/schema.js +150 -0
- package/dist/vbrief-validate/staleness.d.ts +3 -0
- package/dist/vbrief-validate/staleness.js +106 -0
- package/dist/vbrief-validate/validate-all.d.ts +17 -0
- package/dist/vbrief-validate/validate-all.js +119 -0
- package/dist/vbrief-validation/fidelity.d.ts +22 -0
- package/dist/vbrief-validation/fidelity.js +508 -0
- package/dist/vbrief-validation/index.d.ts +11 -0
- package/dist/vbrief-validation/index.js +8 -0
- package/dist/vbrief-validation/legacy-sections.d.ts +13 -0
- package/dist/vbrief-validation/legacy-sections.js +124 -0
- package/dist/vbrief-validation/main.d.ts +5 -0
- package/dist/vbrief-validation/main.js +65 -0
- package/dist/vbrief-validation/normalize.d.ts +22 -0
- package/dist/vbrief-validation/normalize.js +126 -0
- package/dist/vbrief-validation/parity-scenarios.d.ts +14 -0
- package/dist/vbrief-validation/parity-scenarios.js +523 -0
- package/dist/vbrief-validation/safety.d.ts +38 -0
- package/dist/vbrief-validation/safety.js +422 -0
- package/dist/vbrief-validation/story-quality.d.ts +29 -0
- package/dist/vbrief-validation/story-quality.js +452 -0
- package/dist/vbrief-validation/types.d.ts +58 -0
- package/dist/vbrief-validation/types.js +2 -0
- package/dist/vbrief-validation/validation.d.ts +15 -0
- package/dist/vbrief-validation/validation.js +123 -0
- package/dist/verify-env/index.d.ts +6 -0
- package/dist/verify-env/index.js +6 -0
- package/dist/verify-env/node-runtime.d.ts +6 -0
- package/dist/verify-env/node-runtime.js +11 -0
- package/dist/verify-env/toolchain-check.d.ts +28 -0
- package/dist/verify-env/toolchain-check.js +68 -0
- package/dist/verify-env/verify-hooks-installed.d.ts +21 -0
- package/dist/verify-env/verify-hooks-installed.js +162 -0
- package/dist/verify-env/verify-no-task-runtime.d.ts +20 -0
- package/dist/verify-env/verify-no-task-runtime.js +383 -0
- package/dist/verify-env/verify-tools.d.ts +59 -0
- package/dist/verify-env/verify-tools.js +354 -0
- package/dist/verify-source/code-structure-validate.d.ts +48 -0
- package/dist/verify-source/code-structure-validate.js +678 -0
- package/dist/verify-source/content-manifest.d.ts +102 -0
- package/dist/verify-source/content-manifest.js +282 -0
- package/dist/verify-source/index.d.ts +7 -0
- package/dist/verify-source/index.js +7 -0
- package/dist/verify-source/python-call-scan.d.ts +14 -0
- package/dist/verify-source/python-call-scan.js +137 -0
- package/dist/verify-source/rule-ownership-lint.d.ts +33 -0
- package/dist/verify-source/rule-ownership-lint.js +179 -0
- package/dist/verify-source/scm-boundary.d.ts +26 -0
- package/dist/verify-source/scm-boundary.js +170 -0
- package/dist/verify-source/verify-stubs.d.ts +19 -0
- package/dist/verify-source/verify-stubs.js +185 -0
- package/dist/wip-cap/evaluate.d.ts +17 -0
- package/dist/wip-cap/evaluate.js +62 -0
- package/dist/wip-cap/index.d.ts +2 -0
- package/dist/wip-cap/index.js +2 -0
- package/package.json +206 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const DEFAULT_CAPACITY_UNIT = "vbrief-count";
|
|
2
|
+
export declare const CAPACITY_UNIT_COST = "cost";
|
|
3
|
+
export declare const CAPACITY_UNITS: Set<string>;
|
|
4
|
+
export declare const DEFAULT_CAPACITY_WINDOW_DAYS = 30;
|
|
5
|
+
export declare const DEFAULT_CAPACITY_ENFORCEMENT = "advise";
|
|
6
|
+
export declare const CAPACITY_ENFORCEMENTS: Set<string>;
|
|
7
|
+
export declare const DEFAULT_CAPACITY_MIN_SAMPLE_SIZE = 20;
|
|
8
|
+
export declare const DEFAULT_EPIC_ESTIMATE = 3;
|
|
9
|
+
export declare const DEFAULT_EPIC_STALENESS_DAYS = 30;
|
|
10
|
+
export declare const CAPACITY_TARGET_SUM_TOLERANCE = 0.000001;
|
|
11
|
+
export interface CapacityBucket {
|
|
12
|
+
readonly bucket_id: string;
|
|
13
|
+
readonly target: number;
|
|
14
|
+
}
|
|
15
|
+
export interface CapacityAllocation {
|
|
16
|
+
readonly unit: string;
|
|
17
|
+
readonly window_days: number;
|
|
18
|
+
readonly enforcement: string;
|
|
19
|
+
readonly min_sample_size: number;
|
|
20
|
+
readonly buckets: readonly CapacityBucket[];
|
|
21
|
+
readonly default_bucket: string;
|
|
22
|
+
readonly default_epic_estimate: number;
|
|
23
|
+
readonly epic_staleness_days: number;
|
|
24
|
+
readonly source: "typed" | "default" | "default-on-error";
|
|
25
|
+
readonly error: string | null;
|
|
26
|
+
readonly configured: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Validate a plan.policy.capacityAllocation payload. */
|
|
29
|
+
export declare function validateCapacityAllocation(value: unknown): string[];
|
|
30
|
+
/** Resolve plan.policy.capacityAllocation from PROJECT-DEFINITION. */
|
|
31
|
+
export declare function resolveCapacityAllocation(projectRoot: string): CapacityAllocation;
|
|
32
|
+
export interface BucketMatcher {
|
|
33
|
+
readonly bucket_id: string;
|
|
34
|
+
readonly labels: ReadonlySet<string>;
|
|
35
|
+
}
|
|
36
|
+
/** Return ordered matchers + default_bucket from PROJECT-DEFINITION raw match.labels. */
|
|
37
|
+
export declare function loadBucketMatchers(projectRoot: string): {
|
|
38
|
+
matchers: BucketMatcher[];
|
|
39
|
+
default_bucket: string;
|
|
40
|
+
};
|
|
41
|
+
export declare const SOURCE_MATCH = "match";
|
|
42
|
+
export declare const SOURCE_DEFAULT = "default";
|
|
43
|
+
/** Return (bucket_id, source) for an issue's label set. */
|
|
44
|
+
export declare function classifyBucket(issueLabels: ReadonlySet<string>, matchers: readonly BucketMatcher[], defaultBucket: string): [string, string];
|
|
45
|
+
//# sourceMappingURL=capacity.d.ts.map
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { loadProjectDefinition } from "../policy/resolve.js";
|
|
2
|
+
export const DEFAULT_CAPACITY_UNIT = "vbrief-count";
|
|
3
|
+
export const CAPACITY_UNIT_COST = "cost";
|
|
4
|
+
export const CAPACITY_UNITS = new Set([DEFAULT_CAPACITY_UNIT, CAPACITY_UNIT_COST]);
|
|
5
|
+
export const DEFAULT_CAPACITY_WINDOW_DAYS = 30;
|
|
6
|
+
export const DEFAULT_CAPACITY_ENFORCEMENT = "advise";
|
|
7
|
+
export const CAPACITY_ENFORCEMENTS = new Set(["advise", "enforce"]);
|
|
8
|
+
export const DEFAULT_CAPACITY_MIN_SAMPLE_SIZE = 20;
|
|
9
|
+
export const DEFAULT_EPIC_ESTIMATE = 3;
|
|
10
|
+
export const DEFAULT_EPIC_STALENESS_DAYS = 30;
|
|
11
|
+
export const CAPACITY_TARGET_SUM_TOLERANCE = 1e-6;
|
|
12
|
+
function isNumber(value) {
|
|
13
|
+
return typeof value === "number" && !Number.isNaN(value) && typeof value !== "boolean";
|
|
14
|
+
}
|
|
15
|
+
function isPositiveInt(value) {
|
|
16
|
+
return typeof value === "number" && Number.isInteger(value) && value > 0;
|
|
17
|
+
}
|
|
18
|
+
function defaultCapacityAllocation(source, error = null) {
|
|
19
|
+
return {
|
|
20
|
+
unit: DEFAULT_CAPACITY_UNIT,
|
|
21
|
+
window_days: DEFAULT_CAPACITY_WINDOW_DAYS,
|
|
22
|
+
enforcement: DEFAULT_CAPACITY_ENFORCEMENT,
|
|
23
|
+
min_sample_size: DEFAULT_CAPACITY_MIN_SAMPLE_SIZE,
|
|
24
|
+
buckets: [],
|
|
25
|
+
default_bucket: "",
|
|
26
|
+
default_epic_estimate: DEFAULT_EPIC_ESTIMATE,
|
|
27
|
+
epic_staleness_days: DEFAULT_EPIC_STALENESS_DAYS,
|
|
28
|
+
source,
|
|
29
|
+
error,
|
|
30
|
+
configured: false,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function validateCapacityBuckets(value) {
|
|
34
|
+
const errors = [];
|
|
35
|
+
const buckets = value.buckets;
|
|
36
|
+
if (!Array.isArray(buckets) || buckets.length === 0) {
|
|
37
|
+
errors.push("plan.policy.capacityAllocation.buckets must be a non-empty array");
|
|
38
|
+
return errors;
|
|
39
|
+
}
|
|
40
|
+
const ids = [];
|
|
41
|
+
let total = 0;
|
|
42
|
+
for (let idx = 0; idx < buckets.length; idx += 1) {
|
|
43
|
+
const bucket = buckets[idx];
|
|
44
|
+
if (typeof bucket !== "object" || bucket === null || Array.isArray(bucket)) {
|
|
45
|
+
errors.push(`plan.policy.capacityAllocation.buckets[${idx}] must be an object`);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const rec = bucket;
|
|
49
|
+
const bucketId = rec.id;
|
|
50
|
+
if (typeof bucketId !== "string" || bucketId.trim().length === 0) {
|
|
51
|
+
errors.push(`plan.policy.capacityAllocation.buckets[${idx}].id must be a non-empty string`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
ids.push(bucketId);
|
|
55
|
+
}
|
|
56
|
+
const target = rec.target;
|
|
57
|
+
if (!isNumber(target)) {
|
|
58
|
+
errors.push(`plan.policy.capacityAllocation.buckets[${idx}].target must be a number; got ${String(target)}`);
|
|
59
|
+
}
|
|
60
|
+
else if (Number(target) < 0 || Number(target) > 1) {
|
|
61
|
+
errors.push(`plan.policy.capacityAllocation.buckets[${idx}].target must be between 0.0 and 1.0; got ${String(target)}`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
total += Number(target);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const duplicates = [...new Set(ids.filter((id, i) => ids.indexOf(id) !== i))].sort();
|
|
68
|
+
if (duplicates.length > 0) {
|
|
69
|
+
errors.push(`plan.policy.capacityAllocation.buckets ids must be unique; duplicates: ${JSON.stringify(duplicates)}`);
|
|
70
|
+
}
|
|
71
|
+
if (ids.length > 0 && Math.abs(total - 1.0) > CAPACITY_TARGET_SUM_TOLERANCE) {
|
|
72
|
+
errors.push(`plan.policy.capacityAllocation.buckets targets must sum to 1.0; got ${total.toFixed(6)}`);
|
|
73
|
+
}
|
|
74
|
+
const defaultBucket = value.defaultBucket;
|
|
75
|
+
if (defaultBucket !== undefined && defaultBucket !== null) {
|
|
76
|
+
if (typeof defaultBucket !== "string") {
|
|
77
|
+
errors.push("plan.policy.capacityAllocation.defaultBucket must be a string");
|
|
78
|
+
}
|
|
79
|
+
else if (!ids.includes(defaultBucket)) {
|
|
80
|
+
errors.push(`plan.policy.capacityAllocation.defaultBucket '${defaultBucket}' must match a declared bucket id`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return errors;
|
|
84
|
+
}
|
|
85
|
+
/** Validate a plan.policy.capacityAllocation payload. */
|
|
86
|
+
export function validateCapacityAllocation(value) {
|
|
87
|
+
if (value === null || value === undefined) {
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
if (typeof value !== "object" || Array.isArray(value)) {
|
|
91
|
+
return [
|
|
92
|
+
`plan.policy.capacityAllocation must be an object; got ${typeof value} (${String(value)})`,
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
const rec = value;
|
|
96
|
+
const errors = [];
|
|
97
|
+
const unit = rec.unit ?? DEFAULT_CAPACITY_UNIT;
|
|
98
|
+
if (typeof unit !== "string" || !CAPACITY_UNITS.has(unit)) {
|
|
99
|
+
errors.push(`plan.policy.capacityAllocation.unit must be one of ${JSON.stringify([...CAPACITY_UNITS].sort())}; got ${String(unit)}`);
|
|
100
|
+
}
|
|
101
|
+
const enforcement = rec.enforcement ?? DEFAULT_CAPACITY_ENFORCEMENT;
|
|
102
|
+
if (typeof enforcement !== "string" || !CAPACITY_ENFORCEMENTS.has(enforcement)) {
|
|
103
|
+
errors.push(`plan.policy.capacityAllocation.enforcement must be one of ${JSON.stringify([...CAPACITY_ENFORCEMENTS].sort())}; got ${String(enforcement)}`);
|
|
104
|
+
}
|
|
105
|
+
if (!("window" in rec)) {
|
|
106
|
+
errors.push("plan.policy.capacityAllocation.window is required (trailing accounting window in days)");
|
|
107
|
+
}
|
|
108
|
+
else if (!isPositiveInt(rec.window)) {
|
|
109
|
+
errors.push(`plan.policy.capacityAllocation.window must be a positive integer (days); got ${String(rec.window)}`);
|
|
110
|
+
}
|
|
111
|
+
if ("minSampleSize" in rec) {
|
|
112
|
+
const mss = rec.minSampleSize;
|
|
113
|
+
if (typeof mss !== "number" || !Number.isInteger(mss) || mss < 0) {
|
|
114
|
+
errors.push(`plan.policy.capacityAllocation.minSampleSize must be a non-negative integer; got ${String(mss)}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if ("defaultEpicEstimate" in rec && !isPositiveInt(rec.defaultEpicEstimate)) {
|
|
118
|
+
errors.push(`plan.policy.capacityAllocation.defaultEpicEstimate must be a positive integer; got ${String(rec.defaultEpicEstimate)}`);
|
|
119
|
+
}
|
|
120
|
+
if ("epicStalenessDays" in rec && !isPositiveInt(rec.epicStalenessDays)) {
|
|
121
|
+
errors.push(`plan.policy.capacityAllocation.epicStalenessDays must be a positive integer; got ${String(rec.epicStalenessDays)}`);
|
|
122
|
+
}
|
|
123
|
+
errors.push(...validateCapacityBuckets(rec));
|
|
124
|
+
return errors;
|
|
125
|
+
}
|
|
126
|
+
function getPolicyBlock(data) {
|
|
127
|
+
const plan = data.plan;
|
|
128
|
+
if (typeof plan === "object" && plan !== null && !Array.isArray(plan)) {
|
|
129
|
+
const policy = plan.policy;
|
|
130
|
+
if (typeof policy === "object" && policy !== null && !Array.isArray(policy)) {
|
|
131
|
+
return policy;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return {};
|
|
135
|
+
}
|
|
136
|
+
/** Resolve plan.policy.capacityAllocation from PROJECT-DEFINITION. */
|
|
137
|
+
export function resolveCapacityAllocation(projectRoot) {
|
|
138
|
+
const [data, err] = loadProjectDefinition(projectRoot);
|
|
139
|
+
if (data === null) {
|
|
140
|
+
return defaultCapacityAllocation("default", err);
|
|
141
|
+
}
|
|
142
|
+
const policyBlock = getPolicyBlock(data);
|
|
143
|
+
if (!("capacityAllocation" in policyBlock)) {
|
|
144
|
+
return defaultCapacityAllocation("default");
|
|
145
|
+
}
|
|
146
|
+
const raw = policyBlock.capacityAllocation;
|
|
147
|
+
const validationErrors = validateCapacityAllocation(raw);
|
|
148
|
+
if (validationErrors.length > 0 ||
|
|
149
|
+
typeof raw !== "object" ||
|
|
150
|
+
raw === null ||
|
|
151
|
+
Array.isArray(raw)) {
|
|
152
|
+
return defaultCapacityAllocation("default-on-error", validationErrors[0] ?? "capacityAllocation must be an object");
|
|
153
|
+
}
|
|
154
|
+
const rec = raw;
|
|
155
|
+
const bucketsRaw = rec.buckets;
|
|
156
|
+
const buckets = [];
|
|
157
|
+
if (Array.isArray(bucketsRaw)) {
|
|
158
|
+
for (const bucket of bucketsRaw) {
|
|
159
|
+
if (typeof bucket === "object" && bucket !== null && !Array.isArray(bucket)) {
|
|
160
|
+
const b = bucket;
|
|
161
|
+
if (typeof b.id === "string" && isNumber(b.target)) {
|
|
162
|
+
buckets.push({ bucket_id: b.id, target: Number(b.target) });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const defaultBucket = typeof rec.defaultBucket === "string" ? rec.defaultBucket : "";
|
|
168
|
+
return {
|
|
169
|
+
unit: typeof rec.unit === "string" ? rec.unit : DEFAULT_CAPACITY_UNIT,
|
|
170
|
+
window_days: Number(rec.window),
|
|
171
|
+
enforcement: typeof rec.enforcement === "string" ? rec.enforcement : DEFAULT_CAPACITY_ENFORCEMENT,
|
|
172
|
+
min_sample_size: typeof rec.minSampleSize === "number" && Number.isInteger(rec.minSampleSize)
|
|
173
|
+
? rec.minSampleSize
|
|
174
|
+
: DEFAULT_CAPACITY_MIN_SAMPLE_SIZE,
|
|
175
|
+
buckets,
|
|
176
|
+
default_bucket: defaultBucket,
|
|
177
|
+
default_epic_estimate: typeof rec.defaultEpicEstimate === "number" && Number.isInteger(rec.defaultEpicEstimate)
|
|
178
|
+
? rec.defaultEpicEstimate
|
|
179
|
+
: DEFAULT_EPIC_ESTIMATE,
|
|
180
|
+
epic_staleness_days: typeof rec.epicStalenessDays === "number" && Number.isInteger(rec.epicStalenessDays)
|
|
181
|
+
? rec.epicStalenessDays
|
|
182
|
+
: DEFAULT_EPIC_STALENESS_DAYS,
|
|
183
|
+
source: "typed",
|
|
184
|
+
error: null,
|
|
185
|
+
configured: buckets.length > 0,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/** Return ordered matchers + default_bucket from PROJECT-DEFINITION raw match.labels. */
|
|
189
|
+
export function loadBucketMatchers(projectRoot) {
|
|
190
|
+
const [data] = loadProjectDefinition(projectRoot);
|
|
191
|
+
const matchers = [];
|
|
192
|
+
if (data === null) {
|
|
193
|
+
return { matchers, default_bucket: "" };
|
|
194
|
+
}
|
|
195
|
+
const policyBlock = getPolicyBlock(data);
|
|
196
|
+
const cap = policyBlock.capacityAllocation;
|
|
197
|
+
if (typeof cap !== "object" || cap === null || Array.isArray(cap)) {
|
|
198
|
+
return { matchers, default_bucket: "" };
|
|
199
|
+
}
|
|
200
|
+
const rec = cap;
|
|
201
|
+
const buckets = rec.buckets;
|
|
202
|
+
if (Array.isArray(buckets)) {
|
|
203
|
+
for (const bucket of buckets) {
|
|
204
|
+
if (typeof bucket !== "object" || bucket === null || Array.isArray(bucket)) {
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
const b = bucket;
|
|
208
|
+
const bucketId = b.id;
|
|
209
|
+
if (typeof bucketId !== "string" || bucketId.trim().length === 0) {
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
matchers.push({
|
|
213
|
+
bucket_id: bucketId.trim(),
|
|
214
|
+
labels: new Set(matchLabels(b.match)),
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
const defaultBucket = rec.defaultBucket;
|
|
219
|
+
return {
|
|
220
|
+
matchers,
|
|
221
|
+
default_bucket: typeof defaultBucket === "string" ? defaultBucket : "",
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
function matchLabels(match) {
|
|
225
|
+
if (typeof match !== "object" || match === null || Array.isArray(match)) {
|
|
226
|
+
return [];
|
|
227
|
+
}
|
|
228
|
+
const labels = match.labels;
|
|
229
|
+
if (typeof labels !== "object" || labels === null || Array.isArray(labels)) {
|
|
230
|
+
return [];
|
|
231
|
+
}
|
|
232
|
+
const anyOf = labels["any-of"];
|
|
233
|
+
if (!Array.isArray(anyOf)) {
|
|
234
|
+
return [];
|
|
235
|
+
}
|
|
236
|
+
return anyOf.filter((x) => typeof x === "string" && x.length > 0);
|
|
237
|
+
}
|
|
238
|
+
export const SOURCE_MATCH = "match";
|
|
239
|
+
export const SOURCE_DEFAULT = "default";
|
|
240
|
+
/** Return (bucket_id, source) for an issue's label set. */
|
|
241
|
+
export function classifyBucket(issueLabels, matchers, defaultBucket) {
|
|
242
|
+
for (const matcher of matchers) {
|
|
243
|
+
for (const label of matcher.labels) {
|
|
244
|
+
if (issueLabels.has(label)) {
|
|
245
|
+
return [matcher.bucket_id, SOURCE_MATCH];
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return [defaultBucket, SOURCE_DEFAULT];
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=capacity.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const PENDING_DECISIONS_AUDIT_DIR_REL = "vbrief/.audit";
|
|
2
|
+
export declare const PENDING_DECISIONS_LOG_NAME = "pending-human-decisions.jsonl";
|
|
3
|
+
export declare const DECISION_STATUS_PENDING = "pending";
|
|
4
|
+
export declare const DECISION_STATUS_RESOLVED = "resolved";
|
|
5
|
+
export declare const DEFAULT_PENDING_DECISIONS_THRESHOLD = 5;
|
|
6
|
+
export interface DecisionBacklog {
|
|
7
|
+
readonly pending_count: number;
|
|
8
|
+
readonly by_kind: Readonly<Record<string, number>>;
|
|
9
|
+
readonly resolved_in_window: number;
|
|
10
|
+
readonly override_count: number;
|
|
11
|
+
readonly p0_reversal_in_window: boolean;
|
|
12
|
+
readonly override_rate: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function pendingDecisionsLogPath(projectRoot: string): string;
|
|
15
|
+
/** Return every well-formed decision event in insertion order. */
|
|
16
|
+
export declare function readDecisionEvents(projectRoot: string, logPath?: string): Record<string, unknown>[];
|
|
17
|
+
export interface SummarizeDecisionBacklogOptions {
|
|
18
|
+
readonly now?: Date;
|
|
19
|
+
readonly window_days?: number;
|
|
20
|
+
readonly events?: readonly Record<string, unknown>[];
|
|
21
|
+
}
|
|
22
|
+
/** Summarise the pending-decisions log into a DecisionBacklog. */
|
|
23
|
+
export declare function summarizeDecisionBacklog(projectRoot: string, options?: SummarizeDecisionBacklogOptions): DecisionBacklog;
|
|
24
|
+
/** Return the Tier-1 backlog nudge string, or empty when at/under threshold. */
|
|
25
|
+
export declare function pendingDecisionsNudgeLine(count: number, threshold?: number): string;
|
|
26
|
+
//# sourceMappingURL=decisions.d.ts.map
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
export const PENDING_DECISIONS_AUDIT_DIR_REL = "vbrief/.audit";
|
|
4
|
+
export const PENDING_DECISIONS_LOG_NAME = "pending-human-decisions.jsonl";
|
|
5
|
+
export const DECISION_STATUS_PENDING = "pending";
|
|
6
|
+
export const DECISION_STATUS_RESOLVED = "resolved";
|
|
7
|
+
export const DEFAULT_PENDING_DECISIONS_THRESHOLD = 5;
|
|
8
|
+
export function pendingDecisionsLogPath(projectRoot) {
|
|
9
|
+
return join(resolve(projectRoot), PENDING_DECISIONS_AUDIT_DIR_REL, PENDING_DECISIONS_LOG_NAME);
|
|
10
|
+
}
|
|
11
|
+
function parseIsoTs(value) {
|
|
12
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
const text = value.replace("Z", "+00:00");
|
|
16
|
+
const parsed = new Date(text);
|
|
17
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return parsed;
|
|
21
|
+
}
|
|
22
|
+
/** Return every well-formed decision event in insertion order. */
|
|
23
|
+
export function readDecisionEvents(projectRoot, logPath) {
|
|
24
|
+
const path = logPath ?? pendingDecisionsLogPath(projectRoot);
|
|
25
|
+
if (!existsSync(path)) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const out = [];
|
|
29
|
+
for (const raw of readFileSync(path, { encoding: "utf8" }).split("\n")) {
|
|
30
|
+
const stripped = raw.trim();
|
|
31
|
+
if (stripped.length === 0) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const obj = JSON.parse(stripped);
|
|
36
|
+
if (typeof obj === "object" && obj !== null && !Array.isArray(obj)) {
|
|
37
|
+
const rec = obj;
|
|
38
|
+
if (typeof rec.decision_id === "string") {
|
|
39
|
+
out.push(rec);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// skip malformed lines
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return out;
|
|
48
|
+
}
|
|
49
|
+
/** Summarise the pending-decisions log into a DecisionBacklog. */
|
|
50
|
+
export function summarizeDecisionBacklog(projectRoot, options = {}) {
|
|
51
|
+
const records = options.events ?? readDecisionEvents(projectRoot);
|
|
52
|
+
const latest = new Map();
|
|
53
|
+
for (const event of records) {
|
|
54
|
+
const decisionId = event.decision_id;
|
|
55
|
+
if (typeof decisionId === "string" && decisionId.length > 0) {
|
|
56
|
+
latest.set(decisionId, event);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const byKind = {};
|
|
60
|
+
let pendingCount = 0;
|
|
61
|
+
for (const event of latest.values()) {
|
|
62
|
+
if (event.status === DECISION_STATUS_PENDING) {
|
|
63
|
+
pendingCount += 1;
|
|
64
|
+
const kind = typeof event.kind === "string" && event.kind.length > 0 ? event.kind : "unspecified";
|
|
65
|
+
byKind[kind] = (byKind[kind] ?? 0) + 1;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const nowDt = options.now ?? new Date();
|
|
69
|
+
let resolvedInWindow = 0;
|
|
70
|
+
let overrideCount = 0;
|
|
71
|
+
let p0Reversal = false;
|
|
72
|
+
const windowDays = options.window_days;
|
|
73
|
+
for (const event of latest.values()) {
|
|
74
|
+
if (event.status !== DECISION_STATUS_RESOLVED) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
if (windowDays !== undefined) {
|
|
78
|
+
const stamp = parseIsoTs(event.timestamp);
|
|
79
|
+
if (stamp === null) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const ageDays = (nowDt.getTime() - stamp.getTime()) / (86400 * 1000);
|
|
83
|
+
if (ageDays < 0 || ageDays > windowDays) {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
resolvedInWindow += 1;
|
|
88
|
+
if (event.override === true) {
|
|
89
|
+
overrideCount += 1;
|
|
90
|
+
}
|
|
91
|
+
if (event.p0_reversal === true) {
|
|
92
|
+
p0Reversal = true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const overrideRate = resolvedInWindow > 0 ? overrideCount / resolvedInWindow : 0;
|
|
96
|
+
return {
|
|
97
|
+
pending_count: pendingCount,
|
|
98
|
+
by_kind: byKind,
|
|
99
|
+
resolved_in_window: resolvedInWindow,
|
|
100
|
+
override_count: overrideCount,
|
|
101
|
+
p0_reversal_in_window: p0Reversal,
|
|
102
|
+
override_rate: overrideRate,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/** Return the Tier-1 backlog nudge string, or empty when at/under threshold. */
|
|
106
|
+
export function pendingDecisionsNudgeLine(count, threshold = DEFAULT_PENDING_DECISIONS_THRESHOLD) {
|
|
107
|
+
if (count <= threshold) {
|
|
108
|
+
return "";
|
|
109
|
+
}
|
|
110
|
+
return (`[TIER-1] pending human-clearance backlog: ${count} decision(s) ` +
|
|
111
|
+
`awaiting adjudication (> threshold ${threshold}). Tune wipCap to real ` +
|
|
112
|
+
"review throughput or clear the backlog before dispatching more work.");
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=decisions.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ENV_BYPASS } from "./resolve.js";
|
|
2
|
+
/** One-liner disclosure phrasing for AGENTS.md / setup interview echo. */
|
|
3
|
+
export function disclosureLine(result) {
|
|
4
|
+
if (result.allowDirectCommits) {
|
|
5
|
+
if (result.source === "env-bypass") {
|
|
6
|
+
return (`[deft policy] ${ENV_BYPASS} is set -- ` +
|
|
7
|
+
"branch-protection policy bypassed for this session.");
|
|
8
|
+
}
|
|
9
|
+
return ("[deft policy] Direct commits to the default branch are ENABLED " +
|
|
10
|
+
`(source: ${result.source}). Branch-protection policy is OFF.`);
|
|
11
|
+
}
|
|
12
|
+
if (result.error !== null) {
|
|
13
|
+
return ("[deft policy] Branch-protection policy is ON (fail-closed: " +
|
|
14
|
+
`${result.error}). Direct commits to the default branch are blocked.`);
|
|
15
|
+
}
|
|
16
|
+
return ("[deft policy] Branch-protection policy is ON. Direct commits to the " +
|
|
17
|
+
"default branch are blocked. Use a feature branch.");
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=disclosure.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export * from "./autonomy.js";
|
|
2
|
+
export * from "./capacity.js";
|
|
3
|
+
export * from "./decisions.js";
|
|
4
|
+
export * from "./disclosure.js";
|
|
5
|
+
export * from "./resolve.js";
|
|
6
|
+
export * from "./wip.js";
|
|
7
|
+
export declare const FIELD_ALLOW_DIRECT_COMMITS = "plan.policy.allowDirectCommitsToMaster";
|
|
8
|
+
export declare const FIELD_WIP_CAP = "plan.policy.wipCap";
|
|
9
|
+
export declare const FIELD_SESSION_RITUAL_STALENESS_HOURS = "plan.policy.sessionRitualStalenessHours";
|
|
10
|
+
export declare const FIELD_TRIAGE_SCOPE = "plan.policy.triageScope";
|
|
11
|
+
export declare const FIELD_TRIAGE_SCOPE_IGNORES = "plan.policy.triageScopeIgnores";
|
|
12
|
+
export declare const FIELD_TRIAGE_RANKING_LABELS = "plan.policy.triageRankingLabels";
|
|
13
|
+
export declare const FIELD_TRIAGE_AUTO_CLASSIFY = "plan.policy.triageAutoClassify";
|
|
14
|
+
export declare const FIELD_TRIAGE_HOLD_MARKERS = "plan.policy.triageHoldMarkers";
|
|
15
|
+
export declare const FIELD_SWARM_SUBAGENT_BACKEND = "plan.policy.swarmSubagentBackend";
|
|
16
|
+
export declare const DEFAULT_SESSION_RITUAL_STALENESS_HOURS = 4;
|
|
17
|
+
export declare const DEFAULT_TRIAGE_SCOPE_VALUE: readonly Record<string, unknown>[];
|
|
18
|
+
export declare const DEFAULT_TRIAGE_SCOPE_IGNORES_VALUE: readonly unknown[];
|
|
19
|
+
export declare const DEFAULT_TRIAGE_RANKING_LABELS_VALUE: readonly string[];
|
|
20
|
+
export declare const DEFAULT_TRIAGE_AUTO_CLASSIFY_VALUE: readonly unknown[];
|
|
21
|
+
export declare const KNOWN_SUBAGENT_BACKEND_IDS: Set<string>;
|
|
22
|
+
export interface PolicyField {
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly current: unknown;
|
|
25
|
+
readonly default: unknown;
|
|
26
|
+
readonly source: string;
|
|
27
|
+
}
|
|
28
|
+
/** Walk registered inspectors and return one row per field (#1148). */
|
|
29
|
+
export declare function inspectAllPolicies(projectRoot: string): PolicyField[];
|
|
30
|
+
/** Look up a single registered field by canonical dotted-path name. */
|
|
31
|
+
export declare function inspectOnePolicy(name: string, projectRoot: string): PolicyField | null;
|
|
32
|
+
/** Return canonical names of every registered typed-policy field. */
|
|
33
|
+
export declare function registeredPolicyNames(): string[];
|
|
34
|
+
export declare function fieldToDict(field: PolicyField): Record<string, unknown>;
|
|
35
|
+
/** Render the JSON envelope {generated_at, fields: [...]}. */
|
|
36
|
+
export declare function renderJson(fields: PolicyField[], now?: Date): string;
|
|
37
|
+
/** Render the human-readable text format from the issue body. */
|
|
38
|
+
export declare function renderText(fields: PolicyField[]): string;
|
|
39
|
+
/** Python repr for a string (single-quoted). */
|
|
40
|
+
export declare function pythonStringRepr(value: string): string;
|
|
41
|
+
/** Python repr for a list of strings. */
|
|
42
|
+
export declare function pythonListRepr(items: string[]): string;
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|