peaks-loop 4.1.1 → 4.1.3
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/.claude-plugin/marketplace.json +136 -47
- package/CHANGELOG.md +106 -0
- package/README-en.md +4 -4
- package/README.md +25 -4
- package/bin/node-floor.mjs +59 -0
- package/bin/peaks.js +13 -0
- package/config/eslint/tsconfig.lint.json +2 -1
- package/contracts/readonly-argv-whitelist.json +211 -0
- package/dist/cli/cli-helpers.d.ts +0 -1
- package/dist/cli/cli-helpers.js +0 -1
- package/dist/cli/commands/_cli-error-envelope.js +0 -3
- package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
- package/dist/cli/commands/adapter-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.d.ts +0 -1
- package/dist/cli/commands/api-diff-commands.js +0 -1
- package/dist/cli/commands/audit-artifact-runners.d.ts +16 -0
- package/dist/cli/commands/audit-artifact-runners.js +170 -0
- package/dist/cli/commands/audit-command-shared.d.ts +97 -0
- package/dist/cli/commands/audit-command-shared.js +60 -0
- package/dist/cli/commands/audit-commands.d.ts +7 -31
- package/dist/cli/commands/audit-commands.js +65 -477
- package/dist/cli/commands/audit-goal-runners.d.ts +17 -0
- package/dist/cli/commands/audit-goal-runners.js +114 -0
- package/dist/cli/commands/audit-red-lines-runners.d.ts +11 -0
- package/dist/cli/commands/audit-red-lines-runners.js +43 -0
- package/dist/cli/commands/audit-refusal-data.d.ts +23 -0
- package/dist/cli/commands/audit-refusal-data.js +69 -0
- package/dist/cli/commands/audit-static-runners.d.ts +13 -0
- package/dist/cli/commands/audit-static-runners.js +139 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
- package/dist/cli/commands/await-runners.d.ts +11 -0
- package/dist/cli/commands/await-runners.js +148 -0
- package/dist/cli/commands/bee-commands.d.ts +0 -2
- package/dist/cli/commands/bee-commands.js +0 -2
- package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
- package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
- package/dist/cli/commands/changeset-commands.d.ts +0 -2
- package/dist/cli/commands/changeset-commands.js +0 -2
- package/dist/cli/commands/code-auto-compact-command.d.ts +3 -0
- package/dist/cli/commands/code-auto-compact-command.js +124 -0
- package/dist/cli/commands/code-auto-compact-envelope.d.ts +22 -0
- package/dist/cli/commands/code-auto-compact-envelope.js +39 -0
- package/dist/cli/commands/code-commands.d.ts +0 -3
- package/dist/cli/commands/code-commands.js +0 -3
- package/dist/cli/commands/code-context-audit-command.d.ts +3 -0
- package/dist/cli/commands/code-context-audit-command.js +68 -0
- package/dist/cli/commands/code-context-now-command.d.ts +3 -0
- package/dist/cli/commands/code-context-now-command.js +124 -0
- package/dist/cli/commands/code-context-now-envelope.d.ts +66 -0
- package/dist/cli/commands/code-context-now-envelope.js +136 -0
- package/dist/cli/commands/code-context-now-mapping.d.ts +27 -0
- package/dist/cli/commands/code-context-now-mapping.js +43 -0
- package/dist/cli/commands/code-emit-handoff-command.d.ts +3 -0
- package/dist/cli/commands/code-emit-handoff-command.js +99 -0
- package/dist/cli/commands/code-gate-command.d.ts +0 -1
- package/dist/cli/commands/code-gate-command.js +0 -1
- package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
- package/dist/cli/commands/code-gate-step-08-command.js +139 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
- package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
- package/dist/cli/commands/code-job-shape-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
- package/dist/cli/commands/code-mode-gate-commands.js +0 -3
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +0 -4
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
- package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
- package/dist/cli/commands/code-mode-status-command.js +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
- package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
- package/dist/cli/commands/code-post-compact-detect-command.d.ts +3 -0
- package/dist/cli/commands/code-post-compact-detect-command.js +50 -0
- package/dist/cli/commands/code-run-command.js +0 -1
- package/dist/cli/commands/code-runtime-commands.d.ts +9 -46
- package/dist/cli/commands/code-runtime-commands.js +20 -687
- package/dist/cli/commands/code-runtime-session.d.ts +1 -0
- package/dist/cli/commands/code-runtime-session.js +15 -0
- package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
- package/dist/cli/commands/codegraph-command-runtime.js +19 -7
- package/dist/cli/commands/codegraph-commands.js +20 -193
- package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
- package/dist/cli/commands/codegraph-init-command.js +162 -0
- package/dist/cli/commands/codegraph-status-command.js +5 -6
- package/dist/cli/commands/compact-command.d.ts +6 -3
- package/dist/cli/commands/compact-command.js +12 -563
- package/dist/cli/commands/compact-dry-run-command.d.ts +3 -0
- package/dist/cli/commands/compact-dry-run-command.js +87 -0
- package/dist/cli/commands/compact-force-command.d.ts +3 -0
- package/dist/cli/commands/compact-force-command.js +98 -0
- package/dist/cli/commands/compact-harness-window-command.d.ts +3 -0
- package/dist/cli/commands/compact-harness-window-command.js +174 -0
- package/dist/cli/commands/compact-history-command.d.ts +3 -0
- package/dist/cli/commands/compact-history-command.js +89 -0
- package/dist/cli/commands/compact-read-commands.d.ts +3 -0
- package/dist/cli/commands/compact-read-commands.js +123 -0
- package/dist/cli/commands/compact-settle-command.d.ts +3 -0
- package/dist/cli/commands/compact-settle-command.js +130 -0
- package/dist/cli/commands/compact-shared.d.ts +9 -0
- package/dist/cli/commands/compact-shared.js +26 -0
- package/dist/cli/commands/container-commands.d.ts +0 -1
- package/dist/cli/commands/container-commands.js +0 -1
- package/dist/cli/commands/context-commands.d.ts +0 -1
- package/dist/cli/commands/context-commands.js +0 -1
- package/dist/cli/commands/core/doctor-command.d.ts +0 -1
- package/dist/cli/commands/core/doctor-command.js +0 -9
- package/dist/cli/commands/core/memory-command.js +0 -1
- package/dist/cli/commands/core/session-command.js +0 -14
- package/dist/cli/commands/core/skill-command.d.ts +1 -44
- package/dist/cli/commands/core/skill-command.js +13 -550
- package/dist/cli/commands/core/skill-context-verdict.d.ts +38 -0
- package/dist/cli/commands/core/skill-context-verdict.js +63 -0
- package/dist/cli/commands/core/skill-generated-config-notice.d.ts +41 -0
- package/dist/cli/commands/core/skill-generated-config-notice.js +75 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-heartbeat-commands.js +50 -0
- package/dist/cli/commands/core/skill-presence-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-commands.js +123 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-presence-housekeeping-commands.js +165 -0
- package/dist/cli/commands/core/skill-registry-commands.d.ts +3 -0
- package/dist/cli/commands/core/skill-registry-commands.js +117 -0
- package/dist/cli/commands/core/skill-runbook-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-runbook-command.js +29 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
- package/dist/cli/commands/core-artifact-commands.js +0 -1
- package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
- package/dist/cli/commands/cron-commands-actions.js +0 -2
- package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
- package/dist/cli/commands/cron-commands-schedule.js +0 -1
- package/dist/cli/commands/cron-commands.d.ts +0 -1
- package/dist/cli/commands/cron-commands.js +0 -2
- package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
- package/dist/cli/commands/cron-scheduler-commands.js +0 -1
- package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
- package/dist/cli/commands/cron-scheduler-persist.js +0 -5
- package/dist/cli/commands/dashboard-summary.d.ts +0 -1
- package/dist/cli/commands/dispatch-command-spec.d.ts +2 -0
- package/dist/cli/commands/dispatch-command-spec.js +62 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -1
- package/dist/cli/commands/dispatch-commands.js +159 -802
- package/dist/cli/commands/dispatch-detached-branch.d.ts +3 -0
- package/dist/cli/commands/dispatch-detached-branch.js +58 -0
- package/dist/cli/commands/dispatch-envelope.d.ts +36 -0
- package/dist/cli/commands/dispatch-envelope.js +104 -0
- package/dist/cli/commands/dispatch-from-dag.js +0 -4
- package/dist/cli/commands/dispatch-isolation-lease.d.ts +17 -0
- package/dist/cli/commands/dispatch-isolation-lease.js +149 -0
- package/dist/cli/commands/dispatch-preflight.d.ts +7 -0
- package/dist/cli/commands/dispatch-preflight.js +105 -0
- package/dist/cli/commands/dispatch-prompt-blocks.d.ts +10 -0
- package/dist/cli/commands/dispatch-prompt-blocks.js +56 -0
- package/dist/cli/commands/dispatch-prompt-composition.d.ts +30 -0
- package/dist/cli/commands/dispatch-prompt-composition.js +171 -0
- package/dist/cli/commands/dispatch-record-write.d.ts +24 -0
- package/dist/cli/commands/dispatch-record-write.js +96 -0
- package/dist/cli/commands/dispatch-tool-call.d.ts +15 -0
- package/dist/cli/commands/dispatch-tool-call.js +128 -0
- package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
- package/dist/cli/commands/e2e-verify.d.ts +0 -1
- package/dist/cli/commands/ecc-commands.d.ts +0 -1
- package/dist/cli/commands/evolution-command-shared.d.ts +78 -0
- package/dist/cli/commands/evolution-command-shared.js +107 -0
- package/dist/cli/commands/evolution-commands.d.ts +11 -2
- package/dist/cli/commands/evolution-commands.js +19 -351
- package/dist/cli/commands/evolution-evaluate-command.d.ts +24 -0
- package/dist/cli/commands/evolution-evaluate-command.js +138 -0
- package/dist/cli/commands/evolution-propose-command.d.ts +23 -0
- package/dist/cli/commands/evolution-propose-command.js +145 -0
- package/dist/cli/commands/evolution-status-command.d.ts +17 -0
- package/dist/cli/commands/evolution-status-command.js +41 -0
- package/dist/cli/commands/evolution-verdict-commands.d.ts +30 -0
- package/dist/cli/commands/evolution-verdict-commands.js +100 -0
- package/dist/cli/commands/feedback-commands.d.ts +0 -1
- package/dist/cli/commands/feedback-commands.js +0 -2
- package/dist/cli/commands/finalize-accumulator.d.ts +44 -0
- package/dist/cli/commands/finalize-accumulator.js +55 -0
- package/dist/cli/commands/finalize-branches.d.ts +34 -0
- package/dist/cli/commands/finalize-branches.js +119 -0
- package/dist/cli/commands/finalize-runners.d.ts +3 -0
- package/dist/cli/commands/finalize-runners.js +92 -0
- package/dist/cli/commands/finalize-selection.d.ts +65 -0
- package/dist/cli/commands/finalize-selection.js +35 -0
- package/dist/cli/commands/fixture-commands.d.ts +0 -2
- package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
- package/dist/cli/commands/gate-commands-enforce.js +0 -4
- package/dist/cli/commands/gate-commands.js +26 -10
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
- package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
- package/dist/cli/commands/heartbeat-commands-action.js +0 -6
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
- package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
- package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
- package/dist/cli/commands/heartbeat-commands.js +0 -1
- package/dist/cli/commands/hooks-commands.js +0 -11
- package/dist/cli/commands/ide-commands.d.ts +0 -1
- package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
- package/dist/cli/commands/job-add-slice-command.js +0 -2
- package/dist/cli/commands/job-checkpoint-commands.d.ts +3 -0
- package/dist/cli/commands/job-checkpoint-commands.js +157 -0
- package/dist/cli/commands/job-command-shared.d.ts +109 -0
- package/dist/cli/commands/job-command-shared.js +72 -0
- package/dist/cli/commands/job-commands.d.ts +4 -64
- package/dist/cli/commands/job-commands.js +42 -556
- package/dist/cli/commands/job-cost-check-command.d.ts +3 -0
- package/dist/cli/commands/job-cost-check-command.js +41 -0
- package/dist/cli/commands/job-init-status-commands.d.ts +3 -0
- package/dist/cli/commands/job-init-status-commands.js +149 -0
- package/dist/cli/commands/job-run-commands.d.ts +3 -0
- package/dist/cli/commands/job-run-commands.js +97 -0
- package/dist/cli/commands/job-state-root.d.ts +35 -0
- package/dist/cli/commands/job-state-root.js +76 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
- package/dist/cli/commands/lease-metrics-commands.js +0 -1
- package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
- package/dist/cli/commands/lease-stats-commands.js +0 -1
- package/dist/cli/commands/log-commands.d.ts +0 -2
- package/dist/cli/commands/log-commands.js +0 -3
- package/dist/cli/commands/loop-eval-capture-index.d.ts +4 -0
- package/dist/cli/commands/loop-eval-capture-index.js +44 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +8 -5
- package/dist/cli/commands/loop-eval-commands.js +12 -629
- package/dist/cli/commands/loop-eval-eval-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-eval-command.js +168 -0
- package/dist/cli/commands/loop-eval-monotonic-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-monotonic-command.js +90 -0
- package/dist/cli/commands/loop-eval-parents.d.ts +7 -0
- package/dist/cli/commands/loop-eval-parents.js +20 -0
- package/dist/cli/commands/loop-eval-run-code.d.ts +7 -0
- package/dist/cli/commands/loop-eval-run-code.js +40 -0
- package/dist/cli/commands/loop-eval-run-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-run-command.js +113 -0
- package/dist/cli/commands/loop-eval-spec-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-commands.js +165 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.d.ts +3 -0
- package/dist/cli/commands/loop-eval-spec-lint-command.js +42 -0
- package/dist/cli/commands/loop-eval-workflow-commands.d.ts +3 -0
- package/dist/cli/commands/loop-eval-workflow-commands.js +141 -0
- package/dist/cli/commands/mcp-commands.d.ts +10 -0
- package/dist/cli/commands/mcp-commands.js +157 -0
- package/dist/cli/commands/memory-commands.d.ts +0 -1
- package/dist/cli/commands/memory-commands.js +0 -1
- package/dist/cli/commands/observability-commands.d.ts +0 -6
- package/dist/cli/commands/observability-commands.js +0 -6
- package/dist/cli/commands/outer-cache-commands.js +0 -2
- package/dist/cli/commands/playwright-commands.d.ts +0 -1
- package/dist/cli/commands/playwright-commands.js +0 -1
- package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.d.ts +0 -1
- package/dist/cli/commands/prd-commands.js +0 -2
- package/dist/cli/commands/preferences-commands.js +0 -2
- package/dist/cli/commands/primer-command.d.ts +0 -1
- package/dist/cli/commands/primer-command.js +0 -1
- package/dist/cli/commands/project-commands.js +0 -1
- package/dist/cli/commands/qa-commands.d.ts +0 -1
- package/dist/cli/commands/qa-commands.js +0 -2
- package/dist/cli/commands/release-commands.js +0 -9
- package/dist/cli/commands/request-command-options.d.ts +49 -0
- package/dist/cli/commands/request-command-options.js +1 -0
- package/dist/cli/commands/request-commands.d.ts +3 -10
- package/dist/cli/commands/request-commands.js +17 -532
- package/dist/cli/commands/request-format-helpers.d.ts +0 -1
- package/dist/cli/commands/request-format-helpers.js +0 -2
- package/dist/cli/commands/request-init-command.d.ts +3 -0
- package/dist/cli/commands/request-init-command.js +100 -0
- package/dist/cli/commands/request-lint-command.d.ts +3 -0
- package/dist/cli/commands/request-lint-command.js +50 -0
- package/dist/cli/commands/request-list-command.d.ts +10 -0
- package/dist/cli/commands/request-list-command.js +53 -0
- package/dist/cli/commands/request-repair-status-command.d.ts +3 -0
- package/dist/cli/commands/request-repair-status-command.js +61 -0
- package/dist/cli/commands/request-show-command.d.ts +3 -0
- package/dist/cli/commands/request-show-command.js +56 -0
- package/dist/cli/commands/request-transition-command.d.ts +3 -0
- package/dist/cli/commands/request-transition-command.js +122 -0
- package/dist/cli/commands/request-transition-failures.d.ts +8 -0
- package/dist/cli/commands/request-transition-failures.js +90 -0
- package/dist/cli/commands/request-transition-hooks.d.ts +50 -0
- package/dist/cli/commands/request-transition-hooks.js +115 -0
- package/dist/cli/commands/request-transition-preflight.d.ts +10 -0
- package/dist/cli/commands/request-transition-preflight.js +107 -0
- package/dist/cli/commands/runtime-commands.d.ts +0 -1
- package/dist/cli/commands/sc-commands.js +0 -1
- package/dist/cli/commands/scan-command-shared.d.ts +96 -0
- package/dist/cli/commands/scan-command-shared.js +83 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -2
- package/dist/cli/commands/scan-commands.js +23 -463
- package/dist/cli/commands/scan-inventory-commands.d.ts +3 -0
- package/dist/cli/commands/scan-inventory-commands.js +96 -0
- package/dist/cli/commands/scan-project-commands.d.ts +3 -0
- package/dist/cli/commands/scan-project-commands.js +65 -0
- package/dist/cli/commands/scan-scope-commands.d.ts +3 -0
- package/dist/cli/commands/scan-scope-commands.js +149 -0
- package/dist/cli/commands/scan-scope-helpers.d.ts +8 -0
- package/dist/cli/commands/scan-scope-helpers.js +54 -0
- package/dist/cli/commands/scan-structural-commands.d.ts +3 -0
- package/dist/cli/commands/scan-structural-commands.js +113 -0
- package/dist/cli/commands/session-24h-mode.d.ts +0 -1
- package/dist/cli/commands/session-24h-mode.js +0 -2
- package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
- package/dist/cli/commands/session-checkpoint-command.js +0 -1
- package/dist/cli/commands/session-resume-command.d.ts +0 -1
- package/dist/cli/commands/session-resume-command.js +0 -1
- package/dist/cli/commands/shadcn-commands.js +0 -2
- package/dist/cli/commands/share-commands.d.ts +12 -71
- package/dist/cli/commands/share-commands.js +47 -569
- package/dist/cli/commands/share-error-hints.d.ts +14 -0
- package/dist/cli/commands/share-error-hints.js +38 -0
- package/dist/cli/commands/share-identity.d.ts +13 -0
- package/dist/cli/commands/share-identity.js +22 -0
- package/dist/cli/commands/share-record-paths.d.ts +37 -0
- package/dist/cli/commands/share-record-paths.js +68 -0
- package/dist/cli/commands/share-runners.d.ts +3 -0
- package/dist/cli/commands/share-runners.js +158 -0
- package/dist/cli/commands/shared-read-runners.d.ts +3 -0
- package/dist/cli/commands/shared-read-runners.js +51 -0
- package/dist/cli/commands/skill-search-commands.d.ts +0 -2
- package/dist/cli/commands/slice-check-command.d.ts +3 -0
- package/dist/cli/commands/slice-check-command.js +54 -0
- package/dist/cli/commands/slice-commands.d.ts +2 -22
- package/dist/cli/commands/slice-commands.js +18 -519
- package/dist/cli/commands/slice-decompose-artifacts.d.ts +18 -0
- package/dist/cli/commands/slice-decompose-artifacts.js +79 -0
- package/dist/cli/commands/slice-decompose-command.d.ts +3 -0
- package/dist/cli/commands/slice-decompose-command.js +123 -0
- package/dist/cli/commands/slice-integrate-commands.js +0 -1
- package/dist/cli/commands/slice-list-commands.d.ts +3 -0
- package/dist/cli/commands/slice-list-commands.js +182 -0
- package/dist/cli/commands/slice-pick-command.d.ts +3 -0
- package/dist/cli/commands/slice-pick-command.js +60 -0
- package/dist/cli/commands/slice-plan-command.d.ts +24 -0
- package/dist/cli/commands/slice-plan-command.js +111 -0
- package/dist/cli/commands/spill-demo-command.d.ts +0 -1
- package/dist/cli/commands/statusline-commands.js +0 -4
- package/dist/cli/commands/sub-agent/detached.js +0 -2
- package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
- package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
- package/dist/cli/commands/sub-agent-shared.js +0 -5
- package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
- package/dist/cli/commands/tech-commands.d.ts +0 -4
- package/dist/cli/commands/tech-commands.js +0 -4
- package/dist/cli/commands/vendor-detect.d.ts +0 -3
- package/dist/cli/commands/vendor-detect.js +0 -2
- package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
- package/dist/cli/commands/verdict-aggregate-command.js +0 -7
- package/dist/cli/commands/vm-commands.d.ts +0 -1
- package/dist/cli/commands/vm-commands.js +5 -29
- package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
- package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
- package/dist/cli/commands/vm-status-command.d.ts +3 -0
- package/dist/cli/commands/vm-status-command.js +50 -0
- package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
- package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-commands.d.ts +10 -1
- package/dist/cli/commands/workflow-commands.js +6 -608
- package/dist/cli/commands/workflow-gate-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-gate-commands.js +116 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
- package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
- package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
- package/dist/cli/commands/workflow-plan-helpers.d.ts +48 -0
- package/dist/cli/commands/workflow-plan-helpers.js +103 -0
- package/dist/cli/commands/workflow-planning-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-planning-commands.js +56 -0
- package/dist/cli/commands/workflow-swarm-actions.d.ts +7 -0
- package/dist/cli/commands/workflow-swarm-actions.js +109 -0
- package/dist/cli/commands/workflow-swarm-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-swarm-commands.js +138 -0
- package/dist/cli/commands/workflow-tech-actions.d.ts +10 -0
- package/dist/cli/commands/workflow-tech-actions.js +150 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
- package/dist/cli/commands/workspace/clean-command.js +0 -1
- package/dist/cli/commands/workspace/helpers.d.ts +0 -1
- package/dist/cli/commands/workspace/helpers.js +0 -1
- package/dist/cli/commands/workspace/init-actions.d.ts +10 -0
- package/dist/cli/commands/workspace/init-actions.js +199 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.d.ts +10 -0
- package/dist/cli/commands/workspace/init-codegraph-stake.js +54 -0
- package/dist/cli/commands/workspace/init-command.d.ts +8 -130
- package/dist/cli/commands/workspace/init-command.js +59 -640
- package/dist/cli/commands/workspace/init-context.d.ts +58 -0
- package/dist/cli/commands/workspace/init-context.js +121 -0
- package/dist/cli/commands/workspace/init-envelope.d.ts +3 -0
- package/dist/cli/commands/workspace/init-envelope.js +34 -0
- package/dist/cli/commands/workspace/init-failures.d.ts +3 -0
- package/dist/cli/commands/workspace/init-failures.js +84 -0
- package/dist/cli/commands/workspace/init-hooks-decision.d.ts +24 -0
- package/dist/cli/commands/workspace/init-hooks-decision.js +189 -0
- package/dist/cli/commands/workspace/init-options.d.ts +102 -0
- package/dist/cli/commands/workspace/init-options.js +1 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
- package/dist/cli/commands/workspace/migrate-command.js +0 -2
- package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
- package/dist/cli/commands/workspace/reconcile-command.js +0 -3
- package/dist/cli/commands/workspace-commands.d.ts +0 -2
- package/dist/cli/commands/workspace-commands.js +0 -4
- package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-commands.js +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
- package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
- package/dist/cli/commands/worktree-lease-commands.d.ts +10 -6
- package/dist/cli/commands/worktree-lease-commands.js +42 -513
- package/dist/cli/commands/worktree-lease-gc-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-gc-command.js +117 -0
- package/dist/cli/commands/worktree-lease-git.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-git.js +48 -0
- package/dist/cli/commands/worktree-lease-list-command.d.ts +12 -0
- package/dist/cli/commands/worktree-lease-list-command.js +100 -0
- package/dist/cli/commands/worktree-lease-load.d.ts +37 -0
- package/dist/cli/commands/worktree-lease-load.js +28 -0
- package/dist/cli/commands/worktree-lease-release-command.d.ts +13 -0
- package/dist/cli/commands/worktree-lease-release-command.js +105 -0
- package/dist/cli/commands/worktree-lease-renew-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-renew-command.js +99 -0
- package/dist/cli/commands/worktree-lease-session.d.ts +22 -0
- package/dist/cli/commands/worktree-lease-session.js +29 -0
- package/dist/cli/commands/worktree-lease-spawn-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-spawn-command.js +119 -0
- package/dist/cli/commands/worktree-lease-status-command.d.ts +11 -0
- package/dist/cli/commands/worktree-lease-status-command.js +86 -0
- package/dist/cli/commands/worktree-lease-store.d.ts +19 -0
- package/dist/cli/commands/worktree-lease-store.js +24 -0
- package/dist/cli/program.js +5 -7
- package/dist/reporters/bdd-reporter.js +0 -1
- package/dist/services/24h-mode/auto-engage.d.ts +0 -1
- package/dist/services/24h-mode/auto-engage.js +0 -1
- package/dist/services/24h-mode/decider.d.ts +0 -3
- package/dist/services/24h-mode/decider.js +0 -3
- package/dist/services/24h-mode/index.d.ts +0 -2
- package/dist/services/24h-mode/index.js +0 -2
- package/dist/services/24h-mode/state.d.ts +0 -1
- package/dist/services/24h-mode/state.js +0 -1
- package/dist/services/24h-mode/store.d.ts +0 -1
- package/dist/services/24h-mode/store.js +0 -1
- package/dist/services/adapter/adapter-registry.js +0 -1
- package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
- package/dist/services/artifacts/artifact-prerequisites.js +0 -19
- package/dist/services/artifacts/artifact-templates.d.ts +0 -1
- package/dist/services/artifacts/artifact-templates.js +0 -1
- package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
- package/dist/services/artifacts/request-artifact-service.js +0 -12
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
- package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
- package/dist/services/audit/artifact-writer.d.ts +0 -1
- package/dist/services/audit/artifact-writer.js +0 -1
- package/dist/services/audit/decision-writer.js +3 -1
- package/dist/services/audit/enforcer-liveness.js +0 -1
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
- package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
- package/dist/services/audit/red-line-audit-input.d.ts +11 -0
- package/dist/services/audit/red-line-audit-input.js +103 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
- package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
- package/dist/services/audit/types.d.ts +0 -2
- package/dist/services/audit/types.js +0 -2
- package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
- package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
- package/dist/services/audit-independent/security-audit-service.js +0 -2
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
- package/dist/services/best-practice/language-detector.js +0 -1
- package/dist/services/best-practice/output-formatter.d.ts +0 -1
- package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
- package/dist/services/capability-audit-service/types.d.ts +1 -3
- package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
- package/dist/services/changeset/changeset-check-service.d.ts +0 -3
- package/dist/services/changeset/changeset-check-service.js +0 -3
- package/dist/services/classify/classify-service.d.ts +0 -1
- package/dist/services/classify/classify-service.js +0 -1
- package/dist/services/classify/classify-types.d.ts +0 -1
- package/dist/services/classify/classify-types.js +0 -1
- package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
- package/dist/services/code/auto-compact-lifecycle.js +0 -10
- package/dist/services/code/auto-compact-modes.d.ts +0 -3
- package/dist/services/code/auto-compact-modes.js +0 -3
- package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
- package/dist/services/code/auto-compact-orchestrator.js +0 -29
- package/dist/services/code/batch-heartbeat-poller.js +0 -1
- package/dist/services/code/compact-event-settle.js +0 -1
- package/dist/services/code/dag-orchestrator.d.ts +0 -1
- package/dist/services/code/dag-orchestrator.js +0 -1
- package/dist/services/code/mode-gate-types.d.ts +0 -2
- package/dist/services/code/mode-gate-types.js +0 -1
- package/dist/services/code/mode-gate.d.ts +0 -5
- package/dist/services/code/mode-gate.js +0 -5
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
- package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
- package/dist/services/code/orchestrator-can-do.d.ts +0 -4
- package/dist/services/code/orchestrator-can-do.js +0 -3
- package/dist/services/code/status-line-renderer.js +0 -1
- package/dist/services/code-review/ecc-bridge.d.ts +0 -1
- package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
- package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
- package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
- package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
- package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
- package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
- package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
- package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
- package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
- package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
- package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
- package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
- package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
- package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
- package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
- package/dist/services/codegraph/codegraph-project-config.js +90 -0
- package/dist/services/codegraph/codegraph-service.d.ts +1 -2
- package/dist/services/codegraph/codegraph-service.js +11 -11
- package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
- package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
- package/dist/services/comments/comment-audit.d.ts +15 -4
- package/dist/services/comments/comment-audit.js +25 -4
- package/dist/services/comments/comment-citations.d.ts +8 -2
- package/dist/services/comments/comment-citations.js +31 -33
- package/dist/services/comments/comment-hygiene.d.ts +29 -3
- package/dist/services/comments/comment-hygiene.js +40 -3
- package/dist/services/comments/comment-prune.js +52 -4
- package/dist/services/comments/comment-spans.d.ts +30 -0
- package/dist/services/comments/comment-spans.js +266 -0
- package/dist/services/comments/prune-apply.d.ts +22 -0
- package/dist/services/comments/prune-apply.js +69 -2
- package/dist/services/compact/decision-tables.d.ts +0 -2
- package/dist/services/compact/decision-tables.js +0 -2
- package/dist/services/compact/request-transition-hook.js +0 -2
- package/dist/services/compact-history/compact-history-service.d.ts +0 -2
- package/dist/services/compact-history/compact-history-service.js +0 -1
- package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
- package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
- package/dist/services/config/config-rollback.js +0 -1
- package/dist/services/config/config-safety.d.ts +0 -1
- package/dist/services/config/config-safety.js +0 -1
- package/dist/services/config/config-service.d.ts +0 -1
- package/dist/services/config/config-service.js +0 -1
- package/dist/services/config/model-routing.d.ts +0 -3
- package/dist/services/config/model-routing.js +0 -5
- package/dist/services/container/container-lease.d.ts +0 -1
- package/dist/services/container/container-lease.js +0 -1
- package/dist/services/context/artifact-meta.js +0 -1
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
- package/dist/services/context/auto-compact-dispatcher.js +0 -14
- package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
- package/dist/services/context/auto-compact-reader.d.ts +0 -2
- package/dist/services/context/auto-compact-reader.js +0 -7
- package/dist/services/context/auto-compact-types.d.ts +0 -11
- package/dist/services/context/auto-compact-types.js +0 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
- package/dist/services/context/build-dispatch-system-prompt.js +8 -27
- package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
- package/dist/services/context/codegraph-unavailable-block.js +77 -0
- package/dist/services/context/context-audit-hint.d.ts +0 -1
- package/dist/services/context/context-audit-hint.js +0 -1
- package/dist/services/context/context-audit.d.ts +0 -1
- package/dist/services/context/context-audit.js +0 -1
- package/dist/services/context/harness-window-config.d.ts +0 -4
- package/dist/services/context/harness-window-config.js +0 -4
- package/dist/services/context/main-session-monitor.d.ts +0 -2
- package/dist/services/context/main-session-monitor.js +0 -2
- package/dist/services/context/memory-index-reader.d.ts +0 -2
- package/dist/services/context/memory-index-reader.js +0 -1
- package/dist/services/context/memory-preflight-config.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.d.ts +0 -1
- package/dist/services/context/memory-preflight-service.js +0 -3
- package/dist/services/context/memory-preflight-support.d.ts +0 -5
- package/dist/services/context/post-compact-reinjection.d.ts +0 -1
- package/dist/services/context/post-compact-reinjection.js +0 -1
- package/dist/services/context/summary-view.d.ts +0 -1
- package/dist/services/context/summary-view.js +0 -1
- package/dist/services/crystallization/crystallization-service.d.ts +5 -11
- package/dist/services/crystallization/crystallization-service.js +3 -11
- package/dist/services/crystallization/crystallization-store.d.ts +6 -6
- package/dist/services/dispatch/await-batch-helpers.js +0 -3
- package/dist/services/dispatch/await-batch.d.ts +0 -1
- package/dist/services/dispatch/await-batch.js +0 -4
- package/dist/services/dispatch/batch-counter.js +0 -1
- package/dist/services/dispatch/conflict-replay.d.ts +0 -1
- package/dist/services/dispatch/conflict-replay.js +0 -1
- package/dist/services/dispatch/contract-store.d.ts +0 -2
- package/dist/services/dispatch/contract-store.js +0 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
- package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
- package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
- package/dist/services/dispatch/dispatch-record-writer.js +0 -21
- package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
- package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
- package/dist/services/dispatch/e2e-fixtures.js +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
- package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
- package/dist/services/dispatch/isolation-lease.d.ts +0 -2
- package/dist/services/dispatch/isolation-lease.js +0 -2
- package/dist/services/dispatch/service-shutdown.js +0 -1
- package/dist/services/dispatch/session-capsule.js +0 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
- package/dist/services/dispatch/slice-dag.js +0 -2
- package/dist/services/dispatch/stage-enum.d.ts +0 -1
- package/dist/services/dispatch/stage-enum.js +0 -1
- package/dist/services/dispatch/startup-timeout.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
- package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
- package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
- package/dist/services/dispatch/test-tool-detection.js +0 -2
- package/dist/services/distribution/mcp-install-runner.d.ts +21 -0
- package/dist/services/distribution/mcp-install-runner.js +59 -0
- package/dist/services/distribution/mcp-install.d.ts +95 -0
- package/dist/services/distribution/mcp-install.js +179 -0
- package/dist/services/distribution/plugin-manifest.d.ts +97 -0
- package/dist/services/distribution/plugin-manifest.js +126 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
- package/dist/services/doctor/doctor-service/index.d.ts +0 -1
- package/dist/services/doctor/doctor-service/index.js +0 -1
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
- package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
- package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
- package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
- package/dist/services/doctor/doctor-service/types.d.ts +0 -5
- package/dist/services/doctor/doctor-service/types.js +0 -1
- package/dist/services/doctor/doctor-service.d.ts +0 -1
- package/dist/services/doctor/doctor-service.js +0 -2
- package/dist/services/env/shell-probe.js +0 -1
- package/dist/services/evidence/evidence-generator.js +0 -8
- package/dist/services/evolution/evolution-constraints.d.ts +0 -2
- package/dist/services/evolution/evolution-constraints.js +0 -2
- package/dist/services/evolution/evolution-service.d.ts +2 -12
- package/dist/services/evolution/evolution-service.js +0 -9
- package/dist/services/evolution/evolution-store.d.ts +6 -8
- package/dist/services/evolution/evolution-store.js +1 -3
- package/dist/services/evolution/evolution-types.d.ts +0 -2
- package/dist/services/evolution/evolution-types.js +0 -6
- package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
- package/dist/services/evolution/independent-evaluator-runner.js +0 -1
- package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
- package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
- package/dist/services/feedback/feedback-promotion-service.js +0 -10
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
- package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
- package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
- package/dist/services/final-review/final-review-evidence-budget.js +0 -5
- package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
- package/dist/services/final-review/final-review-evidence-sources.js +0 -1
- package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
- package/dist/services/final-review/final-review-output-budget.js +0 -3
- package/dist/services/final-review/final-review-service.d.ts +0 -1
- package/dist/services/final-review/final-review-service.js +0 -1
- package/dist/services/fixture/fixture-capture-service.js +0 -1
- package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
- package/dist/services/fixture/fixture-sanitize-service.js +0 -3
- package/dist/services/fresh-context/config.js +0 -1
- package/dist/services/fresh-context/fresh-context-block.js +0 -1
- package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
- package/dist/services/fresh-context/trigger-scan.js +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
- package/dist/services/handoff/handoff-parser.d.ts +0 -1
- package/dist/services/handoff/handoff-parser.js +0 -1
- package/dist/services/handoff/handoff-types.d.ts +0 -1
- package/dist/services/handoff/handoff-types.js +0 -1
- package/dist/services/handoff/handoff-writer.d.ts +0 -1
- package/dist/services/handoff/handoff-writer.js +0 -1
- package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
- package/dist/services/hooks/auto-compact-hook-install.js +0 -1
- package/dist/services/hooks/mcp-surface-gate.d.ts +19 -0
- package/dist/services/hooks/mcp-surface-gate.js +87 -0
- package/dist/services/hooks/output.d.ts +0 -1
- package/dist/services/hooks/output.js +0 -1
- package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
- package/dist/services/hooks/pre-tool-code-gate.js +0 -1
- package/dist/services/hooks/presence-marker-detector.js +0 -1
- package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
- package/dist/services/hooks/worktree-authorization-gate.js +0 -1
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -40
- package/dist/services/ide/adapters/claude-code-adapter.js +48 -182
- package/dist/services/ide/adapters/claude-code-local-state.d.ts +28 -0
- package/dist/services/ide/adapters/claude-code-local-state.js +112 -0
- package/dist/services/ide/adapters/claude-code-model-window.d.ts +37 -0
- package/dist/services/ide/adapters/claude-code-model-window.js +113 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/qoder-adapter.js +0 -5
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
- package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
- package/dist/services/ide/adapters/trae-adapter.js +3 -6
- package/dist/services/ide/adapters/zcode-adapter.js +0 -2
- package/dist/services/ide/current-model-detector.js +0 -1
- package/dist/services/ide/hook-protocol.d.ts +0 -2
- package/dist/services/ide/hook-protocol.js +0 -2
- package/dist/services/ide/ide-compact-types.d.ts +0 -7
- package/dist/services/ide/ide-mcp-install-types.d.ts +78 -0
- package/dist/services/ide/ide-mcp-install-types.js +104 -0
- package/dist/services/ide/ide-types.d.ts +45 -13
- package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
- package/dist/services/ide/mcp-tool-matcher.js +84 -0
- package/dist/services/ide/resource-profile.d.ts +0 -1
- package/dist/services/job/job-commit-verification.d.ts +0 -2
- package/dist/services/job/job-commit-verification.js +0 -2
- package/dist/services/job/job-orchestrator.d.ts +0 -1
- package/dist/services/job/job-orchestrator.js +0 -1
- package/dist/services/job/job-progress-store.d.ts +0 -2
- package/dist/services/job/job-progress-store.js +0 -3
- package/dist/services/job/job-types.js +0 -1
- package/dist/services/job-snapshot/snapshot.js +0 -1
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
- package/dist/services/legacy/legacy-detector.js +0 -1
- package/dist/services/lint/npx-resolver.js +7 -0
- package/dist/services/log/log-commands-service.d.ts +0 -2
- package/dist/services/log/log-commands-service.js +0 -2
- package/dist/services/log/logger.d.ts +0 -1
- package/dist/services/log/logger.js +0 -1
- package/dist/services/log/redact.d.ts +0 -1
- package/dist/services/log/redact.js +0 -1
- package/dist/services/log/retention.d.ts +0 -1
- package/dist/services/log/retention.js +0 -1
- package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-service.js +14 -13
- package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
- package/dist/services/loop/loop-bee-relation-store.js +1 -2
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +1 -1
- package/dist/services/loop/loop-release-service.d.ts +3 -3
- package/dist/services/loop/loop-release-service.js +1 -1
- package/dist/services/loop/loop-release-store.d.ts +6 -7
- package/dist/services/loop/loop-release-store.js +0 -1
- package/dist/services/loop/monotonic-guard.d.ts +0 -1
- package/dist/services/loop/monotonic-guard.js +0 -1
- package/dist/services/mcp/cli-executor.d.ts +36 -0
- package/dist/services/mcp/cli-executor.js +97 -0
- package/dist/services/mcp/json-rpc.d.ts +81 -0
- package/dist/services/mcp/json-rpc.js +116 -0
- package/dist/services/mcp/memory-tool.d.ts +3 -0
- package/dist/services/mcp/memory-tool.js +62 -0
- package/dist/services/mcp/server-main.d.ts +1 -0
- package/dist/services/mcp/server-main.js +66 -0
- package/dist/services/mcp/server.d.ts +22 -0
- package/dist/services/mcp/server.js +152 -0
- package/dist/services/mcp/surface.d.ts +62 -0
- package/dist/services/mcp/surface.js +198 -0
- package/dist/services/mcp/tool-core.d.ts +42 -0
- package/dist/services/mcp/tool-core.js +137 -0
- package/dist/services/mcp/tools.d.ts +13 -0
- package/dist/services/mcp/tools.js +58 -0
- package/dist/services/memory/memory-ingest-service.js +0 -1
- package/dist/services/memory/project-context-service.d.ts +0 -1
- package/dist/services/memory/project-context-service.js +0 -1
- package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
- package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
- package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
- package/dist/services/memory/project-memory-service/index/search.js +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
- package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
- package/dist/services/memory/project-memory-service.js +0 -1
- package/dist/services/mode/mode-enforcement.js +0 -1
- package/dist/services/mode/mode-status-service.d.ts +0 -2
- package/dist/services/mode/mode-status-service.js +0 -2
- package/dist/services/observability/aggregation.d.ts +0 -4
- package/dist/services/observability/aggregation.js +0 -6
- package/dist/services/observability/observability-schema.js +0 -1
- package/dist/services/observability/observability-service.d.ts +0 -5
- package/dist/services/observability/observability-service.js +0 -4
- package/dist/services/observability/report-formatter.d.ts +0 -2
- package/dist/services/observability/report-formatter.js +0 -2
- package/dist/services/openspec/artifact-boundary.d.ts +0 -4
- package/dist/services/openspec/artifact-boundary.js +0 -4
- package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
- package/dist/services/openspec/coverage-evidence-reader.js +0 -1
- package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
- package/dist/services/polyrepo/polyrepo-service.js +0 -1
- package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
- package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
- package/dist/services/prd/best-practice-auto-trigger.js +0 -2
- package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
- package/dist/services/prd/gate-evidence-derivation.js +0 -5
- package/dist/services/prd/handoff-auto-regen.js +0 -5
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
- package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
- package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
- package/dist/services/prd/handoff-frontmatter.js +0 -2
- package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
- package/dist/services/prd/handoff-gate-evidence.js +0 -4
- package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
- package/dist/services/prd/handoff-path-resolution.js +0 -10
- package/dist/services/prd/handoff-service.d.ts +0 -2
- package/dist/services/prd/handoff-service.js +0 -2
- package/dist/services/prd/handoff-types.d.ts +0 -2
- package/dist/services/prd/handoff-types.js +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
- package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
- package/dist/services/prd/project-scan-types.d.ts +0 -1
- package/dist/services/prd/project-scan-types.js +0 -1
- package/dist/services/preferences/preferences-service.d.ts +0 -1
- package/dist/services/preferences/preferences-service.js +0 -5
- package/dist/services/preferences/preferences-types.d.ts +0 -14
- package/dist/services/preferences/preferences-types.js +0 -4
- package/dist/services/progress/progress-service.js +0 -1
- package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
- package/dist/services/qa/bdd-test-style-verifier.js +0 -1
- package/dist/services/qa/browser-event-logger.d.ts +0 -1
- package/dist/services/qa/browser-event-logger.js +0 -1
- package/dist/services/qa/browser-restart-detector.d.ts +0 -1
- package/dist/services/qa/browser-restart-detector.js +0 -1
- package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
- package/dist/services/qa/browser-reuse-hint.js +0 -1
- package/dist/services/qa/qa-business-review-state.js +0 -2
- package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
- package/dist/services/qa/screenshot-archive-service.js +0 -1
- package/dist/services/rd/impl.js +0 -1
- package/dist/services/rd/rd-service.d.ts +0 -5
- package/dist/services/rd/rd-service.js +0 -5
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
- package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
- package/dist/services/rd/standards-diagnostic.js +0 -1
- package/dist/services/rd/tactical-stage.js +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
- package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
- package/dist/services/readonly-surface/argv-guard.d.ts +32 -0
- package/dist/services/readonly-surface/argv-guard.js +164 -0
- package/dist/services/readonly-surface/readonly-whitelist.d.ts +147 -0
- package/dist/services/readonly-surface/readonly-whitelist.js +107 -0
- package/dist/services/readonly-surface/whitelist-generator.d.ts +64 -0
- package/dist/services/readonly-surface/whitelist-generator.js +212 -0
- package/dist/services/recommendations/installed-capability-detector.d.ts +0 -1
- package/dist/services/recommendations/installed-capability-detector.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +0 -2
- package/dist/services/release/version-precheck-service.js +0 -3
- package/dist/services/retrospective/retrospective-index.d.ts +0 -1
- package/dist/services/retrospective/retrospective-index.js +0 -1
- package/dist/services/retrospective/retrospective-show.d.ts +0 -1
- package/dist/services/retrospective/retrospective-show.js +0 -1
- package/dist/services/reviewer/model-family.js +0 -1
- package/dist/services/reviewer/reviewer-config.js +0 -1
- package/dist/services/reviewer/reviewer-service.d.ts +0 -1
- package/dist/services/reviewer/reviewer-service.js +0 -3
- package/dist/services/reviewer/selection-strategies.js +0 -1
- package/dist/services/runtime/runtime-detector.js +0 -1
- package/dist/services/runtime/runtime-service.d.ts +0 -2
- package/dist/services/runtime/vendor-adapter.d.ts +0 -7
- package/dist/services/runtime/vendors/claude-code.js +0 -1
- package/dist/services/runtime/vendors/codex.js +0 -1
- package/dist/services/runtime/vendors/copilot.js +0 -1
- package/dist/services/sc/sc-service.js +0 -6
- package/dist/services/scan/acceptance-coverage-service.js +0 -2
- package/dist/services/scan/api-diff-recorded.d.ts +0 -1
- package/dist/services/scan/api-diff-recorded.js +0 -1
- package/dist/services/scan/api-diff-service.d.ts +0 -1
- package/dist/services/scan/api-diff-service.js +0 -1
- package/dist/services/scan/api-diff-types.d.ts +0 -1
- package/dist/services/scan/api-diff-types.js +0 -1
- package/dist/services/scan/archetype-service.js +0 -1
- package/dist/services/scan/file-size-policy.d.ts +0 -1
- package/dist/services/scan/file-size-policy.js +0 -5
- package/dist/services/scan/file-size-scan.d.ts +0 -1
- package/dist/services/security/safe-settings-path.js +0 -1
- package/dist/services/session/binding-store.d.ts +0 -4
- package/dist/services/session/binding-store.js +0 -7
- package/dist/services/session/caller-binding-service.d.ts +0 -6
- package/dist/services/session/caller-binding-service.js +0 -4
- package/dist/services/session/caller-id-types.d.ts +0 -3
- package/dist/services/session/caller-id-types.js +0 -2
- package/dist/services/session/getSessionDir.js +0 -1
- package/dist/services/session/index.js +0 -1
- package/dist/services/session/platform-fallbacks.d.ts +0 -3
- package/dist/services/session/platform-fallbacks.js +0 -3
- package/dist/services/session/resolve-caller-id.d.ts +0 -2
- package/dist/services/session/resolve-caller-id.js +0 -2
- package/dist/services/session/session-binding-bridge.d.ts +0 -2
- package/dist/services/session/session-binding-bridge.js +0 -15
- package/dist/services/session/session-checkpoint-service.d.ts +0 -1
- package/dist/services/session/session-checkpoint-service.js +0 -1
- package/dist/services/session/session-manager.d.ts +0 -8
- package/dist/services/session/session-manager.js +0 -19
- package/dist/services/session/session-resume-service.d.ts +0 -1
- package/dist/services/session/session-resume-service.js +0 -1
- package/dist/services/share/bundle-reader.d.ts +2 -5
- package/dist/services/share/bundle-reader.js +6 -8
- package/dist/services/share/bundle-writer.d.ts +2 -2
- package/dist/services/skill/resume-detector.js +0 -3
- package/dist/services/skill/skill-scheduler.d.ts +0 -1
- package/dist/services/skill/skill-scheduler.js +0 -1
- package/dist/services/skill/skill-search-service.d.ts +0 -2
- package/dist/services/skill/skill-search-service.js +0 -2
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +2 -1
- package/dist/services/skillhub/release-retain.d.ts +2 -2
- package/dist/services/skillhub/release-retain.js +2 -1
- package/dist/services/skillhub/sqlite-store.d.ts +3 -3
- package/dist/services/skillhub/sqlite-store.js +4 -5
- package/dist/services/skills/hooks-codegate-superpowers.d.ts +1 -3
- package/dist/services/skills/hooks-codegate-superpowers.js +26 -14
- package/dist/services/skills/hooks-settings-service.d.ts +0 -2
- package/dist/services/skills/hooks-settings-service.js +10 -8
- package/dist/services/skills/presence-lease-service.d.ts +0 -1
- package/dist/services/skills/presence-lease-service.js +0 -1
- package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
- package/dist/services/skills/session-start-hook-constants.js +0 -4
- package/dist/services/skills/skill-presence-service.d.ts +0 -8
- package/dist/services/skills/skill-presence-service.js +0 -13
- package/dist/services/skills/skill-statusline-model.d.ts +0 -6
- package/dist/services/skills/skill-statusline-model.js +1 -4
- package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
- package/dist/services/skills/skill-statusline-renderer.js +0 -12
- package/dist/services/skills/skill-statusline-service.js +0 -6
- package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
- package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
- package/dist/services/skills/statusline-palette.d.ts +0 -2
- package/dist/services/skills/statusline-palette.js +0 -3
- package/dist/services/slice/slice-archive-service.js +0 -1
- package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
- package/dist/services/slice/slice-benchmark-service.js +0 -1
- package/dist/services/slice/slice-check-service.js +0 -6
- package/dist/services/slice/slice-check-types.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.d.ts +0 -1
- package/dist/services/slice/slice-pick-service.js +0 -1
- package/dist/services/slice/slice-review-state.js +0 -2
- package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
- package/dist/services/sqlite/sqlite-driver.js +159 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
- package/dist/services/standards/ide-aware-standards-service.js +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
- package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
- package/dist/services/standards/migrate-claude-rules-service.js +0 -3
- package/dist/services/standards/migrate-service.d.ts +0 -1
- package/dist/services/standards/migrate-service.js +0 -1
- package/dist/services/standards/missing-standards-detector.d.ts +0 -2
- package/dist/services/standards/missing-standards-detector.js +0 -3
- package/dist/services/standards/project-standards-service.d.ts +0 -1
- package/dist/services/standards/project-standards-service.js +0 -1
- package/dist/services/standards/standards-render.d.ts +0 -1
- package/dist/services/standards/standards-render.js +0 -1
- package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
- package/dist/services/standards/ui-library-dispatch-block.js +0 -1
- package/dist/services/tech/tech-change-id-service.d.ts +0 -7
- package/dist/services/tech/tech-change-id-service.js +0 -7
- package/dist/services/tech/tech-service.js +0 -5
- package/dist/services/verdict/envelope-parsers.d.ts +0 -2
- package/dist/services/verdict/envelope-parsers.js +0 -2
- package/dist/services/verdict/envelopes.d.ts +0 -1
- package/dist/services/vm/vm-lease.js +0 -1
- package/dist/services/web/aria-node.d.ts +0 -1
- package/dist/services/web/bounded-output.d.ts +0 -1
- package/dist/services/web/bounded-output.js +0 -1
- package/dist/services/web/browser-acquire.js +0 -1
- package/dist/services/web/browser-cache-probe.js +0 -1
- package/dist/services/web/browser-session-manager.js +0 -1
- package/dist/services/web/daemon-entry.js +0 -1
- package/dist/services/web/daemon-registry.js +0 -1
- package/dist/services/web/daemon-supervisor.d.ts +4 -3
- package/dist/services/web/daemon-supervisor.js +4 -4
- package/dist/services/web/playwright-loader.js +0 -1
- package/dist/services/web/playwright-types.d.ts +0 -1
- package/dist/services/web/snapshot-pruner.js +0 -1
- package/dist/services/web/untrusted-envelope.d.ts +0 -1
- package/dist/services/web/web-artifact-paths.js +0 -1
- package/dist/services/web/web-client.d.ts +0 -1
- package/dist/services/web/web-daemon-service.js +0 -1
- package/dist/services/web/web-fallback.d.ts +0 -1
- package/dist/services/web/web-fallback.js +0 -1
- package/dist/services/web/web-install-service.js +0 -1
- package/dist/services/web/web-login-profile.js +0 -1
- package/dist/services/web/web-protocol.d.ts +0 -1
- package/dist/services/web/web-protocol.js +0 -1
- package/dist/services/web/web-status-report.js +0 -1
- package/dist/services/workflow/artifact-paths.js +0 -3
- package/dist/services/workflow/autonomous-resume-writer.js +0 -2
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
- package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
- package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
- package/dist/services/workflow/pipeline-verify-service.js +0 -15
- package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
- package/dist/services/workflow/pipeline-verify-types.js +0 -2
- package/dist/services/workflow/plan-reader.d.ts +0 -1
- package/dist/services/workflow/plan-reader.js +0 -5
- package/dist/services/workflow/plan-refresher.js +0 -2
- package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
- package/dist/services/workflow/plan-trigger-detector.js +0 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
- package/dist/services/workflow/workflow-autonomous-service.js +0 -2
- package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
- package/dist/services/workflow/workflow-autonomous-types.js +0 -2
- package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
- package/dist/services/workflow/workflow-graph-types.js +0 -1
- package/dist/services/workflow/workflow-router-service.js +0 -4
- package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
- package/dist/services/workflow/workflow-skip-service.js +0 -1
- package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-lint.js +0 -2
- package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
- package/dist/services/workflow/workflow-spec-types.js +0 -1
- package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
- package/dist/services/workflow/workflow-spec-yaml.js +0 -2
- package/dist/services/workflow/workflow-spec.js +0 -1
- package/dist/services/workflow/workflow-state-store.js +0 -1
- package/dist/services/workspace/claude-settings-template.d.ts +0 -4
- package/dist/services/workspace/claude-settings-template.js +0 -4
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
- package/dist/services/workspace/migrate-service.js +0 -8
- package/dist/services/workspace/migrate-types.d.ts +0 -4
- package/dist/services/workspace/migrate-types.js +0 -1
- package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
- package/dist/services/workspace/reconcile-migrate.js +0 -5
- package/dist/services/workspace/reconcile-service.d.ts +0 -3
- package/dist/services/workspace/reconcile-service.js +0 -7
- package/dist/services/workspace/reconcile-types.d.ts +0 -5
- package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
- package/dist/services/workspace/sid-naming-guard.js +0 -1
- package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
- package/dist/services/workspace/templates/project-scan/index.js +0 -3
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
- package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
- package/dist/services/workspace/workspace-service.d.ts +0 -7
- package/dist/services/workspace/workspace-service.js +0 -16
- package/dist/services/worktree/playwright-profile.js +0 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
- package/dist/services/worktree/worktree-lease-types.js +0 -1
- package/dist/services/worktree/worktree-lease.d.ts +0 -2
- package/dist/services/worktree/worktree-lease.js +0 -2
- package/dist/shared/format-md-compact.d.ts +0 -2
- package/dist/shared/format-md-compact.js +0 -2
- package/dist/shared/incrementing-number.d.ts +0 -1
- package/dist/shared/incrementing-number.js +0 -1
- package/dist/shared/path-utils.d.ts +0 -1
- package/dist/shared/path-utils.js +0 -1
- package/dist/shared/runtime-root.d.ts +0 -1
- package/dist/shared/runtime-root.js +0 -1
- package/dist/shared/stale-policy.d.ts +0 -1
- package/dist/shared/stale-policy.js +0 -1
- package/package.json +24 -11
- package/scripts/canonical-store-link.mjs +296 -0
- package/scripts/canonical-store-prune.mjs +131 -0
- package/scripts/canonical-store.mjs +298 -0
- package/scripts/install-skills-bundles.mjs +233 -0
- package/scripts/install-skills-fs.mjs +148 -0
- package/scripts/install-skills-ide.mjs +279 -0
- package/scripts/install-skills-output-style-default.mjs +196 -0
- package/scripts/install-skills-output-styles.mjs +121 -0
- package/scripts/install-skills-report.mjs +42 -0
- package/scripts/install-skills-user-config.mjs +198 -0
- package/scripts/install-skills.mjs +41 -1279
- package/scripts/watch-tree.mjs +140 -0
- package/scripts/watch.mjs +4 -126
- package/skills/peaks-audit/SKILL.md +3 -3
- package/skills/peaks-status/SKILL.md +31 -13
- package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
- package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Slice 2026-08-05-orchestrator-can-do-probe — service layer for
|
|
3
2
|
* `peaks code orchestrator-can-do`.
|
|
4
3
|
*
|
|
5
4
|
* Encodes the 2026-08-05 lesson (`.peaks/memory/2026-08-05-peaks-code-
|
|
@@ -48,7 +47,6 @@ export type { ContextProbe };
|
|
|
48
47
|
/** Source-code keywords that signal "do NOT Edit/Write directly". */
|
|
49
48
|
export declare const SOURCE_CODE_KEYWORDS: readonly string[];
|
|
50
49
|
/**
|
|
51
|
-
* Slice 2026-08-06-codegate-vendor-neutral — hard-blocked path families.
|
|
52
50
|
* When ANY of these substrings appears in the slice-spec, the orchestrator
|
|
53
51
|
* MUST NOT Edit/Write directly; the probe returns `canDoInSession: false`
|
|
54
52
|
* with `blockers: ["requires-sub-agent-dispatch"]` to force
|
|
@@ -83,7 +81,6 @@ export interface OrchestratorCanDoResult {
|
|
|
83
81
|
readonly subAgentAvailable: boolean;
|
|
84
82
|
/** Diagnostic — which of the 4 boundary questions fired. */
|
|
85
83
|
readonly q1SourceCodeTouched: boolean;
|
|
86
|
-
/** Slice 2026-08-06-codegate-vendor-neutral: did the slice-spec mention a hard-blocked path family (src/, tests/unit/, ...)? When true the probe refuses direct execution. */
|
|
87
84
|
readonly q1HardBlockedPath: boolean;
|
|
88
85
|
readonly q2SubAgentAvailable: boolean;
|
|
89
86
|
readonly q3RequiresUserDecision: boolean;
|
|
@@ -99,7 +96,6 @@ export declare class OrchestratorCanDoError extends Error {
|
|
|
99
96
|
*/
|
|
100
97
|
export declare function detectSourceCodeTouched(sliceSpec: string): boolean;
|
|
101
98
|
/**
|
|
102
|
-
* Slice 2026-08-06-codegate-vendor-neutral — does the slice-spec mention
|
|
103
99
|
* any hard-blocked path family? Pure substring match. When true, the
|
|
104
100
|
* probe returns `canDoInSession: false` with `requires-sub-agent-dispatch`.
|
|
105
101
|
* This is the LLM-side complement to the `pre-tool-code-gate.sh` hook
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Slice 2026-08-05-orchestrator-can-do-probe — service layer for
|
|
3
2
|
* `peaks code orchestrator-can-do`.
|
|
4
3
|
*
|
|
5
4
|
* Encodes the 2026-08-05 lesson (`.peaks/memory/2026-08-05-peaks-code-
|
|
@@ -65,7 +64,6 @@ export const SOURCE_CODE_KEYWORDS = [
|
|
|
65
64
|
'.rs'
|
|
66
65
|
];
|
|
67
66
|
/**
|
|
68
|
-
* Slice 2026-08-06-codegate-vendor-neutral — hard-blocked path families.
|
|
69
67
|
* When ANY of these substrings appears in the slice-spec, the orchestrator
|
|
70
68
|
* MUST NOT Edit/Write directly; the probe returns `canDoInSession: false`
|
|
71
69
|
* with `blockers: ["requires-sub-agent-dispatch"]` to force
|
|
@@ -112,7 +110,6 @@ export function detectSourceCodeTouched(sliceSpec) {
|
|
|
112
110
|
return SOURCE_CODE_KEYWORDS.some((kw) => lower.includes(kw.toLowerCase()));
|
|
113
111
|
}
|
|
114
112
|
/**
|
|
115
|
-
* Slice 2026-08-06-codegate-vendor-neutral — does the slice-spec mention
|
|
116
113
|
* any hard-blocked path family? Pure substring match. When true, the
|
|
117
114
|
* probe returns `canDoInSession: false` with `requires-sub-agent-dispatch`.
|
|
118
115
|
* This is the LLM-side complement to the `pre-tool-code-gate.sh` hook
|
|
@@ -61,7 +61,6 @@ function renderOne(record, now) {
|
|
|
61
61
|
const view = viewSubAgent(record, now);
|
|
62
62
|
const pct = view.progress !== null ? `${view.progress}%` : '?%';
|
|
63
63
|
const ago = view.lastBeatAgoSec !== null ? `${view.lastBeatAgoSec}s ago` : 'no beat';
|
|
64
|
-
// Slice 2026-07-29-dispatch-stall-governance / S2 (AC-2.3) — render
|
|
65
64
|
// never-started distinctly from stale so the orchestrator's eye can
|
|
66
65
|
// tell a sub-agent that never picked up the work apart from one that
|
|
67
66
|
// has gone quiet after starting.
|
|
@@ -81,7 +81,6 @@ export declare const DEFAULT_NATIVE_ECC_AGENT_ID = "ecc:code-reviewer";
|
|
|
81
81
|
* - `dispatch-failed` — Agent tool call threw before returning envelope
|
|
82
82
|
* - `envelope-malformed` — returned value failed `isEccEnvelope` validation
|
|
83
83
|
*
|
|
84
|
-
* Fallback order (RD fan-out, 2026-09-09-ecc-dynamic): native plugin →
|
|
85
84
|
* cache-backed generic agent → inline. The caller (peaks-rd's sub-agent 1
|
|
86
85
|
* contract) inspects `state` and either proceeds with the envelope or records
|
|
87
86
|
* a degradation note in the request artifact body
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// src/services/codegraph/codegraph-autorefresh.ts
|
|
2
2
|
//
|
|
3
|
-
// Slice 2026-09-03-codegraph-autorefresh — Option 1: CLI-internal
|
|
4
3
|
// auto codegraph refresh at the slice-complete boundary.
|
|
5
4
|
//
|
|
6
5
|
// `peaks codegraph index` is incremental + idempotent, so re-running it
|
|
@@ -29,7 +28,6 @@
|
|
|
29
28
|
// human-readable note.
|
|
30
29
|
// - Any unexpected error → return `unavailable` with a note.
|
|
31
30
|
//
|
|
32
|
-
// A2 (`2026-09-17-codegraph-msg-and-refresh`). The old header said
|
|
33
31
|
// "FAIL-SILENT", and it was: both call sites discarded this result's `note`,
|
|
34
32
|
// so a refresh that DID NOT HAPPEN and one that did were indistinguishable
|
|
35
33
|
// to the operator — the same silent-failure class this job exists to close.
|
|
@@ -57,6 +55,7 @@ import { existsSync, statSync } from 'node:fs';
|
|
|
57
55
|
import { join } from 'node:path';
|
|
58
56
|
import { CODEGRAPH_DIR_NAME, CODEGRAPH_MARKER_NAME, createCodegraphInvocation, executeCodegraphInvocation, isCodegraphInitialized } from './codegraph-service.js';
|
|
59
57
|
import { repairCodegraphExcludeFromProject } from './codegraph-exclude-repair.js';
|
|
58
|
+
import { dropSqliteBackendAdvice } from './codegraph-backend-advice.js';
|
|
60
59
|
/**
|
|
61
60
|
* The operator-facing line for a refresh that did not happen, or `null` when
|
|
62
61
|
* there is nothing to report. The ONE place the report/no-report rule lives,
|
|
@@ -109,7 +108,11 @@ function errorMessage(error) {
|
|
|
109
108
|
// posture that warning already ships with).
|
|
110
109
|
const REFRESH_REMEDY = 'Run `peaks codegraph index --project <root>` to refresh the codegraph index.';
|
|
111
110
|
function firstMeaningfulLine(text) {
|
|
112
|
-
|
|
111
|
+
// Upstream writes its SQLite-backend block before anything
|
|
112
|
+
// else, so the raw first line of stderr is a box-drawing frame — and the
|
|
113
|
+
// line after it names a package this project removed. Neither is the
|
|
114
|
+
// failure cause, and this function exists to name the cause.
|
|
115
|
+
const trimmed = dropSqliteBackendAdvice(text).trim();
|
|
113
116
|
if (trimmed.length === 0)
|
|
114
117
|
return 'no upstream output';
|
|
115
118
|
const first = trimmed.split(/\r?\n/)[0];
|
|
@@ -126,7 +129,6 @@ async function selfHealUninitializedCodegraph(projectRoot, runner) {
|
|
|
126
129
|
// A `.codegraph/` dir without a `codegraph.db` is uninitialized:
|
|
127
130
|
// - NOT peaks-loop-managed → foreign schema, never touch it.
|
|
128
131
|
// - peaks-loop-managed → the dangling state left by the pre-fix
|
|
129
|
-
// rid-CG-001 auto-stake (marker stamped, no upstream init). Run
|
|
130
132
|
// init (fast, offline-safe — no full index) so the subsequent
|
|
131
133
|
// index has a schema to write into.
|
|
132
134
|
if (!isCodegraphInitialized(projectRoot)) {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* True when the line is one of the 72-dash frames upstream draws around its
|
|
3
|
+
* blocks.
|
|
4
|
+
*
|
|
5
|
+
* Exported for the failure-note builders, because a frame is never a cause and
|
|
6
|
+
* the block removal alone does not get rid of every one: the frame's CLOSING
|
|
7
|
+
* rule survives whenever the cause line follows it with no blank line between
|
|
8
|
+
* (measured 2026-10-06 against the real binary — `files` on an unreadable store
|
|
9
|
+
* leaves `────…` and then `[ERR] Failed to list files: file is not a database`,
|
|
10
|
+
* and the note quoted the rule).
|
|
11
|
+
*/
|
|
12
|
+
export declare function isBackendRuleLine(raw: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Rewrites the `Backend: wasm` status line and collapses the
|
|
15
|
+
* `WASM SQLite fallback active` block to one note. The match is anchored — a
|
|
16
|
+
* run of block lines ends at the first line that is not a block shape. Output
|
|
17
|
+
* with no wasm advice (notably a `Backend: native` index) passes through
|
|
18
|
+
* byte-for-byte, and the transform is idempotent.
|
|
19
|
+
*/
|
|
20
|
+
export declare function rewriteSqliteBackendAdvice(text: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Removes the block instead of replacing it, for callers that quote one line
|
|
23
|
+
* of upstream output as a failure cause. The status line is still rewritten,
|
|
24
|
+
* so no deleted-package name survives either way.
|
|
25
|
+
*/
|
|
26
|
+
export declare function dropSqliteBackendAdvice(text: string): string;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// src/services/codegraph/codegraph-backend-advice.ts
|
|
2
|
+
//
|
|
3
|
+
// Localizes the SQLite-backend advice the upstream `codegraph` binary prints.
|
|
4
|
+
//
|
|
5
|
+
// It lives in the service layer, not the CLI, because two kinds of consumer
|
|
6
|
+
// need it: the CLI echo paths (re-exported from `codegraph-command-runtime.ts`)
|
|
7
|
+
// and the failure-note builders in `codegraph-autorefresh.ts` and
|
|
8
|
+
// `codegraph-preflight-service.ts`, which may not import from `src/cli`.
|
|
9
|
+
//
|
|
10
|
+
// What is being localized, and why it is wrong here:
|
|
11
|
+
//
|
|
12
|
+
// 1. a status line — `Backend: wasm - slower fallback; run
|
|
13
|
+
// `npm rebuild better-sqlite3``;
|
|
14
|
+
// 2. a runtime block on stderr, framed by 72-box-drawing rules, opening
|
|
15
|
+
// `[CodeGraph] WASM SQLite fallback active (better-sqlite3 unavailable)`
|
|
16
|
+
// and then telling the reader to install C build tools, rebuild the
|
|
17
|
+
// binding, or add the package as a hard dependency, followed by the native
|
|
18
|
+
// loader's absolute search paths.
|
|
19
|
+
//
|
|
20
|
+
// Both were true while `better-sqlite3` was a dependency. This project removed
|
|
21
|
+
// it on purpose — a native addon means a C++ toolchain on every machine that
|
|
22
|
+
// installs the CLI — and put its own stores on Node's built-in `node:sqlite`,
|
|
23
|
+
// so upstream's wasm fallback is permanent and intended, and the advice cannot
|
|
24
|
+
// be followed.
|
|
25
|
+
//
|
|
26
|
+
// Two exports, because the two consumers need different things:
|
|
27
|
+
//
|
|
28
|
+
// - `rewriteSqliteBackendAdvice` for output the reader sees: the block
|
|
29
|
+
// becomes one note saying no action is needed.
|
|
30
|
+
// - `dropSqliteBackendAdvice` for a line being QUOTED as a failure cause:
|
|
31
|
+
// substituting our note there would put filler where the cause belongs, so
|
|
32
|
+
// the block is removed and the next real line surfaces.
|
|
33
|
+
/**
|
|
34
|
+
* The control character that opens an SGR sequence, as a string constant:
|
|
35
|
+
* `no-control-regex` refuses one inside a PATTERN literal, and an SGR sequence
|
|
36
|
+
* begins with it by construction — so escape runs are found by scanning.
|
|
37
|
+
*/
|
|
38
|
+
// eslint-disable-next-line no-magic-numbers -- 27 is the ESC control character
|
|
39
|
+
const escChar = String.fromCharCode(27);
|
|
40
|
+
function sgrRunLength(text, from) {
|
|
41
|
+
if (text[from] !== escChar || text[from + 1] !== '[') {
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
44
|
+
let index = from + 2;
|
|
45
|
+
while (index < text.length && /[0-9;]/.test(text[index] ?? '')) {
|
|
46
|
+
index += 1;
|
|
47
|
+
}
|
|
48
|
+
return (text[index] ?? '') === 'm' ? index + 1 - from : 0;
|
|
49
|
+
}
|
|
50
|
+
/** The text a terminal would actually show for this line. */
|
|
51
|
+
function withoutSgr(text) {
|
|
52
|
+
let out = '';
|
|
53
|
+
for (let index = 0; index < text.length; index += 1) {
|
|
54
|
+
const run = sgrRunLength(text, index);
|
|
55
|
+
if (run > 0) {
|
|
56
|
+
index += run - 1;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
out += text[index];
|
|
60
|
+
}
|
|
61
|
+
return out;
|
|
62
|
+
}
|
|
63
|
+
/** The 72-box-drawing rule upstream frames its blocks with. */
|
|
64
|
+
const RULE_LINE_PATTERN = /^─{20,}$/;
|
|
65
|
+
/** Opens the runtime SQLite-backend block. */
|
|
66
|
+
const BLOCK_INTRO_PATTERN = /^\[CodeGraph\]\s+WASM SQLite fallback active\b/i;
|
|
67
|
+
/** `Backend: wasm …`, judged on the visible line. */
|
|
68
|
+
const BACKEND_WASM_PATTERN = /^(\s*Backend:\s*)wasm\b/i;
|
|
69
|
+
const WASM_STATUS_TEXT = 'wasm (slower fallback — by design: peaks-loop ships no native SQLite addon)';
|
|
70
|
+
/**
|
|
71
|
+
* The line the runtime block collapses to. The yellow the status line was
|
|
72
|
+
* wrapped in goes away with the warning it was coloring: this fallback is not
|
|
73
|
+
* a warning here.
|
|
74
|
+
*/
|
|
75
|
+
const WASM_BACKEND_NOTE = 'note: codegraph is on its wasm SQLite backend (5-10x slower than native). ' +
|
|
76
|
+
"This is intentional: peaks-loop ships no native addon and uses Node's built-in node:sqlite. " +
|
|
77
|
+
'No action needed.';
|
|
78
|
+
/** One line of the block, judged on the text the terminal shows. */
|
|
79
|
+
function isBackendAdvice(raw) {
|
|
80
|
+
const text = withoutSgr(raw).trim();
|
|
81
|
+
if (text.length === 0) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
if (text.includes('better-sqlite3')) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
// The native loader's search paths, and the wrapped command lines.
|
|
88
|
+
if (text.startsWith('→') || text.startsWith('npm ') || text.startsWith('sudo ')) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
return /xcode-select|build-essential|apt install|yum groupinstall|^Indexing and sync will be |^Fix on (?:macOS|Linux):|^Or force-include as a hard dependency|^Verify after fix:|^Native load error:/i.test(text);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* True when the line is one of the 72-dash frames upstream draws around its
|
|
95
|
+
* blocks.
|
|
96
|
+
*
|
|
97
|
+
* Exported for the failure-note builders, because a frame is never a cause and
|
|
98
|
+
* the block removal alone does not get rid of every one: the frame's CLOSING
|
|
99
|
+
* rule survives whenever the cause line follows it with no blank line between
|
|
100
|
+
* (measured 2026-10-06 against the real binary — `files` on an unreadable store
|
|
101
|
+
* leaves `────…` and then `[ERR] Failed to list files: file is not a database`,
|
|
102
|
+
* and the note quoted the rule).
|
|
103
|
+
*/
|
|
104
|
+
export function isBackendRuleLine(raw) {
|
|
105
|
+
return RULE_LINE_PATTERN.test(withoutSgr(raw).trim());
|
|
106
|
+
}
|
|
107
|
+
function isRuleLine(raw) {
|
|
108
|
+
return raw !== undefined && isBackendRuleLine(raw);
|
|
109
|
+
}
|
|
110
|
+
/** The index of the last line the block owns, starting after its intro. A
|
|
111
|
+
* rule belongs to the block only when block content follows it; otherwise it
|
|
112
|
+
* frames something else and stays exactly where it was. */
|
|
113
|
+
function blockBodyEnd(lines, introIndex) {
|
|
114
|
+
let index = introIndex + 1;
|
|
115
|
+
while (index < lines.length) {
|
|
116
|
+
const raw = lines[index] ?? '';
|
|
117
|
+
if (isBackendAdvice(raw) || (isRuleLine(raw) && isBackendAdvice(lines[index + 1] ?? ''))) {
|
|
118
|
+
index += 1;
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
return index - 1;
|
|
124
|
+
}
|
|
125
|
+
function collapseBackendAdvice(text, replacement) {
|
|
126
|
+
const lines = text.split('\n');
|
|
127
|
+
const out = [];
|
|
128
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
129
|
+
const line = lines[index] ?? '';
|
|
130
|
+
const visible = withoutSgr(line);
|
|
131
|
+
const statusMatch = BACKEND_WASM_PATTERN.exec(visible);
|
|
132
|
+
if (statusMatch !== null) {
|
|
133
|
+
out.push(`${statusMatch[1]}${WASM_STATUS_TEXT}`);
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (!BLOCK_INTRO_PATTERN.test(visible)) {
|
|
137
|
+
out.push(line);
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
// The framing rule the block opens with was already emitted: take it back.
|
|
141
|
+
if (isRuleLine(out[out.length - 1])) {
|
|
142
|
+
out.pop();
|
|
143
|
+
}
|
|
144
|
+
out.push(replacement);
|
|
145
|
+
index = blockBodyEnd(lines, index);
|
|
146
|
+
}
|
|
147
|
+
return out.join('\n');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Rewrites the `Backend: wasm` status line and collapses the
|
|
151
|
+
* `WASM SQLite fallback active` block to one note. The match is anchored — a
|
|
152
|
+
* run of block lines ends at the first line that is not a block shape. Output
|
|
153
|
+
* with no wasm advice (notably a `Backend: native` index) passes through
|
|
154
|
+
* byte-for-byte, and the transform is idempotent.
|
|
155
|
+
*/
|
|
156
|
+
export function rewriteSqliteBackendAdvice(text) {
|
|
157
|
+
return collapseBackendAdvice(text, WASM_BACKEND_NOTE);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Removes the block instead of replacing it, for callers that quote one line
|
|
161
|
+
* of upstream output as a failure cause. The status line is still rewritten,
|
|
162
|
+
* so no deleted-package name survives either way.
|
|
163
|
+
*/
|
|
164
|
+
export function dropSqliteBackendAdvice(text) {
|
|
165
|
+
return collapseBackendAdvice(text, '');
|
|
166
|
+
}
|
|
@@ -22,45 +22,21 @@ export declare function repairCodegraphExclude(input: {
|
|
|
22
22
|
readonly exclude: readonly string[];
|
|
23
23
|
readonly rulesToRemove: readonly string[];
|
|
24
24
|
}): CodegraphExcludeRepairPlan;
|
|
25
|
-
/**
|
|
26
|
-
* Pure: given the current `include` list and the patterns to append, return
|
|
27
|
-
* the new list. The mirror of `repairCodegraphExclude`, in the other
|
|
28
|
-
* direction — a SUPERSET operation instead of a subset one.
|
|
29
|
-
*
|
|
30
|
-
* A pattern already present is not appended twice: the include reconciler
|
|
31
|
-
* already guarantees that, but this function is the writer's own last line
|
|
32
|
-
* of defence, and a duplicated glob in a third-party config would be a
|
|
33
|
-
* visible defect even though it changes no matching behaviour.
|
|
34
|
-
*/
|
|
35
|
-
export declare function repairCodegraphInclude(input: {
|
|
36
|
-
readonly include: readonly string[];
|
|
37
|
-
readonly patternsToAdd: readonly string[];
|
|
38
|
-
}): {
|
|
39
|
-
readonly changed: boolean;
|
|
40
|
-
readonly include: readonly string[];
|
|
41
|
-
readonly addedPatterns: readonly string[];
|
|
42
|
-
};
|
|
43
25
|
export type CodegraphConfigRepairPlan = {
|
|
44
26
|
/** Rules from the exclude reconciler to drop. */
|
|
45
27
|
readonly rulesToRemove: readonly string[];
|
|
46
|
-
/** Patterns from the include reconciler to append. */
|
|
47
|
-
readonly includePatternsToAdd: readonly string[];
|
|
48
28
|
};
|
|
49
29
|
export type CodegraphConfigRepairOutcome = {
|
|
50
30
|
readonly applied: false;
|
|
51
31
|
readonly reason: 'nothing-to-repair';
|
|
52
32
|
readonly removedRules: readonly string[];
|
|
53
|
-
readonly addedIncludePatterns: readonly string[];
|
|
54
33
|
} | {
|
|
55
34
|
readonly applied: true;
|
|
56
35
|
readonly configPath: string;
|
|
57
36
|
readonly backupPath: string;
|
|
58
37
|
readonly removedRules: readonly string[];
|
|
59
|
-
readonly addedIncludePatterns: readonly string[];
|
|
60
38
|
readonly excludeCountBefore: number;
|
|
61
39
|
readonly excludeCountAfter: number;
|
|
62
|
-
readonly includeCountBefore: number;
|
|
63
|
-
readonly includeCountAfter: number;
|
|
64
40
|
};
|
|
65
41
|
/**
|
|
66
42
|
* Apply BOTH config repairs to `<projectRoot>/.codegraph/config.json` in one
|
|
@@ -1,28 +1,38 @@
|
|
|
1
1
|
// src/services/codegraph/codegraph-config-repair-writer.ts
|
|
2
2
|
//
|
|
3
|
-
// The pure repair
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
// the byte-exact `config.json.bak` copy it keeps for rollback and
|
|
3
|
+
// The pure exclude repair plan (`repairCodegraphExclude`) and the writer that
|
|
4
|
+
// applies it to this project's codegraph config in ONE atomic rewrite, plus
|
|
5
|
+
// the byte-exact `<config>.bak` copy it keeps for rollback and
|
|
7
6
|
// `rollbackCodegraphConfig`, that copy's reader (slice A1 of
|
|
8
7
|
// `2026-09-17-session-607ead`: the reverse write, so the rollback the `.bak`
|
|
9
8
|
// has always promised is reachable).
|
|
10
9
|
//
|
|
10
|
+
// WHICH FILE that is comes from `codegraph-project-config.ts` — upstream reads
|
|
11
|
+
// `<root>/codegraph.json` from 1.6.x and `<root>/.codegraph/config.json`
|
|
12
|
+
// before it. The read and the write go through that ONE resolver, so a repair
|
|
13
|
+
// cannot report success against a file upstream never consults.
|
|
14
|
+
//
|
|
15
|
+
// The include axis used to have a plan here too (`repairCodegraphInclude`).
|
|
16
|
+
// It is gone: it existed to append the extensions upstream's own `include`
|
|
17
|
+
// TEMPLATE omitted, and 1.6.x ships no template — while `include` itself came
|
|
18
|
+
// to mean "force INTO the index even when `.gitignore` drops it", so appending
|
|
19
|
+
// every supported extension would have told upstream to index gitignored
|
|
20
|
+
// source. See `codegraph-exclude-repair.ts` for the disposition.
|
|
21
|
+
//
|
|
11
22
|
// Extracted verbatim from `codegraph-exclude-repair.ts` (rid
|
|
12
|
-
// 2026-09-17-oversize-followup, G1 — the 800-line file-size cap). Every moved
|
|
13
23
|
// line is byte-identical and no behaviour changed; `codegraph-exclude-repair.ts`
|
|
14
24
|
// re-exports this module's public surface, so every existing import site
|
|
15
25
|
// (`applyCodegraphConfigRepair`, `repairCodegraphExclude`,
|
|
16
|
-
// `
|
|
17
|
-
//
|
|
26
|
+
// `CODEGRAPH_CONFIG_BACKUP_SUFFIX`, and the two plan/outcome types) keeps
|
|
27
|
+
// working unchanged.
|
|
18
28
|
//
|
|
19
29
|
// The dependency edge is ONE-WAY and must stay that way: this module must not
|
|
20
30
|
// import `codegraph-exclude-repair.ts`, which imports this one.
|
|
21
31
|
import { randomBytes } from 'node:crypto';
|
|
22
32
|
import { chmodSync, lstatSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { assertCodegraphDirContained
|
|
33
|
+
import { assertStringArray } from './codegraph-exclude-reconciler.js';
|
|
34
|
+
import { resolveCodegraphConfigSource } from './codegraph-project-config.js';
|
|
35
|
+
import { assertCodegraphDirContained } from './codegraph-service.js';
|
|
26
36
|
/** Suffix of the byte-exact pre-repair copy kept next to the config. */
|
|
27
37
|
export const CODEGRAPH_CONFIG_BACKUP_SUFFIX = '.bak';
|
|
28
38
|
/**
|
|
@@ -50,24 +60,6 @@ export function repairCodegraphExclude(input) {
|
|
|
50
60
|
removedRules
|
|
51
61
|
};
|
|
52
62
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Pure: given the current `include` list and the patterns to append, return
|
|
55
|
-
* the new list. The mirror of `repairCodegraphExclude`, in the other
|
|
56
|
-
* direction — a SUPERSET operation instead of a subset one.
|
|
57
|
-
*
|
|
58
|
-
* A pattern already present is not appended twice: the include reconciler
|
|
59
|
-
* already guarantees that, but this function is the writer's own last line
|
|
60
|
-
* of defence, and a duplicated glob in a third-party config would be a
|
|
61
|
-
* visible defect even though it changes no matching behaviour.
|
|
62
|
-
*/
|
|
63
|
-
export function repairCodegraphInclude(input) {
|
|
64
|
-
const existing = new Set(input.include);
|
|
65
|
-
const additions = input.patternsToAdd.filter((pattern) => !existing.has(pattern));
|
|
66
|
-
if (additions.length === 0) {
|
|
67
|
-
return { changed: false, include: input.include, addedPatterns: [] };
|
|
68
|
-
}
|
|
69
|
-
return { changed: true, include: [...input.include, ...additions], addedPatterns: additions };
|
|
70
|
-
}
|
|
71
63
|
/**
|
|
72
64
|
* Detect the indentation the config already uses so the rewrite keeps
|
|
73
65
|
* the file's shape instead of reformatting a third-party tool's file.
|
|
@@ -125,7 +117,6 @@ function writeConfigAtomic(filePath, content, mode) {
|
|
|
125
117
|
// process umask instead of the original's mode.
|
|
126
118
|
chmodSync(tempPath, mode);
|
|
127
119
|
// Windows cannot REPLACE a read-only destination: `renameSync` over
|
|
128
|
-
// one throws EPERM (measured, `2026-09-17-codegraph-msg-and-refresh`).
|
|
129
120
|
// The only destination this branch ever sees read-only is this
|
|
130
121
|
// writer's own previous `.bak`, which under A4 carries the original
|
|
131
122
|
// config's mode — so a read-only config would make the SECOND repair
|
|
@@ -223,7 +214,6 @@ function linkOrDirectoryAt(path) {
|
|
|
223
214
|
* succeeded, so a refusal leaves the config BYTES UNTOUCHED — the throw
|
|
224
215
|
* propagates out of `applyCodegraphConfigRepair` before the rewrite.
|
|
225
216
|
*
|
|
226
|
-
* A4 (`2026-09-17-codegraph-msg-and-refresh`, the L1 half left over from
|
|
227
217
|
* slice-002's S1): the copy carries the ORIGINAL CONFIG'S MODE, because the
|
|
228
218
|
* mode is part of what a rollback restores. The `.bak` exists so an operator
|
|
229
219
|
* can put the previous config back with a `mv`, and a restore that hands
|
|
@@ -280,13 +270,8 @@ function writeConfigBackup(configPath, originalText) {
|
|
|
280
270
|
* anything is written, so a throw can never half-apply.
|
|
281
271
|
*/
|
|
282
272
|
export function applyCodegraphConfigRepair(projectRoot, repair) {
|
|
283
|
-
if (repair.rulesToRemove.length === 0
|
|
284
|
-
return {
|
|
285
|
-
applied: false,
|
|
286
|
-
reason: 'nothing-to-repair',
|
|
287
|
-
removedRules: [],
|
|
288
|
-
addedIncludePatterns: []
|
|
289
|
-
};
|
|
273
|
+
if (repair.rulesToRemove.length === 0) {
|
|
274
|
+
return { applied: false, reason: 'nothing-to-repair', removedRules: [] };
|
|
290
275
|
}
|
|
291
276
|
// Containment FIRST — before even reading (S12 / security R1). The `.bak`
|
|
292
277
|
// guard below protects a FILE path; this protects the DIRECTORY it lives
|
|
@@ -295,7 +280,9 @@ export function applyCodegraphConfigRepair(projectRoot, repair) {
|
|
|
295
280
|
// write target stays derived from the caller's `projectRoot`, so this
|
|
296
281
|
// verb's canonicalization remains where L2/S5 put it, at the CLI edge.
|
|
297
282
|
assertCodegraphDirContained(projectRoot);
|
|
298
|
-
|
|
283
|
+
// The file WRITTEN is the file READ — both come from the one resolver, so a
|
|
284
|
+
// repair can never report success against a file upstream does not consult.
|
|
285
|
+
const configPath = resolveCodegraphConfigSource(projectRoot).configPath;
|
|
299
286
|
const originalText = readFileSync(configPath, 'utf8');
|
|
300
287
|
const parsed = JSON.parse(originalText);
|
|
301
288
|
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
@@ -303,52 +290,24 @@ export function applyCodegraphConfigRepair(projectRoot, repair) {
|
|
|
303
290
|
}
|
|
304
291
|
const record = parsed;
|
|
305
292
|
const exclude = assertStringArray(record.exclude, 'exclude', configPath);
|
|
306
|
-
// An ABSENT `include` key is tolerated, and is NOT the same as a malformed
|
|
307
|
-
// one: this writer predates the include axis and callers exist whose
|
|
308
|
-
// config carries only `exclude` (a hand-written minimal file; the S2
|
|
309
|
-
// hardening fixtures are exactly that). Throwing here would make the
|
|
310
|
-
// whole repair fail — including the exclude half that used to succeed —
|
|
311
|
-
// so the include axis simply has nothing to extend, and the key is never
|
|
312
|
-
// invented. A key that is PRESENT but is not an array of strings is still
|
|
313
|
-
// an error: that is a genuinely malformed config, and silently ignoring it
|
|
314
|
-
// is how a wrong `include` would survive a repair that reported success.
|
|
315
|
-
const include = record.include === undefined ? [] : assertStringArray(record.include, 'include', configPath);
|
|
316
293
|
const excludePlan = repairCodegraphExclude({ exclude, rulesToRemove: repair.rulesToRemove });
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
patternsToAdd: repair.includePatternsToAdd
|
|
320
|
-
});
|
|
321
|
-
if (!excludePlan.changed && !includePlan.changed) {
|
|
322
|
-
return {
|
|
323
|
-
applied: false,
|
|
324
|
-
reason: 'nothing-to-repair',
|
|
325
|
-
removedRules: [],
|
|
326
|
-
addedIncludePatterns: []
|
|
327
|
-
};
|
|
294
|
+
if (!excludePlan.changed) {
|
|
295
|
+
return { applied: false, reason: 'nothing-to-repair', removedRules: [] };
|
|
328
296
|
}
|
|
329
297
|
const backupPath = writeConfigBackup(configPath, originalText);
|
|
330
|
-
// Spread first, then replace the
|
|
331
|
-
// its original value AND its original position in the serialized object
|
|
332
|
-
//
|
|
333
|
-
//
|
|
298
|
+
// Spread first, then replace the key that changed — every other key keeps
|
|
299
|
+
// its original value AND its original position in the serialized object, so
|
|
300
|
+
// a key this repair does not own (`extensions`, `include`, anything a newer
|
|
301
|
+
// upstream adds) survives byte-for-byte.
|
|
334
302
|
const nextRecord = { ...record, exclude: excludePlan.exclude };
|
|
335
|
-
if (includePlan.changed) {
|
|
336
|
-
nextRecord.include = includePlan.include;
|
|
337
|
-
}
|
|
338
303
|
writeConfigAtomic(configPath, serializeConfig(nextRecord, originalText));
|
|
339
304
|
return {
|
|
340
305
|
applied: true,
|
|
341
306
|
configPath,
|
|
342
307
|
backupPath,
|
|
343
308
|
removedRules: excludePlan.removedRules,
|
|
344
|
-
// The patterns that ACTUALLY landed (a caller-supplied pattern that was
|
|
345
|
-
// already present is not an addition), so the report cannot overstate
|
|
346
|
-
// what changed on disk.
|
|
347
|
-
addedIncludePatterns: includePlan.addedPatterns,
|
|
348
309
|
excludeCountBefore: exclude.length,
|
|
349
|
-
excludeCountAfter: excludePlan.exclude.length
|
|
350
|
-
includeCountBefore: include.length,
|
|
351
|
-
includeCountAfter: includePlan.include.length
|
|
310
|
+
excludeCountAfter: excludePlan.exclude.length
|
|
352
311
|
};
|
|
353
312
|
}
|
|
354
313
|
// ─────────────────────────────────────────────────────────────────────
|
|
@@ -14,7 +14,7 @@ export type CodegraphExcludeRuleImpact = {
|
|
|
14
14
|
readonly blockedCount: number;
|
|
15
15
|
};
|
|
16
16
|
export type CodegraphExcludeIntegrityReport = {
|
|
17
|
-
/** Absolute path of the reconciled
|
|
17
|
+
/** Absolute path of the reconciled config file — see `codegraph-project-config.ts`. */
|
|
18
18
|
readonly configPath: string;
|
|
19
19
|
/** True when at least one tracked source file is blocked. */
|
|
20
20
|
readonly gap: boolean;
|
|
@@ -30,15 +30,23 @@ export type CodegraphExcludeIntegrityReport = {
|
|
|
30
30
|
readonly ruleImpacts: readonly CodegraphExcludeRuleImpact[];
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
|
-
* True when
|
|
33
|
+
* True when the project's codegraph config file exists, i.e. when an
|
|
34
34
|
* exclude list is actually in play here. Both consumers use this to
|
|
35
|
-
* stay SILENT on a project that never
|
|
36
|
-
*
|
|
35
|
+
* stay SILENT on a project that never configured one: there is no
|
|
36
|
+
* exclusion to report, and a missing config is not a finding.
|
|
37
|
+
*
|
|
38
|
+
* WHICH file that is comes from `codegraph-project-config.ts`, because it
|
|
39
|
+
* is a property of the installed upstream rather than of this module: it is
|
|
40
|
+
* `<projectRoot>/codegraph.json` under 1.6.x and
|
|
41
|
+
* `<projectRoot>/.codegraph/config.json` under 0.7.x. Asking about the old
|
|
42
|
+
* path only would answer `false` on every 1.6.x project, which reads as
|
|
43
|
+
* "nothing is excluded" when the truth is "the exclusion list was never
|
|
44
|
+
* looked at".
|
|
37
45
|
*
|
|
38
46
|
* Note the difference from `isCodegraphInitialized` in
|
|
39
47
|
* `codegraph-service.ts`, which probes `codegraph.db` (upstream's own
|
|
40
|
-
* definition of "initialized"). The
|
|
41
|
-
*
|
|
48
|
+
* definition of "initialized"). The config is what carries `exclude`, so
|
|
49
|
+
* its presence is the narrower question this module asks.
|
|
42
50
|
*/
|
|
43
51
|
export declare function isCodegraphExcludeConfigPresent(projectRoot: string): boolean;
|
|
44
52
|
/**
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// src/services/codegraph/codegraph-exclude-integrity.ts
|
|
2
2
|
//
|
|
3
|
-
// Slice S2 of `2026-09-12-codegraph-exclude-integrity` — the READ-ONLY
|
|
4
3
|
// integrity report shared by `peaks codegraph status` and the
|
|
5
4
|
// `capability:codegraph-exclude-integrity` doctor check.
|
|
6
5
|
//
|
|
@@ -9,14 +8,13 @@
|
|
|
9
8
|
// that both consumers can render and gate on, so neither of them has
|
|
10
9
|
// to re-derive "is there a gap, how big, and which rules cause it".
|
|
11
10
|
//
|
|
12
|
-
// It NEVER writes
|
|
11
|
+
// It NEVER writes the project's codegraph config. The only write path is
|
|
13
12
|
// `codegraph-exclude-repair.ts`, reachable from `peaks codegraph init`
|
|
14
13
|
// (fresh-initialization self-heal) and the explicit
|
|
15
14
|
// `peaks codegraph repair-exclude` command. Read stays read.
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { CODEGRAPH_DIR_NAME } from './codegraph-service.js';
|
|
15
|
+
import { resolveSharedConfig, resolveSharedTrackedFiles, reconcileCodegraphExclude } from './codegraph-exclude-reconciler.js';
|
|
16
|
+
import { upstreamSupportsPath } from './codegraph-index-integrity.js';
|
|
17
|
+
import { resolveCodegraphConfigSource } from './codegraph-project-config.js';
|
|
20
18
|
/**
|
|
21
19
|
* Exit code `peaks codegraph status` uses when the index is
|
|
22
20
|
* demonstrably incomplete. Distinct from the upstream pass-through
|
|
@@ -29,18 +27,26 @@ export const CODEGRAPH_INTEGRITY_EXIT_CODE = 74;
|
|
|
29
27
|
const MAX_REPORTED_RULES = 10;
|
|
30
28
|
const MAX_REPORTED_FILES = 10;
|
|
31
29
|
/**
|
|
32
|
-
* True when
|
|
30
|
+
* True when the project's codegraph config file exists, i.e. when an
|
|
33
31
|
* exclude list is actually in play here. Both consumers use this to
|
|
34
|
-
* stay SILENT on a project that never
|
|
35
|
-
*
|
|
32
|
+
* stay SILENT on a project that never configured one: there is no
|
|
33
|
+
* exclusion to report, and a missing config is not a finding.
|
|
34
|
+
*
|
|
35
|
+
* WHICH file that is comes from `codegraph-project-config.ts`, because it
|
|
36
|
+
* is a property of the installed upstream rather than of this module: it is
|
|
37
|
+
* `<projectRoot>/codegraph.json` under 1.6.x and
|
|
38
|
+
* `<projectRoot>/.codegraph/config.json` under 0.7.x. Asking about the old
|
|
39
|
+
* path only would answer `false` on every 1.6.x project, which reads as
|
|
40
|
+
* "nothing is excluded" when the truth is "the exclusion list was never
|
|
41
|
+
* looked at".
|
|
36
42
|
*
|
|
37
43
|
* Note the difference from `isCodegraphInitialized` in
|
|
38
44
|
* `codegraph-service.ts`, which probes `codegraph.db` (upstream's own
|
|
39
|
-
* definition of "initialized"). The
|
|
40
|
-
*
|
|
45
|
+
* definition of "initialized"). The config is what carries `exclude`, so
|
|
46
|
+
* its presence is the narrower question this module asks.
|
|
41
47
|
*/
|
|
42
48
|
export function isCodegraphExcludeConfigPresent(projectRoot) {
|
|
43
|
-
return
|
|
49
|
+
return resolveCodegraphConfigSource(projectRoot).present;
|
|
44
50
|
}
|
|
45
51
|
/**
|
|
46
52
|
* Read the project's git-tracked files + `.codegraph/config.json` and
|
|
@@ -71,14 +77,18 @@ export function inspectCodegraphExcludeIntegrity(projectRoot, inputs = {}) {
|
|
|
71
77
|
const result = reconcileCodegraphExclude({
|
|
72
78
|
trackedFiles,
|
|
73
79
|
include: config.include,
|
|
74
|
-
exclude: config.exclude
|
|
80
|
+
exclude: config.exclude,
|
|
81
|
+
admissionModel: config.model,
|
|
82
|
+
// The same oracle the index axis uses, so "would upstream ingest this
|
|
83
|
+
// file" cannot be answered two ways across the two gates.
|
|
84
|
+
supportsPath: upstreamSupportsPath
|
|
75
85
|
});
|
|
76
86
|
const blockedCounts = new Map();
|
|
77
87
|
for (const violation of result.violations) {
|
|
78
88
|
blockedCounts.set(violation.matchedRule, (blockedCounts.get(violation.matchedRule) ?? 0) + 1);
|
|
79
89
|
}
|
|
80
90
|
return {
|
|
81
|
-
configPath:
|
|
91
|
+
configPath: config.configPath,
|
|
82
92
|
gap: result.excludedTrackedCount > 0,
|
|
83
93
|
trackedSourceCount: result.trackedSourceCount,
|
|
84
94
|
excludedTrackedCount: result.excludedTrackedCount,
|