peaks-loop 4.0.54 → 4.1.1
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 +61 -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 +86 -39
- 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 +11 -6
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/comments-commands.d.ts +14 -0
- package/dist/cli/commands/comments-commands.js +96 -0
- 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 +57 -21
- 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 +32 -17
- package/dist/cli/commands/core/standards-command.js +56 -14
- 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 +65 -32
- 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 +18 -23
- package/dist/cli/commands/ecc-commands.js +39 -36
- 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 +16 -6
- 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.js +1 -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/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 +8 -10
- 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 +10 -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/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 +66 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +25 -69
- 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/user-touchpoint-classifier.js +0 -7
- package/dist/services/code-review/ecc-bridge.d.ts +6 -6
- 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.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-repair.js +1 -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/comments/citation-rules.d.ts +154 -0
- package/dist/services/comments/citation-rules.js +241 -0
- package/dist/services/comments/comment-audit.d.ts +57 -0
- package/dist/services/comments/comment-audit.js +100 -0
- package/dist/services/comments/comment-citations.d.ts +60 -0
- package/dist/services/comments/comment-citations.js +186 -0
- package/dist/services/comments/comment-hygiene.d.ts +79 -0
- package/dist/services/comments/comment-hygiene.js +133 -0
- package/dist/services/comments/comment-prune.d.ts +88 -0
- package/dist/services/comments/comment-prune.js +148 -0
- package/dist/services/comments/prune-apply.d.ts +60 -0
- package/dist/services/comments/prune-apply.js +150 -0
- package/dist/services/comments/repo-path-probe.d.ts +43 -0
- package/dist/services/comments/repo-path-probe.js +78 -0
- 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 +6 -187
- 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.d.ts +0 -16
- package/dist/services/log/retention.js +2 -18
- 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 +19 -7
- package/dist/services/memory/project-memory-service/store/atomic-write.js +144 -38
- 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/handoff-frontmatter-shape.d.ts +42 -0
- package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
- package/dist/services/prd/handoff-frontmatter.js +62 -1
- package/dist/services/prd/handoff-gate-evidence.js +14 -10
- 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 +12 -38
- package/dist/services/prd/handoff-service.js +25 -147
- package/dist/services/prd/handoff-types.d.ts +33 -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.js +1 -4
- 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.js +4 -7
- 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/recommendations/installed-capability-detector.d.ts +5 -5
- package/dist/services/recommendations/installed-capability-detector.js +11 -10
- 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 +74 -0
- package/dist/services/scan/archetype-detection.js +315 -0
- package/dist/services/scan/archetype-service.js +58 -133
- 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/scan-types.d.ts +9 -0
- 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/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/generated-artifacts-stamp.d.ts +2 -2
- package/dist/services/workspace/generated-artifacts-stamp.js +2 -2
- 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 +12 -4
- 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 +31 -8
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +286 -283
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/bee/peaks-qa/references/reading-handoff-frontmatter.md +3 -1
- package/skills/bee/peaks-rd/references/parallel-review-fanout.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +3 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +29 -7
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/frontend-only-mode.md +2 -2
- package/skills/peaks-code/references/startup-sequence.md +0 -4
- package/dist/cli/commands/upgrade-commands.d.ts +0 -25
- package/dist/cli/commands/upgrade-commands.js +0 -154
- package/dist/services/upgrade/1x-detector-service.d.ts +0 -7
- package/dist/services/upgrade/1x-detector-service.js +0 -94
- package/dist/services/upgrade/gitignore-migrate-service.d.ts +0 -56
- package/dist/services/upgrade/gitignore-migrate-service.js +0 -170
- package/dist/services/upgrade/upgrade-service.d.ts +0 -81
- package/dist/services/upgrade/upgrade-service.js +0 -405
- package/skills/peaks-code/references/step-0-55-1x-detection.md +0 -83
|
@@ -1,114 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* roles +3 sub-roles + arbitrary business subdivisions:
|
|
5
|
-
*
|
|
6
|
-
* - top: rd | qa | ui | txt | general-purpose
|
|
7
|
-
* - qa sub-roles: qa-business | qa-perf | qa-security
|
|
8
|
-
* - business细分: qa-business-regression | qa-business-api
|
|
9
|
-
* | qa-business-frontend | ...
|
|
10
|
-
* - promotable: prd-business | prd-technical | prd-ux |
|
|
11
|
-
* ui-visual | ui-flow | ui-component | ...
|
|
12
|
-
*
|
|
13
|
-
* Any non-empty string is a valid role. CLI emits a "soft whitelist"
|
|
14
|
-
* hint in --help but does not reject unknown values.
|
|
15
|
-
*/
|
|
16
|
-
export type SubAgentRole = string;
|
|
17
|
-
/**
|
|
18
|
-
* IDE-private tool-call descriptor. The LLM, upon receiving this in
|
|
19
|
-
* the CLI's JSON envelope, must invoke the tool named `name` in its
|
|
20
|
-
* own environment with the provided `args`.
|
|
21
|
-
*/
|
|
22
|
-
export interface SubAgentToolCall {
|
|
23
|
-
readonly name: string;
|
|
24
|
-
readonly args: Readonly<Record<string, unknown>>;
|
|
25
|
-
/**
|
|
26
|
-
* Slice 2026-06-23-audit-4th #C2: toolCall version. The IDE's
|
|
27
|
-
* arg shape can change between versions (e.g. Claude Code's
|
|
28
|
-
* `subagent_type: "general-purpose"` may become
|
|
29
|
-
* `subagent_type: "claude-code-3.5"` in a future release). The
|
|
30
|
-
* dispatcher stamps this on `buildToolCall`; the dispatch record
|
|
31
|
-
* propagates it so a future reader can detect "this record is for
|
|
32
|
-
* v2.0 Task, current IDE is v3.0" without inspecting args.
|
|
33
|
-
* Pre-versioning records default to '2.0.0' on read.
|
|
34
|
-
*/
|
|
35
|
-
readonly toolCallVersion?: string;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Input to `buildToolCall`. The CLI assembles this from the user's
|
|
39
|
-
* command-line args (role, prompt) + state-machine lookups
|
|
40
|
-
* (requestId, sessionId).
|
|
41
|
-
*/
|
|
42
|
-
export interface SubAgentDispatchInput {
|
|
43
|
-
readonly role: SubAgentRole;
|
|
44
|
-
readonly prompt: string;
|
|
45
|
-
readonly requestId: string;
|
|
46
|
-
readonly sessionId: string;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Per-IDE sub-agent dispatcher contract. Each IdeAdapter exposes
|
|
50
|
-
* one of these; the CLI calls `buildToolCall` after validating
|
|
51
|
-
* `supportsRole` (and `null-dispatcher` is the fallback when an
|
|
52
|
-
* IDE cannot dispatch sub-agents at all).
|
|
53
|
-
*/
|
|
54
|
-
export interface SubAgentDispatcher {
|
|
55
|
-
/**
|
|
56
|
-
* Short label used in envelope `ide` field and CLI help text.
|
|
57
|
-
* e.g. "claude-code" / "trae" / "null".
|
|
58
|
-
*/
|
|
59
|
-
readonly label: string;
|
|
60
|
-
/**
|
|
61
|
-
* Whether this dispatcher supports dispatching a given role.
|
|
62
|
-
* claude-code returns true for all non-empty strings; trae is
|
|
63
|
-
* byte-identical (UNVERIFIED pending real Trae dogfood);
|
|
64
|
-
* null-dispatcher always returns false.
|
|
65
|
-
*/
|
|
66
|
-
supportsRole(role: SubAgentRole): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Build the IDE-specific tool call descriptor for a dispatch.
|
|
69
|
-
* Must be pure: no I/O, no side effects. The CLI wraps the
|
|
70
|
-
* returned descriptor in its JSON envelope.
|
|
71
|
-
*/
|
|
72
|
-
buildToolCall(input: SubAgentDispatchInput): SubAgentToolCall;
|
|
73
|
-
/**
|
|
74
|
-
* 2.7.0 slice-dag-dispatcher MVP: join barrier for a batch of dispatched
|
|
75
|
-
* sub-agents. Returns one BatchResult per dispatch in the batch.
|
|
76
|
-
*
|
|
77
|
-
* Default implementation in this MVP (1.2): claude-code holds an
|
|
78
|
-
* in-process Promise queue (LRU-keyed by batchId); the four non-Claude
|
|
79
|
-
* IDEs (trae / trae-cn / codex / cursor) return a
|
|
80
|
-
* `awaitByLlm: true` marker so the calling LLM holds the await itself
|
|
81
|
-
* — envelope shape is uniform. Real per-IDE implementations land in
|
|
82
|
-
* 1.3.
|
|
83
|
-
*
|
|
84
|
-
* `nullSubAgentDispatcher` throws `SubAgentNotSupportedError` here.
|
|
85
|
-
*/
|
|
86
|
-
awaitBatch?(input: SubAgentAwaitBatchInput): Promise<readonly SubAgentBatchResult[]>;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* 2.7.0 slice-dag-dispatcher MVP: input to the optional `awaitBatch` method.
|
|
90
|
-
* MVP dispatch is one batch per top-level `peaks sub-agent dispatch --from-dag`
|
|
91
|
-
* call; `batchId` is the same one returned in the dispatch envelope.
|
|
92
|
-
*/
|
|
93
|
-
export interface SubAgentAwaitBatchInput {
|
|
94
|
-
readonly batchId: string;
|
|
95
|
-
readonly dispatchCount: number;
|
|
96
|
-
/** Per-dispatch record path; CLI already has this from the dispatch envelope. */
|
|
97
|
-
readonly recordPaths: readonly string[];
|
|
98
|
-
/** Optional cap on how long the join should wait. */
|
|
99
|
-
readonly timeoutMs?: number;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* 2.7.0 slice-dag-dispatcher MVP: per-dispatch result of a join barrier.
|
|
103
|
-
* The CLI returns one of these per dispatch in the batch.
|
|
104
|
-
*/
|
|
105
|
-
export interface SubAgentBatchResult {
|
|
106
|
-
readonly dispatchIndex: number;
|
|
107
|
-
readonly recordPath: string;
|
|
108
|
-
readonly status: 'done' | 'failed' | 'cancelled' | 'timeout';
|
|
109
|
-
readonly durationMs: number;
|
|
110
|
-
readonly note: string | null;
|
|
111
|
-
}
|
|
1
|
+
import { type SubAgentBatchResult, type SubAgentDispatcher, type SubAgentRole } from './sub-agent-dispatcher-types.js';
|
|
2
|
+
export { awaitClaudeCodeBatch, pollDispatchRecords, type PollDispatchRecordsOptions } from './sub-agent-batch-await.js';
|
|
3
|
+
export type { SubAgentAwaitBatchInput, SubAgentBatchResult, SubAgentDispatchInput, SubAgentDispatcher, SubAgentRole, SubAgentToolCall } from './sub-agent-dispatcher-types.js';
|
|
112
4
|
/**
|
|
113
5
|
* Claude Code dispatcher. Real, byte-level implementation.
|
|
114
6
|
*
|
|
@@ -177,40 +69,6 @@ export declare class SubAgentNotSupportedError extends Error {
|
|
|
177
69
|
readonly code: "IDE_NOT_SUPPORTED";
|
|
178
70
|
constructor(role: SubAgentRole);
|
|
179
71
|
}
|
|
180
|
-
/**
|
|
181
|
-
* Real awaitBatch for claude-code (MVP). In 1.2, dispatch + await are
|
|
182
|
-
* both in the same process; we record the batch size and resolve after
|
|
183
|
-
* `dispatchCount` heartbeats land for the given `recordPaths`, or after
|
|
184
|
-
* `timeoutMs` elapses (per-dispatch `timeout` status).
|
|
185
|
-
*
|
|
186
|
-
* Implementation contract (MVP):
|
|
187
|
-
* - We poll each `recordPaths[i]` for an `outcome: success | failed` or
|
|
188
|
-
* `status: done | failed` field; if absent after `timeoutMs`, that
|
|
189
|
-
* dispatch is reported as `timeout`.
|
|
190
|
-
* - The poll interval is 50ms (fast enough for unit tests, cheap enough
|
|
191
|
-
* for the MVP; the real cross-process version uses heartbeat polling).
|
|
192
|
-
*/
|
|
193
|
-
export declare function awaitClaudeCodeBatch(input: SubAgentAwaitBatchInput): Promise<readonly SubAgentBatchResult[]>;
|
|
194
|
-
/**
|
|
195
|
-
* Slice 1.3 — shared per-IDE polling core for trae / codex / cursor.
|
|
196
|
-
* Same polling loop shape as `awaitClaudeCodeBatch`, with per-IDE
|
|
197
|
-
* default timeout + note prefix. The 3 IDEs differ only in
|
|
198
|
-
* (a) `defaultTimeoutMs` (Trae / Cursor = 30s, Codex = 45s per slice
|
|
199
|
-
* #13 R-3) and (b) the `note` label surfaced when an IDE times out
|
|
200
|
-
* (so 1.4 dogfood can attribute a timeout to the right IDE).
|
|
201
|
-
*
|
|
202
|
-
* MVP rationale (per Karpathy §2 Simplicity First): the 3 IDEs
|
|
203
|
-
* currently share the same file-based polling transport. The only
|
|
204
|
-
* per-IDE distinction is the timeout + label. Future per-IDE
|
|
205
|
-
* divergence (real IPC / shell hooks) is a 1.4 dogfood concern —
|
|
206
|
-
* here we keep the dispatcher interface uniform while each IDE's
|
|
207
|
-
* `awaitBatch` is a real implementation.
|
|
208
|
-
*/
|
|
209
|
-
export interface PollDispatchRecordsOptions {
|
|
210
|
-
readonly defaultTimeoutMs: number;
|
|
211
|
-
readonly notePrefix: string;
|
|
212
|
-
}
|
|
213
|
-
export declare function pollDispatchRecords(input: SubAgentAwaitBatchInput, opts: PollDispatchRecordsOptions): Promise<readonly SubAgentBatchResult[]>;
|
|
214
72
|
/**
|
|
215
73
|
* In-process awaiter registration hook (used by `peaks sub-agent dispatch`
|
|
216
74
|
* to attach a resolver; not part of the dispatcher public surface).
|
|
@@ -27,13 +27,8 @@
|
|
|
27
27
|
* Cross-reference: PRD #002 G1 (AC-1..AC-5); RD tech-doc-002 §2.
|
|
28
28
|
*/
|
|
29
29
|
import { existsSync, readFileSync } from 'node:fs';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
// `awaitBatch` (the unified implementation in ./await-batch.ts). The
|
|
33
|
-
// back-compat envelopes are preserved so the pre-S4 S3 character-
|
|
34
|
-
// ization tests + the existing call sites do not have to migrate in
|
|
35
|
-
// the same slice.
|
|
36
|
-
import { awaitBatch as awaitBatchUnified } from './await-batch.js';
|
|
30
|
+
import { awaitClaudeCodeBatch, pollDispatchRecords } from './sub-agent-batch-await.js';
|
|
31
|
+
export { awaitClaudeCodeBatch, pollDispatchRecords } from './sub-agent-batch-await.js';
|
|
37
32
|
/**
|
|
38
33
|
* Claude Code dispatcher. Real, byte-level implementation.
|
|
39
34
|
*
|
|
@@ -51,18 +46,18 @@ export const claudeCodeSubAgentDispatcher = {
|
|
|
51
46
|
args: {
|
|
52
47
|
subagent_type: 'general-purpose',
|
|
53
48
|
description: `${role} for rid=${requestId}`,
|
|
54
|
-
prompt
|
|
49
|
+
prompt
|
|
55
50
|
},
|
|
56
51
|
// Slice 2026-06-23-audit-4th #C2: stamp the IDE-arg shape
|
|
57
52
|
// version. When Claude Code changes the Task args shape (e.g.
|
|
58
53
|
// a new subagent_type value), bump this and the dispatch record
|
|
59
54
|
// propagates it so a future reader can detect a stale record.
|
|
60
|
-
toolCallVersion: '2.0.0'
|
|
55
|
+
toolCallVersion: '2.0.0'
|
|
61
56
|
}),
|
|
62
57
|
// 2.7.0 slice-dag-dispatcher MVP: real join barrier for claude-code.
|
|
63
58
|
// The MVP harness uses an in-process promise queue keyed by batchId.
|
|
64
59
|
// (1.2 阶段进程内 hold 即可;1.3 / 1.4 阶段若多进程 sub-agent 走共享文件 / heartbeat 轮询。)
|
|
65
|
-
awaitBatch: async (input) => awaitClaudeCodeBatch(input)
|
|
60
|
+
awaitBatch: async (input) => awaitClaudeCodeBatch(input)
|
|
66
61
|
};
|
|
67
62
|
/**
|
|
68
63
|
* Trae dispatcher. UNVERIFIED — Trae sub-agent tool name TBD on real
|
|
@@ -92,9 +87,9 @@ export const traeSubAgentDispatcher = {
|
|
|
92
87
|
args: {
|
|
93
88
|
subagent_type: 'general-purpose',
|
|
94
89
|
description: `${role} for rid=${requestId}`,
|
|
95
|
-
prompt
|
|
90
|
+
prompt
|
|
96
91
|
},
|
|
97
|
-
toolCallVersion: '2.0.0'
|
|
92
|
+
toolCallVersion: '2.0.0'
|
|
98
93
|
}),
|
|
99
94
|
// 2.7.0 slice-dag-dispatcher (slice 1.3): real file-polling awaitBatch
|
|
100
95
|
// for Trae. Per-IDE wrapper around `pollDispatchRecords` with the
|
|
@@ -123,9 +118,9 @@ export const codexSubAgentDispatcher = {
|
|
|
123
118
|
args: {
|
|
124
119
|
subagent_type: 'general-purpose',
|
|
125
120
|
description: `${role} for rid=${requestId}`,
|
|
126
|
-
prompt
|
|
121
|
+
prompt
|
|
127
122
|
},
|
|
128
|
-
toolCallVersion: '2.0.0'
|
|
123
|
+
toolCallVersion: '2.0.0'
|
|
129
124
|
}),
|
|
130
125
|
awaitBatch: async (input) => pollDispatchRecords(input, {
|
|
131
126
|
defaultTimeoutMs: 45_000,
|
|
@@ -148,9 +143,9 @@ export const cursorSubAgentDispatcher = {
|
|
|
148
143
|
args: {
|
|
149
144
|
subagent_type: 'general-purpose',
|
|
150
145
|
description: `${role} for rid=${requestId}`,
|
|
151
|
-
prompt
|
|
146
|
+
prompt
|
|
152
147
|
},
|
|
153
|
-
toolCallVersion: '2.0.0'
|
|
148
|
+
toolCallVersion: '2.0.0'
|
|
154
149
|
}),
|
|
155
150
|
awaitBatch: async (input) => pollDispatchRecords(input, {
|
|
156
151
|
defaultTimeoutMs: 30_000,
|
|
@@ -173,7 +168,7 @@ export const nullSubAgentDispatcher = {
|
|
|
173
168
|
// 2.7.0 slice-dag-dispatcher MVP: null dispatcher never supports await either.
|
|
174
169
|
awaitBatch: async ({ batchId }) => {
|
|
175
170
|
throw new SubAgentNotSupportedError(`awaitBatch on batch ${batchId}`);
|
|
176
|
-
}
|
|
171
|
+
}
|
|
177
172
|
};
|
|
178
173
|
/**
|
|
179
174
|
* Thrown by `nullSubAgentDispatcher.buildToolCall` and any future
|
|
@@ -189,50 +184,12 @@ export class SubAgentNotSupportedError extends Error {
|
|
|
189
184
|
this.name = 'SubAgentNotSupportedError';
|
|
190
185
|
}
|
|
191
186
|
}
|
|
192
|
-
/* ──────────────────────────────────────────────────────────────────────────
|
|
193
|
-
* 2.7.0 slice-dag-dispatcher MVP (slice 1.2.a) — awaitBatch implementation
|
|
194
|
-
* ────────────────────────────────────────────────────────────────────────── */
|
|
195
187
|
/**
|
|
196
188
|
* In-process LRU promise queue for claude-code. Keyed by batchId.
|
|
197
189
|
* Populated by `awaitClaudeCodeBatch` callers; consumed by the same.
|
|
198
190
|
* MVP-scope only: 1.3 / 1.4 may replace with cross-process heartbeat polling.
|
|
199
191
|
*/
|
|
200
192
|
const claudeCodeBatchAwaiters = new Map();
|
|
201
|
-
/**
|
|
202
|
-
* Real awaitBatch for claude-code (MVP). In 1.2, dispatch + await are
|
|
203
|
-
* both in the same process; we record the batch size and resolve after
|
|
204
|
-
* `dispatchCount` heartbeats land for the given `recordPaths`, or after
|
|
205
|
-
* `timeoutMs` elapses (per-dispatch `timeout` status).
|
|
206
|
-
*
|
|
207
|
-
* Implementation contract (MVP):
|
|
208
|
-
* - We poll each `recordPaths[i]` for an `outcome: success | failed` or
|
|
209
|
-
* `status: done | failed` field; if absent after `timeoutMs`, that
|
|
210
|
-
* dispatch is reported as `timeout`.
|
|
211
|
-
* - The poll interval is 50ms (fast enough for unit tests, cheap enough
|
|
212
|
-
* for the MVP; the real cross-process version uses heartbeat polling).
|
|
213
|
-
*/
|
|
214
|
-
export async function awaitClaudeCodeBatch(input) {
|
|
215
|
-
// Slice 2026-07-29-dispatch-stall-governance / S4 (G8) — this
|
|
216
|
-
// function is now a thin wrapper around the unified `awaitBatch`
|
|
217
|
-
// service. The back-compat envelope shape is preserved (one
|
|
218
|
-
// `SubAgentBatchResult` per record path) so the S3 characterization
|
|
219
|
-
// test stays green; the underlying loop is identical to the trae /
|
|
220
|
-
// codex / cursor wrappers below. The new typed outcome
|
|
221
|
-
// lives on the unified service; the S4 fail-fast test pins it.
|
|
222
|
-
//
|
|
223
|
-
// Slice 2026-07-30-nightshift: claude-code does NOT use a
|
|
224
|
-
// per-IDE note prefix. The 1.4 dogfood contract says the done
|
|
225
|
-
// note is `null` (raw outcome) and the failed note is the raw
|
|
226
|
-
// `outcome` string with no prefix. The 3 non-Claude IDEs
|
|
227
|
-
// (trae / codex / cursor) prefix the note with their
|
|
228
|
-
// per-IDE label so cross-IDE attribution is visible to the LLM.
|
|
229
|
-
// Passing no `notePrefix` here keeps the legacy contract.
|
|
230
|
-
const unified = await awaitBatchUnified(input.dispatchCount, input.recordPaths, input.timeoutMs, { defaultTimeoutMs: 60_000 });
|
|
231
|
-
// Touch batchId so the parameter remains in scope for any future
|
|
232
|
-
// in-process queue wiring.
|
|
233
|
-
void input.batchId;
|
|
234
|
-
return unified.results;
|
|
235
|
-
}
|
|
236
193
|
/** Best-effort outcome read for a dispatch record. Returns null if pending. */
|
|
237
194
|
function readDispatchOutcome(recordPath) {
|
|
238
195
|
if (!recordPath)
|
|
@@ -253,24 +210,11 @@ function readDispatchOutcome(recordPath) {
|
|
|
253
210
|
return { status: 'timeout', note: 'stale' };
|
|
254
211
|
return null;
|
|
255
212
|
}
|
|
256
|
-
catch {
|
|
213
|
+
catch {
|
|
214
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
257
215
|
return null;
|
|
258
216
|
}
|
|
259
217
|
}
|
|
260
|
-
export async function pollDispatchRecords(input, opts) {
|
|
261
|
-
// Slice 2026-07-29-dispatch-stall-governance / S4 (G8) — this
|
|
262
|
-
// function is now a thin wrapper around the unified `awaitBatch`
|
|
263
|
-
// service. Pre-S4 it diverged from `awaitClaudeCodeBatch` in
|
|
264
|
-
// (a) the default-fallback source and (b) the `Math.max(deadline, 0)`
|
|
265
|
-
// step; the divergence is gone. The back-compat envelope (one
|
|
266
|
-
// `SubAgentBatchResult` per record path, with the IDE-prefixed
|
|
267
|
-
// note) is preserved.
|
|
268
|
-
const unified = await awaitBatchUnified(input.dispatchCount, input.recordPaths, input.timeoutMs, {
|
|
269
|
-
defaultTimeoutMs: opts.defaultTimeoutMs,
|
|
270
|
-
notePrefix: opts.notePrefix
|
|
271
|
-
});
|
|
272
|
-
return unified.results;
|
|
273
|
-
}
|
|
274
218
|
/**
|
|
275
219
|
* In-process awaiter registration hook (used by `peaks sub-agent dispatch`
|
|
276
220
|
* to attach a resolver; not part of the dispatcher public surface).
|
|
@@ -95,7 +95,18 @@ export function classifyTestCommand(command, env = process.env) {
|
|
|
95
95
|
// Strip flags (e.g. --config, --reporter, --coverage). A flag is
|
|
96
96
|
// any token starting with `-`. The path we care about is the first
|
|
97
97
|
// non-flag, non-runner, non-keyword token after the runner.
|
|
98
|
-
const PATH_KEYWORDS = new Set([
|
|
98
|
+
const PATH_KEYWORDS = new Set([
|
|
99
|
+
'run',
|
|
100
|
+
'watch',
|
|
101
|
+
'test',
|
|
102
|
+
'c',
|
|
103
|
+
'ci',
|
|
104
|
+
'r',
|
|
105
|
+
'reporter',
|
|
106
|
+
't',
|
|
107
|
+
'u',
|
|
108
|
+
'coverage'
|
|
109
|
+
]);
|
|
99
110
|
const pathTokens = [];
|
|
100
111
|
for (const tok of after) {
|
|
101
112
|
if (tok.startsWith('-'))
|
|
@@ -36,7 +36,9 @@ export function generateSkillFromCommands(skillName, commandsDir) {
|
|
|
36
36
|
catch {
|
|
37
37
|
continue;
|
|
38
38
|
}
|
|
39
|
-
const commands = [...content.matchAll(COMMAND_PATTERN)]
|
|
39
|
+
const commands = [...content.matchAll(COMMAND_PATTERN)]
|
|
40
|
+
.map((m) => m[1])
|
|
41
|
+
.filter((c) => c.length > 0);
|
|
40
42
|
const descs = [...content.matchAll(DESC_PATTERN)].map((m) => m[1]);
|
|
41
43
|
for (const cmd of commands) {
|
|
42
44
|
if (!commandMap.has(cmd))
|
|
@@ -81,7 +83,11 @@ export function renderSkillMarkdown(doc) {
|
|
|
81
83
|
export function parseCommitSubject(subject, file) {
|
|
82
84
|
const conventionalMatch = /^(feat|fix|docs|refactor|chore)(?:\([^)]+\))?:\s*(.+)$/i.exec(subject);
|
|
83
85
|
if (conventionalMatch) {
|
|
84
|
-
return {
|
|
86
|
+
return {
|
|
87
|
+
kind: conventionalMatch[1].toLowerCase(),
|
|
88
|
+
subject: conventionalMatch[2].trim(),
|
|
89
|
+
file
|
|
90
|
+
};
|
|
85
91
|
}
|
|
86
92
|
return { kind: 'chore', subject, file };
|
|
87
93
|
}
|
|
@@ -96,7 +102,10 @@ export function gitLogSince(projectRoot, since) {
|
|
|
96
102
|
});
|
|
97
103
|
if (out.trim().length === 0)
|
|
98
104
|
return [];
|
|
99
|
-
return out
|
|
105
|
+
return out
|
|
106
|
+
.split('\n')
|
|
107
|
+
.filter((s) => s.length > 0)
|
|
108
|
+
.map((s) => parseCommitSubject(s, 'git log'));
|
|
100
109
|
}
|
|
101
110
|
catch {
|
|
102
111
|
return [];
|
|
@@ -106,7 +115,13 @@ export function gitLogSince(projectRoot, since) {
|
|
|
106
115
|
export function suggestChangelog(entries) {
|
|
107
116
|
if (entries.length === 0)
|
|
108
117
|
return '## [Unreleased]\n\n(no changes since the reference)';
|
|
109
|
-
const groups = {
|
|
118
|
+
const groups = {
|
|
119
|
+
feat: [],
|
|
120
|
+
fix: [],
|
|
121
|
+
docs: [],
|
|
122
|
+
refactor: [],
|
|
123
|
+
chore: []
|
|
124
|
+
};
|
|
110
125
|
for (const e of entries)
|
|
111
126
|
groups[e.kind].push(e);
|
|
112
127
|
const lines = ['## [Unreleased]', ''];
|
|
@@ -20,39 +20,47 @@ import { getErrorMessage } from 'peaks-loop-shared/result';
|
|
|
20
20
|
function runSelfCheck(schemaRoot, emittedIds) {
|
|
21
21
|
const schemaPath = join(schemaRoot, 'doctor-report.schema.json');
|
|
22
22
|
if (!existsSync(schemaPath)) {
|
|
23
|
-
return [
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
24
25
|
id: 'doctor-self:check-id-pattern',
|
|
25
26
|
ok: false,
|
|
26
27
|
message: `Failed to load doctor-report.schema.json for self-validation: ${getErrorMessage(new Error(`ENOENT: ${schemaPath}`))}`
|
|
27
|
-
}
|
|
28
|
+
}
|
|
29
|
+
];
|
|
28
30
|
}
|
|
29
31
|
try {
|
|
30
32
|
const schemaText = readFileSync(schemaPath, 'utf8');
|
|
31
33
|
const schema = JSON.parse(schemaText);
|
|
32
34
|
const patternSource = schema.properties?.checks?.items?.properties?.id?.pattern;
|
|
33
35
|
if (typeof patternSource !== 'string') {
|
|
34
|
-
return [
|
|
36
|
+
return [
|
|
37
|
+
{
|
|
35
38
|
id: 'doctor-self:check-id-pattern',
|
|
36
39
|
ok: false,
|
|
37
40
|
message: 'doctor-report.schema.json does not declare a check.id pattern'
|
|
38
|
-
}
|
|
41
|
+
}
|
|
42
|
+
];
|
|
39
43
|
}
|
|
40
44
|
const pattern = new RegExp(patternSource);
|
|
41
45
|
const mismatches = emittedIds.filter((id) => !pattern.test(id));
|
|
42
|
-
return [
|
|
46
|
+
return [
|
|
47
|
+
{
|
|
43
48
|
id: 'doctor-self:check-id-pattern',
|
|
44
49
|
ok: mismatches.length === 0,
|
|
45
50
|
message: mismatches.length === 0
|
|
46
51
|
? 'All doctor check IDs match the doctor-report schema pattern'
|
|
47
52
|
: `Doctor check IDs missing from schema pattern: ${mismatches.join(', ')}`
|
|
48
|
-
}
|
|
53
|
+
}
|
|
54
|
+
];
|
|
49
55
|
}
|
|
50
56
|
catch (error) {
|
|
51
|
-
return [
|
|
57
|
+
return [
|
|
58
|
+
{
|
|
52
59
|
id: 'doctor-self:check-id-pattern',
|
|
53
60
|
ok: false,
|
|
54
61
|
message: `Failed to load doctor-report.schema.json for self-validation: ${getErrorMessage(error)}`
|
|
55
|
-
}
|
|
62
|
+
}
|
|
63
|
+
];
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
66
|
function run({ schemaRoot, accumulatedChecks }) {
|
|
@@ -16,5 +16,10 @@
|
|
|
16
16
|
* `node_modules` resolution; the default probe uses
|
|
17
17
|
* `createRequire(import.meta.url)` to find the package.
|
|
18
18
|
*/
|
|
19
|
-
import type {
|
|
20
|
-
|
|
19
|
+
import type { DoctorCheck, DoctorContext } from '../types.js';
|
|
20
|
+
declare function run({ options }: DoctorContext): readonly DoctorCheck[];
|
|
21
|
+
export declare const check: {
|
|
22
|
+
name: string;
|
|
23
|
+
run: typeof run;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -137,32 +137,40 @@ function runCheck(probe, managedPathProbe) {
|
|
|
137
137
|
// the doctor exit code. Upstream 0.7.x binaries are wire-
|
|
138
138
|
// compatible with 0.7.10 for the subset peaks-loop exercises
|
|
139
139
|
// (status / init / index / query / files / context / affected).
|
|
140
|
-
return [
|
|
140
|
+
return [
|
|
141
|
+
{
|
|
141
142
|
id: 'capability:codegraph',
|
|
142
143
|
ok: false,
|
|
143
144
|
severity: 'warning',
|
|
144
145
|
message: `@colbymchenry/codegraph version drift: expected ${CODEGRAPH_EXPECTED_VERSION}, resolved ${result.version} at ${result.packagePath} — peaks-loop uses an allow-list of subcommands and tolerates 0.7.x wire-compat. Run \`pnpm install @colbymchenry/codegraph@${CODEGRAPH_EXPECTED_VERSION}\` to pin.${managedPathSuffix}`
|
|
145
|
-
}
|
|
146
|
+
}
|
|
147
|
+
];
|
|
146
148
|
}
|
|
147
149
|
if (!result.binaryExists) {
|
|
148
|
-
return [
|
|
150
|
+
return [
|
|
151
|
+
{
|
|
149
152
|
id: 'capability:codegraph',
|
|
150
153
|
ok: false,
|
|
151
154
|
message: `@colbymchenry/codegraph@${result.version} resolved at ${result.packagePath} but binary is missing at ${result.binaryPath}${managedPathSuffix}`
|
|
152
|
-
}
|
|
155
|
+
}
|
|
156
|
+
];
|
|
153
157
|
}
|
|
154
|
-
return [
|
|
158
|
+
return [
|
|
159
|
+
{
|
|
155
160
|
id: 'capability:codegraph',
|
|
156
161
|
ok: true,
|
|
157
162
|
message: `@colbymchenry/codegraph@${result.version} resolves with binary at ${result.binaryPath}${managedPathSuffix}`
|
|
158
|
-
}
|
|
163
|
+
}
|
|
164
|
+
];
|
|
159
165
|
}
|
|
160
166
|
catch (error) {
|
|
161
|
-
return [
|
|
167
|
+
return [
|
|
168
|
+
{
|
|
162
169
|
id: 'capability:codegraph',
|
|
163
170
|
ok: false,
|
|
164
171
|
message: `@colbymchenry/codegraph not resolvable: ${getErrorMessage(error)}`
|
|
165
|
-
}
|
|
172
|
+
}
|
|
173
|
+
];
|
|
166
174
|
}
|
|
167
175
|
}
|
|
168
176
|
function run({ options }) {
|
|
@@ -173,6 +181,16 @@ function run({ options }) {
|
|
|
173
181
|
function defaultCodegraphManagedPathProbe() {
|
|
174
182
|
return detectManagedCodegraphPath(process.cwd());
|
|
175
183
|
}
|
|
184
|
+
// Slice S3b (rid-s3b-doctor-check-typing): `satisfies` instead of a
|
|
185
|
+
// `: DoctorCheckPlugin` annotation. The annotation widened this object
|
|
186
|
+
// literal to the interface's `run` return type
|
|
187
|
+
// (`readonly DoctorCheck[] | Promise<readonly DoctorCheck[]>`) — an
|
|
188
|
+
// honest union, because three plugins in this directory really are
|
|
189
|
+
// `async`. The widening leaked into every importer and produced 40
|
|
190
|
+
// TS7053 errors at test call sites, where the runtime value is
|
|
191
|
+
// measurably a plain array (this module's `run` is synchronous).
|
|
192
|
+
// `satisfies` keeps the interface check AND the concrete narrow type,
|
|
193
|
+
// so the compile error re-fires if `run` ever becomes async.
|
|
176
194
|
export const check = {
|
|
177
195
|
name: 'codegraph-capability',
|
|
178
196
|
run
|
|
@@ -70,32 +70,40 @@ function run({ options, resolvedL3Root }) {
|
|
|
70
70
|
report = probe();
|
|
71
71
|
}
|
|
72
72
|
catch (error) {
|
|
73
|
-
return [
|
|
73
|
+
return [
|
|
74
|
+
{
|
|
74
75
|
id: CHECK_ID,
|
|
75
76
|
ok: false,
|
|
76
77
|
severity: 'warning',
|
|
77
78
|
message: `codegraph exclude integrity could not be evaluated: ${getErrorMessage(error)}`
|
|
78
|
-
}
|
|
79
|
+
}
|
|
80
|
+
];
|
|
79
81
|
}
|
|
80
82
|
if (report === null) {
|
|
81
|
-
return [
|
|
83
|
+
return [
|
|
84
|
+
{
|
|
82
85
|
id: CHECK_ID,
|
|
83
86
|
ok: true,
|
|
84
87
|
message: 'codegraph is not initialized in this project (no .codegraph/config.json); the exclude list is not in play yet'
|
|
85
|
-
}
|
|
88
|
+
}
|
|
89
|
+
];
|
|
86
90
|
}
|
|
87
91
|
if (!report.gap) {
|
|
88
|
-
return [
|
|
92
|
+
return [
|
|
93
|
+
{
|
|
89
94
|
id: CHECK_ID,
|
|
90
95
|
ok: true,
|
|
91
96
|
message: `codegraph exclude list drops no tracked source file (${report.trackedSourceCount} tracked source file(s) admitted by include)`
|
|
92
|
-
}
|
|
97
|
+
}
|
|
98
|
+
];
|
|
93
99
|
}
|
|
94
|
-
return [
|
|
100
|
+
return [
|
|
101
|
+
{
|
|
95
102
|
id: CHECK_ID,
|
|
96
103
|
ok: false,
|
|
97
104
|
message: renderGapMessage(report.excludedTrackedCount, report.trackedSourceCount, report.rulesToRemove, report.violations)
|
|
98
|
-
}
|
|
105
|
+
}
|
|
106
|
+
];
|
|
99
107
|
}
|
|
100
108
|
export const check = {
|
|
101
109
|
name: 'codegraph-exclude-integrity',
|
|
@@ -110,26 +110,32 @@ function run({ options, resolvedL3Root }) {
|
|
|
110
110
|
report = probe();
|
|
111
111
|
}
|
|
112
112
|
catch (error) {
|
|
113
|
-
return [
|
|
113
|
+
return [
|
|
114
|
+
{
|
|
114
115
|
id: CHECK_ID,
|
|
115
116
|
ok: false,
|
|
116
117
|
severity: 'warning',
|
|
117
118
|
message: `codegraph index integrity could not be evaluated: ${getErrorMessage(error)}`
|
|
118
|
-
}
|
|
119
|
+
}
|
|
120
|
+
];
|
|
119
121
|
}
|
|
120
122
|
if (report === null) {
|
|
121
|
-
return [
|
|
123
|
+
return [
|
|
124
|
+
{
|
|
122
125
|
id: CHECK_ID,
|
|
123
126
|
ok: true,
|
|
124
127
|
message: 'codegraph is not initialized in this project (no .codegraph/codegraph.db); there is no index to be incomplete or stale'
|
|
125
|
-
}
|
|
128
|
+
}
|
|
129
|
+
];
|
|
126
130
|
}
|
|
127
131
|
if (!report.gap) {
|
|
128
|
-
return [
|
|
132
|
+
return [
|
|
133
|
+
{
|
|
129
134
|
id: CHECK_ID,
|
|
130
135
|
ok: true,
|
|
131
136
|
message: `codegraph index covers the repository (${report.admittedTrackedCount} extractor-supported tracked file(s) admitted, ${report.indexedFileCount} indexed row(s), none stale)`
|
|
132
|
-
}
|
|
137
|
+
}
|
|
138
|
+
];
|
|
133
139
|
}
|
|
134
140
|
const gapMessage = renderGapMessage(report.includeGap, report.admittedTrackedCount, report.trackedSourceCount, report.deadRows, report.indexedFileCount);
|
|
135
141
|
// Option C: advisory by default, blocking on opt-in. `ok: false` in both
|
|
@@ -138,12 +144,14 @@ function run({ options, resolvedL3Root }) {
|
|
|
138
144
|
// path for the switch, so an operator who wants blocking is told how.
|
|
139
145
|
return strict
|
|
140
146
|
? [{ id: CHECK_ID, ok: false, message: `${gapMessage} ${remediation()}` }]
|
|
141
|
-
: [
|
|
147
|
+
: [
|
|
148
|
+
{
|
|
142
149
|
id: CHECK_ID,
|
|
143
150
|
ok: false,
|
|
144
151
|
severity: 'warning',
|
|
145
152
|
message: `${gapMessage} ${remediation()} Advisory: set ${CODEGRAPH_INDEX_STRICT_ENV_VAR}=1 to make this blocking.`
|
|
146
|
-
}
|
|
153
|
+
}
|
|
154
|
+
];
|
|
147
155
|
}
|
|
148
156
|
export const check = {
|
|
149
157
|
name: 'codegraph-index-integrity',
|