peaks-loop 4.0.54 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README-en.md +16 -1
- package/README.md +15 -1
- package/config/eslint/.peaks-rules.cjs +158 -13
- package/config/eslint/tsconfig.lint.json +47 -0
- package/dist/cli/cli-envelope.d.ts +114 -0
- package/dist/cli/cli-envelope.js +85 -0
- package/dist/cli/cli-helpers.d.ts +1 -1
- package/dist/cli/cli-helpers.js +8 -4
- package/dist/cli/commands/_cli-error-envelope.js +1 -1
- package/dist/cli/commands/_register.js +85 -38
- package/dist/cli/commands/_super.js +40 -7
- package/dist/cli/commands/adapter-commands-s2a.js +8 -7
- package/dist/cli/commands/adapter-commands.d.ts +2 -2
- package/dist/cli/commands/adapter-commands.js +7 -8
- package/dist/cli/commands/api-diff-commands.js +5 -4
- package/dist/cli/commands/asset-commands.d.ts +2 -2
- package/dist/cli/commands/asset-commands.js +135 -132
- package/dist/cli/commands/audit-commands.d.ts +1 -1
- package/dist/cli/commands/audit-commands.js +75 -32
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
- package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
- package/dist/cli/commands/baseline-commands.js +34 -9
- package/dist/cli/commands/bee-commands.d.ts +1 -1
- package/dist/cli/commands/bee-commands.js +18 -21
- package/dist/cli/commands/best-practice-scan-command.js +6 -34
- package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
- package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
- package/dist/cli/commands/capability-commands.d.ts +1 -1
- package/dist/cli/commands/capability-commands.js +14 -4
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
- package/dist/cli/commands/changeset-commands.js +21 -18
- package/dist/cli/commands/code-gate-command.js +9 -2
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
- package/dist/cli/commands/code-job-shape-commands.js +21 -45
- package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
- package/dist/cli/commands/code-mode-gate-commands.js +19 -199
- package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
- package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
- package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
- package/dist/cli/commands/code-review-commands.js +18 -3
- package/dist/cli/commands/code-run-command.js +44 -7
- package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
- package/dist/cli/commands/code-runtime-commands.js +105 -73
- package/dist/cli/commands/codegraph-commands.js +11 -6
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/compact-command.js +52 -26
- package/dist/cli/commands/complexity-commands.js +6 -7
- package/dist/cli/commands/config-commands.d.ts +1 -1
- package/dist/cli/commands/config-commands.js +33 -9
- package/dist/cli/commands/container-commands.js +39 -15
- package/dist/cli/commands/context-commands.d.ts +1 -1
- package/dist/cli/commands/context-commands.js +40 -13
- package/dist/cli/commands/core/artifacts-command.js +11 -3
- package/dist/cli/commands/core/binding-commands.js +9 -6
- package/dist/cli/commands/core/doctor-command.js +7 -4
- package/dist/cli/commands/core/memory-command.js +47 -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 +31 -16
- package/dist/cli/commands/core/standards-command.js +55 -13
- package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
- package/dist/cli/commands/cron-commands-actions.js +128 -0
- package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
- package/dist/cli/commands/cron-commands-schedule.js +151 -0
- package/dist/cli/commands/cron-commands.d.ts +35 -32
- package/dist/cli/commands/cron-commands.js +167 -211
- package/dist/cli/commands/cron-scheduler-commands.js +40 -20
- package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
- package/dist/cli/commands/cron-scheduler-persist.js +171 -0
- package/dist/cli/commands/dashboard-long-run.js +45 -14
- package/dist/cli/commands/dashboard-summary.js +15 -5
- package/dist/cli/commands/dispatch-commands.js +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 +1 -1
- package/dist/cli/commands/ecc-commands.js +8 -17
- package/dist/cli/commands/evidence-commands.js +10 -6
- package/dist/cli/commands/evolution-commands.d.ts +2 -2
- package/dist/cli/commands/evolution-commands.js +109 -115
- package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
- package/dist/cli/commands/feedback-commands-helpers.js +33 -0
- package/dist/cli/commands/feedback-commands.js +15 -38
- package/dist/cli/commands/final-review-commands.d.ts +1 -1
- package/dist/cli/commands/final-review-commands.js +24 -22
- package/dist/cli/commands/fixture-commands.d.ts +1 -1
- package/dist/cli/commands/fixture-commands.js +17 -6
- package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
- package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
- package/dist/cli/commands/fork-commands.js +19 -51
- package/dist/cli/commands/fresh-context-commands.js +3 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
- package/dist/cli/commands/gate-commands-enforce.js +210 -0
- package/dist/cli/commands/gate-commands.d.ts +1 -1
- package/dist/cli/commands/gate-commands.js +85 -205
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
- package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
- package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
- package/dist/cli/commands/heartbeat-commands-action.js +192 -0
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
- package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
- package/dist/cli/commands/heartbeat-commands.js +19 -198
- package/dist/cli/commands/hook-handle.d.ts +1 -1
- package/dist/cli/commands/hook-handle.js +46 -13
- package/dist/cli/commands/hooks-commands.d.ts +1 -1
- package/dist/cli/commands/hooks-commands.js +18 -6
- package/dist/cli/commands/ide-commands.d.ts +1 -1
- package/dist/cli/commands/ide-commands.js +5 -3
- package/dist/cli/commands/impact-commands.js +8 -2
- package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
- package/dist/cli/commands/job-add-slice-command.js +151 -0
- package/dist/cli/commands/job-commands.d.ts +64 -0
- package/dist/cli/commands/job-commands.js +134 -63
- package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
- package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
- package/dist/cli/commands/lease-metrics-commands.js +21 -61
- package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
- package/dist/cli/commands/lease-stats-commands.js +9 -6
- package/dist/cli/commands/lint-commands.d.ts +9 -3
- package/dist/cli/commands/lint-commands.js +15 -8
- package/dist/cli/commands/log-commands.d.ts +1 -1
- package/dist/cli/commands/log-commands.js +8 -6
- package/dist/cli/commands/loop-commands.d.ts +1 -1
- package/dist/cli/commands/loop-commands.js +50 -50
- package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
- package/dist/cli/commands/loop-eval-commands.js +101 -30
- package/dist/cli/commands/memory-commands.js +21 -13
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
- package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
- package/dist/cli/commands/mut-commands-helpers.js +43 -0
- package/dist/cli/commands/mut-commands.js +16 -58
- package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
- package/dist/cli/commands/observability-commands-queries.js +113 -0
- package/dist/cli/commands/observability-commands.d.ts +1 -1
- package/dist/cli/commands/observability-commands.js +7 -92
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +20 -8
- package/dist/cli/commands/outer-cache-commands.js +18 -7
- package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
- package/dist/cli/commands/perf-audit-commands.js +12 -7
- package/dist/cli/commands/perf-commands.d.ts +1 -1
- package/dist/cli/commands/perf-commands.js +5 -5
- package/dist/cli/commands/playwright-commands.d.ts +1 -1
- package/dist/cli/commands/playwright-commands.js +20 -8
- package/dist/cli/commands/polyrepo-commands.js +21 -19
- package/dist/cli/commands/prd-blocks-commands.js +1 -3
- package/dist/cli/commands/prd-commands.d.ts +1 -1
- package/dist/cli/commands/prd-commands.js +8 -4
- 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/upgrade-commands.d.ts +1 -1
- package/dist/cli/commands/user-touchpoint-commands.js +1 -3
- package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +20 -7
- package/dist/cli/commands/vm-commands.js +48 -19
- package/dist/cli/commands/wave-plan-commands.js +5 -2
- package/dist/cli/commands/web-commands.js +14 -4
- package/dist/cli/commands/web-lifecycle-commands.js +5 -3
- package/dist/cli/commands/workflow-commands.d.ts +1 -1
- package/dist/cli/commands/workflow-commands.js +64 -29
- package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
- package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
- package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
- package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
- package/dist/cli/commands/workflow-plan-commands.js +15 -141
- package/dist/cli/commands/workspace/clean-command.js +4 -1
- package/dist/cli/commands/workspace/helpers.js +2 -1
- package/dist/cli/commands/workspace/init-command.js +80 -20
- package/dist/cli/commands/workspace/reconcile-command.js +3 -1
- package/dist/cli/commands/workspace-commands.d.ts +1 -1
- package/dist/cli/commands/workspace-commands.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-auth-commands.js +16 -169
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
- package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
- package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
- package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-lease-commands.js +65 -37
- package/dist/cli/index.js +6 -2
- package/dist/cli/program.js +6 -3
- package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
- package/dist/reporters/bdd-reporter.js +9 -3
- package/dist/services/24h-mode/auto-engage.d.ts +19 -0
- package/dist/services/24h-mode/auto-engage.js +35 -0
- package/dist/services/24h-mode/decider.js +5 -1
- package/dist/services/24h-mode/store.js +4 -2
- package/dist/services/adapter/adapter-registry.js +20 -8
- package/dist/services/adapter/adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.js +1 -1
- package/dist/services/adapter/claude-adapter.d.ts +1 -1
- package/dist/services/adapter/claude-adapter.js +8 -8
- package/dist/services/adapter/codex-adapter.d.ts +2 -2
- package/dist/services/adapter/codex-adapter.js +20 -8
- package/dist/services/adapter/copilot-adapter.d.ts +2 -2
- package/dist/services/adapter/copilot-adapter.js +20 -8
- package/dist/services/artifacts/artifact-prerequisites.js +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 +67 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +24 -60
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
- package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-probes.js +77 -0
- package/dist/services/code/orchestrator-can-do.d.ts +11 -22
- package/dist/services/code/orchestrator-can-do.js +37 -137
- package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
- package/dist/services/code/post-compact-checkpoint.js +57 -0
- package/dist/services/code/post-compact-detector.js +16 -48
- package/dist/services/code/step-08-gate.d.ts +4 -3
- package/dist/services/code/step-08-gate.js +21 -9
- package/dist/services/code-review/ecc-bridge.js +23 -23
- package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
- package/dist/services/codegraph/codegraph-config-repair-writer.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/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.js +3 -2
- package/dist/services/loop/evaluator-dispatcher.js +78 -42
- package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
- package/dist/services/loop/loop-bee-relation-service.js +36 -40
- package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-store.js +9 -11
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +14 -25
- package/dist/services/loop/loop-release-service.d.ts +2 -2
- package/dist/services/loop/loop-release-service.js +3 -3
- package/dist/services/loop/loop-release-store.d.ts +2 -2
- package/dist/services/loop/loop-release-store.js +4 -6
- package/dist/services/loop/loop-release-types.d.ts +1 -1
- package/dist/services/loop/loop-release-types.js +21 -31
- package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
- package/dist/services/loop/monotonic-guard-types.js +9 -0
- package/dist/services/loop/monotonic-guard.d.ts +2 -43
- package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
- package/dist/services/loop/monotonic-runner-types.js +17 -0
- package/dist/services/loop/monotonic-runner.d.ts +3 -34
- package/dist/services/loop/monotonic-runner.js +10 -20
- package/dist/services/loop/run-driver.js +16 -8
- package/dist/services/loop/spec-service.d.ts +0 -5
- package/dist/services/loop/spec-service.js +49 -9
- package/dist/services/memory/llm-reranker-core.d.ts +108 -0
- package/dist/services/memory/llm-reranker-core.js +105 -0
- package/dist/services/memory/llm-reranker.d.ts +3 -94
- package/dist/services/memory/llm-reranker.js +13 -102
- package/dist/services/memory/memory-ingest-service.d.ts +1 -22
- package/dist/services/memory/memory-ingest-service.js +29 -76
- package/dist/services/memory/memory-ingest-support.d.ts +23 -0
- package/dist/services/memory/memory-ingest-support.js +81 -0
- package/dist/services/memory/memory-rotate-service.js +41 -8
- package/dist/services/memory/memory-search-service.js +8 -4
- package/dist/services/memory/project-context-service.js +26 -5
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
- package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
- package/dist/services/memory/project-memory-service/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.js +34 -22
- 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 +1 -1
- 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 +1 -37
- package/dist/services/prd/handoff-service.js +16 -148
- 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/release/release-state.d.ts +2 -2
- package/dist/services/release/release-state.js +44 -15
- package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
- package/dist/services/release/version-precheck-layer-changeset.js +43 -0
- package/dist/services/release/version-precheck-service.d.ts +11 -36
- package/dist/services/release/version-precheck-service.js +20 -104
- package/dist/services/release/version-precheck-support.d.ts +53 -0
- package/dist/services/release/version-precheck-support.js +64 -0
- package/dist/services/retrospective/retrospective-index.js +17 -3
- package/dist/services/retrospective/retrospective-search-service.js +6 -2
- package/dist/services/retrospective/retrospective-show.js +4 -1
- package/dist/services/reviewer/model-family.js +7 -1
- package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
- package/dist/services/reviewer/providers/anthropic.js +10 -1
- package/dist/services/reviewer/providers/openai.d.ts +5 -0
- package/dist/services/reviewer/providers/openai.js +10 -1
- package/dist/services/reviewer/reviewer-config.js +4 -2
- package/dist/services/reviewer/reviewer-service.d.ts +2 -36
- package/dist/services/reviewer/reviewer-service.js +2 -1
- package/dist/services/reviewer/reviewer-types.d.ts +43 -0
- package/dist/services/reviewer/reviewer-types.js +1 -0
- package/dist/services/role/role-registry.js +9 -1
- package/dist/services/runtime/runtime-detector.js +4 -1
- package/dist/services/runtime/vendors/claude-code.js +14 -6
- package/dist/services/runtime/vendors/codex.js +11 -3
- package/dist/services/runtime/vendors/copilot.js +11 -3
- package/dist/services/sc/sc-service.js +28 -15
- package/dist/services/scan/acceptance-coverage-service.js +4 -1
- package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
- package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
- package/dist/services/scan/api-diff-openapi.d.ts +16 -2
- package/dist/services/scan/api-diff-openapi.js +19 -123
- package/dist/services/scan/api-diff-recorded.js +16 -3
- package/dist/services/scan/api-diff-service.js +49 -16
- package/dist/services/scan/api-diff-types.js +12 -3
- package/dist/services/scan/api-surface-helpers.d.ts +13 -0
- package/dist/services/scan/api-surface-helpers.js +31 -0
- package/dist/services/scan/api-surface-service.d.ts +2 -45
- package/dist/services/scan/api-surface-service.js +15 -26
- package/dist/services/scan/api-surface-types.d.ts +54 -0
- package/dist/services/scan/api-surface-types.js +10 -0
- package/dist/services/scan/archetype-detection.d.ts +37 -0
- package/dist/services/scan/archetype-detection.js +142 -0
- package/dist/services/scan/archetype-service.js +36 -125
- package/dist/services/scan/diff-scope-service.js +35 -15
- package/dist/services/scan/existing-system-service.js +16 -99
- package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
- package/dist/services/scan/existing-system-visual-tokens.js +123 -0
- package/dist/services/scan/file-size-policy.d.ts +86 -0
- package/dist/services/scan/file-size-policy.js +184 -0
- package/dist/services/scan/file-size-scan.d.ts +30 -3
- package/dist/services/scan/file-size-scan.js +47 -9
- package/dist/services/scan/karpathy-service.js +6 -1
- package/dist/services/scan/orphan-service.js +86 -20
- package/dist/services/scan/type-sanity-service.js +104 -10
- package/dist/services/sediment/dispose-confirm.d.ts +2 -2
- package/dist/services/sediment/dispose-confirm.js +2 -2
- package/dist/services/sediment/json-schema.d.ts +1 -1
- package/dist/services/sediment/json-schema.js +25 -13
- package/dist/services/sediment/manifest-lint.d.ts +1 -12
- package/dist/services/sediment/manifest-lint.js +1 -7
- package/dist/services/sediment/pool-paths.js +13 -9
- package/dist/services/sediment/pool-read.d.ts +1 -1
- package/dist/services/sediment/pool-read.js +42 -18
- package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
- package/dist/services/sediment/pool-rebuild-index.js +5 -5
- package/dist/services/sediment/pool-write.d.ts +1 -1
- package/dist/services/sediment/pool-write.js +7 -7
- package/dist/services/sediment/promotion-gate.d.ts +1 -1
- package/dist/services/sediment/promotion-gate.js +9 -9
- package/dist/services/sediment/types.d.ts +8 -8
- package/dist/services/session/binding-status-service.js +14 -4
- package/dist/services/session/caller-binding-service.js +2 -1
- package/dist/services/session/getSessionDir.js +4 -1
- package/dist/services/session/index.d.ts +1 -1
- package/dist/services/session/index.js +1 -1
- package/dist/services/session/resolve-caller-id.js +7 -5
- package/dist/services/session/session-binding-bridge.js +26 -25
- package/dist/services/session/session-checkpoint-service.js +1 -1
- package/dist/services/session/session-file-schema.d.ts +70 -0
- package/dist/services/session/session-file-schema.js +68 -0
- package/dist/services/session/session-manager.d.ts +6 -6
- package/dist/services/session/session-manager.js +30 -29
- package/dist/services/session/session-resume-service.js +2 -1
- package/dist/services/share/bundle-format-constants.d.ts +85 -0
- package/dist/services/share/bundle-format-constants.js +100 -0
- package/dist/services/share/bundle-reader.d.ts +3 -3
- package/dist/services/share/bundle-reader.js +75 -68
- package/dist/services/share/bundle-types.d.ts +3 -70
- package/dist/services/share/bundle-types.js +38 -107
- package/dist/services/share/bundle-writer.d.ts +3 -3
- package/dist/services/share/bundle-writer.js +101 -91
- package/dist/services/share/run-state-contract.d.ts +1 -1
- package/dist/services/share/run-state-contract.js +7 -13
- package/dist/services/signal/cancel-handler.js +2 -1
- package/dist/services/skill/resume-detector.js +6 -4
- package/dist/services/skill/skill-scheduler.js +3 -1
- package/dist/services/skill/skill-search-service.js +4 -4
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-diff.js +6 -10
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-export.js +15 -17
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.js +4 -4
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +13 -12
- package/dist/services/skillhub/release-retain.d.ts +3 -3
- package/dist/services/skillhub/release-retain.js +22 -22
- package/dist/services/skillhub/sqlite-store.d.ts +1 -1
- package/dist/services/skillhub/sqlite-store.js +12 -11
- package/dist/services/skillhub/tar-runtime.js +15 -15
- package/dist/services/skillhub/types.d.ts +4 -4
- package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
- package/dist/services/skills/hooks-settings-service.js +61 -19
- package/dist/services/skills/presence-lease-service.js +26 -16
- package/dist/services/skills/presence-lease-types.d.ts +1 -1
- package/dist/services/skills/presence-lease-types.js +1 -1
- package/dist/services/skills/skill-conformance-service.js +40 -8
- package/dist/services/skills/skill-presence-service.js +16 -14
- package/dist/services/skills/skill-runbook-service.js +2 -1
- package/dist/services/skills/skill-statusline-model.d.ts +128 -0
- package/dist/services/skills/skill-statusline-model.js +163 -0
- package/dist/services/skills/skill-statusline-renderer.js +4 -3
- package/dist/services/skills/skill-statusline-service.d.ts +3 -100
- package/dist/services/skills/skill-statusline-service.js +56 -163
- package/dist/services/skills/statusline-palette.js +11 -6
- package/dist/services/skills/statusline-settings-service.js +2 -1
- package/dist/services/skills/sync-service-support.d.ts +65 -0
- package/dist/services/skills/sync-service-support.js +50 -0
- package/dist/services/skills/sync-service.d.ts +3 -66
- package/dist/services/skills/sync-service.js +15 -53
- package/dist/services/slice/calibration-store.js +8 -2
- package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
- package/dist/services/slice/cross-pass-edge-merger.js +13 -63
- package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
- package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
- package/dist/services/slice/granularity-decider.js +2 -2
- package/dist/services/slice/slice-archive-service.js +8 -3
- package/dist/services/slice/slice-check-service.js +19 -8
- package/dist/services/slice/slice-decompose-runners.js +61 -23
- package/dist/services/slice/slice-decompose-service.js +4 -4
- package/dist/services/slice/slice-review-state.js +8 -2
- package/dist/services/smoke/smoke-paths-state.js +9 -2
- package/dist/services/sop/gate-enforce-service.js +9 -2
- package/dist/services/sop/sop-advance-service.js +14 -2
- package/dist/services/sop/sop-check-service.js +16 -4
- package/dist/services/sop/sop-paths.js +3 -1
- package/dist/services/sop/sop-registry-service.js +5 -1
- package/dist/services/sop/sop-service.js +29 -7
- package/dist/services/sop/sop-types.js +5 -1
- package/dist/services/standards/ide-aware-standards-service.js +2 -2
- package/dist/services/standards/loop-engineering-lint.js +12 -5
- package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
- package/dist/services/standards/migrate-claude-rules-service.js +9 -7
- package/dist/services/standards/missing-standards-detector.js +1 -3
- package/dist/services/standards/project-context-support.d.ts +50 -0
- package/dist/services/standards/project-context-support.js +244 -0
- package/dist/services/standards/project-context-types.d.ts +30 -0
- package/dist/services/standards/project-context-types.js +11 -0
- package/dist/services/standards/project-context.d.ts +10 -22
- package/dist/services/standards/project-context.js +27 -214
- package/dist/services/standards/project-standards-service.js +43 -12
- package/dist/services/standards/standards-render-common.d.ts +15 -0
- package/dist/services/standards/standards-render-common.js +49 -0
- package/dist/services/standards/standards-render.d.ts +1 -2
- package/dist/services/standards/standards-render.js +31 -58
- package/dist/services/standards/ui-library-dispatch-block.js +1 -1
- package/dist/services/tech/tech-change-id-service.js +7 -7
- package/dist/services/tech/tech-service.js +73 -26
- package/dist/services/test-cache/test-cache-service.js +8 -3
- package/dist/services/upgrade/1x-detector-service.js +5 -3
- package/dist/services/upgrade/gitignore-migrate-service.js +5 -5
- package/dist/services/upgrade/upgrade-service.js +36 -13
- package/dist/services/verdict/envelope-parsers.d.ts +84 -0
- package/dist/services/verdict/envelope-parsers.js +146 -0
- package/dist/services/verdict/envelopes.d.ts +50 -60
- package/dist/services/verdict/envelopes.js +18 -156
- package/dist/services/verdict/verdict-aggregator.js +27 -3
- package/dist/services/vm/vm-lease.js +15 -3
- package/dist/services/web/aria-node.d.ts +27 -0
- package/dist/services/web/aria-node.js +1 -0
- package/dist/services/web/browser-acquire.js +3 -1
- package/dist/services/web/browser-cache-probe.d.ts +18 -0
- package/dist/services/web/browser-cache-probe.js +110 -0
- package/dist/services/web/browser-session-manager.js +6 -2
- package/dist/services/web/daemon-registry.js +4 -1
- package/dist/services/web/playwright-loader.d.ts +2 -70
- package/dist/services/web/playwright-types.d.ts +75 -0
- package/dist/services/web/playwright-types.js +1 -0
- package/dist/services/web/snapshot-pruner.d.ts +2 -23
- package/dist/services/web/snapshot-pruner.js +8 -3
- package/dist/services/web/web-daemon-service.js +1 -3
- package/dist/services/web/web-install-service.d.ts +3 -32
- package/dist/services/web/web-install-service.js +21 -100
- package/dist/services/web/web-install-types.d.ts +31 -0
- package/dist/services/web/web-install-types.js +13 -0
- package/dist/services/web/web-login-profile.js +7 -5
- package/dist/services/web/web-protocol.js +3 -1
- package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
- package/dist/services/workflow/pipeline-verify-service.js +17 -6
- package/dist/services/workflow/plan-reader.js +5 -1
- package/dist/services/workflow/plan-refresher.js +20 -6
- package/dist/services/workflow/plan-trigger-detector.js +31 -8
- package/dist/services/workflow/provision-dispatch-node.js +8 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
- package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
- package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
- package/dist/services/workflow/workflow-autonomous-service.js +25 -13
- package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
- package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
- package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
- package/dist/services/workflow/workflow-graph-store.js +30 -107
- package/dist/services/workflow/workflow-graph-types.js +3 -3
- package/dist/services/workflow/workflow-inflight-probe.js +14 -7
- package/dist/services/workflow/workflow-loader.js +5 -1
- package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
- package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
- package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
- package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
- package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
- package/dist/services/workflow/workflow-router-service.js +169 -27
- package/dist/services/workflow/workflow-skip-service.js +14 -4
- package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
- package/dist/services/workflow/workflow-spec-builders.js +121 -0
- package/dist/services/workflow/workflow-spec.d.ts +7 -6
- package/dist/services/workflow/workflow-spec.js +22 -116
- package/dist/services/workflow/workflow-state-store.js +2 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
- package/dist/services/workspace/migrate-service.js +66 -16
- package/dist/services/workspace/reconcile-migrate.js +6 -2
- package/dist/services/workspace/reconcile-service.js +37 -16
- package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
- package/dist/services/workspace/workspace-clean-service.js +4 -1
- package/dist/services/workspace/workspace-service.js +11 -3
- package/dist/services/workspace/workspace-state-service.js +1 -1
- package/dist/services/worktree/git-worktree-parser.js +13 -3
- package/dist/services/worktree/host-worktree-reconciler.js +8 -4
- package/dist/services/worktree/long-path-cleanup.js +23 -6
- package/dist/services/worktree/worktree-gc-guard.js +3 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
- package/dist/services/worktree/worktree-lease-types.js +10 -0
- package/dist/services/worktree/worktree-lease.d.ts +2 -44
- package/dist/shared/array-guards.d.ts +30 -0
- package/dist/shared/array-guards.js +32 -0
- package/dist/shared/format-md-compact-internals.d.ts +26 -0
- package/dist/shared/format-md-compact-internals.js +125 -0
- package/dist/shared/format-md-compact.js +1 -117
- package/dist/shared/fs-utils.js +2 -1
- package/dist/shared/incrementing-number.js +3 -3
- package/dist/shared/json-parse.d.ts +71 -0
- package/dist/shared/json-parse.js +32 -0
- package/dist/shared/json-schema-mini.js +3 -1
- package/dist/shared/path-safety.js +3 -1
- package/dist/shared/path-utils.d.ts +20 -0
- package/dist/shared/path-utils.js +26 -0
- package/dist/shared/planner-response.js +3 -3
- package/dist/shared/stale-policy.js +1 -3
- package/dist/skills/peaks-maker/index.js +11 -11
- package/package.json +31 -8
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +305 -125
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/peaks-code/SKILL.md +1 -1
|
@@ -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',
|
|
@@ -43,7 +43,8 @@ function safeRead(reader) {
|
|
|
43
43
|
try {
|
|
44
44
|
return reader();
|
|
45
45
|
}
|
|
46
|
-
catch {
|
|
46
|
+
catch {
|
|
47
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
47
48
|
return null;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -77,31 +78,39 @@ function run({ options, projectRootResolver }) {
|
|
|
77
78
|
try {
|
|
78
79
|
const result = probe();
|
|
79
80
|
if (!result.distReadable) {
|
|
80
|
-
return [
|
|
81
|
+
return [
|
|
82
|
+
{
|
|
81
83
|
id: 'build:dist-version-matches-source',
|
|
82
84
|
ok: true,
|
|
83
85
|
message: `dist/ is not present; run \`pnpm build\` to populate dist/shared/version.js (source version ${result.source})`
|
|
84
|
-
}
|
|
86
|
+
}
|
|
87
|
+
];
|
|
85
88
|
}
|
|
86
89
|
if (result.match) {
|
|
87
|
-
return [
|
|
90
|
+
return [
|
|
91
|
+
{
|
|
88
92
|
id: 'build:dist-version-matches-source',
|
|
89
93
|
ok: true,
|
|
90
94
|
message: `dist/shared/version.js ships CLI_VERSION ${result.dist} matching source ${result.source}`
|
|
91
|
-
}
|
|
95
|
+
}
|
|
96
|
+
];
|
|
92
97
|
}
|
|
93
|
-
return [
|
|
98
|
+
return [
|
|
99
|
+
{
|
|
94
100
|
id: 'build:dist-version-matches-source',
|
|
95
101
|
ok: false,
|
|
96
102
|
message: `dist/shared/version.js ships CLI_VERSION ${result.dist} but source ${result.source} is in src/shared/version.ts; run \`pnpm build\` to refresh dist/`
|
|
97
|
-
}
|
|
103
|
+
}
|
|
104
|
+
];
|
|
98
105
|
}
|
|
99
106
|
catch (error) {
|
|
100
|
-
return [
|
|
107
|
+
return [
|
|
108
|
+
{
|
|
101
109
|
id: 'build:dist-version-matches-source',
|
|
102
110
|
ok: false,
|
|
103
111
|
message: `dist version check failed: ${getErrorMessage(error)}`
|
|
104
|
-
}
|
|
112
|
+
}
|
|
113
|
+
];
|
|
105
114
|
}
|
|
106
115
|
}
|
|
107
116
|
export const check = {
|
|
@@ -143,41 +143,51 @@ function run({ options }) {
|
|
|
143
143
|
try {
|
|
144
144
|
const { hooksPath, hooks } = probe();
|
|
145
145
|
if (hooksPath === null) {
|
|
146
|
-
return [
|
|
146
|
+
return [
|
|
147
|
+
{
|
|
147
148
|
id: CHECK_ID,
|
|
148
149
|
ok: true,
|
|
149
150
|
message: 'ECC plugin not installed (no `ecc@*` entry in ~/.claude/plugins/installed_plugins.json); no plugin hook schema drift to report'
|
|
150
|
-
}
|
|
151
|
+
}
|
|
152
|
+
];
|
|
151
153
|
}
|
|
152
154
|
if (hooks === null) {
|
|
153
|
-
return [
|
|
155
|
+
return [
|
|
156
|
+
{
|
|
154
157
|
id: CHECK_ID,
|
|
155
158
|
ok: true,
|
|
156
159
|
message: `No readable ECC plugin hooks.json at ${hooksPath}; no plugin hook schema drift to report`
|
|
157
|
-
}
|
|
160
|
+
}
|
|
161
|
+
];
|
|
158
162
|
}
|
|
159
163
|
const finding = findEccHooksSchemaDrift(hooks);
|
|
160
164
|
if (finding.unknownKeyCount === 0) {
|
|
161
|
-
return [
|
|
165
|
+
return [
|
|
166
|
+
{
|
|
162
167
|
id: CHECK_ID,
|
|
163
168
|
ok: true,
|
|
164
169
|
message: `ECC plugin hooks.json at ${hooksPath} carries only the keys Claude Code accepts (matcher/hooks per matcher group); the startup "unknown keys ... ignored" warning will not appear`
|
|
165
|
-
}
|
|
170
|
+
}
|
|
171
|
+
];
|
|
166
172
|
}
|
|
167
173
|
const rootPart = finding.rootKeys.length === 0 ? '' : `at the root: ${finding.rootKeys.join(', ')}; `;
|
|
168
|
-
return [
|
|
174
|
+
return [
|
|
175
|
+
{
|
|
169
176
|
id: CHECK_ID,
|
|
170
177
|
ok: false,
|
|
171
178
|
severity: 'warning',
|
|
172
179
|
message: `ECC plugin hooks.json at ${hooksPath} carries ${finding.unknownKeyCount} key(s) that Claude Code's plugin hook schema ignores (${rootPart}on ${finding.entryCount} matcher group(s): ${finding.entryKeys.join(', ')}). Claude Code prints \`ecc: hooks.json: unknown keys ... ignored\` at startup; every hook still loads, so this warning is cosmetic. Source: the third-party ECC plugin (github.com/affaan-m/ECC) ships these keys in every release (v2.2.0 / v2.2.1 / main) — peaks-loop does NOT write this file. Fix: none inside peaks-loop; upstream ECC must drop them from its hooks/hooks.json (its scripts/ci/validate-hooks.js validates shape only, never a key allow-list, so ECC's own CI stays green). Upgrading ECC will not help.`
|
|
173
|
-
}
|
|
180
|
+
}
|
|
181
|
+
];
|
|
174
182
|
}
|
|
175
183
|
catch (error) {
|
|
176
|
-
return [
|
|
184
|
+
return [
|
|
185
|
+
{
|
|
177
186
|
id: CHECK_ID,
|
|
178
187
|
ok: true,
|
|
179
188
|
message: `ECC hooks schema-drift probe failed (${getErrorMessage(error)}); skipping check`
|
|
180
|
-
}
|
|
189
|
+
}
|
|
190
|
+
];
|
|
181
191
|
}
|
|
182
192
|
}
|
|
183
193
|
export const check = {
|
|
@@ -95,7 +95,8 @@ function readSettingsJson(path) {
|
|
|
95
95
|
try {
|
|
96
96
|
return JSON.parse(readFileSync(path, 'utf8'));
|
|
97
97
|
}
|
|
98
|
-
catch {
|
|
98
|
+
catch {
|
|
99
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
99
100
|
return null;
|
|
100
101
|
}
|
|
101
102
|
}
|
|
@@ -128,34 +129,42 @@ function run({ options, projectRootResolver }) {
|
|
|
128
129
|
const probe = gateguardProbe();
|
|
129
130
|
const offending = collectGateguardEntries(probe);
|
|
130
131
|
if (offending.length === 0) {
|
|
131
|
-
return [
|
|
132
|
+
return [
|
|
133
|
+
{
|
|
132
134
|
id: 'integration:gateguard-peaks-conflict',
|
|
133
135
|
ok: true,
|
|
134
136
|
message: 'No gateguard-fact-force PreToolUse hook detected in ~/.claude/settings.json or project .claude/settings.json; the Edit/Write fact-forcing flow will not interfere with peaks-qa .peaks/ artifact writes'
|
|
135
|
-
}
|
|
137
|
+
}
|
|
138
|
+
];
|
|
136
139
|
}
|
|
137
140
|
const unrouted = offending.filter((location) => !entrySkipsPeaks(location.entry));
|
|
138
141
|
if (unrouted.length === 0) {
|
|
139
|
-
return [
|
|
142
|
+
return [
|
|
143
|
+
{
|
|
140
144
|
id: 'integration:gateguard-peaks-conflict',
|
|
141
145
|
ok: true,
|
|
142
146
|
message: `gateguard-fact-force hook is installed in ${offending.map((l) => l.source).join(' + ')} but a .peaks/** skip pattern is configured; peaks-qa .peaks/ artifact writes are not blocked`
|
|
143
|
-
}
|
|
147
|
+
}
|
|
148
|
+
];
|
|
144
149
|
}
|
|
145
150
|
const sources = Array.from(new Set(unrouted.map((u) => u.sourcePath))).join(' + ');
|
|
146
151
|
const matchers = unrouted.map((u) => u.entry.matcher ?? '*').join(', ');
|
|
147
|
-
return [
|
|
152
|
+
return [
|
|
153
|
+
{
|
|
148
154
|
id: 'integration:gateguard-peaks-conflict',
|
|
149
155
|
ok: false,
|
|
150
156
|
message: `gateguard-fact-force PreToolUse hook is installed (${sources}, matcher: ${matchers}) with no .peaks/** skip pattern; every Edit/Write of a peaks-qa envelope (.peaks/_runtime/<sid>/qa/requests/*.md) will be intercepted and demand a 4-fact questionnaire that does not apply to QA templates. Workaround: set \`ECC_DISABLED_HOOKS=pre:edit-write:gateguard-fact-force\` for the session, OR add a paired PreToolUse entry whose matcher restricts the hook to non-.peaks paths. peaks-loop is NOT the source of this hook.`
|
|
151
|
-
}
|
|
157
|
+
}
|
|
158
|
+
];
|
|
152
159
|
}
|
|
153
160
|
catch (error) {
|
|
154
|
-
return [
|
|
161
|
+
return [
|
|
162
|
+
{
|
|
155
163
|
id: 'integration:gateguard-peaks-conflict',
|
|
156
164
|
ok: true,
|
|
157
165
|
message: `gateguard probe failed (${getErrorMessage(error)}); skipping check`
|
|
158
|
-
}
|
|
166
|
+
}
|
|
167
|
+
];
|
|
159
168
|
}
|
|
160
169
|
}
|
|
161
170
|
export const check = {
|