peaks-loop 4.0.53 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/README-en.md +16 -1
- package/README.md +15 -1
- package/config/eslint/.peaks-rules.cjs +158 -13
- package/config/eslint/tsconfig.lint.json +47 -0
- package/dist/cli/cli-envelope.d.ts +114 -0
- package/dist/cli/cli-envelope.js +85 -0
- package/dist/cli/cli-helpers.d.ts +1 -1
- package/dist/cli/cli-helpers.js +8 -4
- package/dist/cli/commands/_cli-error-envelope.js +1 -1
- package/dist/cli/commands/_register.js +85 -38
- package/dist/cli/commands/_super.js +40 -7
- package/dist/cli/commands/adapter-commands-s2a.js +8 -7
- package/dist/cli/commands/adapter-commands.d.ts +2 -2
- package/dist/cli/commands/adapter-commands.js +7 -8
- package/dist/cli/commands/api-diff-commands.js +5 -4
- package/dist/cli/commands/asset-commands.d.ts +2 -2
- package/dist/cli/commands/asset-commands.js +135 -132
- package/dist/cli/commands/audit-commands.d.ts +1 -1
- package/dist/cli/commands/audit-commands.js +75 -32
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
- package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
- package/dist/cli/commands/baseline-commands.js +34 -9
- package/dist/cli/commands/bee-commands.d.ts +1 -1
- package/dist/cli/commands/bee-commands.js +18 -21
- package/dist/cli/commands/best-practice-scan-command.js +6 -34
- package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
- package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
- package/dist/cli/commands/capability-commands.d.ts +1 -1
- package/dist/cli/commands/capability-commands.js +14 -4
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
- package/dist/cli/commands/changeset-commands.js +21 -18
- package/dist/cli/commands/code-gate-command.js +9 -2
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
- package/dist/cli/commands/code-job-shape-commands.js +21 -45
- package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
- package/dist/cli/commands/code-mode-gate-commands.js +19 -199
- package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
- package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
- package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
- package/dist/cli/commands/code-review-commands.js +18 -3
- package/dist/cli/commands/code-run-command.js +44 -7
- package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
- package/dist/cli/commands/code-runtime-commands.js +105 -73
- package/dist/cli/commands/codegraph-commands.js +175 -11
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/compact-command.js +52 -26
- package/dist/cli/commands/complexity-commands.js +6 -7
- package/dist/cli/commands/config-commands.d.ts +1 -1
- package/dist/cli/commands/config-commands.js +33 -9
- package/dist/cli/commands/container-commands.js +39 -15
- package/dist/cli/commands/context-commands.d.ts +1 -1
- package/dist/cli/commands/context-commands.js +40 -13
- package/dist/cli/commands/core/artifacts-command.js +11 -3
- package/dist/cli/commands/core/binding-commands.js +9 -6
- package/dist/cli/commands/core/doctor-command.js +7 -4
- package/dist/cli/commands/core/memory-command.js +81 -22
- package/dist/cli/commands/core/proxy-command.js +3 -1
- package/dist/cli/commands/core/session-command.js +16 -8
- package/dist/cli/commands/core/skill-command.js +31 -16
- package/dist/cli/commands/core/standards-command.js +55 -13
- package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
- package/dist/cli/commands/cron-commands-actions.js +128 -0
- package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
- package/dist/cli/commands/cron-commands-schedule.js +151 -0
- package/dist/cli/commands/cron-commands.d.ts +35 -32
- package/dist/cli/commands/cron-commands.js +167 -211
- package/dist/cli/commands/cron-scheduler-commands.js +40 -20
- package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
- package/dist/cli/commands/cron-scheduler-persist.js +171 -0
- package/dist/cli/commands/dashboard-long-run.js +45 -14
- package/dist/cli/commands/dashboard-summary.js +15 -5
- package/dist/cli/commands/dispatch-commands.js +69 -34
- package/dist/cli/commands/dispatch-from-dag.js +9 -10
- package/dist/cli/commands/doc-commands.js +8 -9
- package/dist/cli/commands/doctor/invoke-from-code.js +1 -1
- package/dist/cli/commands/e2e-verify-env.d.ts +19 -0
- package/dist/cli/commands/e2e-verify-env.js +19 -0
- package/dist/cli/commands/e2e-verify.d.ts +3 -14
- package/dist/cli/commands/e2e-verify.js +49 -29
- package/dist/cli/commands/ecc-commands.d.ts +1 -1
- package/dist/cli/commands/ecc-commands.js +8 -17
- package/dist/cli/commands/evidence-commands.js +10 -6
- package/dist/cli/commands/evolution-commands.d.ts +2 -2
- package/dist/cli/commands/evolution-commands.js +109 -115
- package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
- package/dist/cli/commands/feedback-commands-helpers.js +33 -0
- package/dist/cli/commands/feedback-commands.js +15 -38
- package/dist/cli/commands/final-review-commands.d.ts +1 -1
- package/dist/cli/commands/final-review-commands.js +24 -22
- package/dist/cli/commands/fixture-commands.d.ts +1 -1
- package/dist/cli/commands/fixture-commands.js +17 -6
- package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
- package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
- package/dist/cli/commands/fork-commands.js +19 -51
- package/dist/cli/commands/fresh-context-commands.js +3 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
- package/dist/cli/commands/gate-commands-enforce.js +210 -0
- package/dist/cli/commands/gate-commands.d.ts +1 -1
- package/dist/cli/commands/gate-commands.js +85 -205
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
- package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
- package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
- package/dist/cli/commands/heartbeat-commands-action.js +192 -0
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
- package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
- package/dist/cli/commands/heartbeat-commands.js +19 -198
- package/dist/cli/commands/hook-handle.d.ts +1 -1
- package/dist/cli/commands/hook-handle.js +46 -13
- package/dist/cli/commands/hooks-commands.d.ts +1 -1
- package/dist/cli/commands/hooks-commands.js +18 -6
- package/dist/cli/commands/ide-commands.d.ts +1 -1
- package/dist/cli/commands/ide-commands.js +5 -3
- package/dist/cli/commands/impact-commands.js +8 -2
- package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
- package/dist/cli/commands/job-add-slice-command.js +151 -0
- package/dist/cli/commands/job-commands.d.ts +64 -0
- package/dist/cli/commands/job-commands.js +134 -63
- package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
- package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
- package/dist/cli/commands/lease-metrics-commands.js +21 -61
- package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
- package/dist/cli/commands/lease-stats-commands.js +9 -6
- package/dist/cli/commands/lint-commands.d.ts +9 -3
- package/dist/cli/commands/lint-commands.js +15 -8
- package/dist/cli/commands/log-commands.d.ts +1 -1
- package/dist/cli/commands/log-commands.js +8 -6
- package/dist/cli/commands/loop-commands.d.ts +1 -1
- package/dist/cli/commands/loop-commands.js +50 -50
- package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
- package/dist/cli/commands/loop-eval-commands.js +101 -30
- package/dist/cli/commands/memory-commands.js +21 -13
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
- package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
- package/dist/cli/commands/mut-commands-helpers.js +43 -0
- package/dist/cli/commands/mut-commands.js +16 -58
- package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
- package/dist/cli/commands/observability-commands-queries.js +113 -0
- package/dist/cli/commands/observability-commands.d.ts +1 -1
- package/dist/cli/commands/observability-commands.js +7 -92
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +20 -8
- package/dist/cli/commands/outer-cache-commands.js +18 -7
- package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
- package/dist/cli/commands/perf-audit-commands.js +12 -7
- package/dist/cli/commands/perf-commands.d.ts +1 -1
- package/dist/cli/commands/perf-commands.js +5 -5
- package/dist/cli/commands/playwright-commands.d.ts +1 -1
- package/dist/cli/commands/playwright-commands.js +20 -8
- package/dist/cli/commands/polyrepo-commands.js +21 -19
- package/dist/cli/commands/prd-blocks-commands.js +1 -3
- package/dist/cli/commands/prd-commands.d.ts +1 -1
- package/dist/cli/commands/prd-commands.js +21 -2
- package/dist/cli/commands/preferences-commands.js +13 -12
- package/dist/cli/commands/primer-command.js +5 -5
- package/dist/cli/commands/project-commands.d.ts +1 -1
- package/dist/cli/commands/project-commands.js +33 -9
- package/dist/cli/commands/qa-business-review-commands.js +16 -12
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +3 -5
- package/dist/cli/commands/release-commands.d.ts +3 -1
- package/dist/cli/commands/release-commands.js +33 -22
- package/dist/cli/commands/request-commands.js +47 -30
- package/dist/cli/commands/request-format-helpers.js +1 -1
- package/dist/cli/commands/retrospective-commands.d.ts +18 -11
- package/dist/cli/commands/retrospective-commands.js +24 -173
- package/dist/cli/commands/retrospective-index-command.d.ts +26 -0
- package/dist/cli/commands/retrospective-index-command.js +99 -0
- package/dist/cli/commands/retrospective-project-root.d.ts +9 -0
- package/dist/cli/commands/retrospective-project-root.js +15 -0
- package/dist/cli/commands/retrospective-search-command.d.ts +27 -0
- package/dist/cli/commands/retrospective-search-command.js +97 -0
- package/dist/cli/commands/retrospective-show-command.d.ts +23 -0
- package/dist/cli/commands/retrospective-show-command.js +80 -0
- package/dist/cli/commands/reviewer-commands.d.ts +1 -1
- package/dist/cli/commands/role-commands.js +14 -9
- package/dist/cli/commands/runtime-commands.js +14 -7
- package/dist/cli/commands/sc-commands.d.ts +1 -1
- package/dist/cli/commands/sc-commands.js +39 -6
- package/dist/cli/commands/scan-commands.js +36 -13
- package/dist/cli/commands/security-audit-commands.d.ts +1 -1
- package/dist/cli/commands/security-audit-commands.js +12 -7
- package/dist/cli/commands/sediment-commands.d.ts +2 -2
- package/dist/cli/commands/sediment-commands.js +146 -139
- package/dist/cli/commands/session-24h-mode.js +15 -2
- package/dist/cli/commands/session-checkpoint-command.js +1 -1
- package/dist/cli/commands/session-migrate-skill-name.js +1 -1
- package/dist/cli/commands/shadcn-commands.d.ts +1 -1
- package/dist/cli/commands/shadcn-commands.js +3 -1
- package/dist/cli/commands/share-commands.js +38 -39
- package/dist/cli/commands/skill-conformance-commands.d.ts +1 -1
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +16 -17
- package/dist/cli/commands/skill-visibility.js +2 -2
- package/dist/cli/commands/slice-commands.d.ts +1 -1
- package/dist/cli/commands/slice-commands.js +36 -12
- package/dist/cli/commands/slice-integrate-commands.js +6 -7
- package/dist/cli/commands/slice-review-commands-helpers.d.ts +26 -0
- package/dist/cli/commands/slice-review-commands-helpers.js +26 -0
- package/dist/cli/commands/slice-review-commands.js +16 -24
- package/dist/cli/commands/smoke-commands-add-path.d.ts +14 -0
- package/dist/cli/commands/smoke-commands-add-path.js +39 -0
- package/dist/cli/commands/smoke-commands-define.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-define.js +97 -0
- package/dist/cli/commands/smoke-commands-run.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-run.js +119 -0
- package/dist/cli/commands/smoke-commands.d.ts +10 -1
- package/dist/cli/commands/smoke-commands.js +17 -179
- package/dist/cli/commands/sop-commands.d.ts +1 -1
- package/dist/cli/commands/sop-commands.js +38 -10
- package/dist/cli/commands/statusline-commands.d.ts +1 -1
- package/dist/cli/commands/statusline-commands.js +21 -10
- package/dist/cli/commands/sub-agent/detached.js +3 -3
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +1 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +23 -0
- package/dist/cli/commands/sub-agent-shared.js +40 -1
- package/dist/cli/commands/sub-agent-shutdown-commands.js +17 -9
- package/dist/cli/commands/swarm-commands.d.ts +1 -1
- package/dist/cli/commands/swarm-commands.js +13 -6
- package/dist/cli/commands/tech-commands-helpers.d.ts +37 -0
- package/dist/cli/commands/tech-commands-helpers.js +24 -0
- package/dist/cli/commands/tech-commands.d.ts +2 -29
- package/dist/cli/commands/tech-commands.js +15 -28
- package/dist/cli/commands/test-commands.js +27 -7
- package/dist/cli/commands/upgrade-commands.d.ts +1 -1
- package/dist/cli/commands/user-touchpoint-commands.js +1 -3
- package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +20 -7
- package/dist/cli/commands/vm-commands.js +48 -19
- package/dist/cli/commands/wave-plan-commands.js +5 -2
- package/dist/cli/commands/web-commands.js +14 -4
- package/dist/cli/commands/web-lifecycle-commands.js +5 -3
- package/dist/cli/commands/workflow-commands.d.ts +1 -1
- package/dist/cli/commands/workflow-commands.js +64 -29
- package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
- package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
- package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
- package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
- package/dist/cli/commands/workflow-plan-commands.js +15 -141
- package/dist/cli/commands/workspace/clean-command.js +4 -1
- package/dist/cli/commands/workspace/helpers.js +2 -1
- package/dist/cli/commands/workspace/init-command.js +80 -20
- package/dist/cli/commands/workspace/reconcile-command.js +3 -1
- package/dist/cli/commands/workspace-commands.d.ts +1 -1
- package/dist/cli/commands/workspace-commands.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-auth-commands.js +16 -169
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
- package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
- package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
- package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-lease-commands.js +65 -37
- package/dist/cli/index.js +6 -2
- package/dist/cli/program.js +6 -3
- package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
- package/dist/reporters/bdd-reporter.js +9 -3
- package/dist/services/24h-mode/auto-engage.d.ts +19 -0
- package/dist/services/24h-mode/auto-engage.js +35 -0
- package/dist/services/24h-mode/decider.js +5 -1
- package/dist/services/24h-mode/store.js +4 -2
- package/dist/services/adapter/adapter-registry.js +20 -8
- package/dist/services/adapter/adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.js +1 -1
- package/dist/services/adapter/claude-adapter.d.ts +1 -1
- package/dist/services/adapter/claude-adapter.js +8 -8
- package/dist/services/adapter/codex-adapter.d.ts +2 -2
- package/dist/services/adapter/codex-adapter.js +20 -8
- package/dist/services/adapter/copilot-adapter.d.ts +2 -2
- package/dist/services/adapter/copilot-adapter.js +20 -8
- package/dist/services/artifacts/artifact-prerequisites.js +44 -8
- package/dist/services/artifacts/artifact-service.js +3 -1
- package/dist/services/artifacts/artifact-template-bodies.d.ts +12 -0
- package/dist/services/artifacts/artifact-template-bodies.js +165 -0
- package/dist/services/artifacts/artifact-templates.js +26 -168
- package/dist/services/artifacts/request-artifact-service.js +14 -7
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +3 -2
- package/dist/services/artifacts/request-artifact-state-helpers.js +3 -5
- package/dist/services/artifacts/workspace-artifact-helpers.d.ts +28 -0
- package/dist/services/artifacts/workspace-artifact-helpers.js +54 -0
- package/dist/services/artifacts/workspace-service.d.ts +3 -22
- package/dist/services/artifacts/workspace-service.js +10 -60
- package/dist/services/audit/artifact-writer.js +21 -21
- package/dist/services/audit/audit-goal-service.js +2 -2
- package/dist/services/audit/backing-detector.js +7 -4
- package/dist/services/audit/classifier.js +3 -3
- package/dist/services/audit/decision-writer.js +13 -9
- package/dist/services/audit/enforcer-liveness.js +1 -1
- package/dist/services/audit/enforcers/active-skill-resolver.js +15 -7
- package/dist/services/audit/enforcers/design-draft-confirm.js +4 -4
- package/dist/services/audit/enforcers/lint-audit-regression.js +10 -5
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +16 -8
- package/dist/services/audit/enforcers/lint-catalog-governance.js +8 -4
- package/dist/services/audit/enforcers/lint-output-style.js +4 -2
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +20 -20
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +5 -5
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +1 -1
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +5 -5
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +10 -10
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +10 -8
- package/dist/services/audit/enforcers/lint-reference-shape.js +50 -18
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +5 -5
- package/dist/services/audit/enforcers/lint-style.js +44 -11
- package/dist/services/audit/enforcers/lint-workflow-shape.js +4 -2
- package/dist/services/audit/enforcers/login-gate.js +2 -6
- package/dist/services/audit/enforcers/mock-placement.js +2 -2
- package/dist/services/audit/enforcers/no-root-pollution.js +38 -9
- package/dist/services/audit/enforcers/pre-rd-scan.js +1 -1
- package/dist/services/audit/enforcers/prototype-fidelity.js +1 -1
- package/dist/services/audit/enforcers/resume-detection.js +5 -4
- package/dist/services/audit/prose-ratio-calculator.js +1 -1
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +39 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.d.ts +52 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +3 -374
- package/dist/services/audit/red-line-catalog-p2-b.js +26 -26
- package/dist/services/audit/red-line-catalog.js +26 -38
- package/dist/services/audit/red-lines-service.js +64 -49
- package/dist/services/audit/scanners/openspec-scanner.js +2 -2
- package/dist/services/audit/scanners/rules-tree-scanner.js +2 -2
- package/dist/services/audit/scanners/skills-tree-scanner.js +2 -2
- package/dist/services/audit/static-service.js +3 -3
- package/dist/services/audit-independent/index.d.ts +2 -2
- package/dist/services/audit-independent/index.js +2 -2
- package/dist/services/audit-independent/perf-audit-service.js +19 -8
- package/dist/services/audit-independent/security-audit-service.js +31 -16
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +75 -46
- package/dist/services/best-practice/output-formatter.js +7 -1
- package/dist/services/capability-audit-service/cross-check.js +11 -5
- package/dist/services/capability-audit-service/runner.js +15 -7
- package/dist/services/capability-baseline/store.js +16 -4
- package/dist/services/capability-baseline/types.js +15 -3
- package/dist/services/capability-baseline/validator.js +43 -7
- package/dist/services/capability-guard-runner/contracts/J02.js +36 -6
- package/dist/services/capability-guard-runner/contracts/J03.js +20 -11
- package/dist/services/capability-guard-runner/contracts/J04.js +24 -15
- package/dist/services/capability-guard-runner/contracts/J05.js +26 -10
- package/dist/services/capability-guard-runner/contracts/J07.js +8 -2
- package/dist/services/capability-guard-runner/contracts/J08.js +22 -5
- package/dist/services/capability-guard-runner/contracts/J10.js +6 -2
- package/dist/services/capability-guard-runner/contracts/J11.d.ts +5 -0
- package/dist/services/capability-guard-runner/contracts/J11.js +14 -2
- package/dist/services/capability-guard-runner/contracts/J12.js +12 -3
- package/dist/services/capability-guard-runner/diff.js +1 -5
- package/dist/services/changeset/changeset-check-service.js +1 -3
- package/dist/services/classify/classify-service.js +20 -8
- package/dist/services/classify/classify-types.js +22 -9
- package/dist/services/code/auto-compact-lifecycle.js +62 -39
- package/dist/services/code/auto-compact-modes.js +2 -2
- package/dist/services/code/auto-compact-orchestrator.js +14 -9
- package/dist/services/code/batch-heartbeat-poller.d.ts +10 -0
- package/dist/services/code/batch-heartbeat-poller.js +17 -1
- package/dist/services/code/compact-event-settle-types.d.ts +80 -0
- package/dist/services/code/compact-event-settle-types.js +20 -0
- package/dist/services/code/compact-event-settle.d.ts +3 -68
- package/dist/services/code/compact-event-settle.js +14 -10
- package/dist/services/code/dag-orchestrator.js +32 -26
- package/dist/services/code/job-shape-decision.js +3 -1
- package/dist/services/code/mode-gate-types.d.ts +57 -0
- package/dist/services/code/mode-gate-types.js +67 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +24 -60
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
- package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-probes.js +77 -0
- package/dist/services/code/orchestrator-can-do.d.ts +11 -22
- package/dist/services/code/orchestrator-can-do.js +37 -137
- package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
- package/dist/services/code/post-compact-checkpoint.js +57 -0
- package/dist/services/code/post-compact-detector.js +16 -48
- package/dist/services/code/step-08-gate.d.ts +4 -3
- package/dist/services/code/step-08-gate.js +21 -9
- package/dist/services/code-review/ecc-bridge.js +23 -23
- package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +44 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.js +116 -14
- package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +23 -1
- package/dist/services/codegraph/codegraph-exclude-repair.js +7 -2
- package/dist/services/codegraph/codegraph-index-integrity.js +1 -1
- package/dist/services/codegraph/codegraph-preflight-service.d.ts +3 -26
- package/dist/services/codegraph/codegraph-preflight-service.js +16 -37
- package/dist/services/codegraph/codegraph-preflight-structure.d.ts +32 -0
- package/dist/services/codegraph/codegraph-preflight-structure.js +33 -0
- package/dist/services/codegraph/codegraph-process-runner.js +12 -1
- package/dist/services/codegraph/codegraph-service.js +9 -1
- package/dist/services/compact/request-transition-hook.js +2 -1
- package/dist/services/compact/suggest-service.d.ts +3 -61
- package/dist/services/compact/suggest-service.js +9 -12
- package/dist/services/compact/suggest-types.d.ts +76 -0
- package/dist/services/compact/suggest-types.js +10 -0
- package/dist/services/compact-history/compact-history-service.js +2 -2
- package/dist/services/compact-statusline/compact-lifecycle-store.d.ts +2 -32
- package/dist/services/compact-statusline/compact-lifecycle-store.js +7 -12
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +32 -0
- package/dist/services/compact-statusline/compact-lifecycle-types.js +8 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.d.ts +42 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.js +63 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +4 -21
- package/dist/services/compact-statusline/compact-statusline-service.js +9 -101
- package/dist/services/compact-statusline/compact-statusline-state.d.ts +4 -0
- package/dist/services/compact-statusline/compact-statusline-state.js +50 -0
- package/dist/services/config/config-migration.js +2 -2
- package/dist/services/config/config-restore.js +1 -1
- package/dist/services/config/config-rollback.js +1 -1
- package/dist/services/config/config-safety.js +28 -10
- package/dist/services/config/config-service.js +114 -31
- package/dist/services/config/model-routing.js +5 -2
- package/dist/services/config/proxy-service.js +6 -1
- package/dist/services/config/workspace-state-service.js +17 -5
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +38 -0
- package/dist/services/context/auto-compact-dispatcher-input.js +9 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +2 -30
- package/dist/services/context/auto-compact-reader-input.d.ts +30 -0
- package/dist/services/context/auto-compact-reader-input.js +8 -0
- package/dist/services/context/auto-compact-reader.d.ts +2 -24
- package/dist/services/context/auto-compact-reader.js +4 -1
- package/dist/services/context/auto-compact-thresholds.d.ts +54 -0
- package/dist/services/context/auto-compact-thresholds.js +19 -0
- package/dist/services/context/auto-compact-types.d.ts +2 -46
- package/dist/services/context/auto-compact-types.js +1 -11
- package/dist/services/context/build-dispatch-system-prompt.js +2 -2
- package/dist/services/context/collector.js +8 -10
- package/dist/services/context/context-audit-hint.js +7 -5
- package/dist/services/context/context-audit-keys.d.ts +15 -0
- package/dist/services/context/context-audit-keys.js +77 -0
- package/dist/services/context/context-audit-limits.d.ts +20 -0
- package/dist/services/context/context-audit-limits.js +31 -0
- package/dist/services/context/context-audit-scan.d.ts +19 -0
- package/dist/services/context/context-audit-scan.js +246 -0
- package/dist/services/context/context-audit-types.d.ts +65 -0
- package/dist/services/context/context-audit-types.js +10 -0
- package/dist/services/context/context-audit.d.ts +13 -59
- package/dist/services/context/context-audit.js +38 -254
- package/dist/services/context/context-builder.js +4 -4
- package/dist/services/context/context-schema.d.ts +1 -1
- package/dist/services/context/context-schema.js +13 -13
- package/dist/services/context/doc-retriever.js +2 -2
- package/dist/services/context/harness-context-witness.js +43 -24
- package/dist/services/context/harness-window-config.js +27 -7
- package/dist/services/context/ide-detect.js +2 -1
- package/dist/services/context/index.d.ts +1 -1
- package/dist/services/context/memory-index-reader.js +3 -9
- package/dist/services/context/memory-preflight-config.js +3 -5
- package/dist/services/context/memory-preflight-service.d.ts +2 -20
- package/dist/services/context/memory-preflight-service.js +37 -68
- package/dist/services/context/memory-preflight-support.d.ts +48 -0
- package/dist/services/context/memory-preflight-support.js +56 -0
- package/dist/services/context/post-compact-reinjection.js +3 -3
- package/dist/services/context/renderer.js +7 -3
- package/dist/services/context/spillover-store.js +3 -1
- package/dist/services/context/summary-view.js +1 -1
- package/dist/services/context/threshold.js +2 -2
- package/dist/services/context/tokenizer.js +3 -3
- package/dist/services/crystallization/crystallization-brief-schema.d.ts +80 -0
- package/dist/services/crystallization/crystallization-brief-schema.js +159 -0
- package/dist/services/crystallization/crystallization-service.d.ts +7 -7
- package/dist/services/crystallization/crystallization-service.js +56 -55
- package/dist/services/crystallization/crystallization-store.d.ts +2 -2
- package/dist/services/crystallization/crystallization-store.js +37 -20
- package/dist/services/crystallization/crystallization-types.d.ts +4 -56
- package/dist/services/crystallization/crystallization-types.js +31 -184
- package/dist/services/crystallization/evidence-brief-builder.d.ts +3 -3
- package/dist/services/crystallization/evidence-brief-builder.js +32 -38
- package/dist/services/crystallization/index.d.ts +4 -4
- package/dist/services/crystallization/index.js +4 -4
- package/dist/services/dashboard/project-dashboard-service.js +7 -1
- package/dist/services/dispatch/await-batch-helpers.d.ts +55 -0
- package/dist/services/dispatch/await-batch-helpers.js +206 -0
- package/dist/services/dispatch/await-batch.d.ts +50 -7
- package/dist/services/dispatch/await-batch.js +97 -194
- package/dist/services/dispatch/batch-counter.js +2 -1
- package/dist/services/dispatch/conflict-replay.js +2 -2
- package/dist/services/dispatch/contract-store.js +5 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +81 -0
- package/dist/services/dispatch/dispatch-record-input-types.js +1 -0
- package/dist/services/dispatch/dispatch-record-types.d.ts +6 -73
- package/dist/services/dispatch/dispatch-record-upgrade-fields.d.ts +72 -0
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +242 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.d.ts +15 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +55 -0
- package/dist/services/dispatch/dispatch-record-upgrade.d.ts +2 -4
- package/dist/services/dispatch/dispatch-record-upgrade.js +21 -213
- package/dist/services/dispatch/dispatch-record-writer.js +54 -26
- package/dist/services/dispatch/dispatch-sub-agent.js +7 -2
- package/dist/services/dispatch/e2e-fixtures.js +1 -1
- package/dist/services/dispatch/isolation-lease.js +39 -17
- package/dist/services/dispatch/merge-back-runner.js +51 -11
- package/dist/services/dispatch/service-shutdown.js +4 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +116 -0
- package/dist/services/dispatch/slice-dag-types.js +41 -0
- package/dist/services/dispatch/slice-dag.d.ts +3 -109
- package/dist/services/dispatch/slice-dag.js +13 -36
- package/dist/services/dispatch/sub-agent-batch-await.d.ts +47 -0
- package/dist/services/dispatch/sub-agent-batch-await.js +73 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +122 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.js +12 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +3 -145
- package/dist/services/dispatch/sub-agent-dispatcher.js +14 -70
- package/dist/services/dispatch/test-tool-detection.js +12 -1
- package/dist/services/doc/doc-generator.js +19 -4
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +7 -2
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +26 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +18 -9
- package/dist/services/doctor/doctor-service/checks/ecc-hooks-schema-drift.js +20 -10
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +18 -9
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +25 -11
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +12 -6
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +7 -16
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +50 -70
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +5 -1
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +4 -2
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +8 -4
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +8 -4
- package/dist/services/doctor/doctor-service/checks/user-config.js +4 -2
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +8 -4
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +19 -11
- package/dist/services/doctor/doctor-service/index.js +4 -2
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.d.ts +40 -0
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.js +49 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +1 -1
- package/dist/services/doctor/doctor-service/probe-types.d.ts +210 -0
- package/dist/services/doctor/doctor-service/probe-types.js +14 -0
- package/dist/services/doctor/doctor-service/types.d.ts +7 -197
- package/dist/services/doctor/index.d.ts +1 -1
- package/dist/services/doctor/index.js +1 -1
- package/dist/services/env/shell-probe.js +8 -2
- package/dist/services/evidence/evidence-body-builders.d.ts +23 -0
- package/dist/services/evidence/evidence-body-builders.js +197 -0
- package/dist/services/evidence/evidence-generator.js +16 -189
- package/dist/services/evolution/evolution-constraints.d.ts +43 -0
- package/dist/services/evolution/evolution-constraints.js +54 -0
- package/dist/services/evolution/evolution-evaluation-schema.d.ts +43 -0
- package/dist/services/evolution/evolution-evaluation-schema.js +43 -0
- package/dist/services/evolution/evolution-service.d.ts +6 -6
- package/dist/services/evolution/evolution-service.js +58 -58
- package/dist/services/evolution/evolution-store.d.ts +2 -2
- package/dist/services/evolution/evolution-store.js +37 -51
- package/dist/services/evolution/evolution-types.d.ts +2 -22
- package/dist/services/evolution/evolution-types.js +41 -101
- package/dist/services/evolution/independent-evaluator-runner.d.ts +3 -3
- package/dist/services/evolution/independent-evaluator-runner.js +20 -22
- package/dist/services/evolution/regression-skeptic-runner.d.ts +2 -2
- package/dist/services/evolution/regression-skeptic-runner.js +18 -18
- package/dist/services/feedback/feedback-promotion-service.js +48 -12
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +2 -16
- package/dist/services/feedback/promotion-artifact-evidence.js +6 -83
- package/dist/services/feedback/promotion-artifact-json-evidence.d.ts +29 -0
- package/dist/services/feedback/promotion-artifact-json-evidence.js +39 -0
- package/dist/services/feedback/promotion-source-comments.d.ts +47 -0
- package/dist/services/feedback/promotion-source-comments.js +61 -0
- package/dist/services/final-review/final-review-contract.d.ts +26 -0
- package/dist/services/final-review/final-review-contract.js +14 -0
- package/dist/services/final-review/final-review-delivery.d.ts +63 -0
- package/dist/services/final-review/final-review-delivery.js +124 -0
- package/dist/services/final-review/final-review-evidence-budget.d.ts +125 -0
- package/dist/services/final-review/final-review-evidence-budget.js +218 -0
- package/dist/services/final-review/final-review-evidence-collect.d.ts +4 -0
- package/dist/services/final-review/final-review-evidence-collect.js +230 -0
- package/dist/services/final-review/final-review-evidence-sources.d.ts +138 -0
- package/dist/services/final-review/final-review-evidence-sources.js +139 -0
- package/dist/services/final-review/final-review-fifth-dim.d.ts +8 -0
- package/dist/services/final-review/final-review-fifth-dim.js +20 -0
- package/dist/services/final-review/final-review-gates.d.ts +119 -0
- package/dist/services/final-review/final-review-gates.js +214 -0
- package/dist/services/final-review/final-review-output-budget.d.ts +88 -0
- package/dist/services/final-review/final-review-output-budget.js +161 -0
- package/dist/services/final-review/final-review-prompt.d.ts +35 -0
- package/dist/services/final-review/final-review-prompt.js +112 -0
- package/dist/services/final-review/final-review-reviewer.d.ts +57 -0
- package/dist/services/final-review/final-review-reviewer.js +95 -0
- package/dist/services/final-review/final-review-runner.d.ts +3 -0
- package/dist/services/final-review/final-review-runner.js +158 -0
- package/dist/services/final-review/final-review-service.d.ts +119 -373
- package/dist/services/final-review/final-review-service.js +48 -1380
- package/dist/services/final-review/final-review-verdicts.d.ts +60 -0
- package/dist/services/final-review/final-review-verdicts.js +91 -0
- package/dist/services/final-review/index.d.ts +3 -3
- package/dist/services/final-review/index.js +2 -2
- package/dist/services/final-review/pre-post-diff.js +32 -29
- package/dist/services/fixture/fixture-capture-service.js +14 -6
- package/dist/services/fresh-context/trigger-scan.js +13 -2
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +1 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +6 -1
- package/dist/services/hooks/pre-tool-code-gate.js +2 -2
- package/dist/services/hooks/presence-marker-detector.js +12 -2
- package/dist/services/hooks/worktree-authorization-gate.js +21 -7
- package/dist/services/ide/adapters/claude-code-adapter.js +30 -17
- package/dist/services/ide/adapters/codex-adapter.js +3 -5
- package/dist/services/ide/adapters/cursor-adapter.js +3 -5
- package/dist/services/ide/adapters/hermes-adapter.js +2 -4
- package/dist/services/ide/adapters/openclaw-adapter.js +2 -4
- package/dist/services/ide/adapters/qoder-adapter.js +2 -4
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +1 -1
- package/dist/services/ide/adapters/trae-adapter.js +3 -5
- package/dist/services/ide/adapters/zcode-adapter.js +8 -7
- package/dist/services/ide/current-model-detector.js +2 -1
- package/dist/services/ide/ide-compact-types.d.ts +153 -0
- package/dist/services/ide/ide-compact-types.js +1 -0
- package/dist/services/ide/ide-registry.js +1 -1
- package/dist/services/ide/ide-types.d.ts +7 -145
- package/dist/services/ide/resource-profile.js +1 -1
- package/dist/services/ide/shared/atomic-json.js +2 -1
- package/dist/services/impact/impact-scan-service.js +12 -5
- package/dist/services/job/job-commit-verification.d.ts +73 -0
- package/dist/services/job/job-commit-verification.js +72 -0
- package/dist/services/job/job-orchestrator.d.ts +42 -0
- package/dist/services/job/job-orchestrator.js +110 -10
- package/dist/services/job/job-progress-store.d.ts +75 -5
- package/dist/services/job/job-progress-store.js +83 -6
- package/dist/services/job/job-rotation.d.ts +1 -1
- package/dist/services/job/job-rotation.js +5 -1
- package/dist/services/job/job-state-store.js +2 -2
- package/dist/services/job/job-types.js +49 -20
- package/dist/services/job/subagent-job-wrapper.d.ts +1 -1
- package/dist/services/job/subagent-job-wrapper.js +5 -1
- package/dist/services/job-snapshot/snapshot.js +2 -2
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +23 -13
- package/dist/services/legacy/legacy-detector.js +51 -5
- package/dist/services/lint/detect-eslint.js +10 -4
- package/dist/services/lint/detect-ocr-18.js +11 -3
- package/dist/services/lint/eslint-runner-support.d.ts +22 -0
- package/dist/services/lint/eslint-runner-support.js +185 -0
- package/dist/services/lint/eslint-runner-types.d.ts +69 -0
- package/dist/services/lint/eslint-runner-types.js +11 -0
- package/dist/services/lint/eslint-runner.d.ts +4 -56
- package/dist/services/lint/eslint-runner.js +24 -178
- package/dist/services/lint/npx-resolver.js +1 -3
- package/dist/services/lint/ocr-18-acquire.js +15 -4
- package/dist/services/lint/ocr-multilang-adapter.js +4 -5
- package/dist/services/llm/anthropic-runner.js +4 -1
- package/dist/services/log/log-commands-service.js +2 -6
- package/dist/services/log/logger.js +15 -12
- package/dist/services/log/retention.js +3 -2
- package/dist/services/loop/evaluator-dispatcher.js +78 -42
- package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
- package/dist/services/loop/loop-bee-relation-service.js +36 -40
- package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-store.js +9 -11
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +14 -25
- package/dist/services/loop/loop-release-service.d.ts +2 -2
- package/dist/services/loop/loop-release-service.js +3 -3
- package/dist/services/loop/loop-release-store.d.ts +2 -2
- package/dist/services/loop/loop-release-store.js +4 -6
- package/dist/services/loop/loop-release-types.d.ts +1 -1
- package/dist/services/loop/loop-release-types.js +21 -31
- package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
- package/dist/services/loop/monotonic-guard-types.js +9 -0
- package/dist/services/loop/monotonic-guard.d.ts +2 -43
- package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
- package/dist/services/loop/monotonic-runner-types.js +17 -0
- package/dist/services/loop/monotonic-runner.d.ts +3 -34
- package/dist/services/loop/monotonic-runner.js +10 -20
- package/dist/services/loop/run-driver.js +16 -8
- package/dist/services/loop/spec-service.d.ts +0 -5
- package/dist/services/loop/spec-service.js +49 -9
- package/dist/services/memory/llm-reranker-core.d.ts +108 -0
- package/dist/services/memory/llm-reranker-core.js +105 -0
- package/dist/services/memory/llm-reranker.d.ts +3 -94
- package/dist/services/memory/llm-reranker.js +13 -102
- package/dist/services/memory/memory-ingest-service.d.ts +1 -22
- package/dist/services/memory/memory-ingest-service.js +29 -76
- package/dist/services/memory/memory-ingest-support.d.ts +23 -0
- package/dist/services/memory/memory-ingest-support.js +81 -0
- package/dist/services/memory/memory-rotate-service.js +41 -8
- package/dist/services/memory/memory-search-service.js +8 -4
- package/dist/services/memory/project-context-service.js +26 -5
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
- package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
- package/dist/services/memory/project-memory-service/index.d.ts +1 -1
- package/dist/services/memory/project-memory-service/index.js +1 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +31 -0
- package/dist/services/memory/project-memory-service/memory-kinds.js +87 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.d.ts +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.js +104 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +2 -24
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +28 -79
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +15 -3
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +59 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +189 -17
- package/dist/services/memory/project-memory-service/store/paths.js +2 -1
- package/dist/services/memory/project-memory-service/types.d.ts +3 -31
- package/dist/services/memory/project-memory-service/types.js +1 -76
- package/dist/services/migrate-skill-name/migrate.js +1 -1
- package/dist/services/migrate-skill-name/schema.js +1 -1
- package/dist/services/mode/mode-enforcement.js +4 -2
- package/dist/services/mode/mode-status-service.d.ts +27 -9
- package/dist/services/mode/mode-status-service.js +64 -12
- package/dist/services/observability/aggregation-helpers.d.ts +22 -0
- package/dist/services/observability/aggregation-helpers.js +65 -0
- package/dist/services/observability/aggregation-types.d.ts +66 -0
- package/dist/services/observability/aggregation-types.js +34 -0
- package/dist/services/observability/aggregation.d.ts +5 -53
- package/dist/services/observability/aggregation.js +17 -80
- package/dist/services/observability/jsonl-store.js +2 -1
- package/dist/services/observability/observability-schema.d.ts +71 -0
- package/dist/services/observability/observability-schema.js +64 -0
- package/dist/services/observability/observability-service.d.ts +3 -56
- package/dist/services/observability/observability-service.js +9 -49
- package/dist/services/openspec/coverage-evidence-reader.js +18 -11
- package/dist/services/openspec/openspec-archive-service.js +31 -24
- package/dist/services/openspec/openspec-init-service.js +8 -2
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-scan-service.js +4 -1
- package/dist/services/openspec/openspec-validate-service.js +26 -5
- package/dist/services/perf/perf-baseline-service.js +2 -6
- package/dist/services/polyrepo/polyrepo-dispatcher.js +2 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +4 -1
- package/dist/services/prd/gate-evidence-derivation.d.ts +160 -0
- package/dist/services/prd/gate-evidence-derivation.js +270 -0
- package/dist/services/prd/handoff-auto-regen.js +13 -1
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +42 -0
- package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
- package/dist/services/prd/handoff-frontmatter.d.ts +1 -1
- package/dist/services/prd/handoff-frontmatter.js +63 -1
- package/dist/services/prd/handoff-gate-evidence.d.ts +95 -1
- package/dist/services/prd/handoff-gate-evidence.js +125 -57
- package/dist/services/prd/handoff-path-resolution.d.ts +37 -0
- package/dist/services/prd/handoff-path-resolution.js +101 -0
- package/dist/services/prd/handoff-service.d.ts +22 -38
- package/dist/services/prd/handoff-service.js +38 -127
- package/dist/services/prd/handoff-types.d.ts +40 -0
- package/dist/services/prd/handoff-types.js +28 -1
- package/dist/services/prd/prd-blocks-checker.js +28 -8
- package/dist/services/prd/project-scan-bootstrap-service.js +1 -5
- package/dist/services/prd/project-scan-reader.d.ts +7 -0
- package/dist/services/prd/project-scan-reader.js +8 -5
- package/dist/services/prd/project-scan-sediment.js +1 -4
- package/dist/services/preferences/preferences-service.js +6 -8
- package/dist/services/preferences/preferences-types.js +4 -4
- package/dist/services/qa/bdd-test-style-contract.d.ts +41 -0
- package/dist/services/qa/bdd-test-style-contract.js +37 -0
- package/dist/services/qa/bdd-test-style-verifier.d.ts +2 -24
- package/dist/services/qa/bdd-test-style-verifier.js +5 -31
- package/dist/services/qa/browser-event-logger.js +2 -1
- package/dist/services/qa/qa-business-review-state.js +20 -5
- package/dist/services/qa/screenshot-archive-service.js +1 -3
- package/dist/services/rd/ast-gate.js +2 -2
- package/dist/services/rd/impl.js +1 -1
- package/dist/services/rd/rd-service.js +117 -43
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +36 -8
- package/dist/services/rd/reviewer-dispatch-policy.js +40 -15
- package/dist/services/rd/standards-diagnostic.js +4 -1
- package/dist/services/rd/strategy.js +10 -3
- package/dist/services/rd/tactical-stage.js +2 -2
- package/dist/services/rd/types.js +9 -7
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +2 -45
- package/dist/services/rd-swarm/rd-swarm-service.js +140 -21
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +54 -0
- package/dist/services/rd-swarm/rd-swarm-types.js +10 -0
- package/dist/services/recommendations/capability-map-service.js +10 -2
- package/dist/services/recommendations/capability-seed-items.js +81 -14
- package/dist/services/recommendations/capability-seed-mappings.js +420 -48
- package/dist/services/recommendations/capability-seed-sources-mcp-server.d.ts +9 -0
- package/dist/services/recommendations/capability-seed-sources-mcp-server.js +233 -0
- package/dist/services/recommendations/capability-seed-sources.js +127 -32
- package/dist/services/release/release-state.d.ts +2 -2
- package/dist/services/release/release-state.js +44 -15
- package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
- package/dist/services/release/version-precheck-layer-changeset.js +43 -0
- package/dist/services/release/version-precheck-service.d.ts +11 -36
- package/dist/services/release/version-precheck-service.js +20 -104
- package/dist/services/release/version-precheck-support.d.ts +53 -0
- package/dist/services/release/version-precheck-support.js +64 -0
- package/dist/services/retrospective/retrospective-index.js +17 -3
- package/dist/services/retrospective/retrospective-search-service.js +6 -2
- package/dist/services/retrospective/retrospective-show.js +4 -1
- package/dist/services/reviewer/model-family.js +7 -1
- package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
- package/dist/services/reviewer/providers/anthropic.js +10 -1
- package/dist/services/reviewer/providers/openai.d.ts +5 -0
- package/dist/services/reviewer/providers/openai.js +10 -1
- package/dist/services/reviewer/reviewer-config.js +4 -2
- package/dist/services/reviewer/reviewer-service.d.ts +2 -36
- package/dist/services/reviewer/reviewer-service.js +2 -1
- package/dist/services/reviewer/reviewer-types.d.ts +43 -0
- package/dist/services/reviewer/reviewer-types.js +1 -0
- package/dist/services/role/role-registry.js +9 -1
- package/dist/services/runtime/runtime-detector.js +4 -1
- package/dist/services/runtime/vendors/claude-code.js +14 -6
- package/dist/services/runtime/vendors/codex.js +11 -3
- package/dist/services/runtime/vendors/copilot.js +11 -3
- package/dist/services/sc/sc-service.js +28 -15
- package/dist/services/scan/acceptance-coverage-service.js +4 -1
- package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
- package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
- package/dist/services/scan/api-diff-openapi.d.ts +16 -2
- package/dist/services/scan/api-diff-openapi.js +19 -123
- package/dist/services/scan/api-diff-recorded.js +16 -3
- package/dist/services/scan/api-diff-service.js +49 -16
- package/dist/services/scan/api-diff-types.js +12 -3
- package/dist/services/scan/api-surface-helpers.d.ts +13 -0
- package/dist/services/scan/api-surface-helpers.js +31 -0
- package/dist/services/scan/api-surface-service.d.ts +2 -45
- package/dist/services/scan/api-surface-service.js +15 -26
- package/dist/services/scan/api-surface-types.d.ts +54 -0
- package/dist/services/scan/api-surface-types.js +10 -0
- package/dist/services/scan/archetype-detection.d.ts +37 -0
- package/dist/services/scan/archetype-detection.js +142 -0
- package/dist/services/scan/archetype-service.js +36 -125
- package/dist/services/scan/diff-scope-service.js +35 -15
- package/dist/services/scan/existing-system-service.js +16 -99
- package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
- package/dist/services/scan/existing-system-visual-tokens.js +123 -0
- package/dist/services/scan/file-size-policy.d.ts +86 -0
- package/dist/services/scan/file-size-policy.js +184 -0
- package/dist/services/scan/file-size-scan.d.ts +30 -3
- package/dist/services/scan/file-size-scan.js +47 -9
- package/dist/services/scan/karpathy-service.js +6 -1
- package/dist/services/scan/orphan-service.js +86 -20
- package/dist/services/scan/type-sanity-service.js +104 -10
- package/dist/services/sediment/dispose-confirm.d.ts +2 -2
- package/dist/services/sediment/dispose-confirm.js +2 -2
- package/dist/services/sediment/json-schema.d.ts +1 -1
- package/dist/services/sediment/json-schema.js +25 -13
- package/dist/services/sediment/manifest-lint.d.ts +1 -12
- package/dist/services/sediment/manifest-lint.js +1 -7
- package/dist/services/sediment/pool-paths.js +13 -9
- package/dist/services/sediment/pool-read.d.ts +1 -1
- package/dist/services/sediment/pool-read.js +42 -18
- package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
- package/dist/services/sediment/pool-rebuild-index.js +5 -5
- package/dist/services/sediment/pool-write.d.ts +1 -1
- package/dist/services/sediment/pool-write.js +7 -7
- package/dist/services/sediment/promotion-gate.d.ts +1 -1
- package/dist/services/sediment/promotion-gate.js +9 -9
- package/dist/services/sediment/types.d.ts +8 -8
- package/dist/services/session/binding-status-service.js +14 -4
- package/dist/services/session/caller-binding-service.js +2 -1
- package/dist/services/session/getSessionDir.js +4 -1
- package/dist/services/session/index.d.ts +1 -1
- package/dist/services/session/index.js +1 -1
- package/dist/services/session/resolve-caller-id.js +7 -5
- package/dist/services/session/session-binding-bridge.js +26 -25
- package/dist/services/session/session-checkpoint-service.js +1 -1
- package/dist/services/session/session-file-schema.d.ts +70 -0
- package/dist/services/session/session-file-schema.js +68 -0
- package/dist/services/session/session-manager.d.ts +6 -6
- package/dist/services/session/session-manager.js +30 -29
- package/dist/services/session/session-resume-service.js +2 -1
- package/dist/services/share/bundle-format-constants.d.ts +85 -0
- package/dist/services/share/bundle-format-constants.js +100 -0
- package/dist/services/share/bundle-reader.d.ts +3 -3
- package/dist/services/share/bundle-reader.js +75 -68
- package/dist/services/share/bundle-types.d.ts +3 -70
- package/dist/services/share/bundle-types.js +38 -107
- package/dist/services/share/bundle-writer.d.ts +3 -3
- package/dist/services/share/bundle-writer.js +101 -91
- package/dist/services/share/run-state-contract.d.ts +1 -1
- package/dist/services/share/run-state-contract.js +7 -13
- package/dist/services/signal/cancel-handler.js +2 -1
- package/dist/services/skill/resume-detector.js +6 -4
- package/dist/services/skill/skill-scheduler.js +3 -1
- package/dist/services/skill/skill-search-service.js +4 -4
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-diff.js +6 -10
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-export.js +15 -17
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.js +4 -4
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +13 -12
- package/dist/services/skillhub/release-retain.d.ts +3 -3
- package/dist/services/skillhub/release-retain.js +22 -22
- package/dist/services/skillhub/sqlite-store.d.ts +1 -1
- package/dist/services/skillhub/sqlite-store.js +12 -11
- package/dist/services/skillhub/tar-runtime.js +15 -15
- package/dist/services/skillhub/types.d.ts +4 -4
- package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
- package/dist/services/skills/hooks-settings-service.js +61 -19
- package/dist/services/skills/presence-lease-service.js +26 -16
- package/dist/services/skills/presence-lease-types.d.ts +1 -1
- package/dist/services/skills/presence-lease-types.js +1 -1
- package/dist/services/skills/skill-conformance-service.js +40 -8
- package/dist/services/skills/skill-presence-service.js +16 -14
- package/dist/services/skills/skill-runbook-service.js +2 -1
- package/dist/services/skills/skill-statusline-model.d.ts +128 -0
- package/dist/services/skills/skill-statusline-model.js +163 -0
- package/dist/services/skills/skill-statusline-renderer.js +4 -3
- package/dist/services/skills/skill-statusline-service.d.ts +3 -100
- package/dist/services/skills/skill-statusline-service.js +56 -163
- package/dist/services/skills/statusline-palette.js +11 -6
- package/dist/services/skills/statusline-settings-service.js +2 -1
- package/dist/services/skills/sync-service-support.d.ts +65 -0
- package/dist/services/skills/sync-service-support.js +50 -0
- package/dist/services/skills/sync-service.d.ts +3 -66
- package/dist/services/skills/sync-service.js +15 -53
- package/dist/services/slice/calibration-store.js +8 -2
- package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
- package/dist/services/slice/cross-pass-edge-merger.js +13 -63
- package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
- package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
- package/dist/services/slice/granularity-decider.js +2 -2
- package/dist/services/slice/slice-archive-service.js +8 -3
- package/dist/services/slice/slice-check-service.js +19 -8
- package/dist/services/slice/slice-decompose-runners.js +61 -23
- package/dist/services/slice/slice-decompose-service.js +4 -4
- package/dist/services/slice/slice-review-state.js +8 -2
- package/dist/services/smoke/smoke-paths-state.js +9 -2
- package/dist/services/sop/gate-enforce-service.js +9 -2
- package/dist/services/sop/sop-advance-service.js +14 -2
- package/dist/services/sop/sop-check-service.js +16 -4
- package/dist/services/sop/sop-paths.js +3 -1
- package/dist/services/sop/sop-registry-service.js +5 -1
- package/dist/services/sop/sop-service.js +29 -7
- package/dist/services/sop/sop-types.js +5 -1
- package/dist/services/standards/ide-aware-standards-service.js +2 -2
- package/dist/services/standards/loop-engineering-lint.js +12 -5
- package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
- package/dist/services/standards/migrate-claude-rules-service.js +9 -7
- package/dist/services/standards/missing-standards-detector.js +1 -3
- package/dist/services/standards/project-context-support.d.ts +50 -0
- package/dist/services/standards/project-context-support.js +244 -0
- package/dist/services/standards/project-context-types.d.ts +30 -0
- package/dist/services/standards/project-context-types.js +11 -0
- package/dist/services/standards/project-context.d.ts +10 -22
- package/dist/services/standards/project-context.js +27 -214
- package/dist/services/standards/project-standards-service.js +43 -12
- package/dist/services/standards/standards-render-common.d.ts +15 -0
- package/dist/services/standards/standards-render-common.js +49 -0
- package/dist/services/standards/standards-render.d.ts +1 -2
- package/dist/services/standards/standards-render.js +31 -58
- package/dist/services/standards/ui-library-dispatch-block.js +1 -1
- package/dist/services/tech/tech-change-id-service.js +7 -7
- package/dist/services/tech/tech-service.js +73 -26
- package/dist/services/test-cache/test-cache-service.js +8 -3
- package/dist/services/upgrade/1x-detector-service.js +5 -3
- package/dist/services/upgrade/gitignore-migrate-service.js +5 -5
- package/dist/services/upgrade/upgrade-service.js +36 -13
- package/dist/services/verdict/envelope-parsers.d.ts +84 -0
- package/dist/services/verdict/envelope-parsers.js +146 -0
- package/dist/services/verdict/envelopes.d.ts +50 -60
- package/dist/services/verdict/envelopes.js +18 -156
- package/dist/services/verdict/verdict-aggregator.js +27 -3
- package/dist/services/vm/vm-lease.js +15 -3
- package/dist/services/web/aria-node.d.ts +27 -0
- package/dist/services/web/aria-node.js +1 -0
- package/dist/services/web/browser-acquire.js +3 -1
- package/dist/services/web/browser-cache-probe.d.ts +18 -0
- package/dist/services/web/browser-cache-probe.js +110 -0
- package/dist/services/web/browser-session-manager.js +6 -2
- package/dist/services/web/daemon-registry.js +4 -1
- package/dist/services/web/playwright-loader.d.ts +2 -70
- package/dist/services/web/playwright-types.d.ts +75 -0
- package/dist/services/web/playwright-types.js +1 -0
- package/dist/services/web/snapshot-pruner.d.ts +2 -23
- package/dist/services/web/snapshot-pruner.js +8 -3
- package/dist/services/web/web-daemon-service.js +1 -3
- package/dist/services/web/web-install-service.d.ts +3 -32
- package/dist/services/web/web-install-service.js +21 -100
- package/dist/services/web/web-install-types.d.ts +31 -0
- package/dist/services/web/web-install-types.js +13 -0
- package/dist/services/web/web-login-profile.js +7 -5
- package/dist/services/web/web-protocol.js +3 -1
- package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
- package/dist/services/workflow/pipeline-verify-service.js +17 -6
- package/dist/services/workflow/plan-reader.js +5 -1
- package/dist/services/workflow/plan-refresher.js +20 -6
- package/dist/services/workflow/plan-trigger-detector.js +31 -8
- package/dist/services/workflow/provision-dispatch-node.js +8 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
- package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
- package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
- package/dist/services/workflow/workflow-autonomous-service.js +25 -13
- package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
- package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
- package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
- package/dist/services/workflow/workflow-graph-store.js +30 -107
- package/dist/services/workflow/workflow-graph-types.js +3 -3
- package/dist/services/workflow/workflow-inflight-probe.js +14 -7
- package/dist/services/workflow/workflow-loader.js +5 -1
- package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
- package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
- package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
- package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
- package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
- package/dist/services/workflow/workflow-router-service.js +169 -27
- package/dist/services/workflow/workflow-skip-service.js +14 -4
- package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
- package/dist/services/workflow/workflow-spec-builders.js +121 -0
- package/dist/services/workflow/workflow-spec.d.ts +7 -6
- package/dist/services/workflow/workflow-spec.js +22 -116
- package/dist/services/workflow/workflow-state-store.js +2 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
- package/dist/services/workspace/migrate-service.js +66 -16
- package/dist/services/workspace/reconcile-migrate.js +6 -2
- package/dist/services/workspace/reconcile-service.js +37 -16
- package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
- package/dist/services/workspace/workspace-clean-service.js +4 -1
- package/dist/services/workspace/workspace-service.js +11 -3
- package/dist/services/workspace/workspace-state-service.js +1 -1
- package/dist/services/worktree/git-worktree-parser.js +13 -3
- package/dist/services/worktree/host-worktree-reconciler.js +8 -4
- package/dist/services/worktree/long-path-cleanup.js +23 -6
- package/dist/services/worktree/worktree-gc-guard.js +3 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
- package/dist/services/worktree/worktree-lease-types.js +10 -0
- package/dist/services/worktree/worktree-lease.d.ts +2 -44
- package/dist/shared/array-guards.d.ts +30 -0
- package/dist/shared/array-guards.js +32 -0
- package/dist/shared/format-md-compact-internals.d.ts +26 -0
- package/dist/shared/format-md-compact-internals.js +125 -0
- package/dist/shared/format-md-compact.js +1 -117
- package/dist/shared/fs-utils.js +2 -1
- package/dist/shared/incrementing-number.js +3 -3
- package/dist/shared/json-parse.d.ts +71 -0
- package/dist/shared/json-parse.js +32 -0
- package/dist/shared/json-schema-mini.js +3 -1
- package/dist/shared/path-safety.js +3 -1
- package/dist/shared/path-utils.d.ts +20 -0
- package/dist/shared/path-utils.js +26 -0
- package/dist/shared/planner-response.js +3 -3
- package/dist/shared/stale-policy.js +1 -3
- package/dist/skills/peaks-maker/index.js +11 -11
- package/package.json +32 -9
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +305 -125
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +26 -10
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +1 -1
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +6 -1
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/periodic-checkpoint.md +7 -5
- package/skills/peaks-code/references/startup-sequence.md +1 -1
- package/skills/peaks-final-review/SKILL.md +1 -1
- /package/{docs → contracts}/test-style-contract.md +0 -0
|
@@ -3,7 +3,18 @@ import { join } from 'node:path';
|
|
|
3
3
|
const CODEGRAPH_PROCESS_TIMEOUT_MS = 600_000;
|
|
4
4
|
const CODEGRAPH_OUTPUT_LIMIT_BYTES = 10 * 1024 * 1024;
|
|
5
5
|
function createCodegraphEnvironment(sourceEnv = process.env) {
|
|
6
|
-
const preservedKeys = [
|
|
6
|
+
const preservedKeys = [
|
|
7
|
+
'PATH',
|
|
8
|
+
'Path',
|
|
9
|
+
'HOME',
|
|
10
|
+
'USERPROFILE',
|
|
11
|
+
'APPDATA',
|
|
12
|
+
'LOCALAPPDATA',
|
|
13
|
+
'TEMP',
|
|
14
|
+
'TMP',
|
|
15
|
+
'SystemRoot',
|
|
16
|
+
'WINDIR'
|
|
17
|
+
];
|
|
7
18
|
const environment = {};
|
|
8
19
|
for (const key of preservedKeys) {
|
|
9
20
|
const value = sourceEnv[key];
|
|
@@ -9,7 +9,15 @@ const CODEGRAPH_PACKAGE_VERSION = '0.7.10';
|
|
|
9
9
|
const CODEGRAPH_EXECUTABLE = process.execPath;
|
|
10
10
|
const CODEGRAPH_BINARY_PATH = resolveCodegraphBinaryPath();
|
|
11
11
|
const POSITIONAL_ARGUMENT_PREFIX = '-';
|
|
12
|
-
const ALLOWED_SUBCOMMANDS = [
|
|
12
|
+
const ALLOWED_SUBCOMMANDS = [
|
|
13
|
+
'status',
|
|
14
|
+
'init',
|
|
15
|
+
'index',
|
|
16
|
+
'query',
|
|
17
|
+
'files',
|
|
18
|
+
'context',
|
|
19
|
+
'affected'
|
|
20
|
+
];
|
|
13
21
|
const NUMERIC_FLAG_NAMES = ['limit', 'maxDepth'];
|
|
14
22
|
const COMMON_OPTION_KEYS = ['subcommand', 'project'];
|
|
15
23
|
const ALLOWED_OPTIONS_BY_SUBCOMMAND = {
|
|
@@ -43,7 +43,8 @@ function readLatestUsageRow(projectRoot, sessionId) {
|
|
|
43
43
|
return null;
|
|
44
44
|
return JSON.parse(last);
|
|
45
45
|
}
|
|
46
|
-
catch {
|
|
46
|
+
catch {
|
|
47
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
47
48
|
return null;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -1,66 +1,6 @@
|
|
|
1
1
|
import { type Phase, type Severity } from './decision-tables.js';
|
|
2
|
-
|
|
3
|
-
export type WindowKind = '200k' | '1m';
|
|
4
|
-
export interface SuggestOptions {
|
|
5
|
-
readonly projectRoot: string;
|
|
6
|
-
readonly sessionId: string | null;
|
|
7
|
-
readonly env?: NodeJS.ProcessEnv;
|
|
8
|
-
}
|
|
9
|
-
export interface SuggestResult {
|
|
10
|
-
readonly shouldSuggest: boolean;
|
|
11
|
-
readonly reason: string;
|
|
12
|
-
readonly ratio: number;
|
|
13
|
-
readonly windowKind: WindowKind;
|
|
14
|
-
readonly tokensUsed: number;
|
|
15
|
-
readonly toolCalls: number;
|
|
16
|
-
readonly thresholds: {
|
|
17
|
-
readonly contextTokens: number;
|
|
18
|
-
readonly contextInterval: number;
|
|
19
|
-
readonly toolCalls: number;
|
|
20
|
-
};
|
|
21
|
-
readonly dataUnavailable: boolean;
|
|
22
|
-
readonly source: 'usage-jsonl' | 'env-vars' | 'none';
|
|
23
|
-
}
|
|
24
|
-
/** Default tool-call threshold before first suggestion. */
|
|
25
|
-
export declare const DEFAULT_TOOL_CALL_THRESHOLD = 50;
|
|
26
|
-
/** Default additional tool calls before the suggestion repeats. */
|
|
27
|
-
export declare const TOOL_CALL_REMIND_STEP = 25;
|
|
28
|
-
/** Default context-size threshold on a 200k window. */
|
|
29
|
-
export declare const DEFAULT_CONTEXT_THRESHOLD_200K = 160000;
|
|
30
|
-
/** Default context-size threshold on a 1M window. */
|
|
31
|
-
export declare const DEFAULT_CONTEXT_THRESHOLD_1M = 250000;
|
|
32
|
-
/** Default re-remind interval for context size. */
|
|
33
|
-
export declare const DEFAULT_CONTEXT_INTERVAL = 60000;
|
|
2
|
+
import { type SuggestOptions, type SuggestResult, type DryRunOptions, type DryRunResult } from './suggest-types.js';
|
|
34
3
|
export declare function suggestCompact(options: SuggestOptions): SuggestResult;
|
|
35
|
-
/**
|
|
36
|
-
* `peaks compact dry-run` envelope — composed of (a) suggest, (b)
|
|
37
|
-
* recommend, (c) survival. Pure composition over the helpers; no
|
|
38
|
-
* additional I/O. The CLI emits this so the LLM can decide in one
|
|
39
|
-
* tool-call whether to act.
|
|
40
|
-
*/
|
|
41
|
-
export interface DryRunOptions {
|
|
42
|
-
readonly projectRoot: string;
|
|
43
|
-
readonly sessionId: string | null;
|
|
44
|
-
readonly from?: Phase;
|
|
45
|
-
readonly to?: Phase;
|
|
46
|
-
readonly env?: NodeJS.ProcessEnv;
|
|
47
|
-
}
|
|
48
|
-
export interface DryRunResult {
|
|
49
|
-
readonly action: 'compact' | 'skip';
|
|
50
|
-
readonly suggest: SuggestResult;
|
|
51
|
-
readonly recommend: {
|
|
52
|
-
readonly from: Phase | null;
|
|
53
|
-
readonly to: Phase | null;
|
|
54
|
-
readonly shouldCompact: boolean;
|
|
55
|
-
readonly severity: Severity | null;
|
|
56
|
-
readonly rationale: string | null;
|
|
57
|
-
readonly suggestedMessage: string | null;
|
|
58
|
-
};
|
|
59
|
-
readonly survival: {
|
|
60
|
-
readonly persists: readonly string[];
|
|
61
|
-
readonly lost: readonly string[];
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
4
|
export declare function dryRunCompact(options: DryRunOptions): DryRunResult;
|
|
65
5
|
export declare function buildRecommendEnvelopePure(from: Phase, to: Phase): {
|
|
66
6
|
from: Phase;
|
|
@@ -72,3 +12,5 @@ export declare function buildRecommendEnvelopePure(from: Phase, to: Phase): {
|
|
|
72
12
|
};
|
|
73
13
|
export { PHASE_TRANSITIONS, lookupPhaseTransition, buildSuggestedCompactMessage, PHASES, isPhase, SURVIVAL_TABLE } from './decision-tables.js';
|
|
74
14
|
export type { Phase, Severity } from './decision-tables.js';
|
|
15
|
+
export { DEFAULT_TOOL_CALL_THRESHOLD, TOOL_CALL_REMIND_STEP, DEFAULT_CONTEXT_THRESHOLD_200K, DEFAULT_CONTEXT_THRESHOLD_1M, DEFAULT_CONTEXT_INTERVAL } from './suggest-types.js';
|
|
16
|
+
export type { WindowKind, SuggestOptions, SuggestResult, DryRunOptions, DryRunResult } from './suggest-types.js';
|
|
@@ -25,19 +25,10 @@
|
|
|
25
25
|
import { existsSync, readFileSync } from 'node:fs';
|
|
26
26
|
import { join } from 'node:path';
|
|
27
27
|
import { lookupPhaseTransition, buildSuggestedCompactMessage, SURVIVAL_TABLE } from './decision-tables.js';
|
|
28
|
+
import { DEFAULT_TOOL_CALL_THRESHOLD, DEFAULT_CONTEXT_THRESHOLD_200K, DEFAULT_CONTEXT_THRESHOLD_1M, DEFAULT_CONTEXT_INTERVAL } from './suggest-types.js';
|
|
28
29
|
/** Snapshot of the survival table for the dry-run envelope. */
|
|
29
30
|
const SURVIVAL_TABLE_PERSISTS = SURVIVAL_TABLE.persists;
|
|
30
31
|
const SURVIVAL_TABLE_LOST = SURVIVAL_TABLE.lost;
|
|
31
|
-
/** Default tool-call threshold before first suggestion. */
|
|
32
|
-
export const DEFAULT_TOOL_CALL_THRESHOLD = 50;
|
|
33
|
-
/** Default additional tool calls before the suggestion repeats. */
|
|
34
|
-
export const TOOL_CALL_REMIND_STEP = 25;
|
|
35
|
-
/** Default context-size threshold on a 200k window. */
|
|
36
|
-
export const DEFAULT_CONTEXT_THRESHOLD_200K = 160_000;
|
|
37
|
-
/** Default context-size threshold on a 1M window. */
|
|
38
|
-
export const DEFAULT_CONTEXT_THRESHOLD_1M = 250_000;
|
|
39
|
-
/** Default re-remind interval for context size. */
|
|
40
|
-
export const DEFAULT_CONTEXT_INTERVAL = 60_000;
|
|
41
32
|
function readLatestUsageRow(projectRoot, sessionId) {
|
|
42
33
|
const path = join(projectRoot, '.peaks', '_runtime', sessionId, 'usage.jsonl');
|
|
43
34
|
if (!existsSync(path))
|
|
@@ -52,7 +43,8 @@ function readLatestUsageRow(projectRoot, sessionId) {
|
|
|
52
43
|
return null;
|
|
53
44
|
return JSON.parse(last);
|
|
54
45
|
}
|
|
55
|
-
catch {
|
|
46
|
+
catch {
|
|
47
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
56
48
|
return null;
|
|
57
49
|
}
|
|
58
50
|
}
|
|
@@ -118,7 +110,9 @@ export function suggestCompact(options) {
|
|
|
118
110
|
const windowCapacity = windowKind === '1m' ? 1_000_000 : 200_000;
|
|
119
111
|
const effectiveContextThreshold = contextThreshold > 0
|
|
120
112
|
? contextThreshold
|
|
121
|
-
:
|
|
113
|
+
: windowKind === '1m'
|
|
114
|
+
? DEFAULT_CONTEXT_THRESHOLD_1M
|
|
115
|
+
: DEFAULT_CONTEXT_THRESHOLD_200K;
|
|
122
116
|
const ratio = windowCapacity > 0 ? tokensUsed / windowCapacity : 0;
|
|
123
117
|
const dataUnavailable = tokensUsed === 0 && toolCalls === 0;
|
|
124
118
|
// Two-signal suggestion. The context signal is primary: the LLM
|
|
@@ -201,3 +195,6 @@ export function buildRecommendEnvelopePure(from, to) {
|
|
|
201
195
|
// to keep the validation path co-located with the recommend envelope
|
|
202
196
|
// builder.
|
|
203
197
|
export { PHASE_TRANSITIONS, lookupPhaseTransition, buildSuggestedCompactMessage, PHASES, isPhase, SURVIVAL_TABLE } from './decision-tables.js';
|
|
198
|
+
// The public types and default thresholds live in suggest-types.ts; they are
|
|
199
|
+
// re-exported here so importers keep using this same path.
|
|
200
|
+
export { DEFAULT_TOOL_CALL_THRESHOLD, TOOL_CALL_REMIND_STEP, DEFAULT_CONTEXT_THRESHOLD_200K, DEFAULT_CONTEXT_THRESHOLD_1M, DEFAULT_CONTEXT_INTERVAL } from './suggest-types.js';
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/compact/suggest-types.ts`
|
|
3
|
+
*
|
|
4
|
+
* Type declarations and default-threshold constants extracted verbatim
|
|
5
|
+
* from `suggest-service.ts` (wave 2, file-size cap campaign) so the
|
|
6
|
+
* service stays under the 300 raw-line cap. Mechanical move only —
|
|
7
|
+
* `suggest-service.ts` re-exports every public name from this module.
|
|
8
|
+
*/
|
|
9
|
+
import type { Phase, Severity } from './decision-tables.js';
|
|
10
|
+
/** Token window sizes supported by the suggest service. */
|
|
11
|
+
export type WindowKind = '200k' | '1m';
|
|
12
|
+
export interface SuggestOptions {
|
|
13
|
+
readonly projectRoot: string;
|
|
14
|
+
readonly sessionId: string | null;
|
|
15
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
16
|
+
}
|
|
17
|
+
export interface SuggestResult {
|
|
18
|
+
readonly shouldSuggest: boolean;
|
|
19
|
+
readonly reason: string;
|
|
20
|
+
readonly ratio: number;
|
|
21
|
+
readonly windowKind: WindowKind;
|
|
22
|
+
readonly tokensUsed: number;
|
|
23
|
+
readonly toolCalls: number;
|
|
24
|
+
readonly thresholds: {
|
|
25
|
+
readonly contextTokens: number;
|
|
26
|
+
readonly contextInterval: number;
|
|
27
|
+
readonly toolCalls: number;
|
|
28
|
+
};
|
|
29
|
+
readonly dataUnavailable: boolean;
|
|
30
|
+
readonly source: 'usage-jsonl' | 'env-vars' | 'none';
|
|
31
|
+
}
|
|
32
|
+
/** Default tool-call threshold before first suggestion. */
|
|
33
|
+
export declare const DEFAULT_TOOL_CALL_THRESHOLD = 50;
|
|
34
|
+
/** Default additional tool calls before the suggestion repeats. */
|
|
35
|
+
export declare const TOOL_CALL_REMIND_STEP = 25;
|
|
36
|
+
/** Default context-size threshold on a 200k window. */
|
|
37
|
+
export declare const DEFAULT_CONTEXT_THRESHOLD_200K = 160000;
|
|
38
|
+
/** Default context-size threshold on a 1M window. */
|
|
39
|
+
export declare const DEFAULT_CONTEXT_THRESHOLD_1M = 250000;
|
|
40
|
+
/** Default re-remind interval for context size. */
|
|
41
|
+
export declare const DEFAULT_CONTEXT_INTERVAL = 60000;
|
|
42
|
+
export interface UsageRow {
|
|
43
|
+
ts?: string;
|
|
44
|
+
tokens?: number;
|
|
45
|
+
toolCalls?: number;
|
|
46
|
+
modelKind?: '200k' | '1m';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* `peaks compact dry-run` envelope — composed of (a) suggest, (b)
|
|
50
|
+
* recommend, (c) survival. Pure composition over the helpers; no
|
|
51
|
+
* additional I/O. The CLI emits this so the LLM can decide in one
|
|
52
|
+
* tool-call whether to act.
|
|
53
|
+
*/
|
|
54
|
+
export interface DryRunOptions {
|
|
55
|
+
readonly projectRoot: string;
|
|
56
|
+
readonly sessionId: string | null;
|
|
57
|
+
readonly from?: Phase;
|
|
58
|
+
readonly to?: Phase;
|
|
59
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
60
|
+
}
|
|
61
|
+
export interface DryRunResult {
|
|
62
|
+
readonly action: 'compact' | 'skip';
|
|
63
|
+
readonly suggest: SuggestResult;
|
|
64
|
+
readonly recommend: {
|
|
65
|
+
readonly from: Phase | null;
|
|
66
|
+
readonly to: Phase | null;
|
|
67
|
+
readonly shouldCompact: boolean;
|
|
68
|
+
readonly severity: Severity | null;
|
|
69
|
+
readonly rationale: string | null;
|
|
70
|
+
readonly suggestedMessage: string | null;
|
|
71
|
+
};
|
|
72
|
+
readonly survival: {
|
|
73
|
+
readonly persists: readonly string[];
|
|
74
|
+
readonly lost: readonly string[];
|
|
75
|
+
};
|
|
76
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Default tool-call threshold before first suggestion. */
|
|
2
|
+
export const DEFAULT_TOOL_CALL_THRESHOLD = 50;
|
|
3
|
+
/** Default additional tool calls before the suggestion repeats. */
|
|
4
|
+
export const TOOL_CALL_REMIND_STEP = 25;
|
|
5
|
+
/** Default context-size threshold on a 200k window. */
|
|
6
|
+
export const DEFAULT_CONTEXT_THRESHOLD_200K = 160_000;
|
|
7
|
+
/** Default context-size threshold on a 1M window. */
|
|
8
|
+
export const DEFAULT_CONTEXT_THRESHOLD_1M = 250_000;
|
|
9
|
+
/** Default re-remind interval for context size. */
|
|
10
|
+
export const DEFAULT_CONTEXT_INTERVAL = 60_000;
|
|
@@ -96,7 +96,7 @@ export function summarizeCompactHistory(events) {
|
|
|
96
96
|
lastBeforeRatio: null,
|
|
97
97
|
lastRedLine: false,
|
|
98
98
|
redLineCount: 0,
|
|
99
|
-
failedCount: 0
|
|
99
|
+
failedCount: 0
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
102
|
const last = events[events.length - 1];
|
|
@@ -106,6 +106,6 @@ export function summarizeCompactHistory(events) {
|
|
|
106
106
|
lastBeforeRatio: last.beforeRatio,
|
|
107
107
|
lastRedLine: last.redLine,
|
|
108
108
|
redLineCount: events.filter((e) => e.redLine).length,
|
|
109
|
-
failedCount: events.filter((e) => !e.ok).length
|
|
109
|
+
failedCount: events.filter((e) => !e.ok).length
|
|
110
110
|
};
|
|
111
111
|
}
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Slice 2026-09-12-compact-band-policy: a compact trigger was
|
|
4
|
-
* REGISTERED but no compaction has started — e.g. claude-code's
|
|
5
|
-
* `ide-native` pathway only installs the PreToolUse hook, which
|
|
6
|
-
* compacts in-band at ratio ≥ 0.95. In the 0.80–0.95 band nothing
|
|
7
|
-
* is in flight, so claiming `compacting` was a false heartbeat.
|
|
8
|
-
*/
|
|
9
|
-
| 'armed' | 'verifying' | 'completed' | 'failed';
|
|
10
|
-
export interface CompactLifecycleRecord {
|
|
11
|
-
readonly schemaVersion: 1;
|
|
12
|
-
readonly runId: string;
|
|
13
|
-
readonly stage: CompactLifecycleStage;
|
|
14
|
-
readonly updatedAt: string;
|
|
15
|
-
readonly triggerRatio: number;
|
|
16
|
-
readonly afterRatio?: number;
|
|
17
|
-
readonly redLine: boolean;
|
|
18
|
-
readonly failedAt?: Exclude<CompactLifecycleStage, 'failed' | 'completed'>;
|
|
19
|
-
readonly errorSummary?: string;
|
|
20
|
-
}
|
|
21
|
-
export type CompactLifecycleRead = {
|
|
22
|
-
readonly kind: 'missing';
|
|
23
|
-
} | {
|
|
24
|
-
readonly kind: 'valid';
|
|
25
|
-
readonly record: CompactLifecycleRecord;
|
|
26
|
-
} | {
|
|
27
|
-
readonly kind: 'invalid';
|
|
28
|
-
readonly reason: string;
|
|
29
|
-
} | {
|
|
30
|
-
readonly kind: 'stalled';
|
|
31
|
-
readonly record: CompactLifecycleRecord;
|
|
32
|
-
};
|
|
1
|
+
import type { CompactLifecycleRead, CompactLifecycleRecord, CompactLifecycleStage } from './compact-lifecycle-types.js';
|
|
2
|
+
export type { CompactLifecycleRead, CompactLifecycleRecord, CompactLifecycleStage };
|
|
33
3
|
/**
|
|
34
4
|
* Atomically write a compact lifecycle record. Uses a temp file in
|
|
35
5
|
* the same directory plus `renameSync`, so a crash mid-write never
|
|
@@ -40,12 +40,7 @@ const ERROR_SUMMARY_MAX = 160;
|
|
|
40
40
|
* `armed` is deliberately NOT here — see the header. It is a resting
|
|
41
41
|
* state, not a heartbeat.
|
|
42
42
|
*/
|
|
43
|
-
const ACTIVE_STAGES = [
|
|
44
|
-
'queued',
|
|
45
|
-
'preparing',
|
|
46
|
-
'compacting',
|
|
47
|
-
'verifying',
|
|
48
|
-
];
|
|
43
|
+
const ACTIVE_STAGES = ['queued', 'preparing', 'compacting', 'verifying'];
|
|
49
44
|
const ALL_STAGES = [
|
|
50
45
|
'queued',
|
|
51
46
|
'preparing',
|
|
@@ -53,7 +48,7 @@ const ALL_STAGES = [
|
|
|
53
48
|
'armed',
|
|
54
49
|
'verifying',
|
|
55
50
|
'completed',
|
|
56
|
-
'failed'
|
|
51
|
+
'failed'
|
|
57
52
|
];
|
|
58
53
|
function lifecyclePath(projectRoot, sessionId) {
|
|
59
54
|
return join(getSessionDir(projectRoot, sessionId), LIFECYCLE_FILENAME);
|
|
@@ -114,7 +109,7 @@ function coerceRecord(raw) {
|
|
|
114
109
|
redLine: raw['redLine'],
|
|
115
110
|
failedAt: failedAt,
|
|
116
111
|
...(raw['afterRatio'] !== undefined ? { afterRatio: raw['afterRatio'] } : {}),
|
|
117
|
-
...(errorSummary !== undefined ? { errorSummary: errorSummary } : {})
|
|
112
|
+
...(errorSummary !== undefined ? { errorSummary: errorSummary } : {})
|
|
118
113
|
};
|
|
119
114
|
}
|
|
120
115
|
// Non-failed records must NOT carry a failedAt or errorSummary.
|
|
@@ -131,7 +126,7 @@ function coerceRecord(raw) {
|
|
|
131
126
|
updatedAt: raw['updatedAt'],
|
|
132
127
|
triggerRatio: raw['triggerRatio'],
|
|
133
128
|
redLine: raw['redLine'],
|
|
134
|
-
...(raw['afterRatio'] !== undefined ? { afterRatio: raw['afterRatio'] } : {})
|
|
129
|
+
...(raw['afterRatio'] !== undefined ? { afterRatio: raw['afterRatio'] } : {})
|
|
135
130
|
};
|
|
136
131
|
}
|
|
137
132
|
function clampErrorSummary(value) {
|
|
@@ -163,7 +158,7 @@ export function writeCompactLifecycle(input) {
|
|
|
163
158
|
// (Re-coercing also catches cases where the caller bypassed TypeScript.)
|
|
164
159
|
const validated = coerceRecord({
|
|
165
160
|
...input.record,
|
|
166
|
-
errorSummary: clampErrorSummary(input.record.errorSummary)
|
|
161
|
+
errorSummary: clampErrorSummary(input.record.errorSummary)
|
|
167
162
|
});
|
|
168
163
|
const tmp = `${path}.tmp-${process.pid}-${Date.now()}`;
|
|
169
164
|
try {
|
|
@@ -210,7 +205,7 @@ export function readCompactLifecycle(input) {
|
|
|
210
205
|
catch (error) {
|
|
211
206
|
return {
|
|
212
207
|
kind: 'invalid',
|
|
213
|
-
reason: `compact-lifecycle: unable to read record file: ${error.message}
|
|
208
|
+
reason: `compact-lifecycle: unable to read record file: ${error.message}`
|
|
214
209
|
};
|
|
215
210
|
}
|
|
216
211
|
let parsed;
|
|
@@ -220,7 +215,7 @@ export function readCompactLifecycle(input) {
|
|
|
220
215
|
catch (error) {
|
|
221
216
|
return {
|
|
222
217
|
kind: 'invalid',
|
|
223
|
-
reason: `compact-lifecycle: malformed JSON (${error.message})
|
|
218
|
+
reason: `compact-lifecycle: malformed JSON (${error.message})`
|
|
224
219
|
};
|
|
225
220
|
}
|
|
226
221
|
let record;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type CompactLifecycleStage = 'queued' | 'preparing' | 'compacting'
|
|
2
|
+
/**
|
|
3
|
+
* Slice 2026-09-12-compact-band-policy: a compact trigger was
|
|
4
|
+
* REGISTERED but no compaction has started — e.g. claude-code's
|
|
5
|
+
* `ide-native` pathway only installs the PreToolUse hook, which
|
|
6
|
+
* compacts in-band at ratio ≥ 0.95. In the 0.80–0.95 band nothing
|
|
7
|
+
* is in flight, so claiming `compacting` was a false heartbeat.
|
|
8
|
+
*/
|
|
9
|
+
| 'armed' | 'verifying' | 'completed' | 'failed';
|
|
10
|
+
export interface CompactLifecycleRecord {
|
|
11
|
+
readonly schemaVersion: 1;
|
|
12
|
+
readonly runId: string;
|
|
13
|
+
readonly stage: CompactLifecycleStage;
|
|
14
|
+
readonly updatedAt: string;
|
|
15
|
+
readonly triggerRatio: number;
|
|
16
|
+
readonly afterRatio?: number;
|
|
17
|
+
readonly redLine: boolean;
|
|
18
|
+
readonly failedAt?: Exclude<CompactLifecycleStage, 'failed' | 'completed'>;
|
|
19
|
+
readonly errorSummary?: string;
|
|
20
|
+
}
|
|
21
|
+
export type CompactLifecycleRead = {
|
|
22
|
+
readonly kind: 'missing';
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: 'valid';
|
|
25
|
+
readonly record: CompactLifecycleRecord;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: 'invalid';
|
|
28
|
+
readonly reason: string;
|
|
29
|
+
} | {
|
|
30
|
+
readonly kind: 'stalled';
|
|
31
|
+
readonly record: CompactLifecycleRecord;
|
|
32
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// src/services/compact-statusline/compact-lifecycle-types.ts
|
|
2
|
+
//
|
|
3
|
+
// The record shape for the runtime compact-lifecycle store
|
|
4
|
+
// (`compact-lifecycle-store.ts`), split out to keep the store under the
|
|
5
|
+
// 300-raw-line file cap. Types only — no behaviour lives here. The store
|
|
6
|
+
// re-exports every name below, so importers keep using
|
|
7
|
+
// `compact-lifecycle-store.js` unchanged.
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { CompactLifecycleStage } from './compact-lifecycle-store.js';
|
|
2
|
+
export type CompactDisplayKind = 'none' | 'queued' | 'preparing' | 'compacting' | 'verifying' | 'completed' | 'failed' | 'stalled' | 'invalid' | 'armed';
|
|
3
|
+
export interface CompactStatuslineState {
|
|
4
|
+
readonly kind: CompactDisplayKind;
|
|
5
|
+
readonly filledCells: 0 | 2 | 4 | 6 | 8;
|
|
6
|
+
readonly triggerRatio?: number;
|
|
7
|
+
readonly afterRatio?: number;
|
|
8
|
+
readonly redLine?: boolean;
|
|
9
|
+
readonly failedAt?: CompactLifecycleStage;
|
|
10
|
+
readonly detail?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Concrete first-version stale timeout. Adjustable after real timing
|
|
14
|
+
* evidence from the auto-compact orchestrator (it currently writes a
|
|
15
|
+
* heartbeat on every state transition; 120 s is the longest realistic
|
|
16
|
+
* gap between a heartbeat and an actual stall).
|
|
17
|
+
*/
|
|
18
|
+
export declare const DEFAULT_STALE_AFTER_MS = 120000;
|
|
19
|
+
/**
|
|
20
|
+
* 10-second completed-window expiry. The brief (Task 6 design requirement)
|
|
21
|
+
* calls out: once a compact lifecycle reaches `completed`, the primary
|
|
22
|
+
* statusline should surface the success indicator for at most 10 seconds,
|
|
23
|
+
* then fall back to the C1 baseline so the consumer (the IDE) does not
|
|
24
|
+
* keep a green ✓ pinned on the status bar indefinitely. The narrow window
|
|
25
|
+
* is sufficient for the human to see "we just compacted" and long enough
|
|
26
|
+
* to not flap on subsequent reads. Adjustable after real timing feedback.
|
|
27
|
+
*/
|
|
28
|
+
export declare const COMPLETED_EXPIRY_MS = 10000;
|
|
29
|
+
/**
|
|
30
|
+
* How recently the last history row must itself have been written for the
|
|
31
|
+
* legacy path to report it as "just compacted". Measured against the row's own
|
|
32
|
+
* `ts` — the fact — rather than the file's mtime, which is only a proxy for it
|
|
33
|
+
* and is also moved by rows that record no compaction (repair R9).
|
|
34
|
+
*/
|
|
35
|
+
export declare const LEGACY_JUST_COMPACTED_WINDOW_MS = 30000;
|
|
36
|
+
export declare const STAGE_CELL_COMPACTING = 4;
|
|
37
|
+
export declare const STAGE_CELL_VERIFYING = 6;
|
|
38
|
+
export declare const STAGE_CELL_COMPLETED = 8;
|
|
39
|
+
export declare const CELL_BY_STAGE: ReadonlyMap<CompactLifecycleStage, 0 | 2 | 4 | 6 | 8>;
|
|
40
|
+
export declare const NO_AFTER_RATIO_HINT = "after-ratio not recorded";
|
|
41
|
+
export declare function renderBar(filledCells: 0 | 2 | 4 | 6 | 8): string;
|
|
42
|
+
export declare function renderLegacyBar(filledCells: 0 | 2 | 4 | 6 | 8): string;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// src/services/compact-statusline/compact-statusline-cell-table.ts
|
|
2
|
+
//
|
|
3
|
+
// Wave-5 class-A hoist (rid 2026-10-01-wave5-w5-3-compact-release): the
|
|
4
|
+
// display-state types, timing windows, and frozen cell-table render
|
|
5
|
+
// primitives moved VERBATIM out of `compact-statusline-service.ts` (:51-135
|
|
6
|
+
// at the split) for the 300-raw-line cap. The
|
|
7
|
+
// `/* eslint-disable no-magic-numbers */ ... /* eslint-enable */` pair is
|
|
8
|
+
// relocated WHOLE with the region it suppresses — no chunk arrives here
|
|
9
|
+
// without its suppression. The parent re-exports `CompactDisplayKind`,
|
|
10
|
+
// `CompactStatuslineState` and `COMPLETED_EXPIRY_MS` so existing import
|
|
11
|
+
// paths keep working.
|
|
12
|
+
/**
|
|
13
|
+
* Concrete first-version stale timeout. Adjustable after real timing
|
|
14
|
+
* evidence from the auto-compact orchestrator (it currently writes a
|
|
15
|
+
* heartbeat on every state transition; 120 s is the longest realistic
|
|
16
|
+
* gap between a heartbeat and an actual stall).
|
|
17
|
+
*/
|
|
18
|
+
export const DEFAULT_STALE_AFTER_MS = 120_000;
|
|
19
|
+
/**
|
|
20
|
+
* 10-second completed-window expiry. The brief (Task 6 design requirement)
|
|
21
|
+
* calls out: once a compact lifecycle reaches `completed`, the primary
|
|
22
|
+
* statusline should surface the success indicator for at most 10 seconds,
|
|
23
|
+
* then fall back to the C1 baseline so the consumer (the IDE) does not
|
|
24
|
+
* keep a green ✓ pinned on the status bar indefinitely. The narrow window
|
|
25
|
+
* is sufficient for the human to see "we just compacted" and long enough
|
|
26
|
+
* to not flap on subsequent reads. Adjustable after real timing feedback.
|
|
27
|
+
*/
|
|
28
|
+
export const COMPLETED_EXPIRY_MS = 10_000;
|
|
29
|
+
/**
|
|
30
|
+
* How recently the last history row must itself have been written for the
|
|
31
|
+
* legacy path to report it as "just compacted". Measured against the row's own
|
|
32
|
+
* `ts` — the fact — rather than the file's mtime, which is only a proxy for it
|
|
33
|
+
* and is also moved by rows that record no compaction (repair R9).
|
|
34
|
+
*/
|
|
35
|
+
export const LEGACY_JUST_COMPACTED_WINDOW_MS = 30_000;
|
|
36
|
+
// PRD-002b slice 2 — extract cell-table magic numbers (4/6/8) into named
|
|
37
|
+
// consts so the no-magic-numbers lint rule stops flagging the typed
|
|
38
|
+
// literal-union cell-table values. Values match the documented contract.
|
|
39
|
+
export const STAGE_CELL_COMPACTING = 4;
|
|
40
|
+
export const STAGE_CELL_VERIFYING = 6;
|
|
41
|
+
export const STAGE_CELL_COMPLETED = 8;
|
|
42
|
+
/* eslint-disable no-magic-numbers -- cell-table contract uses literal-type unions (`0 | 2 | 4 | 6 | 8`); these are type-position discriminators, not runtime values. Magic-number extraction is done at the runtime call sites via STAGE_CELL_* constants above. */
|
|
43
|
+
export const CELL_BY_STAGE = new Map([
|
|
44
|
+
['queued', 0],
|
|
45
|
+
['preparing', 2],
|
|
46
|
+
['compacting', STAGE_CELL_COMPACTING],
|
|
47
|
+
['verifying', STAGE_CELL_VERIFYING],
|
|
48
|
+
['completed', STAGE_CELL_COMPLETED],
|
|
49
|
+
['failed', STAGE_CELL_COMPACTING]
|
|
50
|
+
// `armed` is not in the cell table: it renders WITHOUT a bar (see
|
|
51
|
+
// renderCompactStatusline). Lookups therefore miss and fall back to 0.
|
|
52
|
+
]);
|
|
53
|
+
const FILLED = '█';
|
|
54
|
+
const EMPTY = '░';
|
|
55
|
+
const BAR_WIDTH = STAGE_CELL_COMPLETED;
|
|
56
|
+
export const NO_AFTER_RATIO_HINT = 'after-ratio not recorded';
|
|
57
|
+
export function renderBar(filledCells) {
|
|
58
|
+
return `[${FILLED.repeat(filledCells)}${EMPTY.repeat(BAR_WIDTH - filledCells)}]`;
|
|
59
|
+
}
|
|
60
|
+
export function renderLegacyBar(filledCells) {
|
|
61
|
+
return renderBar(filledCells);
|
|
62
|
+
}
|
|
63
|
+
/* eslint-enable no-magic-numbers */
|
|
@@ -1,24 +1,7 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export type CompactDisplayKind
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
readonly filledCells: 0 | 2 | 4 | 6 | 8;
|
|
6
|
-
readonly triggerRatio?: number;
|
|
7
|
-
readonly afterRatio?: number;
|
|
8
|
-
readonly redLine?: boolean;
|
|
9
|
-
readonly failedAt?: CompactLifecycleStage;
|
|
10
|
-
readonly detail?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* 10-second completed-window expiry. The brief (Task 6 design requirement)
|
|
14
|
-
* calls out: once a compact lifecycle reaches `completed`, the primary
|
|
15
|
-
* statusline should surface the success indicator for at most 10 seconds,
|
|
16
|
-
* then fall back to the C1 baseline so the consumer (the IDE) does not
|
|
17
|
-
* keep a green ✓ pinned on the status bar indefinitely. The narrow window
|
|
18
|
-
* is sufficient for the human to see "we just compacted" and long enough
|
|
19
|
-
* to not flap on subsequent reads. Adjustable after real timing feedback.
|
|
20
|
-
*/
|
|
21
|
-
export declare const COMPLETED_EXPIRY_MS = 10000;
|
|
1
|
+
import { type CompactStatuslineState } from './compact-statusline-cell-table.js';
|
|
2
|
+
export type { CompactDisplayKind } from './compact-statusline-cell-table.js';
|
|
3
|
+
export type { CompactStatuslineState } from './compact-statusline-cell-table.js';
|
|
4
|
+
export { COMPLETED_EXPIRY_MS } from './compact-statusline-cell-table.js';
|
|
22
5
|
export declare function decideCompactStatusline(input: {
|
|
23
6
|
readonly projectRoot: string;
|
|
24
7
|
readonly sessionId: string | null;
|