peaks-loop 4.0.53 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/README-en.md +16 -1
- package/README.md +15 -1
- package/config/eslint/.peaks-rules.cjs +158 -13
- package/config/eslint/tsconfig.lint.json +47 -0
- package/dist/cli/cli-envelope.d.ts +114 -0
- package/dist/cli/cli-envelope.js +85 -0
- package/dist/cli/cli-helpers.d.ts +1 -1
- package/dist/cli/cli-helpers.js +8 -4
- package/dist/cli/commands/_cli-error-envelope.js +1 -1
- package/dist/cli/commands/_register.js +85 -38
- package/dist/cli/commands/_super.js +40 -7
- package/dist/cli/commands/adapter-commands-s2a.js +8 -7
- package/dist/cli/commands/adapter-commands.d.ts +2 -2
- package/dist/cli/commands/adapter-commands.js +7 -8
- package/dist/cli/commands/api-diff-commands.js +5 -4
- package/dist/cli/commands/asset-commands.d.ts +2 -2
- package/dist/cli/commands/asset-commands.js +135 -132
- package/dist/cli/commands/audit-commands.d.ts +1 -1
- package/dist/cli/commands/audit-commands.js +75 -32
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
- package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
- package/dist/cli/commands/baseline-commands.js +34 -9
- package/dist/cli/commands/bee-commands.d.ts +1 -1
- package/dist/cli/commands/bee-commands.js +18 -21
- package/dist/cli/commands/best-practice-scan-command.js +6 -34
- package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
- package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
- package/dist/cli/commands/capability-commands.d.ts +1 -1
- package/dist/cli/commands/capability-commands.js +14 -4
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
- package/dist/cli/commands/changeset-commands.js +21 -18
- package/dist/cli/commands/code-gate-command.js +9 -2
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
- package/dist/cli/commands/code-job-shape-commands.js +21 -45
- package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
- package/dist/cli/commands/code-mode-gate-commands.js +19 -199
- package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
- package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
- package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
- package/dist/cli/commands/code-review-commands.js +18 -3
- package/dist/cli/commands/code-run-command.js +44 -7
- package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
- package/dist/cli/commands/code-runtime-commands.js +105 -73
- package/dist/cli/commands/codegraph-commands.js +175 -11
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/compact-command.js +52 -26
- package/dist/cli/commands/complexity-commands.js +6 -7
- package/dist/cli/commands/config-commands.d.ts +1 -1
- package/dist/cli/commands/config-commands.js +33 -9
- package/dist/cli/commands/container-commands.js +39 -15
- package/dist/cli/commands/context-commands.d.ts +1 -1
- package/dist/cli/commands/context-commands.js +40 -13
- package/dist/cli/commands/core/artifacts-command.js +11 -3
- package/dist/cli/commands/core/binding-commands.js +9 -6
- package/dist/cli/commands/core/doctor-command.js +7 -4
- package/dist/cli/commands/core/memory-command.js +81 -22
- package/dist/cli/commands/core/proxy-command.js +3 -1
- package/dist/cli/commands/core/session-command.js +16 -8
- package/dist/cli/commands/core/skill-command.js +31 -16
- package/dist/cli/commands/core/standards-command.js +55 -13
- package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
- package/dist/cli/commands/cron-commands-actions.js +128 -0
- package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
- package/dist/cli/commands/cron-commands-schedule.js +151 -0
- package/dist/cli/commands/cron-commands.d.ts +35 -32
- package/dist/cli/commands/cron-commands.js +167 -211
- package/dist/cli/commands/cron-scheduler-commands.js +40 -20
- package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
- package/dist/cli/commands/cron-scheduler-persist.js +171 -0
- package/dist/cli/commands/dashboard-long-run.js +45 -14
- package/dist/cli/commands/dashboard-summary.js +15 -5
- package/dist/cli/commands/dispatch-commands.js +69 -34
- package/dist/cli/commands/dispatch-from-dag.js +9 -10
- package/dist/cli/commands/doc-commands.js +8 -9
- package/dist/cli/commands/doctor/invoke-from-code.js +1 -1
- package/dist/cli/commands/e2e-verify-env.d.ts +19 -0
- package/dist/cli/commands/e2e-verify-env.js +19 -0
- package/dist/cli/commands/e2e-verify.d.ts +3 -14
- package/dist/cli/commands/e2e-verify.js +49 -29
- package/dist/cli/commands/ecc-commands.d.ts +1 -1
- package/dist/cli/commands/ecc-commands.js +8 -17
- package/dist/cli/commands/evidence-commands.js +10 -6
- package/dist/cli/commands/evolution-commands.d.ts +2 -2
- package/dist/cli/commands/evolution-commands.js +109 -115
- package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
- package/dist/cli/commands/feedback-commands-helpers.js +33 -0
- package/dist/cli/commands/feedback-commands.js +15 -38
- package/dist/cli/commands/final-review-commands.d.ts +1 -1
- package/dist/cli/commands/final-review-commands.js +24 -22
- package/dist/cli/commands/fixture-commands.d.ts +1 -1
- package/dist/cli/commands/fixture-commands.js +17 -6
- package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
- package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
- package/dist/cli/commands/fork-commands.js +19 -51
- package/dist/cli/commands/fresh-context-commands.js +3 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
- package/dist/cli/commands/gate-commands-enforce.js +210 -0
- package/dist/cli/commands/gate-commands.d.ts +1 -1
- package/dist/cli/commands/gate-commands.js +85 -205
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
- package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
- package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
- package/dist/cli/commands/heartbeat-commands-action.js +192 -0
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
- package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
- package/dist/cli/commands/heartbeat-commands.js +19 -198
- package/dist/cli/commands/hook-handle.d.ts +1 -1
- package/dist/cli/commands/hook-handle.js +46 -13
- package/dist/cli/commands/hooks-commands.d.ts +1 -1
- package/dist/cli/commands/hooks-commands.js +18 -6
- package/dist/cli/commands/ide-commands.d.ts +1 -1
- package/dist/cli/commands/ide-commands.js +5 -3
- package/dist/cli/commands/impact-commands.js +8 -2
- package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
- package/dist/cli/commands/job-add-slice-command.js +151 -0
- package/dist/cli/commands/job-commands.d.ts +64 -0
- package/dist/cli/commands/job-commands.js +134 -63
- package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
- package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
- package/dist/cli/commands/lease-metrics-commands.js +21 -61
- package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
- package/dist/cli/commands/lease-stats-commands.js +9 -6
- package/dist/cli/commands/lint-commands.d.ts +9 -3
- package/dist/cli/commands/lint-commands.js +15 -8
- package/dist/cli/commands/log-commands.d.ts +1 -1
- package/dist/cli/commands/log-commands.js +8 -6
- package/dist/cli/commands/loop-commands.d.ts +1 -1
- package/dist/cli/commands/loop-commands.js +50 -50
- package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
- package/dist/cli/commands/loop-eval-commands.js +101 -30
- package/dist/cli/commands/memory-commands.js +21 -13
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
- package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
- package/dist/cli/commands/mut-commands-helpers.js +43 -0
- package/dist/cli/commands/mut-commands.js +16 -58
- package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
- package/dist/cli/commands/observability-commands-queries.js +113 -0
- package/dist/cli/commands/observability-commands.d.ts +1 -1
- package/dist/cli/commands/observability-commands.js +7 -92
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +20 -8
- package/dist/cli/commands/outer-cache-commands.js +18 -7
- package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
- package/dist/cli/commands/perf-audit-commands.js +12 -7
- package/dist/cli/commands/perf-commands.d.ts +1 -1
- package/dist/cli/commands/perf-commands.js +5 -5
- package/dist/cli/commands/playwright-commands.d.ts +1 -1
- package/dist/cli/commands/playwright-commands.js +20 -8
- package/dist/cli/commands/polyrepo-commands.js +21 -19
- package/dist/cli/commands/prd-blocks-commands.js +1 -3
- package/dist/cli/commands/prd-commands.d.ts +1 -1
- package/dist/cli/commands/prd-commands.js +21 -2
- package/dist/cli/commands/preferences-commands.js +13 -12
- package/dist/cli/commands/primer-command.js +5 -5
- package/dist/cli/commands/project-commands.d.ts +1 -1
- package/dist/cli/commands/project-commands.js +33 -9
- package/dist/cli/commands/qa-business-review-commands.js +16 -12
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +3 -5
- package/dist/cli/commands/release-commands.d.ts +3 -1
- package/dist/cli/commands/release-commands.js +33 -22
- package/dist/cli/commands/request-commands.js +47 -30
- package/dist/cli/commands/request-format-helpers.js +1 -1
- package/dist/cli/commands/retrospective-commands.d.ts +18 -11
- package/dist/cli/commands/retrospective-commands.js +24 -173
- package/dist/cli/commands/retrospective-index-command.d.ts +26 -0
- package/dist/cli/commands/retrospective-index-command.js +99 -0
- package/dist/cli/commands/retrospective-project-root.d.ts +9 -0
- package/dist/cli/commands/retrospective-project-root.js +15 -0
- package/dist/cli/commands/retrospective-search-command.d.ts +27 -0
- package/dist/cli/commands/retrospective-search-command.js +97 -0
- package/dist/cli/commands/retrospective-show-command.d.ts +23 -0
- package/dist/cli/commands/retrospective-show-command.js +80 -0
- package/dist/cli/commands/reviewer-commands.d.ts +1 -1
- package/dist/cli/commands/role-commands.js +14 -9
- package/dist/cli/commands/runtime-commands.js +14 -7
- package/dist/cli/commands/sc-commands.d.ts +1 -1
- package/dist/cli/commands/sc-commands.js +39 -6
- package/dist/cli/commands/scan-commands.js +36 -13
- package/dist/cli/commands/security-audit-commands.d.ts +1 -1
- package/dist/cli/commands/security-audit-commands.js +12 -7
- package/dist/cli/commands/sediment-commands.d.ts +2 -2
- package/dist/cli/commands/sediment-commands.js +146 -139
- package/dist/cli/commands/session-24h-mode.js +15 -2
- package/dist/cli/commands/session-checkpoint-command.js +1 -1
- package/dist/cli/commands/session-migrate-skill-name.js +1 -1
- package/dist/cli/commands/shadcn-commands.d.ts +1 -1
- package/dist/cli/commands/shadcn-commands.js +3 -1
- package/dist/cli/commands/share-commands.js +38 -39
- package/dist/cli/commands/skill-conformance-commands.d.ts +1 -1
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +16 -17
- package/dist/cli/commands/skill-visibility.js +2 -2
- package/dist/cli/commands/slice-commands.d.ts +1 -1
- package/dist/cli/commands/slice-commands.js +36 -12
- package/dist/cli/commands/slice-integrate-commands.js +6 -7
- package/dist/cli/commands/slice-review-commands-helpers.d.ts +26 -0
- package/dist/cli/commands/slice-review-commands-helpers.js +26 -0
- package/dist/cli/commands/slice-review-commands.js +16 -24
- package/dist/cli/commands/smoke-commands-add-path.d.ts +14 -0
- package/dist/cli/commands/smoke-commands-add-path.js +39 -0
- package/dist/cli/commands/smoke-commands-define.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-define.js +97 -0
- package/dist/cli/commands/smoke-commands-run.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-run.js +119 -0
- package/dist/cli/commands/smoke-commands.d.ts +10 -1
- package/dist/cli/commands/smoke-commands.js +17 -179
- package/dist/cli/commands/sop-commands.d.ts +1 -1
- package/dist/cli/commands/sop-commands.js +38 -10
- package/dist/cli/commands/statusline-commands.d.ts +1 -1
- package/dist/cli/commands/statusline-commands.js +21 -10
- package/dist/cli/commands/sub-agent/detached.js +3 -3
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +1 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +23 -0
- package/dist/cli/commands/sub-agent-shared.js +40 -1
- package/dist/cli/commands/sub-agent-shutdown-commands.js +17 -9
- package/dist/cli/commands/swarm-commands.d.ts +1 -1
- package/dist/cli/commands/swarm-commands.js +13 -6
- package/dist/cli/commands/tech-commands-helpers.d.ts +37 -0
- package/dist/cli/commands/tech-commands-helpers.js +24 -0
- package/dist/cli/commands/tech-commands.d.ts +2 -29
- package/dist/cli/commands/tech-commands.js +15 -28
- package/dist/cli/commands/test-commands.js +27 -7
- package/dist/cli/commands/upgrade-commands.d.ts +1 -1
- package/dist/cli/commands/user-touchpoint-commands.js +1 -3
- package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +20 -7
- package/dist/cli/commands/vm-commands.js +48 -19
- package/dist/cli/commands/wave-plan-commands.js +5 -2
- package/dist/cli/commands/web-commands.js +14 -4
- package/dist/cli/commands/web-lifecycle-commands.js +5 -3
- package/dist/cli/commands/workflow-commands.d.ts +1 -1
- package/dist/cli/commands/workflow-commands.js +64 -29
- package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
- package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
- package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
- package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
- package/dist/cli/commands/workflow-plan-commands.js +15 -141
- package/dist/cli/commands/workspace/clean-command.js +4 -1
- package/dist/cli/commands/workspace/helpers.js +2 -1
- package/dist/cli/commands/workspace/init-command.js +80 -20
- package/dist/cli/commands/workspace/reconcile-command.js +3 -1
- package/dist/cli/commands/workspace-commands.d.ts +1 -1
- package/dist/cli/commands/workspace-commands.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-auth-commands.js +16 -169
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
- package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
- package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
- package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-lease-commands.js +65 -37
- package/dist/cli/index.js +6 -2
- package/dist/cli/program.js +6 -3
- package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
- package/dist/reporters/bdd-reporter.js +9 -3
- package/dist/services/24h-mode/auto-engage.d.ts +19 -0
- package/dist/services/24h-mode/auto-engage.js +35 -0
- package/dist/services/24h-mode/decider.js +5 -1
- package/dist/services/24h-mode/store.js +4 -2
- package/dist/services/adapter/adapter-registry.js +20 -8
- package/dist/services/adapter/adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.js +1 -1
- package/dist/services/adapter/claude-adapter.d.ts +1 -1
- package/dist/services/adapter/claude-adapter.js +8 -8
- package/dist/services/adapter/codex-adapter.d.ts +2 -2
- package/dist/services/adapter/codex-adapter.js +20 -8
- package/dist/services/adapter/copilot-adapter.d.ts +2 -2
- package/dist/services/adapter/copilot-adapter.js +20 -8
- package/dist/services/artifacts/artifact-prerequisites.js +44 -8
- package/dist/services/artifacts/artifact-service.js +3 -1
- package/dist/services/artifacts/artifact-template-bodies.d.ts +12 -0
- package/dist/services/artifacts/artifact-template-bodies.js +165 -0
- package/dist/services/artifacts/artifact-templates.js +26 -168
- package/dist/services/artifacts/request-artifact-service.js +14 -7
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +3 -2
- package/dist/services/artifacts/request-artifact-state-helpers.js +3 -5
- package/dist/services/artifacts/workspace-artifact-helpers.d.ts +28 -0
- package/dist/services/artifacts/workspace-artifact-helpers.js +54 -0
- package/dist/services/artifacts/workspace-service.d.ts +3 -22
- package/dist/services/artifacts/workspace-service.js +10 -60
- package/dist/services/audit/artifact-writer.js +21 -21
- package/dist/services/audit/audit-goal-service.js +2 -2
- package/dist/services/audit/backing-detector.js +7 -4
- package/dist/services/audit/classifier.js +3 -3
- package/dist/services/audit/decision-writer.js +13 -9
- package/dist/services/audit/enforcer-liveness.js +1 -1
- package/dist/services/audit/enforcers/active-skill-resolver.js +15 -7
- package/dist/services/audit/enforcers/design-draft-confirm.js +4 -4
- package/dist/services/audit/enforcers/lint-audit-regression.js +10 -5
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +16 -8
- package/dist/services/audit/enforcers/lint-catalog-governance.js +8 -4
- package/dist/services/audit/enforcers/lint-output-style.js +4 -2
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +20 -20
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +5 -5
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +1 -1
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +5 -5
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +10 -10
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +10 -8
- package/dist/services/audit/enforcers/lint-reference-shape.js +50 -18
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +5 -5
- package/dist/services/audit/enforcers/lint-style.js +44 -11
- package/dist/services/audit/enforcers/lint-workflow-shape.js +4 -2
- package/dist/services/audit/enforcers/login-gate.js +2 -6
- package/dist/services/audit/enforcers/mock-placement.js +2 -2
- package/dist/services/audit/enforcers/no-root-pollution.js +38 -9
- package/dist/services/audit/enforcers/pre-rd-scan.js +1 -1
- package/dist/services/audit/enforcers/prototype-fidelity.js +1 -1
- package/dist/services/audit/enforcers/resume-detection.js +5 -4
- package/dist/services/audit/prose-ratio-calculator.js +1 -1
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +39 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.d.ts +52 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +3 -374
- package/dist/services/audit/red-line-catalog-p2-b.js +26 -26
- package/dist/services/audit/red-line-catalog.js +26 -38
- package/dist/services/audit/red-lines-service.js +64 -49
- package/dist/services/audit/scanners/openspec-scanner.js +2 -2
- package/dist/services/audit/scanners/rules-tree-scanner.js +2 -2
- package/dist/services/audit/scanners/skills-tree-scanner.js +2 -2
- package/dist/services/audit/static-service.js +3 -3
- package/dist/services/audit-independent/index.d.ts +2 -2
- package/dist/services/audit-independent/index.js +2 -2
- package/dist/services/audit-independent/perf-audit-service.js +19 -8
- package/dist/services/audit-independent/security-audit-service.js +31 -16
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +75 -46
- package/dist/services/best-practice/output-formatter.js +7 -1
- package/dist/services/capability-audit-service/cross-check.js +11 -5
- package/dist/services/capability-audit-service/runner.js +15 -7
- package/dist/services/capability-baseline/store.js +16 -4
- package/dist/services/capability-baseline/types.js +15 -3
- package/dist/services/capability-baseline/validator.js +43 -7
- package/dist/services/capability-guard-runner/contracts/J02.js +36 -6
- package/dist/services/capability-guard-runner/contracts/J03.js +20 -11
- package/dist/services/capability-guard-runner/contracts/J04.js +24 -15
- package/dist/services/capability-guard-runner/contracts/J05.js +26 -10
- package/dist/services/capability-guard-runner/contracts/J07.js +8 -2
- package/dist/services/capability-guard-runner/contracts/J08.js +22 -5
- package/dist/services/capability-guard-runner/contracts/J10.js +6 -2
- package/dist/services/capability-guard-runner/contracts/J11.d.ts +5 -0
- package/dist/services/capability-guard-runner/contracts/J11.js +14 -2
- package/dist/services/capability-guard-runner/contracts/J12.js +12 -3
- package/dist/services/capability-guard-runner/diff.js +1 -5
- package/dist/services/changeset/changeset-check-service.js +1 -3
- package/dist/services/classify/classify-service.js +20 -8
- package/dist/services/classify/classify-types.js +22 -9
- package/dist/services/code/auto-compact-lifecycle.js +62 -39
- package/dist/services/code/auto-compact-modes.js +2 -2
- package/dist/services/code/auto-compact-orchestrator.js +14 -9
- package/dist/services/code/batch-heartbeat-poller.d.ts +10 -0
- package/dist/services/code/batch-heartbeat-poller.js +17 -1
- package/dist/services/code/compact-event-settle-types.d.ts +80 -0
- package/dist/services/code/compact-event-settle-types.js +20 -0
- package/dist/services/code/compact-event-settle.d.ts +3 -68
- package/dist/services/code/compact-event-settle.js +14 -10
- package/dist/services/code/dag-orchestrator.js +32 -26
- package/dist/services/code/job-shape-decision.js +3 -1
- package/dist/services/code/mode-gate-types.d.ts +57 -0
- package/dist/services/code/mode-gate-types.js +67 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +24 -60
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
- package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-probes.js +77 -0
- package/dist/services/code/orchestrator-can-do.d.ts +11 -22
- package/dist/services/code/orchestrator-can-do.js +37 -137
- package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
- package/dist/services/code/post-compact-checkpoint.js +57 -0
- package/dist/services/code/post-compact-detector.js +16 -48
- package/dist/services/code/step-08-gate.d.ts +4 -3
- package/dist/services/code/step-08-gate.js +21 -9
- package/dist/services/code-review/ecc-bridge.js +23 -23
- package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +44 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.js +116 -14
- package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +23 -1
- package/dist/services/codegraph/codegraph-exclude-repair.js +7 -2
- package/dist/services/codegraph/codegraph-index-integrity.js +1 -1
- package/dist/services/codegraph/codegraph-preflight-service.d.ts +3 -26
- package/dist/services/codegraph/codegraph-preflight-service.js +16 -37
- package/dist/services/codegraph/codegraph-preflight-structure.d.ts +32 -0
- package/dist/services/codegraph/codegraph-preflight-structure.js +33 -0
- package/dist/services/codegraph/codegraph-process-runner.js +12 -1
- package/dist/services/codegraph/codegraph-service.js +9 -1
- package/dist/services/compact/request-transition-hook.js +2 -1
- package/dist/services/compact/suggest-service.d.ts +3 -61
- package/dist/services/compact/suggest-service.js +9 -12
- package/dist/services/compact/suggest-types.d.ts +76 -0
- package/dist/services/compact/suggest-types.js +10 -0
- package/dist/services/compact-history/compact-history-service.js +2 -2
- package/dist/services/compact-statusline/compact-lifecycle-store.d.ts +2 -32
- package/dist/services/compact-statusline/compact-lifecycle-store.js +7 -12
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +32 -0
- package/dist/services/compact-statusline/compact-lifecycle-types.js +8 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.d.ts +42 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.js +63 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +4 -21
- package/dist/services/compact-statusline/compact-statusline-service.js +9 -101
- package/dist/services/compact-statusline/compact-statusline-state.d.ts +4 -0
- package/dist/services/compact-statusline/compact-statusline-state.js +50 -0
- package/dist/services/config/config-migration.js +2 -2
- package/dist/services/config/config-restore.js +1 -1
- package/dist/services/config/config-rollback.js +1 -1
- package/dist/services/config/config-safety.js +28 -10
- package/dist/services/config/config-service.js +114 -31
- package/dist/services/config/model-routing.js +5 -2
- package/dist/services/config/proxy-service.js +6 -1
- package/dist/services/config/workspace-state-service.js +17 -5
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +38 -0
- package/dist/services/context/auto-compact-dispatcher-input.js +9 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +2 -30
- package/dist/services/context/auto-compact-reader-input.d.ts +30 -0
- package/dist/services/context/auto-compact-reader-input.js +8 -0
- package/dist/services/context/auto-compact-reader.d.ts +2 -24
- package/dist/services/context/auto-compact-reader.js +4 -1
- package/dist/services/context/auto-compact-thresholds.d.ts +54 -0
- package/dist/services/context/auto-compact-thresholds.js +19 -0
- package/dist/services/context/auto-compact-types.d.ts +2 -46
- package/dist/services/context/auto-compact-types.js +1 -11
- package/dist/services/context/build-dispatch-system-prompt.js +2 -2
- package/dist/services/context/collector.js +8 -10
- package/dist/services/context/context-audit-hint.js +7 -5
- package/dist/services/context/context-audit-keys.d.ts +15 -0
- package/dist/services/context/context-audit-keys.js +77 -0
- package/dist/services/context/context-audit-limits.d.ts +20 -0
- package/dist/services/context/context-audit-limits.js +31 -0
- package/dist/services/context/context-audit-scan.d.ts +19 -0
- package/dist/services/context/context-audit-scan.js +246 -0
- package/dist/services/context/context-audit-types.d.ts +65 -0
- package/dist/services/context/context-audit-types.js +10 -0
- package/dist/services/context/context-audit.d.ts +13 -59
- package/dist/services/context/context-audit.js +38 -254
- package/dist/services/context/context-builder.js +4 -4
- package/dist/services/context/context-schema.d.ts +1 -1
- package/dist/services/context/context-schema.js +13 -13
- package/dist/services/context/doc-retriever.js +2 -2
- package/dist/services/context/harness-context-witness.js +43 -24
- package/dist/services/context/harness-window-config.js +27 -7
- package/dist/services/context/ide-detect.js +2 -1
- package/dist/services/context/index.d.ts +1 -1
- package/dist/services/context/memory-index-reader.js +3 -9
- package/dist/services/context/memory-preflight-config.js +3 -5
- package/dist/services/context/memory-preflight-service.d.ts +2 -20
- package/dist/services/context/memory-preflight-service.js +37 -68
- package/dist/services/context/memory-preflight-support.d.ts +48 -0
- package/dist/services/context/memory-preflight-support.js +56 -0
- package/dist/services/context/post-compact-reinjection.js +3 -3
- package/dist/services/context/renderer.js +7 -3
- package/dist/services/context/spillover-store.js +3 -1
- package/dist/services/context/summary-view.js +1 -1
- package/dist/services/context/threshold.js +2 -2
- package/dist/services/context/tokenizer.js +3 -3
- package/dist/services/crystallization/crystallization-brief-schema.d.ts +80 -0
- package/dist/services/crystallization/crystallization-brief-schema.js +159 -0
- package/dist/services/crystallization/crystallization-service.d.ts +7 -7
- package/dist/services/crystallization/crystallization-service.js +56 -55
- package/dist/services/crystallization/crystallization-store.d.ts +2 -2
- package/dist/services/crystallization/crystallization-store.js +37 -20
- package/dist/services/crystallization/crystallization-types.d.ts +4 -56
- package/dist/services/crystallization/crystallization-types.js +31 -184
- package/dist/services/crystallization/evidence-brief-builder.d.ts +3 -3
- package/dist/services/crystallization/evidence-brief-builder.js +32 -38
- package/dist/services/crystallization/index.d.ts +4 -4
- package/dist/services/crystallization/index.js +4 -4
- package/dist/services/dashboard/project-dashboard-service.js +7 -1
- package/dist/services/dispatch/await-batch-helpers.d.ts +55 -0
- package/dist/services/dispatch/await-batch-helpers.js +206 -0
- package/dist/services/dispatch/await-batch.d.ts +50 -7
- package/dist/services/dispatch/await-batch.js +97 -194
- package/dist/services/dispatch/batch-counter.js +2 -1
- package/dist/services/dispatch/conflict-replay.js +2 -2
- package/dist/services/dispatch/contract-store.js +5 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +81 -0
- package/dist/services/dispatch/dispatch-record-input-types.js +1 -0
- package/dist/services/dispatch/dispatch-record-types.d.ts +6 -73
- package/dist/services/dispatch/dispatch-record-upgrade-fields.d.ts +72 -0
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +242 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.d.ts +15 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +55 -0
- package/dist/services/dispatch/dispatch-record-upgrade.d.ts +2 -4
- package/dist/services/dispatch/dispatch-record-upgrade.js +21 -213
- package/dist/services/dispatch/dispatch-record-writer.js +54 -26
- package/dist/services/dispatch/dispatch-sub-agent.js +7 -2
- package/dist/services/dispatch/e2e-fixtures.js +1 -1
- package/dist/services/dispatch/isolation-lease.js +39 -17
- package/dist/services/dispatch/merge-back-runner.js +51 -11
- package/dist/services/dispatch/service-shutdown.js +4 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +116 -0
- package/dist/services/dispatch/slice-dag-types.js +41 -0
- package/dist/services/dispatch/slice-dag.d.ts +3 -109
- package/dist/services/dispatch/slice-dag.js +13 -36
- package/dist/services/dispatch/sub-agent-batch-await.d.ts +47 -0
- package/dist/services/dispatch/sub-agent-batch-await.js +73 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +122 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.js +12 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +3 -145
- package/dist/services/dispatch/sub-agent-dispatcher.js +14 -70
- package/dist/services/dispatch/test-tool-detection.js +12 -1
- package/dist/services/doc/doc-generator.js +19 -4
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +7 -2
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +26 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +18 -9
- package/dist/services/doctor/doctor-service/checks/ecc-hooks-schema-drift.js +20 -10
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +18 -9
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +25 -11
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +12 -6
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +7 -16
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +50 -70
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +5 -1
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +4 -2
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +8 -4
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +8 -4
- package/dist/services/doctor/doctor-service/checks/user-config.js +4 -2
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +8 -4
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +19 -11
- package/dist/services/doctor/doctor-service/index.js +4 -2
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.d.ts +40 -0
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.js +49 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +1 -1
- package/dist/services/doctor/doctor-service/probe-types.d.ts +210 -0
- package/dist/services/doctor/doctor-service/probe-types.js +14 -0
- package/dist/services/doctor/doctor-service/types.d.ts +7 -197
- package/dist/services/doctor/index.d.ts +1 -1
- package/dist/services/doctor/index.js +1 -1
- package/dist/services/env/shell-probe.js +8 -2
- package/dist/services/evidence/evidence-body-builders.d.ts +23 -0
- package/dist/services/evidence/evidence-body-builders.js +197 -0
- package/dist/services/evidence/evidence-generator.js +16 -189
- package/dist/services/evolution/evolution-constraints.d.ts +43 -0
- package/dist/services/evolution/evolution-constraints.js +54 -0
- package/dist/services/evolution/evolution-evaluation-schema.d.ts +43 -0
- package/dist/services/evolution/evolution-evaluation-schema.js +43 -0
- package/dist/services/evolution/evolution-service.d.ts +6 -6
- package/dist/services/evolution/evolution-service.js +58 -58
- package/dist/services/evolution/evolution-store.d.ts +2 -2
- package/dist/services/evolution/evolution-store.js +37 -51
- package/dist/services/evolution/evolution-types.d.ts +2 -22
- package/dist/services/evolution/evolution-types.js +41 -101
- package/dist/services/evolution/independent-evaluator-runner.d.ts +3 -3
- package/dist/services/evolution/independent-evaluator-runner.js +20 -22
- package/dist/services/evolution/regression-skeptic-runner.d.ts +2 -2
- package/dist/services/evolution/regression-skeptic-runner.js +18 -18
- package/dist/services/feedback/feedback-promotion-service.js +48 -12
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +2 -16
- package/dist/services/feedback/promotion-artifact-evidence.js +6 -83
- package/dist/services/feedback/promotion-artifact-json-evidence.d.ts +29 -0
- package/dist/services/feedback/promotion-artifact-json-evidence.js +39 -0
- package/dist/services/feedback/promotion-source-comments.d.ts +47 -0
- package/dist/services/feedback/promotion-source-comments.js +61 -0
- package/dist/services/final-review/final-review-contract.d.ts +26 -0
- package/dist/services/final-review/final-review-contract.js +14 -0
- package/dist/services/final-review/final-review-delivery.d.ts +63 -0
- package/dist/services/final-review/final-review-delivery.js +124 -0
- package/dist/services/final-review/final-review-evidence-budget.d.ts +125 -0
- package/dist/services/final-review/final-review-evidence-budget.js +218 -0
- package/dist/services/final-review/final-review-evidence-collect.d.ts +4 -0
- package/dist/services/final-review/final-review-evidence-collect.js +230 -0
- package/dist/services/final-review/final-review-evidence-sources.d.ts +138 -0
- package/dist/services/final-review/final-review-evidence-sources.js +139 -0
- package/dist/services/final-review/final-review-fifth-dim.d.ts +8 -0
- package/dist/services/final-review/final-review-fifth-dim.js +20 -0
- package/dist/services/final-review/final-review-gates.d.ts +119 -0
- package/dist/services/final-review/final-review-gates.js +214 -0
- package/dist/services/final-review/final-review-output-budget.d.ts +88 -0
- package/dist/services/final-review/final-review-output-budget.js +161 -0
- package/dist/services/final-review/final-review-prompt.d.ts +35 -0
- package/dist/services/final-review/final-review-prompt.js +112 -0
- package/dist/services/final-review/final-review-reviewer.d.ts +57 -0
- package/dist/services/final-review/final-review-reviewer.js +95 -0
- package/dist/services/final-review/final-review-runner.d.ts +3 -0
- package/dist/services/final-review/final-review-runner.js +158 -0
- package/dist/services/final-review/final-review-service.d.ts +119 -373
- package/dist/services/final-review/final-review-service.js +48 -1380
- package/dist/services/final-review/final-review-verdicts.d.ts +60 -0
- package/dist/services/final-review/final-review-verdicts.js +91 -0
- package/dist/services/final-review/index.d.ts +3 -3
- package/dist/services/final-review/index.js +2 -2
- package/dist/services/final-review/pre-post-diff.js +32 -29
- package/dist/services/fixture/fixture-capture-service.js +14 -6
- package/dist/services/fresh-context/trigger-scan.js +13 -2
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +1 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +6 -1
- package/dist/services/hooks/pre-tool-code-gate.js +2 -2
- package/dist/services/hooks/presence-marker-detector.js +12 -2
- package/dist/services/hooks/worktree-authorization-gate.js +21 -7
- package/dist/services/ide/adapters/claude-code-adapter.js +30 -17
- package/dist/services/ide/adapters/codex-adapter.js +3 -5
- package/dist/services/ide/adapters/cursor-adapter.js +3 -5
- package/dist/services/ide/adapters/hermes-adapter.js +2 -4
- package/dist/services/ide/adapters/openclaw-adapter.js +2 -4
- package/dist/services/ide/adapters/qoder-adapter.js +2 -4
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +1 -1
- package/dist/services/ide/adapters/trae-adapter.js +3 -5
- package/dist/services/ide/adapters/zcode-adapter.js +8 -7
- package/dist/services/ide/current-model-detector.js +2 -1
- package/dist/services/ide/ide-compact-types.d.ts +153 -0
- package/dist/services/ide/ide-compact-types.js +1 -0
- package/dist/services/ide/ide-registry.js +1 -1
- package/dist/services/ide/ide-types.d.ts +7 -145
- package/dist/services/ide/resource-profile.js +1 -1
- package/dist/services/ide/shared/atomic-json.js +2 -1
- package/dist/services/impact/impact-scan-service.js +12 -5
- package/dist/services/job/job-commit-verification.d.ts +73 -0
- package/dist/services/job/job-commit-verification.js +72 -0
- package/dist/services/job/job-orchestrator.d.ts +42 -0
- package/dist/services/job/job-orchestrator.js +110 -10
- package/dist/services/job/job-progress-store.d.ts +75 -5
- package/dist/services/job/job-progress-store.js +83 -6
- package/dist/services/job/job-rotation.d.ts +1 -1
- package/dist/services/job/job-rotation.js +5 -1
- package/dist/services/job/job-state-store.js +2 -2
- package/dist/services/job/job-types.js +49 -20
- package/dist/services/job/subagent-job-wrapper.d.ts +1 -1
- package/dist/services/job/subagent-job-wrapper.js +5 -1
- package/dist/services/job-snapshot/snapshot.js +2 -2
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +23 -13
- package/dist/services/legacy/legacy-detector.js +51 -5
- package/dist/services/lint/detect-eslint.js +10 -4
- package/dist/services/lint/detect-ocr-18.js +11 -3
- package/dist/services/lint/eslint-runner-support.d.ts +22 -0
- package/dist/services/lint/eslint-runner-support.js +185 -0
- package/dist/services/lint/eslint-runner-types.d.ts +69 -0
- package/dist/services/lint/eslint-runner-types.js +11 -0
- package/dist/services/lint/eslint-runner.d.ts +4 -56
- package/dist/services/lint/eslint-runner.js +24 -178
- package/dist/services/lint/npx-resolver.js +1 -3
- package/dist/services/lint/ocr-18-acquire.js +15 -4
- package/dist/services/lint/ocr-multilang-adapter.js +4 -5
- package/dist/services/llm/anthropic-runner.js +4 -1
- package/dist/services/log/log-commands-service.js +2 -6
- package/dist/services/log/logger.js +15 -12
- package/dist/services/log/retention.js +3 -2
- package/dist/services/loop/evaluator-dispatcher.js +78 -42
- package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
- package/dist/services/loop/loop-bee-relation-service.js +36 -40
- package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-store.js +9 -11
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +14 -25
- package/dist/services/loop/loop-release-service.d.ts +2 -2
- package/dist/services/loop/loop-release-service.js +3 -3
- package/dist/services/loop/loop-release-store.d.ts +2 -2
- package/dist/services/loop/loop-release-store.js +4 -6
- package/dist/services/loop/loop-release-types.d.ts +1 -1
- package/dist/services/loop/loop-release-types.js +21 -31
- package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
- package/dist/services/loop/monotonic-guard-types.js +9 -0
- package/dist/services/loop/monotonic-guard.d.ts +2 -43
- package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
- package/dist/services/loop/monotonic-runner-types.js +17 -0
- package/dist/services/loop/monotonic-runner.d.ts +3 -34
- package/dist/services/loop/monotonic-runner.js +10 -20
- package/dist/services/loop/run-driver.js +16 -8
- package/dist/services/loop/spec-service.d.ts +0 -5
- package/dist/services/loop/spec-service.js +49 -9
- package/dist/services/memory/llm-reranker-core.d.ts +108 -0
- package/dist/services/memory/llm-reranker-core.js +105 -0
- package/dist/services/memory/llm-reranker.d.ts +3 -94
- package/dist/services/memory/llm-reranker.js +13 -102
- package/dist/services/memory/memory-ingest-service.d.ts +1 -22
- package/dist/services/memory/memory-ingest-service.js +29 -76
- package/dist/services/memory/memory-ingest-support.d.ts +23 -0
- package/dist/services/memory/memory-ingest-support.js +81 -0
- package/dist/services/memory/memory-rotate-service.js +41 -8
- package/dist/services/memory/memory-search-service.js +8 -4
- package/dist/services/memory/project-context-service.js +26 -5
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
- package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
- package/dist/services/memory/project-memory-service/index.d.ts +1 -1
- package/dist/services/memory/project-memory-service/index.js +1 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +31 -0
- package/dist/services/memory/project-memory-service/memory-kinds.js +87 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.d.ts +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.js +104 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +2 -24
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +28 -79
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +15 -3
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +59 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +189 -17
- package/dist/services/memory/project-memory-service/store/paths.js +2 -1
- package/dist/services/memory/project-memory-service/types.d.ts +3 -31
- package/dist/services/memory/project-memory-service/types.js +1 -76
- package/dist/services/migrate-skill-name/migrate.js +1 -1
- package/dist/services/migrate-skill-name/schema.js +1 -1
- package/dist/services/mode/mode-enforcement.js +4 -2
- package/dist/services/mode/mode-status-service.d.ts +27 -9
- package/dist/services/mode/mode-status-service.js +64 -12
- package/dist/services/observability/aggregation-helpers.d.ts +22 -0
- package/dist/services/observability/aggregation-helpers.js +65 -0
- package/dist/services/observability/aggregation-types.d.ts +66 -0
- package/dist/services/observability/aggregation-types.js +34 -0
- package/dist/services/observability/aggregation.d.ts +5 -53
- package/dist/services/observability/aggregation.js +17 -80
- package/dist/services/observability/jsonl-store.js +2 -1
- package/dist/services/observability/observability-schema.d.ts +71 -0
- package/dist/services/observability/observability-schema.js +64 -0
- package/dist/services/observability/observability-service.d.ts +3 -56
- package/dist/services/observability/observability-service.js +9 -49
- package/dist/services/openspec/coverage-evidence-reader.js +18 -11
- package/dist/services/openspec/openspec-archive-service.js +31 -24
- package/dist/services/openspec/openspec-init-service.js +8 -2
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-scan-service.js +4 -1
- package/dist/services/openspec/openspec-validate-service.js +26 -5
- package/dist/services/perf/perf-baseline-service.js +2 -6
- package/dist/services/polyrepo/polyrepo-dispatcher.js +2 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +4 -1
- package/dist/services/prd/gate-evidence-derivation.d.ts +160 -0
- package/dist/services/prd/gate-evidence-derivation.js +270 -0
- package/dist/services/prd/handoff-auto-regen.js +13 -1
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +42 -0
- package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
- package/dist/services/prd/handoff-frontmatter.d.ts +1 -1
- package/dist/services/prd/handoff-frontmatter.js +63 -1
- package/dist/services/prd/handoff-gate-evidence.d.ts +95 -1
- package/dist/services/prd/handoff-gate-evidence.js +125 -57
- package/dist/services/prd/handoff-path-resolution.d.ts +37 -0
- package/dist/services/prd/handoff-path-resolution.js +101 -0
- package/dist/services/prd/handoff-service.d.ts +22 -38
- package/dist/services/prd/handoff-service.js +38 -127
- package/dist/services/prd/handoff-types.d.ts +40 -0
- package/dist/services/prd/handoff-types.js +28 -1
- package/dist/services/prd/prd-blocks-checker.js +28 -8
- package/dist/services/prd/project-scan-bootstrap-service.js +1 -5
- package/dist/services/prd/project-scan-reader.d.ts +7 -0
- package/dist/services/prd/project-scan-reader.js +8 -5
- package/dist/services/prd/project-scan-sediment.js +1 -4
- package/dist/services/preferences/preferences-service.js +6 -8
- package/dist/services/preferences/preferences-types.js +4 -4
- package/dist/services/qa/bdd-test-style-contract.d.ts +41 -0
- package/dist/services/qa/bdd-test-style-contract.js +37 -0
- package/dist/services/qa/bdd-test-style-verifier.d.ts +2 -24
- package/dist/services/qa/bdd-test-style-verifier.js +5 -31
- package/dist/services/qa/browser-event-logger.js +2 -1
- package/dist/services/qa/qa-business-review-state.js +20 -5
- package/dist/services/qa/screenshot-archive-service.js +1 -3
- package/dist/services/rd/ast-gate.js +2 -2
- package/dist/services/rd/impl.js +1 -1
- package/dist/services/rd/rd-service.js +117 -43
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +36 -8
- package/dist/services/rd/reviewer-dispatch-policy.js +40 -15
- package/dist/services/rd/standards-diagnostic.js +4 -1
- package/dist/services/rd/strategy.js +10 -3
- package/dist/services/rd/tactical-stage.js +2 -2
- package/dist/services/rd/types.js +9 -7
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +2 -45
- package/dist/services/rd-swarm/rd-swarm-service.js +140 -21
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +54 -0
- package/dist/services/rd-swarm/rd-swarm-types.js +10 -0
- package/dist/services/recommendations/capability-map-service.js +10 -2
- package/dist/services/recommendations/capability-seed-items.js +81 -14
- package/dist/services/recommendations/capability-seed-mappings.js +420 -48
- package/dist/services/recommendations/capability-seed-sources-mcp-server.d.ts +9 -0
- package/dist/services/recommendations/capability-seed-sources-mcp-server.js +233 -0
- package/dist/services/recommendations/capability-seed-sources.js +127 -32
- package/dist/services/release/release-state.d.ts +2 -2
- package/dist/services/release/release-state.js +44 -15
- package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
- package/dist/services/release/version-precheck-layer-changeset.js +43 -0
- package/dist/services/release/version-precheck-service.d.ts +11 -36
- package/dist/services/release/version-precheck-service.js +20 -104
- package/dist/services/release/version-precheck-support.d.ts +53 -0
- package/dist/services/release/version-precheck-support.js +64 -0
- package/dist/services/retrospective/retrospective-index.js +17 -3
- package/dist/services/retrospective/retrospective-search-service.js +6 -2
- package/dist/services/retrospective/retrospective-show.js +4 -1
- package/dist/services/reviewer/model-family.js +7 -1
- package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
- package/dist/services/reviewer/providers/anthropic.js +10 -1
- package/dist/services/reviewer/providers/openai.d.ts +5 -0
- package/dist/services/reviewer/providers/openai.js +10 -1
- package/dist/services/reviewer/reviewer-config.js +4 -2
- package/dist/services/reviewer/reviewer-service.d.ts +2 -36
- package/dist/services/reviewer/reviewer-service.js +2 -1
- package/dist/services/reviewer/reviewer-types.d.ts +43 -0
- package/dist/services/reviewer/reviewer-types.js +1 -0
- package/dist/services/role/role-registry.js +9 -1
- package/dist/services/runtime/runtime-detector.js +4 -1
- package/dist/services/runtime/vendors/claude-code.js +14 -6
- package/dist/services/runtime/vendors/codex.js +11 -3
- package/dist/services/runtime/vendors/copilot.js +11 -3
- package/dist/services/sc/sc-service.js +28 -15
- package/dist/services/scan/acceptance-coverage-service.js +4 -1
- package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
- package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
- package/dist/services/scan/api-diff-openapi.d.ts +16 -2
- package/dist/services/scan/api-diff-openapi.js +19 -123
- package/dist/services/scan/api-diff-recorded.js +16 -3
- package/dist/services/scan/api-diff-service.js +49 -16
- package/dist/services/scan/api-diff-types.js +12 -3
- package/dist/services/scan/api-surface-helpers.d.ts +13 -0
- package/dist/services/scan/api-surface-helpers.js +31 -0
- package/dist/services/scan/api-surface-service.d.ts +2 -45
- package/dist/services/scan/api-surface-service.js +15 -26
- package/dist/services/scan/api-surface-types.d.ts +54 -0
- package/dist/services/scan/api-surface-types.js +10 -0
- package/dist/services/scan/archetype-detection.d.ts +37 -0
- package/dist/services/scan/archetype-detection.js +142 -0
- package/dist/services/scan/archetype-service.js +36 -125
- package/dist/services/scan/diff-scope-service.js +35 -15
- package/dist/services/scan/existing-system-service.js +16 -99
- package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
- package/dist/services/scan/existing-system-visual-tokens.js +123 -0
- package/dist/services/scan/file-size-policy.d.ts +86 -0
- package/dist/services/scan/file-size-policy.js +184 -0
- package/dist/services/scan/file-size-scan.d.ts +30 -3
- package/dist/services/scan/file-size-scan.js +47 -9
- package/dist/services/scan/karpathy-service.js +6 -1
- package/dist/services/scan/orphan-service.js +86 -20
- package/dist/services/scan/type-sanity-service.js +104 -10
- package/dist/services/sediment/dispose-confirm.d.ts +2 -2
- package/dist/services/sediment/dispose-confirm.js +2 -2
- package/dist/services/sediment/json-schema.d.ts +1 -1
- package/dist/services/sediment/json-schema.js +25 -13
- package/dist/services/sediment/manifest-lint.d.ts +1 -12
- package/dist/services/sediment/manifest-lint.js +1 -7
- package/dist/services/sediment/pool-paths.js +13 -9
- package/dist/services/sediment/pool-read.d.ts +1 -1
- package/dist/services/sediment/pool-read.js +42 -18
- package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
- package/dist/services/sediment/pool-rebuild-index.js +5 -5
- package/dist/services/sediment/pool-write.d.ts +1 -1
- package/dist/services/sediment/pool-write.js +7 -7
- package/dist/services/sediment/promotion-gate.d.ts +1 -1
- package/dist/services/sediment/promotion-gate.js +9 -9
- package/dist/services/sediment/types.d.ts +8 -8
- package/dist/services/session/binding-status-service.js +14 -4
- package/dist/services/session/caller-binding-service.js +2 -1
- package/dist/services/session/getSessionDir.js +4 -1
- package/dist/services/session/index.d.ts +1 -1
- package/dist/services/session/index.js +1 -1
- package/dist/services/session/resolve-caller-id.js +7 -5
- package/dist/services/session/session-binding-bridge.js +26 -25
- package/dist/services/session/session-checkpoint-service.js +1 -1
- package/dist/services/session/session-file-schema.d.ts +70 -0
- package/dist/services/session/session-file-schema.js +68 -0
- package/dist/services/session/session-manager.d.ts +6 -6
- package/dist/services/session/session-manager.js +30 -29
- package/dist/services/session/session-resume-service.js +2 -1
- package/dist/services/share/bundle-format-constants.d.ts +85 -0
- package/dist/services/share/bundle-format-constants.js +100 -0
- package/dist/services/share/bundle-reader.d.ts +3 -3
- package/dist/services/share/bundle-reader.js +75 -68
- package/dist/services/share/bundle-types.d.ts +3 -70
- package/dist/services/share/bundle-types.js +38 -107
- package/dist/services/share/bundle-writer.d.ts +3 -3
- package/dist/services/share/bundle-writer.js +101 -91
- package/dist/services/share/run-state-contract.d.ts +1 -1
- package/dist/services/share/run-state-contract.js +7 -13
- package/dist/services/signal/cancel-handler.js +2 -1
- package/dist/services/skill/resume-detector.js +6 -4
- package/dist/services/skill/skill-scheduler.js +3 -1
- package/dist/services/skill/skill-search-service.js +4 -4
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-diff.js +6 -10
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-export.js +15 -17
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.js +4 -4
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +13 -12
- package/dist/services/skillhub/release-retain.d.ts +3 -3
- package/dist/services/skillhub/release-retain.js +22 -22
- package/dist/services/skillhub/sqlite-store.d.ts +1 -1
- package/dist/services/skillhub/sqlite-store.js +12 -11
- package/dist/services/skillhub/tar-runtime.js +15 -15
- package/dist/services/skillhub/types.d.ts +4 -4
- package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
- package/dist/services/skills/hooks-settings-service.js +61 -19
- package/dist/services/skills/presence-lease-service.js +26 -16
- package/dist/services/skills/presence-lease-types.d.ts +1 -1
- package/dist/services/skills/presence-lease-types.js +1 -1
- package/dist/services/skills/skill-conformance-service.js +40 -8
- package/dist/services/skills/skill-presence-service.js +16 -14
- package/dist/services/skills/skill-runbook-service.js +2 -1
- package/dist/services/skills/skill-statusline-model.d.ts +128 -0
- package/dist/services/skills/skill-statusline-model.js +163 -0
- package/dist/services/skills/skill-statusline-renderer.js +4 -3
- package/dist/services/skills/skill-statusline-service.d.ts +3 -100
- package/dist/services/skills/skill-statusline-service.js +56 -163
- package/dist/services/skills/statusline-palette.js +11 -6
- package/dist/services/skills/statusline-settings-service.js +2 -1
- package/dist/services/skills/sync-service-support.d.ts +65 -0
- package/dist/services/skills/sync-service-support.js +50 -0
- package/dist/services/skills/sync-service.d.ts +3 -66
- package/dist/services/skills/sync-service.js +15 -53
- package/dist/services/slice/calibration-store.js +8 -2
- package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
- package/dist/services/slice/cross-pass-edge-merger.js +13 -63
- package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
- package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
- package/dist/services/slice/granularity-decider.js +2 -2
- package/dist/services/slice/slice-archive-service.js +8 -3
- package/dist/services/slice/slice-check-service.js +19 -8
- package/dist/services/slice/slice-decompose-runners.js +61 -23
- package/dist/services/slice/slice-decompose-service.js +4 -4
- package/dist/services/slice/slice-review-state.js +8 -2
- package/dist/services/smoke/smoke-paths-state.js +9 -2
- package/dist/services/sop/gate-enforce-service.js +9 -2
- package/dist/services/sop/sop-advance-service.js +14 -2
- package/dist/services/sop/sop-check-service.js +16 -4
- package/dist/services/sop/sop-paths.js +3 -1
- package/dist/services/sop/sop-registry-service.js +5 -1
- package/dist/services/sop/sop-service.js +29 -7
- package/dist/services/sop/sop-types.js +5 -1
- package/dist/services/standards/ide-aware-standards-service.js +2 -2
- package/dist/services/standards/loop-engineering-lint.js +12 -5
- package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
- package/dist/services/standards/migrate-claude-rules-service.js +9 -7
- package/dist/services/standards/missing-standards-detector.js +1 -3
- package/dist/services/standards/project-context-support.d.ts +50 -0
- package/dist/services/standards/project-context-support.js +244 -0
- package/dist/services/standards/project-context-types.d.ts +30 -0
- package/dist/services/standards/project-context-types.js +11 -0
- package/dist/services/standards/project-context.d.ts +10 -22
- package/dist/services/standards/project-context.js +27 -214
- package/dist/services/standards/project-standards-service.js +43 -12
- package/dist/services/standards/standards-render-common.d.ts +15 -0
- package/dist/services/standards/standards-render-common.js +49 -0
- package/dist/services/standards/standards-render.d.ts +1 -2
- package/dist/services/standards/standards-render.js +31 -58
- package/dist/services/standards/ui-library-dispatch-block.js +1 -1
- package/dist/services/tech/tech-change-id-service.js +7 -7
- package/dist/services/tech/tech-service.js +73 -26
- package/dist/services/test-cache/test-cache-service.js +8 -3
- package/dist/services/upgrade/1x-detector-service.js +5 -3
- package/dist/services/upgrade/gitignore-migrate-service.js +5 -5
- package/dist/services/upgrade/upgrade-service.js +36 -13
- package/dist/services/verdict/envelope-parsers.d.ts +84 -0
- package/dist/services/verdict/envelope-parsers.js +146 -0
- package/dist/services/verdict/envelopes.d.ts +50 -60
- package/dist/services/verdict/envelopes.js +18 -156
- package/dist/services/verdict/verdict-aggregator.js +27 -3
- package/dist/services/vm/vm-lease.js +15 -3
- package/dist/services/web/aria-node.d.ts +27 -0
- package/dist/services/web/aria-node.js +1 -0
- package/dist/services/web/browser-acquire.js +3 -1
- package/dist/services/web/browser-cache-probe.d.ts +18 -0
- package/dist/services/web/browser-cache-probe.js +110 -0
- package/dist/services/web/browser-session-manager.js +6 -2
- package/dist/services/web/daemon-registry.js +4 -1
- package/dist/services/web/playwright-loader.d.ts +2 -70
- package/dist/services/web/playwright-types.d.ts +75 -0
- package/dist/services/web/playwright-types.js +1 -0
- package/dist/services/web/snapshot-pruner.d.ts +2 -23
- package/dist/services/web/snapshot-pruner.js +8 -3
- package/dist/services/web/web-daemon-service.js +1 -3
- package/dist/services/web/web-install-service.d.ts +3 -32
- package/dist/services/web/web-install-service.js +21 -100
- package/dist/services/web/web-install-types.d.ts +31 -0
- package/dist/services/web/web-install-types.js +13 -0
- package/dist/services/web/web-login-profile.js +7 -5
- package/dist/services/web/web-protocol.js +3 -1
- package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
- package/dist/services/workflow/pipeline-verify-service.js +17 -6
- package/dist/services/workflow/plan-reader.js +5 -1
- package/dist/services/workflow/plan-refresher.js +20 -6
- package/dist/services/workflow/plan-trigger-detector.js +31 -8
- package/dist/services/workflow/provision-dispatch-node.js +8 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
- package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
- package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
- package/dist/services/workflow/workflow-autonomous-service.js +25 -13
- package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
- package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
- package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
- package/dist/services/workflow/workflow-graph-store.js +30 -107
- package/dist/services/workflow/workflow-graph-types.js +3 -3
- package/dist/services/workflow/workflow-inflight-probe.js +14 -7
- package/dist/services/workflow/workflow-loader.js +5 -1
- package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
- package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
- package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
- package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
- package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
- package/dist/services/workflow/workflow-router-service.js +169 -27
- package/dist/services/workflow/workflow-skip-service.js +14 -4
- package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
- package/dist/services/workflow/workflow-spec-builders.js +121 -0
- package/dist/services/workflow/workflow-spec.d.ts +7 -6
- package/dist/services/workflow/workflow-spec.js +22 -116
- package/dist/services/workflow/workflow-state-store.js +2 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
- package/dist/services/workspace/migrate-service.js +66 -16
- package/dist/services/workspace/reconcile-migrate.js +6 -2
- package/dist/services/workspace/reconcile-service.js +37 -16
- package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
- package/dist/services/workspace/workspace-clean-service.js +4 -1
- package/dist/services/workspace/workspace-service.js +11 -3
- package/dist/services/workspace/workspace-state-service.js +1 -1
- package/dist/services/worktree/git-worktree-parser.js +13 -3
- package/dist/services/worktree/host-worktree-reconciler.js +8 -4
- package/dist/services/worktree/long-path-cleanup.js +23 -6
- package/dist/services/worktree/worktree-gc-guard.js +3 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
- package/dist/services/worktree/worktree-lease-types.js +10 -0
- package/dist/services/worktree/worktree-lease.d.ts +2 -44
- package/dist/shared/array-guards.d.ts +30 -0
- package/dist/shared/array-guards.js +32 -0
- package/dist/shared/format-md-compact-internals.d.ts +26 -0
- package/dist/shared/format-md-compact-internals.js +125 -0
- package/dist/shared/format-md-compact.js +1 -117
- package/dist/shared/fs-utils.js +2 -1
- package/dist/shared/incrementing-number.js +3 -3
- package/dist/shared/json-parse.d.ts +71 -0
- package/dist/shared/json-parse.js +32 -0
- package/dist/shared/json-schema-mini.js +3 -1
- package/dist/shared/path-safety.js +3 -1
- package/dist/shared/path-utils.d.ts +20 -0
- package/dist/shared/path-utils.js +26 -0
- package/dist/shared/planner-response.js +3 -3
- package/dist/shared/stale-policy.js +1 -3
- package/dist/skills/peaks-maker/index.js +11 -11
- package/package.json +32 -9
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +305 -125
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +26 -10
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +1 -1
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +6 -1
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/periodic-checkpoint.md +7 -5
- package/skills/peaks-code/references/startup-sequence.md +1 -1
- package/skills/peaks-final-review/SKILL.md +1 -1
- /package/{docs → contracts}/test-style-contract.md +0 -0
|
@@ -169,16 +169,32 @@ export function resolveRunner(framework, argv, projectRoot, deps = {}) {
|
|
|
169
169
|
searched.push(pkgJsonPath);
|
|
170
170
|
const entry = exists(pkgJsonPath) ? readBinEntry(pkgJsonPath, framework, read) : null;
|
|
171
171
|
if (entry !== null && exists(entry)) {
|
|
172
|
-
return {
|
|
172
|
+
return {
|
|
173
|
+
ok: true,
|
|
174
|
+
command: nodeExec,
|
|
175
|
+
args: [entry, ...argv],
|
|
176
|
+
via: `local ${entry}`,
|
|
177
|
+
fromPath: false
|
|
178
|
+
};
|
|
173
179
|
}
|
|
174
180
|
if (shim !== null) {
|
|
175
|
-
return {
|
|
181
|
+
return {
|
|
182
|
+
ok: true,
|
|
183
|
+
...toSpawnable(shim, argv, platform, env),
|
|
184
|
+
via: `local ${shim}`,
|
|
185
|
+
fromPath: false
|
|
186
|
+
};
|
|
176
187
|
}
|
|
177
188
|
// 3. PATH — last resort.
|
|
178
189
|
const onPath = resolveFromPath(framework, platform, env, exists);
|
|
179
190
|
searched.push(`PATH lookup for "${framework}"`);
|
|
180
191
|
if (onPath !== null) {
|
|
181
|
-
return {
|
|
192
|
+
return {
|
|
193
|
+
ok: true,
|
|
194
|
+
...toSpawnable(onPath, argv, platform, env),
|
|
195
|
+
via: `PATH: ${onPath}`,
|
|
196
|
+
fromPath: true
|
|
197
|
+
};
|
|
182
198
|
}
|
|
183
199
|
return { ok: false, searched };
|
|
184
200
|
}
|
|
@@ -208,8 +224,12 @@ export function runRunner(framework, argv, projectRoot, deps = {}) {
|
|
|
208
224
|
});
|
|
209
225
|
let stdout = '';
|
|
210
226
|
let stderr = '';
|
|
211
|
-
proc.stdout.on('data', (chunk) => {
|
|
212
|
-
|
|
227
|
+
proc.stdout.on('data', (chunk) => {
|
|
228
|
+
stdout += chunk.toString('utf8');
|
|
229
|
+
});
|
|
230
|
+
proc.stderr.on('data', (chunk) => {
|
|
231
|
+
stderr += chunk.toString('utf8');
|
|
232
|
+
});
|
|
213
233
|
proc.on('error', (err) => reject(err));
|
|
214
234
|
proc.on('close', (code) => {
|
|
215
235
|
resolveRun({ code: code ?? 0, stdout, stderr, notice });
|
|
@@ -219,7 +239,7 @@ export function runRunner(framework, argv, projectRoot, deps = {}) {
|
|
|
219
239
|
export function registerTestCommands(program, _io) {
|
|
220
240
|
const test = program
|
|
221
241
|
.command('test')
|
|
222
|
-
.description(
|
|
242
|
+
.description("Wrap the consumer project's test framework (jest/vitest/mocha) " +
|
|
223
243
|
'with a per-test fingerprint cache. Default args: <pattern...> ' +
|
|
224
244
|
'runs jest|vitest|mocha <pattern> --cache. Exit 0 on all-pass / ' +
|
|
225
245
|
'all-skip, exit 1 on any failure. (slice 2.5.0 sub-fix B)')
|
|
@@ -229,7 +249,7 @@ export function registerTestCommands(program, _io) {
|
|
|
229
249
|
.option('--clear-cache', 'empty the fingerprint cache at .peaks/_runtime/test-cache/ and exit 0')
|
|
230
250
|
.option('--no-cache-result', 'bypass the per-test fingerprint cache (always re-run)')
|
|
231
251
|
.option('--no-cache', 'pass --no-cache to the underlying framework (overrides peaks default)')
|
|
232
|
-
.option('--passthrough',
|
|
252
|
+
.option('--passthrough', "do NOT override the consumer's argv; pass patterns through verbatim")
|
|
233
253
|
.option('--framework <name>', `force a specific framework: ${FRAMEWORKS.join(', ')}`)
|
|
234
254
|
.option('--project <path>', 'project root (defaults to current directory)', process.cwd())
|
|
235
255
|
.option('--json', 'emit a JSON envelope { ok, data } to stdout')
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
* probe returns the JSON envelope from the
|
|
21
21
|
* 1x-detector-service; it does NOT modify any files.
|
|
22
22
|
*/
|
|
23
|
-
import { Command } from 'commander';
|
|
23
|
+
import type { Command } from 'commander';
|
|
24
24
|
import { type ProgramIO } from '../cli-helpers.js';
|
|
25
25
|
export declare function registerUpgradeCommands(program: Command, io: ProgramIO): void;
|
|
@@ -71,8 +71,6 @@ export function registerUserTouchpointCommands(program, io) {
|
|
|
71
71
|
.description('List the 5 commit-boundary hard-floor actions. These are the ' +
|
|
72
72
|
'actions that PAUSE even in full-auto (v2.15.0 slice 002 AC-4 rule: ' +
|
|
73
73
|
'"full-auto 只做到 commit"). The user is always asked to confirm.')).action((opts) => {
|
|
74
|
-
printResult(io, ok('code.commit-boundary-actions', { actions: COMMIT_BOUNDARY_ACTIONS_LIST }, [], [
|
|
75
|
-
'Even in full-auto, the user must explicitly confirm these actions.'
|
|
76
|
-
]), opts.json ?? false);
|
|
74
|
+
printResult(io, ok('code.commit-boundary-actions', { actions: COMMIT_BOUNDARY_ACTIONS_LIST }, [], ['Even in full-auto, the user must explicitly confirm these actions.']), opts.json ?? false);
|
|
77
75
|
});
|
|
78
76
|
}
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
*
|
|
10
10
|
* File budget: ≤ 150 lines (Karpathy §2).
|
|
11
11
|
*/
|
|
12
|
-
import { Command } from 'commander';
|
|
12
|
+
import type { Command } from 'commander';
|
|
13
13
|
import { type ProgramIO } from '../cli-helpers.js';
|
|
14
14
|
export declare function registerVerdictAggregateCommands(program: Command, io: ProgramIO): void;
|
|
@@ -50,7 +50,9 @@ const REQUIRED_SOURCES = [
|
|
|
50
50
|
{ key: 'karpathy', source: 'karpathy-reviewer', rels: KARPATHY_RELS }
|
|
51
51
|
];
|
|
52
52
|
export function registerVerdictAggregateCommands(program, io) {
|
|
53
|
-
const verdict = program
|
|
53
|
+
const verdict = program
|
|
54
|
+
.command('verdict')
|
|
55
|
+
.description('Aggregate the 5 envelope sources feeding peaks-code verdict logic');
|
|
54
56
|
addJsonOption(verdict
|
|
55
57
|
.command('aggregate')
|
|
56
58
|
.description('Aggregate 5 envelope sources (security / perf / karpathy / mut / qa) and print the verdict + reasons JSON envelope. Used by peaks-code and peaks-final-review.')
|
|
@@ -61,7 +63,9 @@ export function registerVerdictAggregateCommands(program, io) {
|
|
|
61
63
|
const sid = options.sid ?? 'default';
|
|
62
64
|
const rid = options.fromRid;
|
|
63
65
|
if (rid === undefined || rid.length === 0) {
|
|
64
|
-
printResult(io, fail('verdict.aggregate', 'RID_REQUIRED', '--from-rid is required', {}, [
|
|
66
|
+
printResult(io, fail('verdict.aggregate', 'RID_REQUIRED', '--from-rid is required', {}, [
|
|
67
|
+
'Re-run with --from-rid <rid>'
|
|
68
|
+
]), options.json);
|
|
65
69
|
process.exitCode = 1;
|
|
66
70
|
return;
|
|
67
71
|
}
|
|
@@ -73,7 +77,9 @@ export function registerVerdictAggregateCommands(program, io) {
|
|
|
73
77
|
// '../../../../../../ONLY-HERE'` read `<project>/ONLY-HERE.md`, a file
|
|
74
78
|
// outside `.peaks/`, as this slice's security AND perf evidence.
|
|
75
79
|
if (!REQUEST_ID_PATTERN.test(rid)) {
|
|
76
|
-
printResult(io, fail('verdict.aggregate', 'RID_INVALID', `Invalid request id: ${rid} (expected letters, digits, dots, underscores, or dashes)`, {}, [
|
|
80
|
+
printResult(io, fail('verdict.aggregate', 'RID_INVALID', `Invalid request id: ${rid} (expected letters, digits, dots, underscores, or dashes)`, {}, [
|
|
81
|
+
'Pass the rid of the slice whose evidence you want aggregated, e.g. 2026-09-14-some-slug'
|
|
82
|
+
]), options.json);
|
|
77
83
|
process.exitCode = 1;
|
|
78
84
|
return;
|
|
79
85
|
}
|
|
@@ -102,9 +108,13 @@ export function registerVerdictAggregateCommands(program, io) {
|
|
|
102
108
|
qa: readQa(projectRoot, sid, rid)
|
|
103
109
|
};
|
|
104
110
|
const input = envelopesToAggregatorInput([
|
|
105
|
-
sources.security !== null
|
|
111
|
+
sources.security !== null
|
|
112
|
+
? { kind: 'security', envelope: sources.security }
|
|
113
|
+
: null,
|
|
106
114
|
sources.perf !== null ? { kind: 'perf', envelope: sources.perf } : null,
|
|
107
|
-
sources.karpathy !== null
|
|
115
|
+
sources.karpathy !== null
|
|
116
|
+
? { kind: 'karpathy', envelope: sources.karpathy }
|
|
117
|
+
: null,
|
|
108
118
|
sources.mut !== null ? { kind: 'mut', envelope: sources.mut } : null,
|
|
109
119
|
sources.qa !== null ? { kind: 'qa', envelope: sources.qa } : null
|
|
110
120
|
]);
|
|
@@ -139,7 +149,9 @@ export function registerVerdictAggregateCommands(program, io) {
|
|
|
139
149
|
}
|
|
140
150
|
catch (error) {
|
|
141
151
|
const message = error instanceof Error ? error.message : String(error);
|
|
142
|
-
printResult(io, fail('verdict.aggregate', 'AGGREGATE_FAILED', message, {}, [
|
|
152
|
+
printResult(io, fail('verdict.aggregate', 'AGGREGATE_FAILED', message, {}, [
|
|
153
|
+
'Verify the rid/sid/project are correct'
|
|
154
|
+
]), options.json);
|
|
143
155
|
process.exitCode = 1;
|
|
144
156
|
}
|
|
145
157
|
});
|
|
@@ -162,7 +174,8 @@ async function readMut(projectRoot, sid) {
|
|
|
162
174
|
try {
|
|
163
175
|
json = JSON.parse(raw);
|
|
164
176
|
}
|
|
165
|
-
catch {
|
|
177
|
+
catch {
|
|
178
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
166
179
|
return null;
|
|
167
180
|
}
|
|
168
181
|
return parseMutJson(json);
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* only.
|
|
28
28
|
*/
|
|
29
29
|
import { execSync } from 'node:child_process';
|
|
30
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
30
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
31
31
|
import { fail, getErrorMessage, ok } from 'peaks-loop-shared/result';
|
|
32
32
|
import { addJsonOption, printResult } from '../cli-helpers.js';
|
|
33
33
|
import { findProjectRoot } from '../../services/config/config-safety.js';
|
|
@@ -59,7 +59,11 @@ function detectHypervisor(requested) {
|
|
|
59
59
|
break;
|
|
60
60
|
}
|
|
61
61
|
try {
|
|
62
|
-
const v = execSync(`${binary} --version`, {
|
|
62
|
+
const v = execSync(`${binary} --version`, {
|
|
63
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
64
|
+
encoding: 'utf8',
|
|
65
|
+
windowsHide: true
|
|
66
|
+
});
|
|
63
67
|
if (requested === 'kvm' && !existsSync('/dev/kvm')) {
|
|
64
68
|
return { ok: false, stderr: 'KVM kernel module not loaded (/dev/kvm absent)' };
|
|
65
69
|
}
|
|
@@ -86,8 +90,13 @@ function spawnVmWithHypervisor(args) {
|
|
|
86
90
|
</devices>
|
|
87
91
|
</domain>`;
|
|
88
92
|
const xmlPath = `${args.workdir}/.peaks-vm-${args.leaseId}.xml`;
|
|
89
|
-
|
|
90
|
-
const out = execSync(`virsh create ${xmlPath}`, {
|
|
93
|
+
writeFileSync(xmlPath, xml, 'utf8');
|
|
94
|
+
const out = execSync(`virsh create ${xmlPath}`, {
|
|
95
|
+
cwd: args.workdir,
|
|
96
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
97
|
+
encoding: 'utf8',
|
|
98
|
+
windowsHide: true
|
|
99
|
+
});
|
|
91
100
|
return { vmId: out.trim() };
|
|
92
101
|
}
|
|
93
102
|
if (args.hypervisor === 'hyperkit') {
|
|
@@ -101,10 +110,16 @@ function spawnVmWithHypervisor(args) {
|
|
|
101
110
|
function destroyVmWithHypervisor(args) {
|
|
102
111
|
try {
|
|
103
112
|
if (args.hypervisor === 'kvm') {
|
|
104
|
-
execSync(`virsh destroy ${args.vmId}`, {
|
|
113
|
+
execSync(`virsh destroy ${args.vmId}`, {
|
|
114
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
115
|
+
windowsHide: true
|
|
116
|
+
});
|
|
105
117
|
}
|
|
106
118
|
else if (args.hypervisor === 'hyperkit') {
|
|
107
|
-
execSync(`hvftool stop ${args.vmId}`, {
|
|
119
|
+
execSync(`hvftool stop ${args.vmId}`, {
|
|
120
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
121
|
+
windowsHide: true
|
|
122
|
+
});
|
|
108
123
|
}
|
|
109
124
|
else {
|
|
110
125
|
execSync(`hvc stop ${args.vmId}`, { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true });
|
|
@@ -116,8 +131,11 @@ function destroyVmWithHypervisor(args) {
|
|
|
116
131
|
}
|
|
117
132
|
}
|
|
118
133
|
export function registerVmCommand(program, io) {
|
|
119
|
-
const cmd = program
|
|
120
|
-
|
|
134
|
+
const cmd = program
|
|
135
|
+
.command('vm')
|
|
136
|
+
.description('L4 VM isolation: spawn/release VM leases via kvm | hyperkit | hyperv (Part 35; pairs with --isolation vm on dispatch).');
|
|
137
|
+
addJsonOption(cmd
|
|
138
|
+
.command('spawn')
|
|
121
139
|
.description('Spawn a VM via the requested hypervisor (kvm | hyperkit | hyperv) and write a VM lease. ' +
|
|
122
140
|
'Default TTL is role-aware (rd=30m / qa=15m / ui=1h); pass --ttl <ms> to override. ' +
|
|
123
141
|
'Default image is `peaks-base:22-slim`; pass --image <name> to override.')
|
|
@@ -132,7 +150,10 @@ export function registerVmCommand(program, io) {
|
|
|
132
150
|
.option('--project <path>', 'project root (default: findProjectRoot(cwd))')).action((options) => {
|
|
133
151
|
try {
|
|
134
152
|
const projectRoot = options.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
|
|
135
|
-
const sessionId = options.session ??
|
|
153
|
+
const sessionId = options.session ??
|
|
154
|
+
process.env.PEAKS_SESSION_ID ??
|
|
155
|
+
getCurrentSessionId(projectRoot) ??
|
|
156
|
+
'unknown-sid';
|
|
136
157
|
// Pick hypervisor: explicit > auto-detect.
|
|
137
158
|
const explicit = options.hypervisor;
|
|
138
159
|
const detected = explicit
|
|
@@ -216,20 +237,27 @@ export function registerVmCommand(program, io) {
|
|
|
216
237
|
}, [], []), options.json);
|
|
217
238
|
}
|
|
218
239
|
catch (err) {
|
|
219
|
-
printResult(io, fail('vm.spawn', 'SPAWN_FAILED', getErrorMessage(err), {
|
|
240
|
+
printResult(io, fail('vm.spawn', 'SPAWN_FAILED', getErrorMessage(err), {
|
|
241
|
+
rid: options.rid,
|
|
242
|
+
sessionId: options.session ?? process.env.PEAKS_SESSION_ID ?? 'unknown-sid'
|
|
243
|
+
}, [
|
|
220
244
|
'See error message; if the lease was not written, retry after fixing the underlying issue.'
|
|
221
245
|
]), options.json);
|
|
222
246
|
process.exitCode = 1;
|
|
223
247
|
}
|
|
224
248
|
});
|
|
225
|
-
addJsonOption(cmd
|
|
249
|
+
addJsonOption(cmd
|
|
250
|
+
.command('release')
|
|
226
251
|
.description('Transition a VM lease to released and run the hypervisor destroy command. Idempotent on already-released leases.')
|
|
227
252
|
.requiredOption('--lease-id <id>', 'lease id returned by `peaks vm spawn`')
|
|
228
253
|
.option('--session <sid>', 'override session id')
|
|
229
254
|
.option('--project <path>', 'project root (default: findProjectRoot(cwd))')).action((options) => {
|
|
230
255
|
try {
|
|
231
256
|
const projectRoot = options.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
|
|
232
|
-
const sessionId = options.session ??
|
|
257
|
+
const sessionId = options.session ??
|
|
258
|
+
process.env.PEAKS_SESSION_ID ??
|
|
259
|
+
getCurrentSessionId(projectRoot) ??
|
|
260
|
+
'unknown-sid';
|
|
233
261
|
const file = vmLeaseFilePath(joinPathSession(projectRoot, sessionId), options.leaseId);
|
|
234
262
|
if (!existsSync(file)) {
|
|
235
263
|
printResult(io, fail('vm.release', 'LEASE_NOT_FOUND', `no VM lease on disk at ${file}`, { leaseId: options.leaseId, file }, [
|
|
@@ -244,9 +272,7 @@ export function registerVmCommand(program, io) {
|
|
|
244
272
|
lease = deserializeVmLease(readFileSync(file, 'utf8'));
|
|
245
273
|
}
|
|
246
274
|
catch (err) {
|
|
247
|
-
printResult(io, fail('vm.release', 'LEASE_FILE_INVALID', getErrorMessage(err), { leaseId: options.leaseId, file }, [
|
|
248
|
-
'Delete the malformed lease file manually and re-spawn.'
|
|
249
|
-
]), options.json);
|
|
275
|
+
printResult(io, fail('vm.release', 'LEASE_FILE_INVALID', getErrorMessage(err), { leaseId: options.leaseId, file }, ['Delete the malformed lease file manually and re-spawn.']), options.json);
|
|
250
276
|
process.exitCode = 1;
|
|
251
277
|
return;
|
|
252
278
|
}
|
|
@@ -257,7 +283,9 @@ export function registerVmCommand(program, io) {
|
|
|
257
283
|
const destroyed = destroyVmWithHypervisor({ hypervisor: lease.hypervisor, vmId: lease.vmId });
|
|
258
284
|
const released = markVmReleased(lease);
|
|
259
285
|
atomicWriteJson(file, released);
|
|
260
|
-
printResult(io, ok('vm.release', { lease: released, sessionId, projectRoot, vmDestroyed: destroyed }, destroyed
|
|
286
|
+
printResult(io, ok('vm.release', { lease: released, sessionId, projectRoot, vmDestroyed: destroyed }, destroyed
|
|
287
|
+
? []
|
|
288
|
+
: [`${lease.hypervisor} destroy command failed; the lease was marked released anyway.`], [
|
|
261
289
|
`Lease ${lease.leaseId} marked released.`,
|
|
262
290
|
destroyed
|
|
263
291
|
? `${lease.hypervisor} domain ${lease.vmId} stopped.`
|
|
@@ -265,9 +293,10 @@ export function registerVmCommand(program, io) {
|
|
|
265
293
|
]), options.json);
|
|
266
294
|
}
|
|
267
295
|
catch (err) {
|
|
268
|
-
printResult(io, fail('vm.release', 'RELEASE_FAILED', getErrorMessage(err), {
|
|
269
|
-
|
|
270
|
-
|
|
296
|
+
printResult(io, fail('vm.release', 'RELEASE_FAILED', getErrorMessage(err), {
|
|
297
|
+
leaseId: options.leaseId,
|
|
298
|
+
sessionId: options.session ?? process.env.PEAKS_SESSION_ID ?? 'unknown-sid'
|
|
299
|
+
}, ['Verify the lease id and re-run.']), options.json);
|
|
271
300
|
process.exitCode = 1;
|
|
272
301
|
}
|
|
273
302
|
});
|
|
@@ -45,7 +45,9 @@ export function registerWavePlanCommand(parent, io) {
|
|
|
45
45
|
}
|
|
46
46
|
const plan = planFileOverlapWaves(descriptors);
|
|
47
47
|
const warnings = plan.duplicateIds.length > 0
|
|
48
|
-
? [
|
|
48
|
+
? [
|
|
49
|
+
`DUPLICATE_SLICE_IDS: ${plan.duplicateIds.join(', ')} (first descriptor wins; the rest were not scheduled)`
|
|
50
|
+
]
|
|
49
51
|
: [];
|
|
50
52
|
printResult(io, ok('sub-agent.wave-plan', {
|
|
51
53
|
envelopeVersion: '2.1.0',
|
|
@@ -84,7 +86,8 @@ function coerceDescriptors(parsed) {
|
|
|
84
86
|
const files = item.files;
|
|
85
87
|
if (typeof id !== 'string' || id.length === 0)
|
|
86
88
|
return null;
|
|
87
|
-
if (files !== undefined &&
|
|
89
|
+
if (files !== undefined &&
|
|
90
|
+
(!Array.isArray(files) || files.some((f) => typeof f !== 'string'))) {
|
|
88
91
|
return null;
|
|
89
92
|
}
|
|
90
93
|
out.push({ id, files: files ?? [] });
|
|
@@ -208,7 +208,9 @@ function profileRefusal(error) {
|
|
|
208
208
|
}
|
|
209
209
|
/** Prepend the fold notice to an envelope's warnings; never rewrite them away. */
|
|
210
210
|
function withFold(envelope, warnings) {
|
|
211
|
-
return warnings.length === 0
|
|
211
|
+
return warnings.length === 0
|
|
212
|
+
? envelope
|
|
213
|
+
: { ...envelope, warnings: [...warnings, ...envelope.warnings] };
|
|
212
214
|
}
|
|
213
215
|
/**
|
|
214
216
|
* A daemon- or page-derived diagnostic is DATA, never an instruction: it is
|
|
@@ -239,14 +241,18 @@ function failureMessage(op, message, nextActions) {
|
|
|
239
241
|
.filter((line) => line !== '')
|
|
240
242
|
.join('\n');
|
|
241
243
|
const wrapped = wrapDiagnostic(detail);
|
|
242
|
-
return wrapped === ''
|
|
244
|
+
return wrapped === ''
|
|
245
|
+
? `peaks web ${op} failed in the daemon`
|
|
246
|
+
: `peaks web ${op} failed in the daemon\n${wrapped}`;
|
|
243
247
|
}
|
|
244
248
|
/**
|
|
245
249
|
* A daemon-supplied `code` is printed on the envelope's first line, so only a
|
|
246
250
|
* protocol-shaped identifier is accepted; anything else falls back to ours.
|
|
247
251
|
*/
|
|
248
252
|
function safeDaemonCode(value) {
|
|
249
|
-
return typeof value === 'string' && /^[A-Z][A-Z0-9_]{0,63}$/.test(value)
|
|
253
|
+
return typeof value === 'string' && /^[A-Z][A-Z0-9_]{0,63}$/.test(value)
|
|
254
|
+
? value
|
|
255
|
+
: 'WEB_OP_FAILED';
|
|
250
256
|
}
|
|
251
257
|
/**
|
|
252
258
|
* Wrap the page-controlled part of each verb's payload (AC4 / §6.2) and pick
|
|
@@ -265,7 +271,11 @@ function wrapPageData(op, raw) {
|
|
|
265
271
|
case 'text': {
|
|
266
272
|
const value = wrapUntrusted(text(raw['text']));
|
|
267
273
|
return {
|
|
268
|
-
data: {
|
|
274
|
+
data: {
|
|
275
|
+
text: value,
|
|
276
|
+
truncated: raw['truncated'] === true,
|
|
277
|
+
droppedBytes: count(raw['droppedBytes'])
|
|
278
|
+
},
|
|
269
279
|
human: value
|
|
270
280
|
};
|
|
271
281
|
}
|
|
@@ -10,7 +10,7 @@ import { addJsonOption, printResult } from '../cli-helpers.js';
|
|
|
10
10
|
export function registerWebLifecycleCommands(web, io) {
|
|
11
11
|
addJsonOption(web
|
|
12
12
|
.command('status')
|
|
13
|
-
.description(
|
|
13
|
+
.description("Report this session's web daemon instances (live / orphaned / stale). Works with no " +
|
|
14
14
|
'daemon running and never starts one.')).action(async (options) => {
|
|
15
15
|
await runWebStatus(io, options.json === true);
|
|
16
16
|
});
|
|
@@ -61,7 +61,7 @@ function stopWarnings(result) {
|
|
|
61
61
|
}
|
|
62
62
|
if (result.orphanedPids.length > 0) {
|
|
63
63
|
warnings.push(`${String(result.orphanedPids.length)} daemon instance(s) are alive but could not be proven ` +
|
|
64
|
-
|
|
64
|
+
"to be this session's daemon (no authenticated identity); the processes were left running, " +
|
|
65
65
|
'because a pid that cannot be proven is never signalled, and their records are kept so ' +
|
|
66
66
|
'`peaks web status` and a later `stop` still see them');
|
|
67
67
|
}
|
|
@@ -268,7 +268,9 @@ export async function runWebLogin(io, asJson, rawProfile) {
|
|
|
268
268
|
foldWarnings =
|
|
269
269
|
rawProfile === profile
|
|
270
270
|
? []
|
|
271
|
-
: [
|
|
271
|
+
: [
|
|
272
|
+
`--profile ${JSON.stringify(cappedEcho(rawProfile))} resolved to the profile "${profile}"`
|
|
273
|
+
];
|
|
272
274
|
const outcome = await runHeadedLogin({
|
|
273
275
|
profile,
|
|
274
276
|
announce: () => {
|
|
@@ -39,7 +39,7 @@ import { buildContext } from '../../services/context/context-builder.js';
|
|
|
39
39
|
import { createDocCacheFetcher } from '../../services/context/doc-cache-fetcher.js';
|
|
40
40
|
function buildDocFetcher(sid) {
|
|
41
41
|
return createDocCacheFetcher({
|
|
42
|
-
cacheDir: `.peaks/_runtime/${sid}/doc-cache
|
|
42
|
+
cacheDir: `.peaks/_runtime/${sid}/doc-cache`
|
|
43
43
|
// remoteFetcher wired in a future slice.
|
|
44
44
|
});
|
|
45
45
|
}
|
|
@@ -53,7 +53,7 @@ async function ensureContextForRd(goal, project, sid) {
|
|
|
53
53
|
depsMode: 'locked',
|
|
54
54
|
docBudgetTokens: 8000,
|
|
55
55
|
out,
|
|
56
|
-
fetcher: buildDocFetcher(sid)
|
|
56
|
+
fetcher: buildDocFetcher(sid)
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
catch (error) {
|
|
@@ -91,7 +91,9 @@ function getWorkflowWorkspaceContext() {
|
|
|
91
91
|
function parseMaxWorkers(io, command, value, asJson) {
|
|
92
92
|
const maxWorkers = Number(value);
|
|
93
93
|
if (!Number.isInteger(maxWorkers) || maxWorkers < 1) {
|
|
94
|
-
printResult(io, fail(command, 'INVALID_MAX_WORKERS', 'max-workers must be a positive integer', {}, [
|
|
94
|
+
printResult(io, fail(command, 'INVALID_MAX_WORKERS', 'max-workers must be a positive integer', {}, [
|
|
95
|
+
'Use --max-workers with a positive integer value'
|
|
96
|
+
]), asJson);
|
|
95
97
|
process.exitCode = 1;
|
|
96
98
|
return null;
|
|
97
99
|
}
|
|
@@ -115,7 +117,9 @@ function parseCodeMode(io, command, mode, codeMode, asJson) {
|
|
|
115
117
|
return undefined;
|
|
116
118
|
}
|
|
117
119
|
if (!isCodeMode(codeMode)) {
|
|
118
|
-
printResult(io, fail(command, 'UNSUPPORTED_CODE_MODE', `Unsupported code mode ${codeMode}`, {}, [
|
|
120
|
+
printResult(io, fail(command, 'UNSUPPORTED_CODE_MODE', `Unsupported code mode ${codeMode}`, {}, [
|
|
121
|
+
'Use --code-mode full-auto, guided, or rnd'
|
|
122
|
+
]), asJson);
|
|
119
123
|
process.exitCode = 1;
|
|
120
124
|
return null;
|
|
121
125
|
}
|
|
@@ -154,7 +158,9 @@ function runTechStatus(io, options) {
|
|
|
154
158
|
printResult(io, ok('tech.status', getTechStatus({ sessionId: '', ...workspaceContext })), options.json);
|
|
155
159
|
}
|
|
156
160
|
catch (error) {
|
|
157
|
-
printResult(io, fail('tech.status', 'TECH_STATUS_FAILED', getErrorMessage(error), {}, [
|
|
161
|
+
printResult(io, fail('tech.status', 'TECH_STATUS_FAILED', getErrorMessage(error), {}, [
|
|
162
|
+
'Verify the project setup'
|
|
163
|
+
]), options.json);
|
|
158
164
|
process.exitCode = 1;
|
|
159
165
|
}
|
|
160
166
|
}
|
|
@@ -228,13 +234,17 @@ function runAutonomousWorkflow(io, options) {
|
|
|
228
234
|
}
|
|
229
235
|
catch (error) {
|
|
230
236
|
const mapping = mapServiceError(error);
|
|
231
|
-
printResult(io, fail('workflow.autonomous', mapping.code, getErrorMessage(error), {}, [
|
|
237
|
+
printResult(io, fail('workflow.autonomous', mapping.code, getErrorMessage(error), {}, [
|
|
238
|
+
...mapping.nextActions
|
|
239
|
+
]), options.json);
|
|
232
240
|
process.exitCode = 1;
|
|
233
241
|
}
|
|
234
242
|
}
|
|
235
243
|
async function runSwarmPlan(io, options) {
|
|
236
244
|
if ((options.skill ?? 'rd') !== 'rd') {
|
|
237
|
-
printResult(io, fail('swarm.plan', 'UNSUPPORTED_SWARM_SKILL', `Unsupported skill ${options.skill}`, {}, [
|
|
245
|
+
printResult(io, fail('swarm.plan', 'UNSUPPORTED_SWARM_SKILL', `Unsupported skill ${options.skill}`, {}, [
|
|
246
|
+
'Use --skill rd'
|
|
247
|
+
]), options.json);
|
|
238
248
|
process.exitCode = 1;
|
|
239
249
|
return;
|
|
240
250
|
}
|
|
@@ -304,7 +314,9 @@ async function runAutonomousResumeInit(io, options) {
|
|
|
304
314
|
printResult(io, ok('autonomous-resume.init', data, [], nextActions), options.json);
|
|
305
315
|
}
|
|
306
316
|
catch (error) {
|
|
307
|
-
printResult(io, fail('autonomous-resume.init', 'AUTONOMOUS_RESUME_INIT_FAILED', getErrorMessage(error), {}, [
|
|
317
|
+
printResult(io, fail('autonomous-resume.init', 'AUTONOMOUS_RESUME_INIT_FAILED', getErrorMessage(error), {}, [
|
|
318
|
+
'Use a non-empty goal and a writable project path'
|
|
319
|
+
]), options.json);
|
|
308
320
|
process.exitCode = 1;
|
|
309
321
|
}
|
|
310
322
|
}
|
|
@@ -350,7 +362,9 @@ function addAutonomousResumeInitOptions(command) {
|
|
|
350
362
|
.option('--apply', 'write the artifacts to disk (default is dry-run preview)'));
|
|
351
363
|
}
|
|
352
364
|
export function registerWorkflowCommands(program, io) {
|
|
353
|
-
const refactor = program
|
|
365
|
+
const refactor = program
|
|
366
|
+
.command('refactor')
|
|
367
|
+
.description('Plan a Peaks refactor run without modifying code');
|
|
354
368
|
addJsonOption(refactor
|
|
355
369
|
.option('--code', 'use peaks-code orchestration mode')
|
|
356
370
|
.option('--rd', 'use peaks-rd direct mode')
|
|
@@ -382,9 +396,13 @@ export function registerWorkflowCommands(program, io) {
|
|
|
382
396
|
addWorkflowRouteOptions(program.command('route'), 'Plan a workflow routing dry-run summary').action((options) => runWorkflowRoute(io, options));
|
|
383
397
|
addWorkflowRouteOptions(workflow.command('autonomous'), 'Plan an autonomous workflow handoff summary').action((options) => runAutonomousWorkflow(io, options));
|
|
384
398
|
addWorkflowRouteOptions(program.command('autonomous'), 'Plan an autonomous workflow handoff summary').action((options) => runAutonomousWorkflow(io, options));
|
|
385
|
-
const autonomousResume = workflow
|
|
399
|
+
const autonomousResume = workflow
|
|
400
|
+
.command('autonomous-resume')
|
|
401
|
+
.description('Manage autonomous workflow resume artifacts');
|
|
386
402
|
addAutonomousResumeInitOptions(autonomousResume.command('init')).action((options) => runAutonomousResumeInit(io, options));
|
|
387
|
-
const autonomousResumeAlias = program
|
|
403
|
+
const autonomousResumeAlias = program
|
|
404
|
+
.command('autonomous-resume')
|
|
405
|
+
.description('Manage autonomous workflow resume artifacts');
|
|
388
406
|
addAutonomousResumeInitOptions(autonomousResumeAlias.command('init')).action((options) => runAutonomousResumeInit(io, options));
|
|
389
407
|
addJsonOption(workflow
|
|
390
408
|
.command('verify-pipeline')
|
|
@@ -469,7 +487,9 @@ export function registerWorkflowCommands(program, io) {
|
|
|
469
487
|
process.exitCode = 1;
|
|
470
488
|
}
|
|
471
489
|
catch (error) {
|
|
472
|
-
printResult(io, fail('workflow.skip', 'SKIP_FAILED', getErrorMessage(error), { applied: false }, [
|
|
490
|
+
printResult(io, fail('workflow.skip', 'SKIP_FAILED', getErrorMessage(error), { applied: false }, [
|
|
491
|
+
'Check that --project and --rid are correct; --reason and --gates are required.'
|
|
492
|
+
]), options.json);
|
|
473
493
|
process.exitCode = 1;
|
|
474
494
|
}
|
|
475
495
|
});
|
|
@@ -479,8 +499,12 @@ export function registerWorkflowCommands(program, io) {
|
|
|
479
499
|
// `peaks swarm-plan` registrations above stay in-place for back-compat
|
|
480
500
|
// with the existing test suite (`tests/unit/cli-program.workflow.test.ts`).
|
|
481
501
|
const swarm = program.command('swarm').description('Plan RD swarm dry-run graphs');
|
|
482
|
-
addSwarmPlanOptions(swarm.command('plan'), true).action(async (options) => {
|
|
483
|
-
|
|
502
|
+
addSwarmPlanOptions(swarm.command('plan'), true).action(async (options) => {
|
|
503
|
+
await runSwarmPlan(io, options);
|
|
504
|
+
});
|
|
505
|
+
addSwarmPlanOptions(program.command('swarm-plan'), false).action(async (options) => {
|
|
506
|
+
await runSwarmPlan(io, options);
|
|
507
|
+
});
|
|
484
508
|
registerSwarmCommands(program, io);
|
|
485
509
|
// Slice rid-014 — autonomous RD swarm planner. Additive; the rid-013
|
|
486
510
|
// `registerSwarmCommands` and rid-012 `registerTechCommands` calls
|
|
@@ -492,7 +516,8 @@ export function registerWorkflowCommands(program, io) {
|
|
|
492
516
|
registerWorkflowLifecycleCommand(program, io);
|
|
493
517
|
// Slice #13 Swarm Algorithm Upgrade — 4 additional subcommands.
|
|
494
518
|
// (peaks swarm plan above is slice #13.1; the 4 below are 13.2-13.5).
|
|
495
|
-
addJsonOption(swarm
|
|
519
|
+
addJsonOption(swarm
|
|
520
|
+
.command('pipeline')
|
|
496
521
|
.description('13.2: sequential pipeline — wire to peaks sub-agent dispatch in series (placeholder)')
|
|
497
522
|
.requiredOption('--project <path>', 'target project root')).action((options) => {
|
|
498
523
|
printResult(io, ok('swarm.pipeline', {
|
|
@@ -500,27 +525,29 @@ export function registerWorkflowCommands(program, io) {
|
|
|
500
525
|
status: 'placeholder',
|
|
501
526
|
nextSteps: [
|
|
502
527
|
'For each sub-task in the plan, run `peaks sub-agent dispatch <role> --prompt <task>`.',
|
|
503
|
-
'The slice is read-only here; the sub-agent harness owns the runtime execution.'
|
|
504
|
-
]
|
|
528
|
+
'The slice is read-only here; the sub-agent harness owns the runtime execution.'
|
|
529
|
+
]
|
|
505
530
|
}, [], [
|
|
506
|
-
'swarm.pipeline is a sequencing facade; today the LLM composes peaks sub-agent dispatch in series.'
|
|
531
|
+
'swarm.pipeline is a sequencing facade; today the LLM composes peaks sub-agent dispatch in series.'
|
|
507
532
|
]), options.json);
|
|
508
533
|
});
|
|
509
|
-
addJsonOption(swarm
|
|
534
|
+
addJsonOption(swarm
|
|
535
|
+
.command('dispatch')
|
|
510
536
|
.description('13.3: speculative fan-out dispatch (placeholder; --speculative flag for future)')
|
|
511
537
|
.requiredOption('--project <path>', 'target project root')
|
|
512
538
|
.option('--speculative', 'enable speculative mode (placeholder)', false)).action((options) => {
|
|
513
539
|
printResult(io, ok('swarm.dispatch', {
|
|
514
540
|
project: options.project,
|
|
515
541
|
speculative: options.speculative,
|
|
516
|
-
status: 'placeholder'
|
|
542
|
+
status: 'placeholder'
|
|
517
543
|
}, [], [
|
|
518
544
|
options.speculative
|
|
519
545
|
? 'Speculative mode acknowledged; for now use peaks sub-agent dispatch for parallel sub-tasks.'
|
|
520
|
-
: 'Pass --speculative to acknowledge speculative mode (no-op for now).'
|
|
546
|
+
: 'Pass --speculative to acknowledge speculative mode (no-op for now).'
|
|
521
547
|
]), options.json);
|
|
522
548
|
});
|
|
523
|
-
addJsonOption(swarm
|
|
549
|
+
addJsonOption(swarm
|
|
550
|
+
.command('verify')
|
|
524
551
|
.description('13.4: adversarial verification — runs peaks doctor in skeptic iterations (placeholder; future slice uses skeptic prompts)')
|
|
525
552
|
.requiredOption('--project <path>', 'target project root')
|
|
526
553
|
.option('--skeptics <count>', 'number of skeptic iterations to run (default 1)', '1')).action((options) => {
|
|
@@ -528,18 +555,23 @@ export function registerWorkflowCommands(program, io) {
|
|
|
528
555
|
const iterations = Number.isFinite(n) && n > 0 ? n : 1;
|
|
529
556
|
const history = [];
|
|
530
557
|
for (let i = 1; i <= iterations; i++) {
|
|
531
|
-
history.push({
|
|
558
|
+
history.push({
|
|
559
|
+
iteration: i,
|
|
560
|
+
ok: true,
|
|
561
|
+
detail: `iter ${i}/${iterations}: re-scan invoked; future slice will run adversarial here`
|
|
562
|
+
});
|
|
532
563
|
}
|
|
533
564
|
printResult(io, ok('swarm.verify', {
|
|
534
565
|
project: options.project,
|
|
535
566
|
iterations,
|
|
536
|
-
history
|
|
567
|
+
history
|
|
537
568
|
}, [], [
|
|
538
569
|
`${iterations} skeptic iteration(s) recorded; each iteration re-runs peaks doctor to catch regressions.`,
|
|
539
|
-
'A future slice will land the actual adversarial verification (currently a pass-through re-scan).'
|
|
570
|
+
'A future slice will land the actual adversarial verification (currently a pass-through re-scan).'
|
|
540
571
|
]), options.json);
|
|
541
572
|
});
|
|
542
|
-
addJsonOption(swarm
|
|
573
|
+
addJsonOption(swarm
|
|
574
|
+
.command('loop')
|
|
543
575
|
.description('13.5: loop-until-dry — runs peaks doctor in a loop until no new FAIL findings (placeholder; max 10 iterations)')
|
|
544
576
|
.requiredOption('--project <path>', 'target project root')).action((options) => {
|
|
545
577
|
const history = [];
|
|
@@ -554,10 +586,10 @@ export function registerWorkflowCommands(program, io) {
|
|
|
554
586
|
project: options.project,
|
|
555
587
|
iterations: history.length,
|
|
556
588
|
history,
|
|
557
|
-
status: finalStatus
|
|
589
|
+
status: finalStatus
|
|
558
590
|
}, [], [
|
|
559
591
|
`loop ran ${history.length} iteration(s); status: ${finalStatus}`,
|
|
560
|
-
'A future slice will land the actual peaks doctor call (currently a stub).'
|
|
592
|
+
'A future slice will land the actual peaks doctor call (currently a stub).'
|
|
561
593
|
]), options.json);
|
|
562
594
|
});
|
|
563
595
|
addJsonOption(program
|
|
@@ -570,6 +602,9 @@ export function registerWorkflowCommands(program, io) {
|
|
|
570
602
|
process.exitCode = 1;
|
|
571
603
|
return;
|
|
572
604
|
}
|
|
573
|
-
printResult(io, ok('recommend', createRecommendationPlan({
|
|
605
|
+
printResult(io, ok('recommend', createRecommendationPlan({
|
|
606
|
+
workflow: options.workflow,
|
|
607
|
+
language: options.language ?? readConfig().language ?? 'en'
|
|
608
|
+
})), options.json);
|
|
574
609
|
});
|
|
575
610
|
}
|