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
|
@@ -7,10 +7,6 @@
|
|
|
7
7
|
* them in. Tests pass synthetic events directly.
|
|
8
8
|
*
|
|
9
9
|
* Aggregations:
|
|
10
|
-
* - `aggregateStatus(events)` → AC-1
|
|
11
|
-
* - `aggregateSlices(events)` → AC-2
|
|
12
|
-
* - `aggregateFanout(events)` → AC-3
|
|
13
|
-
* - `aggregateRepairCycles(events)` → AC-4
|
|
14
10
|
*
|
|
15
11
|
* The dispatch / mode-gate / context / post-compact categories land
|
|
16
12
|
* in Slice C (more hooks); for Slice B only `slice-transition` events
|
|
@@ -7,10 +7,6 @@
|
|
|
7
7
|
* them in. Tests pass synthetic events directly.
|
|
8
8
|
*
|
|
9
9
|
* Aggregations:
|
|
10
|
-
* - `aggregateStatus(events)` → AC-1
|
|
11
|
-
* - `aggregateSlices(events)` → AC-2
|
|
12
|
-
* - `aggregateFanout(events)` → AC-3
|
|
13
|
-
* - `aggregateRepairCycles(events)` → AC-4
|
|
14
10
|
*
|
|
15
11
|
* The dispatch / mode-gate / context / post-compact categories land
|
|
16
12
|
* in Slice C (more hooks); for Slice B only `slice-transition` events
|
|
@@ -129,7 +125,6 @@ export function aggregateRepairCycles(events) {
|
|
|
129
125
|
perSlice
|
|
130
126
|
};
|
|
131
127
|
}
|
|
132
|
-
// ----- period rollup (AC-5 — Slice D, but helpers live here) -----
|
|
133
128
|
export function periodStartIso(period, now = () => new Date()) {
|
|
134
129
|
const d = now();
|
|
135
130
|
if (period === 'day') {
|
|
@@ -151,7 +146,6 @@ export function filterByPeriod(events, period, now) {
|
|
|
151
146
|
const start = periodStartIso(period, now);
|
|
152
147
|
return events.filter((e) => e.ts >= start);
|
|
153
148
|
}
|
|
154
|
-
// ----- rid-030 F-direction: 5-metric dashboard summary -----
|
|
155
149
|
/**
|
|
156
150
|
* Aggregate the 5 dashboard metric classes for a single session, filtered
|
|
157
151
|
* to events with `ts >= since`. Events with unparseable timestamps are
|
|
@@ -25,7 +25,6 @@ export const OBSERVABILITY_CATEGORIES = [
|
|
|
25
25
|
'cycle',
|
|
26
26
|
'token-usage',
|
|
27
27
|
'monotonic-trigger',
|
|
28
|
-
// Slice 2026-07-29-worktree-l2-extended Part 4.A: lease lifecycle
|
|
29
28
|
// metrics. Emitted by `peaks worktree spawn / renew / release /
|
|
30
29
|
// gc` and by the auto-release hook in dispatch finalization (Part
|
|
31
30
|
// 3.A). Read by `peaks lease metrics`. The `detail.kind` field
|
|
@@ -50,7 +50,6 @@ export declare function readObservabilityEvents(projectRoot: string, sessionId:
|
|
|
50
50
|
*/
|
|
51
51
|
export declare function isCurrentSchemaVersion(record: unknown): record is ObservabilityEvent;
|
|
52
52
|
/**
|
|
53
|
-
* Slice 2026-07-29-worktree-l2-extended Part 4.A: lease lifecycle
|
|
54
53
|
* observability. Each `peaks worktree spawn / renew / release /
|
|
55
54
|
* gc` CLI emits a `lease` event; the auto-release hook in
|
|
56
55
|
* dispatch finalization emits `autoRelease` (success) or
|
|
@@ -74,7 +73,6 @@ export declare function emitLeaseEvent(opts: {
|
|
|
74
73
|
reason?: string;
|
|
75
74
|
}): EmitResult;
|
|
76
75
|
/**
|
|
77
|
-
* rid-030 F-direction: per-cycle event (cycle started / completed / failed).
|
|
78
76
|
* Fire-and-forget; never throws. Tagging `kind` for downstream dashboards.
|
|
79
77
|
*/
|
|
80
78
|
export declare function emitCycleEvent(opts: {
|
|
@@ -84,7 +82,6 @@ export declare function emitCycleEvent(opts: {
|
|
|
84
82
|
status: 'started' | 'completed' | 'failed';
|
|
85
83
|
}): EmitResult;
|
|
86
84
|
/**
|
|
87
|
-
* rid-030 F-direction: per-token-usage event. `totalTokens` is the
|
|
88
85
|
* sum the dashboard cares about; `inputTokens`/`outputTokens` are kept
|
|
89
86
|
* for downstream drill-down.
|
|
90
87
|
*/
|
|
@@ -95,7 +92,6 @@ export declare function emitTokenUsageEvent(opts: {
|
|
|
95
92
|
outputTokens: number;
|
|
96
93
|
}): EmitResult;
|
|
97
94
|
/**
|
|
98
|
-
* rid-030 F-direction: per-monotonic-trigger event.
|
|
99
95
|
*/
|
|
100
96
|
export declare function emitMonotonicTriggerEvent(opts: {
|
|
101
97
|
sessionId: string;
|
|
@@ -104,7 +100,6 @@ export declare function emitMonotonicTriggerEvent(opts: {
|
|
|
104
100
|
action: string;
|
|
105
101
|
}): EmitResult;
|
|
106
102
|
/**
|
|
107
|
-
* rid-030 F-direction: per-subagent-dispatch event. Reuses the
|
|
108
103
|
* existing `dispatch` category (rd/qa/reviewer/audit). Provides a
|
|
109
104
|
* canonical emit helper so dashboards don't have to hand-author the
|
|
110
105
|
* `ObservabilityEvent` envelope.
|
|
@@ -117,7 +117,6 @@ export function emitLeaseEvent(opts) {
|
|
|
117
117
|
}, { projectRoot: opts.projectRoot });
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
* rid-030 F-direction: per-cycle event (cycle started / completed / failed).
|
|
121
120
|
* Fire-and-forget; never throws. Tagging `kind` for downstream dashboards.
|
|
122
121
|
*/
|
|
123
122
|
export function emitCycleEvent(opts) {
|
|
@@ -130,7 +129,6 @@ export function emitCycleEvent(opts) {
|
|
|
130
129
|
}, { projectRoot: opts.projectRoot });
|
|
131
130
|
}
|
|
132
131
|
/**
|
|
133
|
-
* rid-030 F-direction: per-token-usage event. `totalTokens` is the
|
|
134
132
|
* sum the dashboard cares about; `inputTokens`/`outputTokens` are kept
|
|
135
133
|
* for downstream drill-down.
|
|
136
134
|
*/
|
|
@@ -149,7 +147,6 @@ export function emitTokenUsageEvent(opts) {
|
|
|
149
147
|
}, { projectRoot: opts.projectRoot });
|
|
150
148
|
}
|
|
151
149
|
/**
|
|
152
|
-
* rid-030 F-direction: per-monotonic-trigger event.
|
|
153
150
|
*/
|
|
154
151
|
export function emitMonotonicTriggerEvent(opts) {
|
|
155
152
|
return emitObservabilityEvent({
|
|
@@ -161,7 +158,6 @@ export function emitMonotonicTriggerEvent(opts) {
|
|
|
161
158
|
}, { projectRoot: opts.projectRoot });
|
|
162
159
|
}
|
|
163
160
|
/**
|
|
164
|
-
* rid-030 F-direction: per-subagent-dispatch event. Reuses the
|
|
165
161
|
* existing `dispatch` category (rd/qa/reviewer/audit). Provides a
|
|
166
162
|
* canonical emit helper so dashboards don't have to hand-author the
|
|
167
163
|
* `ObservabilityEvent` envelope.
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Markdown report formatter for slice topology observability.
|
|
3
3
|
*
|
|
4
|
-
* Slice D of v2.11.1 (AC-5). Pure functions: inputs are aggregations
|
|
5
4
|
* from `aggregation.ts`, outputs are stable markdown strings suitable
|
|
6
5
|
* for pasting into PR descriptions or `.peaks/PROJECT.md` timeline
|
|
7
6
|
* entries. The CLI subcommand `peaks observability report` wires
|
|
8
7
|
* the file read + aggregation + format pipeline.
|
|
9
8
|
*
|
|
10
|
-
* Format contract (per PRD AC-5):
|
|
11
9
|
* - Header: scope, period, generated-at timestamp
|
|
12
10
|
* - Slice table: rid | transitions | finalState | durationMs | success
|
|
13
11
|
* - Fanout table: role | count
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Markdown report formatter for slice topology observability.
|
|
3
3
|
*
|
|
4
|
-
* Slice D of v2.11.1 (AC-5). Pure functions: inputs are aggregations
|
|
5
4
|
* from `aggregation.ts`, outputs are stable markdown strings suitable
|
|
6
5
|
* for pasting into PR descriptions or `.peaks/PROJECT.md` timeline
|
|
7
6
|
* entries. The CLI subcommand `peaks observability report` wires
|
|
8
7
|
* the file read + aggregation + format pipeline.
|
|
9
8
|
*
|
|
10
|
-
* Format contract (per PRD AC-5):
|
|
11
9
|
* - Header: scope, period, generated-at timestamp
|
|
12
10
|
* - Slice table: rid | transitions | finalState | durationMs | success
|
|
13
11
|
* - Fanout table: role | count
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Artifact boundary helpers for peaks-loop.
|
|
3
3
|
*
|
|
4
|
-
* Slice rid-009:
|
|
5
4
|
* - sub-slice 1: change-id validation (`validateChangeId`).
|
|
6
5
|
* - sub-slice 2: artifact path planning (`planArtifactPath` + `isPathInsideArtifactRoot` re-export).
|
|
7
6
|
* - sub-slice 3: workspace-unavailable response (`buildWorkspaceUnavailable`).
|
|
@@ -61,7 +60,6 @@ export type BoundaryError = ChangeIdError | {
|
|
|
61
60
|
* distinguishes "empty" / "format" / "reserved" so callers can branch on
|
|
62
61
|
* the cause without re-parsing the message.
|
|
63
62
|
*
|
|
64
|
-
* Acceptance contract (rid-009 §3.3.1, task 1):
|
|
65
63
|
* - accepts `[A-Za-z0-9][A-Za-z0-9._-]*` (existing regex semantics)
|
|
66
64
|
* - rejects empty string with `change-id-empty`
|
|
67
65
|
* - rejects `.` and `..` with `change-id-reserved`
|
|
@@ -80,7 +78,6 @@ export declare function validateChangeId(id: string): Result<{
|
|
|
80
78
|
*
|
|
81
79
|
* Single source of truth: the primitive is owned by `src/shared/path-safety.ts`;
|
|
82
80
|
* this module owns the *domain* helpers (change-id + path planner) that consume
|
|
83
|
-
* the primitive. Tests in `tests/unit/services/openspec/artifact-boundary.test.ts`
|
|
84
81
|
* exercise the RE-EXPORT wiring; the primitive's own correctness is covered by
|
|
85
82
|
* its native test file.
|
|
86
83
|
*/
|
|
@@ -109,7 +106,6 @@ export type PlanArtifactPathOutput = {
|
|
|
109
106
|
/**
|
|
110
107
|
* Plan an artifact-relative path under the configured Peaks artifact workspace.
|
|
111
108
|
*
|
|
112
|
-
* Semantics (rid-009 §3.3.2, tasks 5–9):
|
|
113
109
|
* - Backslashes in the candidate path are normalized to forward slashes for
|
|
114
110
|
* JSON safety; empty segments (`foo//bar`) are collapsed by `posix.normalize`.
|
|
115
111
|
* - If the resolved absolute path is NOT contained under `workspaceRoot`
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Artifact boundary helpers for peaks-loop.
|
|
3
3
|
*
|
|
4
|
-
* Slice rid-009:
|
|
5
4
|
* - sub-slice 1: change-id validation (`validateChangeId`).
|
|
6
5
|
* - sub-slice 2: artifact path planning (`planArtifactPath` + `isPathInsideArtifactRoot` re-export).
|
|
7
6
|
* - sub-slice 3: workspace-unavailable response (`buildWorkspaceUnavailable`).
|
|
@@ -38,7 +37,6 @@ const CHANGE_ID_FORMAT_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
|
38
37
|
* distinguishes "empty" / "format" / "reserved" so callers can branch on
|
|
39
38
|
* the cause without re-parsing the message.
|
|
40
39
|
*
|
|
41
|
-
* Acceptance contract (rid-009 §3.3.1, task 1):
|
|
42
40
|
* - accepts `[A-Za-z0-9][A-Za-z0-9._-]*` (existing regex semantics)
|
|
43
41
|
* - rejects empty string with `change-id-empty`
|
|
44
42
|
* - rejects `.` and `..` with `change-id-reserved`
|
|
@@ -75,7 +73,6 @@ export function validateChangeId(id) {
|
|
|
75
73
|
*
|
|
76
74
|
* Single source of truth: the primitive is owned by `src/shared/path-safety.ts`;
|
|
77
75
|
* this module owns the *domain* helpers (change-id + path planner) that consume
|
|
78
|
-
* the primitive. Tests in `tests/unit/services/openspec/artifact-boundary.test.ts`
|
|
79
76
|
* exercise the RE-EXPORT wiring; the primitive's own correctness is covered by
|
|
80
77
|
* its native test file.
|
|
81
78
|
*/
|
|
@@ -90,7 +87,6 @@ function interpolateTemplate(template, changeId, role, requestId) {
|
|
|
90
87
|
/**
|
|
91
88
|
* Plan an artifact-relative path under the configured Peaks artifact workspace.
|
|
92
89
|
*
|
|
93
|
-
* Semantics (rid-009 §3.3.2, tasks 5–9):
|
|
94
90
|
* - Backslashes in the candidate path are normalized to forward slashes for
|
|
95
91
|
* JSON safety; empty segments (`foo//bar`) are collapsed by `posix.normalize`.
|
|
96
92
|
* - If the resolved absolute path is NOT contained under `workspaceRoot`
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Coverage Evidence reader for c8 `coverage-summary.json` (Fix-6B).
|
|
3
3
|
*
|
|
4
|
-
* Slice rid-Fix-6B / sub-slice T1:
|
|
5
4
|
* - pure helper module, no side effects beyond FS reads
|
|
6
5
|
* - reads the istanbul-reporter JSON shape emitted by `c8 --reporter=json-summary`
|
|
7
6
|
* (the project's coverage tool — see scripts/coverage-c8.mjs)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Coverage Evidence reader for c8 `coverage-summary.json` (Fix-6B).
|
|
3
3
|
*
|
|
4
|
-
* Slice rid-Fix-6B / sub-slice T1:
|
|
5
4
|
* - pure helper module, no side effects beyond FS reads
|
|
6
5
|
* - reads the istanbul-reporter JSON shape emitted by `c8 --reporter=json-summary`
|
|
7
6
|
* (the project's coverage tool — see scripts/coverage-c8.mjs)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Slice 2026-08-12 best-practice-scan — auto-trigger post-step (Slice F).
|
|
3
2
|
*
|
|
4
3
|
* When peaks-prd's request artifact transitions to `handed-off`, this helper
|
|
5
4
|
* extracts the `businessGoal` (first non-empty bullet under `## Goals` of the
|
|
@@ -18,7 +17,6 @@
|
|
|
18
17
|
* - Spawn 'spawn' event → status: 'triggered' (resolved; child detached)
|
|
19
18
|
*
|
|
20
19
|
* Karpathy §1 (Think Before Coding): extracted from the QA verdict
|
|
21
|
-
* `verdict-rid-best-practice-scan-qa-ship.md` AC-1 PARTIAL finding. The
|
|
22
20
|
* `prd:handed-off` transition in `src/cli/commands/request-commands.ts`
|
|
23
21
|
* is the canonical hook point — peaks-prd's contract in
|
|
24
22
|
* `skills/bee/peaks-prd/SKILL.md` §"Step 2.5 sub-step" mandates this firing
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Slice 2026-08-12 best-practice-scan — auto-trigger post-step (Slice F).
|
|
3
2
|
*
|
|
4
3
|
* When peaks-prd's request artifact transitions to `handed-off`, this helper
|
|
5
4
|
* extracts the `businessGoal` (first non-empty bullet under `## Goals` of the
|
|
@@ -18,7 +17,6 @@
|
|
|
18
17
|
* - Spawn 'spawn' event → status: 'triggered' (resolved; child detached)
|
|
19
18
|
*
|
|
20
19
|
* Karpathy §1 (Think Before Coding): extracted from the QA verdict
|
|
21
|
-
* `verdict-rid-best-practice-scan-qa-ship.md` AC-1 PARTIAL finding. The
|
|
22
20
|
* `prd:handed-off` transition in `src/cli/commands/request-commands.ts`
|
|
23
21
|
* is the canonical hook point — peaks-prd's contract in
|
|
24
22
|
* `skills/bee/peaks-prd/SKILL.md` §"Step 2.5 sub-step" mandates this firing
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Where `gateEvidence` comes FROM, and where its promise is checked.
|
|
3
3
|
*
|
|
4
|
-
* B2 (merged with the B1 repair), rid `rid-b2-gate-evidence-wiring`.
|
|
5
4
|
*
|
|
6
5
|
* B1 made the field real at the SERVICE layer and QA found the hole that
|
|
7
|
-
* mattered (F1 of `rid-b1-qa`): all three frontmatter producers passed
|
|
8
6
|
* nothing, so no capsule on disk ever carried the field — the dead surface
|
|
9
7
|
* had moved one layer out, from "no producer function" to "no production
|
|
10
8
|
* caller". This module closes that by DERIVING the map instead of accepting
|
|
@@ -56,7 +54,6 @@
|
|
|
56
54
|
* For `docs`/`chore` nothing ever reads it, so it is not declared: keeping an
|
|
57
55
|
* inert statement in every docs capsule would recreate, in miniature, the exact
|
|
58
56
|
* defect this whole line of work exists to remove — a claim no one reads, which
|
|
59
|
-
* is how the field was dead in the first place (F1 of `rid-b2-qa`). Scope, in
|
|
60
57
|
* one sentence: **this map declares the evidence paths Gate C will check for
|
|
61
58
|
* this slice**, so an empty declaration is the honest one when there is no such
|
|
62
59
|
* gate.
|
|
@@ -99,7 +96,6 @@ export declare function deriveGateEvidence(opts: {
|
|
|
99
96
|
* so a caller can tell "this slice has nothing to declare" apart from "the
|
|
100
97
|
* artifact could not be read".
|
|
101
98
|
*
|
|
102
|
-
* F4 (`rid-f4-ceiling-breach`). This used to be `catch { return undefined }`,
|
|
103
99
|
* which folded those two into one value — and the repository's own ratchet
|
|
104
100
|
* caught it (`capability-guard-runner/contracts/J03.ts`, rule
|
|
105
101
|
* `catch-return-null`; the ceiling was written for exactly this shape). Nothing
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Where `gateEvidence` comes FROM, and where its promise is checked.
|
|
3
3
|
*
|
|
4
|
-
* B2 (merged with the B1 repair), rid `rid-b2-gate-evidence-wiring`.
|
|
5
4
|
*
|
|
6
5
|
* B1 made the field real at the SERVICE layer and QA found the hole that
|
|
7
|
-
* mattered (F1 of `rid-b1-qa`): all three frontmatter producers passed
|
|
8
6
|
* nothing, so no capsule on disk ever carried the field — the dead surface
|
|
9
7
|
* had moved one layer out, from "no producer function" to "no production
|
|
10
8
|
* caller". This module closes that by DERIVING the map instead of accepting
|
|
@@ -56,7 +54,6 @@
|
|
|
56
54
|
* For `docs`/`chore` nothing ever reads it, so it is not declared: keeping an
|
|
57
55
|
* inert statement in every docs capsule would recreate, in miniature, the exact
|
|
58
56
|
* defect this whole line of work exists to remove — a claim no one reads, which
|
|
59
|
-
* is how the field was dead in the first place (F1 of `rid-b2-qa`). Scope, in
|
|
60
57
|
* one sentence: **this map declares the evidence paths Gate C will check for
|
|
61
58
|
* this slice**, so an empty declaration is the honest one when there is no such
|
|
62
59
|
* gate.
|
|
@@ -147,7 +144,6 @@ export function deriveGateEvidence(opts) {
|
|
|
147
144
|
* so a caller can tell "this slice has nothing to declare" apart from "the
|
|
148
145
|
* artifact could not be read".
|
|
149
146
|
*
|
|
150
|
-
* F4 (`rid-f4-ceiling-breach`). This used to be `catch { return undefined }`,
|
|
151
147
|
* which folded those two into one value — and the repository's own ratchet
|
|
152
148
|
* caught it (`capability-guard-runner/contracts/J03.ts`, rule
|
|
153
149
|
* `catch-return-null`; the ceiling was written for exactly this shape). Nothing
|
|
@@ -163,7 +159,6 @@ export function deriveGateEvidence(opts) {
|
|
|
163
159
|
* worse than a loud, already-duplicated one.
|
|
164
160
|
*/
|
|
165
161
|
export async function deriveGateEvidenceForRequest(opts) {
|
|
166
|
-
// F4 (`rid-f4-ceiling-breach`). The throw from `showRequestArtifact` is
|
|
167
162
|
// propagated, so a caller can tell "this slice has nothing to declare"
|
|
168
163
|
// (artifact missing → `artifact === null` → `requestType === null` →
|
|
169
164
|
// `undefined`) apart from "the artifact could not be read" (an id the
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* v2.13.2 AC-4 — prd/handoff-<rid>.md auto-regen on prd:handed-off.
|
|
3
2
|
*
|
|
4
3
|
* When `peaks request transition --role prd --state handed-off` succeeds
|
|
5
4
|
* and this slice's capsule is missing, this helper writes a sha256-locked
|
|
@@ -8,8 +7,6 @@
|
|
|
8
7
|
* the existing handoff is canonical (it may carry a richer body that
|
|
9
8
|
* peaks-prd produced in an earlier session).
|
|
10
9
|
*
|
|
11
|
-
* Slice `2026-09-14-prd-capsule-rid-scoping`: the path carries the rid, so
|
|
12
|
-
* "already exists" is now asked per SLICE. The pre-rid-scoping bare name is
|
|
13
10
|
* deliberately NOT consulted — writing there would recreate the
|
|
14
11
|
* one-slot-per-session collision for the next slice in the session.
|
|
15
12
|
*
|
|
@@ -47,12 +44,10 @@ export async function autoRegenPrdHandoff(opts) {
|
|
|
47
44
|
}
|
|
48
45
|
const body = artifact.content;
|
|
49
46
|
const sha256 = sha256OfBody(body);
|
|
50
|
-
// v2.13.3 AC-4 — align with `AUDIT_REQUIRES_HANDOFF` prereq which
|
|
51
47
|
// pins `mustContain: ['schemaVersion: 2', 'sha256:']`. Primary field is
|
|
52
48
|
// `sha256`; `handoffHash` is kept as a literal alias for the readers that
|
|
53
49
|
// still use the old key.
|
|
54
50
|
//
|
|
55
|
-
// Slice `2026-09-14-handoff-writer-gate-divergence`: this block used to be
|
|
56
51
|
// hand-rolled here while `handoff-service.serializeHandoff` rendered the
|
|
57
52
|
// SAME contract a second, incompatible way. Both now go through
|
|
58
53
|
// `serializeHandoffFrontmatter`, so the two producers cannot drift again.
|
|
@@ -14,7 +14,6 @@ export declare function serializeHandoff(handoff: Handoff): string;
|
|
|
14
14
|
* readable handoff was satisfied by a handoff the parser would not read, and
|
|
15
15
|
* `peaks prd handoff verify` exited 1 on a healthy file.
|
|
16
16
|
*
|
|
17
|
-
* Slice `2026-09-14-handoff-writer-gate-divergence` then fixed the other half:
|
|
18
17
|
* the writer no longer emits the quoted form at all (see
|
|
19
18
|
* `handoff-frontmatter.ts`). This tolerance stays because handoffs already on
|
|
20
19
|
* disk were written by the old writer and by hand; the writer fix must not
|
|
@@ -26,7 +25,6 @@ export declare function isSchemaVersion2(value: unknown): boolean;
|
|
|
26
25
|
* strings — an ARRAY here is the pre-B1 shape its own test file used to
|
|
27
26
|
* write, and it is a broken declaration, not a claim.
|
|
28
27
|
*
|
|
29
|
-
* F2 of `rid-b1-qa` removed this function's own copy of the shape rule. It
|
|
30
28
|
* used to be a second predicate (same boundary, different downstream result)
|
|
31
29
|
* that let the same bytes read one way here and another way through
|
|
32
30
|
* `readHandoffGateEvidence`; both now ask `classifyGateEvidence`. Only
|
|
@@ -34,7 +34,6 @@ export function serializeHandoff(handoff) {
|
|
|
34
34
|
* readable handoff was satisfied by a handoff the parser would not read, and
|
|
35
35
|
* `peaks prd handoff verify` exited 1 on a healthy file.
|
|
36
36
|
*
|
|
37
|
-
* Slice `2026-09-14-handoff-writer-gate-divergence` then fixed the other half:
|
|
38
37
|
* the writer no longer emits the quoted form at all (see
|
|
39
38
|
* `handoff-frontmatter.ts`). This tolerance stays because handoffs already on
|
|
40
39
|
* disk were written by the old writer and by hand; the writer fix must not
|
|
@@ -48,7 +47,6 @@ export function isSchemaVersion2(value) {
|
|
|
48
47
|
* strings — an ARRAY here is the pre-B1 shape its own test file used to
|
|
49
48
|
* write, and it is a broken declaration, not a claim.
|
|
50
49
|
*
|
|
51
|
-
* F2 of `rid-b1-qa` removed this function's own copy of the shape rule. It
|
|
52
50
|
* used to be a second predicate (same boundary, different downstream result)
|
|
53
51
|
* that let the same bytes read one way here and another way through
|
|
54
52
|
* `readHandoffGateEvidence`; both now ask `classifyGateEvidence`. Only
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The ONE canonical serialization of `prd/handoff.md` frontmatter.
|
|
3
3
|
*
|
|
4
|
-
* Why this module exists (slice `2026-09-14-handoff-writer-gate-divergence`):
|
|
5
4
|
* the handoff capsule is written by two producers and read by four
|
|
6
5
|
* consumers, and they did not agree on the bytes:
|
|
7
6
|
*
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The ONE canonical serialization of `prd/handoff.md` frontmatter.
|
|
3
3
|
*
|
|
4
|
-
* Why this module exists (slice `2026-09-14-handoff-writer-gate-divergence`):
|
|
5
4
|
* the handoff capsule is written by two producers and read by four
|
|
6
5
|
* consumers, and they did not agree on the bytes:
|
|
7
6
|
*
|
|
@@ -48,6 +47,20 @@ function blockSequence(key, values) {
|
|
|
48
47
|
return [`${key}: []`];
|
|
49
48
|
return [`${key}:`, ...values.map((value) => ` - ${yamlScalar(value)}`)];
|
|
50
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* The OPTIONAL form: no line at all when the field is absent or empty.
|
|
52
|
+
*
|
|
53
|
+
* `goals` and its siblings cannot use this — `isHandoffFrontmatter` requires an
|
|
54
|
+
* ARRAY there, so an omitted line would fail the shape check on read, and `[]` is
|
|
55
|
+
* the honest rendering of "declared, none". The authored fields have no such
|
|
56
|
+
* requirement: a capsule that names no files declares nothing, and a `files: []`
|
|
57
|
+
* line would read as a claim that the slice touches no file.
|
|
58
|
+
*/
|
|
59
|
+
function blockOptionalSequence(key, values) {
|
|
60
|
+
if (values === undefined || values.length === 0)
|
|
61
|
+
return [];
|
|
62
|
+
return [`${key}:`, ...values.map((value) => ` - ${yamlScalar(value)}`)];
|
|
63
|
+
}
|
|
51
64
|
/**
|
|
52
65
|
* Render `gateEvidence` as a YAML map of quoted path scalars, or as NOTHING.
|
|
53
66
|
*
|
|
@@ -71,7 +84,6 @@ function blockSequence(key, values) {
|
|
|
71
84
|
function gateEvidenceBlock(evidence) {
|
|
72
85
|
if (evidence === undefined)
|
|
73
86
|
return [];
|
|
74
|
-
// F3 of `rid-b1-qa`: this function used to iterate only the five known keys,
|
|
75
87
|
// so anything else was dropped WITHOUT A TRACE — `initHandoff({gateEvidence:
|
|
76
88
|
// {projectScans: 'typo.md'}})` wrote no block at all and the capsule then
|
|
77
89
|
// read back as `field-absent`, i.e. as if nothing had ever been declared.
|
|
@@ -103,6 +115,44 @@ function gateEvidenceBlock(evidence) {
|
|
|
103
115
|
});
|
|
104
116
|
return entries.length === 0 ? [] : ['gateEvidence:', ...entries];
|
|
105
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Render a sequence of records (`decisions`, `risks`) as a YAML block list, or
|
|
120
|
+
* as NOTHING when the list is absent or empty — the same omission policy as
|
|
121
|
+
* `gateEvidence`, so a capsule that declares no risks gains no noise line.
|
|
122
|
+
*
|
|
123
|
+
* The field names are rendered in the order given, and every value is validated
|
|
124
|
+
* as a string HERE rather than dropped later. That is deliberate: the bug these
|
|
125
|
+
* fields fix was a serializer that rendered from the type and so discarded
|
|
126
|
+
* anything the type did not name, silently, on every rewrite. A record missing a
|
|
127
|
+
* required field therefore has to stop the write, not vanish from it.
|
|
128
|
+
*/
|
|
129
|
+
function blockRecords(key, items, requiredFields) {
|
|
130
|
+
if (items === undefined || items.length === 0)
|
|
131
|
+
return [];
|
|
132
|
+
const lines = [`${key}:`];
|
|
133
|
+
items.forEach((rawItem, index) => {
|
|
134
|
+
// The values are checked at RUNTIME, not trusted from the type, because a
|
|
135
|
+
// capsule reaches here from `readHandoff` as well as from a producer: the
|
|
136
|
+
// spread that makes an authored field survive a read also makes it survive
|
|
137
|
+
// unvalidated. A record missing a required field stops the write rather than
|
|
138
|
+
// vanishing from it — which is precisely how the old serializer made a
|
|
139
|
+
// declared risk look satisfied.
|
|
140
|
+
const record = rawItem !== null && typeof rawItem === 'object' ? { ...rawItem } : {};
|
|
141
|
+
const missing = requiredFields.filter((field) => typeof record[field] !== 'string' || record[field] === '');
|
|
142
|
+
if (missing.length > 0) {
|
|
143
|
+
throw new Error(`handoff: ${key}[${index}] is missing ${missing.join(', ')} — refusing to write a ` +
|
|
144
|
+
`record the next role cannot read (a risk without a mitigation is a red line, and ` +
|
|
145
|
+
'dropping the field is how it looked satisfied)');
|
|
146
|
+
}
|
|
147
|
+
requiredFields.forEach((field, fieldIndex) => {
|
|
148
|
+
const value = record[field];
|
|
149
|
+
lines.push(fieldIndex === 0
|
|
150
|
+
? ` - ${field}: ${yamlScalar(value)}`
|
|
151
|
+
: ` ${field}: ${yamlScalar(value)}`);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
return lines;
|
|
155
|
+
}
|
|
106
156
|
/**
|
|
107
157
|
* Serialize `frontmatter` into the fenced block, terminated by the closing
|
|
108
158
|
* `---` and a trailing newline. Callers append the body verbatim, which keeps
|
|
@@ -125,6 +175,15 @@ export function serializeHandoffFrontmatter(frontmatter) {
|
|
|
125
175
|
...blockSequence('acceptanceCriteria', frontmatter.acceptanceCriteria),
|
|
126
176
|
...blockSequence('preservedBehavior', frontmatter.preservedBehavior),
|
|
127
177
|
`handoffPath: ${yamlScalar(frontmatter.handoffPath)}`,
|
|
178
|
+
// The authored fields: written by peaks-prd / peaks-rd, read by peaks-qa's
|
|
179
|
+
// mechanical cross-checks, and PRESERVED by every rewrite. They sit after
|
|
180
|
+
// `handoffPath` because `schemaVersion` and `sha256` must stay first-parsed,
|
|
181
|
+
// and before `gateEvidence` because that block is last by contract.
|
|
182
|
+
...blockOptionalSequence('scope', frontmatter.scope),
|
|
183
|
+
...blockOptionalSequence('files', frontmatter.files),
|
|
184
|
+
...blockRecords('decisions', frontmatter.decisions, ['id', 'summary', 'rationale']),
|
|
185
|
+
...blockRecords('risks', frontmatter.risks, ['id', 'description', 'mitigation']),
|
|
186
|
+
...blockOptionalSequence('nextActions', frontmatter.nextActions),
|
|
128
187
|
// LAST, after every anchored field: `schemaVersion` / `sha256` are
|
|
129
188
|
// matched as `^`-anchored lines by the gate and both audit loaders, so
|
|
130
189
|
// nothing new may be inserted before them. A nested map also renders
|
|
@@ -56,7 +56,6 @@ export type HandoffGateEvidenceResult = {
|
|
|
56
56
|
/**
|
|
57
57
|
* THE shape rule for a `gateEvidence` value — one home, two callers.
|
|
58
58
|
*
|
|
59
|
-
* F2 of `rid-b1-qa` found this rule written twice (`handoff-service.ts`'s
|
|
60
59
|
* `isGateEvidenceMap`, added by B1, and this module's own inline checks) with
|
|
61
60
|
* the SAME accept/reject boundary but DIFFERENT results: the same bytes
|
|
62
61
|
* produced a map WITH unknown keys through `readHandoff` and a map WITHOUT
|
|
@@ -2,25 +2,15 @@
|
|
|
2
2
|
//
|
|
3
3
|
// The SOLE reader of the handoff frontmatter's `gateEvidence` field.
|
|
4
4
|
//
|
|
5
|
-
// WHAT THE FIELD IS (slice B1, rid `rid-b1-gate-evidence-producer`): a map
|
|
6
5
|
// from one of five fixed gate keys to the PATH of that gate's evidence file.
|
|
7
6
|
// The normative description is
|
|
8
7
|
// `skills/bee/peaks-rd/references/writing-handoff-frontmatter.md:35-41`; the
|
|
9
8
|
// key set is `GATE_EVIDENCE_KEYS` in `./handoff-types.js`.
|
|
10
9
|
//
|
|
11
|
-
// WHAT THIS FILE USED TO SAY, AND WHY THAT WAS FALSE: its header claimed the
|
|
12
|
-
// field was a `string[]` of "gate names" and that `initHandoff` wrote it.
|
|
13
|
-
// Neither held. `grep -rn gateEvidence src/` hit this file and nothing else —
|
|
14
|
-
// there was no producer (`HandoffFrontmatter` had no such field,
|
|
15
|
-
// `serializeHandoffFrontmatter` never emitted it, `initHandoff` rejected it)
|
|
16
|
-
// and no consumer. The field was prose describing data that did not exist,
|
|
17
|
-
// and the comment asserting a producer was the reason nobody noticed.
|
|
18
|
-
//
|
|
19
10
|
// WHAT IS ON DISK NOW, stated precisely because a header that overclaims is
|
|
20
|
-
// the defect
|
|
11
|
+
// the defect below. B1 added the producer FUNCTIONS; B2 wired their callers,
|
|
21
12
|
// which is what made the difference — until then every producer passed
|
|
22
13
|
// nothing, so no capsule carried the field and saying otherwise would have
|
|
23
|
-
// described a fact that held only inside tests (F1 of `rid-b1-qa`). At
|
|
24
14
|
// HEAD after B2: the three producers DERIVE the map from the request type
|
|
25
15
|
// (`services/prd/gate-evidence-derivation.ts`), so a capsule written by
|
|
26
16
|
// `peaks prd handoff init`, by the auto-regen on `prd:handed-off`, or by
|
|
@@ -28,7 +18,17 @@
|
|
|
28
18
|
// artifact is readable — and carries no `gateEvidence` block at all when it
|
|
29
19
|
// is not. Gate C (`checkPrerequisites` at `rd:qa-handoff`) fails a declared
|
|
30
20
|
// path that is not on disk. Every clause above is asserted end-to-end in
|
|
31
|
-
// `tests/unit/prd/gate-evidence-derivation.test.ts`.
|
|
21
|
+
// `tests/unit/prd/gate-evidence-derivation.test.ts`. The derived map is also
|
|
22
|
+
// printed by `peaks prd handoff init` (dry-run and applied), so the key set
|
|
23
|
+
// does not have to be read out of this source file.
|
|
24
|
+
//
|
|
25
|
+
// field was a `string[]` of "gate names" and that `initHandoff` wrote it.
|
|
26
|
+
// Neither held. `grep -rn gateEvidence src/` hit this file and nothing else —
|
|
27
|
+
// there was no producer (`HandoffFrontmatter` had no such field,
|
|
28
|
+
// `serializeHandoffFrontmatter` never emitted it, `initHandoff` rejected it)
|
|
29
|
+
// and the comment asserting a producer was the reason nobody noticed. That
|
|
30
|
+
// paragraph describes the PRE-B1 state; reading it as the current state is
|
|
31
|
+
// the exact misreading that put it here.
|
|
32
32
|
//
|
|
33
33
|
// WHY IT IS STILL STAND-ALONE: keeping the typed-value logic here, rather
|
|
34
34
|
// than in `handoff-service.ts`, keeps `HandoffFrontmatter` a pure data shape
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The canonical capsule path for ONE SLICE, relative to the project root.
|
|
3
3
|
*
|
|
4
|
-
* Slice `2026-09-14-prd-capsule-rid-scoping`: the capsule used to be one slot
|
|
5
4
|
* per SESSION (`prd/handoff.md`), so the second slice's handoff silently
|
|
6
5
|
* overwrote the first slice's — and `AUDIT_REQUIRES_HANDOFF` stayed green
|
|
7
6
|
* because it never checked WHOSE rid the file named. Measured on
|
|
@@ -9,24 +8,18 @@
|
|
|
9
8
|
* capsule left by a different line of work.
|
|
10
9
|
*
|
|
11
10
|
* This is the WRITE target, so it always carries the rid — a consumer-side
|
|
12
|
-
* fallback here would leave a rid-scoped requirement with a bare-name writer,
|
|
13
11
|
* which is the defect shape this slice exists to remove. Readers that must
|
|
14
|
-
* tolerate pre-rid-scoping sessions call `resolveHandoffPath` instead.
|
|
15
12
|
*/
|
|
16
13
|
export declare function handoffRelativePath(sessionId: string, requestId: string): string;
|
|
17
14
|
/**
|
|
18
|
-
* The capsule a CONSUMER should read for (session, requestId): the rid-scoped
|
|
19
|
-
* path when it is on disk, else the pre-rid-scoping bare name. Returns null
|
|
20
15
|
* when neither exists.
|
|
21
16
|
*
|
|
22
17
|
* Three sessions on disk still hold only the bare file
|
|
23
|
-
* (`2026-09-06-session-a87ca4`, `2026-09-12-session-e37ef0`,
|
|
24
18
|
* `2026-09-13-session-21878f`), so the legacy tier has to keep resolving for
|
|
25
19
|
* the gate and for every reader below.
|
|
26
20
|
*
|
|
27
21
|
* `requestId` is optional because the detect-only audit surface reaches its
|
|
28
22
|
* service without one. Such a caller can name only the bare path: a session
|
|
29
|
-
* holding nothing but rid-scoped capsules reports missing rather than picking
|
|
30
23
|
* among its siblings' capsules, which would re-open the cross-slice mix-up
|
|
31
24
|
* this scoping exists to close (fail closed, not "some capsule is there").
|
|
32
25
|
*/
|