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
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice DAG type surface — moved VERBATIM out of `slice-dag.ts` for the
|
|
3
|
+
* 300-raw-line cap (slice `b1-filesplit-campaign`, wave 3C). No behavior
|
|
4
|
+
* lives here: node/edge model types, the complexity tier, and the two
|
|
5
|
+
* error classes, plus the wave-plan envelopes. `slice-dag.ts` re-exports
|
|
6
|
+
* every name from this module, so all existing import paths keep working.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Slice complexity tier (v2.15.0 follow-up, G2 in 12 Gaps).
|
|
10
|
+
* Used by Code to schedule complex slices during user-attended hours
|
|
11
|
+
* and trivial / simple slices overnight.
|
|
12
|
+
*/
|
|
13
|
+
export type SliceComplexity = 'trivial' | 'simple' | 'complex';
|
|
14
|
+
export declare const SLICE_COMPLEXITIES: readonly SliceComplexity[];
|
|
15
|
+
export declare function isSliceComplexity(value: string): value is SliceComplexity;
|
|
16
|
+
export interface SliceNode {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly role: string;
|
|
19
|
+
/** Human-readable label, optional. */
|
|
20
|
+
readonly label?: string;
|
|
21
|
+
/** Optional prompt override; dispatch falls back to a default placeholder. */
|
|
22
|
+
readonly prompt?: string;
|
|
23
|
+
/**
|
|
24
|
+
* v2.15.0 follow-up — G12: foundation slice. Foundation slices run before
|
|
25
|
+
* business slices in the layered DAG. Business slices do NOT wait for
|
|
26
|
+
* ALL foundation slices — they wait only for the foundation subset
|
|
27
|
+
* they declare as `dependsOn`. Optional; default false.
|
|
28
|
+
*/
|
|
29
|
+
readonly foundation?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* v2.15.0 follow-up — G11: upstream sync slice. Marks a slice that
|
|
32
|
+
* syncs an upstream fork (e.g. hermes) to a new tag. UpstreamSync
|
|
33
|
+
* slices take priority within their topological level. Optional.
|
|
34
|
+
*/
|
|
35
|
+
readonly upstreamSync?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* v2.15.0 follow-up — G2: complexity tier. Drives Code's scheduling
|
|
38
|
+
* (complex = user-attended, simple/trivial = overnight). Optional.
|
|
39
|
+
*/
|
|
40
|
+
readonly complexity?: SliceComplexity;
|
|
41
|
+
/**
|
|
42
|
+
* Slice 2026-09-10-dispatch-token-and-swarm §3: files this slice is
|
|
43
|
+
* expected to touch. When EVERY node of a topological level declares
|
|
44
|
+
* `files`, `--from-dag` emits a file-overlap wave plan (`firstLevelWaves`)
|
|
45
|
+
* so the LLM can fan the level out without serializing on a shared file.
|
|
46
|
+
* Optional and additive: absent → DAG hash and dispatch behavior are
|
|
47
|
+
* byte-identical to before this slice.
|
|
48
|
+
*/
|
|
49
|
+
readonly files?: readonly string[];
|
|
50
|
+
}
|
|
51
|
+
export interface DependsOn {
|
|
52
|
+
readonly from: string;
|
|
53
|
+
readonly to: string;
|
|
54
|
+
}
|
|
55
|
+
export interface SliceDag {
|
|
56
|
+
readonly nodes: readonly SliceNode[];
|
|
57
|
+
readonly edges: readonly DependsOn[];
|
|
58
|
+
}
|
|
59
|
+
/** Thrown by `validateDag` when the graph violates one of the constraints. */
|
|
60
|
+
export declare class InvalidSliceDagError extends Error {
|
|
61
|
+
readonly path?: readonly string[] | undefined;
|
|
62
|
+
readonly code: "INVALID_SLICE_DAG";
|
|
63
|
+
constructor(message: string, path?: readonly string[] | undefined);
|
|
64
|
+
}
|
|
65
|
+
/** Thrown by `topologicalLevels` when the graph has a cycle (defensive). */
|
|
66
|
+
export declare class SliceDagCycleError extends Error {
|
|
67
|
+
readonly cyclePath: readonly string[];
|
|
68
|
+
readonly code: "SLICE_DAG_CYCLE";
|
|
69
|
+
constructor(cyclePath: readonly string[]);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Knobs for wave planning + artifact-pass behaviour.
|
|
73
|
+
*
|
|
74
|
+
* - `maxConcurrency`: hard cap on how many slices a single Wave can hold.
|
|
75
|
+
* Each topological level is chunked into Waves of at most this many
|
|
76
|
+
* slice IDs (default 6 per `2026-07-28-24h-loop-audit.md` E direction).
|
|
77
|
+
* - `passArtifacts`: when true, each Wave's prompt is augmented with a
|
|
78
|
+
* `WaveArtifact` envelope (contracts of preceding Waves). Default
|
|
79
|
+
* false — the existing `runDag` ancestor-injection path already covers
|
|
80
|
+
* per-slice contract coverage.
|
|
81
|
+
*/
|
|
82
|
+
export interface WaveOptions {
|
|
83
|
+
readonly maxConcurrency: number;
|
|
84
|
+
readonly passArtifacts: boolean;
|
|
85
|
+
}
|
|
86
|
+
/** Default wave options: 6 leaves per wave; artifact-pass off. */
|
|
87
|
+
export declare const DEFAULT_MAX_CONCURRENCY = 6;
|
|
88
|
+
export declare const DEFAULT_WAVE_OPTIONS: WaveOptions;
|
|
89
|
+
/**
|
|
90
|
+
* Artifact envelope emitted when a Wave completes successfully.
|
|
91
|
+
*
|
|
92
|
+
* - `waveIndex`: sequential, 0-based across the whole plan.
|
|
93
|
+
* - `completedLeaves`: slice IDs that finished (`status: 'done'`). Failed
|
|
94
|
+
* or cancelled leaves are NOT included.
|
|
95
|
+
* - `contracts`: per-slice public contract snapshot (sliceId → record).
|
|
96
|
+
* Stored verbatim so a downstream Wave can re-inject this without
|
|
97
|
+
* re-reading the disk-side contract store.
|
|
98
|
+
* - `passedAt`: ISO timestamp of Wave completion (caller-supplied to keep
|
|
99
|
+
* the surface pure).
|
|
100
|
+
*/
|
|
101
|
+
export interface WaveArtifact {
|
|
102
|
+
readonly waveIndex: number;
|
|
103
|
+
readonly completedLeaves: readonly string[];
|
|
104
|
+
readonly contracts: Readonly<Record<string, unknown>>;
|
|
105
|
+
readonly passedAt: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* A single dispatch Wave. Holds the slice IDs that must execute together,
|
|
109
|
+
* respecting `WaveOptions.maxConcurrency`. Waves are emitted in
|
|
110
|
+
* topological order; downstream consumers may treat `waveIndex` as a
|
|
111
|
+
* monotonic cursor.
|
|
112
|
+
*/
|
|
113
|
+
export interface Wave {
|
|
114
|
+
readonly waveIndex: number;
|
|
115
|
+
readonly slices: readonly string[];
|
|
116
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice DAG type surface — moved VERBATIM out of `slice-dag.ts` for the
|
|
3
|
+
* 300-raw-line cap (slice `b1-filesplit-campaign`, wave 3C). No behavior
|
|
4
|
+
* lives here: node/edge model types, the complexity tier, and the two
|
|
5
|
+
* error classes, plus the wave-plan envelopes. `slice-dag.ts` re-exports
|
|
6
|
+
* every name from this module, so all existing import paths keep working.
|
|
7
|
+
*/
|
|
8
|
+
export const SLICE_COMPLEXITIES = [
|
|
9
|
+
'trivial',
|
|
10
|
+
'simple',
|
|
11
|
+
'complex'
|
|
12
|
+
];
|
|
13
|
+
export function isSliceComplexity(value) {
|
|
14
|
+
return SLICE_COMPLEXITIES.includes(value);
|
|
15
|
+
}
|
|
16
|
+
/** Thrown by `validateDag` when the graph violates one of the constraints. */
|
|
17
|
+
export class InvalidSliceDagError extends Error {
|
|
18
|
+
path;
|
|
19
|
+
code = 'INVALID_SLICE_DAG';
|
|
20
|
+
constructor(message, path) {
|
|
21
|
+
super(message);
|
|
22
|
+
this.path = path;
|
|
23
|
+
this.name = 'InvalidSliceDagError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Thrown by `topologicalLevels` when the graph has a cycle (defensive). */
|
|
27
|
+
export class SliceDagCycleError extends Error {
|
|
28
|
+
cyclePath;
|
|
29
|
+
code = 'SLICE_DAG_CYCLE';
|
|
30
|
+
constructor(cyclePath) {
|
|
31
|
+
super(`cycle detected in slice DAG: ${cyclePath.join(' -> ')}`);
|
|
32
|
+
this.cyclePath = cyclePath;
|
|
33
|
+
this.name = 'SliceDagCycleError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** Default wave options: 6 leaves per wave; artifact-pass off. */
|
|
37
|
+
export const DEFAULT_MAX_CONCURRENCY = 6;
|
|
38
|
+
export const DEFAULT_WAVE_OPTIONS = {
|
|
39
|
+
maxConcurrency: DEFAULT_MAX_CONCURRENCY,
|
|
40
|
+
passArtifacts: false
|
|
41
|
+
};
|
|
@@ -1,66 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Slice complexity tier (v2.15.0 follow-up, G2 in 12 Gaps).
|
|
3
|
-
* Used by Code to schedule complex slices during user-attended hours
|
|
4
|
-
* and trivial / simple slices overnight.
|
|
5
|
-
*/
|
|
6
|
-
export type SliceComplexity = 'trivial' | 'simple' | 'complex';
|
|
7
|
-
export declare const SLICE_COMPLEXITIES: readonly SliceComplexity[];
|
|
8
|
-
export declare function isSliceComplexity(value: string): value is SliceComplexity;
|
|
9
|
-
export interface SliceNode {
|
|
10
|
-
readonly id: string;
|
|
11
|
-
readonly role: string;
|
|
12
|
-
/** Human-readable label, optional. */
|
|
13
|
-
readonly label?: string;
|
|
14
|
-
/** Optional prompt override; dispatch falls back to a default placeholder. */
|
|
15
|
-
readonly prompt?: string;
|
|
16
|
-
/**
|
|
17
|
-
* v2.15.0 follow-up — G12: foundation slice. Foundation slices run before
|
|
18
|
-
* business slices in the layered DAG. Business slices do NOT wait for
|
|
19
|
-
* ALL foundation slices — they wait only for the foundation subset
|
|
20
|
-
* they declare as `dependsOn`. Optional; default false.
|
|
21
|
-
*/
|
|
22
|
-
readonly foundation?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* v2.15.0 follow-up — G11: upstream sync slice. Marks a slice that
|
|
25
|
-
* syncs an upstream fork (e.g. hermes) to a new tag. UpstreamSync
|
|
26
|
-
* slices take priority within their topological level. Optional.
|
|
27
|
-
*/
|
|
28
|
-
readonly upstreamSync?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* v2.15.0 follow-up — G2: complexity tier. Drives Code's scheduling
|
|
31
|
-
* (complex = user-attended, simple/trivial = overnight). Optional.
|
|
32
|
-
*/
|
|
33
|
-
readonly complexity?: SliceComplexity;
|
|
34
|
-
/**
|
|
35
|
-
* Slice 2026-09-10-dispatch-token-and-swarm §3: files this slice is
|
|
36
|
-
* expected to touch. When EVERY node of a topological level declares
|
|
37
|
-
* `files`, `--from-dag` emits a file-overlap wave plan (`firstLevelWaves`)
|
|
38
|
-
* so the LLM can fan the level out without serializing on a shared file.
|
|
39
|
-
* Optional and additive: absent → DAG hash and dispatch behavior are
|
|
40
|
-
* byte-identical to before this slice.
|
|
41
|
-
*/
|
|
42
|
-
readonly files?: readonly string[];
|
|
43
|
-
}
|
|
44
|
-
export interface DependsOn {
|
|
45
|
-
readonly from: string;
|
|
46
|
-
readonly to: string;
|
|
47
|
-
}
|
|
48
|
-
export interface SliceDag {
|
|
49
|
-
readonly nodes: readonly SliceNode[];
|
|
50
|
-
readonly edges: readonly DependsOn[];
|
|
51
|
-
}
|
|
52
|
-
/** Thrown by `validateDag` when the graph violates one of the constraints. */
|
|
53
|
-
export declare class InvalidSliceDagError extends Error {
|
|
54
|
-
readonly path?: readonly string[] | undefined;
|
|
55
|
-
readonly code: "INVALID_SLICE_DAG";
|
|
56
|
-
constructor(message: string, path?: readonly string[] | undefined);
|
|
57
|
-
}
|
|
58
|
-
/** Thrown by `topologicalLevels` when the graph has a cycle (defensive). */
|
|
59
|
-
export declare class SliceDagCycleError extends Error {
|
|
60
|
-
readonly cyclePath: readonly string[];
|
|
61
|
-
readonly code: "SLICE_DAG_CYCLE";
|
|
62
|
-
constructor(cyclePath: readonly string[]);
|
|
63
|
-
}
|
|
1
|
+
import { type SliceDag } from './slice-dag-types.js';
|
|
64
2
|
/**
|
|
65
3
|
* Validate a SliceDag. Throws `InvalidSliceDagError` on the first violation.
|
|
66
4
|
* Pure. Cheap. No I/O.
|
|
@@ -88,49 +26,5 @@ export declare function sliceReadyToRun(dag: SliceDag, completed: ReadonlySet<st
|
|
|
88
26
|
export declare function serializeDag(dag: SliceDag): string;
|
|
89
27
|
/** SHA-256 hash of the serialized DAG. Stable across runs. */
|
|
90
28
|
export declare function hashDag(dag: SliceDag): string;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
*
|
|
94
|
-
* - `maxConcurrency`: hard cap on how many slices a single Wave can hold.
|
|
95
|
-
* Each topological level is chunked into Waves of at most this many
|
|
96
|
-
* slice IDs (default 6 per `2026-07-28-24h-loop-audit.md` E direction).
|
|
97
|
-
* - `passArtifacts`: when true, each Wave's prompt is augmented with a
|
|
98
|
-
* `WaveArtifact` envelope (contracts of preceding Waves). Default
|
|
99
|
-
* false — the existing `runDag` ancestor-injection path already covers
|
|
100
|
-
* per-slice contract coverage.
|
|
101
|
-
*/
|
|
102
|
-
export interface WaveOptions {
|
|
103
|
-
readonly maxConcurrency: number;
|
|
104
|
-
readonly passArtifacts: boolean;
|
|
105
|
-
}
|
|
106
|
-
/** Default wave options: 6 leaves per wave; artifact-pass off. */
|
|
107
|
-
export declare const DEFAULT_MAX_CONCURRENCY = 6;
|
|
108
|
-
export declare const DEFAULT_WAVE_OPTIONS: WaveOptions;
|
|
109
|
-
/**
|
|
110
|
-
* Artifact envelope emitted when a Wave completes successfully.
|
|
111
|
-
*
|
|
112
|
-
* - `waveIndex`: sequential, 0-based across the whole plan.
|
|
113
|
-
* - `completedLeaves`: slice IDs that finished (`status: 'done'`). Failed
|
|
114
|
-
* or cancelled leaves are NOT included.
|
|
115
|
-
* - `contracts`: per-slice public contract snapshot (sliceId → record).
|
|
116
|
-
* Stored verbatim so a downstream Wave can re-inject this without
|
|
117
|
-
* re-reading the disk-side contract store.
|
|
118
|
-
* - `passedAt`: ISO timestamp of Wave completion (caller-supplied to keep
|
|
119
|
-
* the surface pure).
|
|
120
|
-
*/
|
|
121
|
-
export interface WaveArtifact {
|
|
122
|
-
readonly waveIndex: number;
|
|
123
|
-
readonly completedLeaves: readonly string[];
|
|
124
|
-
readonly contracts: Readonly<Record<string, unknown>>;
|
|
125
|
-
readonly passedAt: string;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* A single dispatch Wave. Holds the slice IDs that must execute together,
|
|
129
|
-
* respecting `WaveOptions.maxConcurrency`. Waves are emitted in
|
|
130
|
-
* topological order; downstream consumers may treat `waveIndex` as a
|
|
131
|
-
* monotonic cursor.
|
|
132
|
-
*/
|
|
133
|
-
export interface Wave {
|
|
134
|
-
readonly waveIndex: number;
|
|
135
|
-
readonly slices: readonly string[];
|
|
136
|
-
}
|
|
29
|
+
export { DEFAULT_MAX_CONCURRENCY, DEFAULT_WAVE_OPTIONS, isSliceComplexity, InvalidSliceDagError, SLICE_COMPLEXITIES, SliceDagCycleError } from './slice-dag-types.js';
|
|
30
|
+
export type { DependsOn, SliceComplexity, SliceDag, SliceNode, Wave, WaveArtifact, WaveOptions } from './slice-dag-types.js';
|
|
@@ -25,40 +25,19 @@
|
|
|
25
25
|
* SHA-256 hash is therefore reproducible for the same logical DAG.
|
|
26
26
|
*/
|
|
27
27
|
import { createHash } from 'node:crypto';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
'simple',
|
|
31
|
-
'complex'
|
|
32
|
-
];
|
|
33
|
-
export function isSliceComplexity(value) {
|
|
34
|
-
return SLICE_COMPLEXITIES.includes(value);
|
|
35
|
-
}
|
|
36
|
-
/** Thrown by `validateDag` when the graph violates one of the constraints. */
|
|
37
|
-
export class InvalidSliceDagError extends Error {
|
|
38
|
-
path;
|
|
39
|
-
code = 'INVALID_SLICE_DAG';
|
|
40
|
-
constructor(message, path) {
|
|
41
|
-
super(message);
|
|
42
|
-
this.path = path;
|
|
43
|
-
this.name = 'InvalidSliceDagError';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/** Thrown by `topologicalLevels` when the graph has a cycle (defensive). */
|
|
47
|
-
export class SliceDagCycleError extends Error {
|
|
48
|
-
cyclePath;
|
|
49
|
-
code = 'SLICE_DAG_CYCLE';
|
|
50
|
-
constructor(cyclePath) {
|
|
51
|
-
super(`cycle detected in slice DAG: ${cyclePath.join(' -> ')}`);
|
|
52
|
-
this.cyclePath = cyclePath;
|
|
53
|
-
this.name = 'SliceDagCycleError';
|
|
54
|
-
}
|
|
55
|
-
}
|
|
28
|
+
import { isArray } from '../../shared/array-guards.js';
|
|
29
|
+
import { isSliceComplexity, InvalidSliceDagError, SLICE_COMPLEXITIES, SliceDagCycleError } from './slice-dag-types.js';
|
|
56
30
|
/**
|
|
57
31
|
* Validate a SliceDag. Throws `InvalidSliceDagError` on the first violation.
|
|
58
32
|
* Pure. Cheap. No I/O.
|
|
59
33
|
*/
|
|
60
34
|
export function validateDag(dag) {
|
|
61
|
-
|
|
35
|
+
// `isArray` (not `Array.isArray`): at runtime this is the identical check, but
|
|
36
|
+
// `Array.isArray` is typed `arg is any[]` and so widens `dag.nodes` /
|
|
37
|
+
// `dag.edges` — already `readonly SliceNode[]` / `readonly DependsOn[]` — to
|
|
38
|
+
// `any[]` for the rest of the function, which is where this file's 43
|
|
39
|
+
// `no-unsafe-*` findings came from. See `src/shared/array-guards.ts`.
|
|
40
|
+
if (!dag || !isArray(dag.nodes) || !isArray(dag.edges)) {
|
|
62
41
|
throw new InvalidSliceDagError('dag must have nodes and edges arrays');
|
|
63
42
|
}
|
|
64
43
|
if (dag.nodes.length === 0) {
|
|
@@ -105,7 +84,8 @@ export function validateDag(dag) {
|
|
|
105
84
|
}
|
|
106
85
|
// Slice 2026-09-10 §3: optional file list. Only shape-checked when
|
|
107
86
|
// present so pre-existing DAGs stay valid.
|
|
108
|
-
if (n.files !== undefined &&
|
|
87
|
+
if (n.files !== undefined &&
|
|
88
|
+
(!isArray(n.files) || n.files.some((f) => typeof f !== 'string' || f.length === 0))) {
|
|
109
89
|
throw new InvalidSliceDagError(`node ${n.id} files must be an array of non-empty strings when present`);
|
|
110
90
|
}
|
|
111
91
|
}
|
|
@@ -244,9 +224,6 @@ export function serializeDag(dag) {
|
|
|
244
224
|
export function hashDag(dag) {
|
|
245
225
|
return createHash('sha256').update(serializeDag(dag)).digest('hex');
|
|
246
226
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
export
|
|
250
|
-
maxConcurrency: DEFAULT_MAX_CONCURRENCY,
|
|
251
|
-
passArtifacts: false
|
|
252
|
-
};
|
|
227
|
+
/* Type surface moved to `slice-dag-types.ts` (300-raw-line cap); re-exported
|
|
228
|
+
* here so every existing `slice-dag.js` import path keeps working. */
|
|
229
|
+
export { DEFAULT_MAX_CONCURRENCY, DEFAULT_WAVE_OPTIONS, isSliceComplexity, InvalidSliceDagError, SLICE_COMPLEXITIES, SliceDagCycleError } from './slice-dag-types.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice `b1-filesplit-campaign` (wave 3) — verbatim extraction of the two
|
|
3
|
+
* back-compat `awaitBatch` wrappers from `./sub-agent-dispatcher.ts`, so that
|
|
4
|
+
* module clears the 300 raw-line cap. Both are thin wrappers around the unified
|
|
5
|
+
* service in `./await-batch.ts`; neither body, default timeout, note prefix or
|
|
6
|
+
* doc comment changed, and the dispatch-record file layout they read is the one
|
|
7
|
+
* `./await-batch.ts#defaultReadOutcome` parses. `sub-agent-dispatcher.ts`
|
|
8
|
+
* imports and re-exports both, so the per-IDE dispatchers keep calling them
|
|
9
|
+
* through the same path and
|
|
10
|
+
* `tests/unit/services/dispatch/sub-agent-dispatcher-timeouts.test.ts` keeps
|
|
11
|
+
* observing the same per-IDE configuration through the same `vi.mock` seam.
|
|
12
|
+
*/
|
|
13
|
+
import type { SubAgentAwaitBatchInput, SubAgentBatchResult } from './sub-agent-dispatcher-types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Real awaitBatch for claude-code (MVP). In 1.2, dispatch + await are
|
|
16
|
+
* both in the same process; we record the batch size and resolve after
|
|
17
|
+
* `dispatchCount` heartbeats land for the given `recordPaths`, or after
|
|
18
|
+
* `timeoutMs` elapses (per-dispatch `timeout` status).
|
|
19
|
+
*
|
|
20
|
+
* Implementation contract (MVP):
|
|
21
|
+
* - We poll each `recordPaths[i]` for an `outcome: success | failed` or
|
|
22
|
+
* `status: done | failed` field; if absent after `timeoutMs`, that
|
|
23
|
+
* dispatch is reported as `timeout`.
|
|
24
|
+
* - The poll interval is 50ms (fast enough for unit tests, cheap enough
|
|
25
|
+
* for the MVP; the real cross-process version uses heartbeat polling).
|
|
26
|
+
*/
|
|
27
|
+
export declare function awaitClaudeCodeBatch(input: SubAgentAwaitBatchInput): Promise<readonly SubAgentBatchResult[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Slice 1.3 — shared per-IDE polling core for trae / codex / cursor.
|
|
30
|
+
* Same polling loop shape as `awaitClaudeCodeBatch`, with per-IDE
|
|
31
|
+
* default timeout + note prefix. The 3 IDEs differ only in
|
|
32
|
+
* (a) `defaultTimeoutMs` (Trae / Cursor = 30s, Codex = 45s per slice
|
|
33
|
+
* #13 R-3) and (b) the `note` label surfaced when an IDE times out
|
|
34
|
+
* (so 1.4 dogfood can attribute a timeout to the right IDE).
|
|
35
|
+
*
|
|
36
|
+
* MVP rationale (per Karpathy §2 Simplicity First): the 3 IDEs
|
|
37
|
+
* currently share the same file-based polling transport. The only
|
|
38
|
+
* per-IDE distinction is the timeout + label. Future per-IDE
|
|
39
|
+
* divergence (real IPC / shell hooks) is a 1.4 dogfood concern —
|
|
40
|
+
* here we keep the dispatcher interface uniform while each IDE's
|
|
41
|
+
* `awaitBatch` is a real implementation.
|
|
42
|
+
*/
|
|
43
|
+
export interface PollDispatchRecordsOptions {
|
|
44
|
+
readonly defaultTimeoutMs: number;
|
|
45
|
+
readonly notePrefix: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function pollDispatchRecords(input: SubAgentAwaitBatchInput, opts: PollDispatchRecordsOptions): Promise<readonly SubAgentBatchResult[]>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice `b1-filesplit-campaign` (wave 3) — verbatim extraction of the two
|
|
3
|
+
* back-compat `awaitBatch` wrappers from `./sub-agent-dispatcher.ts`, so that
|
|
4
|
+
* module clears the 300 raw-line cap. Both are thin wrappers around the unified
|
|
5
|
+
* service in `./await-batch.ts`; neither body, default timeout, note prefix or
|
|
6
|
+
* doc comment changed, and the dispatch-record file layout they read is the one
|
|
7
|
+
* `./await-batch.ts#defaultReadOutcome` parses. `sub-agent-dispatcher.ts`
|
|
8
|
+
* imports and re-exports both, so the per-IDE dispatchers keep calling them
|
|
9
|
+
* through the same path and
|
|
10
|
+
* `tests/unit/services/dispatch/sub-agent-dispatcher-timeouts.test.ts` keeps
|
|
11
|
+
* observing the same per-IDE configuration through the same `vi.mock` seam.
|
|
12
|
+
*/
|
|
13
|
+
// Slice 2026-07-29-dispatch-stall-governance / S4 — the two near-
|
|
14
|
+
// identical poll loops in this file are now thin wrappers around
|
|
15
|
+
// `awaitBatch` (the unified implementation in ./await-batch.ts). The
|
|
16
|
+
// back-compat envelopes are preserved so the pre-S4 S3 character-
|
|
17
|
+
// ization tests + the existing call sites do not have to migrate in
|
|
18
|
+
// the same slice.
|
|
19
|
+
import { awaitBatch as awaitBatchUnified } from './await-batch.js';
|
|
20
|
+
/* ──────────────────────────────────────────────────────────────────────────
|
|
21
|
+
* 2.7.0 slice-dag-dispatcher MVP (slice 1.2.a) — awaitBatch implementation
|
|
22
|
+
* ────────────────────────────────────────────────────────────────────────── */
|
|
23
|
+
/**
|
|
24
|
+
* Real awaitBatch for claude-code (MVP). In 1.2, dispatch + await are
|
|
25
|
+
* both in the same process; we record the batch size and resolve after
|
|
26
|
+
* `dispatchCount` heartbeats land for the given `recordPaths`, or after
|
|
27
|
+
* `timeoutMs` elapses (per-dispatch `timeout` status).
|
|
28
|
+
*
|
|
29
|
+
* Implementation contract (MVP):
|
|
30
|
+
* - We poll each `recordPaths[i]` for an `outcome: success | failed` or
|
|
31
|
+
* `status: done | failed` field; if absent after `timeoutMs`, that
|
|
32
|
+
* dispatch is reported as `timeout`.
|
|
33
|
+
* - The poll interval is 50ms (fast enough for unit tests, cheap enough
|
|
34
|
+
* for the MVP; the real cross-process version uses heartbeat polling).
|
|
35
|
+
*/
|
|
36
|
+
export async function awaitClaudeCodeBatch(input) {
|
|
37
|
+
// Slice 2026-07-29-dispatch-stall-governance / S4 (G8) — this
|
|
38
|
+
// function is now a thin wrapper around the unified `awaitBatch`
|
|
39
|
+
// service. The back-compat envelope shape is preserved (one
|
|
40
|
+
// `SubAgentBatchResult` per record path) so the S3 characterization
|
|
41
|
+
// test stays green; the underlying loop is identical to the trae /
|
|
42
|
+
// codex / cursor wrappers below. The new typed outcome
|
|
43
|
+
// lives on the unified service; the S4 fail-fast test pins it.
|
|
44
|
+
//
|
|
45
|
+
// Slice 2026-07-30-nightshift: claude-code does NOT use a
|
|
46
|
+
// per-IDE note prefix. The 1.4 dogfood contract says the done
|
|
47
|
+
// note is `null` (raw outcome) and the failed note is the raw
|
|
48
|
+
// `outcome` string with no prefix. The 3 non-Claude IDEs
|
|
49
|
+
// (trae / codex / cursor) prefix the note with their
|
|
50
|
+
// per-IDE label so cross-IDE attribution is visible to the LLM.
|
|
51
|
+
// Passing no `notePrefix` here keeps the legacy contract.
|
|
52
|
+
const unified = await awaitBatchUnified(input.dispatchCount, input.recordPaths, input.timeoutMs, {
|
|
53
|
+
defaultTimeoutMs: 60_000
|
|
54
|
+
});
|
|
55
|
+
// Touch batchId so the parameter remains in scope for any future
|
|
56
|
+
// in-process queue wiring.
|
|
57
|
+
void input.batchId;
|
|
58
|
+
return unified.results;
|
|
59
|
+
}
|
|
60
|
+
export async function pollDispatchRecords(input, opts) {
|
|
61
|
+
// Slice 2026-07-29-dispatch-stall-governance / S4 (G8) — this
|
|
62
|
+
// function is now a thin wrapper around the unified `awaitBatch`
|
|
63
|
+
// service. Pre-S4 it diverged from `awaitClaudeCodeBatch` in
|
|
64
|
+
// (a) the default-fallback source and (b) the `Math.max(deadline, 0)`
|
|
65
|
+
// step; the divergence is gone. The back-compat envelope (one
|
|
66
|
+
// `SubAgentBatchResult` per record path, with the IDE-prefixed
|
|
67
|
+
// note) is preserved.
|
|
68
|
+
const unified = await awaitBatchUnified(input.dispatchCount, input.recordPaths, input.timeoutMs, {
|
|
69
|
+
defaultTimeoutMs: opts.defaultTimeoutMs,
|
|
70
|
+
notePrefix: opts.notePrefix
|
|
71
|
+
});
|
|
72
|
+
return unified.results;
|
|
73
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice `b1-filesplit-campaign` (wave 3) — verbatim extraction of the sub-agent
|
|
3
|
+
* dispatch CONTRACT (the role namespace, the IDE-private tool-call descriptor,
|
|
4
|
+
* the dispatch input, the per-IDE dispatcher interface and the two batch-await
|
|
5
|
+
* shapes) from `./sub-agent-dispatcher.ts`, so that module clears the 300
|
|
6
|
+
* raw-line cap. Every declaration is a type or interface: no runtime value
|
|
7
|
+
* moved, no member, modifier or doc comment changed. `sub-agent-dispatcher.ts`
|
|
8
|
+
* re-exports all six names from its own path, so no importer changed and the
|
|
9
|
+
* envelope schema pinned by `tests/unit/services/dispatch/sub-agent-dispatchers.test.ts`
|
|
10
|
+
* is the same schema.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Role string namespace. Soft whitelist — the CLI does NOT hard-validate
|
|
14
|
+
* specific role names. Empirically observed (peaks-qa SKILL.md):3 top
|
|
15
|
+
* roles +3 sub-roles + arbitrary business subdivisions:
|
|
16
|
+
*
|
|
17
|
+
* - top: rd | qa | ui | txt | general-purpose
|
|
18
|
+
* - qa sub-roles: qa-business | qa-perf | qa-security
|
|
19
|
+
* - business细分: qa-business-regression | qa-business-api
|
|
20
|
+
* | qa-business-frontend | ...
|
|
21
|
+
* - promotable: prd-business | prd-technical | prd-ux |
|
|
22
|
+
* ui-visual | ui-flow | ui-component | ...
|
|
23
|
+
*
|
|
24
|
+
* Any non-empty string is a valid role. CLI emits a "soft whitelist"
|
|
25
|
+
* hint in --help but does not reject unknown values.
|
|
26
|
+
*/
|
|
27
|
+
export type SubAgentRole = string;
|
|
28
|
+
/**
|
|
29
|
+
* IDE-private tool-call descriptor. The LLM, upon receiving this in
|
|
30
|
+
* the CLI's JSON envelope, must invoke the tool named `name` in its
|
|
31
|
+
* own environment with the provided `args`.
|
|
32
|
+
*/
|
|
33
|
+
export interface SubAgentToolCall {
|
|
34
|
+
readonly name: string;
|
|
35
|
+
readonly args: Readonly<Record<string, unknown>>;
|
|
36
|
+
/**
|
|
37
|
+
* Slice 2026-06-23-audit-4th #C2: toolCall version. The IDE's
|
|
38
|
+
* arg shape can change between versions (e.g. Claude Code's
|
|
39
|
+
* `subagent_type: "general-purpose"` may become
|
|
40
|
+
* `subagent_type: "claude-code-3.5"` in a future release). The
|
|
41
|
+
* dispatcher stamps this on `buildToolCall`; the dispatch record
|
|
42
|
+
* propagates it so a future reader can detect "this record is for
|
|
43
|
+
* v2.0 Task, current IDE is v3.0" without inspecting args.
|
|
44
|
+
* Pre-versioning records default to '2.0.0' on read.
|
|
45
|
+
*/
|
|
46
|
+
readonly toolCallVersion?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Input to `buildToolCall`. The CLI assembles this from the user's
|
|
50
|
+
* command-line args (role, prompt) + state-machine lookups
|
|
51
|
+
* (requestId, sessionId).
|
|
52
|
+
*/
|
|
53
|
+
export interface SubAgentDispatchInput {
|
|
54
|
+
readonly role: SubAgentRole;
|
|
55
|
+
readonly prompt: string;
|
|
56
|
+
readonly requestId: string;
|
|
57
|
+
readonly sessionId: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Per-IDE sub-agent dispatcher contract. Each IdeAdapter exposes
|
|
61
|
+
* one of these; the CLI calls `buildToolCall` after validating
|
|
62
|
+
* `supportsRole` (and `null-dispatcher` is the fallback when an
|
|
63
|
+
* IDE cannot dispatch sub-agents at all).
|
|
64
|
+
*/
|
|
65
|
+
export interface SubAgentDispatcher {
|
|
66
|
+
/**
|
|
67
|
+
* Short label used in envelope `ide` field and CLI help text.
|
|
68
|
+
* e.g. "claude-code" / "trae" / "null".
|
|
69
|
+
*/
|
|
70
|
+
readonly label: string;
|
|
71
|
+
/**
|
|
72
|
+
* Whether this dispatcher supports dispatching a given role.
|
|
73
|
+
* claude-code returns true for all non-empty strings; trae is
|
|
74
|
+
* byte-identical (UNVERIFIED pending real Trae dogfood);
|
|
75
|
+
* null-dispatcher always returns false.
|
|
76
|
+
*/
|
|
77
|
+
supportsRole(role: SubAgentRole): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Build the IDE-specific tool call descriptor for a dispatch.
|
|
80
|
+
* Must be pure: no I/O, no side effects. The CLI wraps the
|
|
81
|
+
* returned descriptor in its JSON envelope.
|
|
82
|
+
*/
|
|
83
|
+
buildToolCall(input: SubAgentDispatchInput): SubAgentToolCall;
|
|
84
|
+
/**
|
|
85
|
+
* 2.7.0 slice-dag-dispatcher MVP: join barrier for a batch of dispatched
|
|
86
|
+
* sub-agents. Returns one BatchResult per dispatch in the batch.
|
|
87
|
+
*
|
|
88
|
+
* Default implementation in this MVP (1.2): claude-code holds an
|
|
89
|
+
* in-process Promise queue (LRU-keyed by batchId); the four non-Claude
|
|
90
|
+
* IDEs (trae / trae-cn / codex / cursor) return a
|
|
91
|
+
* `awaitByLlm: true` marker so the calling LLM holds the await itself
|
|
92
|
+
* — envelope shape is uniform. Real per-IDE implementations land in
|
|
93
|
+
* 1.3.
|
|
94
|
+
*
|
|
95
|
+
* `nullSubAgentDispatcher` throws `SubAgentNotSupportedError` here.
|
|
96
|
+
*/
|
|
97
|
+
awaitBatch?(input: SubAgentAwaitBatchInput): Promise<readonly SubAgentBatchResult[]>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* 2.7.0 slice-dag-dispatcher MVP: input to the optional `awaitBatch` method.
|
|
101
|
+
* MVP dispatch is one batch per top-level `peaks sub-agent dispatch --from-dag`
|
|
102
|
+
* call; `batchId` is the same one returned in the dispatch envelope.
|
|
103
|
+
*/
|
|
104
|
+
export interface SubAgentAwaitBatchInput {
|
|
105
|
+
readonly batchId: string;
|
|
106
|
+
readonly dispatchCount: number;
|
|
107
|
+
/** Per-dispatch record path; CLI already has this from the dispatch envelope. */
|
|
108
|
+
readonly recordPaths: readonly string[];
|
|
109
|
+
/** Optional cap on how long the join should wait. */
|
|
110
|
+
readonly timeoutMs?: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 2.7.0 slice-dag-dispatcher MVP: per-dispatch result of a join barrier.
|
|
114
|
+
* The CLI returns one of these per dispatch in the batch.
|
|
115
|
+
*/
|
|
116
|
+
export interface SubAgentBatchResult {
|
|
117
|
+
readonly dispatchIndex: number;
|
|
118
|
+
readonly recordPath: string;
|
|
119
|
+
readonly status: 'done' | 'failed' | 'cancelled' | 'timeout';
|
|
120
|
+
readonly durationMs: number;
|
|
121
|
+
readonly note: string | null;
|
|
122
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice `b1-filesplit-campaign` (wave 3) — verbatim extraction of the sub-agent
|
|
3
|
+
* dispatch CONTRACT (the role namespace, the IDE-private tool-call descriptor,
|
|
4
|
+
* the dispatch input, the per-IDE dispatcher interface and the two batch-await
|
|
5
|
+
* shapes) from `./sub-agent-dispatcher.ts`, so that module clears the 300
|
|
6
|
+
* raw-line cap. Every declaration is a type or interface: no runtime value
|
|
7
|
+
* moved, no member, modifier or doc comment changed. `sub-agent-dispatcher.ts`
|
|
8
|
+
* re-exports all six names from its own path, so no importer changed and the
|
|
9
|
+
* envelope schema pinned by `tests/unit/services/dispatch/sub-agent-dispatchers.test.ts`
|
|
10
|
+
* is the same schema.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|