peaks-loop 4.0.54 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -0
- package/README-en.md +16 -1
- package/README.md +15 -1
- package/config/eslint/.peaks-rules.cjs +158 -13
- package/config/eslint/tsconfig.lint.json +47 -0
- package/dist/cli/cli-envelope.d.ts +114 -0
- package/dist/cli/cli-envelope.js +85 -0
- package/dist/cli/cli-helpers.d.ts +1 -1
- package/dist/cli/cli-helpers.js +8 -4
- package/dist/cli/commands/_cli-error-envelope.js +1 -1
- package/dist/cli/commands/_register.js +86 -39
- package/dist/cli/commands/_super.js +40 -7
- package/dist/cli/commands/adapter-commands-s2a.js +8 -7
- package/dist/cli/commands/adapter-commands.d.ts +2 -2
- package/dist/cli/commands/adapter-commands.js +7 -8
- package/dist/cli/commands/api-diff-commands.js +5 -4
- package/dist/cli/commands/asset-commands.d.ts +2 -2
- package/dist/cli/commands/asset-commands.js +135 -132
- package/dist/cli/commands/audit-commands.d.ts +1 -1
- package/dist/cli/commands/audit-commands.js +75 -32
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
- package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
- package/dist/cli/commands/baseline-commands.js +34 -9
- package/dist/cli/commands/bee-commands.d.ts +1 -1
- package/dist/cli/commands/bee-commands.js +18 -21
- package/dist/cli/commands/best-practice-scan-command.js +6 -34
- package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
- package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
- package/dist/cli/commands/capability-commands.d.ts +1 -1
- package/dist/cli/commands/capability-commands.js +14 -4
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
- package/dist/cli/commands/changeset-commands.js +21 -18
- package/dist/cli/commands/code-gate-command.js +9 -2
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
- package/dist/cli/commands/code-job-shape-commands.js +21 -45
- package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
- package/dist/cli/commands/code-mode-gate-commands.js +19 -199
- package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
- package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
- package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
- package/dist/cli/commands/code-review-commands.js +18 -3
- package/dist/cli/commands/code-run-command.js +44 -7
- package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
- package/dist/cli/commands/code-runtime-commands.js +105 -73
- package/dist/cli/commands/codegraph-commands.js +11 -6
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/comments-commands.d.ts +14 -0
- package/dist/cli/commands/comments-commands.js +96 -0
- package/dist/cli/commands/compact-command.js +52 -26
- package/dist/cli/commands/complexity-commands.js +6 -7
- package/dist/cli/commands/config-commands.d.ts +1 -1
- package/dist/cli/commands/config-commands.js +33 -9
- package/dist/cli/commands/container-commands.js +39 -15
- package/dist/cli/commands/context-commands.d.ts +1 -1
- package/dist/cli/commands/context-commands.js +40 -13
- package/dist/cli/commands/core/artifacts-command.js +11 -3
- package/dist/cli/commands/core/binding-commands.js +9 -6
- package/dist/cli/commands/core/doctor-command.js +7 -4
- package/dist/cli/commands/core/memory-command.js +57 -21
- package/dist/cli/commands/core/proxy-command.js +3 -1
- package/dist/cli/commands/core/session-command.js +16 -8
- package/dist/cli/commands/core/skill-command.js +32 -17
- package/dist/cli/commands/core/standards-command.js +56 -14
- package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
- package/dist/cli/commands/cron-commands-actions.js +128 -0
- package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
- package/dist/cli/commands/cron-commands-schedule.js +151 -0
- package/dist/cli/commands/cron-commands.d.ts +35 -32
- package/dist/cli/commands/cron-commands.js +167 -211
- package/dist/cli/commands/cron-scheduler-commands.js +40 -20
- package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
- package/dist/cli/commands/cron-scheduler-persist.js +171 -0
- package/dist/cli/commands/dashboard-long-run.js +45 -14
- package/dist/cli/commands/dashboard-summary.js +15 -5
- package/dist/cli/commands/dispatch-commands.js +65 -32
- package/dist/cli/commands/dispatch-from-dag.js +9 -10
- package/dist/cli/commands/doc-commands.js +8 -9
- package/dist/cli/commands/doctor/invoke-from-code.js +1 -1
- package/dist/cli/commands/e2e-verify-env.d.ts +19 -0
- package/dist/cli/commands/e2e-verify-env.js +19 -0
- package/dist/cli/commands/e2e-verify.d.ts +3 -14
- package/dist/cli/commands/e2e-verify.js +49 -29
- package/dist/cli/commands/ecc-commands.d.ts +18 -23
- package/dist/cli/commands/ecc-commands.js +39 -36
- package/dist/cli/commands/evidence-commands.js +10 -6
- package/dist/cli/commands/evolution-commands.d.ts +2 -2
- package/dist/cli/commands/evolution-commands.js +109 -115
- package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
- package/dist/cli/commands/feedback-commands-helpers.js +33 -0
- package/dist/cli/commands/feedback-commands.js +15 -38
- package/dist/cli/commands/final-review-commands.d.ts +1 -1
- package/dist/cli/commands/final-review-commands.js +24 -22
- package/dist/cli/commands/fixture-commands.d.ts +1 -1
- package/dist/cli/commands/fixture-commands.js +17 -6
- package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
- package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
- package/dist/cli/commands/fork-commands.js +19 -51
- package/dist/cli/commands/fresh-context-commands.js +3 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
- package/dist/cli/commands/gate-commands-enforce.js +210 -0
- package/dist/cli/commands/gate-commands.d.ts +1 -1
- package/dist/cli/commands/gate-commands.js +85 -205
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
- package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
- package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
- package/dist/cli/commands/heartbeat-commands-action.js +192 -0
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
- package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
- package/dist/cli/commands/heartbeat-commands.js +19 -198
- package/dist/cli/commands/hook-handle.d.ts +1 -1
- package/dist/cli/commands/hook-handle.js +46 -13
- package/dist/cli/commands/hooks-commands.d.ts +1 -1
- package/dist/cli/commands/hooks-commands.js +18 -6
- package/dist/cli/commands/ide-commands.d.ts +1 -1
- package/dist/cli/commands/ide-commands.js +5 -3
- package/dist/cli/commands/impact-commands.js +8 -2
- package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
- package/dist/cli/commands/job-add-slice-command.js +151 -0
- package/dist/cli/commands/job-commands.d.ts +64 -0
- package/dist/cli/commands/job-commands.js +134 -63
- package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
- package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
- package/dist/cli/commands/lease-metrics-commands.js +21 -61
- package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
- package/dist/cli/commands/lease-stats-commands.js +9 -6
- package/dist/cli/commands/lint-commands.d.ts +9 -3
- package/dist/cli/commands/lint-commands.js +15 -8
- package/dist/cli/commands/log-commands.d.ts +1 -1
- package/dist/cli/commands/log-commands.js +8 -6
- package/dist/cli/commands/loop-commands.d.ts +1 -1
- package/dist/cli/commands/loop-commands.js +50 -50
- package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
- package/dist/cli/commands/loop-eval-commands.js +101 -30
- package/dist/cli/commands/memory-commands.js +21 -13
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
- package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
- package/dist/cli/commands/mut-commands-helpers.js +43 -0
- package/dist/cli/commands/mut-commands.js +16 -58
- package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
- package/dist/cli/commands/observability-commands-queries.js +113 -0
- package/dist/cli/commands/observability-commands.d.ts +1 -1
- package/dist/cli/commands/observability-commands.js +7 -92
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +20 -8
- package/dist/cli/commands/outer-cache-commands.js +18 -7
- package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
- package/dist/cli/commands/perf-audit-commands.js +12 -7
- package/dist/cli/commands/perf-commands.d.ts +1 -1
- package/dist/cli/commands/perf-commands.js +5 -5
- package/dist/cli/commands/playwright-commands.d.ts +1 -1
- package/dist/cli/commands/playwright-commands.js +20 -8
- package/dist/cli/commands/polyrepo-commands.js +21 -19
- package/dist/cli/commands/prd-blocks-commands.js +1 -3
- package/dist/cli/commands/prd-commands.d.ts +1 -1
- package/dist/cli/commands/prd-commands.js +16 -6
- package/dist/cli/commands/preferences-commands.js +13 -12
- package/dist/cli/commands/primer-command.js +5 -5
- package/dist/cli/commands/project-commands.d.ts +1 -1
- package/dist/cli/commands/project-commands.js +33 -9
- package/dist/cli/commands/qa-business-review-commands.js +16 -12
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +3 -5
- package/dist/cli/commands/release-commands.d.ts +3 -1
- package/dist/cli/commands/release-commands.js +33 -22
- package/dist/cli/commands/request-commands.js +47 -30
- package/dist/cli/commands/request-format-helpers.js +1 -1
- package/dist/cli/commands/retrospective-commands.d.ts +18 -11
- package/dist/cli/commands/retrospective-commands.js +24 -173
- package/dist/cli/commands/retrospective-index-command.d.ts +26 -0
- package/dist/cli/commands/retrospective-index-command.js +99 -0
- package/dist/cli/commands/retrospective-project-root.d.ts +9 -0
- package/dist/cli/commands/retrospective-project-root.js +15 -0
- package/dist/cli/commands/retrospective-search-command.d.ts +27 -0
- package/dist/cli/commands/retrospective-search-command.js +97 -0
- package/dist/cli/commands/retrospective-show-command.d.ts +23 -0
- package/dist/cli/commands/retrospective-show-command.js +80 -0
- package/dist/cli/commands/reviewer-commands.d.ts +1 -1
- package/dist/cli/commands/role-commands.js +14 -9
- package/dist/cli/commands/runtime-commands.js +14 -7
- package/dist/cli/commands/sc-commands.d.ts +1 -1
- package/dist/cli/commands/sc-commands.js +39 -6
- package/dist/cli/commands/scan-commands.js +36 -13
- package/dist/cli/commands/security-audit-commands.d.ts +1 -1
- package/dist/cli/commands/security-audit-commands.js +12 -7
- package/dist/cli/commands/sediment-commands.d.ts +2 -2
- package/dist/cli/commands/sediment-commands.js +146 -139
- package/dist/cli/commands/session-24h-mode.js +15 -2
- package/dist/cli/commands/session-checkpoint-command.js +1 -1
- package/dist/cli/commands/session-migrate-skill-name.js +1 -1
- package/dist/cli/commands/shadcn-commands.d.ts +1 -1
- package/dist/cli/commands/shadcn-commands.js +3 -1
- package/dist/cli/commands/share-commands.js +38 -39
- package/dist/cli/commands/skill-conformance-commands.d.ts +1 -1
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +16 -17
- package/dist/cli/commands/skill-visibility.js +2 -2
- package/dist/cli/commands/slice-commands.d.ts +1 -1
- package/dist/cli/commands/slice-commands.js +36 -12
- package/dist/cli/commands/slice-integrate-commands.js +6 -7
- package/dist/cli/commands/slice-review-commands-helpers.d.ts +26 -0
- package/dist/cli/commands/slice-review-commands-helpers.js +26 -0
- package/dist/cli/commands/slice-review-commands.js +16 -24
- package/dist/cli/commands/smoke-commands-add-path.d.ts +14 -0
- package/dist/cli/commands/smoke-commands-add-path.js +39 -0
- package/dist/cli/commands/smoke-commands-define.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-define.js +97 -0
- package/dist/cli/commands/smoke-commands-run.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-run.js +119 -0
- package/dist/cli/commands/smoke-commands.d.ts +10 -1
- package/dist/cli/commands/smoke-commands.js +17 -179
- package/dist/cli/commands/sop-commands.d.ts +1 -1
- package/dist/cli/commands/sop-commands.js +38 -10
- package/dist/cli/commands/statusline-commands.d.ts +1 -1
- package/dist/cli/commands/statusline-commands.js +21 -10
- package/dist/cli/commands/sub-agent/detached.js +3 -3
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +1 -1
- package/dist/cli/commands/sub-agent-shared.js +1 -1
- package/dist/cli/commands/sub-agent-shutdown-commands.js +17 -9
- package/dist/cli/commands/swarm-commands.d.ts +1 -1
- package/dist/cli/commands/swarm-commands.js +13 -6
- package/dist/cli/commands/tech-commands-helpers.d.ts +37 -0
- package/dist/cli/commands/tech-commands-helpers.js +24 -0
- package/dist/cli/commands/tech-commands.d.ts +2 -29
- package/dist/cli/commands/tech-commands.js +15 -28
- package/dist/cli/commands/test-commands.js +27 -7
- package/dist/cli/commands/user-touchpoint-commands.js +1 -3
- package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +20 -7
- package/dist/cli/commands/vm-commands.js +48 -19
- package/dist/cli/commands/wave-plan-commands.js +5 -2
- package/dist/cli/commands/web-commands.js +14 -4
- package/dist/cli/commands/web-lifecycle-commands.js +5 -3
- package/dist/cli/commands/workflow-commands.d.ts +1 -1
- package/dist/cli/commands/workflow-commands.js +64 -29
- package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
- package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
- package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
- package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
- package/dist/cli/commands/workflow-plan-commands.js +15 -141
- package/dist/cli/commands/workspace/clean-command.js +4 -1
- package/dist/cli/commands/workspace/helpers.js +2 -1
- package/dist/cli/commands/workspace/init-command.js +80 -20
- package/dist/cli/commands/workspace/reconcile-command.js +3 -1
- package/dist/cli/commands/workspace-commands.d.ts +1 -1
- package/dist/cli/commands/workspace-commands.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-auth-commands.js +16 -169
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
- package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
- package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
- package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-lease-commands.js +65 -37
- package/dist/cli/index.js +6 -2
- package/dist/cli/program.js +8 -10
- package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
- package/dist/reporters/bdd-reporter.js +9 -3
- package/dist/services/24h-mode/auto-engage.d.ts +19 -0
- package/dist/services/24h-mode/auto-engage.js +35 -0
- package/dist/services/24h-mode/decider.js +5 -1
- package/dist/services/24h-mode/store.js +4 -2
- package/dist/services/adapter/adapter-registry.js +20 -8
- package/dist/services/adapter/adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.js +1 -1
- package/dist/services/adapter/claude-adapter.d.ts +1 -1
- package/dist/services/adapter/claude-adapter.js +8 -8
- package/dist/services/adapter/codex-adapter.d.ts +2 -2
- package/dist/services/adapter/codex-adapter.js +20 -8
- package/dist/services/adapter/copilot-adapter.d.ts +2 -2
- package/dist/services/adapter/copilot-adapter.js +20 -8
- package/dist/services/artifacts/artifact-prerequisites.js +10 -8
- package/dist/services/artifacts/artifact-service.js +3 -1
- package/dist/services/artifacts/artifact-template-bodies.d.ts +12 -0
- package/dist/services/artifacts/artifact-template-bodies.js +165 -0
- package/dist/services/artifacts/artifact-templates.js +26 -168
- package/dist/services/artifacts/request-artifact-service.js +14 -7
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +3 -2
- package/dist/services/artifacts/request-artifact-state-helpers.js +3 -5
- package/dist/services/artifacts/workspace-artifact-helpers.d.ts +28 -0
- package/dist/services/artifacts/workspace-artifact-helpers.js +54 -0
- package/dist/services/artifacts/workspace-service.d.ts +3 -22
- package/dist/services/artifacts/workspace-service.js +10 -60
- package/dist/services/audit/artifact-writer.js +21 -21
- package/dist/services/audit/audit-goal-service.js +2 -2
- package/dist/services/audit/backing-detector.js +7 -4
- package/dist/services/audit/classifier.js +3 -3
- package/dist/services/audit/decision-writer.js +13 -9
- package/dist/services/audit/enforcers/active-skill-resolver.js +15 -7
- package/dist/services/audit/enforcers/design-draft-confirm.js +4 -4
- package/dist/services/audit/enforcers/lint-audit-regression.js +10 -5
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +16 -8
- package/dist/services/audit/enforcers/lint-catalog-governance.js +8 -4
- package/dist/services/audit/enforcers/lint-output-style.js +4 -2
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +20 -20
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +5 -5
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +1 -1
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +5 -5
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +10 -10
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +10 -8
- package/dist/services/audit/enforcers/lint-reference-shape.js +50 -18
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +5 -5
- package/dist/services/audit/enforcers/lint-style.js +44 -11
- package/dist/services/audit/enforcers/lint-workflow-shape.js +4 -2
- package/dist/services/audit/enforcers/login-gate.js +2 -6
- package/dist/services/audit/enforcers/mock-placement.js +2 -2
- package/dist/services/audit/enforcers/no-root-pollution.js +38 -9
- package/dist/services/audit/enforcers/pre-rd-scan.js +1 -1
- package/dist/services/audit/enforcers/prototype-fidelity.js +1 -1
- package/dist/services/audit/enforcers/resume-detection.js +5 -4
- package/dist/services/audit/prose-ratio-calculator.js +1 -1
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +39 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.d.ts +52 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +3 -374
- package/dist/services/audit/red-line-catalog-p2-b.js +26 -26
- package/dist/services/audit/red-line-catalog.js +26 -38
- package/dist/services/audit/red-lines-service.js +64 -49
- package/dist/services/audit/scanners/openspec-scanner.js +2 -2
- package/dist/services/audit/scanners/rules-tree-scanner.js +2 -2
- package/dist/services/audit/scanners/skills-tree-scanner.js +2 -2
- package/dist/services/audit/static-service.js +3 -3
- package/dist/services/audit-independent/index.d.ts +2 -2
- package/dist/services/audit-independent/index.js +2 -2
- package/dist/services/audit-independent/perf-audit-service.js +19 -8
- package/dist/services/audit-independent/security-audit-service.js +31 -16
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +75 -46
- package/dist/services/best-practice/output-formatter.js +7 -1
- package/dist/services/capability-audit-service/cross-check.js +11 -5
- package/dist/services/capability-audit-service/runner.js +15 -7
- package/dist/services/capability-baseline/store.js +16 -4
- package/dist/services/capability-baseline/types.js +15 -3
- package/dist/services/capability-baseline/validator.js +43 -7
- package/dist/services/capability-guard-runner/contracts/J02.js +36 -6
- package/dist/services/capability-guard-runner/contracts/J03.js +20 -11
- package/dist/services/capability-guard-runner/contracts/J04.js +24 -15
- package/dist/services/capability-guard-runner/contracts/J05.js +26 -10
- package/dist/services/capability-guard-runner/contracts/J07.js +8 -2
- package/dist/services/capability-guard-runner/contracts/J08.js +22 -5
- package/dist/services/capability-guard-runner/contracts/J10.js +6 -2
- package/dist/services/capability-guard-runner/contracts/J11.d.ts +5 -0
- package/dist/services/capability-guard-runner/contracts/J11.js +14 -2
- package/dist/services/capability-guard-runner/contracts/J12.js +12 -3
- package/dist/services/capability-guard-runner/diff.js +1 -5
- package/dist/services/changeset/changeset-check-service.js +1 -3
- package/dist/services/classify/classify-service.js +20 -8
- package/dist/services/classify/classify-types.js +22 -9
- package/dist/services/code/auto-compact-lifecycle.js +62 -39
- package/dist/services/code/auto-compact-modes.js +2 -2
- package/dist/services/code/auto-compact-orchestrator.js +14 -9
- package/dist/services/code/batch-heartbeat-poller.d.ts +10 -0
- package/dist/services/code/batch-heartbeat-poller.js +17 -1
- package/dist/services/code/compact-event-settle-types.d.ts +80 -0
- package/dist/services/code/compact-event-settle-types.js +20 -0
- package/dist/services/code/compact-event-settle.d.ts +3 -68
- package/dist/services/code/compact-event-settle.js +14 -10
- package/dist/services/code/dag-orchestrator.js +32 -26
- package/dist/services/code/job-shape-decision.js +3 -1
- package/dist/services/code/mode-gate-types.d.ts +57 -0
- package/dist/services/code/mode-gate-types.js +66 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +25 -69
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
- package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-probes.js +77 -0
- package/dist/services/code/orchestrator-can-do.d.ts +11 -22
- package/dist/services/code/orchestrator-can-do.js +37 -137
- package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
- package/dist/services/code/post-compact-checkpoint.js +57 -0
- package/dist/services/code/post-compact-detector.js +16 -48
- package/dist/services/code/step-08-gate.d.ts +4 -3
- package/dist/services/code/step-08-gate.js +21 -9
- package/dist/services/code/user-touchpoint-classifier.js +0 -7
- package/dist/services/code-review/ecc-bridge.d.ts +6 -6
- package/dist/services/code-review/ecc-bridge.js +23 -23
- package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
- package/dist/services/codegraph/codegraph-config-repair-writer.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-repair.js +1 -2
- package/dist/services/codegraph/codegraph-index-integrity.js +1 -1
- package/dist/services/codegraph/codegraph-preflight-service.d.ts +3 -26
- package/dist/services/codegraph/codegraph-preflight-service.js +16 -37
- package/dist/services/codegraph/codegraph-preflight-structure.d.ts +32 -0
- package/dist/services/codegraph/codegraph-preflight-structure.js +33 -0
- package/dist/services/codegraph/codegraph-process-runner.js +12 -1
- package/dist/services/codegraph/codegraph-service.js +9 -1
- package/dist/services/comments/citation-rules.d.ts +154 -0
- package/dist/services/comments/citation-rules.js +241 -0
- package/dist/services/comments/comment-audit.d.ts +57 -0
- package/dist/services/comments/comment-audit.js +100 -0
- package/dist/services/comments/comment-citations.d.ts +60 -0
- package/dist/services/comments/comment-citations.js +186 -0
- package/dist/services/comments/comment-hygiene.d.ts +79 -0
- package/dist/services/comments/comment-hygiene.js +133 -0
- package/dist/services/comments/comment-prune.d.ts +88 -0
- package/dist/services/comments/comment-prune.js +148 -0
- package/dist/services/comments/prune-apply.d.ts +60 -0
- package/dist/services/comments/prune-apply.js +150 -0
- package/dist/services/comments/repo-path-probe.d.ts +43 -0
- package/dist/services/comments/repo-path-probe.js +78 -0
- package/dist/services/compact/request-transition-hook.js +2 -1
- package/dist/services/compact/suggest-service.d.ts +3 -61
- package/dist/services/compact/suggest-service.js +9 -12
- package/dist/services/compact/suggest-types.d.ts +76 -0
- package/dist/services/compact/suggest-types.js +10 -0
- package/dist/services/compact-history/compact-history-service.js +2 -2
- package/dist/services/compact-statusline/compact-lifecycle-store.d.ts +2 -32
- package/dist/services/compact-statusline/compact-lifecycle-store.js +7 -12
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +32 -0
- package/dist/services/compact-statusline/compact-lifecycle-types.js +8 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.d.ts +42 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.js +63 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +4 -21
- package/dist/services/compact-statusline/compact-statusline-service.js +9 -101
- package/dist/services/compact-statusline/compact-statusline-state.d.ts +4 -0
- package/dist/services/compact-statusline/compact-statusline-state.js +50 -0
- package/dist/services/config/config-migration.js +2 -2
- package/dist/services/config/config-restore.js +1 -1
- package/dist/services/config/config-rollback.js +1 -1
- package/dist/services/config/config-safety.js +28 -10
- package/dist/services/config/config-service.js +114 -31
- package/dist/services/config/model-routing.js +5 -2
- package/dist/services/config/proxy-service.js +6 -1
- package/dist/services/config/workspace-state-service.js +17 -5
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +38 -0
- package/dist/services/context/auto-compact-dispatcher-input.js +9 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +2 -30
- package/dist/services/context/auto-compact-reader-input.d.ts +30 -0
- package/dist/services/context/auto-compact-reader-input.js +8 -0
- package/dist/services/context/auto-compact-reader.d.ts +2 -24
- package/dist/services/context/auto-compact-reader.js +4 -1
- package/dist/services/context/auto-compact-thresholds.d.ts +54 -0
- package/dist/services/context/auto-compact-thresholds.js +19 -0
- package/dist/services/context/auto-compact-types.d.ts +2 -46
- package/dist/services/context/auto-compact-types.js +1 -11
- package/dist/services/context/build-dispatch-system-prompt.js +2 -2
- package/dist/services/context/collector.js +8 -10
- package/dist/services/context/context-audit-hint.js +7 -5
- package/dist/services/context/context-audit-keys.d.ts +15 -0
- package/dist/services/context/context-audit-keys.js +77 -0
- package/dist/services/context/context-audit-limits.d.ts +20 -0
- package/dist/services/context/context-audit-limits.js +31 -0
- package/dist/services/context/context-audit-scan.d.ts +19 -0
- package/dist/services/context/context-audit-scan.js +246 -0
- package/dist/services/context/context-audit-types.d.ts +65 -0
- package/dist/services/context/context-audit-types.js +10 -0
- package/dist/services/context/context-audit.d.ts +13 -59
- package/dist/services/context/context-audit.js +38 -254
- package/dist/services/context/context-builder.js +4 -4
- package/dist/services/context/context-schema.d.ts +1 -1
- package/dist/services/context/context-schema.js +13 -13
- package/dist/services/context/doc-retriever.js +2 -2
- package/dist/services/context/harness-context-witness.js +43 -24
- package/dist/services/context/harness-window-config.js +27 -7
- package/dist/services/context/ide-detect.js +2 -1
- package/dist/services/context/index.d.ts +1 -1
- package/dist/services/context/memory-index-reader.js +3 -9
- package/dist/services/context/memory-preflight-config.js +3 -5
- package/dist/services/context/memory-preflight-service.d.ts +2 -20
- package/dist/services/context/memory-preflight-service.js +37 -68
- package/dist/services/context/memory-preflight-support.d.ts +48 -0
- package/dist/services/context/memory-preflight-support.js +56 -0
- package/dist/services/context/post-compact-reinjection.js +3 -3
- package/dist/services/context/renderer.js +7 -3
- package/dist/services/context/spillover-store.js +3 -1
- package/dist/services/context/summary-view.js +1 -1
- package/dist/services/context/threshold.js +2 -2
- package/dist/services/context/tokenizer.js +3 -3
- package/dist/services/crystallization/crystallization-brief-schema.d.ts +80 -0
- package/dist/services/crystallization/crystallization-brief-schema.js +159 -0
- package/dist/services/crystallization/crystallization-service.d.ts +7 -7
- package/dist/services/crystallization/crystallization-service.js +56 -55
- package/dist/services/crystallization/crystallization-store.d.ts +2 -2
- package/dist/services/crystallization/crystallization-store.js +37 -20
- package/dist/services/crystallization/crystallization-types.d.ts +4 -56
- package/dist/services/crystallization/crystallization-types.js +31 -184
- package/dist/services/crystallization/evidence-brief-builder.d.ts +3 -3
- package/dist/services/crystallization/evidence-brief-builder.js +32 -38
- package/dist/services/crystallization/index.d.ts +4 -4
- package/dist/services/crystallization/index.js +4 -4
- package/dist/services/dashboard/project-dashboard-service.js +7 -1
- package/dist/services/dispatch/await-batch-helpers.d.ts +55 -0
- package/dist/services/dispatch/await-batch-helpers.js +206 -0
- package/dist/services/dispatch/await-batch.d.ts +50 -7
- package/dist/services/dispatch/await-batch.js +97 -194
- package/dist/services/dispatch/batch-counter.js +2 -1
- package/dist/services/dispatch/conflict-replay.js +2 -2
- package/dist/services/dispatch/contract-store.js +5 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +81 -0
- package/dist/services/dispatch/dispatch-record-input-types.js +1 -0
- package/dist/services/dispatch/dispatch-record-types.d.ts +6 -73
- package/dist/services/dispatch/dispatch-record-upgrade-fields.d.ts +72 -0
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +242 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.d.ts +15 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +55 -0
- package/dist/services/dispatch/dispatch-record-upgrade.d.ts +2 -4
- package/dist/services/dispatch/dispatch-record-upgrade.js +21 -213
- package/dist/services/dispatch/dispatch-record-writer.js +54 -26
- package/dist/services/dispatch/dispatch-sub-agent.js +7 -2
- package/dist/services/dispatch/e2e-fixtures.js +1 -1
- package/dist/services/dispatch/isolation-lease.js +39 -17
- package/dist/services/dispatch/merge-back-runner.js +51 -11
- package/dist/services/dispatch/service-shutdown.js +4 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +116 -0
- package/dist/services/dispatch/slice-dag-types.js +41 -0
- package/dist/services/dispatch/slice-dag.d.ts +3 -109
- package/dist/services/dispatch/slice-dag.js +13 -36
- package/dist/services/dispatch/sub-agent-batch-await.d.ts +47 -0
- package/dist/services/dispatch/sub-agent-batch-await.js +73 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +122 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.js +12 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +3 -145
- package/dist/services/dispatch/sub-agent-dispatcher.js +14 -70
- package/dist/services/dispatch/test-tool-detection.js +12 -1
- package/dist/services/doc/doc-generator.js +19 -4
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +7 -2
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +26 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +18 -9
- package/dist/services/doctor/doctor-service/checks/ecc-hooks-schema-drift.js +20 -10
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +18 -9
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +25 -11
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +12 -6
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +7 -16
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +50 -70
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +5 -1
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +4 -2
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +8 -4
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +8 -4
- package/dist/services/doctor/doctor-service/checks/user-config.js +4 -2
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +8 -4
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +19 -11
- package/dist/services/doctor/doctor-service/index.js +4 -2
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.d.ts +40 -0
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.js +49 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +1 -1
- package/dist/services/doctor/doctor-service/probe-types.d.ts +210 -0
- package/dist/services/doctor/doctor-service/probe-types.js +14 -0
- package/dist/services/doctor/doctor-service/types.d.ts +7 -197
- package/dist/services/doctor/index.d.ts +1 -1
- package/dist/services/doctor/index.js +1 -1
- package/dist/services/env/shell-probe.js +8 -2
- package/dist/services/evidence/evidence-body-builders.d.ts +23 -0
- package/dist/services/evidence/evidence-body-builders.js +197 -0
- package/dist/services/evidence/evidence-generator.js +6 -187
- package/dist/services/evolution/evolution-constraints.d.ts +43 -0
- package/dist/services/evolution/evolution-constraints.js +54 -0
- package/dist/services/evolution/evolution-evaluation-schema.d.ts +43 -0
- package/dist/services/evolution/evolution-evaluation-schema.js +43 -0
- package/dist/services/evolution/evolution-service.d.ts +6 -6
- package/dist/services/evolution/evolution-service.js +58 -58
- package/dist/services/evolution/evolution-store.d.ts +2 -2
- package/dist/services/evolution/evolution-store.js +37 -51
- package/dist/services/evolution/evolution-types.d.ts +2 -22
- package/dist/services/evolution/evolution-types.js +41 -101
- package/dist/services/evolution/independent-evaluator-runner.d.ts +3 -3
- package/dist/services/evolution/independent-evaluator-runner.js +20 -22
- package/dist/services/evolution/regression-skeptic-runner.d.ts +2 -2
- package/dist/services/evolution/regression-skeptic-runner.js +18 -18
- package/dist/services/feedback/feedback-promotion-service.js +48 -12
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +2 -16
- package/dist/services/feedback/promotion-artifact-evidence.js +6 -83
- package/dist/services/feedback/promotion-artifact-json-evidence.d.ts +29 -0
- package/dist/services/feedback/promotion-artifact-json-evidence.js +39 -0
- package/dist/services/feedback/promotion-source-comments.d.ts +47 -0
- package/dist/services/feedback/promotion-source-comments.js +61 -0
- package/dist/services/final-review/final-review-contract.d.ts +26 -0
- package/dist/services/final-review/final-review-contract.js +14 -0
- package/dist/services/final-review/final-review-delivery.d.ts +63 -0
- package/dist/services/final-review/final-review-delivery.js +124 -0
- package/dist/services/final-review/final-review-evidence-budget.d.ts +125 -0
- package/dist/services/final-review/final-review-evidence-budget.js +218 -0
- package/dist/services/final-review/final-review-evidence-collect.d.ts +4 -0
- package/dist/services/final-review/final-review-evidence-collect.js +230 -0
- package/dist/services/final-review/final-review-evidence-sources.d.ts +138 -0
- package/dist/services/final-review/final-review-evidence-sources.js +139 -0
- package/dist/services/final-review/final-review-fifth-dim.d.ts +8 -0
- package/dist/services/final-review/final-review-fifth-dim.js +20 -0
- package/dist/services/final-review/final-review-gates.d.ts +119 -0
- package/dist/services/final-review/final-review-gates.js +214 -0
- package/dist/services/final-review/final-review-output-budget.d.ts +88 -0
- package/dist/services/final-review/final-review-output-budget.js +161 -0
- package/dist/services/final-review/final-review-prompt.d.ts +35 -0
- package/dist/services/final-review/final-review-prompt.js +112 -0
- package/dist/services/final-review/final-review-reviewer.d.ts +57 -0
- package/dist/services/final-review/final-review-reviewer.js +95 -0
- package/dist/services/final-review/final-review-runner.d.ts +3 -0
- package/dist/services/final-review/final-review-runner.js +158 -0
- package/dist/services/final-review/final-review-service.d.ts +119 -373
- package/dist/services/final-review/final-review-service.js +48 -1380
- package/dist/services/final-review/final-review-verdicts.d.ts +60 -0
- package/dist/services/final-review/final-review-verdicts.js +91 -0
- package/dist/services/final-review/index.d.ts +3 -3
- package/dist/services/final-review/index.js +2 -2
- package/dist/services/final-review/pre-post-diff.js +32 -29
- package/dist/services/fixture/fixture-capture-service.js +14 -6
- package/dist/services/fresh-context/trigger-scan.js +13 -2
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +1 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +6 -1
- package/dist/services/hooks/pre-tool-code-gate.js +2 -2
- package/dist/services/hooks/presence-marker-detector.js +12 -2
- package/dist/services/hooks/worktree-authorization-gate.js +21 -7
- package/dist/services/ide/adapters/claude-code-adapter.js +30 -17
- package/dist/services/ide/adapters/codex-adapter.js +3 -5
- package/dist/services/ide/adapters/cursor-adapter.js +3 -5
- package/dist/services/ide/adapters/hermes-adapter.js +2 -4
- package/dist/services/ide/adapters/openclaw-adapter.js +2 -4
- package/dist/services/ide/adapters/qoder-adapter.js +2 -4
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +1 -1
- package/dist/services/ide/adapters/trae-adapter.js +3 -5
- package/dist/services/ide/adapters/zcode-adapter.js +8 -7
- package/dist/services/ide/current-model-detector.js +2 -1
- package/dist/services/ide/ide-compact-types.d.ts +153 -0
- package/dist/services/ide/ide-compact-types.js +1 -0
- package/dist/services/ide/ide-registry.js +1 -1
- package/dist/services/ide/ide-types.d.ts +7 -145
- package/dist/services/ide/resource-profile.js +1 -1
- package/dist/services/ide/shared/atomic-json.js +2 -1
- package/dist/services/impact/impact-scan-service.js +12 -5
- package/dist/services/job/job-commit-verification.d.ts +73 -0
- package/dist/services/job/job-commit-verification.js +72 -0
- package/dist/services/job/job-orchestrator.d.ts +42 -0
- package/dist/services/job/job-orchestrator.js +110 -10
- package/dist/services/job/job-progress-store.d.ts +75 -5
- package/dist/services/job/job-progress-store.js +83 -6
- package/dist/services/job/job-rotation.d.ts +1 -1
- package/dist/services/job/job-rotation.js +5 -1
- package/dist/services/job/job-state-store.js +2 -2
- package/dist/services/job/job-types.js +49 -20
- package/dist/services/job/subagent-job-wrapper.d.ts +1 -1
- package/dist/services/job/subagent-job-wrapper.js +5 -1
- package/dist/services/job-snapshot/snapshot.js +2 -2
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +23 -13
- package/dist/services/legacy/legacy-detector.js +51 -5
- package/dist/services/lint/detect-eslint.js +10 -4
- package/dist/services/lint/detect-ocr-18.js +11 -3
- package/dist/services/lint/eslint-runner-support.d.ts +22 -0
- package/dist/services/lint/eslint-runner-support.js +185 -0
- package/dist/services/lint/eslint-runner-types.d.ts +69 -0
- package/dist/services/lint/eslint-runner-types.js +11 -0
- package/dist/services/lint/eslint-runner.d.ts +4 -56
- package/dist/services/lint/eslint-runner.js +24 -178
- package/dist/services/lint/npx-resolver.js +1 -3
- package/dist/services/lint/ocr-18-acquire.js +15 -4
- package/dist/services/lint/ocr-multilang-adapter.js +4 -5
- package/dist/services/llm/anthropic-runner.js +4 -1
- package/dist/services/log/log-commands-service.js +2 -6
- package/dist/services/log/logger.js +15 -12
- package/dist/services/log/retention.d.ts +0 -16
- package/dist/services/log/retention.js +2 -18
- package/dist/services/loop/evaluator-dispatcher.js +78 -42
- package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
- package/dist/services/loop/loop-bee-relation-service.js +36 -40
- package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-store.js +9 -11
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +14 -25
- package/dist/services/loop/loop-release-service.d.ts +2 -2
- package/dist/services/loop/loop-release-service.js +3 -3
- package/dist/services/loop/loop-release-store.d.ts +2 -2
- package/dist/services/loop/loop-release-store.js +4 -6
- package/dist/services/loop/loop-release-types.d.ts +1 -1
- package/dist/services/loop/loop-release-types.js +21 -31
- package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
- package/dist/services/loop/monotonic-guard-types.js +9 -0
- package/dist/services/loop/monotonic-guard.d.ts +2 -43
- package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
- package/dist/services/loop/monotonic-runner-types.js +17 -0
- package/dist/services/loop/monotonic-runner.d.ts +3 -34
- package/dist/services/loop/monotonic-runner.js +10 -20
- package/dist/services/loop/run-driver.js +16 -8
- package/dist/services/loop/spec-service.d.ts +0 -5
- package/dist/services/loop/spec-service.js +49 -9
- package/dist/services/memory/llm-reranker-core.d.ts +108 -0
- package/dist/services/memory/llm-reranker-core.js +105 -0
- package/dist/services/memory/llm-reranker.d.ts +3 -94
- package/dist/services/memory/llm-reranker.js +13 -102
- package/dist/services/memory/memory-ingest-service.d.ts +1 -22
- package/dist/services/memory/memory-ingest-service.js +29 -76
- package/dist/services/memory/memory-ingest-support.d.ts +23 -0
- package/dist/services/memory/memory-ingest-support.js +81 -0
- package/dist/services/memory/memory-rotate-service.js +41 -8
- package/dist/services/memory/memory-search-service.js +8 -4
- package/dist/services/memory/project-context-service.js +26 -5
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
- package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
- package/dist/services/memory/project-memory-service/index.d.ts +1 -1
- package/dist/services/memory/project-memory-service/index.js +1 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +31 -0
- package/dist/services/memory/project-memory-service/memory-kinds.js +87 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.d.ts +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.js +104 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +2 -24
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +28 -79
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +15 -3
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +19 -7
- package/dist/services/memory/project-memory-service/store/atomic-write.js +144 -38
- package/dist/services/memory/project-memory-service/store/paths.js +2 -1
- package/dist/services/memory/project-memory-service/types.d.ts +3 -31
- package/dist/services/memory/project-memory-service/types.js +1 -76
- package/dist/services/migrate-skill-name/migrate.js +1 -1
- package/dist/services/migrate-skill-name/schema.js +1 -1
- package/dist/services/mode/mode-enforcement.js +4 -2
- package/dist/services/mode/mode-status-service.d.ts +27 -9
- package/dist/services/mode/mode-status-service.js +64 -12
- package/dist/services/observability/aggregation-helpers.d.ts +22 -0
- package/dist/services/observability/aggregation-helpers.js +65 -0
- package/dist/services/observability/aggregation-types.d.ts +66 -0
- package/dist/services/observability/aggregation-types.js +34 -0
- package/dist/services/observability/aggregation.d.ts +5 -53
- package/dist/services/observability/aggregation.js +17 -80
- package/dist/services/observability/jsonl-store.js +2 -1
- package/dist/services/observability/observability-schema.d.ts +71 -0
- package/dist/services/observability/observability-schema.js +64 -0
- package/dist/services/observability/observability-service.d.ts +3 -56
- package/dist/services/observability/observability-service.js +9 -49
- package/dist/services/openspec/coverage-evidence-reader.js +18 -11
- package/dist/services/openspec/openspec-archive-service.js +31 -24
- package/dist/services/openspec/openspec-init-service.js +8 -2
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-scan-service.js +4 -1
- package/dist/services/openspec/openspec-validate-service.js +26 -5
- package/dist/services/perf/perf-baseline-service.js +2 -6
- package/dist/services/polyrepo/polyrepo-dispatcher.js +2 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +4 -1
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +42 -0
- package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
- package/dist/services/prd/handoff-frontmatter.js +62 -1
- package/dist/services/prd/handoff-gate-evidence.js +14 -10
- package/dist/services/prd/handoff-path-resolution.d.ts +37 -0
- package/dist/services/prd/handoff-path-resolution.js +101 -0
- package/dist/services/prd/handoff-service.d.ts +12 -38
- package/dist/services/prd/handoff-service.js +25 -147
- package/dist/services/prd/handoff-types.d.ts +33 -1
- package/dist/services/prd/prd-blocks-checker.js +28 -8
- package/dist/services/prd/project-scan-bootstrap-service.js +1 -5
- package/dist/services/prd/project-scan-reader.js +1 -4
- package/dist/services/prd/project-scan-sediment.js +1 -4
- package/dist/services/preferences/preferences-service.js +6 -8
- package/dist/services/preferences/preferences-types.js +4 -4
- package/dist/services/qa/bdd-test-style-contract.d.ts +41 -0
- package/dist/services/qa/bdd-test-style-contract.js +37 -0
- package/dist/services/qa/bdd-test-style-verifier.d.ts +2 -24
- package/dist/services/qa/bdd-test-style-verifier.js +5 -31
- package/dist/services/qa/browser-event-logger.js +2 -1
- package/dist/services/qa/qa-business-review-state.js +20 -5
- package/dist/services/qa/screenshot-archive-service.js +1 -3
- package/dist/services/rd/ast-gate.js +2 -2
- package/dist/services/rd/impl.js +1 -1
- package/dist/services/rd/rd-service.js +117 -43
- package/dist/services/rd/reviewer-dispatch-policy.js +4 -7
- package/dist/services/rd/standards-diagnostic.js +4 -1
- package/dist/services/rd/strategy.js +10 -3
- package/dist/services/rd/tactical-stage.js +2 -2
- package/dist/services/rd/types.js +9 -7
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +2 -45
- package/dist/services/rd-swarm/rd-swarm-service.js +140 -21
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +54 -0
- package/dist/services/rd-swarm/rd-swarm-types.js +10 -0
- package/dist/services/recommendations/capability-map-service.js +10 -2
- package/dist/services/recommendations/capability-seed-items.js +81 -14
- package/dist/services/recommendations/capability-seed-mappings.js +420 -48
- package/dist/services/recommendations/capability-seed-sources-mcp-server.d.ts +9 -0
- package/dist/services/recommendations/capability-seed-sources-mcp-server.js +233 -0
- package/dist/services/recommendations/capability-seed-sources.js +127 -32
- package/dist/services/recommendations/installed-capability-detector.d.ts +5 -5
- package/dist/services/recommendations/installed-capability-detector.js +11 -10
- package/dist/services/release/release-state.d.ts +2 -2
- package/dist/services/release/release-state.js +44 -15
- package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
- package/dist/services/release/version-precheck-layer-changeset.js +43 -0
- package/dist/services/release/version-precheck-service.d.ts +11 -36
- package/dist/services/release/version-precheck-service.js +20 -104
- package/dist/services/release/version-precheck-support.d.ts +53 -0
- package/dist/services/release/version-precheck-support.js +64 -0
- package/dist/services/retrospective/retrospective-index.js +17 -3
- package/dist/services/retrospective/retrospective-search-service.js +6 -2
- package/dist/services/retrospective/retrospective-show.js +4 -1
- package/dist/services/reviewer/model-family.js +7 -1
- package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
- package/dist/services/reviewer/providers/anthropic.js +10 -1
- package/dist/services/reviewer/providers/openai.d.ts +5 -0
- package/dist/services/reviewer/providers/openai.js +10 -1
- package/dist/services/reviewer/reviewer-config.js +4 -2
- package/dist/services/reviewer/reviewer-service.d.ts +2 -36
- package/dist/services/reviewer/reviewer-service.js +2 -1
- package/dist/services/reviewer/reviewer-types.d.ts +43 -0
- package/dist/services/reviewer/reviewer-types.js +1 -0
- package/dist/services/role/role-registry.js +9 -1
- package/dist/services/runtime/runtime-detector.js +4 -1
- package/dist/services/runtime/vendors/claude-code.js +14 -6
- package/dist/services/runtime/vendors/codex.js +11 -3
- package/dist/services/runtime/vendors/copilot.js +11 -3
- package/dist/services/sc/sc-service.js +28 -15
- package/dist/services/scan/acceptance-coverage-service.js +4 -1
- package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
- package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
- package/dist/services/scan/api-diff-openapi.d.ts +16 -2
- package/dist/services/scan/api-diff-openapi.js +19 -123
- package/dist/services/scan/api-diff-recorded.js +16 -3
- package/dist/services/scan/api-diff-service.js +49 -16
- package/dist/services/scan/api-diff-types.js +12 -3
- package/dist/services/scan/api-surface-helpers.d.ts +13 -0
- package/dist/services/scan/api-surface-helpers.js +31 -0
- package/dist/services/scan/api-surface-service.d.ts +2 -45
- package/dist/services/scan/api-surface-service.js +15 -26
- package/dist/services/scan/api-surface-types.d.ts +54 -0
- package/dist/services/scan/api-surface-types.js +10 -0
- package/dist/services/scan/archetype-detection.d.ts +74 -0
- package/dist/services/scan/archetype-detection.js +315 -0
- package/dist/services/scan/archetype-service.js +58 -133
- package/dist/services/scan/diff-scope-service.js +35 -15
- package/dist/services/scan/existing-system-service.js +16 -99
- package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
- package/dist/services/scan/existing-system-visual-tokens.js +123 -0
- package/dist/services/scan/file-size-policy.d.ts +86 -0
- package/dist/services/scan/file-size-policy.js +184 -0
- package/dist/services/scan/file-size-scan.d.ts +30 -3
- package/dist/services/scan/file-size-scan.js +47 -9
- package/dist/services/scan/karpathy-service.js +6 -1
- package/dist/services/scan/orphan-service.js +86 -20
- package/dist/services/scan/scan-types.d.ts +9 -0
- package/dist/services/scan/type-sanity-service.js +104 -10
- package/dist/services/sediment/dispose-confirm.d.ts +2 -2
- package/dist/services/sediment/dispose-confirm.js +2 -2
- package/dist/services/sediment/json-schema.d.ts +1 -1
- package/dist/services/sediment/json-schema.js +25 -13
- package/dist/services/sediment/manifest-lint.d.ts +1 -12
- package/dist/services/sediment/manifest-lint.js +1 -7
- package/dist/services/sediment/pool-paths.js +13 -9
- package/dist/services/sediment/pool-read.d.ts +1 -1
- package/dist/services/sediment/pool-read.js +42 -18
- package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
- package/dist/services/sediment/pool-rebuild-index.js +5 -5
- package/dist/services/sediment/pool-write.d.ts +1 -1
- package/dist/services/sediment/pool-write.js +7 -7
- package/dist/services/sediment/promotion-gate.d.ts +1 -1
- package/dist/services/sediment/promotion-gate.js +9 -9
- package/dist/services/sediment/types.d.ts +8 -8
- package/dist/services/session/binding-status-service.js +14 -4
- package/dist/services/session/caller-binding-service.js +2 -1
- package/dist/services/session/getSessionDir.js +4 -1
- package/dist/services/session/index.d.ts +1 -1
- package/dist/services/session/index.js +1 -1
- package/dist/services/session/resolve-caller-id.js +7 -5
- package/dist/services/session/session-binding-bridge.js +26 -25
- package/dist/services/session/session-checkpoint-service.js +1 -1
- package/dist/services/session/session-file-schema.d.ts +70 -0
- package/dist/services/session/session-file-schema.js +68 -0
- package/dist/services/session/session-manager.d.ts +6 -6
- package/dist/services/session/session-manager.js +30 -29
- package/dist/services/session/session-resume-service.js +2 -1
- package/dist/services/share/bundle-format-constants.d.ts +85 -0
- package/dist/services/share/bundle-format-constants.js +100 -0
- package/dist/services/share/bundle-reader.d.ts +3 -3
- package/dist/services/share/bundle-reader.js +75 -68
- package/dist/services/share/bundle-types.d.ts +3 -70
- package/dist/services/share/bundle-types.js +38 -107
- package/dist/services/share/bundle-writer.d.ts +3 -3
- package/dist/services/share/bundle-writer.js +101 -91
- package/dist/services/share/run-state-contract.d.ts +1 -1
- package/dist/services/share/run-state-contract.js +7 -13
- package/dist/services/signal/cancel-handler.js +2 -1
- package/dist/services/skill/resume-detector.js +6 -4
- package/dist/services/skill/skill-scheduler.js +3 -1
- package/dist/services/skill/skill-search-service.js +4 -4
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-diff.js +6 -10
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-export.js +15 -17
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.js +4 -4
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +13 -12
- package/dist/services/skillhub/release-retain.d.ts +3 -3
- package/dist/services/skillhub/release-retain.js +22 -22
- package/dist/services/skillhub/sqlite-store.d.ts +1 -1
- package/dist/services/skillhub/sqlite-store.js +12 -11
- package/dist/services/skillhub/tar-runtime.js +15 -15
- package/dist/services/skillhub/types.d.ts +4 -4
- package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
- package/dist/services/skills/hooks-settings-service.js +61 -19
- package/dist/services/skills/presence-lease-service.js +26 -16
- package/dist/services/skills/presence-lease-types.d.ts +1 -1
- package/dist/services/skills/presence-lease-types.js +1 -1
- package/dist/services/skills/skill-conformance-service.js +40 -8
- package/dist/services/skills/skill-presence-service.js +16 -14
- package/dist/services/skills/skill-runbook-service.js +2 -1
- package/dist/services/skills/skill-statusline-model.d.ts +128 -0
- package/dist/services/skills/skill-statusline-model.js +163 -0
- package/dist/services/skills/skill-statusline-renderer.js +4 -3
- package/dist/services/skills/skill-statusline-service.d.ts +3 -100
- package/dist/services/skills/skill-statusline-service.js +56 -163
- package/dist/services/skills/statusline-palette.js +11 -6
- package/dist/services/skills/statusline-settings-service.js +2 -1
- package/dist/services/skills/sync-service-support.d.ts +65 -0
- package/dist/services/skills/sync-service-support.js +50 -0
- package/dist/services/skills/sync-service.d.ts +3 -66
- package/dist/services/skills/sync-service.js +15 -53
- package/dist/services/slice/calibration-store.js +8 -2
- package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
- package/dist/services/slice/cross-pass-edge-merger.js +13 -63
- package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
- package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
- package/dist/services/slice/granularity-decider.js +2 -2
- package/dist/services/slice/slice-archive-service.js +8 -3
- package/dist/services/slice/slice-check-service.js +19 -8
- package/dist/services/slice/slice-decompose-runners.js +61 -23
- package/dist/services/slice/slice-decompose-service.js +4 -4
- package/dist/services/slice/slice-review-state.js +8 -2
- package/dist/services/smoke/smoke-paths-state.js +9 -2
- package/dist/services/sop/gate-enforce-service.js +9 -2
- package/dist/services/sop/sop-advance-service.js +14 -2
- package/dist/services/sop/sop-check-service.js +16 -4
- package/dist/services/sop/sop-paths.js +3 -1
- package/dist/services/sop/sop-registry-service.js +5 -1
- package/dist/services/sop/sop-service.js +29 -7
- package/dist/services/sop/sop-types.js +5 -1
- package/dist/services/standards/ide-aware-standards-service.js +2 -2
- package/dist/services/standards/loop-engineering-lint.js +12 -5
- package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
- package/dist/services/standards/migrate-claude-rules-service.js +9 -7
- package/dist/services/standards/missing-standards-detector.js +1 -3
- package/dist/services/standards/project-context-support.d.ts +50 -0
- package/dist/services/standards/project-context-support.js +244 -0
- package/dist/services/standards/project-context-types.d.ts +30 -0
- package/dist/services/standards/project-context-types.js +11 -0
- package/dist/services/standards/project-context.d.ts +10 -22
- package/dist/services/standards/project-context.js +27 -214
- package/dist/services/standards/project-standards-service.js +43 -12
- package/dist/services/standards/standards-render-common.d.ts +15 -0
- package/dist/services/standards/standards-render-common.js +49 -0
- package/dist/services/standards/standards-render.d.ts +1 -2
- package/dist/services/standards/standards-render.js +31 -58
- package/dist/services/standards/ui-library-dispatch-block.js +1 -1
- package/dist/services/tech/tech-change-id-service.js +7 -7
- package/dist/services/tech/tech-service.js +73 -26
- package/dist/services/test-cache/test-cache-service.js +8 -3
- package/dist/services/verdict/envelope-parsers.d.ts +84 -0
- package/dist/services/verdict/envelope-parsers.js +146 -0
- package/dist/services/verdict/envelopes.d.ts +50 -60
- package/dist/services/verdict/envelopes.js +18 -156
- package/dist/services/verdict/verdict-aggregator.js +27 -3
- package/dist/services/vm/vm-lease.js +15 -3
- package/dist/services/web/aria-node.d.ts +27 -0
- package/dist/services/web/aria-node.js +1 -0
- package/dist/services/web/browser-acquire.js +3 -1
- package/dist/services/web/browser-cache-probe.d.ts +18 -0
- package/dist/services/web/browser-cache-probe.js +110 -0
- package/dist/services/web/browser-session-manager.js +6 -2
- package/dist/services/web/daemon-registry.js +4 -1
- package/dist/services/web/playwright-loader.d.ts +2 -70
- package/dist/services/web/playwright-types.d.ts +75 -0
- package/dist/services/web/playwright-types.js +1 -0
- package/dist/services/web/snapshot-pruner.d.ts +2 -23
- package/dist/services/web/snapshot-pruner.js +8 -3
- package/dist/services/web/web-daemon-service.js +1 -3
- package/dist/services/web/web-install-service.d.ts +3 -32
- package/dist/services/web/web-install-service.js +21 -100
- package/dist/services/web/web-install-types.d.ts +31 -0
- package/dist/services/web/web-install-types.js +13 -0
- package/dist/services/web/web-login-profile.js +7 -5
- package/dist/services/web/web-protocol.js +3 -1
- package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
- package/dist/services/workflow/pipeline-verify-service.js +17 -6
- package/dist/services/workflow/plan-reader.js +5 -1
- package/dist/services/workflow/plan-refresher.js +20 -6
- package/dist/services/workflow/plan-trigger-detector.js +31 -8
- package/dist/services/workflow/provision-dispatch-node.js +8 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
- package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
- package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
- package/dist/services/workflow/workflow-autonomous-service.js +25 -13
- package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
- package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
- package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
- package/dist/services/workflow/workflow-graph-store.js +30 -107
- package/dist/services/workflow/workflow-graph-types.js +3 -3
- package/dist/services/workflow/workflow-inflight-probe.js +14 -7
- package/dist/services/workflow/workflow-loader.js +5 -1
- package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
- package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
- package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
- package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
- package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
- package/dist/services/workflow/workflow-router-service.js +169 -27
- package/dist/services/workflow/workflow-skip-service.js +14 -4
- package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
- package/dist/services/workflow/workflow-spec-builders.js +121 -0
- package/dist/services/workflow/workflow-spec.d.ts +7 -6
- package/dist/services/workflow/workflow-spec.js +22 -116
- package/dist/services/workflow/workflow-state-store.js +2 -1
- package/dist/services/workspace/generated-artifacts-stamp.d.ts +2 -2
- package/dist/services/workspace/generated-artifacts-stamp.js +2 -2
- package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
- package/dist/services/workspace/migrate-service.js +66 -16
- package/dist/services/workspace/reconcile-migrate.js +6 -2
- package/dist/services/workspace/reconcile-service.js +37 -16
- package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
- package/dist/services/workspace/workspace-clean-service.js +4 -1
- package/dist/services/workspace/workspace-service.js +12 -4
- package/dist/services/workspace/workspace-state-service.js +1 -1
- package/dist/services/worktree/git-worktree-parser.js +13 -3
- package/dist/services/worktree/host-worktree-reconciler.js +8 -4
- package/dist/services/worktree/long-path-cleanup.js +23 -6
- package/dist/services/worktree/worktree-gc-guard.js +3 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
- package/dist/services/worktree/worktree-lease-types.js +10 -0
- package/dist/services/worktree/worktree-lease.d.ts +2 -44
- package/dist/shared/array-guards.d.ts +30 -0
- package/dist/shared/array-guards.js +32 -0
- package/dist/shared/format-md-compact-internals.d.ts +26 -0
- package/dist/shared/format-md-compact-internals.js +125 -0
- package/dist/shared/format-md-compact.js +1 -117
- package/dist/shared/fs-utils.js +2 -1
- package/dist/shared/incrementing-number.js +3 -3
- package/dist/shared/json-parse.d.ts +71 -0
- package/dist/shared/json-parse.js +32 -0
- package/dist/shared/json-schema-mini.js +3 -1
- package/dist/shared/path-safety.js +3 -1
- package/dist/shared/path-utils.d.ts +20 -0
- package/dist/shared/path-utils.js +26 -0
- package/dist/shared/planner-response.js +3 -3
- package/dist/shared/stale-policy.js +1 -3
- package/dist/skills/peaks-maker/index.js +11 -11
- package/package.json +31 -8
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +286 -283
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/bee/peaks-qa/references/reading-handoff-frontmatter.md +3 -1
- package/skills/bee/peaks-rd/references/parallel-review-fanout.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +3 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +29 -7
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/frontend-only-mode.md +2 -2
- package/skills/peaks-code/references/startup-sequence.md +0 -4
- package/dist/cli/commands/upgrade-commands.d.ts +0 -25
- package/dist/cli/commands/upgrade-commands.js +0 -154
- package/dist/services/upgrade/1x-detector-service.d.ts +0 -7
- package/dist/services/upgrade/1x-detector-service.js +0 -94
- package/dist/services/upgrade/gitignore-migrate-service.d.ts +0 -56
- package/dist/services/upgrade/gitignore-migrate-service.js +0 -170
- package/dist/services/upgrade/upgrade-service.d.ts +0 -81
- package/dist/services/upgrade/upgrade-service.js +0 -405
- package/skills/peaks-code/references/step-0-55-1x-detection.md +0 -83
|
@@ -215,9 +215,7 @@ export function findDeletionCandidates(entries, ageThresholdMs) {
|
|
|
215
215
|
const isEmptyOrAutoOnly = e.artifactCount === 0;
|
|
216
216
|
if (!isEmptyOrAutoOnly)
|
|
217
217
|
continue;
|
|
218
|
-
const mtime = e.lastActivity !== null
|
|
219
|
-
? e.lastActivity
|
|
220
|
-
: readDirMtime(e.path);
|
|
218
|
+
const mtime = e.lastActivity !== null ? e.lastActivity : readDirMtime(e.path);
|
|
221
219
|
if (mtime === null)
|
|
222
220
|
continue;
|
|
223
221
|
if (now - mtime < ageThresholdMs)
|
|
@@ -230,7 +228,8 @@ function readDirMtime(dirPath) {
|
|
|
230
228
|
try {
|
|
231
229
|
return statSync(dirPath).mtimeMs;
|
|
232
230
|
}
|
|
233
|
-
catch {
|
|
231
|
+
catch {
|
|
232
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
234
233
|
return null;
|
|
235
234
|
}
|
|
236
235
|
}
|
|
@@ -288,7 +287,8 @@ function readActiveSkillSessionId(projectRoot) {
|
|
|
288
287
|
return parsed.sessionId;
|
|
289
288
|
}
|
|
290
289
|
}
|
|
291
|
-
catch {
|
|
290
|
+
catch {
|
|
291
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
292
292
|
return null;
|
|
293
293
|
}
|
|
294
294
|
return null;
|
|
@@ -421,7 +421,11 @@ export function reconcileWorkspace(options) {
|
|
|
421
421
|
// of the apply flag — syncing the marker is a derived-state write,
|
|
422
422
|
// not a destructive side effect.
|
|
423
423
|
const changeMarker = canonical === null
|
|
424
|
-
? {
|
|
424
|
+
? {
|
|
425
|
+
removed: [],
|
|
426
|
+
created: null,
|
|
427
|
+
error: 'no canonical session'
|
|
428
|
+
}
|
|
425
429
|
: syncChangeMarker(projectRoot, canonical.sessionId);
|
|
426
430
|
// Slice 006: clean up the F3-introduced `.peaks/_runtime/<sid>/system/`
|
|
427
431
|
// subdir under EVERY session dir (not just the canonical one). The
|
|
@@ -439,7 +443,8 @@ export function reconcileWorkspace(options) {
|
|
|
439
443
|
rmSync(systemDir, { recursive: true, force: true });
|
|
440
444
|
systemCleaned.push(systemDir);
|
|
441
445
|
}
|
|
442
|
-
catch {
|
|
446
|
+
catch {
|
|
447
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
443
448
|
// Best-effort: a locked subdir does not block the rest of reconcile.
|
|
444
449
|
}
|
|
445
450
|
}
|
|
@@ -495,11 +500,19 @@ export function reconcilePresenceLeases(input) {
|
|
|
495
500
|
const raw = readFileSync(newPath, 'utf8');
|
|
496
501
|
const parsed = JSON.parse(raw);
|
|
497
502
|
if (typeof parsed?.skill !== 'string') {
|
|
498
|
-
conflicts.push({
|
|
503
|
+
conflicts.push({
|
|
504
|
+
code: 'PEAKS_GRAPH_CORRUPTED',
|
|
505
|
+
source: newPath,
|
|
506
|
+
message: 'canonical active-skill.json malformed'
|
|
507
|
+
});
|
|
499
508
|
}
|
|
500
509
|
}
|
|
501
510
|
catch (err) {
|
|
502
|
-
conflicts.push({
|
|
511
|
+
conflicts.push({
|
|
512
|
+
code: 'PEAKS_GRAPH_CORRUPTED',
|
|
513
|
+
source: newPath,
|
|
514
|
+
message: `JSON malformed: ${err.message}`
|
|
515
|
+
});
|
|
503
516
|
}
|
|
504
517
|
}
|
|
505
518
|
// Legacy sources (per-caller markers + the singleton).
|
|
@@ -515,7 +528,9 @@ export function reconcilePresenceLeases(input) {
|
|
|
515
528
|
const receipt = JSON.parse(readFileSync(receiptPath, 'utf8'));
|
|
516
529
|
migratedCount = typeof receipt.migratedCount === 'number' ? receipt.migratedCount : 0;
|
|
517
530
|
}
|
|
518
|
-
catch {
|
|
531
|
+
catch {
|
|
532
|
+
/* swallow; treat as empty receipt */
|
|
533
|
+
}
|
|
519
534
|
}
|
|
520
535
|
// Migration itself: copy each legacy source into the canonical tree.
|
|
521
536
|
if (!existsSync(sessionRoot))
|
|
@@ -543,7 +558,7 @@ export function reconcilePresenceLeases(input) {
|
|
|
543
558
|
legacyPresence: false,
|
|
544
559
|
migratedCount,
|
|
545
560
|
createdCount: 0,
|
|
546
|
-
receiptPath: null
|
|
561
|
+
receiptPath: null
|
|
547
562
|
};
|
|
548
563
|
}
|
|
549
564
|
for (const legacy of legacyPaths) {
|
|
@@ -562,7 +577,7 @@ export function reconcilePresenceLeases(input) {
|
|
|
562
577
|
startedAt: new Date().toISOString(),
|
|
563
578
|
lastHeartbeat: new Date().toISOString(),
|
|
564
579
|
status: 'preparing',
|
|
565
|
-
schemaVersion: 1
|
|
580
|
+
schemaVersion: 1
|
|
566
581
|
};
|
|
567
582
|
const leasePath = join(leasesDir, `presence-${caller}-${workflowId}.json`);
|
|
568
583
|
const tmpPath = `${leasePath}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -572,7 +587,11 @@ export function reconcilePresenceLeases(input) {
|
|
|
572
587
|
migratedCount += 1;
|
|
573
588
|
}
|
|
574
589
|
catch (err) {
|
|
575
|
-
conflicts.push({
|
|
590
|
+
conflicts.push({
|
|
591
|
+
code: 'PEAKS_LEASE_IO_FAILED',
|
|
592
|
+
source: legacy,
|
|
593
|
+
message: err.message
|
|
594
|
+
});
|
|
576
595
|
}
|
|
577
596
|
}
|
|
578
597
|
if (createdCount > 0) {
|
|
@@ -580,18 +599,20 @@ export function reconcilePresenceLeases(input) {
|
|
|
580
599
|
schemaVersion: 1,
|
|
581
600
|
migratedCount,
|
|
582
601
|
sources: legacyPaths,
|
|
583
|
-
ts: new Date().toISOString()
|
|
602
|
+
ts: new Date().toISOString()
|
|
584
603
|
};
|
|
585
604
|
try {
|
|
586
605
|
writeFileSync(receiptPath, JSON.stringify(receipt, null, 2), 'utf8');
|
|
587
606
|
}
|
|
588
|
-
catch {
|
|
607
|
+
catch {
|
|
608
|
+
/* best-effort */
|
|
609
|
+
}
|
|
589
610
|
}
|
|
590
611
|
return {
|
|
591
612
|
conflicts,
|
|
592
613
|
legacyPresence: legacyPaths.length > 0,
|
|
593
614
|
migratedCount,
|
|
594
615
|
createdCount,
|
|
595
|
-
receiptPath: createdCount > 0 ? receiptPath : null
|
|
616
|
+
receiptPath: createdCount > 0 ? receiptPath : null
|
|
596
617
|
};
|
|
597
618
|
}
|
|
@@ -42,7 +42,9 @@ function readSettingsObject(serialized) {
|
|
|
42
42
|
/** The `env` object of a serialized settings file, or `undefined`. */
|
|
43
43
|
function readEnvObject(serialized) {
|
|
44
44
|
const env = readSettingsObject(serialized)?.env;
|
|
45
|
-
return typeof env === 'object' && env !== null && !Array.isArray(env)
|
|
45
|
+
return typeof env === 'object' && env !== null && !Array.isArray(env)
|
|
46
|
+
? env
|
|
47
|
+
: undefined;
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
48
50
|
* The top-level keys this function's template is allowed to DECIDE. Every other
|
|
@@ -156,8 +158,8 @@ const PEAKS_GITIGNORE_SNIPPET = [
|
|
|
156
158
|
'.claude/settings.local.json',
|
|
157
159
|
'# Offline template copy (.peaks/.claude-settings-template.json): written by',
|
|
158
160
|
'# `peaks workspace init` as a manual-recovery anchor. The source-of-truth is',
|
|
159
|
-
|
|
160
|
-
|
|
161
|
+
"# peaks-loop's own `buildClaudeSettingsLocalJson()` — NOT this committed copy.",
|
|
162
|
+
"# Gitignored so the init flow's drift-driven refresh does not show up as",
|
|
161
163
|
'# "modified" in `git status` on every release bump. Recovery path: re-run',
|
|
162
164
|
'# `peaks workspace init` to regenerate; or copy from peaks-loop source.',
|
|
163
165
|
'# Both patterns below are PROJECT-ROOT-relative, so this snippet must land',
|
|
@@ -167,13 +169,13 @@ const PEAKS_GITIGNORE_SNIPPET = [
|
|
|
167
169
|
'# `repair-exclude` / `repair-index` / pre-dispatch preflight / post-slice',
|
|
168
170
|
'# auto-refresh copies `.codegraph/config.json` here before rewriting it, so',
|
|
169
171
|
'# this file is LOCAL CHURN: a committed one is silently replaced by the next',
|
|
170
|
-
|
|
172
|
+
"# repair. Upstream's own `.codegraph/.gitignore` does not cover it (it names",
|
|
171
173
|
'# *.db / *.db-wal / *.db-shm, cache/, *.log and .dirty only) and `.codegraph/`',
|
|
172
174
|
'# is NOT ignored wholesale downstream, so without this line a consumer project',
|
|
173
175
|
'# commits a file peaks-loop rewrites under it.',
|
|
174
176
|
'#',
|
|
175
177
|
'# ONLY the backup, never `config.json` itself: upstream deliberately keeps',
|
|
176
|
-
|
|
178
|
+
"# that config committable (it is a project's include/exclude policy, and",
|
|
177
179
|
'# committing it is how a team shares it), so ignoring it would hide a file',
|
|
178
180
|
'# people mean to commit. A rollback copy is the opposite kind of file.',
|
|
179
181
|
'.codegraph/config.json.bak',
|
|
@@ -28,7 +28,10 @@ export function planRuntimeCleanup(sessions, options) {
|
|
|
28
28
|
eligible.push(s.sid);
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
|
-
skipped.push({
|
|
31
|
+
skipped.push({
|
|
32
|
+
sid: s.sid,
|
|
33
|
+
reason: `fresh: age=${s.ageHours.toFixed(1)}h < cutoff=${cutoffHours}h`
|
|
34
|
+
});
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
return { eligible, skipped };
|
|
@@ -24,7 +24,8 @@ function rebindCurrentCallerBinding(projectRoot, sessionId) {
|
|
|
24
24
|
try {
|
|
25
25
|
callerId = resolveCallerProjection({ projectRoot, env: process.env }).callerId;
|
|
26
26
|
}
|
|
27
|
-
catch {
|
|
27
|
+
catch {
|
|
28
|
+
// TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
28
29
|
return false;
|
|
29
30
|
}
|
|
30
31
|
return updateCallerBindingSessionId(projectRoot, callerId, sessionId);
|
|
@@ -85,7 +86,14 @@ function isDateStampedSiblingId(name) {
|
|
|
85
86
|
import { detectMissingProjectStandards } from '../standards/missing-standards-detector.js';
|
|
86
87
|
import { detectLanguage, executeProjectStandardsInit } from '../standards/project-standards-service.js';
|
|
87
88
|
const SESSION_ID_PATTERN = /^\d{4}-\d{2}-\d{2}-[a-z][a-z0-9-]*[a-z0-9]$/;
|
|
88
|
-
const PROHIBITED_SUFFIXES = [
|
|
89
|
+
const PROHIBITED_SUFFIXES = [
|
|
90
|
+
'session',
|
|
91
|
+
'work',
|
|
92
|
+
'task',
|
|
93
|
+
'test',
|
|
94
|
+
'temp',
|
|
95
|
+
'tmp'
|
|
96
|
+
];
|
|
89
97
|
// Auto-generated session ID pattern: YYYY-MM-DD-session-<6位hex>
|
|
90
98
|
const AUTO_SESSION_PATTERN = /^\d{4}-\d{2}-\d{2}-session-[a-f0-9]{6}$/;
|
|
91
99
|
/**
|
|
@@ -186,7 +194,7 @@ export async function initWorkspace(options) {
|
|
|
186
194
|
// is `$HOME`) resolved to `$HOME` and did exactly that — `.peaks/`,
|
|
187
195
|
// `.gitignore`, `.claude/settings.local.json` and a codegraph index, all in
|
|
188
196
|
// the user's home. Enforced here as well as at the CLI so a non-CLI caller
|
|
189
|
-
//
|
|
197
|
+
// cannot reach the same write by another door.
|
|
190
198
|
assertWritableProjectRoot(options.projectRoot);
|
|
191
199
|
// Phase 6 refactor (slice 2026-06-05-change-id-as-unit-of-work) +
|
|
192
200
|
// slice 006 (2026-06-06-change-folder-simplify-and-lazy-role-subdirs) +
|
|
@@ -319,7 +327,7 @@ export async function initWorkspace(options) {
|
|
|
319
327
|
// Refuse to rebind without explicit authorization.
|
|
320
328
|
previousSessionId = existingSessionId;
|
|
321
329
|
const existingSessionDir = join(runtimeRoot, existingSessionId);
|
|
322
|
-
if (await isDirectory(existingSessionDir) && !options.allowSessionRebind) {
|
|
330
|
+
if ((await isDirectory(existingSessionDir)) && !options.allowSessionRebind) {
|
|
323
331
|
const { readdirSync } = await import('node:fs');
|
|
324
332
|
const entries = readdirSync(existingSessionDir);
|
|
325
333
|
if (entries.length > 0) {
|
|
@@ -11,7 +11,7 @@ import { join, posix } from 'node:path';
|
|
|
11
11
|
*/
|
|
12
12
|
const LEGACY_DOTFILES = [
|
|
13
13
|
'.peaks-init-hooks-decision.json',
|
|
14
|
-
'.peaks-openspec-opt-in.json'
|
|
14
|
+
'.peaks-openspec-opt-in.json'
|
|
15
15
|
];
|
|
16
16
|
const STATE_DIR_NAME = '_state';
|
|
17
17
|
export function isLegacyDecisionDotfile(name) {
|
|
@@ -8,7 +8,7 @@ export function parseGitWorktreePorcelain(raw) {
|
|
|
8
8
|
path: current.path,
|
|
9
9
|
head: current.head,
|
|
10
10
|
branch: current.branch,
|
|
11
|
-
prunable: current.prunable
|
|
11
|
+
prunable: current.prunable
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
current = null;
|
|
@@ -27,10 +27,20 @@ export function parseGitWorktreePorcelain(raw) {
|
|
|
27
27
|
current = next;
|
|
28
28
|
}
|
|
29
29
|
else if (current !== null && key === 'HEAD') {
|
|
30
|
-
current = {
|
|
30
|
+
current = {
|
|
31
|
+
path: current.path,
|
|
32
|
+
head: value,
|
|
33
|
+
branch: current.branch,
|
|
34
|
+
prunable: current.prunable
|
|
35
|
+
};
|
|
31
36
|
}
|
|
32
37
|
else if (current !== null && key === 'branch') {
|
|
33
|
-
current = {
|
|
38
|
+
current = {
|
|
39
|
+
path: current.path,
|
|
40
|
+
head: current.head,
|
|
41
|
+
branch: value.replace(/^refs\/heads\//, ''),
|
|
42
|
+
prunable: current.prunable
|
|
43
|
+
};
|
|
34
44
|
}
|
|
35
45
|
else if (current !== null && key === 'prunable') {
|
|
36
46
|
current = { path: current.path, head: current.head, branch: current.branch, prunable: true };
|
|
@@ -11,7 +11,7 @@ export function reconcileHostWorktrees(input) {
|
|
|
11
11
|
cwd: input.projectRoot,
|
|
12
12
|
encoding: 'utf8',
|
|
13
13
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
14
|
-
windowsHide: true
|
|
14
|
+
windowsHide: true
|
|
15
15
|
});
|
|
16
16
|
records = parseGitWorktreePorcelain(raw);
|
|
17
17
|
}
|
|
@@ -22,7 +22,7 @@ export function reconcileHostWorktrees(input) {
|
|
|
22
22
|
const leaseResult = listLeasesSync(storeDir, {
|
|
23
23
|
existsSync,
|
|
24
24
|
readdir: (path) => readdirSync(path),
|
|
25
|
-
readFile: (path) => readFileSync(path, 'utf8')
|
|
25
|
+
readFile: (path) => readFileSync(path, 'utf8')
|
|
26
26
|
});
|
|
27
27
|
const leases = leaseResult.kind === 'ok' ? leaseResult.leases : [];
|
|
28
28
|
const leaseByPath = new Map(leases.map((lease) => [resolve(lease.path), lease.leaseId]));
|
|
@@ -33,8 +33,12 @@ export function reconcileHostWorktrees(input) {
|
|
|
33
33
|
return {
|
|
34
34
|
...record,
|
|
35
35
|
managedLeaseId,
|
|
36
|
-
state: record.prunable ? 'prunable' : managedLeaseId === null ? 'unleased' : 'managed'
|
|
36
|
+
state: record.prunable ? 'prunable' : managedLeaseId === null ? 'unleased' : 'managed'
|
|
37
37
|
};
|
|
38
38
|
});
|
|
39
|
-
return {
|
|
39
|
+
return {
|
|
40
|
+
hostRoot,
|
|
41
|
+
findings,
|
|
42
|
+
unmanaged: findings.filter((finding) => finding.state !== 'managed')
|
|
43
|
+
};
|
|
40
44
|
}
|
|
@@ -14,25 +14,42 @@ export function removeRegisteredWorktree(input) {
|
|
|
14
14
|
execFileSync('git', ['worktree', 'remove', '--force', input.worktreePath], {
|
|
15
15
|
cwd: input.projectRoot,
|
|
16
16
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
17
|
-
windowsHide: true
|
|
17
|
+
windowsHide: true
|
|
18
|
+
});
|
|
19
|
+
execFileSync('git', ['worktree', 'prune'], {
|
|
20
|
+
cwd: input.projectRoot,
|
|
21
|
+
stdio: 'ignore',
|
|
22
|
+
windowsHide: true
|
|
18
23
|
});
|
|
19
|
-
execFileSync('git', ['worktree', 'prune'], { cwd: input.projectRoot, stdio: 'ignore', windowsHide: true });
|
|
20
24
|
return { removed: !existsSync(input.worktreePath), strategy: 'git' };
|
|
21
25
|
}
|
|
22
26
|
catch (error) {
|
|
23
27
|
if (process.platform !== 'win32') {
|
|
24
|
-
return {
|
|
28
|
+
return {
|
|
29
|
+
removed: false,
|
|
30
|
+
strategy: 'none',
|
|
31
|
+
error: error instanceof Error ? error.message : String(error)
|
|
32
|
+
};
|
|
25
33
|
}
|
|
26
34
|
try {
|
|
27
|
-
rmSync(windowsLongPath(input.worktreePath), {
|
|
28
|
-
|
|
35
|
+
rmSync(windowsLongPath(input.worktreePath), {
|
|
36
|
+
recursive: true,
|
|
37
|
+
force: true,
|
|
38
|
+
maxRetries: 3,
|
|
39
|
+
retryDelay: 100
|
|
40
|
+
});
|
|
41
|
+
execFileSync('git', ['worktree', 'prune'], {
|
|
42
|
+
cwd: input.projectRoot,
|
|
43
|
+
stdio: 'ignore',
|
|
44
|
+
windowsHide: true
|
|
45
|
+
});
|
|
29
46
|
return { removed: !existsSync(input.worktreePath), strategy: 'windows-long-path' };
|
|
30
47
|
}
|
|
31
48
|
catch (fallbackError) {
|
|
32
49
|
return {
|
|
33
50
|
removed: false,
|
|
34
51
|
strategy: 'none',
|
|
35
|
-
error: fallbackError instanceof Error ? fallbackError.message : String(fallbackError)
|
|
52
|
+
error: fallbackError instanceof Error ? fallbackError.message : String(fallbackError)
|
|
36
53
|
};
|
|
37
54
|
}
|
|
38
55
|
}
|
|
@@ -34,5 +34,7 @@ export function findManagedSkillJunctionReferences(input) {
|
|
|
34
34
|
function isInside(parent, candidate) {
|
|
35
35
|
const normalizedParent = resolve(parent).toLowerCase();
|
|
36
36
|
const normalizedCandidate = resolve(candidate).toLowerCase();
|
|
37
|
-
return normalizedCandidate === normalizedParent ||
|
|
37
|
+
return (normalizedCandidate === normalizedParent ||
|
|
38
|
+
normalizedCandidate.startsWith(`${normalizedParent}\\`) ||
|
|
39
|
+
normalizedCandidate.startsWith(`${normalizedParent}/`));
|
|
38
40
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* worktree-lease-types — the pure declaration surface of the worktree lease
|
|
3
|
+
* store (`worktree-lease.ts`).
|
|
4
|
+
*
|
|
5
|
+
* Slice 2026-07-29-worktree-l2-extended Part 1 owns the lease behavior; this
|
|
6
|
+
* module owns only the shapes (lifecycle status, lease record, creation draft,
|
|
7
|
+
* and the list-read result). `worktree-lease.ts` imports and re-exports every
|
|
8
|
+
* name here, so importers keep resolving them from the original path.
|
|
9
|
+
*/
|
|
10
|
+
export type WorktreeLeaseStatus = 'active' | 'released' | 'expired' | 'gc';
|
|
11
|
+
export interface WorktreeLease {
|
|
12
|
+
/** Random 16-hex lease id; emitted to the operator as the lease handle. */
|
|
13
|
+
readonly leaseId: string;
|
|
14
|
+
/** The peaks request id (rid) that the lease was spawned for. */
|
|
15
|
+
readonly rid: string;
|
|
16
|
+
/** Sub-agent role (rd | qa | ui | sc | prd | general-purpose | ...). */
|
|
17
|
+
readonly role: string;
|
|
18
|
+
/** Absolute worktree path on disk (under .peaks/_runtime/<sid>/worktrees/<leaseId>/). */
|
|
19
|
+
readonly path: string;
|
|
20
|
+
/** Branch name (one of the worktree's --branch / -b args). */
|
|
21
|
+
readonly branch: string;
|
|
22
|
+
/** Unix epoch ms when the lease was created. */
|
|
23
|
+
readonly createdAt: number;
|
|
24
|
+
/** Unix epoch ms when the lease expires. */
|
|
25
|
+
readonly expiresAt: number;
|
|
26
|
+
/** Operator-supplied purpose text (audit log). */
|
|
27
|
+
readonly purpose: string;
|
|
28
|
+
/** Lifecycle status; updated by `releaseLease` / `markExpired`. */
|
|
29
|
+
readonly status: WorktreeLeaseStatus;
|
|
30
|
+
/** Sub-agent batch / dispatch ids that have consumed this lease. */
|
|
31
|
+
readonly consumedBySubAgents: ReadonlyArray<string>;
|
|
32
|
+
}
|
|
33
|
+
/** Subset of WorktreeLease that the CLI writes on creation. Status starts at 'active'. */
|
|
34
|
+
export type WorktreeLeaseDraft = Omit<WorktreeLease, 'status' | 'consumedBySubAgents'>;
|
|
35
|
+
/**
|
|
36
|
+
* Pure: read every lease file under the session's lease store dir.
|
|
37
|
+
* Returns leases in the order returned by `fs.readdir` (no sort).
|
|
38
|
+
* Malformed files are surfaced as `{ file, error }` records so the caller
|
|
39
|
+
* (the `list` CLI) can warn without aborting the whole list. Missing
|
|
40
|
+
* directory is not an error — it returns an empty leases array.
|
|
41
|
+
*/
|
|
42
|
+
export interface LeaseReadError {
|
|
43
|
+
readonly file: string;
|
|
44
|
+
readonly error: string;
|
|
45
|
+
}
|
|
46
|
+
export type LeaseListResult = {
|
|
47
|
+
readonly kind: 'ok';
|
|
48
|
+
readonly leases: ReadonlyArray<WorktreeLease>;
|
|
49
|
+
readonly errors: ReadonlyArray<LeaseReadError>;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: 'store-missing';
|
|
52
|
+
readonly storeDir: string;
|
|
53
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* worktree-lease-types — the pure declaration surface of the worktree lease
|
|
3
|
+
* store (`worktree-lease.ts`).
|
|
4
|
+
*
|
|
5
|
+
* Slice 2026-07-29-worktree-l2-extended Part 1 owns the lease behavior; this
|
|
6
|
+
* module owns only the shapes (lifecycle status, lease record, creation draft,
|
|
7
|
+
* and the list-read result). `worktree-lease.ts` imports and re-exports every
|
|
8
|
+
* name here, so importers keep resolving them from the original path.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
@@ -24,33 +24,10 @@
|
|
|
24
24
|
* implicitly authorizes worktree operations on its path (the hook
|
|
25
25
|
* integration is Part 2 of this slice).
|
|
26
26
|
*/
|
|
27
|
+
import type { LeaseListResult, WorktreeLease, WorktreeLeaseDraft } from './worktree-lease-types.js';
|
|
28
|
+
export type { LeaseListResult, LeaseReadError, WorktreeLease, WorktreeLeaseDraft, WorktreeLeaseStatus } from './worktree-lease-types.js';
|
|
27
29
|
export declare const DEFAULT_TTL_BY_ROLE: Readonly<Record<string, number>>;
|
|
28
30
|
export declare const DEFAULT_TTL_MS: number | undefined;
|
|
29
|
-
export type WorktreeLeaseStatus = 'active' | 'released' | 'expired' | 'gc';
|
|
30
|
-
export interface WorktreeLease {
|
|
31
|
-
/** Random 16-hex lease id; emitted to the operator as the lease handle. */
|
|
32
|
-
readonly leaseId: string;
|
|
33
|
-
/** The peaks request id (rid) that the lease was spawned for. */
|
|
34
|
-
readonly rid: string;
|
|
35
|
-
/** Sub-agent role (rd | qa | ui | sc | prd | general-purpose | ...). */
|
|
36
|
-
readonly role: string;
|
|
37
|
-
/** Absolute worktree path on disk (under .peaks/_runtime/<sid>/worktrees/<leaseId>/). */
|
|
38
|
-
readonly path: string;
|
|
39
|
-
/** Branch name (one of the worktree's --branch / -b args). */
|
|
40
|
-
readonly branch: string;
|
|
41
|
-
/** Unix epoch ms when the lease was created. */
|
|
42
|
-
readonly createdAt: number;
|
|
43
|
-
/** Unix epoch ms when the lease expires. */
|
|
44
|
-
readonly expiresAt: number;
|
|
45
|
-
/** Operator-supplied purpose text (audit log). */
|
|
46
|
-
readonly purpose: string;
|
|
47
|
-
/** Lifecycle status; updated by `releaseLease` / `markExpired`. */
|
|
48
|
-
readonly status: WorktreeLeaseStatus;
|
|
49
|
-
/** Sub-agent batch / dispatch ids that have consumed this lease. */
|
|
50
|
-
readonly consumedBySubAgents: ReadonlyArray<string>;
|
|
51
|
-
}
|
|
52
|
-
/** Subset of WorktreeLease that the CLI writes on creation. Status starts at 'active'. */
|
|
53
|
-
export type WorktreeLeaseDraft = Omit<WorktreeLease, 'status' | 'consumedBySubAgents'>;
|
|
54
31
|
/**
|
|
55
32
|
* Compose a deterministic lease path under the per-session runtime dir.
|
|
56
33
|
* The function is pure: same inputs → same output. The caller passes
|
|
@@ -102,25 +79,6 @@ export declare function recordConsumption(lease: WorktreeLease, subAgentId: stri
|
|
|
102
79
|
* but `isLeaseActive` returns false so consumers skip the lease.
|
|
103
80
|
*/
|
|
104
81
|
export declare function isLeaseActive(lease: WorktreeLease, now?: number): boolean;
|
|
105
|
-
/**
|
|
106
|
-
* Pure: read every lease file under the session's lease store dir.
|
|
107
|
-
* Returns leases in the order returned by `fs.readdir` (no sort).
|
|
108
|
-
* Malformed files are surfaced as `{ file, error }` records so the caller
|
|
109
|
-
* (the `list` CLI) can warn without aborting the whole list. Missing
|
|
110
|
-
* directory is not an error — it returns an empty leases array.
|
|
111
|
-
*/
|
|
112
|
-
export interface LeaseReadError {
|
|
113
|
-
readonly file: string;
|
|
114
|
-
readonly error: string;
|
|
115
|
-
}
|
|
116
|
-
export type LeaseListResult = {
|
|
117
|
-
readonly kind: 'ok';
|
|
118
|
-
readonly leases: ReadonlyArray<WorktreeLease>;
|
|
119
|
-
readonly errors: ReadonlyArray<LeaseReadError>;
|
|
120
|
-
} | {
|
|
121
|
-
readonly kind: 'store-missing';
|
|
122
|
-
readonly storeDir: string;
|
|
123
|
-
};
|
|
124
82
|
/**
|
|
125
83
|
* List every lease file under the session's lease store dir.
|
|
126
84
|
*
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Array.isArray` written so that it does NOT narrow.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS (S10, 2026-09-20). TypeScript declares `Array.isArray` as
|
|
5
|
+
* `(arg: any) => arg is any[]`. That is right for an `unknown` argument and
|
|
6
|
+
* WRONG for an already-typed one: applied to a `readonly SliceNode[]`, the
|
|
7
|
+
* guard narrows the value to `any[]`, so every later element access
|
|
8
|
+
* (`n.id`, `e.from`, …) is an `any` access. `@typescript-eslint/no-unsafe-*`
|
|
9
|
+
* then reports the widening, not the caller's intent — and the guard was
|
|
10
|
+
* measuring "is this an array at runtime?", which it still does below.
|
|
11
|
+
*
|
|
12
|
+
* Measured effect of the widening at the S10 census: 107 of the 817 TS
|
|
13
|
+
* `no-unsafe-*` findings across 7 files (slice-dag, workflow-graph-store,
|
|
14
|
+
* workflow-inflight-probe, spec-service, contract-store, eslint-runner,
|
|
15
|
+
* api-diff-openapi). Those files hold values that are ALREADY correctly typed;
|
|
16
|
+
* `Array.isArray` was the only thing discarding the type.
|
|
17
|
+
*
|
|
18
|
+
* Returning plain `boolean` is the honest shape here: it reports the runtime
|
|
19
|
+
* fact and asserts nothing about the type. A predicate like
|
|
20
|
+
* `value is readonly T[]` would silence the same findings with an unchecked
|
|
21
|
+
* assertion — the same offence as a cast — which this slice is explicitly
|
|
22
|
+
* forbidden from adding.
|
|
23
|
+
*
|
|
24
|
+
* Consequence at call sites: after `if (!isArray(x)) throw`, TypeScript does
|
|
25
|
+
* NOT know `x` is defined, because a `boolean` return cannot narrow. A site
|
|
26
|
+
* that also needs defined-ness must say so — write
|
|
27
|
+
* `if (x === undefined || !isArray(x)) throw`, which is what the call sites
|
|
28
|
+
* below do. That is the price of not asserting, and it is paid in the open.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isArray(value: unknown): boolean;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Array.isArray` written so that it does NOT narrow.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS (S10, 2026-09-20). TypeScript declares `Array.isArray` as
|
|
5
|
+
* `(arg: any) => arg is any[]`. That is right for an `unknown` argument and
|
|
6
|
+
* WRONG for an already-typed one: applied to a `readonly SliceNode[]`, the
|
|
7
|
+
* guard narrows the value to `any[]`, so every later element access
|
|
8
|
+
* (`n.id`, `e.from`, …) is an `any` access. `@typescript-eslint/no-unsafe-*`
|
|
9
|
+
* then reports the widening, not the caller's intent — and the guard was
|
|
10
|
+
* measuring "is this an array at runtime?", which it still does below.
|
|
11
|
+
*
|
|
12
|
+
* Measured effect of the widening at the S10 census: 107 of the 817 TS
|
|
13
|
+
* `no-unsafe-*` findings across 7 files (slice-dag, workflow-graph-store,
|
|
14
|
+
* workflow-inflight-probe, spec-service, contract-store, eslint-runner,
|
|
15
|
+
* api-diff-openapi). Those files hold values that are ALREADY correctly typed;
|
|
16
|
+
* `Array.isArray` was the only thing discarding the type.
|
|
17
|
+
*
|
|
18
|
+
* Returning plain `boolean` is the honest shape here: it reports the runtime
|
|
19
|
+
* fact and asserts nothing about the type. A predicate like
|
|
20
|
+
* `value is readonly T[]` would silence the same findings with an unchecked
|
|
21
|
+
* assertion — the same offence as a cast — which this slice is explicitly
|
|
22
|
+
* forbidden from adding.
|
|
23
|
+
*
|
|
24
|
+
* Consequence at call sites: after `if (!isArray(x)) throw`, TypeScript does
|
|
25
|
+
* NOT know `x` is defined, because a `boolean` return cannot narrow. A site
|
|
26
|
+
* that also needs defined-ness must say so — write
|
|
27
|
+
* `if (x === undefined || !isArray(x)) throw`, which is what the call sites
|
|
28
|
+
* below do. That is the price of not asserting, and it is paid in the open.
|
|
29
|
+
*/
|
|
30
|
+
export function isArray(value) {
|
|
31
|
+
return Array.isArray(value);
|
|
32
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal, finding-free building blocks for `format-md-compact.ts`.
|
|
3
|
+
*
|
|
4
|
+
* Split verbatim from the main module for the file-size cap campaign; the
|
|
5
|
+
* public surface (`formatMdCompact` / `FormatMdCompactOptions`) is re-exported
|
|
6
|
+
* from `format-md-compact.ts`, so importers keep pointing at the same path.
|
|
7
|
+
* This module is imported by both `src/` and `packages/` through that path.
|
|
8
|
+
*/
|
|
9
|
+
export declare const FENCE_MARKER_RE: RegExp;
|
|
10
|
+
export declare const TABLE_ROW_RE: RegExp;
|
|
11
|
+
export declare const TABLE_ALIGN_ROW_RE: RegExp;
|
|
12
|
+
export declare const ATX_HEADING_RE: RegExp;
|
|
13
|
+
export declare const HEADING_LINE_RE: RegExp;
|
|
14
|
+
export declare const SETEXT_UNDERLINE_RE: RegExp;
|
|
15
|
+
export interface ParsedFrontmatter {
|
|
16
|
+
raw: string;
|
|
17
|
+
description: string | null;
|
|
18
|
+
body: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function splitFrontmatter(input: string): ParsedFrontmatter;
|
|
21
|
+
export declare function isFenceOpenLine(line: string): boolean;
|
|
22
|
+
export declare function isFenceCloseLine(line: string, insideFence: boolean): boolean;
|
|
23
|
+
export declare function isTableLine(line: string): boolean;
|
|
24
|
+
export declare function computeSetextUnderlines(lines: string[]): Set<number>;
|
|
25
|
+
export declare function isDecorativeHorizontalRule(line: string): boolean;
|
|
26
|
+
export declare function collapseMultiBlanks(lines: string[]): string[];
|