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
|
@@ -107,7 +107,12 @@ export function readOpenDispatchRun(input) {
|
|
|
107
107
|
const record = read.record;
|
|
108
108
|
if (record.stage !== 'armed' && record.stage !== 'compacting')
|
|
109
109
|
return { kind: 'none' };
|
|
110
|
-
return {
|
|
110
|
+
return {
|
|
111
|
+
kind: 'open',
|
|
112
|
+
runId: record.runId,
|
|
113
|
+
stage: record.stage,
|
|
114
|
+
triggerRatio: record.triggerRatio
|
|
115
|
+
};
|
|
111
116
|
}
|
|
112
117
|
/**
|
|
113
118
|
* Slice 2026-08-01-compact-lifecycle (Task 5): the local transition
|
|
@@ -211,7 +216,11 @@ export function summarizeLifecycleError(error) {
|
|
|
211
216
|
raw = 'unknown error';
|
|
212
217
|
const firstLine = raw.split('\n')[0] ?? '';
|
|
213
218
|
const collapsed = firstLine.replace(/\s+/g, ' ').trim();
|
|
214
|
-
return collapsed.length === 0
|
|
219
|
+
return collapsed.length === 0
|
|
220
|
+
? 'unknown error'
|
|
221
|
+
: collapsed.length > COLLAPSED_ERROR_MAX_CHARS
|
|
222
|
+
? collapsed.slice(0, COLLAPSED_ERROR_MAX_CHARS)
|
|
223
|
+
: collapsed;
|
|
215
224
|
}
|
|
216
225
|
/**
|
|
217
226
|
* Slice 2026-08-01-compact-lifecycle (Task 5, Step 4): close out an
|
|
@@ -278,45 +287,57 @@ export function settleOpenLifecycleRun(input) {
|
|
|
278
287
|
// landed, and this is the only open run to attribute it to.
|
|
279
288
|
if (prior.stage !== 'compacting' && prior.stage !== 'armed')
|
|
280
289
|
return null;
|
|
281
|
-
const emit = (stage, withAfterRatio) => {
|
|
282
|
-
const record = {
|
|
283
|
-
schemaVersion: 1,
|
|
284
|
-
runId: prior.runId,
|
|
285
|
-
stage,
|
|
286
|
-
updatedAt: new Date().toISOString(),
|
|
287
|
-
triggerRatio: prior.triggerRatio,
|
|
288
|
-
redLine: prior.redLine,
|
|
289
|
-
...(withAfterRatio ? { afterRatio: input.measuredRatio } : {})
|
|
290
|
-
};
|
|
291
|
-
try {
|
|
292
|
-
if (input.failLifecycleWrite)
|
|
293
|
-
throw new Error('lifecycle store unavailable');
|
|
294
|
-
writeCompactLifecycle({
|
|
295
|
-
projectRoot: input.projectRoot,
|
|
296
|
-
sessionId: input.sessionId,
|
|
297
|
-
record
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
catch {
|
|
301
|
-
// Best-effort telemetry, as everywhere in this file — but the failure is
|
|
302
|
-
// REPORTED to the caller as `lifecycleWritten: false` rather than folded
|
|
303
|
-
// into a record that reads as settled.
|
|
304
|
-
return false;
|
|
305
|
-
}
|
|
306
|
-
try {
|
|
307
|
-
input.onLifecycleStage?.(stage, record);
|
|
308
|
-
}
|
|
309
|
-
catch {
|
|
310
|
-
// Observer failures are not ours to propagate.
|
|
311
|
-
}
|
|
312
|
-
return true;
|
|
313
|
-
};
|
|
314
290
|
// `verifying` = we hold a measurement and are checking it.
|
|
315
|
-
|
|
291
|
+
emitLifecycleStage(prior, input, 'verifying', false);
|
|
316
292
|
// `completed` = the measurement confirms the drop; publish it. This write
|
|
317
293
|
// is the one that closes the run, so it is the one that is reported.
|
|
318
|
-
const lifecycleWritten =
|
|
319
|
-
return {
|
|
294
|
+
const lifecycleWritten = emitLifecycleStage(prior, input, 'completed', true);
|
|
295
|
+
return {
|
|
296
|
+
runId: prior.runId,
|
|
297
|
+
triggerRatio: prior.triggerRatio,
|
|
298
|
+
afterRatio: input.measuredRatio,
|
|
299
|
+
lifecycleWritten
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Publish one lifecycle stage for an open run (the `emit` closure of
|
|
304
|
+
* `settleOpenLifecycleRun`, moved verbatim to a module-level function to
|
|
305
|
+
* clear that function's `max-lines-per-function` arm; behavior unchanged).
|
|
306
|
+
* Returns `false` when the store write failed, `true` when the record was
|
|
307
|
+
* written (observer failures are not propagated — see the two catches).
|
|
308
|
+
*/
|
|
309
|
+
function emitLifecycleStage(prior, input, stage, withAfterRatio) {
|
|
310
|
+
const record = {
|
|
311
|
+
schemaVersion: 1,
|
|
312
|
+
runId: prior.runId,
|
|
313
|
+
stage,
|
|
314
|
+
updatedAt: new Date().toISOString(),
|
|
315
|
+
triggerRatio: prior.triggerRatio,
|
|
316
|
+
redLine: prior.redLine,
|
|
317
|
+
...(withAfterRatio ? { afterRatio: input.measuredRatio } : {})
|
|
318
|
+
};
|
|
319
|
+
try {
|
|
320
|
+
if (input.failLifecycleWrite)
|
|
321
|
+
throw new Error('lifecycle store unavailable');
|
|
322
|
+
writeCompactLifecycle({
|
|
323
|
+
projectRoot: input.projectRoot,
|
|
324
|
+
sessionId: input.sessionId,
|
|
325
|
+
record
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
// Best-effort telemetry, as everywhere in this file — but the failure is
|
|
330
|
+
// REPORTED to the caller as `lifecycleWritten: false` rather than folded
|
|
331
|
+
// into a record that reads as settled.
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
try {
|
|
335
|
+
input.onLifecycleStage?.(stage, record);
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
// Observer failures are not ours to propagate.
|
|
339
|
+
}
|
|
340
|
+
return true;
|
|
320
341
|
}
|
|
321
342
|
/**
|
|
322
343
|
* rid `2026-09-13-compact-event-settle`: close out an open compact run because
|
|
@@ -387,7 +408,9 @@ export function settleOpenLifecycleRunOnCompactEvent(input) {
|
|
|
387
408
|
const prior = openRead.record;
|
|
388
409
|
if (prior.stage !== 'compacting' && prior.stage !== 'armed')
|
|
389
410
|
return null;
|
|
390
|
-
const afterRatio = input.measuredRatio !== null && input.measuredRatio < prior.triggerRatio
|
|
411
|
+
const afterRatio = input.measuredRatio !== null && input.measuredRatio < prior.triggerRatio
|
|
412
|
+
? input.measuredRatio
|
|
413
|
+
: null;
|
|
391
414
|
const record = {
|
|
392
415
|
schemaVersion: 1,
|
|
393
416
|
runId: prior.runId,
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* decision-emitted, no separate compaction pathway.
|
|
20
20
|
*/
|
|
21
21
|
export const AUTO_COMPACT_THRESHOLDS = {
|
|
22
|
-
standard: { autoFire: 0.
|
|
23
|
-
partial: { autoFire: 0.65, preCompact: 0.
|
|
22
|
+
standard: { autoFire: 0.8, preCompact: 0.85, redLine: 0.95 },
|
|
23
|
+
partial: { autoFire: 0.65, preCompact: 0.7, redLine: 0.85 }
|
|
24
24
|
};
|
|
25
25
|
export function thresholdFor(mode, kind) {
|
|
26
26
|
return AUTO_COMPACT_THRESHOLDS[mode][kind];
|
|
@@ -133,9 +133,7 @@ export function evaluateAutoCompactDecision(input) {
|
|
|
133
133
|
// into a single `InFlightBatchProbe` shape. The probe reads
|
|
134
134
|
// `hasInFlightBatch`; the boolean reads truthiness.
|
|
135
135
|
const rawProbe = input.inFlightBatch ?? input.inflightBatch;
|
|
136
|
-
const probe = typeof rawProbe === 'boolean'
|
|
137
|
-
? { hasInFlightBatch: rawProbe }
|
|
138
|
-
: rawProbe;
|
|
136
|
+
const probe = typeof rawProbe === 'boolean' ? { hasInFlightBatch: rawProbe } : rawProbe;
|
|
139
137
|
if (trigger.kind === 'none') {
|
|
140
138
|
return { shouldCompact: false, reason: 'below-threshold', trigger, action: 'ok' };
|
|
141
139
|
}
|
|
@@ -466,7 +464,8 @@ export async function runAutoCompact(input) {
|
|
|
466
464
|
// the harness's pinned window disagreeing. That is the moment the ratio
|
|
467
465
|
// stops describing the harness's trigger, so staying silent is exactly
|
|
468
466
|
// the failure 要告知 exists to prevent.
|
|
469
|
-
harnessWindow !== null &&
|
|
467
|
+
harnessWindow !== null &&
|
|
468
|
+
harnessWindow !== undefined &&
|
|
470
469
|
(harnessWindow.action === 'written' || harnessWindowSyncWarning(harnessWindow) !== null)
|
|
471
470
|
? ` ${describeHarnessWindowSync(harnessWindow)}`
|
|
472
471
|
: ''}`,
|
|
@@ -733,15 +732,19 @@ export async function runAutoCompact(input) {
|
|
|
733
732
|
// T4 calibration: the exact denominator this dispatch divided by, so
|
|
734
733
|
// `beforeRatio * windowTokens` is the token point we asked for.
|
|
735
734
|
windowTokens: probe.capacityTokens ?? null,
|
|
736
|
-
windowSource: probe.capacitySource ?? null
|
|
737
|
-
}
|
|
735
|
+
windowSource: probe.capacitySource ?? null
|
|
736
|
+
}
|
|
738
737
|
});
|
|
739
738
|
}
|
|
740
|
-
catch {
|
|
739
|
+
catch {
|
|
740
|
+
/* best-effort; do not fail the compact return */
|
|
741
|
+
}
|
|
741
742
|
return {
|
|
742
743
|
ok: dispatch.ok,
|
|
743
744
|
code: dispatch.ok
|
|
744
|
-
?
|
|
745
|
+
? isRedLine
|
|
746
|
+
? 'AUTO_COMPACT_RED_LINE'
|
|
747
|
+
: 'AUTO_COMPACT_DISPATCHED'
|
|
745
748
|
: 'AUTO_COMPACT_DISPATCH_FAILED',
|
|
746
749
|
message: dispatch.ok
|
|
747
750
|
? isRedLine
|
|
@@ -780,7 +783,9 @@ function appendObservedCompactEvent(input) {
|
|
|
780
783
|
try {
|
|
781
784
|
appendCompactHistoryEvent(input);
|
|
782
785
|
}
|
|
783
|
-
catch {
|
|
786
|
+
catch {
|
|
787
|
+
/* best-effort; the probe result is already settled */
|
|
788
|
+
}
|
|
784
789
|
}
|
|
785
790
|
// Keep dirname import live for symmetry with sibling services that
|
|
786
791
|
// use it for path joins; tree-shaking removes it in builds.
|
|
@@ -48,4 +48,14 @@ export declare class BatchHeartbeatPoller {
|
|
|
48
48
|
stop(): void;
|
|
49
49
|
/** Force a tick (testing seam + low-level access for explicit invocation). */
|
|
50
50
|
tick(): void;
|
|
51
|
+
/**
|
|
52
|
+
* First-sight `stale` notices for the current record set (moved verbatim
|
|
53
|
+
* out of `tick` to clear its `max-lines-per-function` arm).
|
|
54
|
+
*/
|
|
55
|
+
private emitStaleNotices;
|
|
56
|
+
/**
|
|
57
|
+
* The `done` / stop decision for the current record set (moved verbatim
|
|
58
|
+
* out of `tick` to clear its `max-lines-per-function` arm).
|
|
59
|
+
*/
|
|
60
|
+
private finishIfAllTerminal;
|
|
51
61
|
}
|
|
@@ -80,6 +80,14 @@ export class BatchHeartbeatPoller {
|
|
|
80
80
|
const views = recs.map((r) => viewSubAgent(r, now));
|
|
81
81
|
const line = renderStatusLine(this.options.prefix, recs, now);
|
|
82
82
|
this.handlers.onStatus?.({ kind: 'status', line, summary, views });
|
|
83
|
+
this.emitStaleNotices(recs, now);
|
|
84
|
+
this.finishIfAllTerminal(recs, summary);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* First-sight `stale` notices for the current record set (moved verbatim
|
|
88
|
+
* out of `tick` to clear its `max-lines-per-function` arm).
|
|
89
|
+
*/
|
|
90
|
+
emitStaleNotices(recs, now) {
|
|
83
91
|
const staleThresholdSec = Math.floor((this.options.staleThresholdMs ?? DEFAULT_STALE_THRESHOLD_MS) / 1000);
|
|
84
92
|
for (const rec of recs) {
|
|
85
93
|
const v = viewSubAgent(rec, now);
|
|
@@ -97,7 +105,15 @@ export class BatchHeartbeatPoller {
|
|
|
97
105
|
}
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
|
-
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The `done` / stop decision for the current record set (moved verbatim
|
|
111
|
+
* out of `tick` to clear its `max-lines-per-function` arm).
|
|
112
|
+
*/
|
|
113
|
+
finishIfAllTerminal(recs, summary) {
|
|
114
|
+
if (summary.total > 0 &&
|
|
115
|
+
summary.done === summary.total &&
|
|
116
|
+
this.prevSummaryDone !== summary.done) {
|
|
101
117
|
this.prevSummaryDone = summary.done;
|
|
102
118
|
this.handlers.onDone?.({ kind: 'done', summary });
|
|
103
119
|
this.stop();
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/code/compact-event-settle-types.ts`
|
|
3
|
+
*
|
|
4
|
+
* The declaration surface of the `PostCompact` settle path
|
|
5
|
+
* (`compact-event-settle.ts`): the harness's trigger vocabulary, the pathway
|
|
6
|
+
* label it files under, the post-compact reading, and the result shape the
|
|
7
|
+
* hook returns. Extracted verbatim (wave 3, file-size cap campaign) so the
|
|
8
|
+
* settle module stays under the 300 raw-line cap. Types and one label only —
|
|
9
|
+
* no settlement behaviour lives here. `compact-event-settle.ts` imports and
|
|
10
|
+
* re-exports every name below, so importers keep resolving them from
|
|
11
|
+
* `compact-event-settle.js` unchanged.
|
|
12
|
+
*/
|
|
13
|
+
/** The harness's own report of what caused a compaction. */
|
|
14
|
+
export type CompactTrigger = 'manual' | 'auto';
|
|
15
|
+
/**
|
|
16
|
+
* Which layer settled the run. `post-compact-hook` = the harness's event;
|
|
17
|
+
* `post-compact-probe` (written by the orchestrator) = a later probe's
|
|
18
|
+
* measurement. The two are deliberately distinct strings so a reader of
|
|
19
|
+
* `compact-history.jsonl` can tell a NOTIFICATION from an INFERENCE — which is
|
|
20
|
+
* the entire instrument this slice exists to build.
|
|
21
|
+
*/
|
|
22
|
+
export declare const COMPACT_EVENT_PATHWAY = "post-compact-hook";
|
|
23
|
+
/**
|
|
24
|
+
* One post-compact reading: the ratio, the window it was divided by, and the
|
|
25
|
+
* adapter that produced it — all from a SINGLE probe call, so the three cannot
|
|
26
|
+
* disagree with each other.
|
|
27
|
+
*/
|
|
28
|
+
export type PostCompactMeasurement = {
|
|
29
|
+
/** `null` = nothing could be measured. Never `0`, which means "unknown". */
|
|
30
|
+
readonly ratio: number | null;
|
|
31
|
+
readonly ide: string;
|
|
32
|
+
readonly windowTokens: number | null;
|
|
33
|
+
readonly windowSource: string | null;
|
|
34
|
+
};
|
|
35
|
+
export type CompactSettleResult = {
|
|
36
|
+
readonly settled: true;
|
|
37
|
+
readonly runId: string;
|
|
38
|
+
readonly beforeRatio: number;
|
|
39
|
+
/** The measured post-compact ratio, or `null` when none was trustworthy. */
|
|
40
|
+
readonly afterRatio: number | null;
|
|
41
|
+
/** Present only when the harness reported one. */
|
|
42
|
+
readonly trigger?: CompactTrigger;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the `observed` row for this event is on disk. `false` means
|
|
45
|
+
* there is none, for one of two DIFFERENT reasons, told apart by
|
|
46
|
+
* `lifecycleWritten`:
|
|
47
|
+
*
|
|
48
|
+
* - `lifecycleWritten: true` — the append was attempted and threw.
|
|
49
|
+
* - `lifecycleWritten: false` — the append was deliberately not made,
|
|
50
|
+
* because the settle it would describe is one the store never
|
|
51
|
+
* recorded (see `lifecycleWritten`).
|
|
52
|
+
*/
|
|
53
|
+
readonly historyWritten: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* False when the lifecycle record could not be written. The run is then
|
|
56
|
+
* still open, and this path does NOT append the `observed` row: the row
|
|
57
|
+
* would assert a settled measurement for a run the store still holds at
|
|
58
|
+
* `armed` / `compacting`, and each arrival would add another one. The
|
|
59
|
+
* row is deferred rather than lost — the run stays open, so the retry
|
|
60
|
+
* that does land owns the row and measures the ratio at that moment.
|
|
61
|
+
* This is repair R6's answer on the probe path
|
|
62
|
+
* (`auto-compact-orchestrator.ts`), applied here so the two settle
|
|
63
|
+
* paths agree.
|
|
64
|
+
*
|
|
65
|
+
* The two halves are reported separately rather than collapsed: a caller
|
|
66
|
+
* that sees only one of them cannot say which half of the settlement
|
|
67
|
+
* landed.
|
|
68
|
+
*/
|
|
69
|
+
readonly lifecycleWritten: boolean;
|
|
70
|
+
} | {
|
|
71
|
+
readonly settled: false;
|
|
72
|
+
/**
|
|
73
|
+
* `nothing-to-settle` — there was no open run. `different-session` — the
|
|
74
|
+
* payload named a harness session that is not this project's, so the open
|
|
75
|
+
* run was left alone. The second is a refusal of ATTRIBUTION, not an
|
|
76
|
+
* absence of it, and a reader told "nothing was open" would be told
|
|
77
|
+
* something false.
|
|
78
|
+
*/
|
|
79
|
+
readonly reason: 'nothing-to-settle' | 'different-session';
|
|
80
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/code/compact-event-settle-types.ts`
|
|
3
|
+
*
|
|
4
|
+
* The declaration surface of the `PostCompact` settle path
|
|
5
|
+
* (`compact-event-settle.ts`): the harness's trigger vocabulary, the pathway
|
|
6
|
+
* label it files under, the post-compact reading, and the result shape the
|
|
7
|
+
* hook returns. Extracted verbatim (wave 3, file-size cap campaign) so the
|
|
8
|
+
* settle module stays under the 300 raw-line cap. Types and one label only —
|
|
9
|
+
* no settlement behaviour lives here. `compact-event-settle.ts` imports and
|
|
10
|
+
* re-exports every name below, so importers keep resolving them from
|
|
11
|
+
* `compact-event-settle.js` unchanged.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Which layer settled the run. `post-compact-hook` = the harness's event;
|
|
15
|
+
* `post-compact-probe` (written by the orchestrator) = a later probe's
|
|
16
|
+
* measurement. The two are deliberately distinct strings so a reader of
|
|
17
|
+
* `compact-history.jsonl` can tell a NOTIFICATION from an INFERENCE — which is
|
|
18
|
+
* the entire instrument this slice exists to build.
|
|
19
|
+
*/
|
|
20
|
+
export const COMPACT_EVENT_PATHWAY = 'post-compact-hook';
|
|
@@ -1,71 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
* Which layer settled the run. `post-compact-hook` = the harness's event;
|
|
5
|
-
* `post-compact-probe` (written by the orchestrator) = a later probe's
|
|
6
|
-
* measurement. The two are deliberately distinct strings so a reader of
|
|
7
|
-
* `compact-history.jsonl` can tell a NOTIFICATION from an INFERENCE — which is
|
|
8
|
-
* the entire instrument this slice exists to build.
|
|
9
|
-
*/
|
|
10
|
-
export declare const COMPACT_EVENT_PATHWAY = "post-compact-hook";
|
|
11
|
-
/**
|
|
12
|
-
* One post-compact reading: the ratio, the window it was divided by, and the
|
|
13
|
-
* adapter that produced it — all from a SINGLE probe call, so the three cannot
|
|
14
|
-
* disagree with each other.
|
|
15
|
-
*/
|
|
16
|
-
export type PostCompactMeasurement = {
|
|
17
|
-
/** `null` = nothing could be measured. Never `0`, which means "unknown". */
|
|
18
|
-
readonly ratio: number | null;
|
|
19
|
-
readonly ide: string;
|
|
20
|
-
readonly windowTokens: number | null;
|
|
21
|
-
readonly windowSource: string | null;
|
|
22
|
-
};
|
|
23
|
-
export type CompactSettleResult = {
|
|
24
|
-
readonly settled: true;
|
|
25
|
-
readonly runId: string;
|
|
26
|
-
readonly beforeRatio: number;
|
|
27
|
-
/** The measured post-compact ratio, or `null` when none was trustworthy. */
|
|
28
|
-
readonly afterRatio: number | null;
|
|
29
|
-
/** Present only when the harness reported one. */
|
|
30
|
-
readonly trigger?: CompactTrigger;
|
|
31
|
-
/**
|
|
32
|
-
* Whether the `observed` row for this event is on disk. `false` means
|
|
33
|
-
* there is none, for one of two DIFFERENT reasons, told apart by
|
|
34
|
-
* `lifecycleWritten`:
|
|
35
|
-
*
|
|
36
|
-
* - `lifecycleWritten: true` — the append was attempted and threw.
|
|
37
|
-
* - `lifecycleWritten: false` — the append was deliberately not made,
|
|
38
|
-
* because the settle it would describe is one the store never
|
|
39
|
-
* recorded (see `lifecycleWritten`).
|
|
40
|
-
*/
|
|
41
|
-
readonly historyWritten: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* False when the lifecycle record could not be written. The run is then
|
|
44
|
-
* still open, and this path does NOT append the `observed` row: the row
|
|
45
|
-
* would assert a settled measurement for a run the store still holds at
|
|
46
|
-
* `armed` / `compacting`, and each arrival would add another one. The
|
|
47
|
-
* row is deferred rather than lost — the run stays open, so the retry
|
|
48
|
-
* that does land owns the row and measures the ratio at that moment.
|
|
49
|
-
* This is repair R6's answer on the probe path
|
|
50
|
-
* (`auto-compact-orchestrator.ts`), applied here so the two settle
|
|
51
|
-
* paths agree.
|
|
52
|
-
*
|
|
53
|
-
* The two halves are reported separately rather than collapsed: a caller
|
|
54
|
-
* that sees only one of them cannot say which half of the settlement
|
|
55
|
-
* landed.
|
|
56
|
-
*/
|
|
57
|
-
readonly lifecycleWritten: boolean;
|
|
58
|
-
} | {
|
|
59
|
-
readonly settled: false;
|
|
60
|
-
/**
|
|
61
|
-
* `nothing-to-settle` — there was no open run. `different-session` — the
|
|
62
|
-
* payload named a harness session that is not this project's, so the open
|
|
63
|
-
* run was left alone. The second is a refusal of ATTRIBUTION, not an
|
|
64
|
-
* absence of it, and a reader told "nothing was open" would be told
|
|
65
|
-
* something false.
|
|
66
|
-
*/
|
|
67
|
-
readonly reason: 'nothing-to-settle' | 'different-session';
|
|
68
|
-
};
|
|
1
|
+
import { type CompactSettleResult, type CompactTrigger, type PostCompactMeasurement } from './compact-event-settle-types.js';
|
|
2
|
+
export { COMPACT_EVENT_PATHWAY } from './compact-event-settle-types.js';
|
|
3
|
+
export type { CompactSettleResult, CompactTrigger, PostCompactMeasurement } from './compact-event-settle-types.js';
|
|
69
4
|
/**
|
|
70
5
|
* Read `trigger` out of an already-parsed `PostCompact` payload.
|
|
71
6
|
*
|
|
@@ -50,14 +50,11 @@ import { readContextPercent } from '../context/auto-compact-reader.js';
|
|
|
50
50
|
import { resolveOuterSessionId } from '../session/binding-status-service.js';
|
|
51
51
|
import { appendCompactHistoryEvent } from './auto-compact-orchestrator.js';
|
|
52
52
|
import { settleOpenLifecycleRunOnCompactEvent } from './auto-compact-lifecycle.js';
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
* the entire instrument this slice exists to build.
|
|
59
|
-
*/
|
|
60
|
-
export const COMPACT_EVENT_PATHWAY = 'post-compact-hook';
|
|
53
|
+
import { COMPACT_EVENT_PATHWAY } from './compact-event-settle-types.js';
|
|
54
|
+
// The trigger / pathway label / measurement / result declarations live in
|
|
55
|
+
// `compact-event-settle-types.ts` (wave-3 file-size cap split; moved verbatim).
|
|
56
|
+
// Re-exported here so importers keep resolving them from this module's path.
|
|
57
|
+
export { COMPACT_EVENT_PATHWAY } from './compact-event-settle-types.js';
|
|
61
58
|
/**
|
|
62
59
|
* Read `trigger` out of an already-parsed `PostCompact` payload.
|
|
63
60
|
*
|
|
@@ -206,11 +203,18 @@ export function settleCompactFromHarnessEvent(input) {
|
|
|
206
203
|
? ` (measured now at ${(settled.afterRatio * 100).toFixed(1)}%)`
|
|
207
204
|
: ' (no post-compact measurement available)'),
|
|
208
205
|
...(settled.afterRatio !== null
|
|
209
|
-
? {
|
|
206
|
+
? {
|
|
207
|
+
windowTokens: measurement?.windowTokens ?? null,
|
|
208
|
+
windowSource: measurement?.windowSource ?? null
|
|
209
|
+
}
|
|
210
210
|
: {})
|
|
211
211
|
};
|
|
212
212
|
try {
|
|
213
|
-
appendCompactHistoryEvent({
|
|
213
|
+
appendCompactHistoryEvent({
|
|
214
|
+
projectRoot: input.projectRoot,
|
|
215
|
+
sessionId: input.sessionId,
|
|
216
|
+
event
|
|
217
|
+
});
|
|
214
218
|
}
|
|
215
219
|
catch {
|
|
216
220
|
// The lifecycle run is already settled; losing the history row is the
|
|
@@ -52,6 +52,37 @@ const defaultWriter = (projectRoot, sessionId) => (sliceId, publicSurface) => {
|
|
|
52
52
|
});
|
|
53
53
|
return r.contract;
|
|
54
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* The MVP structured fallback prompt, moved verbatim out of
|
|
57
|
+
* `buildDispatchSpec` to clear its `max-lines-per-function` arm; the
|
|
58
|
+
* returned text is identical to what the inline block produced.
|
|
59
|
+
*/
|
|
60
|
+
function buildMvpFallbackPrompt(sliceId, node, contractBlock) {
|
|
61
|
+
// MVP (1.2) structured fallback prompt. Slice 1.4 will land per-domain
|
|
62
|
+
// prompt templates (one per role), but for the MVP dogfood we ship a
|
|
63
|
+
// single structured prompt that:
|
|
64
|
+
// 1. names the slice id + role + label (so the LLM knows what to do)
|
|
65
|
+
// 2. states the MVP scope explicitly (avoid confusion with full prod)
|
|
66
|
+
// 3. includes the ancestor contract injection (so downstream slices
|
|
67
|
+
// see their inputs)
|
|
68
|
+
// 4. states the handoff protocol (write contract, re-invoke for next level)
|
|
69
|
+
const labelFragment = node.label ? ` — ${node.label}` : '';
|
|
70
|
+
const ancestorFragment = contractBlock ? `\n\n${contractBlock}` : '';
|
|
71
|
+
return [
|
|
72
|
+
formatTestToolDetection(),
|
|
73
|
+
'',
|
|
74
|
+
`[slice-dag-dispatcher MVP 1.2] execute slice "${sliceId}" (role=${node.role})${labelFragment}.`,
|
|
75
|
+
'',
|
|
76
|
+
'Scope: this is the 2.7.0 MVP dogfood of peaks-loop DAG-aware dispatch. You are one leaf in a multi-slice plan; the orchestrator has already validated the DAG, built a topological order, and injected your upstream contracts above.',
|
|
77
|
+
'',
|
|
78
|
+
'Handoff protocol (REQUIRED — orchestrator depends on this):',
|
|
79
|
+
' 1. Execute the slice to completion.',
|
|
80
|
+
` 2. Write your public contract via \`peaks contract write --project <root> --session-id <sid> --slice-id ${sliceId} --exports <...> --types <...> --signatures <...>\`. The orchestrator will pick it up on the next dispatch run.`,
|
|
81
|
+
' 3. Do NOT re-invoke `peaks sub-agent dispatch --from-dag` yourself — the parent orchestrator (peaks-code) drives level advancement.',
|
|
82
|
+
'',
|
|
83
|
+
`After your contract is on disk, the orchestrator will auto-advance to the next topological level (if any) by re-invoking \`peaks sub-agent dispatch --from-dag\` with the same batch-id. Your slice will appear in its ancestors via \`formatContractInjection\`.${ancestorFragment}`
|
|
84
|
+
].join('\n');
|
|
85
|
+
}
|
|
55
86
|
/**
|
|
56
87
|
* Build a single dispatch spec for `sliceId` given the current contract set.
|
|
57
88
|
*
|
|
@@ -88,32 +119,7 @@ export function buildDispatchSpec(dag, sliceId, contracts, defaultPrompt) {
|
|
|
88
119
|
contractBlock
|
|
89
120
|
};
|
|
90
121
|
}
|
|
91
|
-
|
|
92
|
-
// prompt templates (one per role), but for the MVP dogfood we ship a
|
|
93
|
-
// single structured prompt that:
|
|
94
|
-
// 1. names the slice id + role + label (so the LLM knows what to do)
|
|
95
|
-
// 2. states the MVP scope explicitly (avoid confusion with full prod)
|
|
96
|
-
// 3. includes the ancestor contract injection (so downstream slices
|
|
97
|
-
// see their inputs)
|
|
98
|
-
// 4. states the handoff protocol (write contract, re-invoke for next level)
|
|
99
|
-
const labelFragment = node.label ? ` — ${node.label}` : '';
|
|
100
|
-
const ancestorFragment = contractBlock
|
|
101
|
-
? `\n\n${contractBlock}`
|
|
102
|
-
: '';
|
|
103
|
-
const prompt = [
|
|
104
|
-
formatTestToolDetection(),
|
|
105
|
-
'',
|
|
106
|
-
`[slice-dag-dispatcher MVP 1.2] execute slice "${sliceId}" (role=${node.role})${labelFragment}.`,
|
|
107
|
-
'',
|
|
108
|
-
'Scope: this is the 2.7.0 MVP dogfood of peaks-loop DAG-aware dispatch. You are one leaf in a multi-slice plan; the orchestrator has already validated the DAG, built a topological order, and injected your upstream contracts above.',
|
|
109
|
-
'',
|
|
110
|
-
'Handoff protocol (REQUIRED — orchestrator depends on this):',
|
|
111
|
-
' 1. Execute the slice to completion.',
|
|
112
|
-
` 2. Write your public contract via \`peaks contract write --project <root> --session-id <sid> --slice-id ${sliceId} --exports <...> --types <...> --signatures <...>\`. The orchestrator will pick it up on the next dispatch run.`,
|
|
113
|
-
' 3. Do NOT re-invoke `peaks sub-agent dispatch --from-dag` yourself — the parent orchestrator (peaks-code) drives level advancement.',
|
|
114
|
-
'',
|
|
115
|
-
`After your contract is on disk, the orchestrator will auto-advance to the next topological level (if any) by re-invoking \`peaks sub-agent dispatch --from-dag\` with the same batch-id. Your slice will appear in its ancestors via \`formatContractInjection\`.${ancestorFragment}`
|
|
116
|
-
].join('\n');
|
|
122
|
+
const prompt = buildMvpFallbackPrompt(sliceId, node, contractBlock);
|
|
117
123
|
return {
|
|
118
124
|
sliceId,
|
|
119
125
|
role: node.role,
|
|
@@ -29,7 +29,9 @@ const SUGGESTED_JID_RE = /^[a-z0-9][a-z0-9-]{2,40}$/;
|
|
|
29
29
|
const JobShapeDecisionSchema = z.object({
|
|
30
30
|
isJob: z.boolean(),
|
|
31
31
|
rationale: z.string().min(1).max(2000),
|
|
32
|
-
suggestedJobId: z
|
|
32
|
+
suggestedJobId: z
|
|
33
|
+
.string()
|
|
34
|
+
.regex(SUGGESTED_JID_RE, 'suggestedJobId must match /^[a-z0-9][a-z0-9-]{2,40}$/'),
|
|
33
35
|
suggestedStrategy: z.enum(['single', 'rotating']),
|
|
34
36
|
confidence: z.enum(['high', 'medium', 'low']),
|
|
35
37
|
decidedAt: z.string().datetime()
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/code/mode-gate-types.ts`
|
|
3
|
+
*
|
|
4
|
+
* The declaration surface of the D5 gate: the mode alias, the gated-step
|
|
5
|
+
* vocabulary, and the commit-boundary vocabulary with its regex matchers.
|
|
6
|
+
* Extracted verbatim from `mode-gate.ts` (wave 3, file-size cap campaign) so
|
|
7
|
+
* the gate module stays under the 300 raw-line cap. Mechanical move only — no
|
|
8
|
+
* decision logic lives here. `mode-gate.ts` imports and re-exports every name
|
|
9
|
+
* below, so importers keep resolving them from `mode-gate.js` unchanged.
|
|
10
|
+
*
|
|
11
|
+
* The hard-floor vocabulary deliberately does NOT live here:
|
|
12
|
+
* `feedback-promotion` certifies a layer-C rule by reading
|
|
13
|
+
* `HardFloorCategory` and `HARD_FLOOR_CATEGORIES` out of `mode-gate.ts`
|
|
14
|
+
* itself (see `promotion-artifact-evidence.ts`).
|
|
15
|
+
*/
|
|
16
|
+
import type { SkillPresenceMode } from '../skills/skill-presence-service.js';
|
|
17
|
+
export type CodeMode = SkillPresenceMode;
|
|
18
|
+
export declare const CODE_MODES: readonly CodeMode[];
|
|
19
|
+
/**
|
|
20
|
+
* The 14 SKILL.md AskUserQuestion sites mapped in the D5 memory's
|
|
21
|
+
* "Inventory of unconditional confirmation gates" table. Each row
|
|
22
|
+
* is the bare minimum needed to gate it through `shouldPauseAtGate`.
|
|
23
|
+
*/
|
|
24
|
+
export type GatedStepId = 'step-0.5-openspec-opt-in' | 'step-0.6-audit-goal' | 'step-0.7-resume-detection' | 'step-1-mode-select' | 'step-2.5-session-title' | 'phase-2-prd-confirm' | 'phase-3-swarm-gate-b' | 'phase-6-qa-gate-d' | 'phase-10-txt-memory-extract' | 'step-n+1-final-review' | 'frontend-only-mismatch' | 'step-0.75-checkpoint-resume' | 'standards-preflight';
|
|
25
|
+
export declare const GATED_STEPS: readonly GatedStepId[];
|
|
26
|
+
/**
|
|
27
|
+
* v2.15.0 slice 002 AC-4: the 5 action identifiers that qualify as
|
|
28
|
+
* commit-boundary side effects. Matched by the LLM-side caller
|
|
29
|
+
* (peaks-code body / peaks-rd fork agent) when it is about to run a
|
|
30
|
+
* Bash command that maps to one of these. Set `commitBoundaryAction:
|
|
31
|
+
* true` on the `shouldPauseAtGate` call to trigger the hard-floor
|
|
32
|
+
* override.
|
|
33
|
+
*/
|
|
34
|
+
export type CommitBoundaryActionId = 'git-push' | 'git-tag' | 'npm-publish' | 'npm-install-global' | 'peaks-global-install';
|
|
35
|
+
export declare const COMMIT_BOUNDARY_ACTIONS: readonly CommitBoundaryActionId[];
|
|
36
|
+
/**
|
|
37
|
+
* v2.15.0 slice 002 AC-4: regex matchers the LLM-side caller uses
|
|
38
|
+
* to flag a Bash command as a commit-boundary action. Centralised
|
|
39
|
+
* here so the test seam + the CLI wiring share one source of
|
|
40
|
+
* truth. Each entry is an anchored pattern matched against the
|
|
41
|
+
* user-invoked command (after commander / shell normalisation,
|
|
42
|
+
* before execution).
|
|
43
|
+
*
|
|
44
|
+
* Patterns intentionally cover the common canonical forms:
|
|
45
|
+
*
|
|
46
|
+
* - `git-push` → `git push`, `git push origin main`, `git push --tags`
|
|
47
|
+
* - `git-tag` → `git tag v2.15.0`, `git tag -a v2.15.0 -m ...`
|
|
48
|
+
* - `npm-publish` → `npm publish`, `npm publish --access public`
|
|
49
|
+
* - `npm-install-global` → `npm install -g <pkg>`, `npm i -g <pkg>`
|
|
50
|
+
* - `peaks-global-install`→ `npm install -g peaks-loop`, `pnpm add -g peaks-loop`
|
|
51
|
+
*
|
|
52
|
+
* These are coarse — false positives are fine (worst case: a
|
|
53
|
+
* non-actionable command gets paused for confirmation; the user
|
|
54
|
+
* can confirm in one click). False negatives are NOT fine — a
|
|
55
|
+
* missed publish would violate the full-auto boundary.
|
|
56
|
+
*/
|
|
57
|
+
export declare const COMMIT_BOUNDARY_PATTERNS: Readonly<Record<CommitBoundaryActionId, RegExp>>;
|