peaks-loop 4.1.0 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +75 -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/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/_register.js +2 -2
- 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-commands.js +21 -24
- package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
- 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-commands.d.ts +0 -3
- package/dist/cli/commands/code-commands.js +0 -3
- 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-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 +1 -5
- 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-run-command.js +0 -1
- package/dist/cli/commands/code-runtime-commands.d.ts +0 -3
- package/dist/cli/commands/code-runtime-commands.js +0 -15
- 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/comments-commands.d.ts +14 -0
- package/dist/cli/commands/comments-commands.js +96 -0
- package/dist/cli/commands/compact-command.d.ts +0 -1
- package/dist/cli/commands/compact-command.js +0 -4
- 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 +10 -1
- package/dist/cli/commands/core/session-command.js +0 -14
- package/dist/cli/commands/core/skill-command.js +1 -10
- package/dist/cli/commands/core/standards-command.js +1 -1
- 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-commands.d.ts +0 -1
- package/dist/cli/commands/dispatch-commands.js +10 -37
- package/dist/cli/commands/dispatch-from-dag.js +0 -4
- 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 +16 -22
- package/dist/cli/commands/ecc-commands.js +38 -26
- package/dist/cli/commands/evolution-commands.d.ts +0 -1
- package/dist/cli/commands/evolution-commands.js +0 -1
- package/dist/cli/commands/feedback-commands.d.ts +0 -1
- package/dist/cli/commands/feedback-commands.js +0 -2
- 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 +0 -2
- 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-commands.js +0 -4
- 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-commands.js +0 -3
- 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 +8 -4
- 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-commands.d.ts +0 -1
- package/dist/cli/commands/request-commands.js +0 -10
- 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/runtime-commands.d.ts +0 -1
- package/dist/cli/commands/sc-commands.js +0 -1
- 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 +0 -3
- package/dist/cli/commands/share-commands.js +0 -13
- package/dist/cli/commands/skill-search-commands.d.ts +0 -2
- package/dist/cli/commands/slice-commands.js +0 -2
- package/dist/cli/commands/slice-integrate-commands.js +0 -1
- 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.js +0 -14
- 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/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-command.d.ts +0 -6
- package/dist/cli/commands/workspace/init-command.js +0 -17
- 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.js +0 -1
- package/dist/cli/program.js +4 -16
- 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 +1 -3
- package/dist/services/code/mode-gate-types.js +0 -2
- package/dist/services/code/mode-gate.d.ts +0 -5
- package/dist/services/code/mode-gate.js +1 -14
- 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/user-touchpoint-classifier.js +0 -7
- package/dist/services/code-review/ecc-bridge.d.ts +6 -7
- 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/citation-rules.d.ts +154 -0
- package/dist/services/comments/citation-rules.js +241 -0
- package/dist/services/comments/comment-audit.d.ts +68 -0
- package/dist/services/comments/comment-audit.js +121 -0
- package/dist/services/comments/comment-citations.d.ts +66 -0
- package/dist/services/comments/comment-citations.js +184 -0
- package/dist/services/comments/comment-hygiene.d.ts +105 -0
- package/dist/services/comments/comment-hygiene.js +170 -0
- package/dist/services/comments/comment-prune.d.ts +88 -0
- package/dist/services/comments/comment-prune.js +196 -0
- 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 +82 -0
- package/dist/services/comments/prune-apply.js +217 -0
- package/dist/services/comments/repo-path-probe.d.ts +43 -0
- package/dist/services/comments/repo-path-probe.js +78 -0
- package/dist/services/compact/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/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/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 +0 -5
- package/dist/services/ide/adapters/claude-code-adapter.js +0 -11
- 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-types.d.ts +0 -12
- 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/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 -17
- package/dist/services/log/retention.js +0 -18
- 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/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/index.d.ts +1 -1
- package/dist/services/memory/project-memory-service/index.js +1 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +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/store/atomic-write.d.ts +19 -7
- package/dist/services/memory/project-memory-service/store/atomic-write.js +120 -26
- 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 +61 -2
- package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
- package/dist/services/prd/handoff-gate-evidence.js +12 -12
- 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 +11 -3
- package/dist/services/prd/handoff-service.js +11 -3
- package/dist/services/prd/handoff-types.d.ts +33 -3
- 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/recommendations/installed-capability-detector.d.ts +5 -6
- package/dist/services/recommendations/installed-capability-detector.js +11 -11
- 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-detection.d.ts +37 -0
- package/dist/services/scan/archetype-detection.js +175 -2
- package/dist/services/scan/archetype-service.js +36 -23
- 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/scan/scan-types.d.ts +9 -0
- 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 +0 -3
- package/dist/services/skills/hooks-codegate-superpowers.js +0 -14
- package/dist/services/skills/hooks-settings-service.d.ts +0 -2
- package/dist/services/skills/hooks-settings-service.js +0 -6
- 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/generated-artifacts-stamp.d.ts +2 -2
- package/dist/services/workspace/generated-artifacts-stamp.js +2 -2
- package/dist/services/workspace/migrate-1-4-1-service.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 +1 -17
- 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 +12 -10
- 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.mjs +175 -560
- package/skills/bee/peaks-qa/references/reading-handoff-frontmatter.md +3 -1
- package/skills/bee/peaks-rd/references/parallel-review-fanout.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +3 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +29 -7
- package/skills/peaks-audit/SKILL.md +3 -3
- package/skills/peaks-code/references/frontend-only-mode.md +2 -2
- package/skills/peaks-code/references/startup-sequence.md +0 -4
- package/dist/cli/commands/upgrade-commands.d.ts +0 -25
- package/dist/cli/commands/upgrade-commands.js +0 -154
- package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
- package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
- package/dist/services/upgrade/1x-detector-service.d.ts +0 -7
- package/dist/services/upgrade/1x-detector-service.js +0 -96
- package/dist/services/upgrade/gitignore-migrate-service.d.ts +0 -56
- package/dist/services/upgrade/gitignore-migrate-service.js +0 -170
- package/dist/services/upgrade/upgrade-service.d.ts +0 -81
- package/dist/services/upgrade/upgrade-service.js +0 -428
- package/skills/peaks-code/references/step-0-55-1x-detection.md +0 -83
|
@@ -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,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CodegraphConfigModel } from './codegraph-project-config.js';
|
|
1
2
|
export declare function matchesCodegraphGlob(filePath: string, pattern: string): boolean;
|
|
2
3
|
export type CompiledCodegraphGlobs = {
|
|
3
4
|
readonly matchesAny: (filePath: string) => boolean;
|
|
@@ -7,6 +8,8 @@ export type CodegraphExcludeReconcileInput = {
|
|
|
7
8
|
readonly trackedFiles: readonly string[];
|
|
8
9
|
readonly include: readonly string[];
|
|
9
10
|
readonly exclude: readonly string[];
|
|
11
|
+
readonly admissionModel: CodegraphConfigModel;
|
|
12
|
+
readonly supportsPath?: ((filePath: string) => boolean) | undefined;
|
|
10
13
|
};
|
|
11
14
|
export type CodegraphExcludeViolation = {
|
|
12
15
|
readonly path: string;
|
|
@@ -20,8 +23,10 @@ export type CodegraphExcludeReconcileResult = {
|
|
|
20
23
|
};
|
|
21
24
|
export declare function filterAdmittedTrackedFiles(trackedFiles: readonly string[], include: readonly string[]): readonly string[];
|
|
22
25
|
export declare function reconcileCodegraphExclude(input: CodegraphExcludeReconcileInput): CodegraphExcludeReconcileResult;
|
|
23
|
-
export declare const CODEGRAPH_CONFIG_FILENAME = "config.json";
|
|
24
26
|
export type CodegraphExcludeConfig = {
|
|
27
|
+
readonly configPath: string;
|
|
28
|
+
readonly present: boolean;
|
|
29
|
+
readonly model: CodegraphConfigModel;
|
|
25
30
|
readonly include: readonly string[];
|
|
26
31
|
readonly exclude: readonly string[];
|
|
27
32
|
};
|
|
@@ -35,7 +40,9 @@ export type ReadTrackedFiles = readonly string[] & ReadProvenance;
|
|
|
35
40
|
export type ReadCodegraphExcludeConfig = CodegraphExcludeConfig & ReadProvenance;
|
|
36
41
|
export declare function readTrackedFiles(projectRoot: string): ReadTrackedFiles;
|
|
37
42
|
export declare function assertStringArray(value: unknown, field: string, configPath: string): readonly string[];
|
|
43
|
+
export declare function optionalStringArray(value: unknown, field: string, configPath: string): readonly string[];
|
|
38
44
|
export declare function readCodegraphExcludeConfig(projectRoot: string): ReadCodegraphExcludeConfig;
|
|
45
|
+
export declare function readCodegraphConfigFrom(projectRoot: string, model: CodegraphConfigModel): ReadCodegraphExcludeConfig;
|
|
39
46
|
export type CodegraphProjectInputs = {
|
|
40
47
|
readonly trackedFiles: ReadTrackedFiles;
|
|
41
48
|
readonly config: ReadCodegraphExcludeConfig;
|
|
@@ -43,5 +50,5 @@ export type CodegraphProjectInputs = {
|
|
|
43
50
|
export declare function readCodegraphProjectInputs(projectRoot: string): CodegraphProjectInputs;
|
|
44
51
|
export declare function resolveSharedTrackedFiles(supplied: ReadTrackedFiles | undefined, projectRoot: string): ReadTrackedFiles;
|
|
45
52
|
export declare function resolveSharedConfig(supplied: ReadCodegraphExcludeConfig | undefined, projectRoot: string): ReadCodegraphExcludeConfig;
|
|
46
|
-
export declare function reconcileCodegraphExcludeFromProject(projectRoot: string): CodegraphExcludeReconcileResult;
|
|
53
|
+
export declare function reconcileCodegraphExcludeFromProject(projectRoot: string, supportsPath?: (filePath: string) => boolean): CodegraphExcludeReconcileResult;
|
|
47
54
|
export {};
|