@deftai/directive 0.125.2 → 0.126.0-beta.2
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/bin/deft-hook +14 -0
- package/bin/deft-hook.cmd +14 -0
- package/dist/bin.js +4333 -3
- package/package.json +12 -23
- package/dist/agents-refresh.d.ts +0 -11
- package/dist/agents-refresh.js +0 -90
- package/dist/authz.d.ts +0 -7
- package/dist/authz.js +0 -732
- package/dist/bin.d.ts +0 -3
- package/dist/branch-fixtures.d.ts +0 -45
- package/dist/branch-fixtures.js +0 -156
- package/dist/cache.d.ts +0 -4
- package/dist/cache.js +0 -10
- package/dist/capacity-backfill.d.ts +0 -3
- package/dist/capacity-backfill.js +0 -9
- package/dist/capacity-show.d.ts +0 -3
- package/dist/capacity-show.js +0 -9
- package/dist/change-init.d.ts +0 -3
- package/dist/change-init.js +0 -59
- package/dist/changelog-check.d.ts +0 -3
- package/dist/changelog-check.js +0 -52
- package/dist/check.d.ts +0 -15
- package/dist/check.js +0 -150
- package/dist/cli-package-version.d.ts +0 -3
- package/dist/cli-package-version.js +0 -23
- package/dist/cli-router/index.d.ts +0 -8
- package/dist/cli-router/index.js +0 -44
- package/dist/cli-router/route-argv.d.ts +0 -40
- package/dist/cli-router/route-argv.js +0 -371
- package/dist/codebase-default-extractor.d.ts +0 -3
- package/dist/codebase-default-extractor.js +0 -9
- package/dist/codebase-map-fresh.d.ts +0 -3
- package/dist/codebase-map-fresh.js +0 -9
- package/dist/codebase-map.d.ts +0 -3
- package/dist/codebase-map.js +0 -9
- package/dist/codebase-projection-registry.d.ts +0 -3
- package/dist/codebase-projection-registry.js +0 -9
- package/dist/codebase-provider.d.ts +0 -3
- package/dist/codebase-provider.js +0 -9
- package/dist/commit-lint.d.ts +0 -3
- package/dist/commit-lint.js +0 -44
- package/dist/content-validate-cli/validate-links.d.ts +0 -11
- package/dist/content-validate-cli/validate-links.js +0 -37
- package/dist/content-validate-cli/validate-strategy-output.d.ts +0 -13
- package/dist/content-validate-cli/validate-strategy-output.js +0 -56
- package/dist/content-validate-cli/verify-capacity.d.ts +0 -12
- package/dist/content-validate-cli/verify-capacity.js +0 -54
- package/dist/coverage-hotspots.d.ts +0 -18
- package/dist/coverage-hotspots.js +0 -158
- package/dist/design-critique-spend-resolve.d.ts +0 -18
- package/dist/design-critique-spend-resolve.js +0 -191
- package/dist/directive-finish-loop.d.ts +0 -3
- package/dist/directive-finish-loop.js +0 -10
- package/dist/dispatch.d.ts +0 -193
- package/dist/dispatch.js +0 -3082
- package/dist/doctor.d.ts +0 -19
- package/dist/doctor.js +0 -155
- package/dist/entrypoint.d.ts +0 -6
- package/dist/entrypoint.js +0 -19
- package/dist/escalation-cli.d.ts +0 -4
- package/dist/escalation-cli.js +0 -301
- package/dist/eval-health.d.ts +0 -13
- package/dist/eval-health.js +0 -63
- package/dist/eval-report.d.ts +0 -15
- package/dist/eval-report.js +0 -97
- package/dist/eval-run.d.ts +0 -17
- package/dist/eval-run.js +0 -122
- package/dist/eval-triggers.d.ts +0 -12
- package/dist/eval-triggers.js +0 -56
- package/dist/framework-check-updates.d.ts +0 -10
- package/dist/framework-check-updates.js +0 -68
- package/dist/gates-cli/_helpers.d.ts +0 -24
- package/dist/gates-cli/_helpers.js +0 -115
- package/dist/gates-cli/verify-bridge-drift.d.ts +0 -11
- package/dist/gates-cli/verify-bridge-drift.js +0 -47
- package/dist/gates-cli/verify-go-freeze.d.ts +0 -11
- package/dist/gates-cli/verify-go-freeze.js +0 -48
- package/dist/hook-bin.d.ts +0 -3
- package/dist/hook-bin.js +0 -11
- package/dist/hook-dispatch.d.ts +0 -80
- package/dist/hook-dispatch.js +0 -186
- package/dist/human-presence-mint.d.ts +0 -70
- package/dist/human-presence-mint.js +0 -204
- package/dist/identity-banner.d.ts +0 -13
- package/dist/identity-banner.js +0 -19
- package/dist/index.d.ts +0 -11
- package/dist/index.js +0 -14
- package/dist/init-cli/constants.d.ts +0 -42
- package/dist/init-cli/constants.js +0 -42
- package/dist/init-cli/help.d.ts +0 -9
- package/dist/init-cli/help.js +0 -43
- package/dist/init-cli/init.d.ts +0 -26
- package/dist/init-cli/init.js +0 -80
- package/dist/init-cli/migrate.d.ts +0 -3
- package/dist/init-cli/migrate.js +0 -51
- package/dist/init-cli/resolve-binary.d.ts +0 -34
- package/dist/init-cli/resolve-binary.js +0 -78
- package/dist/init-cli/run-deft-install.d.ts +0 -23
- package/dist/init-cli/run-deft-install.js +0 -71
- package/dist/init-cli/update.d.ts +0 -5
- package/dist/init-cli/update.js +0 -38
- package/dist/install-cli/coverage-map.d.ts +0 -14
- package/dist/install-cli/coverage-map.js +0 -113
- package/dist/install-uninstall.d.ts +0 -3
- package/dist/install-uninstall.js +0 -44
- package/dist/install-upgrade.d.ts +0 -41
- package/dist/install-upgrade.js +0 -86
- package/dist/lifecycle-cli/coverage-map.d.ts +0 -16
- package/dist/lifecycle-cli/coverage-map.js +0 -254
- package/dist/lifecycle-cli/helpers.d.ts +0 -8
- package/dist/lifecycle-cli/helpers.js +0 -20
- package/dist/lifecycle-event.d.ts +0 -11
- package/dist/lifecycle-event.js +0 -45
- package/dist/lifecycle-stats.d.ts +0 -12
- package/dist/lifecycle-stats.js +0 -100
- package/dist/migrate-category-b.d.ts +0 -9
- package/dist/migrate-category-b.js +0 -52
- package/dist/migrate-preflight.d.ts +0 -10
- package/dist/migrate-preflight.js +0 -85
- package/dist/migrate-xbrief.d.ts +0 -11
- package/dist/migrate-xbrief.js +0 -88
- package/dist/occupancy-grant.d.ts +0 -18
- package/dist/occupancy-grant.js +0 -121
- package/dist/occupancy-heartbeat.d.ts +0 -8
- package/dist/occupancy-heartbeat.js +0 -63
- package/dist/occupancy-release.d.ts +0 -18
- package/dist/occupancy-release.js +0 -94
- package/dist/occupancy-steal.d.ts +0 -10
- package/dist/occupancy-steal.js +0 -83
- package/dist/occupancy-unrecognized.d.ts +0 -3
- package/dist/occupancy-unrecognized.js +0 -5
- package/dist/orchestration-cli/coverage-map.d.ts +0 -21
- package/dist/orchestration-cli/coverage-map.js +0 -225
- package/dist/orchestration-cli/helpers.d.ts +0 -11
- package/dist/orchestration-cli/helpers.js +0 -35
- package/dist/ownership-doctor.d.ts +0 -10
- package/dist/ownership-doctor.js +0 -96
- package/dist/ownership-fix.d.ts +0 -10
- package/dist/ownership-fix.js +0 -93
- package/dist/plan-sequence.d.ts +0 -13
- package/dist/plan-sequence.js +0 -196
- package/dist/policy-fixtures.d.ts +0 -33
- package/dist/policy-fixtures.js +0 -118
- package/dist/policy.d.ts +0 -35
- package/dist/policy.js +0 -738
- package/dist/pr-closing-keywords.d.ts +0 -3
- package/dist/pr-closing-keywords.js +0 -10
- package/dist/pr-finish-loop.d.ts +0 -3
- package/dist/pr-finish-loop.js +0 -10
- package/dist/pr-merge-readiness.d.ts +0 -3
- package/dist/pr-merge-readiness.js +0 -10
- package/dist/pr-monitor.d.ts +0 -3
- package/dist/pr-monitor.js +0 -10
- package/dist/pr-protected-issues.d.ts +0 -3
- package/dist/pr-protected-issues.js +0 -10
- package/dist/pr-wait-mergeable.d.ts +0 -3
- package/dist/pr-wait-mergeable.js +0 -10
- package/dist/pr-watch.d.ts +0 -3
- package/dist/pr-watch.js +0 -10
- package/dist/pre-pr-run.d.ts +0 -39
- package/dist/pre-pr-run.js +0 -514
- package/dist/preflight-cache.d.ts +0 -18
- package/dist/preflight-cache.js +0 -113
- package/dist/preflight-gh.d.ts +0 -15
- package/dist/preflight-gh.js +0 -143
- package/dist/probe-session.d.ts +0 -3
- package/dist/probe-session.js +0 -10
- package/dist/release-e2e-fixtures.d.ts +0 -29
- package/dist/release-e2e-fixtures.js +0 -38
- package/dist/release-e2e.d.ts +0 -3
- package/dist/release-e2e.js +0 -10
- package/dist/release-publish.d.ts +0 -3
- package/dist/release-publish.js +0 -10
- package/dist/release-rollback.d.ts +0 -3
- package/dist/release-rollback.js +0 -10
- package/dist/release-wait-npm.d.ts +0 -3
- package/dist/release-wait-npm.js +0 -10
- package/dist/release.d.ts +0 -3
- package/dist/release.js +0 -10
- package/dist/render-cli/deft-ts-runner.d.ts +0 -17
- package/dist/render-cli/deft-ts-runner.js +0 -19
- package/dist/render-cli/export-spec-cli.d.ts +0 -2
- package/dist/render-cli/export-spec-cli.js +0 -6
- package/dist/render-cli/prd-render-cli.d.ts +0 -2
- package/dist/render-cli/prd-render-cli.js +0 -37
- package/dist/render-cli/project-render-cli.d.ts +0 -2
- package/dist/render-cli/project-render-cli.js +0 -6
- package/dist/render-cli/rule-map-cli.d.ts +0 -2
- package/dist/render-cli/rule-map-cli.js +0 -5
- package/dist/render-cli/spec-reconstruct-cli.d.ts +0 -3
- package/dist/render-cli/spec-reconstruct-cli.js +0 -15
- package/dist/render-cli/spec-render-cli.d.ts +0 -2
- package/dist/render-cli/spec-render-cli.js +0 -39
- package/dist/render-cli/spec-validate-cli.d.ts +0 -2
- package/dist/render-cli/spec-validate-cli.js +0 -38
- package/dist/review-monitor-register.d.ts +0 -19
- package/dist/review-monitor-register.js +0 -183
- package/dist/review-monitor-release.d.ts +0 -14
- package/dist/review-monitor-release.js +0 -123
- package/dist/scm-sync-default.d.ts +0 -34
- package/dist/scm-sync-default.js +0 -210
- package/dist/scope-lifecycle.d.ts +0 -4
- package/dist/scope-lifecycle.js +0 -34
- package/dist/scope-record-approved-scope.d.ts +0 -29
- package/dist/scope-record-approved-scope.js +0 -319
- package/dist/scope-record-intent-constraint.d.ts +0 -16
- package/dist/scope-record-intent-constraint.js +0 -202
- package/dist/scope-record-observable-scope.d.ts +0 -16
- package/dist/scope-record-observable-scope.js +0 -204
- package/dist/session-ready.d.ts +0 -15
- package/dist/session-ready.js +0 -144
- package/dist/session-start.d.ts +0 -56
- package/dist/session-start.js +0 -554
- package/dist/slice.d.ts +0 -4
- package/dist/slice.js +0 -34
- package/dist/story-ready-fixtures.d.ts +0 -47
- package/dist/story-ready-fixtures.js +0 -137
- package/dist/subagent-monitor.d.ts +0 -3
- package/dist/subagent-monitor.js +0 -10
- package/dist/subagent-pre-cancel.d.ts +0 -21
- package/dist/subagent-pre-cancel.js +0 -240
- package/dist/subagent-steer-write.d.ts +0 -41
- package/dist/subagent-steer-write.js +0 -333
- package/dist/toolchain-check.d.ts +0 -8
- package/dist/toolchain-check.js +0 -54
- package/dist/triage-actions.d.ts +0 -23
- package/dist/triage-actions.js +0 -225
- package/dist/triage-aux-a-fixtures.d.ts +0 -33
- package/dist/triage-aux-a-fixtures.js +0 -107
- package/dist/triage-aux-b-fixtures.d.ts +0 -30
- package/dist/triage-aux-b-fixtures.js +0 -167
- package/dist/triage-bootstrap-fixtures.d.ts +0 -42
- package/dist/triage-bootstrap-fixtures.js +0 -139
- package/dist/triage-bootstrap.d.ts +0 -24
- package/dist/triage-bootstrap.js +0 -175
- package/dist/triage-bulk.d.ts +0 -17
- package/dist/triage-bulk.js +0 -154
- package/dist/triage-classify-fixtures.d.ts +0 -38
- package/dist/triage-classify-fixtures.js +0 -137
- package/dist/triage-classify.d.ts +0 -45
- package/dist/triage-classify.js +0 -287
- package/dist/triage-evaluate.d.ts +0 -14
- package/dist/triage-evaluate.js +0 -153
- package/dist/triage-help.d.ts +0 -3
- package/dist/triage-help.js +0 -10
- package/dist/triage-queue-fixtures.d.ts +0 -59
- package/dist/triage-queue-fixtures.js +0 -284
- package/dist/triage-queue.d.ts +0 -38
- package/dist/triage-queue.js +0 -391
- package/dist/triage-reconcile.d.ts +0 -11
- package/dist/triage-reconcile.js +0 -76
- package/dist/triage-refresh.d.ts +0 -7
- package/dist/triage-refresh.js +0 -37
- package/dist/triage-scope-drift.d.ts +0 -12
- package/dist/triage-scope-drift.js +0 -117
- package/dist/triage-scope-fixtures.d.ts +0 -32
- package/dist/triage-scope-fixtures.js +0 -131
- package/dist/triage-scope.d.ts +0 -4
- package/dist/triage-scope.js +0 -34
- package/dist/triage-smoketest.d.ts +0 -3
- package/dist/triage-smoketest.js +0 -43
- package/dist/triage-strip-withdrawn.d.ts +0 -21
- package/dist/triage-strip-withdrawn.js +0 -102
- package/dist/triage-subscribe.d.ts +0 -15
- package/dist/triage-subscribe.js +0 -157
- package/dist/triage-summary.d.ts +0 -14
- package/dist/triage-summary.js +0 -83
- package/dist/triage-welcome.d.ts +0 -14
- package/dist/triage-welcome.js +0 -121
- package/dist/ts-check-lane.d.ts +0 -9
- package/dist/ts-check-lane.js +0 -49
- package/dist/umbrella-current-shape.d.ts +0 -9
- package/dist/umbrella-current-shape.js +0 -56
- package/dist/vbrief-activate.d.ts +0 -3
- package/dist/vbrief-activate.js +0 -7
- package/dist/vbrief-build.d.ts +0 -3
- package/dist/vbrief-build.js +0 -8
- package/dist/vbrief-preflight-fixtures.d.ts +0 -32
- package/dist/vbrief-preflight-fixtures.js +0 -79
- package/dist/vbrief-preflight.d.ts +0 -13
- package/dist/vbrief-preflight.js +0 -141
- package/dist/vbrief-reconcile.d.ts +0 -3
- package/dist/vbrief-reconcile.js +0 -7
- package/dist/vbrief-validate.d.ts +0 -3
- package/dist/vbrief-validate.js +0 -8
- package/dist/vbrief-validation.d.ts +0 -3
- package/dist/vbrief-validation.js +0 -8
- package/dist/verify-ac.d.ts +0 -28
- package/dist/verify-ac.js +0 -439
- package/dist/verify-agents-md-advisory.d.ts +0 -19
- package/dist/verify-agents-md-advisory.js +0 -65
- package/dist/verify-agents-md-budget.d.ts +0 -12
- package/dist/verify-agents-md-budget.js +0 -71
- package/dist/verify-branch.d.ts +0 -14
- package/dist/verify-branch.js +0 -81
- package/dist/verify-class-checks.d.ts +0 -11
- package/dist/verify-class-checks.js +0 -71
- package/dist/verify-cohort-review-monitors.d.ts +0 -5
- package/dist/verify-cohort-review-monitors.js +0 -11
- package/dist/verify-completed-tracked.d.ts +0 -19
- package/dist/verify-completed-tracked.js +0 -202
- package/dist/verify-completed-write-guard.d.ts +0 -13
- package/dist/verify-completed-write-guard.js +0 -84
- package/dist/verify-consumer-check-contract.d.ts +0 -12
- package/dist/verify-consumer-check-contract.js +0 -70
- package/dist/verify-consumer-header-placeholder.d.ts +0 -12
- package/dist/verify-consumer-header-placeholder.js +0 -73
- package/dist/verify-consumer-test-lane.d.ts +0 -12
- package/dist/verify-consumer-test-lane.js +0 -57
- package/dist/verify-durable-effect-acquisition.d.ts +0 -13
- package/dist/verify-durable-effect-acquisition.js +0 -70
- package/dist/verify-encoding.d.ts +0 -15
- package/dist/verify-encoding.js +0 -83
- package/dist/verify-eval-health-relocation.d.ts +0 -16
- package/dist/verify-eval-health-relocation.js +0 -93
- package/dist/verify-eval-triggers-relocation.d.ts +0 -14
- package/dist/verify-eval-triggers-relocation.js +0 -74
- package/dist/verify-evaluator-surface.d.ts +0 -15
- package/dist/verify-evaluator-surface.js +0 -87
- package/dist/verify-forward-coverage.d.ts +0 -19
- package/dist/verify-forward-coverage.js +0 -144
- package/dist/verify-hooks-installed.d.ts +0 -24
- package/dist/verify-hooks-installed.js +0 -140
- package/dist/verify-intent-constraint.d.ts +0 -15
- package/dist/verify-intent-constraint.js +0 -86
- package/dist/verify-investigation.d.ts +0 -3
- package/dist/verify-investigation.js +0 -10
- package/dist/verify-judgment-gates.d.ts +0 -3
- package/dist/verify-judgment-gates.js +0 -10
- package/dist/verify-l4-owner.d.ts +0 -15
- package/dist/verify-l4-owner.js +0 -132
- package/dist/verify-lifecycle-visible.d.ts +0 -13
- package/dist/verify-lifecycle-visible.js +0 -68
- package/dist/verify-literal-ac.d.ts +0 -14
- package/dist/verify-literal-ac.js +0 -168
- package/dist/verify-no-task-runtime.d.ts +0 -3
- package/dist/verify-no-task-runtime.js +0 -16
- package/dist/verify-observable-scope.d.ts +0 -15
- package/dist/verify-observable-scope.js +0 -86
- package/dist/verify-operator-scope-limit.d.ts +0 -17
- package/dist/verify-operator-scope-limit.js +0 -285
- package/dist/verify-orphan-active.d.ts +0 -17
- package/dist/verify-orphan-active.js +0 -135
- package/dist/verify-ownership.d.ts +0 -10
- package/dist/verify-ownership.js +0 -90
- package/dist/verify-persisted-planning-narratives.d.ts +0 -12
- package/dist/verify-persisted-planning-narratives.js +0 -82
- package/dist/verify-plan-sequence.d.ts +0 -14
- package/dist/verify-plan-sequence.js +0 -138
- package/dist/verify-pr-closeout-attestable.d.ts +0 -15
- package/dist/verify-pr-closeout-attestable.js +0 -114
- package/dist/verify-presentation-ceiling.d.ts +0 -11
- package/dist/verify-presentation-ceiling.js +0 -71
- package/dist/verify-presentation-coverage.d.ts +0 -14
- package/dist/verify-presentation-coverage.js +0 -90
- package/dist/verify-review-monitor.d.ts +0 -25
- package/dist/verify-review-monitor.js +0 -341
- package/dist/verify-scope-provenance.d.ts +0 -16
- package/dist/verify-scope-provenance.js +0 -91
- package/dist/verify-session-ritual.d.ts +0 -23
- package/dist/verify-session-ritual.js +0 -144
- package/dist/verify-source-cli/rule-ownership-lint.d.ts +0 -12
- package/dist/verify-source-cli/rule-ownership-lint.js +0 -61
- package/dist/verify-source-cli/verify-biome-config.d.ts +0 -11
- package/dist/verify-source-cli/verify-biome-config.js +0 -46
- package/dist/verify-source-cli/verify-closing-keywords.d.ts +0 -35
- package/dist/verify-source-cli/verify-closing-keywords.js +0 -139
- package/dist/verify-source-cli/verify-consumer-hard-stops.d.ts +0 -16
- package/dist/verify-source-cli/verify-consumer-hard-stops.js +0 -99
- package/dist/verify-source-cli/verify-contained-writes.d.ts +0 -13
- package/dist/verify-source-cli/verify-contained-writes.js +0 -67
- package/dist/verify-source-cli/verify-content-manifest.d.ts +0 -12
- package/dist/verify-source-cli/verify-content-manifest.js +0 -61
- package/dist/verify-source-cli/verify-contract-drift.d.ts +0 -11
- package/dist/verify-source-cli/verify-contract-drift.js +0 -47
- package/dist/verify-source-cli/verify-cursor-tier1.d.ts +0 -12
- package/dist/verify-source-cli/verify-cursor-tier1.js +0 -51
- package/dist/verify-source-cli/verify-deposit-closure.d.ts +0 -12
- package/dist/verify-source-cli/verify-deposit-closure.js +0 -52
- package/dist/verify-source-cli/verify-openclaw-tier1.d.ts +0 -12
- package/dist/verify-source-cli/verify-openclaw-tier1.js +0 -51
- package/dist/verify-source-cli/verify-scm-boundary.d.ts +0 -13
- package/dist/verify-source-cli/verify-scm-boundary.js +0 -66
- package/dist/verify-source-cli/verify-semantic-single-source.d.ts +0 -11
- package/dist/verify-source-cli/verify-semantic-single-source.js +0 -49
- package/dist/verify-source-cli/verify-skill-external-fetch-gate.d.ts +0 -11
- package/dist/verify-source-cli/verify-skill-external-fetch-gate.js +0 -46
- package/dist/verify-source-cli/verify-spec-drift.d.ts +0 -3
- package/dist/verify-source-cli/verify-spec-drift.js +0 -15
- package/dist/verify-source-cli/verify-spec-prd-fresh.d.ts +0 -3
- package/dist/verify-source-cli/verify-spec-prd-fresh.js +0 -15
- package/dist/verify-source-cli/verify-stubs.d.ts +0 -11
- package/dist/verify-source-cli/verify-stubs.js +0 -27
- package/dist/verify-source-cli/verify-telemetry-coverage.d.ts +0 -13
- package/dist/verify-source-cli/verify-telemetry-coverage.js +0 -67
- package/dist/verify-source-cli/verify-xbrief-drift.d.ts +0 -15
- package/dist/verify-source-cli/verify-xbrief-drift.js +0 -80
- package/dist/verify-story-ready.d.ts +0 -18
- package/dist/verify-story-ready.js +0 -190
- package/dist/verify-subagent-alive.d.ts +0 -21
- package/dist/verify-subagent-alive.js +0 -219
- package/dist/verify-subagent-steer.d.ts +0 -19
- package/dist/verify-subagent-steer.js +0 -136
- package/dist/verify-test-boundary.d.ts +0 -12
- package/dist/verify-test-boundary.js +0 -80
- package/dist/verify-tools.d.ts +0 -13
- package/dist/verify-tools.js +0 -67
- package/dist/verify-wip-cap.d.ts +0 -13
- package/dist/verify-wip-cap.js +0 -62
- package/dist/windows-bin-ps1.d.ts +0 -39
- package/dist/windows-bin-ps1.js +0 -226
- package/dist/wip-cap-fixtures.d.ts +0 -37
- package/dist/wip-cap-fixtures.js +0 -122
- package/dist/wsl-ownership-guard.d.ts +0 -2
- package/dist/wsl-ownership-guard.js +0 -15
- package/dist/xbrief-create.d.ts +0 -3
- package/dist/xbrief-create.js +0 -9
- package/dist/xbrief-verify.d.ts +0 -3
- package/dist/xbrief-verify.js +0 -9
- package/scripts/remove-windows-ps1-shims.mjs +0 -26
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { evaluateForwardCoverage } from "@deftai/directive-core";
|
|
5
|
-
const HELP_TEXT = "Usage: verify-forward-coverage [--project-root <path>] [--staged|--head] [--allow-list <path>]\n" +
|
|
6
|
-
" [--coverage-dir <path>] [--coverage-report <path>]\n" +
|
|
7
|
-
" [--enforce] [--quiet]\n" +
|
|
8
|
-
" Fail-closed new-source-file existence (#1310 / #4009) plus warn-first diff coverage of\n" +
|
|
9
|
-
" added/modified branches (#3514). Existence correspondence is path-relative and\n" +
|
|
10
|
-
" uses the test-boundary policy (#3145); pre-existing tests count. The 90% per-diff\n" +
|
|
11
|
-
" threshold is not the 75 global floor. Missing coverage reports skip the diff half.\n" +
|
|
12
|
-
" --enforce: fail closed when uncovered changed branches are below 90%.\n";
|
|
13
|
-
function takeValue(argv, i, flag) {
|
|
14
|
-
const value = argv[i + 1];
|
|
15
|
-
if (value === undefined) {
|
|
16
|
-
return { error: `argument ${flag}: expected one argument` };
|
|
17
|
-
}
|
|
18
|
-
return { value, next: i + 1 };
|
|
19
|
-
}
|
|
20
|
-
/** Parse the verify-forward-coverage CLI args, mirroring the verify-encoding surface. */
|
|
21
|
-
export function parseArgs(argv) {
|
|
22
|
-
const parsed = {
|
|
23
|
-
mode: "head",
|
|
24
|
-
projectRoot: ".",
|
|
25
|
-
allowList: null,
|
|
26
|
-
quiet: false,
|
|
27
|
-
enforce: false,
|
|
28
|
-
coverageReport: null,
|
|
29
|
-
coverageDir: null,
|
|
30
|
-
};
|
|
31
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
32
|
-
const arg = argv[i];
|
|
33
|
-
if (arg === "--staged") {
|
|
34
|
-
parsed.mode = "staged";
|
|
35
|
-
}
|
|
36
|
-
else if (arg === "--head") {
|
|
37
|
-
parsed.mode = "head";
|
|
38
|
-
}
|
|
39
|
-
else if (arg === "--quiet") {
|
|
40
|
-
parsed.quiet = true;
|
|
41
|
-
}
|
|
42
|
-
else if (arg === "--enforce") {
|
|
43
|
-
parsed.enforce = true;
|
|
44
|
-
}
|
|
45
|
-
else if (arg === "--help" || arg === "-h") {
|
|
46
|
-
return { ...parsed, help: true };
|
|
47
|
-
}
|
|
48
|
-
else if (arg === "--project-root") {
|
|
49
|
-
const taken = takeValue(argv, i, "--project-root");
|
|
50
|
-
if ("error" in taken) {
|
|
51
|
-
return { ...parsed, error: taken.error };
|
|
52
|
-
}
|
|
53
|
-
parsed.projectRoot = taken.value;
|
|
54
|
-
i = taken.next;
|
|
55
|
-
}
|
|
56
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
57
|
-
parsed.projectRoot = arg.slice("--project-root=".length);
|
|
58
|
-
}
|
|
59
|
-
else if (arg === "--allow-list") {
|
|
60
|
-
const taken = takeValue(argv, i, "--allow-list");
|
|
61
|
-
if ("error" in taken) {
|
|
62
|
-
return { ...parsed, error: taken.error };
|
|
63
|
-
}
|
|
64
|
-
parsed.allowList = taken.value;
|
|
65
|
-
i = taken.next;
|
|
66
|
-
}
|
|
67
|
-
else if (arg?.startsWith("--allow-list=")) {
|
|
68
|
-
parsed.allowList = arg.slice("--allow-list=".length);
|
|
69
|
-
}
|
|
70
|
-
else if (arg === "--coverage-report") {
|
|
71
|
-
const taken = takeValue(argv, i, "--coverage-report");
|
|
72
|
-
if ("error" in taken) {
|
|
73
|
-
return { ...parsed, error: taken.error };
|
|
74
|
-
}
|
|
75
|
-
parsed.coverageReport = taken.value;
|
|
76
|
-
i = taken.next;
|
|
77
|
-
}
|
|
78
|
-
else if (arg?.startsWith("--coverage-report=")) {
|
|
79
|
-
parsed.coverageReport = arg.slice("--coverage-report=".length);
|
|
80
|
-
}
|
|
81
|
-
else if (arg === "--coverage-dir") {
|
|
82
|
-
const taken = takeValue(argv, i, "--coverage-dir");
|
|
83
|
-
if ("error" in taken) {
|
|
84
|
-
return { ...parsed, error: taken.error };
|
|
85
|
-
}
|
|
86
|
-
parsed.coverageDir = taken.value;
|
|
87
|
-
i = taken.next;
|
|
88
|
-
}
|
|
89
|
-
else if (arg?.startsWith("--coverage-dir=")) {
|
|
90
|
-
parsed.coverageDir = arg.slice("--coverage-dir=".length);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
return { ...parsed, error: `unrecognized argument: ${arg}` };
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return parsed;
|
|
97
|
-
}
|
|
98
|
-
function resolveCoverageReport(args) {
|
|
99
|
-
if (args.coverageReport !== null) {
|
|
100
|
-
return resolve(args.coverageReport);
|
|
101
|
-
}
|
|
102
|
-
if (args.coverageDir !== null) {
|
|
103
|
-
return resolve(args.coverageDir, "coverage-final.json");
|
|
104
|
-
}
|
|
105
|
-
return undefined;
|
|
106
|
-
}
|
|
107
|
-
/** Run the gate and return the process exit code (argv parse error -> 2). */
|
|
108
|
-
export function run(argv) {
|
|
109
|
-
const args = parseArgs(argv);
|
|
110
|
-
if (args.help === true) {
|
|
111
|
-
process.stdout.write(HELP_TEXT);
|
|
112
|
-
return 0;
|
|
113
|
-
}
|
|
114
|
-
if (args.error !== undefined) {
|
|
115
|
-
process.stderr.write(`verify_forward_coverage: ${args.error}\n`);
|
|
116
|
-
return 2;
|
|
117
|
-
}
|
|
118
|
-
const projectRoot = resolve(args.projectRoot);
|
|
119
|
-
const allowListPath = args.allowList !== null ? resolve(args.allowList) : null;
|
|
120
|
-
const result = evaluateForwardCoverage(projectRoot, {
|
|
121
|
-
mode: args.mode,
|
|
122
|
-
allowListPath,
|
|
123
|
-
enforceDiffCoverage: args.enforce,
|
|
124
|
-
coverageReportPath: resolveCoverageReport(args),
|
|
125
|
-
});
|
|
126
|
-
if (result.exitCode === 0) {
|
|
127
|
-
if (!args.quiet) {
|
|
128
|
-
process.stdout.write(`${result.message}\n`);
|
|
129
|
-
}
|
|
130
|
-
else if (result.message.includes("ADVISORY")) {
|
|
131
|
-
process.stdout.write(`${result.message}\n`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
process.stderr.write(`${result.message}\n`);
|
|
136
|
-
}
|
|
137
|
-
return result.exitCode;
|
|
138
|
-
}
|
|
139
|
-
// Only execute when invoked directly as a binary (not when imported in tests).
|
|
140
|
-
// Normalize both sides via fileURLToPath so the guard fires on Windows too.
|
|
141
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
142
|
-
process.exit(run(process.argv.slice(2)));
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=verify-forward-coverage.js.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { type AgentHookHealthResult, type AgentHookReadinessResult, type EvaluateResult, repairAgentHookRegistrations } from "@deftai/directive-core/verify-env";
|
|
3
|
-
type HookScope = "git" | "agent" | "all";
|
|
4
|
-
interface ParsedArgs {
|
|
5
|
-
projectRoot: string;
|
|
6
|
-
quiet: boolean;
|
|
7
|
-
scope: HookScope;
|
|
8
|
-
live: boolean;
|
|
9
|
-
repair: boolean;
|
|
10
|
-
error?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface VerifyHooksInstalledCliSeams {
|
|
13
|
-
readonly evaluateGit?: (projectRoot: string) => EvaluateResult;
|
|
14
|
-
readonly evaluateAgent?: (projectRoot: string) => AgentHookHealthResult;
|
|
15
|
-
readonly evaluateReadiness?: (projectRoot: string) => AgentHookReadinessResult;
|
|
16
|
-
readonly repairRegistrations?: typeof repairAgentHookRegistrations;
|
|
17
|
-
readonly writeOut?: (text: string) => void;
|
|
18
|
-
readonly writeErr?: (text: string) => void;
|
|
19
|
-
}
|
|
20
|
-
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
21
|
-
/** Verify git hooks, structural agent hooks, or functional agent-hook readiness. */
|
|
22
|
-
export declare function run(argv: string[], seams?: VerifyHooksInstalledCliSeams): number;
|
|
23
|
-
export {};
|
|
24
|
-
//# sourceMappingURL=verify-hooks-installed.d.ts.map
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { evaluate, evaluateAgentHookReadiness, evaluateAgentHookReadinessSafely, evaluateAgentHooks, formatAgentHookRepairDisposition, repairAgentHookRegistrations, } from "@deftai/directive-core/verify-env";
|
|
5
|
-
export function parseArgs(argv) {
|
|
6
|
-
const parsed = {
|
|
7
|
-
projectRoot: ".",
|
|
8
|
-
quiet: false,
|
|
9
|
-
scope: "git",
|
|
10
|
-
live: false,
|
|
11
|
-
repair: false,
|
|
12
|
-
};
|
|
13
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
14
|
-
const arg = argv[i];
|
|
15
|
-
if (arg === "--quiet")
|
|
16
|
-
parsed.quiet = true;
|
|
17
|
-
else if (arg === "--live")
|
|
18
|
-
parsed.live = true;
|
|
19
|
-
else if (arg === "--repair")
|
|
20
|
-
parsed.repair = true;
|
|
21
|
-
else if (arg === "--project-root") {
|
|
22
|
-
const value = argv[i + 1];
|
|
23
|
-
if (value === undefined) {
|
|
24
|
-
return { ...parsed, error: "argument --project-root: expected one argument" };
|
|
25
|
-
}
|
|
26
|
-
parsed.projectRoot = value;
|
|
27
|
-
i += 1;
|
|
28
|
-
}
|
|
29
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
30
|
-
parsed.projectRoot = arg.slice("--project-root=".length);
|
|
31
|
-
}
|
|
32
|
-
else if (arg === "--scope") {
|
|
33
|
-
const value = argv[i + 1];
|
|
34
|
-
if (value === undefined) {
|
|
35
|
-
return { ...parsed, error: "argument --scope: expected one argument" };
|
|
36
|
-
}
|
|
37
|
-
if (value !== "git" && value !== "agent" && value !== "all") {
|
|
38
|
-
return { ...parsed, error: `argument --scope: invalid choice: '${value}'` };
|
|
39
|
-
}
|
|
40
|
-
parsed.scope = value;
|
|
41
|
-
i += 1;
|
|
42
|
-
}
|
|
43
|
-
else if (arg?.startsWith("--scope=")) {
|
|
44
|
-
const value = arg.slice("--scope=".length);
|
|
45
|
-
if (value !== "git" && value !== "agent" && value !== "all") {
|
|
46
|
-
return { ...parsed, error: `argument --scope: invalid choice: '${value}'` };
|
|
47
|
-
}
|
|
48
|
-
parsed.scope = value;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return { ...parsed, error: `unrecognized arguments: ${arg}` };
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (parsed.live && parsed.scope === "git") {
|
|
55
|
-
return { ...parsed, error: "argument --live requires --scope=agent or --scope=all" };
|
|
56
|
-
}
|
|
57
|
-
if (parsed.repair && parsed.scope === "git") {
|
|
58
|
-
return { ...parsed, error: "argument --repair requires --scope=agent or --scope=all" };
|
|
59
|
-
}
|
|
60
|
-
return parsed;
|
|
61
|
-
}
|
|
62
|
-
/** Verify git hooks, structural agent hooks, or functional agent-hook readiness. */
|
|
63
|
-
export function run(argv, seams = {}) {
|
|
64
|
-
const args = parseArgs(argv);
|
|
65
|
-
const writeOut = seams.writeOut ?? ((text) => process.stdout.write(text));
|
|
66
|
-
const writeErr = seams.writeErr ?? ((text) => process.stderr.write(text));
|
|
67
|
-
if (args.error !== undefined) {
|
|
68
|
-
writeErr(`${args.error}\n`);
|
|
69
|
-
return 2;
|
|
70
|
-
}
|
|
71
|
-
const projectRoot = resolve(args.projectRoot);
|
|
72
|
-
const evaluateGit = seams.evaluateGit ?? evaluate;
|
|
73
|
-
const evaluateAgent = seams.evaluateAgent ?? evaluateAgentHooks;
|
|
74
|
-
const evaluateReadiness = seams.evaluateReadiness
|
|
75
|
-
? (root) => evaluateAgentHookReadinessSafely(root, seams.evaluateReadiness)
|
|
76
|
-
: evaluateAgentHookReadinessSafely;
|
|
77
|
-
if (args.repair) {
|
|
78
|
-
const repair = seams.repairRegistrations ?? repairAgentHookRegistrations;
|
|
79
|
-
try {
|
|
80
|
-
let live;
|
|
81
|
-
const evaluateRepairReadiness = seams.evaluateReadiness
|
|
82
|
-
? (root) => evaluateAgentHookReadinessSafely(root, seams.evaluateReadiness)
|
|
83
|
-
: (root) => evaluateAgentHookReadinessSafely(root, (next) => evaluateAgentHookReadiness(next, { consumerContext: () => true }));
|
|
84
|
-
const repaired = repair(projectRoot, {
|
|
85
|
-
reevaluate: (root) => {
|
|
86
|
-
live = evaluateRepairReadiness(root);
|
|
87
|
-
return live;
|
|
88
|
-
},
|
|
89
|
-
});
|
|
90
|
-
if (live === undefined) {
|
|
91
|
-
writeErr("agent hook repair refused: live recheck did not run\n");
|
|
92
|
-
return 2;
|
|
93
|
-
}
|
|
94
|
-
if (!args.quiet) {
|
|
95
|
-
writeOut(`${formatAgentHookRepairDisposition(repaired.written)}\n`);
|
|
96
|
-
if (live.stream === "stdout")
|
|
97
|
-
writeOut(`${live.message}\n`);
|
|
98
|
-
else
|
|
99
|
-
writeErr(`${live.message}\n`);
|
|
100
|
-
}
|
|
101
|
-
const gitResults = args.scope === "all" ? [evaluateGit(projectRoot)] : [];
|
|
102
|
-
if (!args.quiet) {
|
|
103
|
-
for (const result of gitResults) {
|
|
104
|
-
if (result.stream === "stdout")
|
|
105
|
-
writeOut(`${result.message}\n`);
|
|
106
|
-
else if (result.stream === "stderr")
|
|
107
|
-
writeErr(`${result.message}\n`);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
const gitCode = gitResults.length > 0 ? Math.max(...gitResults.map((result) => result.code)) : 0;
|
|
111
|
-
return Math.max(repaired.after.code, gitCode);
|
|
112
|
-
}
|
|
113
|
-
catch (cause) {
|
|
114
|
-
const detail = cause instanceof Error ? cause.message : String(cause);
|
|
115
|
-
writeErr(`agent hook repair refused: ${detail}\n`);
|
|
116
|
-
return 2;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
const results = [
|
|
120
|
-
...(args.scope === "git" || args.scope === "all" ? [evaluateGit(projectRoot)] : []),
|
|
121
|
-
...(args.scope === "agent" || args.scope === "all"
|
|
122
|
-
? [args.live ? evaluateReadiness(projectRoot) : evaluateAgent(projectRoot)]
|
|
123
|
-
: []),
|
|
124
|
-
];
|
|
125
|
-
if (!args.quiet) {
|
|
126
|
-
for (const result of results) {
|
|
127
|
-
if (result.stream === "stdout") {
|
|
128
|
-
writeOut(`${result.message}\n`);
|
|
129
|
-
}
|
|
130
|
-
else if (result.stream === "stderr") {
|
|
131
|
-
writeErr(`${result.message}\n`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return Math.max(...results.map((result) => result.code));
|
|
136
|
-
}
|
|
137
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
138
|
-
process.exit(run(process.argv.slice(2)));
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=verify-hooks-installed.js.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
interface ParsedArgs {
|
|
3
|
-
projectRoot: string;
|
|
4
|
-
originRef?: string;
|
|
5
|
-
staged: boolean;
|
|
6
|
-
quiet: boolean;
|
|
7
|
-
planId?: string;
|
|
8
|
-
error?: string;
|
|
9
|
-
}
|
|
10
|
-
/** Parse verify-intent-constraint CLI args. */
|
|
11
|
-
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
12
|
-
/** Run the gate and return the process exit code. */
|
|
13
|
-
export declare function run(argv: string[]): number;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=verify-intent-constraint.d.ts.map
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { evaluateIntentConstraint } from "@deftai/directive-core/intent-constraint";
|
|
5
|
-
/** Parse verify-intent-constraint CLI args. */
|
|
6
|
-
export function parseArgs(argv) {
|
|
7
|
-
const parsed = { projectRoot: ".", staged: false, quiet: false };
|
|
8
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
9
|
-
const arg = argv[i];
|
|
10
|
-
if (arg === "--quiet") {
|
|
11
|
-
parsed.quiet = true;
|
|
12
|
-
}
|
|
13
|
-
else if (arg === "--staged") {
|
|
14
|
-
parsed.staged = true;
|
|
15
|
-
}
|
|
16
|
-
else if (arg === "--project-root") {
|
|
17
|
-
const value = argv[i + 1];
|
|
18
|
-
if (value === undefined) {
|
|
19
|
-
return { ...parsed, error: "argument --project-root: expected one argument" };
|
|
20
|
-
}
|
|
21
|
-
parsed.projectRoot = value;
|
|
22
|
-
i += 1;
|
|
23
|
-
}
|
|
24
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
25
|
-
parsed.projectRoot = arg.slice("--project-root=".length);
|
|
26
|
-
}
|
|
27
|
-
else if (arg === "--origin-ref") {
|
|
28
|
-
const value = argv[i + 1];
|
|
29
|
-
if (value === undefined) {
|
|
30
|
-
return { ...parsed, error: "argument --origin-ref: expected one argument" };
|
|
31
|
-
}
|
|
32
|
-
parsed.originRef = value;
|
|
33
|
-
i += 1;
|
|
34
|
-
}
|
|
35
|
-
else if (arg?.startsWith("--origin-ref=")) {
|
|
36
|
-
parsed.originRef = arg.slice("--origin-ref=".length);
|
|
37
|
-
}
|
|
38
|
-
else if (arg === "--plan-id") {
|
|
39
|
-
const value = argv[i + 1];
|
|
40
|
-
if (value === undefined) {
|
|
41
|
-
return { ...parsed, error: "argument --plan-id: expected one argument" };
|
|
42
|
-
}
|
|
43
|
-
parsed.planId = value;
|
|
44
|
-
i += 1;
|
|
45
|
-
}
|
|
46
|
-
else if (arg?.startsWith("--plan-id=")) {
|
|
47
|
-
parsed.planId = arg.slice("--plan-id=".length);
|
|
48
|
-
}
|
|
49
|
-
else if (arg === "--base-ref") {
|
|
50
|
-
return {
|
|
51
|
-
...parsed,
|
|
52
|
-
error: "unrecognized argument: --base-ref (baseline is the computed merge base; use --origin-ref to name the origin default)",
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
return { ...parsed, error: `unrecognized argument: ${arg}` };
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return parsed;
|
|
60
|
-
}
|
|
61
|
-
/** Run the gate and return the process exit code. */
|
|
62
|
-
export function run(argv) {
|
|
63
|
-
const args = parseArgs(argv);
|
|
64
|
-
if (args.error !== undefined) {
|
|
65
|
-
process.stderr.write(`verify_intent_constraint: ${args.error}\n`);
|
|
66
|
-
return 2;
|
|
67
|
-
}
|
|
68
|
-
const result = evaluateIntentConstraint({
|
|
69
|
-
projectRoot: resolve(args.projectRoot),
|
|
70
|
-
originRef: args.originRef,
|
|
71
|
-
staged: args.staged,
|
|
72
|
-
quiet: args.quiet,
|
|
73
|
-
planId: args.planId,
|
|
74
|
-
});
|
|
75
|
-
if (result.message.length > 0) {
|
|
76
|
-
if (result.stream === "stdout")
|
|
77
|
-
process.stdout.write(`${result.message}\n`);
|
|
78
|
-
else if (result.stream === "stderr")
|
|
79
|
-
process.stderr.write(`${result.message}\n`);
|
|
80
|
-
}
|
|
81
|
-
return result.code;
|
|
82
|
-
}
|
|
83
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
84
|
-
process.exit(run(process.argv.slice(2)));
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=verify-intent-constraint.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { cmdVerifyInvestigation } from "@deftai/directive-core/orchestration";
|
|
4
|
-
export function run(argv) {
|
|
5
|
-
return cmdVerifyInvestigation(argv);
|
|
6
|
-
}
|
|
7
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
8
|
-
process.exit(run(process.argv.slice(2)));
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=verify-investigation.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { cmdVerifyJudgmentGates } from "@deftai/directive-core/orchestration";
|
|
4
|
-
export function run(argv) {
|
|
5
|
-
return cmdVerifyJudgmentGates(argv);
|
|
6
|
-
}
|
|
7
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
8
|
-
process.exit(run(process.argv.slice(2)));
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=verify-judgment-gates.js.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
interface ParsedArgs {
|
|
3
|
-
pr: number | null;
|
|
4
|
-
projectRoot: string;
|
|
5
|
-
repo: string | null;
|
|
6
|
-
headSha: string | null;
|
|
7
|
-
reviewCycle: string | null;
|
|
8
|
-
emitJson: boolean;
|
|
9
|
-
help: boolean;
|
|
10
|
-
error?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function parseVerifyL4OwnerArgs(argv: readonly string[]): ParsedArgs;
|
|
13
|
-
export declare function run(argv: readonly string[]): number;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=verify-l4-owner.d.ts.map
|
package/dist/verify-l4-owner.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { evaluateL4OwnerGate, L4_OWNER_HELP, l4OwnerResultToJson, } from "@deftai/directive-core/review-monitor";
|
|
5
|
-
export function parseVerifyL4OwnerArgs(argv) {
|
|
6
|
-
const acc = {
|
|
7
|
-
pr: null,
|
|
8
|
-
projectRoot: ".",
|
|
9
|
-
repo: null,
|
|
10
|
-
headSha: null,
|
|
11
|
-
reviewCycle: null,
|
|
12
|
-
emitJson: false,
|
|
13
|
-
help: false,
|
|
14
|
-
};
|
|
15
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
16
|
-
const arg = argv[i];
|
|
17
|
-
if (arg === "--help" || arg === "-h") {
|
|
18
|
-
return { ...acc, help: true };
|
|
19
|
-
}
|
|
20
|
-
if (arg === "--json") {
|
|
21
|
-
acc.emitJson = true;
|
|
22
|
-
}
|
|
23
|
-
else if (arg === "--pr") {
|
|
24
|
-
const value = argv[i + 1];
|
|
25
|
-
if (value === undefined) {
|
|
26
|
-
return { ...acc, error: "argument --pr: expected one argument" };
|
|
27
|
-
}
|
|
28
|
-
const n = Number(value);
|
|
29
|
-
if (!Number.isInteger(n) || n <= 0) {
|
|
30
|
-
return { ...acc, error: `invalid --pr value: ${value}` };
|
|
31
|
-
}
|
|
32
|
-
acc.pr = n;
|
|
33
|
-
i += 1;
|
|
34
|
-
}
|
|
35
|
-
else if (arg?.startsWith("--pr=")) {
|
|
36
|
-
const n = Number(arg.slice("--pr=".length));
|
|
37
|
-
if (!Number.isInteger(n) || n <= 0) {
|
|
38
|
-
return { ...acc, error: `invalid --pr value: ${arg}` };
|
|
39
|
-
}
|
|
40
|
-
acc.pr = n;
|
|
41
|
-
}
|
|
42
|
-
else if (arg === "--repo") {
|
|
43
|
-
const value = argv[i + 1];
|
|
44
|
-
if (value === undefined) {
|
|
45
|
-
return { ...acc, error: "argument --repo: expected one argument" };
|
|
46
|
-
}
|
|
47
|
-
acc.repo = value;
|
|
48
|
-
i += 1;
|
|
49
|
-
}
|
|
50
|
-
else if (arg?.startsWith("--repo=")) {
|
|
51
|
-
acc.repo = arg.slice("--repo=".length);
|
|
52
|
-
}
|
|
53
|
-
else if (arg === "--head-sha") {
|
|
54
|
-
const value = argv[i + 1];
|
|
55
|
-
if (value === undefined) {
|
|
56
|
-
return { ...acc, error: "argument --head-sha: expected one argument" };
|
|
57
|
-
}
|
|
58
|
-
acc.headSha = value;
|
|
59
|
-
i += 1;
|
|
60
|
-
}
|
|
61
|
-
else if (arg?.startsWith("--head-sha=")) {
|
|
62
|
-
acc.headSha = arg.slice("--head-sha=".length);
|
|
63
|
-
}
|
|
64
|
-
else if (arg === "--project-root") {
|
|
65
|
-
const value = argv[i + 1];
|
|
66
|
-
if (value === undefined) {
|
|
67
|
-
return { ...acc, error: "argument --project-root: expected one argument" };
|
|
68
|
-
}
|
|
69
|
-
acc.projectRoot = value;
|
|
70
|
-
i += 1;
|
|
71
|
-
}
|
|
72
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
73
|
-
acc.projectRoot = arg.slice("--project-root=".length);
|
|
74
|
-
}
|
|
75
|
-
else if (arg === "--review-cycle") {
|
|
76
|
-
const value = argv[i + 1];
|
|
77
|
-
if (value === undefined) {
|
|
78
|
-
return { ...acc, error: "argument --review-cycle: expected one argument" };
|
|
79
|
-
}
|
|
80
|
-
acc.reviewCycle = value;
|
|
81
|
-
i += 1;
|
|
82
|
-
}
|
|
83
|
-
else if (arg?.startsWith("--review-cycle=")) {
|
|
84
|
-
acc.reviewCycle = arg.slice("--review-cycle=".length);
|
|
85
|
-
}
|
|
86
|
-
else if (arg?.startsWith("-")) {
|
|
87
|
-
return { ...acc, error: `unrecognized argument: ${arg}` };
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return { ...acc, error: `unrecognized argument: ${arg}` };
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return acc;
|
|
94
|
-
}
|
|
95
|
-
export function run(argv) {
|
|
96
|
-
const args = parseVerifyL4OwnerArgs(argv);
|
|
97
|
-
if (args.help) {
|
|
98
|
-
process.stdout.write(L4_OWNER_HELP);
|
|
99
|
-
return 0;
|
|
100
|
-
}
|
|
101
|
-
if (args.error !== undefined) {
|
|
102
|
-
process.stderr.write(`verify_l4_owner: ${args.error}\n`);
|
|
103
|
-
process.stderr.write("Try: task verify:l4-owner -- --help\n");
|
|
104
|
-
return 2;
|
|
105
|
-
}
|
|
106
|
-
if (args.pr === null) {
|
|
107
|
-
process.stderr.write("verify_l4_owner: --pr is required\n");
|
|
108
|
-
process.stderr.write("Try: task verify:l4-owner -- --help\n");
|
|
109
|
-
return 2;
|
|
110
|
-
}
|
|
111
|
-
const result = evaluateL4OwnerGate({
|
|
112
|
-
pr: args.pr,
|
|
113
|
-
projectRoot: resolve(args.projectRoot),
|
|
114
|
-
repo: args.repo,
|
|
115
|
-
headSha: args.headSha,
|
|
116
|
-
reviewCycle: args.reviewCycle,
|
|
117
|
-
});
|
|
118
|
-
if (args.emitJson) {
|
|
119
|
-
process.stdout.write(`${JSON.stringify(l4OwnerResultToJson(result), null, 2)}\n`);
|
|
120
|
-
}
|
|
121
|
-
else if (result.exitCode === 0) {
|
|
122
|
-
process.stdout.write(`${result.message}\n`);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
process.stderr.write(`${result.message}\n`);
|
|
126
|
-
}
|
|
127
|
-
return result.exitCode;
|
|
128
|
-
}
|
|
129
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
130
|
-
process.exit(run(process.argv.slice(2)));
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=verify-l4-owner.js.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
interface ParsedArgs {
|
|
3
|
-
projectRoot: string;
|
|
4
|
-
enforce: boolean;
|
|
5
|
-
help?: boolean;
|
|
6
|
-
error?: string;
|
|
7
|
-
}
|
|
8
|
-
/** Parse verify-lifecycle-visible CLI args (#3505). */
|
|
9
|
-
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
10
|
-
/** Run the gate and return the process exit code. */
|
|
11
|
-
export declare function run(argv: string[]): number;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=verify-lifecycle-visible.d.ts.map
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* CLI for task verify:lifecycle-visible (#3505).
|
|
4
|
-
* Warn-only by default; pass --enforce to fail closed.
|
|
5
|
-
*/
|
|
6
|
-
import { resolve } from "node:path";
|
|
7
|
-
import { fileURLToPath } from "node:url";
|
|
8
|
-
import { evaluateLifecycleVisible } from "@deftai/directive-core/lifecycle-visible";
|
|
9
|
-
/** Parse verify-lifecycle-visible CLI args (#3505). */
|
|
10
|
-
export function parseArgs(argv) {
|
|
11
|
-
const parsed = { projectRoot: ".", enforce: false };
|
|
12
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
13
|
-
const arg = argv[i];
|
|
14
|
-
if (arg === "--project-root") {
|
|
15
|
-
const value = argv[i + 1];
|
|
16
|
-
if (value === undefined) {
|
|
17
|
-
return { ...parsed, error: "argument --project-root: expected one argument" };
|
|
18
|
-
}
|
|
19
|
-
parsed.projectRoot = value;
|
|
20
|
-
i += 1;
|
|
21
|
-
}
|
|
22
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
23
|
-
parsed.projectRoot = arg.slice("--project-root=".length);
|
|
24
|
-
}
|
|
25
|
-
else if (arg === "--enforce") {
|
|
26
|
-
parsed.enforce = true;
|
|
27
|
-
}
|
|
28
|
-
else if (arg === "--help" || arg === "-h") {
|
|
29
|
-
return { ...parsed, help: true };
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return { ...parsed, error: `unrecognized argument: ${arg}` };
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return parsed;
|
|
36
|
-
}
|
|
37
|
-
const HELP_TEXT = "Usage: verify-lifecycle-visible [--project-root <path>] [--enforce]\n" +
|
|
38
|
-
" Detect ignore/exclude/skip-worktree flags that hide xbrief/vbrief lifecycle roots (#3505).\n" +
|
|
39
|
-
" Default: warn-only (exit 0 with advisory report).\n" +
|
|
40
|
-
" --enforce: fail closed (exit 1) when a lifecycle root is hidden.\n" +
|
|
41
|
-
" Not part of task check — per-clone property, wired from session:start.\n";
|
|
42
|
-
/** Run the gate and return the process exit code. */
|
|
43
|
-
export function run(argv) {
|
|
44
|
-
const args = parseArgs(argv);
|
|
45
|
-
if (args.help === true) {
|
|
46
|
-
process.stdout.write(HELP_TEXT);
|
|
47
|
-
return 0;
|
|
48
|
-
}
|
|
49
|
-
if (args.error !== undefined) {
|
|
50
|
-
process.stderr.write(`verify_lifecycle_visible: ${args.error}\n`);
|
|
51
|
-
return 2;
|
|
52
|
-
}
|
|
53
|
-
const result = evaluateLifecycleVisible({
|
|
54
|
-
projectRoot: resolve(args.projectRoot),
|
|
55
|
-
enforce: args.enforce,
|
|
56
|
-
});
|
|
57
|
-
if (result.stream === "stdout") {
|
|
58
|
-
process.stdout.write(`${result.message}\n`);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
process.stderr.write(`${result.message}\n`);
|
|
62
|
-
}
|
|
63
|
-
return result.code;
|
|
64
|
-
}
|
|
65
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
66
|
-
process.exit(run(process.argv.slice(2)));
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=verify-lifecycle-visible.js.map
|