peaks-loop 4.0.0-beta.9 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +910 -141
- package/README-en.md +26 -7
- package/README.md +75 -6
- package/agents/karpathy-reviewer.md +33 -0
- package/bin/peaks.js +0 -0
- package/dist/cli/cli-helpers.d.ts +31 -6
- package/dist/cli/cli-helpers.js +48 -25
- package/dist/cli/commands/_register.d.ts +3 -0
- package/dist/cli/commands/_register.js +139 -0
- package/dist/cli/commands/_super.d.ts +10 -0
- package/dist/cli/commands/_super.js +97 -0
- package/dist/cli/commands/adapter-commands-s2a.js +1 -1
- package/dist/cli/commands/asset-commands.js +33 -16
- package/dist/cli/commands/audit-commands.js +2 -2
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
- package/dist/cli/commands/bee-commands.js +1 -1
- package/dist/cli/commands/capability-commands.js +1 -1
- package/dist/cli/commands/capability-worker-config-sc-commands.js +0 -2
- package/dist/cli/commands/changeset-commands.d.ts +13 -0
- package/dist/cli/commands/changeset-commands.js +46 -0
- package/dist/cli/commands/code-commands.d.ts +11 -1
- package/dist/cli/commands/code-commands.js +19 -699
- package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
- package/dist/cli/commands/code-job-shape-commands.js +164 -0
- package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
- package/dist/cli/commands/code-mode-gate-commands.js +223 -0
- package/dist/cli/commands/code-review-commands.js +2 -2
- package/dist/cli/commands/code-run-command.d.ts +12 -0
- package/dist/cli/commands/code-run-command.js +68 -0
- package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
- package/dist/cli/commands/code-runtime-commands.js +391 -0
- package/dist/cli/commands/codegraph-commands.js +1 -1
- package/dist/cli/commands/compact-command.js +53 -1
- package/dist/cli/commands/complexity-commands.js +1 -1
- package/dist/cli/commands/config-commands.js +4 -75
- package/dist/cli/commands/container-commands.d.ts +28 -0
- package/dist/cli/commands/container-commands.js +221 -0
- package/dist/cli/commands/context-commands.js +3 -2
- package/dist/cli/commands/core/artifacts-command.js +1 -1
- package/dist/cli/commands/core/binding-commands.js +1 -1
- package/dist/cli/commands/core/doctor-command.js +63 -3
- package/dist/cli/commands/core/memory-command.js +1 -1
- package/dist/cli/commands/core/profile-command.js +1 -1
- package/dist/cli/commands/core/proxy-command.js +1 -1
- package/dist/cli/commands/core/session-command.js +9 -7
- package/dist/cli/commands/core/skill-command.js +7 -4
- package/dist/cli/commands/core/standards-command.js +1 -1
- package/dist/cli/commands/cron-commands.d.ts +57 -0
- package/dist/cli/commands/cron-commands.js +257 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
- package/dist/cli/commands/cron-scheduler-commands.js +284 -0
- package/dist/cli/commands/dashboard-commands.d.ts +4 -0
- package/dist/cli/commands/dashboard-commands.js +10 -0
- package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
- package/dist/cli/commands/dashboard-long-run.js +122 -0
- package/dist/cli/commands/dashboard-summary.d.ts +12 -0
- package/dist/cli/commands/dashboard-summary.js +58 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -7
- package/dist/cli/commands/dispatch-commands.js +372 -8
- package/dist/cli/commands/dispatch-from-dag.js +4 -1
- package/dist/cli/commands/doc-commands.js +1 -1
- package/dist/cli/commands/ecc-commands.d.ts +30 -0
- package/dist/cli/commands/ecc-commands.js +119 -0
- package/dist/cli/commands/evolution-commands.js +1 -1
- package/dist/cli/commands/feedback-commands.js +1 -1
- package/dist/cli/commands/final-review-commands.js +1 -1
- package/dist/cli/commands/fixture-commands.js +1 -1
- package/dist/cli/commands/fork-commands.js +1 -1
- package/dist/cli/commands/gate-commands.js +128 -6
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
- package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
- package/dist/cli/commands/heartbeat-commands.js +76 -5
- package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
- package/dist/cli/commands/heartbeat-watch-command.js +146 -0
- package/dist/cli/commands/hook-handle.js +1 -1
- package/dist/cli/commands/hooks-commands.js +126 -10
- package/dist/cli/commands/ide-commands.js +1 -1
- package/dist/cli/commands/impact-commands.js +1 -1
- package/dist/cli/commands/job-commands.js +34 -1
- package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
- package/dist/cli/commands/lease-metrics-commands.js +231 -0
- package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
- package/dist/cli/commands/lease-stats-commands.js +107 -0
- package/dist/cli/commands/legacy-commands.js +1 -1
- package/dist/cli/commands/log-commands.js +1 -1
- package/dist/cli/commands/loop-commands.js +1 -1
- package/dist/cli/commands/loop-eval-commands.js +1 -1
- package/dist/cli/commands/memory-commands.js +1 -1
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +1 -1
- package/dist/cli/commands/mut-commands.d.ts +1 -1
- package/dist/cli/commands/mut-commands.js +1 -5
- package/dist/cli/commands/observability-commands.js +1 -1
- package/dist/cli/commands/openspec-commands.js +65 -4
- package/dist/cli/commands/perf-audit-commands.js +3 -3
- package/dist/cli/commands/perf-commands.js +1 -1
- package/dist/cli/commands/polyrepo-commands.js +1 -1
- package/dist/cli/commands/prd-blocks-commands.js +1 -1
- package/dist/cli/commands/prd-commands.js +4 -2
- package/dist/cli/commands/preferences-commands.js +23 -3
- package/dist/cli/commands/project-commands.js +1 -1
- package/dist/cli/commands/qa-business-review-commands.js +1 -1
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +39 -3
- package/dist/cli/commands/release-commands.d.ts +15 -0
- package/dist/cli/commands/release-commands.js +113 -21
- package/dist/cli/commands/request-commands.js +1 -1
- package/dist/cli/commands/retrospective-commands.js +1 -1
- package/dist/cli/commands/reviewer-commands.js +1 -1
- package/dist/cli/commands/role-commands.js +1 -1
- package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
- package/dist/cli/commands/runtime-commands-helpers.js +24 -0
- package/dist/cli/commands/runtime-commands.js +1 -2
- package/dist/cli/commands/sc-commands.js +4 -2
- package/dist/cli/commands/scan-commands.js +1 -1
- package/dist/cli/commands/security-audit-commands.js +3 -3
- package/dist/cli/commands/sediment-commands.js +10 -1
- package/dist/cli/commands/session-24h-mode.d.ts +26 -0
- package/dist/cli/commands/session-24h-mode.js +196 -0
- package/dist/cli/commands/share-commands.d.ts +19 -0
- package/dist/cli/commands/share-commands.js +121 -2
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +1 -1
- package/dist/cli/commands/skill-search-commands.js +4 -1
- package/dist/cli/commands/slice-commands.js +1 -1
- package/dist/cli/commands/slice-integrate-commands.js +1 -1
- package/dist/cli/commands/slice-review-commands.js +1 -1
- package/dist/cli/commands/smoke-commands.js +1 -1
- package/dist/cli/commands/sop-commands.js +1 -1
- package/dist/cli/commands/spill-demo-command.d.ts +7 -0
- package/dist/cli/commands/spill-demo-command.js +29 -0
- package/dist/cli/commands/statusline-commands.d.ts +12 -0
- package/dist/cli/commands/statusline-commands.js +79 -17
- package/dist/cli/commands/sub-agent-commands.js +2 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +10 -0
- package/dist/cli/commands/sub-agent-shared.js +24 -1
- package/dist/cli/commands/swarm-commands.d.ts +13 -0
- package/dist/cli/commands/swarm-commands.js +77 -0
- package/dist/cli/commands/tech-commands.d.ts +64 -0
- package/dist/cli/commands/tech-commands.js +195 -0
- package/dist/cli/commands/understand-commands.js +1 -1
- package/dist/cli/commands/upgrade-commands.d.ts +2 -0
- package/dist/cli/commands/upgrade-commands.js +40 -5
- package/dist/cli/commands/user-touchpoint-commands.js +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +1 -1
- package/dist/cli/commands/vm-commands.d.ts +31 -0
- package/dist/cli/commands/vm-commands.js +274 -0
- package/dist/cli/commands/workflow-commands.js +24 -1
- package/dist/cli/commands/workflow-plan-commands.js +1 -1
- package/dist/cli/commands/workspace/init-command.js +1 -1
- package/dist/cli/commands/workspace/migrate-command.js +1 -1
- package/dist/cli/commands/workspace/reconcile-command.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
- package/dist/cli/commands/worktree-auth-commands.js +652 -0
- package/dist/cli/index.js +58 -13
- package/dist/cli/program.d.ts +2 -2
- package/dist/cli/program.js +86 -281
- package/dist/services/24h-mode/decider.d.ts +103 -0
- package/dist/services/24h-mode/decider.js +144 -0
- package/dist/services/24h-mode/index.d.ts +12 -0
- package/dist/services/24h-mode/index.js +12 -0
- package/dist/services/24h-mode/state.d.ts +48 -0
- package/dist/services/24h-mode/state.js +51 -0
- package/dist/services/24h-mode/store.d.ts +27 -0
- package/dist/services/24h-mode/store.js +119 -0
- package/dist/services/artifacts/artifact-prerequisites.js +1 -1
- package/dist/services/artifacts/request-artifact-service.js +1 -1
- package/dist/services/artifacts/workspace-service.js +1 -1
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
- package/dist/services/audit/red-line-catalog-p2-a.d.ts +0 -6
- package/dist/services/audit/red-line-catalog-p2-a.js +230 -1
- package/dist/services/audit/static-service.d.ts +32 -25
- package/dist/services/audit/static-service.js +30 -109
- package/dist/services/audit-independent/index.d.ts +2 -0
- package/dist/services/audit-independent/index.js +2 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
- package/dist/services/changeset/changeset-check-service.d.ts +22 -0
- package/dist/services/changeset/changeset-check-service.js +47 -0
- package/dist/services/code/auto-compact-modes.d.ts +30 -0
- package/dist/services/code/auto-compact-modes.js +38 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +43 -5
- package/dist/services/code/auto-compact-orchestrator.js +101 -21
- package/dist/services/code/dag-orchestrator.d.ts +30 -1
- package/dist/services/code/dag-orchestrator.js +106 -1
- package/dist/services/code/status-line-renderer.d.ts +2 -0
- package/dist/services/code/status-line-renderer.js +21 -3
- package/dist/services/code-review/ocr-service.d.ts +1 -1
- package/dist/services/code-review/ocr-service.js +6 -3
- package/dist/services/compact-history/compact-history-service.d.ts +41 -0
- package/dist/services/compact-history/compact-history-service.js +62 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
- package/dist/services/config/config-service.d.ts +1 -12
- package/dist/services/config/config-service.js +3 -72
- package/dist/services/config/config-types.d.ts +2 -4
- package/dist/services/config/config-types.js +1 -1
- package/dist/services/container/container-lease.d.ts +67 -0
- package/dist/services/container/container-lease.js +135 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +40 -5
- package/dist/services/context/auto-compact-dispatcher.js +32 -102
- package/dist/services/context/auto-compact-reader.js +1 -1
- package/dist/services/context/auto-compact-types.d.ts +27 -2
- package/dist/services/context/auto-compact-types.js +8 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
- package/dist/services/context/build-dispatch-system-prompt.js +117 -0
- package/dist/services/context/collector.d.ts +2 -2
- package/dist/services/context/context-builder.d.ts +4 -4
- package/dist/services/context/context-schema.d.ts +48 -48
- package/dist/services/context/ide-detect.d.ts +4 -0
- package/dist/services/context/ide-detect.js +24 -0
- package/dist/services/context/main-session-monitor.d.ts +1 -4
- package/dist/services/context/main-session-monitor.js +1 -24
- package/dist/services/context/memory-index-reader.d.ts +8 -0
- package/dist/services/context/memory-index-reader.js +57 -0
- package/dist/services/context/memory-lru-cache.d.ts +12 -0
- package/dist/services/context/memory-lru-cache.js +60 -0
- package/dist/services/context/memory-preflight-config.d.ts +19 -0
- package/dist/services/context/memory-preflight-config.js +25 -0
- package/dist/services/context/memory-preflight-service.d.ts +19 -0
- package/dist/services/context/memory-preflight-service.js +120 -0
- package/dist/services/context/spillover-store.d.ts +23 -0
- package/dist/services/context/spillover-store.js +155 -0
- package/dist/services/context/spillover-types.d.ts +18 -0
- package/dist/services/context/spillover-types.js +1 -0
- package/dist/services/crystallization/crystallization-service.d.ts +22 -5
- package/dist/services/crystallization/crystallization-service.js +8 -14
- package/dist/services/crystallization/crystallization-types.d.ts +6 -6
- package/dist/services/crystallization/evidence-brief-builder.d.ts +1 -1
- package/dist/services/crystallization/index.d.ts +13 -0
- package/dist/services/crystallization/index.js +13 -0
- package/dist/services/dashboard/project-dashboard-service.js +2 -2
- package/dist/services/dispatch/await-batch.d.ts +70 -0
- package/dist/services/dispatch/await-batch.js +272 -0
- package/dist/services/dispatch/batch-counter.js +1 -1
- package/dist/services/dispatch/dispatch-record-writer.d.ts +126 -4
- package/dist/services/dispatch/dispatch-record-writer.js +239 -9
- package/dist/services/dispatch/slice-dag.d.ts +46 -0
- package/dist/services/dispatch/slice-dag.js +6 -0
- package/dist/services/dispatch/stage-enum.d.ts +27 -0
- package/dist/services/dispatch/stage-enum.js +48 -0
- package/dist/services/dispatch/startup-timeout.d.ts +86 -0
- package/dist/services/dispatch/startup-timeout.js +97 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +40 -89
- package/dist/services/dispatch/test-tool-detection.d.ts +25 -1
- package/dist/services/dispatch/test-tool-detection.js +80 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
- package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
- package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
- package/dist/services/doctor/doctor-service/index.d.ts +48 -0
- package/dist/services/doctor/doctor-service/index.js +254 -0
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
- package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
- package/dist/services/doctor/doctor-service/types.d.ts +245 -0
- package/dist/services/doctor/doctor-service/types.js +15 -0
- package/dist/services/doctor/doctor-service.d.ts +15 -146
- package/dist/services/doctor/doctor-service.js +22 -926
- package/dist/services/doctor/index.d.ts +22 -0
- package/dist/services/doctor/index.js +22 -0
- package/dist/services/env/shell-probe.d.ts +71 -0
- package/dist/services/env/shell-probe.js +161 -0
- package/dist/services/evolution/evolution-types.d.ts +39 -39
- package/dist/services/final-review/final-review-service.d.ts +11 -1
- package/dist/services/final-review/index.d.ts +2 -0
- package/dist/services/final-review/index.js +1 -0
- package/dist/services/hooks/auto-compact-hook-install.d.ts +4 -5
- package/dist/services/hooks/auto-compact-hook-install.js +4 -5
- package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
- package/dist/services/hooks/worktree-authorization-gate.js +492 -0
- package/dist/services/ide/adapters/claude-code-adapter.js +2 -2
- package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
- package/dist/services/ide/adapters/qoder-adapter.js +57 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
- package/dist/services/ide/ide-registry.js +6 -0
- package/dist/services/ide/ide-types.d.ts +1 -1
- package/dist/services/job/job-types.d.ts +56 -56
- package/dist/services/job-snapshot/index.d.ts +8 -0
- package/dist/services/job-snapshot/index.js +7 -0
- package/dist/services/{job/job-resource-snapshot.d.ts → job-snapshot/snapshot.d.ts} +1 -1
- package/dist/services/job-snapshot/types.d.ts +7 -0
- package/dist/services/job-snapshot/types.js +1 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
- package/dist/services/log/retention.d.ts +16 -0
- package/dist/services/log/retention.js +17 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +6 -6
- package/dist/services/loop/loop-release-types.d.ts +24 -24
- package/dist/services/loop/monotonic-runner.d.ts +17 -11
- package/dist/services/loop/monotonic-runner.js +118 -79
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
- package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
- package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
- package/dist/services/memory/project-memory-service/index/search.js +194 -0
- package/dist/services/memory/project-memory-service/index.d.ts +9 -0
- package/dist/services/memory/project-memory-service/index.js +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
- package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
- package/dist/services/memory/project-memory-service/store/paths.js +116 -0
- package/dist/services/memory/project-memory-service/types.d.ts +128 -0
- package/dist/services/memory/project-memory-service/types.js +9 -0
- package/dist/services/memory/project-memory-service.d.ts +1 -167
- package/dist/services/memory/project-memory-service.js +19 -816
- package/dist/services/migrate-skill-name/schema.d.ts +2 -2
- package/dist/services/observability/aggregation.d.ts +27 -0
- package/dist/services/observability/aggregation.js +72 -0
- package/dist/services/observability/observability-service.d.ts +73 -7
- package/dist/services/observability/observability-service.js +87 -1
- package/dist/services/openspec/artifact-boundary.d.ts +138 -0
- package/dist/services/openspec/artifact-boundary.js +150 -0
- package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
- package/dist/services/openspec/coverage-evidence-reader.js +386 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +70 -0
- package/dist/services/openspec/openspec-archive-service.js +320 -8
- package/dist/services/openspec/openspec-bridge-service.js +1 -1
- package/dist/services/openspec/openspec-init-service.js +1 -1
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-render-service.js +7 -4
- package/dist/services/openspec/openspec-scan-service.js +1 -1
- package/dist/services/openspec/openspec-validate-service.js +5 -4
- package/dist/services/preferences/preferences-service.js +10 -0
- package/dist/services/preferences/preferences-types.d.ts +13 -0
- package/dist/services/preferences/preferences-types.js +11 -0
- package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
- package/dist/services/qa/screenshot-archive-service.js +134 -0
- package/dist/services/rd/rd-service.js +10 -11
- package/dist/services/rd/types.d.ts +32 -32
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
- package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
- package/dist/services/recommendations/capability-seed-items.js +0 -1
- package/dist/services/recommendations/capability-seed-mappings.js +0 -1
- package/dist/services/recommendations/capability-seed-sources.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +51 -0
- package/dist/services/release/version-precheck-service.js +257 -0
- package/dist/services/scan/acceptance-coverage-service.js +1 -1
- package/dist/services/scan/archetype-service.js +1 -1
- package/dist/services/scan/existing-system-service.js +1 -1
- package/dist/services/scan/libraries-service.js +1 -1
- package/dist/services/sediment/json-schema.d.ts +40 -40
- package/dist/services/share/bundle-types.d.ts +12 -12
- package/dist/services/share/run-state-contract.d.ts +2 -2
- package/dist/services/skill/skill-search-service.d.ts +12 -7
- package/dist/services/skill/skill-search-service.js +8 -4
- package/dist/services/skillhub/migrations/001-initial.sql +71 -0
- package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
- package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
- package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
- package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
- package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
- package/dist/services/skills/hooks-settings-service.d.ts +75 -0
- package/dist/services/skills/hooks-settings-service.js +230 -2
- package/dist/services/skills/skill-registry.d.ts +1 -0
- package/dist/services/skills/skill-registry.js +6 -4
- package/dist/services/skills/skill-runbook-service.js +1 -1
- package/dist/services/slice/slice-check-service.js +1 -1
- package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
- package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
- package/dist/services/standards/missing-standards-detector.d.ts +25 -0
- package/dist/services/standards/missing-standards-detector.js +43 -12
- package/dist/services/tech/tech-change-id-service.d.ts +82 -0
- package/dist/services/tech/tech-change-id-service.js +117 -0
- package/dist/services/understand/understand-hybrid-service.js +1 -1
- package/dist/services/understand/understand-scan-service.js +2 -2
- package/dist/services/upgrade/upgrade-service.js +4 -3
- package/dist/services/verdict/envelopes.d.ts +2 -2
- package/dist/services/verdict/envelopes.js +2 -2
- package/dist/services/verdict/verdict-aggregator.d.ts +3 -3
- package/dist/services/vm/vm-lease.d.ts +40 -0
- package/dist/services/vm/vm-lease.js +137 -0
- package/dist/services/workflow/autonomous-resume-writer.js +1 -1
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
- package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +17 -81
- package/dist/services/workflow/pipeline-verify-service.js +42 -218
- package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-types.js +10 -0
- package/dist/services/workflow/plan-reader.d.ts +1 -1
- package/dist/services/workflow/plan-reader.js +1 -1
- package/dist/services/workflow/plan-refresher.d.ts +1 -1
- package/dist/services/workflow/plan-refresher.js +1 -1
- package/dist/services/workflow/plan-trigger-detector.d.ts +1 -1
- package/dist/services/workflow/plan-trigger-detector.js +1 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +1 -1
- package/dist/services/workflow/workflow-autonomous-service.d.ts +2 -98
- package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
- package/dist/services/workflow/workflow-autonomous-types.js +21 -0
- package/dist/services/workflow/workflow-router-service.js +18 -16
- package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
- package/dist/services/workflow/workflow-spec-lint.js +75 -0
- package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
- package/dist/services/workflow/workflow-spec-types.js +13 -0
- package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
- package/dist/services/workflow/workflow-spec-yaml.js +88 -0
- package/dist/services/workflow/workflow-spec.d.ts +11 -91
- package/dist/services/workflow/workflow-spec.js +16 -145
- package/dist/services/workspace/migrate-service.js +1 -1
- package/dist/services/workspace/workspace-service.js +1 -1
- package/dist/services/worktree/worktree-lease.d.ts +170 -0
- package/dist/services/worktree/worktree-lease.js +242 -0
- package/package.json +47 -51
- package/scripts/clean-dist.mjs +31 -1
- package/scripts/copy-templates.mjs +16 -0
- package/scripts/sync-version.mjs +53 -2
- package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
- package/skills/bee/peaks-prd/SKILL.md +16 -0
- package/skills/bee/peaks-prd/test-prompts.json +12 -0
- package/skills/bee/peaks-qa/SKILL.md +16 -1
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
- package/skills/bee/peaks-qa/test-prompts.json +12 -0
- package/skills/bee/peaks-rd/SKILL.md +29 -20
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
- package/skills/bee/peaks-rd/test-prompts.json +12 -0
- package/skills/bee/peaks-reviewer/SKILL.md +17 -0
- package/skills/bee/peaks-sc/SKILL.md +16 -0
- package/skills/bee/peaks-security-audit/SKILL.md +17 -0
- package/skills/bee/peaks-txt/SKILL.md +16 -0
- package/skills/bee/peaks-txt/test-prompts.json +12 -0
- package/skills/bee/peaks-ui/SKILL.md +49 -43
- package/skills/bee/peaks-ui/test-prompts.json +12 -0
- package/skills/peaks-code/SKILL.md +54 -109
- package/skills/peaks-code/references/boundaries.md +15 -1
- package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
- package/skills/peaks-code/references/external-skill-invocation.md +27 -0
- package/skills/peaks-code/references/lease-dashboard.html +224 -0
- package/skills/peaks-code/references/lease-stats.sample.json +26 -0
- package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/runbook.md +63 -1
- package/skills/peaks-code/references/startup-sequence.md +110 -0
- package/skills/peaks-code/references/step-0-8-gate.md +1 -1
- package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
- package/skills/peaks-code/references/worktree-governance.md +123 -0
- package/skills/peaks-code/test-prompts.json +12 -0
- package/skills/peaks-doctor/SKILL.md +1 -1
- package/skills/peaks-ide/SKILL.md +1 -1
- package/skills/peaks-solo/SKILL.md +21 -0
- package/skills/peaks-solo/references/triage-decision-table.md +6 -0
- package/skills/peaks-sop/test-prompts.json +17 -0
- package/dist/cli/commands/agent-commands.d.ts +0 -20
- package/dist/cli/commands/agent-commands.js +0 -48
- package/dist/cli/commands/classify-classify-commands.d.ts +0 -19
- package/dist/cli/commands/classify-classify-commands.js +0 -151
- package/dist/cli/commands/contract-commands.d.ts +0 -26
- package/dist/cli/commands/contract-commands.js +0 -114
- package/dist/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
- package/dist/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/cli/commands/worker-commands.d.ts +0 -3
- package/dist/cli/commands/worker-commands.js +0 -52
- package/dist/services/agent/ecc-agent-service.d.ts +0 -47
- package/dist/services/agent/ecc-agent-service.js +0 -143
- package/dist/services/config/provider-service.d.ts +0 -48
- package/dist/services/config/provider-service.js +0 -143
- package/dist/services/context/dispatch-context-guard.d.ts +0 -27
- package/dist/services/context/dispatch-context-guard.js +0 -192
- package/dist/services/context/shared-channel.d.ts +0 -93
- package/dist/services/context/shared-channel.js +0 -308
- package/dist/services/filesystem/file-lock.d.ts +0 -11
- package/dist/services/filesystem/file-lock.js +0 -152
- package/dist/services/mut/assert-scanner.d.ts +0 -6
- package/dist/services/mut/assert-scanner.js +0 -116
- package/dist/services/mut/index.d.ts +0 -8
- package/dist/services/mut/index.js +0 -7
- package/dist/services/mut/mut-runner.d.ts +0 -39
- package/dist/services/mut/mut-runner.js +0 -29
- package/dist/services/mut/production-stryker.d.ts +0 -2
- package/dist/services/mut/production-stryker.js +0 -75
- package/dist/services/mut/report-builder.d.ts +0 -11
- package/dist/services/mut/report-builder.js +0 -110
- package/dist/services/mut/report-loader.d.ts +0 -31
- package/dist/services/mut/report-loader.js +0 -78
- package/dist/services/mut/thresholds.d.ts +0 -21
- package/dist/services/mut/thresholds.js +0 -22
- package/dist/services/mut/types.d.ts +0 -336
- package/dist/services/mut/types.js +0 -59
- package/dist/services/providers/minimax-provider-service.d.ts +0 -24
- package/dist/services/providers/minimax-provider-service.js +0 -143
- package/dist/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/services/providers/minimax-worker-service.js +0 -83
- package/dist/shared/fs.d.ts +0 -4
- package/dist/shared/fs.js +0 -26
- package/dist/shared/paths.d.ts +0 -6
- package/dist/shared/paths.js +0 -50
- package/dist/shared/result.d.ts +0 -22
- package/dist/shared/result.js +0 -46
- package/dist/shared/version.d.ts +0 -1
- package/dist/shared/version.js +0 -1
- package/examples/video-demo/README.md +0 -142
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- /package/dist/services/{job/job-resource-snapshot.js → job-snapshot/snapshot.js} +0 -0
|
@@ -1,79 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — pipeline verification orchestrator (slimmed per rid-006).
|
|
3
|
+
*
|
|
4
|
+
* `verifyPipeline` resolves RD / QA evidence files for a given rid and
|
|
5
|
+
* returns a structured `PipelineVerification` envelope. Type
|
|
6
|
+
* declarations live in `pipeline-verify-types.ts`; private gate
|
|
7
|
+
* helpers (`rdGatesForType`, `qaGatesForType`, `extractState`,
|
|
8
|
+
* `findRequestFile`, the `_runtime/` prefix strip, the RD/QA handoff
|
|
9
|
+
* state sets, and the RD/QA evidence path probes) live in
|
|
10
|
+
* `pipeline-verify-gate-support.ts`. The re-export shim at the
|
|
11
|
+
* bottom preserves the original public surface so existing import
|
|
12
|
+
* paths compile unchanged.
|
|
13
|
+
*
|
|
14
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
15
|
+
*/
|
|
3
16
|
import { isRequestType } from '../artifacts/artifact-prerequisites.js';
|
|
4
|
-
import { showRequestArtifact } from '../artifacts/request-artifact-service.js';
|
|
5
|
-
import { resolveSecurityFindingsPath, resolvePerformanceFindingsPath } from './artifact-paths.js';
|
|
6
17
|
import { readSkipState } from './workflow-state-store.js';
|
|
7
18
|
import { getSessionIdCanonical } from '../session/session-manager.js';
|
|
8
19
|
import { listUnpromotedFeedback } from '../feedback/feedback-promotion-service.js';
|
|
9
|
-
|
|
10
|
-
for (const rawLine of markdown.split(/\r?\n/)) {
|
|
11
|
-
const match = /^-\s*state:\s*(.+?)\s*$/.exec(rawLine.trim());
|
|
12
|
-
if (match?.[1])
|
|
13
|
-
return match[1];
|
|
14
|
-
}
|
|
15
|
-
return 'unknown';
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* As of slice 2026-06-05-change-id-as-unit-of-work, the file's durable
|
|
19
|
-
* scope is the change-id (the `.peaks/_runtime/<sessionId>/` dir the file lives
|
|
20
|
-
* in), NOT the session-id. We resolve the on-disk location via
|
|
21
|
-
* `showRequestArtifact` (which scans all top-level dirs and returns the
|
|
22
|
-
* actual dir the file was found in) instead of assuming
|
|
23
|
-
* `.peaks/_runtime/<sessionId>/<role>/requests/`.
|
|
24
|
-
*/
|
|
25
|
-
async function findRequestFile(projectRoot, role, rid) {
|
|
26
|
-
const artifact = await showRequestArtifact({ projectRoot, role: role, requestId: rid });
|
|
27
|
-
if (artifact === null)
|
|
28
|
-
return null;
|
|
29
|
-
// Slice 2026-06-28-code-mode-bypass-fix (defect #3): the legacy
|
|
30
|
-
// `showRequestArtifact` returns the FULL SCOPE (`_runtime/<sid>`)
|
|
31
|
-
// as `sessionId`, not just the trailing id segment. The canonical
|
|
32
|
-
// evidence lookup needs only the bare id (`.peaks/_runtime/change/<id>/`).
|
|
33
|
-
// When the scope starts with `_runtime/`, strip that prefix so the
|
|
34
|
-
// path resolver builds the right canonical location.
|
|
35
|
-
let sessionId = artifact.sessionId;
|
|
36
|
-
if (sessionId.startsWith('_runtime/') || sessionId.startsWith('_runtime\\')) {
|
|
37
|
-
sessionId = sessionId.replace(/^_runtime[\\/]/, '');
|
|
38
|
-
}
|
|
39
|
-
return { path: artifact.path, content: artifact.content, sessionId };
|
|
40
|
-
}
|
|
41
|
-
function rdGatesForType(requestType) {
|
|
42
|
-
const gates = [
|
|
43
|
-
{ name: 'rd-request-exists', description: 'RD request artifact created', passed: false, detail: '' }
|
|
44
|
-
];
|
|
45
|
-
if (requestType === 'feature' || requestType === 'refactor') {
|
|
46
|
-
gates.push({ name: 'tech-doc', description: 'Technical design doc', passed: false, detail: '' });
|
|
47
|
-
}
|
|
48
|
-
if (requestType === 'bugfix') {
|
|
49
|
-
gates.push({ name: 'bug-analysis', description: 'Bug root-cause analysis', passed: false, detail: '' });
|
|
50
|
-
}
|
|
51
|
-
if (requestType !== 'docs' && requestType !== 'chore' && requestType !== 'config') {
|
|
52
|
-
gates.push({ name: 'code-review', description: 'Code review evidence', passed: false, detail: '' });
|
|
53
|
-
}
|
|
54
|
-
if (requestType === 'feature' || requestType === 'refactor' || requestType === 'bugfix' || requestType === 'config') {
|
|
55
|
-
gates.push({ name: 'security-review', description: 'Security review evidence', passed: false, detail: '' });
|
|
56
|
-
}
|
|
57
|
-
return gates;
|
|
58
|
-
}
|
|
59
|
-
function qaGatesForType(requestType) {
|
|
60
|
-
const gates = [
|
|
61
|
-
{ name: 'qa-request-exists', description: 'QA request artifact created', passed: false, detail: '' }
|
|
62
|
-
];
|
|
63
|
-
if (requestType === 'feature' || requestType === 'refactor' || requestType === 'bugfix') {
|
|
64
|
-
gates.push({ name: 'test-cases', description: 'QA test cases', passed: false, detail: '' });
|
|
65
|
-
gates.push({ name: 'test-report', description: 'QA test report with execution results', passed: false, detail: '' });
|
|
66
|
-
}
|
|
67
|
-
if (requestType === 'feature' || requestType === 'refactor' || requestType === 'bugfix' || requestType === 'config') {
|
|
68
|
-
gates.push({ name: 'security-findings', description: 'QA security findings', passed: false, detail: '' });
|
|
69
|
-
}
|
|
70
|
-
if (requestType === 'feature' || requestType === 'refactor') {
|
|
71
|
-
gates.push({ name: 'performance-findings', description: 'QA performance findings', passed: false, detail: '' });
|
|
72
|
-
}
|
|
73
|
-
return gates;
|
|
74
|
-
}
|
|
75
|
-
const RD_QA_HANDOFF_STATES = new Set(['qa-handoff', 'handed-off', 'implemented']);
|
|
76
|
-
const QA_COMPLETE_STATES = new Set(['verdict-issued']);
|
|
20
|
+
import { QA_COMPLETE_STATES, RD_QA_HANDOFF_STATES, extractState, findRequestFile, qaGatesForType, rdGatesForType, resolveQaEvidencePaths, resolveRdEvidencePaths } from './pipeline-verify-gate-support.js';
|
|
77
21
|
export async function verifyPipeline(options) {
|
|
78
22
|
const requestType = isRequestType(options.requestType ?? '') ? options.requestType : 'feature';
|
|
79
23
|
const violations = [];
|
|
@@ -136,71 +80,23 @@ export async function verifyPipeline(options) {
|
|
|
136
80
|
nextActions.push('Invoke Skill(skill="peaks-rd") with the request-id, then run unit tests + code review + security review');
|
|
137
81
|
rdGates[0].detail = 'not found';
|
|
138
82
|
}
|
|
139
|
-
// Check RD evidence files (under the change-id dir the RD request lives in)
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
//
|
|
147
|
-
// scope. The canonical evidence location is now the session axis
|
|
148
|
-
// `.peaks/_runtime/<sessionId>/<role>/...` (where `<sessionId>` is
|
|
149
|
-
// the on-disk dir the request artifact lives in; for back-compat
|
|
150
|
-
// with the legacy `_runtime/<sessionId>/` and `.peaks/<sessionId>/`
|
|
151
|
-
// layouts we also probe those). When the legacy fallback fires, the
|
|
152
|
-
// gate detail / nextActions surface the `DEPRECATION_LEGACY_PATH_USED`
|
|
83
|
+
// Check RD evidence files (under the change-id dir the RD request lives in).
|
|
84
|
+
// v2.17.0 hard-kill — change-id axis removed as filesystem scope. The
|
|
85
|
+
// canonical evidence location is now the session axis
|
|
86
|
+
// `.peaks/_runtime/<sessionId>/<role>/...` (where `<sessionId>` is the
|
|
87
|
+
// on-disk dir the request artifact lives in; for back-compat with the
|
|
88
|
+
// legacy `_runtime/<sessionId>/` and `.peaks/<sessionId>/` layouts the
|
|
89
|
+
// helper also probes those). When the legacy fallback fires, the gate
|
|
90
|
+
// detail / nextActions surface the `DEPRECATION_LEGACY_PATH_USED`
|
|
153
91
|
// warning so QA / TXT can nudge users to migrate via
|
|
154
|
-
// `peaks workspace migrate
|
|
155
|
-
// v2.18.1 bug #5 fix:
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
//
|
|
92
|
+
// `peaks workspace migrate`.
|
|
93
|
+
// v2.18.1 bug #5 fix: when `resolvedChangeId` is empty (no RD/QA
|
|
94
|
+
// artifact on disk yet), the canonical session id from the
|
|
95
|
+
// binding-store is the preferred filesystem scope; falling through
|
|
96
|
+
// to `options.rid` would make every missing-evidence path look like
|
|
97
|
+
// a per-rid scope dir.
|
|
160
98
|
const rdEvidenceDir = resolvedChangeId || options.sessionId || getSessionIdCanonical(options.projectRoot) || options.rid;
|
|
161
|
-
|
|
162
|
-
// every resolved evidence file landed on the canonical path. Drives
|
|
163
|
-
// the `usedCanonicalPath` envelope field. The flag stays `true` if
|
|
164
|
-
// no evidence file was resolved at all (nothing to be non-canonical
|
|
165
|
-
// about); it flips to `false` if any file resolves via legacy.
|
|
166
|
-
let anyEvidenceResolved = false;
|
|
167
|
-
let allResolvedPathsCanonical = true;
|
|
168
|
-
for (const gate of rdGates.slice(1)) {
|
|
169
|
-
const fileName = RD_EVIDENCE_FILE[gate.name];
|
|
170
|
-
// v2.17.0 canonical: session axis — `<sessionId>` is the on-disk
|
|
171
|
-
// dir the request artifact was found in (matches the layout used
|
|
172
|
-
// by `request-artifact-service.ts` for new artifacts).
|
|
173
|
-
const canonicalPath = join(options.projectRoot, '.peaks', '_runtime', rdEvidenceDir, 'rd', fileName);
|
|
174
|
-
const legacyMisplacedPath = join(options.projectRoot, '.peaks', rdEvidenceDir, 'rd', fileName);
|
|
175
|
-
// Pre-v2.17.0 change-axis form: `.peaks/_runtime/change/<id>/rd/<file>`
|
|
176
|
-
// — the v2.16.0 / v2.17.0-era canonical that v2.17.0 hard-killed.
|
|
177
|
-
// Kept as a back-compat fallback for un-migrated workspaces.
|
|
178
|
-
const legacyChangeAxisPath = join(options.projectRoot, '.peaks', '_runtime', 'change', rdEvidenceDir, 'rd', fileName);
|
|
179
|
-
let resolvedPath = null;
|
|
180
|
-
let usedLegacy = false;
|
|
181
|
-
for (const candidate of [canonicalPath, legacyMisplacedPath, legacyChangeAxisPath]) {
|
|
182
|
-
if (existsSync(candidate)) {
|
|
183
|
-
resolvedPath = candidate;
|
|
184
|
-
usedLegacy = candidate !== canonicalPath;
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
if (resolvedPath !== null) {
|
|
189
|
-
anyEvidenceResolved = true;
|
|
190
|
-
if (usedLegacy)
|
|
191
|
-
allResolvedPathsCanonical = false;
|
|
192
|
-
gate.passed = true;
|
|
193
|
-
gate.detail = resolvedPath + (usedLegacy ? ' [DEPRECATION_LEGACY_PATH_USED]' : '');
|
|
194
|
-
if (usedLegacy) {
|
|
195
|
-
violations.push(`DEPRECATION_LEGACY_PATH_USED: ${resolvedPath} — move the file into .peaks/_runtime/${rdEvidenceDir}/rd/ (the canonical location) so subsequent runs resolve on the canonical path. The legacy \`peaks workspace migrate-change-scope\` helper was removed in v2.19.0; use \`peaks workspace migrate\` to relocate misplaced content.`);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
gate.detail = `missing: ${canonicalPath}`;
|
|
200
|
-
violations.push(`RD evidence missing: ${gate.description} (${fileName})`);
|
|
201
|
-
nextActions.push(`Create .peaks/_runtime/${rdEvidenceDir}/rd/${fileName}`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
99
|
+
const rdTracker = resolveRdEvidencePaths(rdGates, rdEvidenceDir, options.projectRoot, violations, nextActions, { anyEvidenceResolved: false, allResolvedPathsCanonical: true });
|
|
204
100
|
// Check if RD reached qa-handoff
|
|
205
101
|
if (rdInvoked && !RD_QA_HANDOFF_STATES.has(rdState)) {
|
|
206
102
|
violations.push(`RD not ready for QA: state is "${rdState}" — must reach "qa-handoff" (unit tests, karpathy-guidelines §1 Think / §2 Simplicity / §3 Surgical / §4 Goal-Driven, code review, security review complete)`);
|
|
@@ -222,81 +118,18 @@ export async function verifyPipeline(options) {
|
|
|
222
118
|
nextActions.push('Invoke Skill(skill="peaks-qa") with the request-id for functional/performance/security testing');
|
|
223
119
|
qaGates[0].detail = 'not found';
|
|
224
120
|
}
|
|
225
|
-
// Check QA evidence files.
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
//
|
|
229
|
-
//
|
|
230
|
-
//
|
|
231
|
-
//
|
|
232
|
-
//
|
|
233
|
-
// instead of `rdEvidenceDir` (= the rid). The session axis
|
|
234
|
-
// `.peaks/_runtime/<sessionId>/qa/...` is the canonical v2.17.0 home; the
|
|
235
|
-
// legacy `_runtime/change/<sessionId>/qa/...` probe should only fire for
|
|
236
|
-
// pre-v2.17.0 workspaces, not as a default for new requests. The slug in
|
|
237
|
-
// the `sessionId` envelope field is preserved below for traceability.
|
|
121
|
+
// Check QA evidence files.
|
|
122
|
+
// v2.18.1 bug #5 fix: when no RD/QA artifact is on disk yet
|
|
123
|
+
// (resolvedChangeId is empty), fall back to the current session id
|
|
124
|
+
// from the binding-store instead of `rdEvidenceDir` (= the rid). The
|
|
125
|
+
// session axis `.peaks/_runtime/<sessionId>/qa/...` is the canonical
|
|
126
|
+
// v2.17.0 home; the legacy `_runtime/change/<sessionId>/qa/...` probe
|
|
127
|
+
// should only fire for pre-v2.17.0 workspaces, not as a default for
|
|
128
|
+
// new requests.
|
|
238
129
|
const changeIdForResolver = resolvedChangeId || getSessionIdCanonical(options.projectRoot) || rdEvidenceDir;
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
'security-findings': '',
|
|
243
|
-
'performance-findings': ''
|
|
244
|
-
};
|
|
245
|
-
for (const gate of qaGates.slice(1)) {
|
|
246
|
-
if (gate.name === 'security-findings' || gate.name === 'performance-findings') {
|
|
247
|
-
const resolver = gate.name === 'security-findings' ? resolveSecurityFindingsPath : resolvePerformanceFindingsPath;
|
|
248
|
-
const resolved = resolver({ projectRoot: options.projectRoot, sessionId: changeIdForResolver, rid: options.rid });
|
|
249
|
-
if (existsSync(resolved.path)) {
|
|
250
|
-
anyEvidenceResolved = true;
|
|
251
|
-
if (resolved.form === 'legacy')
|
|
252
|
-
allResolvedPathsCanonical = false;
|
|
253
|
-
gate.passed = true;
|
|
254
|
-
gate.detail = resolved.path;
|
|
255
|
-
if (resolved.form === 'legacy') {
|
|
256
|
-
// 1-minor-release back-compat window. Surface the warning so
|
|
257
|
-
// users know to migrate. Per PRD §Migration the form will be
|
|
258
|
-
// rejected after the next minor bump.
|
|
259
|
-
violations.push(`QA evidence accepted in legacy form (will be rejected after next minor release): ${resolved.path} — re-run peaks workflow plan refresh to migrate`);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
gate.detail = `missing: ${resolved.path}`;
|
|
264
|
-
violations.push(`QA evidence missing: ${gate.description} (${resolved.path})`);
|
|
265
|
-
nextActions.push(`Create ${resolved.path} (or use the legacy non-suffixed form during the 1-minor-release back-compat window)`);
|
|
266
|
-
}
|
|
267
|
-
continue;
|
|
268
|
-
}
|
|
269
|
-
const fileName = QA_EVIDENCE_FILE[gate.name];
|
|
270
|
-
// v2.17.0 canonical: session axis — `<sessionId>/qa/<file>`.
|
|
271
|
-
const canonicalQaPath = join(options.projectRoot, '.peaks', '_runtime', rdEvidenceDir, 'qa', fileName);
|
|
272
|
-
const legacyMisplacedQaPath = join(options.projectRoot, '.peaks', rdEvidenceDir, 'qa', fileName);
|
|
273
|
-
// Pre-v2.17.0 change-axis form: kept as back-compat fallback.
|
|
274
|
-
const legacyChangeAxisQaPath = join(options.projectRoot, '.peaks', '_runtime', 'change', rdEvidenceDir, 'qa', fileName);
|
|
275
|
-
let resolvedQaPath = null;
|
|
276
|
-
let usedLegacyQa = false;
|
|
277
|
-
for (const candidate of [canonicalQaPath, legacyMisplacedQaPath, legacyChangeAxisQaPath]) {
|
|
278
|
-
if (existsSync(candidate)) {
|
|
279
|
-
resolvedQaPath = candidate;
|
|
280
|
-
usedLegacyQa = candidate !== canonicalQaPath;
|
|
281
|
-
break;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
if (resolvedQaPath !== null) {
|
|
285
|
-
anyEvidenceResolved = true;
|
|
286
|
-
if (usedLegacyQa)
|
|
287
|
-
allResolvedPathsCanonical = false;
|
|
288
|
-
gate.passed = true;
|
|
289
|
-
gate.detail = resolvedQaPath + (usedLegacyQa ? ' [DEPRECATION_LEGACY_PATH_USED]' : '');
|
|
290
|
-
if (usedLegacyQa) {
|
|
291
|
-
violations.push(`DEPRECATION_LEGACY_PATH_USED: ${resolvedQaPath} — move the file into .peaks/_runtime/${rdEvidenceDir}/qa/ (the canonical location) so subsequent runs resolve on the canonical path. The legacy \`peaks workspace migrate-change-scope\` helper was removed in v2.19.0; use \`peaks workspace migrate\` to relocate misplaced content.`);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
295
|
-
gate.detail = `missing: ${canonicalQaPath}`;
|
|
296
|
-
violations.push(`QA evidence missing: ${gate.description} (${fileName})`);
|
|
297
|
-
nextActions.push(`Create .peaks/_runtime/${rdEvidenceDir}/qa/${fileName}`);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
130
|
+
const qaTracker = resolveQaEvidencePaths(qaGates, options.projectRoot, rdEvidenceDir, changeIdForResolver, options.rid, violations, nextActions, rdTracker);
|
|
131
|
+
const anyEvidenceResolved = qaTracker.anyEvidenceResolved;
|
|
132
|
+
const allResolvedPathsCanonical = qaTracker.allResolvedPathsCanonical;
|
|
300
133
|
// Check if QA reached verdict-issued
|
|
301
134
|
if (qaInvoked && !QA_COMPLETE_STATES.has(qaState)) {
|
|
302
135
|
violations.push(`QA not complete: state is "${qaState}" — must reach "verdict-issued" (functional + performance + security checks done)`);
|
|
@@ -366,10 +199,8 @@ export async function verifyPipeline(options) {
|
|
|
366
199
|
detail: ''
|
|
367
200
|
}
|
|
368
201
|
];
|
|
369
|
-
let unpromotedFeedbackCount = 0;
|
|
370
202
|
try {
|
|
371
203
|
const unpromoted = listUnpromotedFeedback({ projectRoot: options.projectRoot });
|
|
372
|
-
unpromotedFeedbackCount = unpromoted.length;
|
|
373
204
|
if (unpromoted.length === 0) {
|
|
374
205
|
feedbackGates[0].passed = true;
|
|
375
206
|
feedbackGates[0].detail = `0 unpromoted feedback memories in .peaks/memory/`;
|
|
@@ -418,13 +249,6 @@ export async function verifyPipeline(options) {
|
|
|
418
249
|
// was removed in v2.19.0; use `peaks workspace migrate` to relocate
|
|
419
250
|
// misplaced content).
|
|
420
251
|
//
|
|
421
|
-
// Implementation note: use the in-loop flag `allResolvedPathsCanonical`
|
|
422
|
-
// (correctly updated by both the inline evidence loop AND the
|
|
423
|
-
// artifact-paths resolver for security/performance findings), not a
|
|
424
|
-
// string-scan over `gate.detail`. The string-scan approach misses the
|
|
425
|
-
// artifact-paths legacy branch (it does NOT inject the
|
|
426
|
-
// `DEPRECATION_LEGACY_PATH_USED` suffix into gate.detail).
|
|
427
|
-
//
|
|
428
252
|
// If NO evidence file resolved (e.g. all gates missing), the field is
|
|
429
253
|
// `true` — there is nothing non-canonical to worry about. If every
|
|
430
254
|
// resolved gate was skipped via `peaks workflow skip`, the field is
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — public type declarations for pipeline verification.
|
|
3
|
+
*
|
|
4
|
+
* Pure type module. No runtime helpers, no constants. The slimmed
|
|
5
|
+
* `pipeline-verify-service.ts` re-exports the types so existing
|
|
6
|
+
* import paths compile unchanged (rid-006 split).
|
|
7
|
+
*
|
|
8
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
9
|
+
*/
|
|
10
|
+
import type { RequestType } from '../artifacts/artifact-prerequisites.js';
|
|
11
|
+
export type PipelineGate = {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
passed: boolean;
|
|
15
|
+
detail: string;
|
|
16
|
+
/**
|
|
17
|
+
* Slice 2026-06-13-peaks-workflow-skip: optional status that
|
|
18
|
+
* distinguishes a gate that was BYPASSED via `peaks workflow skip`
|
|
19
|
+
* from one that actually passed evaluation. When set, the gate
|
|
20
|
+
* was NOT evaluated by `evaluateGate` — the user/CLI explicitly
|
|
21
|
+
* marked it as skipped. The boolean `passed` is set to `true` so
|
|
22
|
+
* existing consumers (which only check `passed`) treat a skipped
|
|
23
|
+
* gate as "satisfied", but downstream consumers that need
|
|
24
|
+
* audit-grade distinction (e.g. CI badges, dashboards) can read
|
|
25
|
+
* `status` to tell pass / fail / skipped apart.
|
|
26
|
+
*
|
|
27
|
+
* - omitted (default): not set, gate was evaluated; treat as legacy.
|
|
28
|
+
* - 'pass': gate evaluated and passed.
|
|
29
|
+
* - 'fail': gate evaluated and failed.
|
|
30
|
+
* - 'skipped': gate was bypassed; never evaluated.
|
|
31
|
+
*/
|
|
32
|
+
status?: 'pass' | 'fail' | 'skipped';
|
|
33
|
+
};
|
|
34
|
+
export type PipelineVerification = {
|
|
35
|
+
rid: string;
|
|
36
|
+
sessionId: string;
|
|
37
|
+
requestType: RequestType;
|
|
38
|
+
complete: boolean;
|
|
39
|
+
rdPhase: {
|
|
40
|
+
invoked: boolean;
|
|
41
|
+
state: string;
|
|
42
|
+
gates: PipelineGate[];
|
|
43
|
+
};
|
|
44
|
+
qaPhase: {
|
|
45
|
+
invoked: boolean;
|
|
46
|
+
state: string;
|
|
47
|
+
gates: PipelineGate[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Slice 002 (v2.15.0) AC-3: Gate H "feedback-promotion". Always
|
|
51
|
+
* present (single-element array). Evaluates whether every
|
|
52
|
+
* `metadata.type === 'feedback'` memory in `.peaks/memory/`
|
|
53
|
+
* carries a promotion marker (comment OR sidecar). Failures
|
|
54
|
+
* block the `complete` verdict via the `gateH` field below; the
|
|
55
|
+
* pipeline only completes when every gate in this array passes.
|
|
56
|
+
*/
|
|
57
|
+
feedbackPhase?: {
|
|
58
|
+
gates: PipelineGate[];
|
|
59
|
+
};
|
|
60
|
+
violations: string[];
|
|
61
|
+
nextActions: string[];
|
|
62
|
+
/** Form of the security/performance findings artifacts Gate C accepted
|
|
63
|
+
* (slice 025). `'suffixed'` for the new per-rid form, `'legacy'` for the
|
|
64
|
+
* pre-slice-025 non-suffixed form, `'none'` when neither was found. */
|
|
65
|
+
acceptedForm?: 'suffixed' | 'legacy' | 'none';
|
|
66
|
+
/** `gateC` is the pre-computed verdict string (AC7 dogfood shape). */
|
|
67
|
+
gateC?: 'pass' | 'fail';
|
|
68
|
+
/**
|
|
69
|
+
* Slice 002 (v2.15.0) AC-3: Gate H verdict string. `'pass'` when
|
|
70
|
+
* all feedback memories are promoted; `'fail'` when at least one
|
|
71
|
+
* unpromoted feedback memory was found.
|
|
72
|
+
*/
|
|
73
|
+
gateH?: 'pass' | 'fail';
|
|
74
|
+
/**
|
|
75
|
+
* Slice 2026-06-28-code-mode-bypass-fix (defect #3): `true` when
|
|
76
|
+
* every evidence file resolved on the canonical path
|
|
77
|
+
* (`.peaks/_runtime/change/<sessionId>/...`). `false` when at least
|
|
78
|
+
* one evidence file resolved via a legacy fallback (`.peaks/<sessionId>/...`
|
|
79
|
+
* or `.peaks/_runtime/<sessionId>/...`). QA / TXT surface the value
|
|
80
|
+
* so users know to move misplaced evidence into the canonical
|
|
81
|
+
* location.
|
|
82
|
+
*
|
|
83
|
+
* Slice 2026-06-29-change-id-root-removal: the legacy
|
|
84
|
+
* `peaks workspace migrate-change-scope` migration tool is gone;
|
|
85
|
+
* users must now move misplaced content into the canonical
|
|
86
|
+
* `.peaks/_runtime/change/<sessionId>/<role>/` dir manually (or via
|
|
87
|
+
* `peaks workspace migrate`).
|
|
88
|
+
*/
|
|
89
|
+
usedCanonicalPath?: boolean;
|
|
90
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — public type declarations for pipeline verification.
|
|
3
|
+
*
|
|
4
|
+
* Pure type module. No runtime helpers, no constants. The slimmed
|
|
5
|
+
* `pipeline-verify-service.ts` re-exports the types so existing
|
|
6
|
+
* import paths compile unchanged (rid-006 split).
|
|
7
|
+
*
|
|
8
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ResultEnvelope } from '
|
|
1
|
+
import { type ResultEnvelope } from 'peaks-loop-shared/result';
|
|
2
2
|
export type PlanType = 'security' | 'perf';
|
|
3
3
|
/** Back-compat env-var. When set to "1", fall back to legacy paths. */
|
|
4
4
|
export declare const BACK_COMPAT_FLAG = "PEAKS_PLAN_LEGACY_FALLBACK";
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { createHash } from 'node:crypto';
|
|
16
16
|
import { existsSync, readFileSync, realpathSync, statSync } from 'node:fs';
|
|
17
17
|
import { join, sep } from 'node:path';
|
|
18
|
-
import { fail, ok } from '
|
|
18
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
19
19
|
import { getSessionDir } from '../session/getSessionDir.js';
|
|
20
20
|
/** Back-compat env-var. When set to "1", fall back to legacy paths. */
|
|
21
21
|
export const BACK_COMPAT_FLAG = 'PEAKS_PLAN_LEGACY_FALLBACK';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { existsSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
13
13
|
import { join, sep } from 'node:path';
|
|
14
|
-
import { fail, ok } from '
|
|
14
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
15
15
|
import { getSessionDir } from '../session/getSessionDir.js';
|
|
16
16
|
import { hashNormalizedBody, normalizePlanBody } from './plan-reader.js';
|
|
17
17
|
const PLAN_FILE = {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* supplied, the detector scans the project directly (the same scan the
|
|
12
12
|
* refresh plan performs).
|
|
13
13
|
*/
|
|
14
|
-
import { type ResultEnvelope } from '
|
|
14
|
+
import { type ResultEnvelope } from 'peaks-loop-shared/result';
|
|
15
15
|
export type TriggerReason = 'new-dependency' | 'auth-surface-added' | 'hot-path-added' | 'manual-override' | 'no-change' | 'no-triggering-change';
|
|
16
16
|
/** F-1 (slice 025 security): canonical request-id shape. */
|
|
17
17
|
export declare const REQUEST_ID_PATTERN: RegExp;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
15
15
|
import { join } from 'node:path';
|
|
16
|
-
import { fail, ok } from '
|
|
16
|
+
import { fail, ok } from 'peaks-loop-shared/result';
|
|
17
17
|
/** F-1 (slice 025 security): canonical request-id shape. */
|
|
18
18
|
export const REQUEST_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
19
19
|
const SENSITIVE_SERVICE_DIRS = ['auth', 'security', 'secrets', 'payments', 'filesystem'];
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* imports from this sibling. Function signatures and behaviour are
|
|
12
12
|
* unchanged (verbatim move).
|
|
13
13
|
*/
|
|
14
|
-
import type { AutonomousResumePlan } from './workflow-autonomous-
|
|
14
|
+
import type { AutonomousResumePlan } from './workflow-autonomous-types.js';
|
|
15
15
|
export declare function getResumeRequiredArtifacts(_sessionId: string): string[];
|
|
16
16
|
type ResumeArtifactsStatus = 'ready' | 'missing' | 'invalid';
|
|
17
17
|
declare function getResumeArtifactsStatus(artifactWorkspacePath: string, requiredArtifacts: readonly string[], sessionId: string, goal: string): ResumeArtifactsStatus;
|
|
@@ -1,100 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ModelProviderConfig, WorkspaceConfig } from '../config/config-types.js';
|
|
3
|
-
import { type RdPlanResult } from '../rd/rd-service.js';
|
|
4
|
-
import { type CodeMode, type WorkflowMode, type WorkflowRouterPlan } from './workflow-router-service.js';
|
|
1
|
+
import type { AutonomousWorkflowPlan, AutonomousWorkflowRequest } from './workflow-autonomous-types.js';
|
|
5
2
|
export { getResumeRequiredArtifacts, getResumeArtifactsStatus, createResumePlan } from './workflow-autonomous-resume-helpers.js';
|
|
6
|
-
export type
|
|
7
|
-
export type CapabilityPurpose = 'code-review' | 'security-review' | 'coding-standards' | 'docs-lookup' | 'browser-validation' | 'browser-debug' | 'design-context' | 'design-source' | 'code-search' | 'database-inspection' | 'browser-agent' | 'worker-guidance' | 'memory' | 'context-management' | 'ui-components' | 'spec-workflow' | 'repo-intelligence' | 'openspec' | 'workflow-methodology' | 'workflow-reference' | 'workflow-guidance' | 'product-guidance' | 'design-reference' | 'ui-reference' | 'engineering-guidance' | 'typescript-guidance' | 'quality-guidance' | 'skill-pack' | 'external-skill' | 'design-critique' | 'design-guidance' | 'cloud-skill-pack';
|
|
8
|
-
export type CapabilityActivation = 'available' | 'needs-install' | 'needs-credentials' | 'not-active';
|
|
9
|
-
export type CapabilityTrustLevel = 'local' | 'user-curated' | 'third-party';
|
|
10
|
-
export type CapabilityCandidate = {
|
|
11
|
-
readonly id: string;
|
|
12
|
-
readonly source: string;
|
|
13
|
-
readonly purpose: CapabilityPurpose;
|
|
14
|
-
readonly surface: CapabilitySurface;
|
|
15
|
-
readonly kind: CapabilitySurface;
|
|
16
|
-
readonly sourceType: CapabilityItemType;
|
|
17
|
-
readonly trustLevel: CapabilityTrustLevel;
|
|
18
|
-
readonly activation: CapabilityActivation;
|
|
19
|
-
readonly risk: readonly string[];
|
|
20
|
-
};
|
|
21
|
-
export type AutonomousWorkflowRequest = {
|
|
22
|
-
readonly mode: WorkflowMode;
|
|
23
|
-
readonly codeMode?: CodeMode;
|
|
24
|
-
readonly sessionId: string;
|
|
25
|
-
readonly goal: string;
|
|
26
|
-
readonly maxWorkers?: number;
|
|
27
|
-
readonly dryRun: true;
|
|
28
|
-
readonly artifactWorkspacePath?: string;
|
|
29
|
-
readonly workspace?: WorkspaceConfig;
|
|
30
|
-
readonly config?: {
|
|
31
|
-
readonly economyMode?: boolean;
|
|
32
|
-
readonly swarmMode?: boolean;
|
|
33
|
-
readonly providers?: ModelProviderConfig;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export type AutonomousGoalPackage = {
|
|
37
|
-
readonly sessionId: string;
|
|
38
|
-
readonly goal: string;
|
|
39
|
-
readonly nonGoals: readonly string[];
|
|
40
|
-
readonly preservedBehavior: readonly string[];
|
|
41
|
-
readonly acceptanceCriteria: readonly string[];
|
|
42
|
-
readonly doneCondition: string;
|
|
43
|
-
readonly resumeCondition: string;
|
|
44
|
-
readonly riskNotes: readonly string[];
|
|
45
|
-
};
|
|
46
|
-
export type AutonomousCapabilityPlan = {
|
|
47
|
-
readonly sources: readonly string[];
|
|
48
|
-
readonly policy: readonly string[];
|
|
49
|
-
readonly candidates: readonly CapabilityCandidate[];
|
|
50
|
-
readonly surfaces: readonly CapabilitySurface[];
|
|
51
|
-
readonly surfaceSummary: Record<CapabilitySurface, number>;
|
|
52
|
-
};
|
|
53
|
-
export type AutonomousResumePlan = {
|
|
54
|
-
readonly status: 'preview' | 'ready';
|
|
55
|
-
readonly checkpoints: readonly string[];
|
|
56
|
-
readonly requiredArtifacts: readonly string[];
|
|
57
|
-
readonly resumeInstructions: string;
|
|
58
|
-
};
|
|
59
|
-
export type AutonomousGoalCommand = {
|
|
60
|
-
readonly command: string;
|
|
61
|
-
readonly durable: false;
|
|
62
|
-
readonly reason: string;
|
|
63
|
-
};
|
|
64
|
-
export type AutonomousStoragePlan = {
|
|
65
|
-
readonly scope: 'user-local';
|
|
66
|
-
readonly artifactWorkspacePath: string | null;
|
|
67
|
-
readonly memoryBackupPath: string | null;
|
|
68
|
-
};
|
|
69
|
-
export type AutonomousMvpPackage = {
|
|
70
|
-
readonly mode: WorkflowMode;
|
|
71
|
-
readonly codeMode: CodeMode | undefined;
|
|
72
|
-
readonly executionMode: 'preview';
|
|
73
|
-
readonly dryRun: true;
|
|
74
|
-
readonly routePolicy: WorkflowRouterPlan['routePolicy'];
|
|
75
|
-
readonly rdWaveNames: readonly string[];
|
|
76
|
-
readonly capabilitySurfaces: readonly CapabilitySurface[];
|
|
77
|
-
readonly capabilityCountBySurface: Record<CapabilitySurface, number>;
|
|
78
|
-
readonly ready: boolean;
|
|
79
|
-
};
|
|
80
|
-
export type AutonomousWorkflowPlan = {
|
|
81
|
-
readonly available: boolean;
|
|
82
|
-
readonly behavior: 'preview' | 'ready';
|
|
83
|
-
readonly sessionId: string;
|
|
84
|
-
readonly goal: string;
|
|
85
|
-
readonly mode: WorkflowMode;
|
|
86
|
-
readonly dryRun: true;
|
|
87
|
-
readonly goalPackage: AutonomousGoalPackage;
|
|
88
|
-
readonly goalCommand: AutonomousGoalCommand;
|
|
89
|
-
readonly capabilityPlan: AutonomousCapabilityPlan;
|
|
90
|
-
readonly storagePlan: AutonomousStoragePlan;
|
|
91
|
-
readonly routePlan: WorkflowRouterPlan;
|
|
92
|
-
readonly modelAssignments: WorkflowRouterPlan['modelAssignments'];
|
|
93
|
-
readonly rdPlan: RdPlanResult;
|
|
94
|
-
readonly resumePlan: AutonomousResumePlan;
|
|
95
|
-
readonly mvpPackage: AutonomousMvpPackage;
|
|
96
|
-
readonly constraints: readonly string[];
|
|
97
|
-
readonly blockedReasons: readonly string[];
|
|
98
|
-
readonly nextActions: readonly string[];
|
|
99
|
-
};
|
|
3
|
+
export type { AutonomousCapabilityPlan, AutonomousGoalCommand, AutonomousGoalPackage, AutonomousMvpPackage, AutonomousResumePlan, AutonomousStoragePlan, AutonomousWorkflowPlan, AutonomousWorkflowRequest, CapabilityActivation, CapabilityCandidate, CapabilityPurpose, CapabilitySurface, CapabilityTrustLevel } from './workflow-autonomous-types.js';
|
|
100
4
|
export declare function createAutonomousWorkflowPlan(request: AutonomousWorkflowRequest): AutonomousWorkflowPlan;
|