peaks-loop 4.1.1 → 4.1.3
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/.claude-plugin/marketplace.json +136 -47
- package/CHANGELOG.md +106 -0
- package/README-en.md +4 -4
- package/README.md +25 -4
- package/bin/node-floor.mjs +59 -0
- package/bin/peaks.js +13 -0
- package/config/eslint/tsconfig.lint.json +2 -1
- package/contracts/readonly-argv-whitelist.json +211 -0
- package/dist/cli/cli-helpers.d.ts +0 -1
- package/dist/cli/cli-helpers.js +0 -1
- package/dist/cli/commands/_cli-error-envelope.js +0 -3
- package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
- package/dist/cli/commands/adapter-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.js +0 -1
- package/dist/cli/commands/audit-artifact-runners.d.ts +16 -0
- package/dist/cli/commands/audit-artifact-runners.js +170 -0
- package/dist/cli/commands/audit-command-shared.d.ts +97 -0
- package/dist/cli/commands/audit-command-shared.js +60 -0
- package/dist/cli/commands/audit-commands.d.ts +7 -31
- package/dist/cli/commands/audit-commands.js +65 -477
- package/dist/cli/commands/audit-goal-runners.d.ts +17 -0
- package/dist/cli/commands/audit-goal-runners.js +114 -0
- package/dist/cli/commands/audit-red-lines-runners.d.ts +11 -0
- package/dist/cli/commands/audit-red-lines-runners.js +43 -0
- package/dist/cli/commands/audit-refusal-data.d.ts +23 -0
- package/dist/cli/commands/audit-refusal-data.js +69 -0
- package/dist/cli/commands/audit-static-runners.d.ts +13 -0
- package/dist/cli/commands/audit-static-runners.js +139 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
- package/dist/cli/commands/await-runners.d.ts +11 -0
- package/dist/cli/commands/await-runners.js +148 -0
- package/dist/cli/commands/bee-commands.d.ts +0 -2
- package/dist/cli/commands/bee-commands.js +0 -2
- package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
- package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
- package/dist/cli/commands/changeset-commands.d.ts +0 -2
- package/dist/cli/commands/changeset-commands.js +0 -2
- package/dist/cli/commands/code-auto-compact-command.d.ts +3 -0
- package/dist/cli/commands/code-auto-compact-command.js +124 -0
- package/dist/cli/commands/code-auto-compact-envelope.d.ts +22 -0
- package/dist/cli/commands/code-auto-compact-envelope.js +39 -0
- package/dist/cli/commands/code-commands.d.ts +0 -3
- package/dist/cli/commands/code-commands.js +0 -3
- package/dist/cli/commands/code-context-audit-command.d.ts +3 -0
- package/dist/cli/commands/code-context-audit-command.js +68 -0
- package/dist/cli/commands/code-context-now-command.d.ts +3 -0
- package/dist/cli/commands/code-context-now-command.js +124 -0
- package/dist/cli/commands/code-context-now-envelope.d.ts +66 -0
- package/dist/cli/commands/code-context-now-envelope.js +136 -0
- package/dist/cli/commands/code-context-now-mapping.d.ts +27 -0
- package/dist/cli/commands/code-context-now-mapping.js +43 -0
- package/dist/cli/commands/code-emit-handoff-command.d.ts +3 -0
- package/dist/cli/commands/code-emit-handoff-command.js +99 -0
- package/dist/cli/commands/code-gate-command.d.ts +0 -1
- package/dist/cli/commands/code-gate-command.js +0 -1
- package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
- package/dist/cli/commands/code-gate-step-08-command.js +139 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
- package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
- package/dist/cli/commands/code-job-shape-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
- package/dist/cli/commands/code-mode-gate-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +0 -4
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
- package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
- package/dist/cli/commands/code-mode-status-command.js +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
- package/dist/cli/commands/code-post-compact-detect-command.d.ts +3 -0
- package/dist/cli/commands/code-post-compact-detect-command.js +50 -0
- package/dist/cli/commands/code-run-command.js +0 -1
- package/dist/cli/commands/code-runtime-commands.d.ts +9 -46
- package/dist/cli/commands/code-runtime-commands.js +20 -687
- package/dist/cli/commands/code-runtime-session.d.ts +1 -0
- package/dist/cli/commands/code-runtime-session.js +15 -0
- package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
- package/dist/cli/commands/codegraph-command-runtime.js +19 -7
- package/dist/cli/commands/codegraph-commands.js +20 -193
- package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
- package/dist/cli/commands/codegraph-init-command.js +162 -0
- package/dist/cli/commands/codegraph-status-command.js +5 -6
- package/dist/cli/commands/compact-command.d.ts +6 -3
- package/dist/cli/commands/compact-command.js +12 -563
- package/dist/cli/commands/compact-dry-run-command.d.ts +3 -0
- package/dist/cli/commands/compact-dry-run-command.js +87 -0
- package/dist/cli/commands/compact-force-command.d.ts +3 -0
- package/dist/cli/commands/compact-force-command.js +98 -0
- package/dist/cli/commands/compact-harness-window-command.d.ts +3 -0
- package/dist/cli/commands/compact-harness-window-command.js +174 -0
- package/dist/cli/commands/compact-history-command.d.ts +3 -0
- package/dist/cli/commands/compact-history-command.js +89 -0
- package/dist/cli/commands/compact-read-commands.d.ts +3 -0
- package/dist/cli/commands/compact-read-commands.js +123 -0
- package/dist/cli/commands/compact-settle-command.d.ts +3 -0
- package/dist/cli/commands/compact-settle-command.js +130 -0
- package/dist/cli/commands/compact-shared.d.ts +9 -0
- package/dist/cli/commands/compact-shared.js +26 -0
- package/dist/cli/commands/container-commands.d.ts +0 -1
- package/dist/cli/commands/container-commands.js +0 -1
- package/dist/cli/commands/context-commands.d.ts +0 -1
- package/dist/cli/commands/context-commands.js +0 -1
- package/dist/cli/commands/core/doctor-command.d.ts +0 -1
- package/dist/cli/commands/core/doctor-command.js +0 -9
- package/dist/cli/commands/core/memory-command.js +0 -1
- package/dist/cli/commands/core/session-command.js +0 -14
- package/dist/cli/commands/core/skill-command.d.ts +1 -44
- package/dist/cli/commands/core/skill-command.js +13 -550
- package/dist/cli/commands/core/skill-context-verdict.d.ts +38 -0
- package/dist/cli/commands/core/skill-context-verdict.js +63 -0
- package/dist/cli/commands/core/skill-generated-config-notice.d.ts +41 -0
- package/dist/cli/commands/core/skill-generated-config-notice.js +75 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.js +50 -0
- package/dist/cli/commands/core/skill-presence-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-commands.js +123 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.js +165 -0
- package/dist/cli/commands/core/skill-registry-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-registry-commands.js +117 -0
- package/dist/cli/commands/core/skill-runbook-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-runbook-command.js +29 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
- package/dist/cli/commands/core-artifact-commands.js +0 -1
- package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
- package/dist/cli/commands/cron-commands-actions.js +0 -2
- package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
- package/dist/cli/commands/cron-commands-schedule.js +0 -1
- package/dist/cli/commands/cron-commands.d.ts +0 -1
- package/dist/cli/commands/cron-commands.js +0 -2
- package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
- package/dist/cli/commands/cron-scheduler-commands.js +0 -1
- package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
- package/dist/cli/commands/cron-scheduler-persist.js +0 -5
- package/dist/cli/commands/dashboard-summary.d.ts +0 -1
- package/dist/cli/commands/dispatch-command-spec.d.ts +2 -0
- package/dist/cli/commands/dispatch-command-spec.js +62 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -1
- package/dist/cli/commands/dispatch-commands.js +159 -802
- package/dist/cli/commands/dispatch-detached-branch.d.ts +3 -0
- package/dist/cli/commands/dispatch-detached-branch.js +58 -0
- package/dist/cli/commands/dispatch-envelope.d.ts +36 -0
- package/dist/cli/commands/dispatch-envelope.js +104 -0
- package/dist/cli/commands/dispatch-from-dag.js +0 -4
- package/dist/cli/commands/dispatch-isolation-lease.d.ts +17 -0
- package/dist/cli/commands/dispatch-isolation-lease.js +149 -0
- package/dist/cli/commands/dispatch-preflight.d.ts +7 -0
- package/dist/cli/commands/dispatch-preflight.js +105 -0
- package/dist/cli/commands/dispatch-prompt-blocks.d.ts +10 -0
- package/dist/cli/commands/dispatch-prompt-blocks.js +56 -0
- package/dist/cli/commands/dispatch-prompt-composition.d.ts +30 -0
- package/dist/cli/commands/dispatch-prompt-composition.js +171 -0
- package/dist/cli/commands/dispatch-record-write.d.ts +24 -0
- package/dist/cli/commands/dispatch-record-write.js +96 -0
- package/dist/cli/commands/dispatch-tool-call.d.ts +15 -0
- package/dist/cli/commands/dispatch-tool-call.js +128 -0
- package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
- package/dist/cli/commands/e2e-verify.d.ts +0 -1
- package/dist/cli/commands/ecc-commands.d.ts +0 -1
- package/dist/cli/commands/evolution-command-shared.d.ts +78 -0
- package/dist/cli/commands/evolution-command-shared.js +107 -0
- package/dist/cli/commands/evolution-commands.d.ts +11 -2
- package/dist/cli/commands/evolution-commands.js +19 -351
- package/dist/cli/commands/evolution-evaluate-command.d.ts +24 -0
- package/dist/cli/commands/evolution-evaluate-command.js +138 -0
- package/dist/cli/commands/evolution-propose-command.d.ts +23 -0
- package/dist/cli/commands/evolution-propose-command.js +145 -0
- package/dist/cli/commands/evolution-status-command.d.ts +17 -0
- package/dist/cli/commands/evolution-status-command.js +41 -0
- package/dist/cli/commands/evolution-verdict-commands.d.ts +30 -0
- package/dist/cli/commands/evolution-verdict-commands.js +100 -0
- package/dist/cli/commands/feedback-commands.d.ts +0 -1
- package/dist/cli/commands/feedback-commands.js +0 -2
- package/dist/cli/commands/finalize-accumulator.d.ts +44 -0
- package/dist/cli/commands/finalize-accumulator.js +55 -0
- package/dist/cli/commands/finalize-branches.d.ts +34 -0
- package/dist/cli/commands/finalize-branches.js +119 -0
- package/dist/cli/commands/finalize-runners.d.ts +3 -0
- package/dist/cli/commands/finalize-runners.js +92 -0
- package/dist/cli/commands/finalize-selection.d.ts +65 -0
- package/dist/cli/commands/finalize-selection.js +35 -0
- package/dist/cli/commands/fixture-commands.d.ts +0 -2
- package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
- package/dist/cli/commands/gate-commands-enforce.js +0 -4
- package/dist/cli/commands/gate-commands.js +26 -10
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
- package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
- package/dist/cli/commands/heartbeat-commands-action.js +0 -6
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
- package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
- package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
- package/dist/cli/commands/heartbeat-commands.js +0 -1
- package/dist/cli/commands/hooks-commands.js +0 -11
- package/dist/cli/commands/ide-commands.d.ts +0 -1
- package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
- package/dist/cli/commands/job-add-slice-command.js +0 -2
- package/dist/cli/commands/job-checkpoint-commands.d.ts +3 -0
- package/dist/cli/commands/job-checkpoint-commands.js +157 -0
- package/dist/cli/commands/job-command-shared.d.ts +109 -0
- package/dist/cli/commands/job-command-shared.js +72 -0
- package/dist/cli/commands/job-commands.d.ts +4 -64
- package/dist/cli/commands/job-commands.js +42 -556
- package/dist/cli/commands/job-cost-check-command.d.ts +3 -0
- package/dist/cli/commands/job-cost-check-command.js +41 -0
- package/dist/cli/commands/job-init-status-commands.d.ts +3 -0
- package/dist/cli/commands/job-init-status-commands.js +149 -0
- package/dist/cli/commands/job-run-commands.d.ts +3 -0
- package/dist/cli/commands/job-run-commands.js +97 -0
- package/dist/cli/commands/job-state-root.d.ts +35 -0
- package/dist/cli/commands/job-state-root.js +76 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
- package/dist/cli/commands/lease-metrics-commands.js +0 -1
- package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
- package/dist/cli/commands/lease-stats-commands.js +0 -1
- package/dist/cli/commands/log-commands.d.ts +0 -2
- package/dist/cli/commands/log-commands.js +0 -3
- package/dist/cli/commands/loop-eval-capture-index.d.ts +4 -0
- package/dist/cli/commands/loop-eval-capture-index.js +44 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +8 -5
- package/dist/cli/commands/loop-eval-commands.js +12 -629
- package/dist/cli/commands/loop-eval-eval-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-eval-command.js +168 -0
- package/dist/cli/commands/loop-eval-monotonic-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-monotonic-command.js +90 -0
- package/dist/cli/commands/loop-eval-parents.d.ts +7 -0
- package/dist/cli/commands/loop-eval-parents.js +20 -0
- package/dist/cli/commands/loop-eval-run-code.d.ts +7 -0
- package/dist/cli/commands/loop-eval-run-code.js +40 -0
- package/dist/cli/commands/loop-eval-run-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-run-command.js +113 -0
- package/dist/cli/commands/loop-eval-spec-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-commands.js +165 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.js +42 -0
- package/dist/cli/commands/loop-eval-workflow-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-workflow-commands.js +141 -0
- package/dist/cli/commands/mcp-commands.d.ts +10 -0
- package/dist/cli/commands/mcp-commands.js +157 -0
- package/dist/cli/commands/memory-commands.d.ts +0 -1
- package/dist/cli/commands/memory-commands.js +0 -1
- package/dist/cli/commands/observability-commands.d.ts +0 -6
- package/dist/cli/commands/observability-commands.js +0 -6
- package/dist/cli/commands/outer-cache-commands.js +0 -2
- package/dist/cli/commands/playwright-commands.d.ts +0 -1
- package/dist/cli/commands/playwright-commands.js +0 -1
- package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.js +0 -2
- package/dist/cli/commands/preferences-commands.js +0 -2
- package/dist/cli/commands/primer-command.d.ts +0 -1
- package/dist/cli/commands/primer-command.js +0 -1
- package/dist/cli/commands/project-commands.js +0 -1
- package/dist/cli/commands/qa-commands.d.ts +0 -1
- package/dist/cli/commands/qa-commands.js +0 -2
- package/dist/cli/commands/release-commands.js +0 -9
- package/dist/cli/commands/request-command-options.d.ts +49 -0
- package/dist/cli/commands/request-command-options.js +1 -0
- package/dist/cli/commands/request-commands.d.ts +3 -10
- package/dist/cli/commands/request-commands.js +17 -532
- package/dist/cli/commands/request-format-helpers.d.ts +0 -1
- package/dist/cli/commands/request-format-helpers.js +0 -2
- package/dist/cli/commands/request-init-command.d.ts +3 -0
- package/dist/cli/commands/request-init-command.js +100 -0
- package/dist/cli/commands/request-lint-command.d.ts +3 -0
- package/dist/cli/commands/request-lint-command.js +50 -0
- package/dist/cli/commands/request-list-command.d.ts +10 -0
- package/dist/cli/commands/request-list-command.js +53 -0
- package/dist/cli/commands/request-repair-status-command.d.ts +3 -0
- package/dist/cli/commands/request-repair-status-command.js +61 -0
- package/dist/cli/commands/request-show-command.d.ts +3 -0
- package/dist/cli/commands/request-show-command.js +56 -0
- package/dist/cli/commands/request-transition-command.d.ts +3 -0
- package/dist/cli/commands/request-transition-command.js +122 -0
- package/dist/cli/commands/request-transition-failures.d.ts +8 -0
- package/dist/cli/commands/request-transition-failures.js +90 -0
- package/dist/cli/commands/request-transition-hooks.d.ts +50 -0
- package/dist/cli/commands/request-transition-hooks.js +115 -0
- package/dist/cli/commands/request-transition-preflight.d.ts +10 -0
- package/dist/cli/commands/request-transition-preflight.js +107 -0
- package/dist/cli/commands/runtime-commands.d.ts +0 -1
- package/dist/cli/commands/sc-commands.js +0 -1
- package/dist/cli/commands/scan-command-shared.d.ts +96 -0
- package/dist/cli/commands/scan-command-shared.js +83 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -2
- package/dist/cli/commands/scan-commands.js +23 -463
- package/dist/cli/commands/scan-inventory-commands.d.ts +3 -0
- package/dist/cli/commands/scan-inventory-commands.js +96 -0
- package/dist/cli/commands/scan-project-commands.d.ts +3 -0
- package/dist/cli/commands/scan-project-commands.js +65 -0
- package/dist/cli/commands/scan-scope-commands.d.ts +3 -0
- package/dist/cli/commands/scan-scope-commands.js +149 -0
- package/dist/cli/commands/scan-scope-helpers.d.ts +8 -0
- package/dist/cli/commands/scan-scope-helpers.js +54 -0
- package/dist/cli/commands/scan-structural-commands.d.ts +3 -0
- package/dist/cli/commands/scan-structural-commands.js +113 -0
- package/dist/cli/commands/session-24h-mode.d.ts +0 -1
- package/dist/cli/commands/session-24h-mode.js +0 -2
- package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
- package/dist/cli/commands/session-checkpoint-command.js +0 -1
- package/dist/cli/commands/session-resume-command.d.ts +0 -1
- package/dist/cli/commands/session-resume-command.js +0 -1
- package/dist/cli/commands/shadcn-commands.js +0 -2
- package/dist/cli/commands/share-commands.d.ts +12 -71
- package/dist/cli/commands/share-commands.js +47 -569
- package/dist/cli/commands/share-error-hints.d.ts +14 -0
- package/dist/cli/commands/share-error-hints.js +38 -0
- package/dist/cli/commands/share-identity.d.ts +13 -0
- package/dist/cli/commands/share-identity.js +22 -0
- package/dist/cli/commands/share-record-paths.d.ts +37 -0
- package/dist/cli/commands/share-record-paths.js +68 -0
- package/dist/cli/commands/share-runners.d.ts +3 -0
- package/dist/cli/commands/share-runners.js +158 -0
- package/dist/cli/commands/shared-read-runners.d.ts +3 -0
- package/dist/cli/commands/shared-read-runners.js +51 -0
- package/dist/cli/commands/skill-search-commands.d.ts +0 -2
- package/dist/cli/commands/slice-check-command.d.ts +3 -0
- package/dist/cli/commands/slice-check-command.js +54 -0
- package/dist/cli/commands/slice-commands.d.ts +2 -22
- package/dist/cli/commands/slice-commands.js +18 -519
- package/dist/cli/commands/slice-decompose-artifacts.d.ts +18 -0
- package/dist/cli/commands/slice-decompose-artifacts.js +79 -0
- package/dist/cli/commands/slice-decompose-command.d.ts +3 -0
- package/dist/cli/commands/slice-decompose-command.js +123 -0
- package/dist/cli/commands/slice-integrate-commands.js +0 -1
- package/dist/cli/commands/slice-list-commands.d.ts +3 -0
- package/dist/cli/commands/slice-list-commands.js +182 -0
- package/dist/cli/commands/slice-pick-command.d.ts +3 -0
- package/dist/cli/commands/slice-pick-command.js +60 -0
- package/dist/cli/commands/slice-plan-command.d.ts +24 -0
- package/dist/cli/commands/slice-plan-command.js +111 -0
- package/dist/cli/commands/spill-demo-command.d.ts +0 -1
- package/dist/cli/commands/statusline-commands.js +0 -4
- package/dist/cli/commands/sub-agent/detached.js +0 -2
- package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
- package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
- package/dist/cli/commands/sub-agent-shared.js +0 -5
- package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
- package/dist/cli/commands/tech-commands.d.ts +0 -4
- package/dist/cli/commands/tech-commands.js +0 -4
- package/dist/cli/commands/vendor-detect.d.ts +0 -3
- package/dist/cli/commands/vendor-detect.js +0 -2
- package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
- package/dist/cli/commands/verdict-aggregate-command.js +0 -7
- package/dist/cli/commands/vm-commands.d.ts +0 -1
- package/dist/cli/commands/vm-commands.js +5 -29
- package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
- package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
- package/dist/cli/commands/vm-status-command.d.ts +3 -0
- package/dist/cli/commands/vm-status-command.js +50 -0
- package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
- package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-commands.d.ts +10 -1
- package/dist/cli/commands/workflow-commands.js +6 -608
- package/dist/cli/commands/workflow-gate-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-gate-commands.js +116 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
- package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
- package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-plan-helpers.d.ts +48 -0
- package/dist/cli/commands/workflow-plan-helpers.js +103 -0
- package/dist/cli/commands/workflow-planning-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-planning-commands.js +56 -0
- package/dist/cli/commands/workflow-swarm-actions.d.ts +7 -0
- package/dist/cli/commands/workflow-swarm-actions.js +109 -0
- package/dist/cli/commands/workflow-swarm-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-swarm-commands.js +138 -0
- package/dist/cli/commands/workflow-tech-actions.d.ts +10 -0
- package/dist/cli/commands/workflow-tech-actions.js +150 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
- package/dist/cli/commands/workspace/clean-command.js +0 -1
- package/dist/cli/commands/workspace/helpers.d.ts +0 -1
- package/dist/cli/commands/workspace/helpers.js +0 -1
- package/dist/cli/commands/workspace/init-actions.d.ts +10 -0
- package/dist/cli/commands/workspace/init-actions.js +199 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.d.ts +10 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.js +54 -0
- package/dist/cli/commands/workspace/init-command.d.ts +8 -130
- package/dist/cli/commands/workspace/init-command.js +59 -640
- package/dist/cli/commands/workspace/init-context.d.ts +58 -0
- package/dist/cli/commands/workspace/init-context.js +121 -0
- package/dist/cli/commands/workspace/init-envelope.d.ts +3 -0
- package/dist/cli/commands/workspace/init-envelope.js +34 -0
- package/dist/cli/commands/workspace/init-failures.d.ts +3 -0
- package/dist/cli/commands/workspace/init-failures.js +84 -0
- package/dist/cli/commands/workspace/init-hooks-decision.d.ts +24 -0
- package/dist/cli/commands/workspace/init-hooks-decision.js +189 -0
- package/dist/cli/commands/workspace/init-options.d.ts +102 -0
- package/dist/cli/commands/workspace/init-options.js +1 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
- package/dist/cli/commands/workspace/migrate-command.js +0 -2
- package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
- package/dist/cli/commands/workspace/reconcile-command.js +0 -3
- package/dist/cli/commands/workspace-commands.d.ts +0 -2
- package/dist/cli/commands/workspace-commands.js +0 -4
- package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-commands.js +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
- package/dist/cli/commands/worktree-lease-commands.d.ts +10 -6
- package/dist/cli/commands/worktree-lease-commands.js +42 -513
- package/dist/cli/commands/worktree-lease-gc-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-gc-command.js +117 -0
- package/dist/cli/commands/worktree-lease-git.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-git.js +48 -0
- package/dist/cli/commands/worktree-lease-list-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-list-command.js +100 -0
- package/dist/cli/commands/worktree-lease-load.d.ts +37 -0
- package/dist/cli/commands/worktree-lease-load.js +28 -0
- package/dist/cli/commands/worktree-lease-release-command.d.ts +13 -0
- package/dist/cli/commands/worktree-lease-release-command.js +105 -0
- package/dist/cli/commands/worktree-lease-renew-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-renew-command.js +99 -0
- package/dist/cli/commands/worktree-lease-session.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-session.js +29 -0
- package/dist/cli/commands/worktree-lease-spawn-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-spawn-command.js +119 -0
- package/dist/cli/commands/worktree-lease-status-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-status-command.js +86 -0
- package/dist/cli/commands/worktree-lease-store.d.ts +19 -0
- package/dist/cli/commands/worktree-lease-store.js +24 -0
- package/dist/cli/program.js +5 -7
- package/dist/reporters/bdd-reporter.js +0 -1
- package/dist/services/24h-mode/auto-engage.d.ts +0 -1
- package/dist/services/24h-mode/auto-engage.js +0 -1
- package/dist/services/24h-mode/decider.d.ts +0 -3
- package/dist/services/24h-mode/decider.js +0 -3
- package/dist/services/24h-mode/index.d.ts +0 -2
- package/dist/services/24h-mode/index.js +0 -2
- package/dist/services/24h-mode/state.d.ts +0 -1
- package/dist/services/24h-mode/state.js +0 -1
- package/dist/services/24h-mode/store.d.ts +0 -1
- package/dist/services/24h-mode/store.js +0 -1
- package/dist/services/adapter/adapter-registry.js +0 -1
- package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
- package/dist/services/artifacts/artifact-prerequisites.js +0 -19
- package/dist/services/artifacts/artifact-templates.d.ts +0 -1
- package/dist/services/artifacts/artifact-templates.js +0 -1
- package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
- package/dist/services/artifacts/request-artifact-service.js +0 -12
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
- package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
- package/dist/services/audit/artifact-writer.d.ts +0 -1
- package/dist/services/audit/artifact-writer.js +0 -1
- package/dist/services/audit/decision-writer.js +3 -1
- package/dist/services/audit/enforcer-liveness.js +0 -1
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
- package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
- package/dist/services/audit/red-line-audit-input.d.ts +11 -0
- package/dist/services/audit/red-line-audit-input.js +103 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
- package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
- package/dist/services/audit/types.d.ts +0 -2
- package/dist/services/audit/types.js +0 -2
- package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
- package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
- package/dist/services/audit-independent/security-audit-service.js +0 -2
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
- package/dist/services/best-practice/language-detector.js +0 -1
- package/dist/services/best-practice/output-formatter.d.ts +0 -1
- package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
- package/dist/services/capability-audit-service/types.d.ts +1 -3
- package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
- package/dist/services/changeset/changeset-check-service.d.ts +0 -3
- package/dist/services/changeset/changeset-check-service.js +0 -3
- package/dist/services/classify/classify-service.d.ts +0 -1
- package/dist/services/classify/classify-service.js +0 -1
- package/dist/services/classify/classify-types.d.ts +0 -1
- package/dist/services/classify/classify-types.js +0 -1
- package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
- package/dist/services/code/auto-compact-lifecycle.js +0 -10
- package/dist/services/code/auto-compact-modes.d.ts +0 -3
- package/dist/services/code/auto-compact-modes.js +0 -3
- package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
- package/dist/services/code/auto-compact-orchestrator.js +0 -29
- package/dist/services/code/batch-heartbeat-poller.js +0 -1
- package/dist/services/code/compact-event-settle.js +0 -1
- package/dist/services/code/dag-orchestrator.d.ts +0 -1
- package/dist/services/code/dag-orchestrator.js +0 -1
- package/dist/services/code/mode-gate-types.d.ts +0 -2
- package/dist/services/code/mode-gate-types.js +0 -1
- package/dist/services/code/mode-gate.d.ts +0 -5
- package/dist/services/code/mode-gate.js +0 -5
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
- package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
- package/dist/services/code/orchestrator-can-do.d.ts +0 -4
- package/dist/services/code/orchestrator-can-do.js +0 -3
- package/dist/services/code/status-line-renderer.js +0 -1
- package/dist/services/code-review/ecc-bridge.d.ts +0 -1
- package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
- package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
- package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
- package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
- package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
- package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
- package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
- package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
- package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
- package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
- package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
- package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
- package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
- package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
- package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
- package/dist/services/codegraph/codegraph-project-config.js +90 -0
- package/dist/services/codegraph/codegraph-service.d.ts +1 -2
- package/dist/services/codegraph/codegraph-service.js +11 -11
- package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
- package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
- package/dist/services/comments/comment-audit.d.ts +15 -4
- package/dist/services/comments/comment-audit.js +25 -4
- package/dist/services/comments/comment-citations.d.ts +8 -2
- package/dist/services/comments/comment-citations.js +31 -33
- package/dist/services/comments/comment-hygiene.d.ts +29 -3
- package/dist/services/comments/comment-hygiene.js +40 -3
- package/dist/services/comments/comment-prune.js +52 -4
- package/dist/services/comments/comment-spans.d.ts +30 -0
- package/dist/services/comments/comment-spans.js +266 -0
- package/dist/services/comments/prune-apply.d.ts +22 -0
- package/dist/services/comments/prune-apply.js +69 -2
- package/dist/services/compact/decision-tables.d.ts +0 -2
- package/dist/services/compact/decision-tables.js +0 -2
- package/dist/services/compact/request-transition-hook.js +0 -2
- package/dist/services/compact-history/compact-history-service.d.ts +0 -2
- package/dist/services/compact-history/compact-history-service.js +0 -1
- package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
- package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
- package/dist/services/config/config-rollback.js +0 -1
- package/dist/services/config/config-safety.d.ts +0 -1
- package/dist/services/config/config-safety.js +0 -1
- package/dist/services/config/config-service.d.ts +0 -1
- package/dist/services/config/config-service.js +0 -1
- package/dist/services/config/model-routing.d.ts +0 -3
- package/dist/services/config/model-routing.js +0 -5
- package/dist/services/container/container-lease.d.ts +0 -1
- package/dist/services/container/container-lease.js +0 -1
- package/dist/services/context/artifact-meta.js +0 -1
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
- package/dist/services/context/auto-compact-dispatcher.js +0 -14
- package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
- package/dist/services/context/auto-compact-reader.d.ts +0 -2
- package/dist/services/context/auto-compact-reader.js +0 -7
- package/dist/services/context/auto-compact-types.d.ts +0 -11
- package/dist/services/context/auto-compact-types.js +0 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
- package/dist/services/context/build-dispatch-system-prompt.js +8 -27
- package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
- package/dist/services/context/codegraph-unavailable-block.js +77 -0
- package/dist/services/context/context-audit-hint.d.ts +0 -1
- package/dist/services/context/context-audit-hint.js +0 -1
- package/dist/services/context/context-audit.d.ts +0 -1
- package/dist/services/context/context-audit.js +0 -1
- package/dist/services/context/harness-window-config.d.ts +0 -4
- package/dist/services/context/harness-window-config.js +0 -4
- package/dist/services/context/main-session-monitor.d.ts +0 -2
- package/dist/services/context/main-session-monitor.js +0 -2
- package/dist/services/context/memory-index-reader.d.ts +0 -2
- package/dist/services/context/memory-index-reader.js +0 -1
- package/dist/services/context/memory-preflight-config.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.js +0 -3
- package/dist/services/context/memory-preflight-support.d.ts +0 -5
- package/dist/services/context/post-compact-reinjection.d.ts +0 -1
- package/dist/services/context/post-compact-reinjection.js +0 -1
- package/dist/services/context/summary-view.d.ts +0 -1
- package/dist/services/context/summary-view.js +0 -1
- package/dist/services/crystallization/crystallization-service.d.ts +5 -11
- package/dist/services/crystallization/crystallization-service.js +3 -11
- package/dist/services/crystallization/crystallization-store.d.ts +6 -6
- package/dist/services/dispatch/await-batch-helpers.js +0 -3
- package/dist/services/dispatch/await-batch.d.ts +0 -1
- package/dist/services/dispatch/await-batch.js +0 -4
- package/dist/services/dispatch/batch-counter.js +0 -1
- package/dist/services/dispatch/conflict-replay.d.ts +0 -1
- package/dist/services/dispatch/conflict-replay.js +0 -1
- package/dist/services/dispatch/contract-store.d.ts +0 -2
- package/dist/services/dispatch/contract-store.js +0 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
- package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
- package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
- package/dist/services/dispatch/dispatch-record-writer.js +0 -21
- package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
- package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
- package/dist/services/dispatch/e2e-fixtures.js +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
- package/dist/services/dispatch/isolation-lease.d.ts +0 -2
- package/dist/services/dispatch/isolation-lease.js +0 -2
- package/dist/services/dispatch/service-shutdown.js +0 -1
- package/dist/services/dispatch/session-capsule.js +0 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
- package/dist/services/dispatch/slice-dag.js +0 -2
- package/dist/services/dispatch/stage-enum.d.ts +0 -1
- package/dist/services/dispatch/stage-enum.js +0 -1
- package/dist/services/dispatch/startup-timeout.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
- package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
- package/dist/services/dispatch/test-tool-detection.js +0 -2
- package/dist/services/distribution/mcp-install-runner.d.ts +21 -0
- package/dist/services/distribution/mcp-install-runner.js +59 -0
- package/dist/services/distribution/mcp-install.d.ts +95 -0
- package/dist/services/distribution/mcp-install.js +179 -0
- package/dist/services/distribution/plugin-manifest.d.ts +97 -0
- package/dist/services/distribution/plugin-manifest.js +126 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
- package/dist/services/doctor/doctor-service/index.d.ts +0 -1
- package/dist/services/doctor/doctor-service/index.js +0 -1
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
- package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
- package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
- package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
- package/dist/services/doctor/doctor-service/types.d.ts +0 -5
- package/dist/services/doctor/doctor-service/types.js +0 -1
- package/dist/services/doctor/doctor-service.d.ts +0 -1
- package/dist/services/doctor/doctor-service.js +0 -2
- package/dist/services/env/shell-probe.js +0 -1
- package/dist/services/evidence/evidence-generator.js +0 -8
- package/dist/services/evolution/evolution-constraints.d.ts +0 -2
- package/dist/services/evolution/evolution-constraints.js +0 -2
- package/dist/services/evolution/evolution-service.d.ts +2 -12
- package/dist/services/evolution/evolution-service.js +0 -9
- package/dist/services/evolution/evolution-store.d.ts +6 -8
- package/dist/services/evolution/evolution-store.js +1 -3
- package/dist/services/evolution/evolution-types.d.ts +0 -2
- package/dist/services/evolution/evolution-types.js +0 -6
- package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
- package/dist/services/evolution/independent-evaluator-runner.js +0 -1
- package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
- package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
- package/dist/services/feedback/feedback-promotion-service.js +0 -10
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
- package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
- package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
- package/dist/services/final-review/final-review-evidence-budget.js +0 -5
- package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
- package/dist/services/final-review/final-review-evidence-sources.js +0 -1
- package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
- package/dist/services/final-review/final-review-output-budget.js +0 -3
- package/dist/services/final-review/final-review-service.d.ts +0 -1
- package/dist/services/final-review/final-review-service.js +0 -1
- package/dist/services/fixture/fixture-capture-service.js +0 -1
- package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
- package/dist/services/fixture/fixture-sanitize-service.js +0 -3
- package/dist/services/fresh-context/config.js +0 -1
- package/dist/services/fresh-context/fresh-context-block.js +0 -1
- package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
- package/dist/services/fresh-context/trigger-scan.js +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
- package/dist/services/handoff/handoff-parser.d.ts +0 -1
- package/dist/services/handoff/handoff-parser.js +0 -1
- package/dist/services/handoff/handoff-types.d.ts +0 -1
- package/dist/services/handoff/handoff-types.js +0 -1
- package/dist/services/handoff/handoff-writer.d.ts +0 -1
- package/dist/services/handoff/handoff-writer.js +0 -1
- package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
- package/dist/services/hooks/auto-compact-hook-install.js +0 -1
- package/dist/services/hooks/mcp-surface-gate.d.ts +19 -0
- package/dist/services/hooks/mcp-surface-gate.js +87 -0
- package/dist/services/hooks/output.d.ts +0 -1
- package/dist/services/hooks/output.js +0 -1
- package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
- package/dist/services/hooks/pre-tool-code-gate.js +0 -1
- package/dist/services/hooks/presence-marker-detector.js +0 -1
- package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
- package/dist/services/hooks/worktree-authorization-gate.js +0 -1
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -40
- package/dist/services/ide/adapters/claude-code-adapter.js +48 -182
- package/dist/services/ide/adapters/claude-code-local-state.d.ts +28 -0
- package/dist/services/ide/adapters/claude-code-local-state.js +112 -0
- package/dist/services/ide/adapters/claude-code-model-window.d.ts +37 -0
- package/dist/services/ide/adapters/claude-code-model-window.js +113 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/qoder-adapter.js +0 -5
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
- package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/trae-adapter.js +3 -6
- package/dist/services/ide/adapters/zcode-adapter.js +0 -2
- package/dist/services/ide/current-model-detector.js +0 -1
- package/dist/services/ide/hook-protocol.d.ts +0 -2
- package/dist/services/ide/hook-protocol.js +0 -2
- package/dist/services/ide/ide-compact-types.d.ts +0 -7
- package/dist/services/ide/ide-mcp-install-types.d.ts +78 -0
- package/dist/services/ide/ide-mcp-install-types.js +104 -0
- package/dist/services/ide/ide-types.d.ts +45 -13
- package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
- package/dist/services/ide/mcp-tool-matcher.js +84 -0
- package/dist/services/ide/resource-profile.d.ts +0 -1
- package/dist/services/job/job-commit-verification.d.ts +0 -2
- package/dist/services/job/job-commit-verification.js +0 -2
- package/dist/services/job/job-orchestrator.d.ts +0 -1
- package/dist/services/job/job-orchestrator.js +0 -1
- package/dist/services/job/job-progress-store.d.ts +0 -2
- package/dist/services/job/job-progress-store.js +0 -3
- package/dist/services/job/job-types.js +0 -1
- package/dist/services/job-snapshot/snapshot.js +0 -1
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
- package/dist/services/legacy/legacy-detector.js +0 -1
- package/dist/services/lint/npx-resolver.js +7 -0
- package/dist/services/log/log-commands-service.d.ts +0 -2
- package/dist/services/log/log-commands-service.js +0 -2
- package/dist/services/log/logger.d.ts +0 -1
- package/dist/services/log/logger.js +0 -1
- package/dist/services/log/redact.d.ts +0 -1
- package/dist/services/log/redact.js +0 -1
- package/dist/services/log/retention.d.ts +0 -1
- package/dist/services/log/retention.js +0 -1
- package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-service.js +14 -13
- package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
- package/dist/services/loop/loop-bee-relation-store.js +1 -2
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +1 -1
- package/dist/services/loop/loop-release-service.d.ts +3 -3
- package/dist/services/loop/loop-release-service.js +1 -1
- package/dist/services/loop/loop-release-store.d.ts +6 -7
- package/dist/services/loop/loop-release-store.js +0 -1
- package/dist/services/loop/monotonic-guard.d.ts +0 -1
- package/dist/services/loop/monotonic-guard.js +0 -1
- package/dist/services/mcp/cli-executor.d.ts +36 -0
- package/dist/services/mcp/cli-executor.js +97 -0
- package/dist/services/mcp/json-rpc.d.ts +81 -0
- package/dist/services/mcp/json-rpc.js +116 -0
- package/dist/services/mcp/memory-tool.d.ts +3 -0
- package/dist/services/mcp/memory-tool.js +62 -0
- package/dist/services/mcp/server-main.d.ts +1 -0
- package/dist/services/mcp/server-main.js +66 -0
- package/dist/services/mcp/server.d.ts +22 -0
- package/dist/services/mcp/server.js +152 -0
- package/dist/services/mcp/surface.d.ts +62 -0
- package/dist/services/mcp/surface.js +198 -0
- package/dist/services/mcp/tool-core.d.ts +42 -0
- package/dist/services/mcp/tool-core.js +137 -0
- package/dist/services/mcp/tools.d.ts +13 -0
- package/dist/services/mcp/tools.js +58 -0
- package/dist/services/memory/memory-ingest-service.js +0 -1
- package/dist/services/memory/project-context-service.d.ts +0 -1
- package/dist/services/memory/project-context-service.js +0 -1
- package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
- package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
- package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
- package/dist/services/memory/project-memory-service/index/search.js +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
- package/dist/services/memory/project-memory-service.js +0 -1
- package/dist/services/mode/mode-enforcement.js +0 -1
- package/dist/services/mode/mode-status-service.d.ts +0 -2
- package/dist/services/mode/mode-status-service.js +0 -2
- package/dist/services/observability/aggregation.d.ts +0 -4
- package/dist/services/observability/aggregation.js +0 -6
- package/dist/services/observability/observability-schema.js +0 -1
- package/dist/services/observability/observability-service.d.ts +0 -5
- package/dist/services/observability/observability-service.js +0 -4
- package/dist/services/observability/report-formatter.d.ts +0 -2
- package/dist/services/observability/report-formatter.js +0 -2
- package/dist/services/openspec/artifact-boundary.d.ts +0 -4
- package/dist/services/openspec/artifact-boundary.js +0 -4
- package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
- package/dist/services/openspec/coverage-evidence-reader.js +0 -1
- package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
- package/dist/services/polyrepo/polyrepo-service.js +0 -1
- package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
- package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
- package/dist/services/prd/best-practice-auto-trigger.js +0 -2
- package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
- package/dist/services/prd/gate-evidence-derivation.js +0 -5
- package/dist/services/prd/handoff-auto-regen.js +0 -5
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
- package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
- package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
- package/dist/services/prd/handoff-frontmatter.js +0 -2
- package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
- package/dist/services/prd/handoff-gate-evidence.js +0 -4
- package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
- package/dist/services/prd/handoff-path-resolution.js +0 -10
- package/dist/services/prd/handoff-service.d.ts +0 -2
- package/dist/services/prd/handoff-service.js +0 -2
- package/dist/services/prd/handoff-types.d.ts +0 -2
- package/dist/services/prd/handoff-types.js +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
- package/dist/services/prd/project-scan-types.d.ts +0 -1
- package/dist/services/prd/project-scan-types.js +0 -1
- package/dist/services/preferences/preferences-service.d.ts +0 -1
- package/dist/services/preferences/preferences-service.js +0 -5
- package/dist/services/preferences/preferences-types.d.ts +0 -14
- package/dist/services/preferences/preferences-types.js +0 -4
- package/dist/services/progress/progress-service.js +0 -1
- package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
- package/dist/services/qa/bdd-test-style-verifier.js +0 -1
- package/dist/services/qa/browser-event-logger.d.ts +0 -1
- package/dist/services/qa/browser-event-logger.js +0 -1
- package/dist/services/qa/browser-restart-detector.d.ts +0 -1
- package/dist/services/qa/browser-restart-detector.js +0 -1
- package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
- package/dist/services/qa/browser-reuse-hint.js +0 -1
- package/dist/services/qa/qa-business-review-state.js +0 -2
- package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
- package/dist/services/qa/screenshot-archive-service.js +0 -1
- package/dist/services/rd/impl.js +0 -1
- package/dist/services/rd/rd-service.d.ts +0 -5
- package/dist/services/rd/rd-service.js +0 -5
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
- package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
- package/dist/services/rd/standards-diagnostic.js +0 -1
- package/dist/services/rd/tactical-stage.js +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
- package/dist/services/readonly-surface/argv-guard.d.ts +32 -0
- package/dist/services/readonly-surface/argv-guard.js +164 -0
- package/dist/services/readonly-surface/readonly-whitelist.d.ts +147 -0
- package/dist/services/readonly-surface/readonly-whitelist.js +107 -0
- package/dist/services/readonly-surface/whitelist-generator.d.ts +64 -0
- package/dist/services/readonly-surface/whitelist-generator.js +212 -0
- package/dist/services/recommendations/installed-capability-detector.d.ts +0 -1
- package/dist/services/recommendations/installed-capability-detector.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +0 -2
- package/dist/services/release/version-precheck-service.js +0 -3
- package/dist/services/retrospective/retrospective-index.d.ts +0 -1
- package/dist/services/retrospective/retrospective-index.js +0 -1
- package/dist/services/retrospective/retrospective-show.d.ts +0 -1
- package/dist/services/retrospective/retrospective-show.js +0 -1
- package/dist/services/reviewer/model-family.js +0 -1
- package/dist/services/reviewer/reviewer-config.js +0 -1
- package/dist/services/reviewer/reviewer-service.d.ts +0 -1
- package/dist/services/reviewer/reviewer-service.js +0 -3
- package/dist/services/reviewer/selection-strategies.js +0 -1
- package/dist/services/runtime/runtime-detector.js +0 -1
- package/dist/services/runtime/runtime-service.d.ts +0 -2
- package/dist/services/runtime/vendor-adapter.d.ts +0 -7
- package/dist/services/runtime/vendors/claude-code.js +0 -1
- package/dist/services/runtime/vendors/codex.js +0 -1
- package/dist/services/runtime/vendors/copilot.js +0 -1
- package/dist/services/sc/sc-service.js +0 -6
- package/dist/services/scan/acceptance-coverage-service.js +0 -2
- package/dist/services/scan/api-diff-recorded.d.ts +0 -1
- package/dist/services/scan/api-diff-recorded.js +0 -1
- package/dist/services/scan/api-diff-service.d.ts +0 -1
- package/dist/services/scan/api-diff-service.js +0 -1
- package/dist/services/scan/api-diff-types.d.ts +0 -1
- package/dist/services/scan/api-diff-types.js +0 -1
- package/dist/services/scan/archetype-service.js +0 -1
- package/dist/services/scan/file-size-policy.d.ts +0 -1
- package/dist/services/scan/file-size-policy.js +0 -5
- package/dist/services/scan/file-size-scan.d.ts +0 -1
- package/dist/services/security/safe-settings-path.js +0 -1
- package/dist/services/session/binding-store.d.ts +0 -4
- package/dist/services/session/binding-store.js +0 -7
- package/dist/services/session/caller-binding-service.d.ts +0 -6
- package/dist/services/session/caller-binding-service.js +0 -4
- package/dist/services/session/caller-id-types.d.ts +0 -3
- package/dist/services/session/caller-id-types.js +0 -2
- package/dist/services/session/getSessionDir.js +0 -1
- package/dist/services/session/index.js +0 -1
- package/dist/services/session/platform-fallbacks.d.ts +0 -3
- package/dist/services/session/platform-fallbacks.js +0 -3
- package/dist/services/session/resolve-caller-id.d.ts +0 -2
- package/dist/services/session/resolve-caller-id.js +0 -2
- package/dist/services/session/session-binding-bridge.d.ts +0 -2
- package/dist/services/session/session-binding-bridge.js +0 -15
- package/dist/services/session/session-checkpoint-service.d.ts +0 -1
- package/dist/services/session/session-checkpoint-service.js +0 -1
- package/dist/services/session/session-manager.d.ts +0 -8
- package/dist/services/session/session-manager.js +0 -19
- package/dist/services/session/session-resume-service.d.ts +0 -1
- package/dist/services/session/session-resume-service.js +0 -1
- package/dist/services/share/bundle-reader.d.ts +2 -5
- package/dist/services/share/bundle-reader.js +6 -8
- package/dist/services/share/bundle-writer.d.ts +2 -2
- package/dist/services/skill/resume-detector.js +0 -3
- package/dist/services/skill/skill-scheduler.d.ts +0 -1
- package/dist/services/skill/skill-scheduler.js +0 -1
- package/dist/services/skill/skill-search-service.d.ts +0 -2
- package/dist/services/skill/skill-search-service.js +0 -2
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +2 -1
- package/dist/services/skillhub/release-retain.d.ts +2 -2
- package/dist/services/skillhub/release-retain.js +2 -1
- package/dist/services/skillhub/sqlite-store.d.ts +3 -3
- package/dist/services/skillhub/sqlite-store.js +4 -5
- package/dist/services/skills/hooks-codegate-superpowers.d.ts +1 -3
- package/dist/services/skills/hooks-codegate-superpowers.js +26 -14
- package/dist/services/skills/hooks-settings-service.d.ts +0 -2
- package/dist/services/skills/hooks-settings-service.js +10 -8
- package/dist/services/skills/presence-lease-service.d.ts +0 -1
- package/dist/services/skills/presence-lease-service.js +0 -1
- package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
- package/dist/services/skills/session-start-hook-constants.js +0 -4
- package/dist/services/skills/skill-presence-service.d.ts +0 -8
- package/dist/services/skills/skill-presence-service.js +0 -13
- package/dist/services/skills/skill-statusline-model.d.ts +0 -6
- package/dist/services/skills/skill-statusline-model.js +1 -4
- package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
- package/dist/services/skills/skill-statusline-renderer.js +0 -12
- package/dist/services/skills/skill-statusline-service.js +0 -6
- package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
- package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
- package/dist/services/skills/statusline-palette.d.ts +0 -2
- package/dist/services/skills/statusline-palette.js +0 -3
- package/dist/services/slice/slice-archive-service.js +0 -1
- package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
- package/dist/services/slice/slice-benchmark-service.js +0 -1
- package/dist/services/slice/slice-check-service.js +0 -6
- package/dist/services/slice/slice-check-types.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.js +0 -1
- package/dist/services/slice/slice-review-state.js +0 -2
- package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
- package/dist/services/sqlite/sqlite-driver.js +159 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
- package/dist/services/standards/ide-aware-standards-service.js +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
- package/dist/services/standards/migrate-claude-rules-service.js +0 -3
- package/dist/services/standards/migrate-service.d.ts +0 -1
- package/dist/services/standards/migrate-service.js +0 -1
- package/dist/services/standards/missing-standards-detector.d.ts +0 -2
- package/dist/services/standards/missing-standards-detector.js +0 -3
- package/dist/services/standards/project-standards-service.d.ts +0 -1
- package/dist/services/standards/project-standards-service.js +0 -1
- package/dist/services/standards/standards-render.d.ts +0 -1
- package/dist/services/standards/standards-render.js +0 -1
- package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
- package/dist/services/standards/ui-library-dispatch-block.js +0 -1
- package/dist/services/tech/tech-change-id-service.d.ts +0 -7
- package/dist/services/tech/tech-change-id-service.js +0 -7
- package/dist/services/tech/tech-service.js +0 -5
- package/dist/services/verdict/envelope-parsers.d.ts +0 -2
- package/dist/services/verdict/envelope-parsers.js +0 -2
- package/dist/services/verdict/envelopes.d.ts +0 -1
- package/dist/services/vm/vm-lease.js +0 -1
- package/dist/services/web/aria-node.d.ts +0 -1
- package/dist/services/web/bounded-output.d.ts +0 -1
- package/dist/services/web/bounded-output.js +0 -1
- package/dist/services/web/browser-acquire.js +0 -1
- package/dist/services/web/browser-cache-probe.js +0 -1
- package/dist/services/web/browser-session-manager.js +0 -1
- package/dist/services/web/daemon-entry.js +0 -1
- package/dist/services/web/daemon-registry.js +0 -1
- package/dist/services/web/daemon-supervisor.d.ts +4 -3
- package/dist/services/web/daemon-supervisor.js +4 -4
- package/dist/services/web/playwright-loader.js +0 -1
- package/dist/services/web/playwright-types.d.ts +0 -1
- package/dist/services/web/snapshot-pruner.js +0 -1
- package/dist/services/web/untrusted-envelope.d.ts +0 -1
- package/dist/services/web/web-artifact-paths.js +0 -1
- package/dist/services/web/web-client.d.ts +0 -1
- package/dist/services/web/web-daemon-service.js +0 -1
- package/dist/services/web/web-fallback.d.ts +0 -1
- package/dist/services/web/web-fallback.js +0 -1
- package/dist/services/web/web-install-service.js +0 -1
- package/dist/services/web/web-login-profile.js +0 -1
- package/dist/services/web/web-protocol.d.ts +0 -1
- package/dist/services/web/web-protocol.js +0 -1
- package/dist/services/web/web-status-report.js +0 -1
- package/dist/services/workflow/artifact-paths.js +0 -3
- package/dist/services/workflow/autonomous-resume-writer.js +0 -2
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
- package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
- package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
- package/dist/services/workflow/pipeline-verify-service.js +0 -15
- package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
- package/dist/services/workflow/pipeline-verify-types.js +0 -2
- package/dist/services/workflow/plan-reader.d.ts +0 -1
- package/dist/services/workflow/plan-reader.js +0 -5
- package/dist/services/workflow/plan-refresher.js +0 -2
- package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
- package/dist/services/workflow/plan-trigger-detector.js +0 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
- package/dist/services/workflow/workflow-autonomous-service.js +0 -2
- package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
- package/dist/services/workflow/workflow-autonomous-types.js +0 -2
- package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
- package/dist/services/workflow/workflow-graph-types.js +0 -1
- package/dist/services/workflow/workflow-router-service.js +0 -4
- package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
- package/dist/services/workflow/workflow-skip-service.js +0 -1
- package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-lint.js +0 -2
- package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
- package/dist/services/workflow/workflow-spec-types.js +0 -1
- package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-yaml.js +0 -2
- package/dist/services/workflow/workflow-spec.js +0 -1
- package/dist/services/workflow/workflow-state-store.js +0 -1
- package/dist/services/workspace/claude-settings-template.d.ts +0 -4
- package/dist/services/workspace/claude-settings-template.js +0 -4
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
- package/dist/services/workspace/migrate-service.js +0 -8
- package/dist/services/workspace/migrate-types.d.ts +0 -4
- package/dist/services/workspace/migrate-types.js +0 -1
- package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
- package/dist/services/workspace/reconcile-migrate.js +0 -5
- package/dist/services/workspace/reconcile-service.d.ts +0 -3
- package/dist/services/workspace/reconcile-service.js +0 -7
- package/dist/services/workspace/reconcile-types.d.ts +0 -5
- package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
- package/dist/services/workspace/sid-naming-guard.js +0 -1
- package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
- package/dist/services/workspace/templates/project-scan/index.js +0 -3
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
- package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
- package/dist/services/workspace/workspace-service.d.ts +0 -7
- package/dist/services/workspace/workspace-service.js +0 -16
- package/dist/services/worktree/playwright-profile.js +0 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
- package/dist/services/worktree/worktree-lease-types.js +0 -1
- package/dist/services/worktree/worktree-lease.d.ts +0 -2
- package/dist/services/worktree/worktree-lease.js +0 -2
- package/dist/shared/format-md-compact.d.ts +0 -2
- package/dist/shared/format-md-compact.js +0 -2
- package/dist/shared/incrementing-number.d.ts +0 -1
- package/dist/shared/incrementing-number.js +0 -1
- package/dist/shared/path-utils.d.ts +0 -1
- package/dist/shared/path-utils.js +0 -1
- package/dist/shared/runtime-root.d.ts +0 -1
- package/dist/shared/runtime-root.js +0 -1
- package/dist/shared/stale-policy.d.ts +0 -1
- package/dist/shared/stale-policy.js +0 -1
- package/package.json +24 -11
- package/scripts/canonical-store-link.mjs +296 -0
- package/scripts/canonical-store-prune.mjs +131 -0
- package/scripts/canonical-store.mjs +298 -0
- package/scripts/install-skills-bundles.mjs +233 -0
- package/scripts/install-skills-fs.mjs +148 -0
- package/scripts/install-skills-ide.mjs +279 -0
- package/scripts/install-skills-output-style-default.mjs +196 -0
- package/scripts/install-skills-output-styles.mjs +121 -0
- package/scripts/install-skills-report.mjs +42 -0
- package/scripts/install-skills-user-config.mjs +198 -0
- package/scripts/install-skills.mjs +41 -1279
- package/scripts/watch-tree.mjs +140 -0
- package/scripts/watch.mjs +4 -126
- package/skills/peaks-audit/SKILL.md +3 -3
- package/skills/peaks-status/SKILL.md +31 -13
- package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
- package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
|
|
2
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
3
|
+
import { getSessionId } from '../../services/session/session-manager.js';
|
|
4
|
+
import { verifyPipeline } from '../../services/workflow/pipeline-verify-service.js';
|
|
5
|
+
import { applySkip, detectCallerKind } from '../../services/workflow/workflow-skip-service.js';
|
|
6
|
+
const VERIFY_PIPELINE_DESCRIPTION = 'Verify the complete rd→qa pipeline was followed for a request. Scans the v2.17.0 canonical session-axis layout (artifacts under _runtime per-session) and falls back to the legacy v2.16.0 change-axis forms during the 1-minor-release deprecation window.';
|
|
7
|
+
const SKIP_DESCRIPTION = 'Skip specific gates for a request (RD/QA). Use --dry-run to preview without writing. Allowed gate names: QA / RD (phase shortcuts) or specific gate names (rd-request-exists, prd-handoff, bug-analysis, code-review, security-review, perf-baseline, qa-request-exists, test-cases, test-report). Three rules apply: (1) only docs/config/chore slices can skip; (2) skip is one-time per rid; (3) script callers must also pass --i-have-reviewed.';
|
|
8
|
+
/** The action body, lifted to a module-level function so both it and the registrar fit in 50 lines. */
|
|
9
|
+
async function runVerifyPipeline(options, io) {
|
|
10
|
+
try {
|
|
11
|
+
const result = await verifyPipeline({
|
|
12
|
+
projectRoot: options.project,
|
|
13
|
+
rid: options.rid,
|
|
14
|
+
...(options.type ? { requestType: options.type } : {}),
|
|
15
|
+
...(options.sessionId ? { sessionId: options.sessionId } : {})
|
|
16
|
+
});
|
|
17
|
+
const exitOk = result.complete ? 0 : 1;
|
|
18
|
+
printResult(io, result.complete
|
|
19
|
+
? ok('workflow.verify-pipeline', result)
|
|
20
|
+
: fail('workflow.verify-pipeline', 'PIPELINE_INCOMPLETE', `${result.violations.length} violation(s): ${result.violations.join('; ')}`, result, result.nextActions), options.json);
|
|
21
|
+
process.exitCode = exitOk;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
printResult(io, fail('workflow.verify-pipeline', 'VERIFY_FAILED', getErrorMessage(error), { acceptedForm: 'none', gateC: 'fail' }, ['Check that --project and --rid are correct.']), options.json);
|
|
25
|
+
process.exitCode = 1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** The `no peaks-code session binding` branch, lifted verbatim out of the skip action body. */
|
|
29
|
+
function reportSkipNoActiveSession(io, options) {
|
|
30
|
+
printResult(io, fail('workflow.skip', 'NO_ACTIVE_SESSION', `project "${options.project}" has no peaks-code session binding; run \`peaks workspace init --project ${options.project} --json\` first`, { applied: false }, [`peaks workspace init --project ${options.project} --json`]), options.json);
|
|
31
|
+
process.exitCode = 1;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The applied / idempotent / rejected tail of the skip action, lifted verbatim
|
|
35
|
+
* out of its body; it runs at the same point in the sequence and the caller
|
|
36
|
+
* returns where the original returned early.
|
|
37
|
+
*/
|
|
38
|
+
function reportSkipOutcome(io, options, sessionId, result) {
|
|
39
|
+
if (result.applied) {
|
|
40
|
+
printResult(io, ok('workflow.skip', result, [], [
|
|
41
|
+
`Skip applied for rid "${options.rid}": gates [${result.skippedGates.join(', ')}] marked as status: 'skipped' on next verify-pipeline.`,
|
|
42
|
+
`State file: ${result.persistedTo}`,
|
|
43
|
+
`Run \`peaks workflow verify-pipeline --rid ${options.rid} --project ${options.project} --session-id ${sessionId} --json\` to confirm.`
|
|
44
|
+
]), options.json);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (result.idempotent) {
|
|
48
|
+
printResult(io, ok('workflow.skip', result, [], [`Skip already applied for rid "${options.rid}"; idempotent no-op.`]), options.json);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// applied:false + reason → rejection.
|
|
52
|
+
printResult(io, fail('workflow.skip', 'SKIP_REJECTED', result.reason ?? 'unknown rejection', result, [
|
|
53
|
+
'See RD request for the three rules: docs/config/chore only, one-time per rid, script callers need --i-have-reviewed.'
|
|
54
|
+
]), options.json);
|
|
55
|
+
process.exitCode = 1;
|
|
56
|
+
}
|
|
57
|
+
/** The catch branch, lifted verbatim out of the skip action body. */
|
|
58
|
+
function reportSkipFailure(io, error, json) {
|
|
59
|
+
printResult(io, fail('workflow.skip', 'SKIP_FAILED', getErrorMessage(error), { applied: false }, [
|
|
60
|
+
'Check that --project and --rid are correct; --reason and --gates are required.'
|
|
61
|
+
]), json);
|
|
62
|
+
process.exitCode = 1;
|
|
63
|
+
}
|
|
64
|
+
/** The action body, lifted to a module-level function so both it and the registrar fit in 50 lines. */
|
|
65
|
+
async function runWorkflowSkip(options, io) {
|
|
66
|
+
try {
|
|
67
|
+
// Resolve the session id from the project's current binding
|
|
68
|
+
// (CLI is the single source of truth per the dev-preference
|
|
69
|
+
// rules). The skip-state is keyed by session id, so the
|
|
70
|
+
// operator's current session determines where the marker
|
|
71
|
+
// lives. Auto-rotation on outer-mismatch is irrelevant here
|
|
72
|
+
// because we read, not write, the binding.
|
|
73
|
+
const sessionId = getSessionId(options.project);
|
|
74
|
+
if (sessionId === null) {
|
|
75
|
+
reportSkipNoActiveSession(io, options);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const callerKind = detectCallerKind(process.env['PEAKS_CALLER_ID']);
|
|
79
|
+
const skipArgs = {
|
|
80
|
+
rid: options.rid,
|
|
81
|
+
gatesRaw: options.gates,
|
|
82
|
+
reason: options.reason,
|
|
83
|
+
...(options.dryRun === true ? { dryRun: true } : {}),
|
|
84
|
+
...(options.iHaveReviewed === true ? { iHaveReviewed: true } : {}),
|
|
85
|
+
callerKind
|
|
86
|
+
};
|
|
87
|
+
const result = await applySkip(options.project, sessionId, skipArgs);
|
|
88
|
+
reportSkipOutcome(io, options, sessionId, result);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
reportSkipFailure(io, error, options.json);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export function registerWorkflowGateCommands(workflow, io) {
|
|
95
|
+
addJsonOption(workflow
|
|
96
|
+
.command('verify-pipeline')
|
|
97
|
+
.description(VERIFY_PIPELINE_DESCRIPTION)
|
|
98
|
+
.requiredOption('--rid <rid>', 'request identifier')
|
|
99
|
+
.requiredOption('--project <path>', 'project root path')
|
|
100
|
+
.option('--type <type>', 'request type: feature, bugfix, refactor, docs, config, chore', 'feature')
|
|
101
|
+
.option('--session-id <sid>', 'slice 2026-06-13-peaks-workflow-skip: session id under which to read the skip-state file. When omitted, no skip-state is consulted (legacy behavior).')).action((options) => runVerifyPipeline(options, io));
|
|
102
|
+
// Mark gates as bypassed for a specific rid, so the next
|
|
103
|
+
// `verify-pipeline` reports them as `status: 'skipped'` instead of
|
|
104
|
+
// missing-evidence violations. See RD
|
|
105
|
+
// for the three-rule classifier (type allowlist, one-time
|
|
106
|
+
// semantics, role-based auth).
|
|
107
|
+
addJsonOption(workflow
|
|
108
|
+
.command('skip')
|
|
109
|
+
.description(SKIP_DESCRIPTION)
|
|
110
|
+
.requiredOption('--rid <rid>', 'request identifier')
|
|
111
|
+
.requiredOption('--project <path>', 'project root path')
|
|
112
|
+
.requiredOption('--gates <list>', 'comma-separated gate names (e.g. "QA" or "QA,slice-check" or "code-review,security-review")')
|
|
113
|
+
.requiredOption('--reason <text>', 'free-text justification; persisted in the state file and surfaced in verify-pipeline nextActions')
|
|
114
|
+
.option('--dry-run', 'preview the skip; do not write the state file')
|
|
115
|
+
.option('--i-have-reviewed', 'required when caller is a script (CI / postinstall / cron). LLM and human callers do not need this.')).action((options) => runWorkflowSkip(options, io));
|
|
116
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Action handlers for the `peaks workflow plan` subcommands (slice 025).
|
|
3
2
|
*
|
|
4
3
|
* Extracted from `workflow-plan-commands.ts` (strict-remediation c1). The
|
|
5
4
|
* command registration re-exports these as its programmatic test entry points.
|
|
@@ -14,7 +13,6 @@ import { refreshPlan } from '../../services/workflow/plan-refresher.js';
|
|
|
14
13
|
import { detectTrigger } from '../../services/workflow/plan-trigger-detector.js';
|
|
15
14
|
import { resolveProjectRoot, resolveSessionId } from './workflow-plan-commands-session.js';
|
|
16
15
|
const VALID_TYPES = ['security', 'perf'];
|
|
17
|
-
// F-1 (slice 025 security): reject rids that contain path separators,
|
|
18
16
|
// null bytes, or traversal sequences.
|
|
19
17
|
const REQUEST_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
20
18
|
function isPlanType(value) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared session-id / project-root resolution for the `peaks workflow plan`
|
|
3
|
-
* command family (slice 025).
|
|
4
3
|
*
|
|
5
4
|
* Extracted from `workflow-plan-commands.ts` (strict-remediation c1) so one
|
|
6
5
|
* implementation backs every plan subcommand instead of the per-command copies
|
|
@@ -12,7 +11,6 @@ import { fail } from 'peaks-loop-shared/result';
|
|
|
12
11
|
import { printResult } from '../cli-helpers.js';
|
|
13
12
|
import { getSessionId } from '../../services/session/session-manager.js';
|
|
14
13
|
import { findProjectRoot } from '../../services/config/config-safety.js';
|
|
15
|
-
// F-1 (slice 025 security): reject session ids that look like path
|
|
16
14
|
// traversal payloads. Canonical pattern is YYYY-MM-DD-<slug>.
|
|
17
15
|
const SESSION_ID_PATTERN = /^\d{4}-\d{2}-\d{2}-[a-z][a-z0-9-]*[a-z0-9]$/;
|
|
18
16
|
export function isValidSessionId(value) {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type ProgramIO } from '../cli-helpers.js';
|
|
2
|
+
import { type CodeMode } from '../../services/workflow/workflow-router-service.js';
|
|
3
|
+
import type { WorkspaceConfig } from '../../services/config/config-types.js';
|
|
4
|
+
export declare function buildDocFetcher(sid: string): import('../../services/context/doc-retriever.js').DocFetcher;
|
|
5
|
+
export declare function ensureContextForRd(goal: string, project: string, sid: string): Promise<void>;
|
|
6
|
+
export interface WorkspaceContext {
|
|
7
|
+
workspace?: WorkspaceConfig;
|
|
8
|
+
artifactWorkspacePath?: string;
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
sessionDir?: string;
|
|
11
|
+
projectRoot?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface TechPlanOptions {
|
|
14
|
+
goal: string;
|
|
15
|
+
swarm?: boolean;
|
|
16
|
+
dryRun?: boolean;
|
|
17
|
+
json?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface TechStatusOptions {
|
|
20
|
+
json?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface WorkflowRouteOptions {
|
|
23
|
+
mode: string;
|
|
24
|
+
goal: string;
|
|
25
|
+
codeMode?: string;
|
|
26
|
+
maxWorkers: string;
|
|
27
|
+
dryRun?: boolean;
|
|
28
|
+
json?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface SwarmPlanOptions {
|
|
31
|
+
skill?: string;
|
|
32
|
+
goal: string;
|
|
33
|
+
maxWorkers: string;
|
|
34
|
+
dryRun?: boolean;
|
|
35
|
+
json?: boolean;
|
|
36
|
+
strictStandards?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface AutonomousResumeInitOptions {
|
|
39
|
+
goal: string;
|
|
40
|
+
project: string;
|
|
41
|
+
apply?: boolean;
|
|
42
|
+
json?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare function getCurrentWorkspaceContext(): WorkspaceContext;
|
|
45
|
+
export declare function getWorkflowWorkspaceContext(): WorkspaceContext;
|
|
46
|
+
export declare function parseMaxWorkers(io: ProgramIO, command: string, value: string, asJson?: boolean): number | null;
|
|
47
|
+
export declare function validatePlanningInput(goal: string): void;
|
|
48
|
+
export declare function parseCodeMode(io: ProgramIO, command: string, mode: string, codeMode: string | undefined, asJson?: boolean): CodeMode | undefined | null;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// The planning helpers `peaks refactor | tech | workflow | swarm` share: the workspace
|
|
2
|
+
// context readers, the injected-input parsers, and the pre-step that builds
|
|
3
|
+
// peaks-context before peaks-rd runs. No command is registered here.
|
|
4
|
+
import { printResult } from '../cli-helpers.js';
|
|
5
|
+
import { fail } from 'peaks-loop-shared/result';
|
|
6
|
+
import { isCodeMode } from '../../services/workflow/workflow-router-service.js';
|
|
7
|
+
import { getWorkspaceConfigForPath } from '../../services/config/config-service.js';
|
|
8
|
+
import { getLocalArtifactPath } from '../../services/artifacts/workspace-service.js';
|
|
9
|
+
import { getSessionId } from '../../services/session/session-manager.js';
|
|
10
|
+
import { getSessionDir } from '../../services/session/getSessionDir.js';
|
|
11
|
+
import { findProjectRoot } from '../../services/config/config-safety.js';
|
|
12
|
+
// Plan 1 / Task 9 — auto-build peaks-context before peaks-rd runs.
|
|
13
|
+
import { buildContext } from '../../services/context/context-builder.js';
|
|
14
|
+
// Plan 1 / Task 10 — production fetcher (replaces mockFetcher).
|
|
15
|
+
import { createDocCacheFetcher } from '../../services/context/doc-cache-fetcher.js';
|
|
16
|
+
export function buildDocFetcher(sid) {
|
|
17
|
+
return createDocCacheFetcher({
|
|
18
|
+
cacheDir: `.peaks/_runtime/${sid}/doc-cache`
|
|
19
|
+
// remoteFetcher wired in a future slice.
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export async function ensureContextForRd(goal, project, sid) {
|
|
23
|
+
const out = `.peaks/_runtime/${sid}/context.json`;
|
|
24
|
+
try {
|
|
25
|
+
await buildContext({
|
|
26
|
+
goal,
|
|
27
|
+
project,
|
|
28
|
+
audience: 'peaks-rd',
|
|
29
|
+
depsMode: 'locked',
|
|
30
|
+
docBudgetTokens: 8000,
|
|
31
|
+
out,
|
|
32
|
+
fetcher: buildDocFetcher(sid)
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
// Plan 1 / Task 9 — context is a pre-step, not a precondition.
|
|
37
|
+
// If the Collector (e.g. missing package.json) or DocRetriever
|
|
38
|
+
// fails, we still want the rd slice to proceed. Task 11
|
|
39
|
+
// upgrades this to a hard precondition once the rd slice
|
|
40
|
+
// actually consumes context.json.
|
|
41
|
+
const message = error instanceof Error ? error.message : 'unknown context build failure';
|
|
42
|
+
process.stderr.write(`[peaks-context] rd pre-step skipped: ${message}\n`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function getCurrentWorkspaceContext() {
|
|
46
|
+
try {
|
|
47
|
+
const projectRoot = findProjectRoot(process.cwd()) ?? process.cwd();
|
|
48
|
+
const sessionId = getSessionId(projectRoot);
|
|
49
|
+
return sessionId ? { sessionId, sessionDir: getSessionDir(projectRoot, sessionId) } : {};
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return {};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export function getWorkflowWorkspaceContext() {
|
|
56
|
+
try {
|
|
57
|
+
const projectRoot = findProjectRoot(process.cwd()) ?? process.cwd();
|
|
58
|
+
const workspace = getWorkspaceConfigForPath(projectRoot);
|
|
59
|
+
if (!workspace)
|
|
60
|
+
return { projectRoot };
|
|
61
|
+
return { projectRoot, workspace, artifactWorkspacePath: getLocalArtifactPath(workspace) };
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export function parseMaxWorkers(io, command, value, asJson) {
|
|
68
|
+
const maxWorkers = Number(value);
|
|
69
|
+
if (!Number.isInteger(maxWorkers) || maxWorkers < 1) {
|
|
70
|
+
printResult(io, fail(command, 'INVALID_MAX_WORKERS', 'max-workers must be a positive integer', {}, [
|
|
71
|
+
'Use --max-workers with a positive integer value'
|
|
72
|
+
]), asJson);
|
|
73
|
+
process.exitCode = 1;
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return maxWorkers;
|
|
77
|
+
}
|
|
78
|
+
export function validatePlanningInput(goal) {
|
|
79
|
+
// v2.17.0: change-id axis removed. The planning input is now keyed
|
|
80
|
+
// by the session id (already bound via `peaks workspace init`),
|
|
81
|
+
// not by a user-supplied change-id. Only the goal is validated.
|
|
82
|
+
if (!goal.trim()) {
|
|
83
|
+
throw new Error('Goal must be non-empty');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export function parseCodeMode(io, command, mode, codeMode, asJson) {
|
|
87
|
+
if (mode !== 'code' && codeMode) {
|
|
88
|
+
printResult(io, fail(command, 'CODE_MODE_REQUIRES_CODE_WORKFLOW', '--code-mode can only be used with --mode code', {}, ['Remove --code-mode or use --mode code']), asJson);
|
|
89
|
+
process.exitCode = 1;
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
if (mode !== 'code' || !codeMode) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
if (!isCodeMode(codeMode)) {
|
|
96
|
+
printResult(io, fail(command, 'UNSUPPORTED_CODE_MODE', `Unsupported code mode ${codeMode}`, {}, [
|
|
97
|
+
'Use --code-mode full-auto, guided, or rnd'
|
|
98
|
+
]), asJson);
|
|
99
|
+
process.exitCode = 1;
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
return codeMode;
|
|
103
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { addJsonOption, failUnsupportedNonDryRun, printResult } from '../cli-helpers.js';
|
|
2
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
3
|
+
import { createRefactorDryRun } from '../../services/refactor/refactor-service.js';
|
|
4
|
+
// `peaks tech status-change-id`). Additive; the existing session-axis
|
|
5
|
+
// `peaks tech plan` / `peaks tech status` registrations are untouched.
|
|
6
|
+
import { registerTechCommands } from './tech-commands.js';
|
|
7
|
+
import { addTechPlanOptions, addTechStatusOptions, addWorkflowRouteOptions, runAutonomousWorkflow, runTechPlan, runTechStatus, runWorkflowRoute } from './workflow-tech-actions.js';
|
|
8
|
+
import { addAutonomousResumeInitOptions, runAutonomousResumeInit } from './workflow-swarm-actions.js';
|
|
9
|
+
/** The `peaks refactor` registration, lifted verbatim out of the planning registrar. */
|
|
10
|
+
function registerRefactorCommand(program, io) {
|
|
11
|
+
const refactor = program
|
|
12
|
+
.command('refactor')
|
|
13
|
+
.description('Plan a Peaks refactor run without modifying code');
|
|
14
|
+
addJsonOption(refactor
|
|
15
|
+
.option('--code', 'use peaks-code orchestration mode')
|
|
16
|
+
.option('--rd', 'use peaks-rd direct mode')
|
|
17
|
+
.option('--dry-run', 'print gates and required artifacts', true)
|
|
18
|
+
.option('--no-dry-run', 'unsupported: do not modify code from this command')).action((options) => {
|
|
19
|
+
if (options.dryRun === false) {
|
|
20
|
+
failUnsupportedNonDryRun(io, 'refactor', options.json);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (options.code && options.rd) {
|
|
24
|
+
printResult(io, fail('refactor', 'CONFLICTING_REFACTOR_MODE', 'Choose either --code or --rd, not both', {}, ['Run peaks refactor --code --dry-run']), options.json);
|
|
25
|
+
process.exitCode = 1;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const mode = options.rd ? 'rd' : 'code';
|
|
29
|
+
printResult(io, ok('refactor', createRefactorDryRun(mode), [], ['This dry run never edits code']), options.json);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function registerWorkflowPlanningCommands(program, io) {
|
|
33
|
+
registerRefactorCommand(program, io);
|
|
34
|
+
const tech = program.command('tech').description('Plan and inspect technical dry-run gates');
|
|
35
|
+
addTechPlanOptions(tech.command('plan')).action((options) => runTechPlan(io, options));
|
|
36
|
+
addTechStatusOptions(tech.command('status')).action((options) => runTechStatus(io, options));
|
|
37
|
+
addTechPlanOptions(program.command('tech-plan')).action((options) => runTechPlan(io, options));
|
|
38
|
+
addTechStatusOptions(program.command('tech-status')).action((options) => runTechStatus(io, options));
|
|
39
|
+
// (`peaks tech plan-change-id` / `peaks tech status-change-id`).
|
|
40
|
+
// Additive; the session-axis registrations above are byte-for-byte untouched.
|
|
41
|
+
registerTechCommands(program, io);
|
|
42
|
+
const workflow = program.command('workflow').description('Plan workflow routing dry-run graphs');
|
|
43
|
+
addWorkflowRouteOptions(workflow.command('route'), 'Plan a workflow routing dry-run summary').action((options) => runWorkflowRoute(io, options));
|
|
44
|
+
addWorkflowRouteOptions(program.command('route'), 'Plan a workflow routing dry-run summary').action((options) => runWorkflowRoute(io, options));
|
|
45
|
+
addWorkflowRouteOptions(workflow.command('autonomous'), 'Plan an autonomous workflow handoff summary').action((options) => runAutonomousWorkflow(io, options));
|
|
46
|
+
addWorkflowRouteOptions(program.command('autonomous'), 'Plan an autonomous workflow handoff summary').action((options) => runAutonomousWorkflow(io, options));
|
|
47
|
+
const autonomousResume = workflow
|
|
48
|
+
.command('autonomous-resume')
|
|
49
|
+
.description('Manage autonomous workflow resume artifacts');
|
|
50
|
+
addAutonomousResumeInitOptions(autonomousResume.command('init')).action((options) => runAutonomousResumeInit(io, options));
|
|
51
|
+
const autonomousResumeAlias = program
|
|
52
|
+
.command('autonomous-resume')
|
|
53
|
+
.description('Manage autonomous workflow resume artifacts');
|
|
54
|
+
addAutonomousResumeInitOptions(autonomousResumeAlias.command('init')).action((options) => runAutonomousResumeInit(io, options));
|
|
55
|
+
return workflow;
|
|
56
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import { type ProgramIO } from '../cli-helpers.js';
|
|
3
|
+
import { type AutonomousResumeInitOptions, type SwarmPlanOptions } from './workflow-plan-helpers.js';
|
|
4
|
+
export declare function runSwarmPlan(io: ProgramIO, options: SwarmPlanOptions): Promise<void>;
|
|
5
|
+
export declare function runAutonomousResumeInit(io: ProgramIO, options: AutonomousResumeInitOptions): Promise<void>;
|
|
6
|
+
export declare function addSwarmPlanOptions(command: Command, includeSkill: boolean): Command;
|
|
7
|
+
export declare function addAutonomousResumeInitOptions(command: Command): Command;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { createRdSwarmPlan } from '../../services/rd/rd-service.js';
|
|
2
|
+
import { writeAutonomousResumeArtifacts } from '../../services/workflow/autonomous-resume-writer.js';
|
|
3
|
+
import { readConfig } from '../../services/config/config-service.js';
|
|
4
|
+
import { getEconomyAwareExecutionModelId } from '../../services/config/model-routing.js';
|
|
5
|
+
import { getSessionId } from '../../services/session/session-manager.js';
|
|
6
|
+
import { addJsonOption, failUnsupportedNonDryRun, getErrorMessage, printResult } from '../cli-helpers.js';
|
|
7
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
8
|
+
// catch site below (swarm.plan) so provider-config errors surface as
|
|
9
|
+
// `INVALID_PROVIDERS` instead of being silently re-labelled `INVALID_GOAL`.
|
|
10
|
+
import { mapServiceError } from './_cli-error-envelope.js';
|
|
11
|
+
import { ensureContextForRd, getWorkflowWorkspaceContext, parseMaxWorkers, validatePlanningInput } from './workflow-plan-helpers.js';
|
|
12
|
+
export async function runSwarmPlan(io, options) {
|
|
13
|
+
if ((options.skill ?? 'rd') !== 'rd') {
|
|
14
|
+
printResult(io, fail('swarm.plan', 'UNSUPPORTED_SWARM_SKILL', `Unsupported skill ${options.skill}`, {}, [
|
|
15
|
+
'Use --skill rd'
|
|
16
|
+
]), options.json);
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (options.dryRun === false) {
|
|
21
|
+
failUnsupportedNonDryRun(io, 'swarm.plan', options.json);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const maxWorkers = parseMaxWorkers(io, 'swarm.plan', options.maxWorkers, options.json);
|
|
25
|
+
if (maxWorkers === null)
|
|
26
|
+
return;
|
|
27
|
+
try {
|
|
28
|
+
validatePlanningInput(options.goal);
|
|
29
|
+
const workspaceContext = getWorkflowWorkspaceContext();
|
|
30
|
+
const config = readConfig();
|
|
31
|
+
// Plan 1 / Task 9 — pre-build peaks-context before peaks-rd runs.
|
|
32
|
+
const projectRoot = workspaceContext.projectRoot ?? process.cwd();
|
|
33
|
+
const sid = getSessionId(projectRoot) ?? 'ad-hoc';
|
|
34
|
+
await ensureContextForRd(options.goal, projectRoot, sid);
|
|
35
|
+
const plan = createRdSwarmPlan({
|
|
36
|
+
skill: 'rd',
|
|
37
|
+
sessionId: '',
|
|
38
|
+
goal: options.goal,
|
|
39
|
+
maxWorkers,
|
|
40
|
+
dryRun: true,
|
|
41
|
+
swarmMode: config.swarmMode ?? true,
|
|
42
|
+
executionModelId: getEconomyAwareExecutionModelId(config),
|
|
43
|
+
...(options.strictStandards ? { strictStandards: true } : {}),
|
|
44
|
+
...workspaceContext
|
|
45
|
+
});
|
|
46
|
+
// The service-layer stamps `standardsErrorCode` onto the envelope; the
|
|
47
|
+
// CLI is responsible for translating it into a non-zero exit.
|
|
48
|
+
if (plan.gateStatus.standardsErrorCode === 'EPEAKS_NO_STANDARDS') {
|
|
49
|
+
process.exitCode = 1;
|
|
50
|
+
}
|
|
51
|
+
printResult(io, ok('swarm.plan', plan), options.json);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
const mapping = mapServiceError(error);
|
|
55
|
+
printResult(io, fail('swarm.plan', mapping.code, getErrorMessage(error), {}, [...mapping.nextActions]), options.json);
|
|
56
|
+
process.exitCode = 1;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export async function runAutonomousResumeInit(io, options) {
|
|
60
|
+
try {
|
|
61
|
+
if (!options.project || !options.project.trim()) {
|
|
62
|
+
throw new Error('Project path must be non-empty');
|
|
63
|
+
}
|
|
64
|
+
// gone. The CLI surfaces a deterministic placeholder
|
|
65
|
+
// (`session-default`) when the user does not pass a change-id, so
|
|
66
|
+
// the on-disk session-dir join via `getSessionDir` succeeds (the
|
|
67
|
+
// writer still requires a safe non-empty string).
|
|
68
|
+
const result = await writeAutonomousResumeArtifacts({
|
|
69
|
+
sessionId: 'session-default',
|
|
70
|
+
goal: options.goal,
|
|
71
|
+
artifactWorkspacePath: options.project,
|
|
72
|
+
apply: options.apply === true
|
|
73
|
+
});
|
|
74
|
+
const data = {
|
|
75
|
+
applied: result.applied,
|
|
76
|
+
files: result.files.map((file) => file.path)
|
|
77
|
+
};
|
|
78
|
+
const nextActions = result.applied
|
|
79
|
+
? ['Run peaks workflow autonomous --goal "<goal>" --json to verify resumePlan.status']
|
|
80
|
+
: ['Re-run with --apply to write the resume scaffold to disk'];
|
|
81
|
+
printResult(io, ok('autonomous-resume.init', data, [], nextActions), options.json);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
printResult(io, fail('autonomous-resume.init', 'AUTONOMOUS_RESUME_INIT_FAILED', getErrorMessage(error), {}, [
|
|
85
|
+
'Use a non-empty goal and a writable project path'
|
|
86
|
+
]), options.json);
|
|
87
|
+
process.exitCode = 1;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export function addSwarmPlanOptions(command, includeSkill) {
|
|
91
|
+
const configured = command
|
|
92
|
+
.description('Plan an RD swarm dry-run graph')
|
|
93
|
+
.requiredOption('--goal <goal>', 'planning goal')
|
|
94
|
+
.option('--max-workers <count>', 'maximum worker count', '40')
|
|
95
|
+
.option('--dry-run', 'preview without writing files', true)
|
|
96
|
+
.option('--no-dry-run', 'unsupported: do not execute RD planning from this CLI')
|
|
97
|
+
.option('--strict-standards', 'hard-fail (exit non-zero) when project-local standards are missing; surfaces EPEAKS_NO_STANDARDS in the JSON envelope');
|
|
98
|
+
if (includeSkill) {
|
|
99
|
+
configured.requiredOption('--skill <skill>', 'skill to plan for');
|
|
100
|
+
}
|
|
101
|
+
return addJsonOption(configured);
|
|
102
|
+
}
|
|
103
|
+
export function addAutonomousResumeInitOptions(command) {
|
|
104
|
+
return addJsonOption(command
|
|
105
|
+
.description('Write the autonomous resume artifact scaffold for the active change-id')
|
|
106
|
+
.requiredOption('--goal <goal>', 'planning goal')
|
|
107
|
+
.requiredOption('--project <path>', 'artifact workspace path to write under')
|
|
108
|
+
.option('--apply', 'write the artifacts to disk (default is dry-run preview)'));
|
|
109
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { addJsonOption, isRecommendationWorkflow, printResult } from '../cli-helpers.js';
|
|
2
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
3
|
+
import { createRecommendationPlan } from '../../services/recommendations/recommendation-service.js';
|
|
4
|
+
import { readConfig } from '../../services/config/config-service.js';
|
|
5
|
+
import { registerSwarmCommands } from './swarm-commands.js';
|
|
6
|
+
// `registerTechCommands` registrations are byte-for-byte untouched.
|
|
7
|
+
import { registerAutonomousSwarmCommands } from './autonomous-swarm-commands.js';
|
|
8
|
+
// Slice 4.0.8 — workflow lifecycle (init / graph show / graph list / node
|
|
9
|
+
// prepare / node ack / node mark-lost / terminalize). Registered as a
|
|
10
|
+
// sibling command group, not merged with planning handlers, per RD §4.
|
|
11
|
+
import { registerWorkflowLifecycleCommand } from './workflow-lifecycle-commands.js';
|
|
12
|
+
import { addSwarmPlanOptions, runSwarmPlan } from './workflow-swarm-actions.js';
|
|
13
|
+
/** The `13.2` pipeline placeholder action, lifted verbatim out of the registrar. */
|
|
14
|
+
function runSwarmPipelinePlaceholder(options, io) {
|
|
15
|
+
printResult(io, ok('swarm.pipeline', {
|
|
16
|
+
project: options.project,
|
|
17
|
+
status: 'placeholder',
|
|
18
|
+
nextSteps: [
|
|
19
|
+
'For each sub-task in the plan, run `peaks sub-agent dispatch <role> --prompt <task>`.',
|
|
20
|
+
'The slice is read-only here; the sub-agent harness owns the runtime execution.'
|
|
21
|
+
]
|
|
22
|
+
}, [], [
|
|
23
|
+
'swarm.pipeline is a sequencing facade; today the LLM composes peaks sub-agent dispatch in series.'
|
|
24
|
+
]), options.json);
|
|
25
|
+
}
|
|
26
|
+
/** The `13.3` speculative-dispatch placeholder action, lifted verbatim out of the registrar. */
|
|
27
|
+
function runSwarmDispatchPlaceholder(options, io) {
|
|
28
|
+
printResult(io, ok('swarm.dispatch', {
|
|
29
|
+
project: options.project,
|
|
30
|
+
speculative: options.speculative,
|
|
31
|
+
status: 'placeholder'
|
|
32
|
+
}, [], [
|
|
33
|
+
options.speculative
|
|
34
|
+
? 'Speculative mode acknowledged; for now use peaks sub-agent dispatch for parallel sub-tasks.'
|
|
35
|
+
: 'Pass --speculative to acknowledge speculative mode (no-op for now).'
|
|
36
|
+
]), options.json);
|
|
37
|
+
}
|
|
38
|
+
/** The `13.4` adversarial-verification placeholder action, lifted verbatim out of the registrar. */
|
|
39
|
+
function runSwarmVerifyPlaceholder(options, io) {
|
|
40
|
+
const n = Number.parseInt(options.skeptics, 10);
|
|
41
|
+
const iterations = Number.isFinite(n) && n > 0 ? n : 1;
|
|
42
|
+
const history = [];
|
|
43
|
+
for (let i = 1; i <= iterations; i++) {
|
|
44
|
+
history.push({
|
|
45
|
+
iteration: i,
|
|
46
|
+
ok: true,
|
|
47
|
+
detail: `iter ${i}/${iterations}: re-scan invoked; future slice will run adversarial here`
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
printResult(io, ok('swarm.verify', {
|
|
51
|
+
project: options.project,
|
|
52
|
+
iterations,
|
|
53
|
+
history
|
|
54
|
+
}, [], [
|
|
55
|
+
`${iterations} skeptic iteration(s) recorded; each iteration re-runs peaks doctor to catch regressions.`,
|
|
56
|
+
'A future slice will land the actual adversarial verification (currently a pass-through re-scan).'
|
|
57
|
+
]), options.json);
|
|
58
|
+
}
|
|
59
|
+
/** The `13.5` loop-until-dry placeholder action, lifted verbatim out of the registrar. */
|
|
60
|
+
function runSwarmLoopPlaceholder(options, io) {
|
|
61
|
+
const history = [];
|
|
62
|
+
for (let i = 1; i <= 10; i++) {
|
|
63
|
+
const failCount = 0;
|
|
64
|
+
history.push({ iteration: i, failCount, status: failCount === 0 ? 'dry' : 'still-failing' });
|
|
65
|
+
if (i > 1 && history[i - 2]?.failCount === failCount)
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
const finalStatus = history[history.length - 1]?.failCount === 0 ? 'dry' : 'still-failing';
|
|
69
|
+
printResult(io, ok('swarm.loop', {
|
|
70
|
+
project: options.project,
|
|
71
|
+
iterations: history.length,
|
|
72
|
+
history,
|
|
73
|
+
status: finalStatus
|
|
74
|
+
}, [], [
|
|
75
|
+
`loop ran ${history.length} iteration(s); status: ${finalStatus}`,
|
|
76
|
+
'A future slice will land the actual peaks doctor call (currently a stub).'
|
|
77
|
+
]), options.json);
|
|
78
|
+
}
|
|
79
|
+
/** The `peaks recommend` action, lifted verbatim out of the registrar. */
|
|
80
|
+
function runRecommendAction(options, io) {
|
|
81
|
+
if (!isRecommendationWorkflow(options.workflow)) {
|
|
82
|
+
printResult(io, fail('recommend', 'UNSUPPORTED_RECOMMENDATION_WORKFLOW', `Unsupported recommendation workflow ${options.workflow}`, {}, ['Use --workflow code-refactor, product-refactor, or frontend-design']), options.json);
|
|
83
|
+
process.exitCode = 1;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
printResult(io, ok('recommend', createRecommendationPlan({
|
|
87
|
+
workflow: options.workflow,
|
|
88
|
+
language: options.language ?? readConfig().language ?? 'en'
|
|
89
|
+
})), options.json);
|
|
90
|
+
}
|
|
91
|
+
/** The four slice-#13 placeholder subcommands of `peaks swarm`, lifted verbatim out of the registrar. */
|
|
92
|
+
function registerSwarmPlaceholderCommands(swarm, io) {
|
|
93
|
+
addJsonOption(swarm
|
|
94
|
+
.command('pipeline')
|
|
95
|
+
.description('13.2: sequential pipeline — wire to peaks sub-agent dispatch in series (placeholder)')
|
|
96
|
+
.requiredOption('--project <path>', 'target project root')).action((options) => runSwarmPipelinePlaceholder(options, io));
|
|
97
|
+
addJsonOption(swarm
|
|
98
|
+
.command('dispatch')
|
|
99
|
+
.description('13.3: speculative fan-out dispatch (placeholder; --speculative flag for future)')
|
|
100
|
+
.requiredOption('--project <path>', 'target project root')
|
|
101
|
+
.option('--speculative', 'enable speculative mode (placeholder)', false)).action((options) => runSwarmDispatchPlaceholder(options, io));
|
|
102
|
+
addJsonOption(swarm
|
|
103
|
+
.command('verify')
|
|
104
|
+
.description('13.4: adversarial verification — runs peaks doctor in skeptic iterations (placeholder; future slice uses skeptic prompts)')
|
|
105
|
+
.requiredOption('--project <path>', 'target project root')
|
|
106
|
+
.option('--skeptics <count>', 'number of skeptic iterations to run (default 1)', '1')).action((options) => runSwarmVerifyPlaceholder(options, io));
|
|
107
|
+
addJsonOption(swarm
|
|
108
|
+
.command('loop')
|
|
109
|
+
.description('13.5: loop-until-dry — runs peaks doctor in a loop until no new FAIL findings (placeholder; max 10 iterations)')
|
|
110
|
+
.requiredOption('--project <path>', 'target project root')).action((options) => runSwarmLoopPlaceholder(options, io));
|
|
111
|
+
}
|
|
112
|
+
export function registerWorkflowSwarmCommands(program, io) {
|
|
113
|
+
// `registerSwarmCommands` (a thin wrapper around the new
|
|
114
|
+
// `planRdSwarmGraph` service). The legacy `peaks swarm plan` /
|
|
115
|
+
// `peaks swarm-plan` registrations above stay in-place for back-compat
|
|
116
|
+
const swarm = program.command('swarm').description('Plan RD swarm dry-run graphs');
|
|
117
|
+
addSwarmPlanOptions(swarm.command('plan'), true).action(async (options) => {
|
|
118
|
+
await runSwarmPlan(io, options);
|
|
119
|
+
});
|
|
120
|
+
addSwarmPlanOptions(program.command('swarm-plan'), false).action(async (options) => {
|
|
121
|
+
await runSwarmPlan(io, options);
|
|
122
|
+
});
|
|
123
|
+
registerSwarmCommands(program, io);
|
|
124
|
+
// above are byte-for-byte untouched.
|
|
125
|
+
registerAutonomousSwarmCommands(program, io);
|
|
126
|
+
// Slice 4.0.8 — workflow lifecycle CLI (init / graph show / graph list /
|
|
127
|
+
// node prepare / node ack / node mark-lost / terminalize). Registered
|
|
128
|
+
// sibling to planning handlers per RD §4.
|
|
129
|
+
registerWorkflowLifecycleCommand(program, io);
|
|
130
|
+
// Slice #13 Swarm Algorithm Upgrade — 4 additional subcommands.
|
|
131
|
+
// (peaks swarm plan above is slice #13.1; the 4 below are 13.2-13.5).
|
|
132
|
+
registerSwarmPlaceholderCommands(swarm, io);
|
|
133
|
+
addJsonOption(program
|
|
134
|
+
.command('recommend')
|
|
135
|
+
.description('Create a dry-run recommendation plan for a workflow')
|
|
136
|
+
.requiredOption('--workflow <workflow>', 'workflow: code-refactor, product-refactor, or frontend-design')
|
|
137
|
+
.option('--language <language>', 'human presentation language')).action((options) => runRecommendAction(options, io));
|
|
138
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import { type ProgramIO } from '../cli-helpers.js';
|
|
3
|
+
import { type TechPlanOptions, type TechStatusOptions, type WorkflowRouteOptions } from './workflow-plan-helpers.js';
|
|
4
|
+
export declare function runTechPlan(io: ProgramIO, options: TechPlanOptions): void;
|
|
5
|
+
export declare function runTechStatus(io: ProgramIO, options: TechStatusOptions): void;
|
|
6
|
+
export declare function runWorkflowRoute(io: ProgramIO, options: WorkflowRouteOptions): void;
|
|
7
|
+
export declare function runAutonomousWorkflow(io: ProgramIO, options: WorkflowRouteOptions): void;
|
|
8
|
+
export declare function addTechPlanOptions(command: Command): Command;
|
|
9
|
+
export declare function addTechStatusOptions(command: Command): Command;
|
|
10
|
+
export declare function addWorkflowRouteOptions(command: Command, description: string): Command;
|