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
|
@@ -6,79 +6,4 @@
|
|
|
6
6
|
// from here, and the top-level `index.ts` re-exports them for back-compat
|
|
7
7
|
// with downstream callers (CLI commands, audit writers, presence service).
|
|
8
8
|
// ---------------------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
* Canonical memory-kind vocabulary — the single source of truth.
|
|
11
|
-
*
|
|
12
|
-
* The union type, the accepted-kind set in the frontmatter parser, the
|
|
13
|
-
* hot/warm tier map below, `KIND_ORDER` in the reindex view, and the CLI
|
|
14
|
-
* `--kind` help text all derive from this tuple. Adding a kind here is the
|
|
15
|
-
* only edit required; TypeScript then forces `MEMORY_KIND_TIER` to cover it.
|
|
16
|
-
*
|
|
17
|
-
* Slice 2026-09-10-memory-vocab-and-rotate (E): the original 8 kinds are
|
|
18
|
-
* unchanged. The 13 appended kinds were observed on disk with real values
|
|
19
|
-
* that the index schema rejected (`peaks memory reindex` reported them as
|
|
20
|
-
* `unrecognized kind value`). Accepting them moves those files into the
|
|
21
|
-
* index; files with no kind field at all stay reported as unclassified.
|
|
22
|
-
*/
|
|
23
|
-
export const PROJECT_MEMORY_KINDS = [
|
|
24
|
-
// Original 8 (pre-2026-09-10).
|
|
25
|
-
'project',
|
|
26
|
-
'rule',
|
|
27
|
-
'decision',
|
|
28
|
-
'reference',
|
|
29
|
-
'feedback',
|
|
30
|
-
'convention',
|
|
31
|
-
'module',
|
|
32
|
-
'lesson',
|
|
33
|
-
// Slice E expansion — observed on-disk values, hot tier.
|
|
34
|
-
'bug',
|
|
35
|
-
'investigation',
|
|
36
|
-
'technical-pattern',
|
|
37
|
-
'project-rule',
|
|
38
|
-
// Slice E expansion — observed on-disk values, warm tier.
|
|
39
|
-
'design',
|
|
40
|
-
'handoff',
|
|
41
|
-
'session-handoff',
|
|
42
|
-
'project-todo',
|
|
43
|
-
'publish-closure',
|
|
44
|
-
'project-closure',
|
|
45
|
-
'slice-closure',
|
|
46
|
-
'slice-pilot-findings',
|
|
47
|
-
'sediment'
|
|
48
|
-
];
|
|
49
|
-
/**
|
|
50
|
-
* Hot/warm tier per kind. Insertion order IS the deterministic section order
|
|
51
|
-
* used by the generated `MEMORY.md` (`KIND_ORDER` in `index/reindex.ts`),
|
|
52
|
-
* so this object's key order is load-bearing — append new kinds at the end
|
|
53
|
-
* of their tier block rather than reshuffling existing entries.
|
|
54
|
-
*
|
|
55
|
-
* The `Record<ProjectMemoryKind, MemoryKindTier>` annotation makes a missing
|
|
56
|
-
* tier a compile error whenever `PROJECT_MEMORY_KINDS` grows.
|
|
57
|
-
*/
|
|
58
|
-
export const MEMORY_KIND_TIER = {
|
|
59
|
-
// hot — full body kept in the index
|
|
60
|
-
feedback: 'hot',
|
|
61
|
-
decision: 'hot',
|
|
62
|
-
rule: 'hot',
|
|
63
|
-
convention: 'hot',
|
|
64
|
-
module: 'hot',
|
|
65
|
-
lesson: 'hot',
|
|
66
|
-
bug: 'hot',
|
|
67
|
-
investigation: 'hot',
|
|
68
|
-
'technical-pattern': 'hot',
|
|
69
|
-
'project-rule': 'hot',
|
|
70
|
-
// warm — same entry shape, read on demand
|
|
71
|
-
project: 'warm',
|
|
72
|
-
reference: 'warm',
|
|
73
|
-
design: 'warm',
|
|
74
|
-
handoff: 'warm',
|
|
75
|
-
'session-handoff': 'warm',
|
|
76
|
-
'project-todo': 'warm',
|
|
77
|
-
'publish-closure': 'warm',
|
|
78
|
-
'project-closure': 'warm',
|
|
79
|
-
'slice-closure': 'warm',
|
|
80
|
-
'slice-pilot-findings': 'warm',
|
|
81
|
-
sediment: 'warm'
|
|
82
|
-
};
|
|
83
|
-
export const HOT_MEMORY_KINDS = PROJECT_MEMORY_KINDS.filter((kind) => MEMORY_KIND_TIER[kind] === 'hot');
|
|
84
|
-
export const WARM_MEMORY_KINDS = PROJECT_MEMORY_KINDS.filter((kind) => MEMORY_KIND_TIER[kind] === 'warm');
|
|
9
|
+
export { HOT_MEMORY_KINDS, MEMORY_KIND_TIER, PROJECT_MEMORY_KINDS, WARM_MEMORY_KINDS } from './memory-kinds.js';
|
|
@@ -60,7 +60,8 @@ export async function requireUserConfirmation(options) {
|
|
|
60
60
|
// For assisted/strict, env var is ignored unless --force-confirm is also set
|
|
61
61
|
if (process.env.PEAKS_AUTO_CONFIRM === '1') {
|
|
62
62
|
if (options.forceConfirm) {
|
|
63
|
-
console.error(
|
|
63
|
+
console.error(
|
|
64
|
+
// TODO(g2): legacy console.error without envelope — grace: 1 minor release (v2.14.0)
|
|
64
65
|
`[WARNING] --force-confirm used in ${mode} mode. ` +
|
|
65
66
|
'This bypasses user confirmation. Use with caution.');
|
|
66
67
|
return;
|
|
@@ -69,7 +70,8 @@ export async function requireUserConfirmation(options) {
|
|
|
69
70
|
}
|
|
70
71
|
// --force-confirm without env var
|
|
71
72
|
if (options.forceConfirm) {
|
|
72
|
-
console.error(
|
|
73
|
+
console.error(
|
|
74
|
+
// TODO(g2): legacy console.error without envelope — grace: 1 minor release (v2.14.0)
|
|
73
75
|
`[WARNING] --force-confirm used in ${mode} mode. ` +
|
|
74
76
|
'This bypasses user confirmation. Use with caution.');
|
|
75
77
|
return;
|
|
@@ -59,16 +59,34 @@ export interface ModeStatus {
|
|
|
59
59
|
*/
|
|
60
60
|
export declare function resolvePresenceMode(projectRoot: string): ResolvedPresenceMode;
|
|
61
61
|
/**
|
|
62
|
-
* Resolve the auto-compact profile
|
|
63
|
-
*
|
|
64
|
-
* long-run sessions); every other mode → `standard`.
|
|
62
|
+
* Resolve the auto-compact profile: `partial` (earlier thresholds for
|
|
63
|
+
* long-run sessions) or `standard`.
|
|
65
64
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* T3/T4 auto-engage) selected
|
|
70
|
-
*
|
|
71
|
-
*
|
|
65
|
+
* Two sources answer "is this a 24h long run?", and EITHER is enough:
|
|
66
|
+
*
|
|
67
|
+
* 1. the PRESENCE MODE is `24h` — the autonomy level the user (or
|
|
68
|
+
* the T3/T4 auto-engage) selected; or
|
|
69
|
+
* 2. the 24h STATE MACHINE is engaged (`24H_ACTIVE` /
|
|
70
|
+
* `WAITING_USER`) — the durable, session-scoped record.
|
|
71
|
+
*
|
|
72
|
+
* Why both (slice H3, rid=h3-24h-threshold-not-wired): source 1 alone
|
|
73
|
+
* is not reliable. The mode lives on a per-caller, per-workflow
|
|
74
|
+
* presence lease, and `applyAutoEngagePresenceMode` can only stamp
|
|
75
|
+
* leases that are already in flight — entering `24H_ACTIVE` with no
|
|
76
|
+
* in-flight lease fails closed as `{ applied: false, reason:
|
|
77
|
+
* 'no-in-flight-lease' }`. A fresh lease is also written without a
|
|
78
|
+
* mode (`workflow-presence-lifecycle.initWorkflow`), so a successful
|
|
79
|
+
* stamp does not survive the next skill workflow either. The observed
|
|
80
|
+
* consequence was a `24H_ACTIVE` session resolving to `standard` and
|
|
81
|
+
* auto-compacting LATER than a plain session, the opposite of the
|
|
82
|
+
* documented contract.
|
|
83
|
+
*
|
|
84
|
+
* The union is a superset of both the pre-2026-09-09 mapping (state
|
|
85
|
+
* machine) and the 2026-09-09-mode-consolidation mapping (presence
|
|
86
|
+
* mode): keep partial while the mode says `24h` even in
|
|
87
|
+
* `WAITING_USER`, and keep it when only the state machine knows.
|
|
88
|
+
* Nothing that resolved to `partial` before resolves to `standard`
|
|
89
|
+
* now; a project with no 24h run is byte-identical to before.
|
|
72
90
|
*/
|
|
73
91
|
export declare function resolveAutoCompactProfile(projectRoot: string): AutoCompactMode;
|
|
74
92
|
/**
|
|
@@ -46,19 +46,65 @@ export function resolvePresenceMode(projectRoot) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
* state machine. `24h` mode → `partial` (earlier thresholds for
|
|
51
|
-
* long-run sessions); every other mode → `standard`.
|
|
49
|
+
* The 24h state-machine states in which the long run is ENGAGED.
|
|
52
50
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
* `24H_ACTIVE` is the run itself; `WAITING_USER` is a pause *inside*
|
|
52
|
+
* it (the run is still on — the user just has to answer). `BRAINSTORM`
|
|
53
|
+
* / `USER_CONFIRM` precede the run, `HANDOFF` ends it, `IDLE` means it
|
|
54
|
+
* never started.
|
|
55
|
+
*/
|
|
56
|
+
const ENGAGED_24H_STATES = new Set(['24H_ACTIVE', 'WAITING_USER']);
|
|
57
|
+
/**
|
|
58
|
+
* Fail-soft read of the bound session's 24h state machine: `true` when
|
|
59
|
+
* the long run is engaged. Every degradation (no session, missing or
|
|
60
|
+
* malformed snapshot) reads as `false` so a non-24h project is
|
|
61
|
+
* untouched by this signal.
|
|
62
|
+
*/
|
|
63
|
+
function is24hRunEngaged(projectRoot) {
|
|
64
|
+
try {
|
|
65
|
+
const sessionId = getCurrentSessionId(projectRoot);
|
|
66
|
+
if (sessionId === null)
|
|
67
|
+
return false;
|
|
68
|
+
return ENGAGED_24H_STATES.has(read24hState(projectRoot, sessionId).state);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Resolve the auto-compact profile: `partial` (earlier thresholds for
|
|
76
|
+
* long-run sessions) or `standard`.
|
|
77
|
+
*
|
|
78
|
+
* Two sources answer "is this a 24h long run?", and EITHER is enough:
|
|
79
|
+
*
|
|
80
|
+
* 1. the PRESENCE MODE is `24h` — the autonomy level the user (or
|
|
81
|
+
* the T3/T4 auto-engage) selected; or
|
|
82
|
+
* 2. the 24h STATE MACHINE is engaged (`24H_ACTIVE` /
|
|
83
|
+
* `WAITING_USER`) — the durable, session-scoped record.
|
|
84
|
+
*
|
|
85
|
+
* Why both (slice H3, rid=h3-24h-threshold-not-wired): source 1 alone
|
|
86
|
+
* is not reliable. The mode lives on a per-caller, per-workflow
|
|
87
|
+
* presence lease, and `applyAutoEngagePresenceMode` can only stamp
|
|
88
|
+
* leases that are already in flight — entering `24H_ACTIVE` with no
|
|
89
|
+
* in-flight lease fails closed as `{ applied: false, reason:
|
|
90
|
+
* 'no-in-flight-lease' }`. A fresh lease is also written without a
|
|
91
|
+
* mode (`workflow-presence-lifecycle.initWorkflow`), so a successful
|
|
92
|
+
* stamp does not survive the next skill workflow either. The observed
|
|
93
|
+
* consequence was a `24H_ACTIVE` session resolving to `standard` and
|
|
94
|
+
* auto-compacting LATER than a plain session, the opposite of the
|
|
95
|
+
* documented contract.
|
|
96
|
+
*
|
|
97
|
+
* The union is a superset of both the pre-2026-09-09 mapping (state
|
|
98
|
+
* machine) and the 2026-09-09-mode-consolidation mapping (presence
|
|
99
|
+
* mode): keep partial while the mode says `24h` even in
|
|
100
|
+
* `WAITING_USER`, and keep it when only the state machine knows.
|
|
101
|
+
* Nothing that resolved to `partial` before resolves to `standard`
|
|
102
|
+
* now; a project with no 24h run is byte-identical to before.
|
|
59
103
|
*/
|
|
60
104
|
export function resolveAutoCompactProfile(projectRoot) {
|
|
61
|
-
|
|
105
|
+
if (resolvePresenceMode(projectRoot).mode === '24h')
|
|
106
|
+
return 'partial';
|
|
107
|
+
return is24hRunEngaged(projectRoot) ? 'partial' : 'standard';
|
|
62
108
|
}
|
|
63
109
|
/**
|
|
64
110
|
* Assemble the full stacked status. `sessionId` defaults to the
|
|
@@ -95,6 +141,12 @@ export function resolveModeStatus(input) {
|
|
|
95
141
|
jobMode = false;
|
|
96
142
|
}
|
|
97
143
|
}
|
|
144
|
+
// Delegate rather than re-derive `is24h ? 'partial' : 'standard'`: the
|
|
145
|
+
// profile has a second source (the 24h state machine), and a local
|
|
146
|
+
// copy of the old one-source rule would make `peaks code mode status`
|
|
147
|
+
// advertise a different profile than the one `peaks code
|
|
148
|
+
// auto-compact` actually applies.
|
|
149
|
+
const autoCompactProfile = resolveAutoCompactProfile(projectRoot);
|
|
98
150
|
return {
|
|
99
151
|
mode: presence.mode,
|
|
100
152
|
skill: presence.skill,
|
|
@@ -102,7 +154,7 @@ export function resolveModeStatus(input) {
|
|
|
102
154
|
is24h,
|
|
103
155
|
h24State,
|
|
104
156
|
jobMode,
|
|
105
|
-
autoCompactProfile
|
|
106
|
-
autoCompactThresholds: AUTO_COMPACT_THRESHOLDS[
|
|
157
|
+
autoCompactProfile,
|
|
158
|
+
autoCompactThresholds: AUTO_COMPACT_THRESHOLDS[autoCompactProfile]
|
|
107
159
|
};
|
|
108
160
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/observability/aggregation-helpers.ts`
|
|
3
|
+
*
|
|
4
|
+
* The event-detail readers the aggregations in `aggregation.ts` are built on
|
|
5
|
+
* (category test, `detail` field extraction, timestamp difference), the
|
|
6
|
+
* per-slice repair-cycle count, and the two event-source helpers the CLI
|
|
7
|
+
* calls. Moved verbatim (wave 3, file-size cap campaign) so the aggregation
|
|
8
|
+
* module stays under the 300 raw-line cap. The first four were module-private
|
|
9
|
+
* before the move and are NOT re-exported from `aggregation.ts`; the two
|
|
10
|
+
* event-source helpers were public and are re-exported there, so that
|
|
11
|
+
* module's public surface is unchanged.
|
|
12
|
+
*/
|
|
13
|
+
import { type ObservabilityEvent } from './observability-service.js';
|
|
14
|
+
export declare function isSliceTransition(event: ObservabilityEvent): event is ObservabilityEvent & {
|
|
15
|
+
sliceRid: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function artifactRole(event: ObservabilityEvent): string;
|
|
18
|
+
export declare function transitionTo(event: ObservabilityEvent): string | null;
|
|
19
|
+
export declare function durationMsBetween(firstTs: string, lastTs: string): number;
|
|
20
|
+
export declare function computeRepairCyclesBySlice(events: readonly ObservabilityEvent[]): Map<string, number>;
|
|
21
|
+
export declare function readAllSessionEvents(projectRoot: string): ObservabilityEvent[];
|
|
22
|
+
export declare function readSessionEvents(projectRoot: string, sessionId: string): ObservabilityEvent[];
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/observability/aggregation-helpers.ts`
|
|
3
|
+
*
|
|
4
|
+
* The event-detail readers the aggregations in `aggregation.ts` are built on
|
|
5
|
+
* (category test, `detail` field extraction, timestamp difference), the
|
|
6
|
+
* per-slice repair-cycle count, and the two event-source helpers the CLI
|
|
7
|
+
* calls. Moved verbatim (wave 3, file-size cap campaign) so the aggregation
|
|
8
|
+
* module stays under the 300 raw-line cap. The first four were module-private
|
|
9
|
+
* before the move and are NOT re-exported from `aggregation.ts`; the two
|
|
10
|
+
* event-source helpers were public and are re-exported there, so that
|
|
11
|
+
* module's public surface is unchanged.
|
|
12
|
+
*/
|
|
13
|
+
import { readObservabilityEvents } from './observability-service.js';
|
|
14
|
+
import { listSessionDirsWithMetrics } from './jsonl-store.js';
|
|
15
|
+
export function isSliceTransition(event) {
|
|
16
|
+
return event.category === 'slice-transition' && typeof event.sliceRid === 'string';
|
|
17
|
+
}
|
|
18
|
+
export function artifactRole(event) {
|
|
19
|
+
const detail = event.detail;
|
|
20
|
+
return typeof detail.artifactRole === 'string' ? detail.artifactRole : '';
|
|
21
|
+
}
|
|
22
|
+
export function transitionTo(event) {
|
|
23
|
+
const detail = event.detail;
|
|
24
|
+
return typeof detail.to === 'string' ? detail.to : null;
|
|
25
|
+
}
|
|
26
|
+
export function durationMsBetween(firstTs, lastTs) {
|
|
27
|
+
const a = new Date(firstTs).getTime();
|
|
28
|
+
const b = new Date(lastTs).getTime();
|
|
29
|
+
if (!Number.isFinite(a) || !Number.isFinite(b)) {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
return Math.max(0, b - a);
|
|
33
|
+
}
|
|
34
|
+
export function computeRepairCyclesBySlice(events) {
|
|
35
|
+
// Repair cycle = each rd → qa transition within one slice (proxy for the
|
|
36
|
+
// RD→QA→RD loop). For each slice we count qa transitions that follow an
|
|
37
|
+
// rd transition. Multiple qa transitions on the same slice are capped by
|
|
38
|
+
// REPAIR_CYCLE_CAP at the report level — the per-slice count here is the
|
|
39
|
+
// raw observation count.
|
|
40
|
+
const cyclesBySlice = new Map();
|
|
41
|
+
for (const event of events) {
|
|
42
|
+
if (!isSliceTransition(event))
|
|
43
|
+
continue;
|
|
44
|
+
const rid = event.sliceRid;
|
|
45
|
+
const role = artifactRole(event);
|
|
46
|
+
if (role === 'qa') {
|
|
47
|
+
cyclesBySlice.set(rid, (cyclesBySlice.get(rid) ?? 0) + 1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return cyclesBySlice;
|
|
51
|
+
}
|
|
52
|
+
export function readAllSessionEvents(projectRoot) {
|
|
53
|
+
const sessions = listSessionDirsWithMetrics(projectRoot);
|
|
54
|
+
const all = [];
|
|
55
|
+
for (const { sessionId } of sessions) {
|
|
56
|
+
for (const event of readObservabilityEvents(projectRoot, sessionId)) {
|
|
57
|
+
all.push(event);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
all.sort((a, b) => a.ts.localeCompare(b.ts));
|
|
61
|
+
return all;
|
|
62
|
+
}
|
|
63
|
+
export function readSessionEvents(projectRoot, sessionId) {
|
|
64
|
+
return readObservabilityEvents(projectRoot, sessionId);
|
|
65
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/observability/aggregation-types.ts`
|
|
3
|
+
*
|
|
4
|
+
* The result shapes of the read-side aggregations over observability events
|
|
5
|
+
* (`aggregation.ts`), plus the data they are built from: the slice lifecycle
|
|
6
|
+
* terminal states, the RD/QA repair-loop cap, and the zeroed fan-out row.
|
|
7
|
+
* Extracted verbatim (wave 3, file-size cap campaign) so the aggregation
|
|
8
|
+
* module stays under the 300 raw-line cap — no aggregation logic lives here.
|
|
9
|
+
* `aggregation.ts` imports and re-exports every PUBLIC name below, so
|
|
10
|
+
* importers keep resolving them from `aggregation.js` unchanged; the
|
|
11
|
+
* module-private constants are imported for use and stay unexported there.
|
|
12
|
+
*/
|
|
13
|
+
import type { ObservabilitySubagentRole } from './observability-service.js';
|
|
14
|
+
export type StatusAggregate = {
|
|
15
|
+
totalEvents: number;
|
|
16
|
+
totalSlices: number;
|
|
17
|
+
successCount: number;
|
|
18
|
+
failCount: number;
|
|
19
|
+
repairCyclePeak: number;
|
|
20
|
+
fanoutCostTotal: number;
|
|
21
|
+
};
|
|
22
|
+
export type SliceRollup = {
|
|
23
|
+
sliceRid: string;
|
|
24
|
+
transitions: number;
|
|
25
|
+
firstTs: string | null;
|
|
26
|
+
lastTs: string | null;
|
|
27
|
+
durationMs: number | null;
|
|
28
|
+
finalState: string | null;
|
|
29
|
+
fanoutCount: number;
|
|
30
|
+
repairCycleCount: number;
|
|
31
|
+
success: boolean;
|
|
32
|
+
};
|
|
33
|
+
export type FanoutBreakdown = {
|
|
34
|
+
total: number;
|
|
35
|
+
perRole: Record<ObservabilitySubagentRole, number>;
|
|
36
|
+
};
|
|
37
|
+
export type RepairCycleReport = {
|
|
38
|
+
totalCycles: number;
|
|
39
|
+
cap: number;
|
|
40
|
+
capHit: boolean;
|
|
41
|
+
capHitCount: number;
|
|
42
|
+
perSlice: Array<{
|
|
43
|
+
sliceRid: string;
|
|
44
|
+
cycleCount: number;
|
|
45
|
+
}>;
|
|
46
|
+
};
|
|
47
|
+
export declare const TERMINAL_HAPPY_STATES: ReadonlySet<string>;
|
|
48
|
+
export declare const TERMINAL_FAIL_STATES: ReadonlySet<string>;
|
|
49
|
+
/** RD/QA repair-loop cap (matches the peaks-code repair-loop contract). */
|
|
50
|
+
export declare const REPAIR_CYCLE_CAP = 3;
|
|
51
|
+
export declare const ZERO_FANOUT: Record<ObservabilitySubagentRole, number>;
|
|
52
|
+
export type Period = 'day' | 'week' | 'month';
|
|
53
|
+
/**
|
|
54
|
+
* Cumulative 5-metric surface for the `peaks dashboard summary` CLI.
|
|
55
|
+
* All values are derived from raw observability events (per-event
|
|
56
|
+
* counting), not from state files — semantics differ from
|
|
57
|
+
* `peaks dashboard long-run`, which derives indicators from
|
|
58
|
+
* `.peaks/_runtime/<sid>/24h-state.json`.
|
|
59
|
+
*/
|
|
60
|
+
export type DashboardMetrics = {
|
|
61
|
+
readonly cycleCount: number;
|
|
62
|
+
readonly tokenCount: number;
|
|
63
|
+
readonly dispatchCount: number;
|
|
64
|
+
readonly compactCount: number;
|
|
65
|
+
readonly monotonicTriggerCount: number;
|
|
66
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/services/observability/aggregation-types.ts`
|
|
3
|
+
*
|
|
4
|
+
* The result shapes of the read-side aggregations over observability events
|
|
5
|
+
* (`aggregation.ts`), plus the data they are built from: the slice lifecycle
|
|
6
|
+
* terminal states, the RD/QA repair-loop cap, and the zeroed fan-out row.
|
|
7
|
+
* Extracted verbatim (wave 3, file-size cap campaign) so the aggregation
|
|
8
|
+
* module stays under the 300 raw-line cap — no aggregation logic lives here.
|
|
9
|
+
* `aggregation.ts` imports and re-exports every PUBLIC name below, so
|
|
10
|
+
* importers keep resolving them from `aggregation.js` unchanged; the
|
|
11
|
+
* module-private constants are imported for use and stay unexported there.
|
|
12
|
+
*/
|
|
13
|
+
// Slice lifecycle terminal states. Anything not listed is in-flight
|
|
14
|
+
// (draft / spec-locked / implemented / qa-handoff / running).
|
|
15
|
+
export const TERMINAL_HAPPY_STATES = new Set([
|
|
16
|
+
'handed-off',
|
|
17
|
+
'verdict-issued',
|
|
18
|
+
'impact-recorded',
|
|
19
|
+
'boundary-recorded'
|
|
20
|
+
]);
|
|
21
|
+
export const TERMINAL_FAIL_STATES = new Set(['blocked']);
|
|
22
|
+
/** RD/QA repair-loop cap (matches the peaks-code repair-loop contract). */
|
|
23
|
+
export const REPAIR_CYCLE_CAP = 3;
|
|
24
|
+
// v2.12.0 fan-out collapse: see OBSERVABILITY_SUBAGENT_ROLES for the
|
|
25
|
+
// rationale on why `security-reviewer` was dropped and `peaks-security-audit`
|
|
26
|
+
// + `peaks-perf-audit` were added.
|
|
27
|
+
export const ZERO_FANOUT = {
|
|
28
|
+
rd: 0,
|
|
29
|
+
qa: 0,
|
|
30
|
+
'code-reviewer': 0,
|
|
31
|
+
'karpathy-reviewer': 0,
|
|
32
|
+
'peaks-security-audit': 0,
|
|
33
|
+
'peaks-perf-audit': 0
|
|
34
|
+
};
|
|
@@ -17,65 +17,17 @@
|
|
|
17
17
|
* are emitted from the `peaks request transition` hook. Slice B
|
|
18
18
|
* builds the read-side surface so Slice C is purely additive.
|
|
19
19
|
*/
|
|
20
|
-
import { type ObservabilityEvent
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
failCount: number;
|
|
26
|
-
repairCyclePeak: number;
|
|
27
|
-
fanoutCostTotal: number;
|
|
28
|
-
};
|
|
29
|
-
export type SliceRollup = {
|
|
30
|
-
sliceRid: string;
|
|
31
|
-
transitions: number;
|
|
32
|
-
firstTs: string | null;
|
|
33
|
-
lastTs: string | null;
|
|
34
|
-
durationMs: number | null;
|
|
35
|
-
finalState: string | null;
|
|
36
|
-
fanoutCount: number;
|
|
37
|
-
repairCycleCount: number;
|
|
38
|
-
success: boolean;
|
|
39
|
-
};
|
|
40
|
-
export type FanoutBreakdown = {
|
|
41
|
-
total: number;
|
|
42
|
-
perRole: Record<ObservabilitySubagentRole, number>;
|
|
43
|
-
};
|
|
44
|
-
export type RepairCycleReport = {
|
|
45
|
-
totalCycles: number;
|
|
46
|
-
cap: number;
|
|
47
|
-
capHit: boolean;
|
|
48
|
-
capHitCount: number;
|
|
49
|
-
perSlice: Array<{
|
|
50
|
-
sliceRid: string;
|
|
51
|
-
cycleCount: number;
|
|
52
|
-
}>;
|
|
53
|
-
};
|
|
54
|
-
/** RD/QA repair-loop cap (matches the peaks-code repair-loop contract). */
|
|
55
|
-
export declare const REPAIR_CYCLE_CAP = 3;
|
|
20
|
+
import { type ObservabilityEvent } from './observability-service.js';
|
|
21
|
+
import { type DashboardMetrics, type FanoutBreakdown, type Period, type RepairCycleReport, type SliceRollup, type StatusAggregate } from './aggregation-types.js';
|
|
22
|
+
export { REPAIR_CYCLE_CAP } from './aggregation-types.js';
|
|
23
|
+
export { readAllSessionEvents, readSessionEvents } from './aggregation-helpers.js';
|
|
24
|
+
export type { DashboardMetrics, FanoutBreakdown, Period, RepairCycleReport, SliceRollup, StatusAggregate } from './aggregation-types.js';
|
|
56
25
|
export declare function aggregateStatus(events: readonly ObservabilityEvent[]): StatusAggregate;
|
|
57
26
|
export declare function aggregateSlices(events: readonly ObservabilityEvent[]): SliceRollup[];
|
|
58
27
|
export declare function aggregateFanout(events: readonly ObservabilityEvent[]): FanoutBreakdown;
|
|
59
28
|
export declare function aggregateRepairCycles(events: readonly ObservabilityEvent[]): RepairCycleReport;
|
|
60
|
-
export type Period = 'day' | 'week' | 'month';
|
|
61
29
|
export declare function periodStartIso(period: Period, now?: () => Date): string;
|
|
62
30
|
export declare function filterByPeriod(events: readonly ObservabilityEvent[], period: Period, now?: () => Date): ObservabilityEvent[];
|
|
63
|
-
export declare function readAllSessionEvents(projectRoot: string): ObservabilityEvent[];
|
|
64
|
-
export declare function readSessionEvents(projectRoot: string, sessionId: string): ObservabilityEvent[];
|
|
65
|
-
/**
|
|
66
|
-
* Cumulative 5-metric surface for the `peaks dashboard summary` CLI.
|
|
67
|
-
* All values are derived from raw observability events (per-event
|
|
68
|
-
* counting), not from state files — semantics differ from
|
|
69
|
-
* `peaks dashboard long-run`, which derives indicators from
|
|
70
|
-
* `.peaks/_runtime/<sid>/24h-state.json`.
|
|
71
|
-
*/
|
|
72
|
-
export type DashboardMetrics = {
|
|
73
|
-
readonly cycleCount: number;
|
|
74
|
-
readonly tokenCount: number;
|
|
75
|
-
readonly dispatchCount: number;
|
|
76
|
-
readonly compactCount: number;
|
|
77
|
-
readonly monotonicTriggerCount: number;
|
|
78
|
-
};
|
|
79
31
|
/**
|
|
80
32
|
* Aggregate the 5 dashboard metric classes for a single session, filtered
|
|
81
33
|
* to events with `ts >= since`. Events with unparseable timestamps are
|
|
@@ -18,49 +18,17 @@
|
|
|
18
18
|
* builds the read-side surface so Slice C is purely additive.
|
|
19
19
|
*/
|
|
20
20
|
import { readObservabilityEvents } from './observability-service.js';
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export const REPAIR_CYCLE_CAP = 3;
|
|
33
|
-
// v2.12.0 fan-out collapse: see OBSERVABILITY_SUBAGENT_ROLES for the
|
|
34
|
-
// rationale on why `security-reviewer` was dropped and `peaks-security-audit`
|
|
35
|
-
// + `peaks-perf-audit` were added.
|
|
36
|
-
const ZERO_FANOUT = {
|
|
37
|
-
'rd': 0,
|
|
38
|
-
'qa': 0,
|
|
39
|
-
'code-reviewer': 0,
|
|
40
|
-
'karpathy-reviewer': 0,
|
|
41
|
-
'peaks-security-audit': 0,
|
|
42
|
-
'peaks-perf-audit': 0
|
|
43
|
-
};
|
|
44
|
-
// ----- internal helpers -----
|
|
45
|
-
function isSliceTransition(event) {
|
|
46
|
-
return event.category === 'slice-transition' && typeof event.sliceRid === 'string';
|
|
47
|
-
}
|
|
48
|
-
function artifactRole(event) {
|
|
49
|
-
const detail = event.detail;
|
|
50
|
-
return typeof detail.artifactRole === 'string' ? detail.artifactRole : '';
|
|
51
|
-
}
|
|
52
|
-
function transitionTo(event) {
|
|
53
|
-
const detail = event.detail;
|
|
54
|
-
return typeof detail.to === 'string' ? detail.to : null;
|
|
55
|
-
}
|
|
56
|
-
function durationMsBetween(firstTs, lastTs) {
|
|
57
|
-
const a = new Date(firstTs).getTime();
|
|
58
|
-
const b = new Date(lastTs).getTime();
|
|
59
|
-
if (!Number.isFinite(a) || !Number.isFinite(b)) {
|
|
60
|
-
return 0;
|
|
61
|
-
}
|
|
62
|
-
return Math.max(0, b - a);
|
|
63
|
-
}
|
|
21
|
+
import { REPAIR_CYCLE_CAP, TERMINAL_FAIL_STATES, TERMINAL_HAPPY_STATES, ZERO_FANOUT } from './aggregation-types.js';
|
|
22
|
+
import { computeRepairCyclesBySlice, durationMsBetween, isSliceTransition, transitionTo } from './aggregation-helpers.js';
|
|
23
|
+
// The result shapes and their data (terminal states, repair-loop cap, zeroed
|
|
24
|
+
// fan-out row) live in `aggregation-types.ts`; the event-detail readers, the
|
|
25
|
+
// per-slice cycle count and the event-source helpers live in
|
|
26
|
+
// `aggregation-helpers.ts` (wave-3 file-size cap split; declarations moved
|
|
27
|
+
// verbatim). Every PUBLIC name is re-exported below so importers keep
|
|
28
|
+
// resolving it from `aggregation.js` unchanged; the module-private readers are
|
|
29
|
+
// imported for use here and not re-exported.
|
|
30
|
+
export { REPAIR_CYCLE_CAP } from './aggregation-types.js';
|
|
31
|
+
export { readAllSessionEvents, readSessionEvents } from './aggregation-helpers.js';
|
|
64
32
|
// ----- per-slice rollup (shared by status + slices queries) -----
|
|
65
33
|
function rollupSlices(events) {
|
|
66
34
|
const bySlice = new Map();
|
|
@@ -102,24 +70,6 @@ function rollupSlices(events) {
|
|
|
102
70
|
}
|
|
103
71
|
return bySlice;
|
|
104
72
|
}
|
|
105
|
-
function computeRepairCyclesBySlice(events) {
|
|
106
|
-
// Repair cycle = each rd → qa transition within one slice (proxy for the
|
|
107
|
-
// RD→QA→RD loop). For each slice we count qa transitions that follow an
|
|
108
|
-
// rd transition. Multiple qa transitions on the same slice are capped by
|
|
109
|
-
// REPAIR_CYCLE_CAP at the report level — the per-slice count here is the
|
|
110
|
-
// raw observation count.
|
|
111
|
-
const cyclesBySlice = new Map();
|
|
112
|
-
for (const event of events) {
|
|
113
|
-
if (!isSliceTransition(event))
|
|
114
|
-
continue;
|
|
115
|
-
const rid = event.sliceRid;
|
|
116
|
-
const role = artifactRole(event);
|
|
117
|
-
if (role === 'qa') {
|
|
118
|
-
cyclesBySlice.set(rid, (cyclesBySlice.get(rid) ?? 0) + 1);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return cyclesBySlice;
|
|
122
|
-
}
|
|
123
73
|
// ----- public aggregations -----
|
|
124
74
|
export function aggregateStatus(events) {
|
|
125
75
|
const bySlice = rollupSlices(events);
|
|
@@ -179,6 +129,7 @@ export function aggregateRepairCycles(events) {
|
|
|
179
129
|
perSlice
|
|
180
130
|
};
|
|
181
131
|
}
|
|
132
|
+
// ----- period rollup (AC-5 — Slice D, but helpers live here) -----
|
|
182
133
|
export function periodStartIso(period, now = () => new Date()) {
|
|
183
134
|
const d = now();
|
|
184
135
|
if (period === 'day') {
|
|
@@ -200,21 +151,7 @@ export function filterByPeriod(events, period, now) {
|
|
|
200
151
|
const start = periodStartIso(period, now);
|
|
201
152
|
return events.filter((e) => e.ts >= start);
|
|
202
153
|
}
|
|
203
|
-
// -----
|
|
204
|
-
export function readAllSessionEvents(projectRoot) {
|
|
205
|
-
const sessions = listSessionDirsWithMetrics(projectRoot);
|
|
206
|
-
const all = [];
|
|
207
|
-
for (const { sessionId } of sessions) {
|
|
208
|
-
for (const event of readObservabilityEvents(projectRoot, sessionId)) {
|
|
209
|
-
all.push(event);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
all.sort((a, b) => a.ts.localeCompare(b.ts));
|
|
213
|
-
return all;
|
|
214
|
-
}
|
|
215
|
-
export function readSessionEvents(projectRoot, sessionId) {
|
|
216
|
-
return readObservabilityEvents(projectRoot, sessionId);
|
|
217
|
-
}
|
|
154
|
+
// ----- rid-030 F-direction: 5-metric dashboard summary -----
|
|
218
155
|
/**
|
|
219
156
|
* Aggregate the 5 dashboard metric classes for a single session, filtered
|
|
220
157
|
* to events with `ts >= since`. Events with unparseable timestamps are
|
|
@@ -240,8 +177,8 @@ export function aggregateDashboardMetrics(projectRoot, sessionId, since) {
|
|
|
240
177
|
const detail = event.detail;
|
|
241
178
|
const t = typeof detail.totalTokens === 'number'
|
|
242
179
|
? detail.totalTokens
|
|
243
|
-
: (typeof detail.inputTokens === 'number' ? detail.inputTokens : 0)
|
|
244
|
-
|
|
180
|
+
: (typeof detail.inputTokens === 'number' ? detail.inputTokens : 0) +
|
|
181
|
+
(typeof detail.outputTokens === 'number' ? detail.outputTokens : 0);
|
|
245
182
|
tokenCount += t;
|
|
246
183
|
}
|
|
247
184
|
else if (event.category === 'dispatch')
|
|
@@ -274,8 +211,8 @@ export function aggregateDashboardMetricsFromEvents(events, since = null) {
|
|
|
274
211
|
const detail = event.detail;
|
|
275
212
|
const t = typeof detail.totalTokens === 'number'
|
|
276
213
|
? detail.totalTokens
|
|
277
|
-
: (typeof detail.inputTokens === 'number' ? detail.inputTokens : 0)
|
|
278
|
-
|
|
214
|
+
: (typeof detail.inputTokens === 'number' ? detail.inputTokens : 0) +
|
|
215
|
+
(typeof detail.outputTokens === 'number' ? detail.outputTokens : 0);
|
|
279
216
|
tokenCount += t;
|
|
280
217
|
}
|
|
281
218
|
else if (event.category === 'dispatch')
|