peaks-loop 4.0.0-beta → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +5 -0
- package/CHANGELOG.md +533 -87
- package/README-en.md +184 -56
- package/README.md +184 -46
- package/bin/peaks.js +1 -1
- package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
- package/dist/cli/commands/_cli-error-envelope.js +50 -0
- package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
- package/dist/cli/commands/adapter-commands-s2a.js +92 -0
- package/dist/cli/commands/asset-commands.d.ts +45 -0
- package/dist/cli/commands/asset-commands.js +404 -0
- package/dist/cli/commands/bee-commands.d.ts +26 -0
- package/dist/cli/commands/bee-commands.js +169 -0
- package/dist/cli/commands/code-commands.d.ts +80 -0
- package/dist/cli/commands/code-commands.js +798 -0
- package/dist/cli/commands/core/skill-command.js +300 -0
- package/dist/cli/commands/dispatch-from-dag.js +251 -0
- package/dist/cli/commands/evolution-commands.d.ts +27 -0
- package/dist/cli/commands/evolution-commands.js +393 -0
- package/dist/cli/commands/hook-handle.js +157 -0
- package/dist/cli/commands/ide-commands.d.ts +25 -0
- package/dist/cli/commands/ide-commands.js +42 -0
- package/dist/cli/commands/job-commands.js +289 -0
- package/dist/cli/commands/loop-commands.d.ts +27 -0
- package/dist/cli/commands/loop-commands.js +262 -0
- package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
- package/dist/cli/commands/polyrepo-commands.js +155 -0
- package/dist/cli/commands/project-commands.js +253 -0
- package/dist/cli/commands/runtime-commands.d.ts +52 -0
- package/dist/cli/commands/runtime-commands.js +150 -0
- package/dist/cli/commands/sediment-commands.js +649 -0
- package/dist/cli/commands/session-auto-compact-hook-command.js +127 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
- package/dist/cli/commands/skill-search-commands.d.ts +25 -0
- package/dist/cli/commands/skill-search-commands.js +68 -0
- package/dist/cli/commands/sub-agent-shared.d.ts +99 -0
- package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
- package/dist/cli/commands/user-touchpoint-commands.js +78 -0
- package/dist/cli/commands/workflow-commands.js +544 -0
- package/dist/cli/commands/workspace/init-command.d.ts +139 -0
- package/dist/cli/commands/workspace/init-command.js +505 -0
- package/dist/cli/program.js +408 -0
- package/dist/services/adapter/adapter-registry.d.ts +48 -0
- package/dist/services/adapter/adapter-registry.js +186 -0
- package/dist/services/artifacts/repair-cycle-service.js +52 -0
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
- package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
- package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
- package/dist/services/audit/enforcers/code-ban.js +27 -0
- package/dist/services/audit/red-line-catalog.d.ts +51 -0
- package/dist/services/audit/red-line-catalog.js +195 -0
- package/dist/services/audit/types.d.ts +86 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +98 -0
- package/dist/services/code/auto-compact-orchestrator.js +343 -0
- package/dist/services/code/dag-orchestrator.d.ts +128 -0
- package/dist/services/code/dag-orchestrator.js +304 -0
- package/dist/services/code/emit-handoff.d.ts +49 -0
- package/dist/services/code/emit-handoff.js +79 -0
- package/dist/services/code/job-shape-decision.d.ts +71 -0
- package/dist/services/code/job-shape-decision.js +151 -0
- package/dist/services/code/mode-gate.d.ts +163 -0
- package/dist/services/code/mode-gate.js +212 -0
- package/dist/services/code/post-compact-detector.d.ts +61 -0
- package/dist/services/code/post-compact-detector.js +240 -0
- package/dist/services/code/step-08-gate.d.ts +90 -0
- package/dist/services/code/step-08-gate.js +136 -0
- package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
- package/dist/services/code/user-touchpoint-classifier.js +145 -0
- package/dist/services/config/model-routing.d.ts +66 -0
- package/dist/services/config/model-routing.js +105 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +37 -0
- package/dist/services/context/auto-compact-dispatcher.js +240 -0
- package/dist/services/context/auto-compact-types.d.ts +143 -0
- package/dist/services/context/context-schema.d.ts +415 -0
- package/dist/services/crystallization/crystallization-service.d.ts +239 -0
- package/dist/services/crystallization/crystallization-service.js +397 -0
- package/dist/services/crystallization/crystallization-store.d.ts +75 -0
- package/dist/services/crystallization/crystallization-store.js +193 -0
- package/dist/services/crystallization/crystallization-types.d.ts +313 -0
- package/dist/services/crystallization/crystallization-types.js +299 -0
- package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
- package/dist/services/crystallization/evidence-brief-builder.js +240 -0
- package/dist/services/dispatch/slice-dag.d.ts +81 -0
- package/dist/services/dispatch/test-tool-detection.d.ts +36 -0
- package/dist/services/dispatch/test-tool-detection.js +46 -0
- package/dist/services/evolution/evolution-service.d.ts +137 -0
- package/dist/services/evolution/evolution-service.js +281 -0
- package/dist/services/evolution/evolution-store.d.ts +57 -0
- package/dist/services/evolution/evolution-store.js +232 -0
- package/dist/services/evolution/evolution-types.d.ts +706 -0
- package/dist/services/evolution/evolution-types.js +286 -0
- package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
- package/dist/services/evolution/independent-evaluator-runner.js +106 -0
- package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
- package/dist/services/evolution/regression-skeptic-runner.js +113 -0
- package/dist/services/feedback/feedback-promotion-service.js +300 -0
- package/dist/services/filesystem/file-lock.js +152 -0
- package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
- package/dist/services/ide/adapters/zcode-adapter.js +220 -0
- package/dist/services/ide/current-model-detector.d.ts +14 -0
- package/dist/services/ide/current-model-detector.js +60 -0
- package/dist/services/ide/ide-registry.js +63 -0
- package/dist/services/ide/ide-types.d.ts +253 -0
- package/dist/services/job/job-progress-store.d.ts +60 -0
- package/dist/services/job/job-progress-store.js +70 -0
- package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
- package/dist/services/loop/loop-bee-relation-service.js +211 -0
- package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
- package/dist/services/loop/loop-bee-relation-store.js +130 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
- package/dist/services/loop/loop-bee-relation-types.js +114 -0
- package/dist/services/loop/loop-release-service.d.ts +46 -0
- package/dist/services/loop/loop-release-service.js +66 -0
- package/dist/services/loop/loop-release-store.d.ts +55 -0
- package/dist/services/loop/loop-release-store.js +134 -0
- package/dist/services/loop/loop-release-types.d.ts +250 -0
- package/dist/services/loop/loop-release-types.js +162 -0
- package/dist/services/memory/project-context-service.d.ts +21 -0
- package/dist/services/memory/project-context-service.js +161 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
- package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
- package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
- package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-service.js +49 -0
- package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
- package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
- package/dist/services/preferences/preferences-service.d.ts +38 -0
- package/dist/services/preferences/preferences-types.d.ts +148 -0
- package/dist/services/providers/minimax-worker-service.d.ts +21 -0
- package/dist/services/providers/minimax-worker-service.js +83 -0
- package/dist/services/rd/rd-service.js +441 -0
- package/dist/services/rd/standards-diagnostic.d.ts +76 -0
- package/dist/services/rd/standards-diagnostic.js +166 -0
- package/dist/services/rd/types.d.ts +252 -0
- package/dist/services/recommendations/capability-seed-items.js +140 -0
- package/dist/services/recommendations/capability-seed-mappings.js +54 -0
- package/dist/services/recommendations/recommendation-service.js +106 -0
- package/dist/services/refactor/refactor-service.d.ts +9 -0
- package/dist/services/runtime/runtime-detector.d.ts +15 -0
- package/dist/services/runtime/runtime-detector.js +62 -0
- package/dist/services/runtime/runtime-service.d.ts +59 -0
- package/dist/services/runtime/runtime-service.js +51 -0
- package/dist/services/runtime/vendor-adapter.d.ts +59 -0
- package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
- package/dist/services/runtime/vendors/claude-code.js +39 -0
- package/dist/services/runtime/vendors/codex.d.ts +7 -0
- package/dist/services/runtime/vendors/codex.js +43 -0
- package/dist/services/runtime/vendors/copilot.d.ts +7 -0
- package/dist/services/runtime/vendors/copilot.js +40 -0
- package/dist/services/scan/archetype-service.js +254 -0
- package/dist/services/scan/scan-types.d.ts +59 -0
- package/dist/services/share/bundle-reader.d.ts +100 -0
- package/dist/services/share/bundle-reader.js +434 -0
- package/dist/services/share/bundle-types.d.ts +392 -0
- package/dist/services/share/bundle-types.js +318 -0
- package/dist/services/share/bundle-writer.d.ts +97 -0
- package/dist/services/share/bundle-writer.js +429 -0
- package/dist/services/share/run-state-contract.d.ts +133 -0
- package/dist/services/share/run-state-contract.js +138 -0
- package/dist/services/signal/cancel-handler.js +76 -0
- package/dist/services/skill/resume-detector.js +334 -0
- package/dist/services/skill/skill-search-service.d.ts +88 -0
- package/dist/services/skill/skill-search-service.js +228 -0
- package/dist/services/skillhub/release-import.js +64 -0
- package/dist/services/skillhub/release-retain.js +94 -0
- package/dist/services/skillhub/sqlite-store.js +63 -0
- package/dist/services/skillhub/types.d.ts +115 -0
- package/dist/services/skills/skill-presence-service.d.ts +158 -0
- package/dist/services/standards/ide-aware-standards-service.js +91 -0
- package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
- package/dist/services/standards/loop-engineering-lint.js +101 -0
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
- package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
- package/dist/services/standards/migrate-claude-rules-service.js +214 -0
- package/dist/services/standards/missing-standards-detector.d.ts +81 -0
- package/dist/services/standards/missing-standards-detector.js +139 -0
- package/dist/services/standards/project-standards-service.js +693 -0
- package/dist/services/understand/hybrid-types.js +1 -0
- package/dist/services/understand/understand-types.js +1 -0
- package/dist/services/upgrade/1x-detector-service.js +94 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-service.js +449 -0
- package/dist/services/workflow/workflow-autonomous-service.d.ts +100 -0
- package/dist/services/workflow/workflow-autonomous-service.js +306 -0
- package/dist/services/workflow/workflow-router-service.d.ts +85 -0
- package/dist/services/workflow/workflow-router-service.js +233 -0
- package/dist/services/workspace/claude-settings-template.d.ts +101 -0
- package/dist/services/workspace/claude-settings-template.js +254 -0
- package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
- package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
- package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
- package/dist/services/workspace/templates/project-scan/index.js +60 -0
- package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
- package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
- package/dist/shared/version.d.ts +1 -0
- package/dist/shared/version.js +1 -0
- package/examples/video-demo/README.md +142 -0
- 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/output-styles/peaks-skill-swarm.md +3 -3
- package/package.json +28 -10
- package/scripts/copy-templates.mjs +64 -0
- package/scripts/install-skills.mjs +13 -10
- package/skills/bee/peaks-qa/SKILL.md +1 -1
- package/skills/bee/peaks-qa/references/artifact-per-request.md +3 -3
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +6 -6
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
- package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +1 -1
- package/skills/bee/peaks-rd/references/rd-runbook.md +3 -3
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +11 -11
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +3 -3
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
- package/skills/bee/peaks-sc/SKILL.md +1 -1
- package/skills/bee/peaks-txt/SKILL.md +3 -3
- package/skills/bee/peaks-ui/SKILL.md +10 -10
- package/skills/peaks-code/SKILL.md +58 -62
- package/skills/peaks-code/references/anchoring-and-session-info.md +2 -2
- package/skills/peaks-code/references/artifact-contracts.md +1 -1
- package/skills/peaks-code/references/boundaries.md +3 -3
- package/skills/peaks-code/references/codegraph-orchestration.md +1 -1
- package/skills/peaks-code/references/dag-orchestrator.md +7 -7
- package/skills/peaks-code/references/external-references.md +2 -4
- package/skills/peaks-code/references/external-skill-invocation.md +1 -1
- package/skills/peaks-code/references/fanout-mandatory.md +3 -3
- package/skills/peaks-code/references/fast-mode.md +2 -2
- package/skills/peaks-code/references/frontend-only-mode.md +9 -9
- package/skills/peaks-code/references/job-loop.md +1 -1
- package/skills/peaks-code/references/local-artifact-workspace.md +2 -2
- package/skills/peaks-code/references/micro-cycle.md +14 -14
- package/skills/peaks-code/references/mode-selection-with-stale-presence.md +5 -5
- package/skills/peaks-code/references/mode-selection.md +3 -3
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/project-scan-checklist.md +3 -1
- package/skills/peaks-code/references/quality-gate-cheatsheet.md +1 -1
- package/skills/peaks-code/references/refactor-mode.md +1 -1
- package/skills/peaks-code/references/runbook.md +18 -20
- package/skills/peaks-code/references/standards-preflight.md +1 -1
- package/skills/peaks-code/references/step-0-55-1x-detection.md +3 -2
- package/skills/peaks-code/references/step-0-8-gate.md +11 -11
- package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
- package/skills/peaks-code/references/sub-agent-dispatch.md +8 -8
- package/skills/peaks-code/references/swarm-dispatch-contract.md +18 -18
- package/skills/peaks-code/references/workflow-gates-and-types.md +6 -6
- package/skills/peaks-code/references/workflow.md +5 -5
- package/skills/peaks-content/SKILL.md +272 -0
- package/skills/peaks-issue-fix-orchestrator/SKILL.md +307 -0
- package/skills/peaks-resume/SKILL.md +2 -2
- package/skills/peaks-slice-decompose/SKILL.md +61 -1
- package/skills/peaks-solo/SKILL.md +197 -0
- package/skills/peaks-solo/references/fallback-tool-inventory.md +46 -0
- package/skills/peaks-solo/references/sediment-prompt-template.md +62 -0
- package/skills/peaks-solo/references/triage-decision-table.md +31 -0
- package/skills/peaks-status/SKILL.md +2 -2
- package/skills/peaks-test/SKILL.md +2 -2
- package/dist/src/cli/commands/core/skill-command.js +0 -275
- package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
- package/dist/src/cli/commands/hook-handle.js +0 -157
- package/dist/src/cli/commands/job-commands.js +0 -289
- package/dist/src/cli/commands/loop-commands.d.ts +0 -21
- package/dist/src/cli/commands/loop-commands.js +0 -128
- package/dist/src/cli/commands/project-commands.js +0 -248
- package/dist/src/cli/commands/sediment-commands.js +0 -640
- package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/src/cli/commands/solo-commands.d.ts +0 -80
- package/dist/src/cli/commands/solo-commands.js +0 -798
- package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
- package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
- package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
- package/dist/src/cli/commands/workflow-commands.js +0 -535
- package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
- package/dist/src/cli/commands/workspace/init-command.js +0 -436
- package/dist/src/cli/program.js +0 -368
- package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
- package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
- package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
- package/dist/src/services/audit/enforcers/solo-code-ban.d.ts +0 -23
- package/dist/src/services/audit/enforcers/solo-code-ban.js +0 -27
- package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
- package/dist/src/services/audit/red-line-catalog.js +0 -195
- package/dist/src/services/audit/types.d.ts +0 -86
- package/dist/src/services/config/model-routing.d.ts +0 -4
- package/dist/src/services/config/model-routing.js +0 -17
- package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
- package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
- package/dist/src/services/context/auto-compact-types.d.ts +0 -143
- package/dist/src/services/context/context-schema.d.ts +0 -415
- package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
- package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
- package/dist/src/services/dispatch/test-tool-detection.js +0 -46
- package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
- package/dist/src/services/filesystem/file-lock.js +0 -129
- package/dist/src/services/ide/ide-registry.js +0 -60
- package/dist/src/services/ide/ide-types.d.ts +0 -230
- package/dist/src/services/job/job-progress-store.d.ts +0 -60
- package/dist/src/services/job/job-progress-store.js +0 -70
- package/dist/src/services/memory/project-context-service.d.ts +0 -11
- package/dist/src/services/memory/project-context-service.js +0 -148
- package/dist/src/services/preferences/preferences-service.d.ts +0 -38
- package/dist/src/services/preferences/preferences-types.d.ts +0 -148
- package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/src/services/providers/minimax-worker-service.js +0 -83
- package/dist/src/services/rd/rd-service.js +0 -438
- package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
- package/dist/src/services/rd/standards-diagnostic.js +0 -166
- package/dist/src/services/rd/types.d.ts +0 -252
- package/dist/src/services/recommendations/capability-seed-items.js +0 -140
- package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
- package/dist/src/services/recommendations/recommendation-service.js +0 -106
- package/dist/src/services/refactor/refactor-service.d.ts +0 -9
- package/dist/src/services/scan/archetype-service.js +0 -242
- package/dist/src/services/scan/scan-types.d.ts +0 -59
- package/dist/src/services/signal/cancel-handler.js +0 -76
- package/dist/src/services/skill/resume-detector.js +0 -334
- package/dist/src/services/skillhub/release-import.js +0 -59
- package/dist/src/services/skillhub/release-retain.js +0 -89
- package/dist/src/services/skillhub/sqlite-store.js +0 -47
- package/dist/src/services/skillhub/types.d.ts +0 -105
- package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
- package/dist/src/services/solo/auto-compact-orchestrator.d.ts +0 -98
- package/dist/src/services/solo/auto-compact-orchestrator.js +0 -343
- package/dist/src/services/solo/dag-orchestrator.d.ts +0 -128
- package/dist/src/services/solo/dag-orchestrator.js +0 -304
- package/dist/src/services/solo/emit-handoff.d.ts +0 -49
- package/dist/src/services/solo/emit-handoff.js +0 -79
- package/dist/src/services/solo/job-shape-decision.d.ts +0 -71
- package/dist/src/services/solo/job-shape-decision.js +0 -151
- package/dist/src/services/solo/mode-gate.d.ts +0 -163
- package/dist/src/services/solo/mode-gate.js +0 -212
- package/dist/src/services/solo/post-compact-detector.d.ts +0 -61
- package/dist/src/services/solo/post-compact-detector.js +0 -240
- package/dist/src/services/solo/step-08-gate.d.ts +0 -90
- package/dist/src/services/solo/step-08-gate.js +0 -136
- package/dist/src/services/solo/user-touchpoint-classifier.d.ts +0 -44
- package/dist/src/services/solo/user-touchpoint-classifier.js +0 -145
- package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
- package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
- package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
- package/dist/src/services/standards/missing-standards-detector.js +0 -132
- package/dist/src/services/standards/project-standards-service.js +0 -574
- package/dist/src/services/upgrade/1x-detector-service.js +0 -94
- package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
- package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
- package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
- package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
- package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
- package/dist/src/services/workflow/workflow-router-service.js +0 -227
- package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
- package/dist/src/services/workspace/claude-settings-template.js +0 -254
- package/dist/src/shared/version.d.ts +0 -1
- package/dist/src/shared/version.js +0 -1
- package/skills/peaks-code/references/openspec-workflow.md +0 -81
- /package/dist/{src/cli → cli}/cli-helpers.d.ts +0 -0
- /package/dist/{src/cli → cli}/cli-helpers.js +0 -0
- /package/dist/{src/cli → cli}/commands/adapter-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/adapter-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/agent-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/agent-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/audit-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/audit-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/capability-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/capability-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/classify-classify-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/classify-classify-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/code-review-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/code-review-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/codegraph-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/codegraph-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/compact-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/compact-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/complexity-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/complexity-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/config-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/config-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/context-builder-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/context-builder-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/context-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/context-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/contract-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/contract-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/artifacts-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/artifacts-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/binding-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/binding-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/doctor-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/doctor-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/memory-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/memory-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/profile-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/profile-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/proxy-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/proxy-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/session-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/session-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core/skill-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/standards-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core/standards-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/core-artifact-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/core-artifact-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/dispatch-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/dispatch-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/dispatch-from-dag.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/doc-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/doc-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/feedback-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/feedback-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/final-review-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/final-review-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/fixture-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/fixture-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/fork-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/fork-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/gate-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/gate-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/heartbeat-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/heartbeat-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/hook-handle.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/hooks-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/hooks-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/impact-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/impact-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/job-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/legacy-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/legacy-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/log-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/log-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/loop-eval-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/loop-eval-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/memory-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/memory-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/mut-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/mut-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/observability-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/observability-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/openspec-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/openspec-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/perf-audit-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/perf-audit-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/perf-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/perf-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/playwright-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/playwright-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/prd-blocks-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/prd-blocks-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/prd-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/prd-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/preferences-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/preferences-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/project-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/qa-business-review-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/qa-business-review-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/qa-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/qa-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/release-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/release-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/request-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/request-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/retrospective-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/retrospective-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/reviewer-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/reviewer-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/role-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/role-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/sc-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/sc-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/scan-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/scan-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/security-audit-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/security-audit-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/sediment-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/session-auto-compact-hook-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/session-checkpoint-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/session-checkpoint-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/session-migrate-skill-name.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/session-migrate-skill-name.js +0 -0
- /package/dist/{src/cli → cli}/commands/session-resume-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/session-resume-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/share-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/share-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/skill-conformance-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/skill-conformance-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/skill-visibility.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/skill-visibility.js +0 -0
- /package/dist/{src/cli → cli}/commands/slice-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/slice-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/slice-integrate-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/slice-integrate-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/slice-review-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/slice-review-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/smoke-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/smoke-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/sop-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/sop-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/statusline-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/statusline-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/sub-agent-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/sub-agent-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.js +0 -0
- /package/dist/{src/cli → cli}/commands/sub-agent-shared.js +0 -0
- /package/dist/{src/cli → cli}/commands/test-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/test-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/understand-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/understand-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/upgrade-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/upgrade-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/verdict-aggregate-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/verdict-aggregate-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/worker-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/worker-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/workflow-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workflow-plan-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workflow-plan-commands.js +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/clean-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/clean-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/helpers.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/helpers.js +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/migrate-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/migrate-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/reconcile-command.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workspace/reconcile-command.js +0 -0
- /package/dist/{src/cli → cli}/commands/workspace-commands.d.ts +0 -0
- /package/dist/{src/cli → cli}/commands/workspace-commands.js +0 -0
- /package/dist/{src/cli → cli}/index.d.ts +0 -0
- /package/dist/{src/cli → cli}/index.js +0 -0
- /package/dist/{src/cli → cli}/program.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.js +0 -0
- /package/dist/{src/lib → lib}/render/message-renderer.d.ts +0 -0
- /package/dist/{src/lib → lib}/render/message-renderer.js +0 -0
- /package/dist/{src/services → services}/adapter/adapter.d.ts +0 -0
- /package/dist/{src/services → services}/adapter/adapter.js +0 -0
- /package/dist/{src/services → services}/adapter/auto-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/adapter/auto-adapter.js +0 -0
- /package/dist/{src/services → services}/adapter/claude-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/adapter/claude-adapter.js +0 -0
- /package/dist/{src/services → services}/adapter/codex-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/adapter/codex-adapter.js +0 -0
- /package/dist/{src/services → services}/adapter/copilot-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/adapter/copilot-adapter.js +0 -0
- /package/dist/{src/services → services}/agent/ecc-agent-service.d.ts +0 -0
- /package/dist/{src/services → services}/agent/ecc-agent-service.js +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-lint-service.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-lint-service.js +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-prerequisites.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-prerequisites.js +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-service.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-service.js +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-templates.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/artifact-templates.js +0 -0
- /package/dist/{src/services → services}/artifacts/repair-cycle-service.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/request-artifact-service.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/request-artifact-service.js +0 -0
- /package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.js +0 -0
- /package/dist/{src/services → services}/artifacts/workspace-service.d.ts +0 -0
- /package/dist/{src/services → services}/artifacts/workspace-service.js +0 -0
- /package/dist/{src/services → services}/audit/artifact-writer.d.ts +0 -0
- /package/dist/{src/services → services}/audit/artifact-writer.js +0 -0
- /package/dist/{src/services → services}/audit/audit-goal-service.d.ts +0 -0
- /package/dist/{src/services → services}/audit/audit-goal-service.js +0 -0
- /package/dist/{src/services → services}/audit/audit-goal-types.d.ts +0 -0
- /package/dist/{src/services → services}/audit/audit-goal-types.js +0 -0
- /package/dist/{src/services → services}/audit/backing-detector.d.ts +0 -0
- /package/dist/{src/services → services}/audit/backing-detector.js +0 -0
- /package/dist/{src/services → services}/audit/classifier.d.ts +0 -0
- /package/dist/{src/services → services}/audit/classifier.js +0 -0
- /package/dist/{src/services → services}/audit/decision-writer.d.ts +0 -0
- /package/dist/{src/services → services}/audit/decision-writer.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-cli-back.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-cli-back.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-output-style.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-output-style.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-style.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-style.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/login-gate.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/login-gate.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/mock-placement.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/mock-placement.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/no-root-pollution.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/no-root-pollution.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/resume-detection.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/resume-detection.js +0 -0
- /package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.d.ts +0 -0
- /package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.js +0 -0
- /package/dist/{src/services → services}/audit/prose-ratio-calculator.d.ts +0 -0
- /package/dist/{src/services → services}/audit/prose-ratio-calculator.js +0 -0
- /package/dist/{src/services → services}/audit/red-line-catalog-p2-a.d.ts +0 -0
- /package/dist/{src/services → services}/audit/red-line-catalog-p2-a.js +0 -0
- /package/dist/{src/services → services}/audit/red-line-catalog-p2-b.d.ts +0 -0
- /package/dist/{src/services → services}/audit/red-line-catalog-p2-b.js +0 -0
- /package/dist/{src/services → services}/audit/red-lines-service.d.ts +0 -0
- /package/dist/{src/services → services}/audit/red-lines-service.js +0 -0
- /package/dist/{src/services → services}/audit/scanners/openspec-scanner.d.ts +0 -0
- /package/dist/{src/services → services}/audit/scanners/openspec-scanner.js +0 -0
- /package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.d.ts +0 -0
- /package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.js +0 -0
- /package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.d.ts +0 -0
- /package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.js +0 -0
- /package/dist/{src/services → services}/audit/static-service.d.ts +0 -0
- /package/dist/{src/services → services}/audit/static-service.js +0 -0
- /package/dist/{src/services → services}/audit/types.js +0 -0
- /package/dist/{src/services → services}/audit-independent/perf-audit-service.d.ts +0 -0
- /package/dist/{src/services → services}/audit-independent/perf-audit-service.js +0 -0
- /package/dist/{src/services → services}/audit-independent/security-audit-service.d.ts +0 -0
- /package/dist/{src/services → services}/audit-independent/security-audit-service.js +0 -0
- /package/dist/{src/services → services}/classify/classify-service.d.ts +0 -0
- /package/dist/{src/services → services}/classify/classify-service.js +0 -0
- /package/dist/{src/services → services}/classify/classify-types.d.ts +0 -0
- /package/dist/{src/services → services}/classify/classify-types.js +0 -0
- /package/dist/{src/services/solo → services/code}/batch-heartbeat-poller.d.ts +0 -0
- /package/dist/{src/services/solo → services/code}/batch-heartbeat-poller.js +0 -0
- /package/dist/{src/services/solo → services/code}/status-line-renderer.d.ts +0 -0
- /package/dist/{src/services/solo → services/code}/status-line-renderer.js +0 -0
- /package/dist/{src/services → services}/code-review/ecc-bridge.d.ts +0 -0
- /package/dist/{src/services → services}/code-review/ecc-bridge.js +0 -0
- /package/dist/{src/services → services}/code-review/ocr-service.d.ts +0 -0
- /package/dist/{src/services → services}/code-review/ocr-service.js +0 -0
- /package/dist/{src/services → services}/codegraph/codegraph-process-runner.d.ts +0 -0
- /package/dist/{src/services → services}/codegraph/codegraph-process-runner.js +0 -0
- /package/dist/{src/services → services}/codegraph/codegraph-service.d.ts +0 -0
- /package/dist/{src/services → services}/codegraph/codegraph-service.js +0 -0
- /package/dist/{src/services → services}/compact/decision-tables.d.ts +0 -0
- /package/dist/{src/services → services}/compact/decision-tables.js +0 -0
- /package/dist/{src/services → services}/compact/request-transition-hook.d.ts +0 -0
- /package/dist/{src/services → services}/compact/request-transition-hook.js +0 -0
- /package/dist/{src/services → services}/compact/suggest-service.d.ts +0 -0
- /package/dist/{src/services → services}/compact/suggest-service.js +0 -0
- /package/dist/{src/services → services}/complexity/complexity-estimator.d.ts +0 -0
- /package/dist/{src/services → services}/complexity/complexity-estimator.js +0 -0
- /package/dist/{src/services → services}/config/config-migration.d.ts +0 -0
- /package/dist/{src/services → services}/config/config-migration.js +0 -0
- /package/dist/{src/services → services}/config/config-restore.d.ts +0 -0
- /package/dist/{src/services → services}/config/config-restore.js +0 -0
- /package/dist/{src/services → services}/config/config-rollback.d.ts +0 -0
- /package/dist/{src/services → services}/config/config-rollback.js +0 -0
- /package/dist/{src/services → services}/config/config-safety.d.ts +0 -0
- /package/dist/{src/services → services}/config/config-safety.js +0 -0
- /package/dist/{src/services → services}/config/config-service.d.ts +0 -0
- /package/dist/{src/services → services}/config/config-service.js +0 -0
- /package/dist/{src/services → services}/config/config-types.d.ts +0 -0
- /package/dist/{src/services → services}/config/config-types.js +0 -0
- /package/dist/{src/services → services}/config/provider-service.d.ts +0 -0
- /package/dist/{src/services → services}/config/provider-service.js +0 -0
- /package/dist/{src/services → services}/config/proxy-service.d.ts +0 -0
- /package/dist/{src/services → services}/config/proxy-service.js +0 -0
- /package/dist/{src/services → services}/config/sidecar-store.d.ts +0 -0
- /package/dist/{src/services → services}/config/sidecar-store.js +0 -0
- /package/dist/{src/services → services}/config/workspace-state-service.d.ts +0 -0
- /package/dist/{src/services → services}/config/workspace-state-service.js +0 -0
- /package/dist/{src/services → services}/context/artifact-meta.d.ts +0 -0
- /package/dist/{src/services → services}/context/artifact-meta.js +0 -0
- /package/dist/{src/services → services}/context/auto-compact-reader.d.ts +0 -0
- /package/dist/{src/services → services}/context/auto-compact-reader.js +0 -0
- /package/dist/{src/services → services}/context/auto-compact-types.js +0 -0
- /package/dist/{src/services → services}/context/collector.d.ts +0 -0
- /package/dist/{src/services → services}/context/collector.js +0 -0
- /package/dist/{src/services → services}/context/context-builder.d.ts +0 -0
- /package/dist/{src/services → services}/context/context-builder.js +0 -0
- /package/dist/{src/services → services}/context/context-guard.d.ts +0 -0
- /package/dist/{src/services → services}/context/context-guard.js +0 -0
- /package/dist/{src/services → services}/context/context-schema.js +0 -0
- /package/dist/{src/services → services}/context/dispatch-context-guard.d.ts +0 -0
- /package/dist/{src/services → services}/context/dispatch-context-guard.js +0 -0
- /package/dist/{src/services → services}/context/doc-retriever.d.ts +0 -0
- /package/dist/{src/services → services}/context/doc-retriever.js +0 -0
- /package/dist/{src/services → services}/context/headroom-client.d.ts +0 -0
- /package/dist/{src/services → services}/context/headroom-client.js +0 -0
- /package/dist/{src/services → services}/context/headroom-fetcher.d.ts +0 -0
- /package/dist/{src/services → services}/context/headroom-fetcher.js +0 -0
- /package/dist/{src/services → services}/context/headroom-prefs.d.ts +0 -0
- /package/dist/{src/services → services}/context/headroom-prefs.js +0 -0
- /package/dist/{src/services → services}/context/index.d.ts +0 -0
- /package/dist/{src/services → services}/context/index.js +0 -0
- /package/dist/{src/services → services}/context/main-session-monitor.d.ts +0 -0
- /package/dist/{src/services → services}/context/main-session-monitor.js +0 -0
- /package/dist/{src/services → services}/context/renderer.d.ts +0 -0
- /package/dist/{src/services → services}/context/renderer.js +0 -0
- /package/dist/{src/services → services}/context/shared-channel.d.ts +0 -0
- /package/dist/{src/services → services}/context/shared-channel.js +0 -0
- /package/dist/{src/services → services}/context/threshold.d.ts +0 -0
- /package/dist/{src/services → services}/context/threshold.js +0 -0
- /package/dist/{src/services → services}/context/tokenizer.d.ts +0 -0
- /package/dist/{src/services → services}/context/tokenizer.js +0 -0
- /package/dist/{src/services → services}/context/types.d.ts +0 -0
- /package/dist/{src/services → services}/context/types.js +0 -0
- /package/dist/{src/services → services}/dashboard/project-dashboard-service.d.ts +0 -0
- /package/dist/{src/services → services}/dashboard/project-dashboard-service.js +0 -0
- /package/dist/{src/services → services}/dispatch/batch-counter.d.ts +0 -0
- /package/dist/{src/services → services}/dispatch/batch-counter.js +0 -0
- /package/dist/{src/services → services}/dispatch/contract-store.d.ts +0 -0
- /package/dist/{src/services → services}/dispatch/contract-store.js +0 -0
- /package/dist/{src/services → services}/dispatch/dispatch-record-writer.d.ts +0 -0
- /package/dist/{src/services → services}/dispatch/dispatch-record-writer.js +0 -0
- /package/dist/{src/services → services}/dispatch/heartbeat-truncator.d.ts +0 -0
- /package/dist/{src/services → services}/dispatch/heartbeat-truncator.js +0 -0
- /package/dist/{src/services → services}/dispatch/leak-detector.d.ts +0 -0
- /package/dist/{src/services → services}/dispatch/leak-detector.js +0 -0
- /package/dist/{src/services → services}/dispatch/slice-dag.js +0 -0
- /package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.d.ts +0 -0
- /package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.js +0 -0
- /package/dist/{src/services → services}/doc/doc-generator.d.ts +0 -0
- /package/dist/{src/services → services}/doc/doc-generator.js +0 -0
- /package/dist/{src/services → services}/doctor/doctor-service.d.ts +0 -0
- /package/dist/{src/services → services}/doctor/doctor-service.js +0 -0
- /package/dist/{src/services → services}/feedback/feedback-promotion-service.d.ts +0 -0
- /package/dist/{src/services → services}/filesystem/file-lock.d.ts +0 -0
- /package/dist/{src/services → services}/final-review/final-review-service.d.ts +0 -0
- /package/dist/{src/services → services}/final-review/final-review-service.js +0 -0
- /package/dist/{src/services → services}/final-review/final-review-types.d.ts +0 -0
- /package/dist/{src/services → services}/final-review/final-review-types.js +0 -0
- /package/dist/{src/services → services}/fixture/fixture-capture-service.d.ts +0 -0
- /package/dist/{src/services → services}/fixture/fixture-capture-service.js +0 -0
- /package/dist/{src/services → services}/fixture/fixture-sanitize-service.d.ts +0 -0
- /package/dist/{src/services → services}/fixture/fixture-sanitize-service.js +0 -0
- /package/dist/{src/services → services}/fixture/index.d.ts +0 -0
- /package/dist/{src/services → services}/fixture/index.js +0 -0
- /package/dist/{src/services → services}/fork/fork-sync-state.d.ts +0 -0
- /package/dist/{src/services → services}/fork/fork-sync-state.js +0 -0
- /package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.d.ts +0 -0
- /package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.js +0 -0
- /package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.d.ts +0 -0
- /package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.js +0 -0
- /package/dist/{src/services → services}/fuzzy-matching/types.d.ts +0 -0
- /package/dist/{src/services → services}/fuzzy-matching/types.js +0 -0
- /package/dist/{src/services → services}/handoff/handoff-parser.d.ts +0 -0
- /package/dist/{src/services → services}/handoff/handoff-parser.js +0 -0
- /package/dist/{src/services → services}/handoff/handoff-types.d.ts +0 -0
- /package/dist/{src/services → services}/handoff/handoff-types.js +0 -0
- /package/dist/{src/services → services}/handoff/handoff-writer.d.ts +0 -0
- /package/dist/{src/services → services}/handoff/handoff-writer.js +0 -0
- /package/dist/{src/services → services}/hooks/auto-compact-hook-install.d.ts +0 -0
- /package/dist/{src/services → services}/hooks/auto-compact-hook-install.js +0 -0
- /package/dist/{src/services → services}/hooks/output.d.ts +0 -0
- /package/dist/{src/services → services}/hooks/output.js +0 -0
- /package/dist/{src/services → services}/hooks/presence-marker-detector.d.ts +0 -0
- /package/dist/{src/services → services}/hooks/presence-marker-detector.js +0 -0
- /package/dist/{src/services → services}/ide/adapters/claude-code-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/ide/adapters/claude-code-adapter.js +0 -0
- /package/dist/{src/services → services}/ide/adapters/codex-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/ide/adapters/codex-adapter.js +0 -0
- /package/dist/{src/services → services}/ide/adapters/cursor-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/ide/adapters/cursor-adapter.js +0 -0
- /package/dist/{src/services → services}/ide/adapters/hermes-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/ide/adapters/hermes-adapter.js +0 -0
- /package/dist/{src/services → services}/ide/adapters/openclaw-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/ide/adapters/openclaw-adapter.js +0 -0
- /package/dist/{src/services → services}/ide/adapters/trae-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/ide/adapters/trae-adapter.js +0 -0
- /package/dist/{src/services → services}/ide/hook-protocol.d.ts +0 -0
- /package/dist/{src/services → services}/ide/hook-protocol.js +0 -0
- /package/dist/{src/services → services}/ide/hook-translator.d.ts +0 -0
- /package/dist/{src/services → services}/ide/hook-translator.js +0 -0
- /package/dist/{src/services → services}/ide/ide-detector.d.ts +0 -0
- /package/dist/{src/services → services}/ide/ide-detector.js +0 -0
- /package/dist/{src/services → services}/ide/ide-registry.d.ts +0 -0
- /package/dist/{src/services → services}/ide/ide-types.js +0 -0
- /package/dist/{src/services → services}/ide/resource-profile.d.ts +0 -0
- /package/dist/{src/services → services}/ide/resource-profile.js +0 -0
- /package/dist/{src/services → services}/ide/shared/atomic-json.d.ts +0 -0
- /package/dist/{src/services → services}/ide/shared/atomic-json.js +0 -0
- /package/dist/{src/services → services}/ide/shared/safe-path.d.ts +0 -0
- /package/dist/{src/services → services}/ide/shared/safe-path.js +0 -0
- /package/dist/{src/services → services}/impact/impact-scan-service.d.ts +0 -0
- /package/dist/{src/services → services}/impact/impact-scan-service.js +0 -0
- /package/dist/{src/services → services}/job/job-event-emitter.d.ts +0 -0
- /package/dist/{src/services → services}/job/job-event-emitter.js +0 -0
- /package/dist/{src/services → services}/job/job-orchestrator.d.ts +0 -0
- /package/dist/{src/services → services}/job/job-orchestrator.js +0 -0
- /package/dist/{src/services → services}/job/job-resource-snapshot.d.ts +0 -0
- /package/dist/{src/services → services}/job/job-resource-snapshot.js +0 -0
- /package/dist/{src/services → services}/job/job-rotation.d.ts +0 -0
- /package/dist/{src/services → services}/job/job-rotation.js +0 -0
- /package/dist/{src/services → services}/job/job-state-store.d.ts +0 -0
- /package/dist/{src/services → services}/job/job-state-store.js +0 -0
- /package/dist/{src/services → services}/job/job-types.d.ts +0 -0
- /package/dist/{src/services → services}/job/job-types.js +0 -0
- /package/dist/{src/services → services}/job/subagent-job-wrapper.d.ts +0 -0
- /package/dist/{src/services → services}/job/subagent-job-wrapper.js +0 -0
- /package/dist/{src/services → services}/legacy/legacy-detector.d.ts +0 -0
- /package/dist/{src/services → services}/legacy/legacy-detector.js +0 -0
- /package/dist/{src/services → services}/log/log-commands-service.d.ts +0 -0
- /package/dist/{src/services → services}/log/log-commands-service.js +0 -0
- /package/dist/{src/services → services}/log/logger.d.ts +0 -0
- /package/dist/{src/services → services}/log/logger.js +0 -0
- /package/dist/{src/services → services}/log/redact.d.ts +0 -0
- /package/dist/{src/services → services}/log/redact.js +0 -0
- /package/dist/{src/services → services}/log/retention.d.ts +0 -0
- /package/dist/{src/services → services}/log/retention.js +0 -0
- /package/dist/{src/services → services}/loop/evaluator-dispatcher.d.ts +0 -0
- /package/dist/{src/services → services}/loop/evaluator-dispatcher.js +0 -0
- /package/dist/{src/services → services}/loop/monotonic-guard.d.ts +0 -0
- /package/dist/{src/services → services}/loop/monotonic-guard.js +0 -0
- /package/dist/{src/services → services}/loop/monotonic-runner.d.ts +0 -0
- /package/dist/{src/services → services}/loop/monotonic-runner.js +0 -0
- /package/dist/{src/services → services}/loop/run-driver.d.ts +0 -0
- /package/dist/{src/services → services}/loop/run-driver.js +0 -0
- /package/dist/{src/services → services}/loop/spec-service.d.ts +0 -0
- /package/dist/{src/services → services}/loop/spec-service.js +0 -0
- /package/dist/{src/services → services}/memory/llm-reranker.d.ts +0 -0
- /package/dist/{src/services → services}/memory/llm-reranker.js +0 -0
- /package/dist/{src/services → services}/memory/memory-search-service.d.ts +0 -0
- /package/dist/{src/services → services}/memory/memory-search-service.js +0 -0
- /package/dist/{src/services → services}/memory/project-memory-service.d.ts +0 -0
- /package/dist/{src/services → services}/memory/project-memory-service.js +0 -0
- /package/dist/{src/services → services}/migrate-skill-name/migrate.d.ts +0 -0
- /package/dist/{src/services → services}/migrate-skill-name/migrate.js +0 -0
- /package/dist/{src/services → services}/migrate-skill-name/schema.d.ts +0 -0
- /package/dist/{src/services → services}/migrate-skill-name/schema.js +0 -0
- /package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.d.ts +0 -0
- /package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.js +0 -0
- /package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.d.ts +0 -0
- /package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.js +0 -0
- /package/dist/{src/services → services}/mode/bypass-tracker.d.ts +0 -0
- /package/dist/{src/services → services}/mode/bypass-tracker.js +0 -0
- /package/dist/{src/services → services}/mode/mode-enforcement.d.ts +0 -0
- /package/dist/{src/services → services}/mode/mode-enforcement.js +0 -0
- /package/dist/{src/services → services}/mut/assert-scanner.d.ts +0 -0
- /package/dist/{src/services → services}/mut/assert-scanner.js +0 -0
- /package/dist/{src/services → services}/mut/index.d.ts +0 -0
- /package/dist/{src/services → services}/mut/index.js +0 -0
- /package/dist/{src/services → services}/mut/mut-runner.d.ts +0 -0
- /package/dist/{src/services → services}/mut/mut-runner.js +0 -0
- /package/dist/{src/services → services}/mut/production-stryker.d.ts +0 -0
- /package/dist/{src/services → services}/mut/production-stryker.js +0 -0
- /package/dist/{src/services → services}/mut/report-builder.d.ts +0 -0
- /package/dist/{src/services → services}/mut/report-builder.js +0 -0
- /package/dist/{src/services → services}/mut/report-loader.d.ts +0 -0
- /package/dist/{src/services → services}/mut/report-loader.js +0 -0
- /package/dist/{src/services → services}/mut/thresholds.d.ts +0 -0
- /package/dist/{src/services → services}/mut/thresholds.js +0 -0
- /package/dist/{src/services → services}/mut/types.d.ts +0 -0
- /package/dist/{src/services → services}/mut/types.js +0 -0
- /package/dist/{src/services → services}/observability/aggregation.d.ts +0 -0
- /package/dist/{src/services → services}/observability/aggregation.js +0 -0
- /package/dist/{src/services → services}/observability/jsonl-store.d.ts +0 -0
- /package/dist/{src/services → services}/observability/jsonl-store.js +0 -0
- /package/dist/{src/services → services}/observability/observability-service.d.ts +0 -0
- /package/dist/{src/services → services}/observability/observability-service.js +0 -0
- /package/dist/{src/services → services}/observability/report-formatter.d.ts +0 -0
- /package/dist/{src/services → services}/observability/report-formatter.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-archive-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-archive-service.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-bridge-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-bridge-service.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-init-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-init-service.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-render-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-render-service.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-scan-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-scan-service.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-types.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-types.js +0 -0
- /package/dist/{src/services → services}/openspec/openspec-validate-service.d.ts +0 -0
- /package/dist/{src/services → services}/openspec/openspec-validate-service.js +0 -0
- /package/dist/{src/services → services}/perf/perf-baseline-service.d.ts +0 -0
- /package/dist/{src/services → services}/perf/perf-baseline-service.js +0 -0
- /package/dist/{src/services/recommendations/recommendation-types.js → services/polyrepo/polyrepo-types.js} +0 -0
- /package/dist/{src/services → services}/prd/handoff-auto-regen.d.ts +0 -0
- /package/dist/{src/services → services}/prd/handoff-auto-regen.js +0 -0
- /package/dist/{src/services → services}/prd/handoff-service.d.ts +0 -0
- /package/dist/{src/services → services}/prd/handoff-service.js +0 -0
- /package/dist/{src/services → services}/prd/handoff-types.d.ts +0 -0
- /package/dist/{src/services → services}/prd/handoff-types.js +0 -0
- /package/dist/{src/services → services}/prd/prd-blocks-checker.d.ts +0 -0
- /package/dist/{src/services → services}/prd/prd-blocks-checker.js +0 -0
- /package/dist/{src/services → services}/prd/project-scan-reader.d.ts +0 -0
- /package/dist/{src/services → services}/prd/project-scan-reader.js +0 -0
- /package/dist/{src/services → services}/prd/project-scan-sediment.d.ts +0 -0
- /package/dist/{src/services → services}/prd/project-scan-sediment.js +0 -0
- /package/dist/{src/services → services}/prd/project-scan-types.d.ts +0 -0
- /package/dist/{src/services → services}/prd/project-scan-types.js +0 -0
- /package/dist/{src/services → services}/preferences/preferences-service.js +0 -0
- /package/dist/{src/services → services}/preferences/preferences-types.js +0 -0
- /package/dist/{src/services → services}/profiles/profile-service.d.ts +0 -0
- /package/dist/{src/services → services}/profiles/profile-service.js +0 -0
- /package/dist/{src/services → services}/progress/progress-service.d.ts +0 -0
- /package/dist/{src/services → services}/progress/progress-service.js +0 -0
- /package/dist/{src/services → services}/providers/minimax-provider-service.d.ts +0 -0
- /package/dist/{src/services → services}/providers/minimax-provider-service.js +0 -0
- /package/dist/{src/services → services}/proxy/proxy-service.d.ts +0 -0
- /package/dist/{src/services → services}/proxy/proxy-service.js +0 -0
- /package/dist/{src/services → services}/qa/browser-event-logger.d.ts +0 -0
- /package/dist/{src/services → services}/qa/browser-event-logger.js +0 -0
- /package/dist/{src/services → services}/qa/browser-restart-detector.d.ts +0 -0
- /package/dist/{src/services → services}/qa/browser-restart-detector.js +0 -0
- /package/dist/{src/services → services}/qa/browser-reuse-hint.d.ts +0 -0
- /package/dist/{src/services → services}/qa/browser-reuse-hint.js +0 -0
- /package/dist/{src/services → services}/qa/browser-wrapper-service.d.ts +0 -0
- /package/dist/{src/services → services}/qa/browser-wrapper-service.js +0 -0
- /package/dist/{src/services → services}/qa/qa-business-review-state.d.ts +0 -0
- /package/dist/{src/services → services}/qa/qa-business-review-state.js +0 -0
- /package/dist/{src/services → services}/rd/ast-gate.d.ts +0 -0
- /package/dist/{src/services → services}/rd/ast-gate.js +0 -0
- /package/dist/{src/services → services}/rd/impl.d.ts +0 -0
- /package/dist/{src/services → services}/rd/impl.js +0 -0
- /package/dist/{src/services → services}/rd/rd-service.d.ts +0 -0
- /package/dist/{src/services → services}/rd/reviewer-dispatch-policy.d.ts +0 -0
- /package/dist/{src/services → services}/rd/reviewer-dispatch-policy.js +0 -0
- /package/dist/{src/services → services}/rd/strategic-stage.d.ts +0 -0
- /package/dist/{src/services → services}/rd/strategic-stage.js +0 -0
- /package/dist/{src/services → services}/rd/strategy.d.ts +0 -0
- /package/dist/{src/services → services}/rd/strategy.js +0 -0
- /package/dist/{src/services → services}/rd/tactical-stage.d.ts +0 -0
- /package/dist/{src/services → services}/rd/tactical-stage.js +0 -0
- /package/dist/{src/services → services}/rd/types.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-availability.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-availability.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-map-service.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-map-service.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-items.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-mappings.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-sources.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-sources.js +0 -0
- /package/dist/{src/services → services}/recommendations/recommendation-service.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/recommendation-types.d.ts +0 -0
- /package/dist/{src/services/scan/scan-types.js → services/recommendations/recommendation-types.js} +0 -0
- /package/dist/{src/services → services}/recommendations/seed-capability-catalog.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/seed-capability-catalog.js +0 -0
- /package/dist/{src/services → services}/refactor/refactor-service.js +0 -0
- /package/dist/{src/services → services}/release/release-state.d.ts +0 -0
- /package/dist/{src/services → services}/release/release-state.js +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-index.d.ts +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-index.js +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-search-service.d.ts +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-search-service.js +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-show.d.ts +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-show.js +0 -0
- /package/dist/{src/services → services}/reviewer/model-family.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/model-family.js +0 -0
- /package/dist/{src/services → services}/reviewer/providers/anthropic.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/providers/anthropic.js +0 -0
- /package/dist/{src/services → services}/reviewer/providers/ollama.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/providers/ollama.js +0 -0
- /package/dist/{src/services → services}/reviewer/providers/openai.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/providers/openai.js +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-config.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-config.js +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-service.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-service.js +0 -0
- /package/dist/{src/services → services}/reviewer/selection-strategies.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/selection-strategies.js +0 -0
- /package/dist/{src/services → services}/role/role-registry.d.ts +0 -0
- /package/dist/{src/services → services}/role/role-registry.js +0 -0
- /package/dist/{src/services/sediment/types.js → services/runtime/vendor-adapter.js} +0 -0
- /package/dist/{src/services → services}/sc/index.d.ts +0 -0
- /package/dist/{src/services → services}/sc/index.js +0 -0
- /package/dist/{src/services → services}/sc/sc-service.d.ts +0 -0
- /package/dist/{src/services → services}/sc/sc-service.js +0 -0
- /package/dist/{src/services → services}/scan/acceptance-coverage-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/acceptance-coverage-service.js +0 -0
- /package/dist/{src/services → services}/scan/api-surface-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/api-surface-service.js +0 -0
- /package/dist/{src/services → services}/scan/archetype-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/diff-scope-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/diff-scope-service.js +0 -0
- /package/dist/{src/services → services}/scan/existing-system-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/existing-system-service.js +0 -0
- /package/dist/{src/services → services}/scan/file-size-scan.d.ts +0 -0
- /package/dist/{src/services → services}/scan/file-size-scan.js +0 -0
- /package/dist/{src/services → services}/scan/karpathy-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/karpathy-service.js +0 -0
- /package/dist/{src/services → services}/scan/libraries-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/libraries-service.js +0 -0
- /package/dist/{src/services → services}/scan/libraries-types.d.ts +0 -0
- /package/dist/{src/services → services}/scan/libraries-types.js +0 -0
- /package/dist/{src/services → services}/scan/orphan-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/orphan-service.js +0 -0
- /package/dist/{src/services/skillhub/types.js → services/scan/scan-types.js} +0 -0
- /package/dist/{src/services → services}/scan/type-sanity-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/type-sanity-service.js +0 -0
- /package/dist/{src/services → services}/security/safe-settings-path.d.ts +0 -0
- /package/dist/{src/services → services}/security/safe-settings-path.js +0 -0
- /package/dist/{src/services → services}/sediment/dispose-confirm.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/dispose-confirm.js +0 -0
- /package/dist/{src/services → services}/sediment/json-schema.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/json-schema.js +0 -0
- /package/dist/{src/services → services}/sediment/manifest-lint.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/manifest-lint.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-paths.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-paths.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-read.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-read.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-rebuild-index.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-rebuild-index.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-write.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-write.js +0 -0
- /package/dist/{src/services → services}/sediment/promotion-gate.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/promotion-gate.js +0 -0
- /package/dist/{src/services → services}/sediment/types.d.ts +0 -0
- /package/dist/{src/services/understand/hybrid-types.js → services/sediment/types.js} +0 -0
- /package/dist/{src/services → services}/session/binding-status-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/binding-status-service.js +0 -0
- /package/dist/{src/services → services}/session/binding-store.d.ts +0 -0
- /package/dist/{src/services → services}/session/binding-store.js +0 -0
- /package/dist/{src/services → services}/session/caller-binding-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/caller-binding-service.js +0 -0
- /package/dist/{src/services → services}/session/caller-id-types.d.ts +0 -0
- /package/dist/{src/services → services}/session/caller-id-types.js +0 -0
- /package/dist/{src/services → services}/session/getSessionDir.d.ts +0 -0
- /package/dist/{src/services → services}/session/getSessionDir.js +0 -0
- /package/dist/{src/services → services}/session/index.d.ts +0 -0
- /package/dist/{src/services → services}/session/index.js +0 -0
- /package/dist/{src/services → services}/session/platform-fallbacks.d.ts +0 -0
- /package/dist/{src/services → services}/session/platform-fallbacks.js +0 -0
- /package/dist/{src/services → services}/session/resolve-caller-id.d.ts +0 -0
- /package/dist/{src/services → services}/session/resolve-caller-id.js +0 -0
- /package/dist/{src/services → services}/session/session-binding-bridge.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-binding-bridge.js +0 -0
- /package/dist/{src/services → services}/session/session-checkpoint-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-checkpoint-service.js +0 -0
- /package/dist/{src/services → services}/session/session-manager.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-manager.js +0 -0
- /package/dist/{src/services → services}/session/session-resume-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-resume-service.js +0 -0
- /package/dist/{src/services → services}/signal/cancel-handler.d.ts +0 -0
- /package/dist/{src/services → services}/skill/resume-detector.d.ts +0 -0
- /package/dist/{src/services → services}/skill/skill-scheduler.d.ts +0 -0
- /package/dist/{src/services → services}/skill/skill-scheduler.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-diff.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-diff.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-export.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-export.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-gc-blobs.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-gc-blobs.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-import.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-retain.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/sqlite-store.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/tar-runtime.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/tar-runtime.js +0 -0
- /package/dist/{src/services/understand/understand-types.js → services/skillhub/types.js} +0 -0
- /package/dist/{src/services → services}/skills/hooks-settings-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/hooks-settings-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-conformance-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-conformance-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-presence-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-registry.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-registry.js +0 -0
- /package/dist/{src/services → services}/skills/skill-runbook-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-runbook-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-renderer.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-renderer.js +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-service.js +0 -0
- /package/dist/{src/services → services}/skills/statusline-settings-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/statusline-settings-service.js +0 -0
- /package/dist/{src/services → services}/skills/sync-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/sync-service.js +0 -0
- /package/dist/{src/services → services}/slice/calibration-store.d.ts +0 -0
- /package/dist/{src/services → services}/slice/calibration-store.js +0 -0
- /package/dist/{src/services → services}/slice/cross-pass-edge-merger.d.ts +0 -0
- /package/dist/{src/services → services}/slice/cross-pass-edge-merger.js +0 -0
- /package/dist/{src/services → services}/slice/granularity-decider.d.ts +0 -0
- /package/dist/{src/services → services}/slice/granularity-decider.js +0 -0
- /package/dist/{src/services → services}/slice/llm-arbitrator.d.ts +0 -0
- /package/dist/{src/services → services}/slice/llm-arbitrator.js +0 -0
- /package/dist/{src/services → services}/slice/multi-pass-orchestrator.d.ts +0 -0
- /package/dist/{src/services → services}/slice/multi-pass-orchestrator.js +0 -0
- /package/dist/{src/services → services}/slice/schema-router.d.ts +0 -0
- /package/dist/{src/services → services}/slice/schema-router.js +0 -0
- /package/dist/{src/services → services}/slice/slice-archive-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-archive-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-benchmark-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-benchmark-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-check-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-check-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-check-types.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-check-types.js +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-runners.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-runners.js +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-types.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-types.js +0 -0
- /package/dist/{src/services → services}/slice/slice-integration.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-integration.js +0 -0
- /package/dist/{src/services → services}/slice/slice-pick-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-pick-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-review-state.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-review-state.js +0 -0
- /package/dist/{src/services → services}/slice/slice-topology-types.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-topology-types.js +0 -0
- /package/dist/{src/services → services}/smoke/smoke-paths-state.d.ts +0 -0
- /package/dist/{src/services → services}/smoke/smoke-paths-state.js +0 -0
- /package/dist/{src/services → services}/sop/gate-enforce-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/gate-enforce-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-advance-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-advance-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-check-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-check-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-paths.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-paths.js +0 -0
- /package/dist/{src/services → services}/sop/sop-registry-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-registry-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-types.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-types.js +0 -0
- /package/dist/{src/services → services}/standards/ide-aware-standards-service.d.ts +0 -0
- /package/dist/{src/services → services}/standards/migrate-claude-rules-service.d.ts +0 -0
- /package/dist/{src/services → services}/standards/migrate-service.d.ts +0 -0
- /package/dist/{src/services → services}/standards/migrate-service.js +0 -0
- /package/dist/{src/services → services}/standards/project-context.d.ts +0 -0
- /package/dist/{src/services → services}/standards/project-context.js +0 -0
- /package/dist/{src/services → services}/standards/project-standards-service.d.ts +0 -0
- /package/dist/{src/services → services}/tech/tech-service.d.ts +0 -0
- /package/dist/{src/services → services}/tech/tech-service.js +0 -0
- /package/dist/{src/services → services}/test-cache/test-cache-service.d.ts +0 -0
- /package/dist/{src/services → services}/test-cache/test-cache-service.js +0 -0
- /package/dist/{src/services → services}/understand/hybrid-types.d.ts +0 -0
- /package/dist/{src/services → services}/understand/understand-hybrid-service.d.ts +0 -0
- /package/dist/{src/services → services}/understand/understand-hybrid-service.js +0 -0
- /package/dist/{src/services → services}/understand/understand-scan-service.d.ts +0 -0
- /package/dist/{src/services → services}/understand/understand-scan-service.js +0 -0
- /package/dist/{src/services → services}/understand/understand-types.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/1x-detector-service.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.js +0 -0
- /package/dist/{src/services → services}/upgrade/upgrade-service.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/upgrade-service.js +0 -0
- /package/dist/{src/services → services}/verdict/envelopes.d.ts +0 -0
- /package/dist/{src/services → services}/verdict/envelopes.js +0 -0
- /package/dist/{src/services → services}/verdict/verdict-aggregator.d.ts +0 -0
- /package/dist/{src/services → services}/verdict/verdict-aggregator.js +0 -0
- /package/dist/{src/services → services}/workflow/artifact-paths.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/artifact-paths.js +0 -0
- /package/dist/{src/services → services}/workflow/autonomous-resume-writer.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/autonomous-resume-writer.js +0 -0
- /package/dist/{src/services → services}/workflow/plan-reader.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/plan-reader.js +0 -0
- /package/dist/{src/services → services}/workflow/plan-refresher.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/plan-refresher.js +0 -0
- /package/dist/{src/services → services}/workflow/plan-trigger-detector.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/plan-trigger-detector.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-loader.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-loader.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-skip-service.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-skip-service.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-spec.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-spec.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-state-store.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-state-store.js +0 -0
- /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.js +0 -0
- /package/dist/{src/services → services}/workspace/migrate-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/migrate-service.js +0 -0
- /package/dist/{src/services → services}/workspace/migrate-types.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/migrate-types.js +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-service.js +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-types.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-types.js +0 -0
- /package/dist/{src/services → services}/workspace/sid-naming-guard.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/sid-naming-guard.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-claude-settings-materializer.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-claude-settings-materializer.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-clean-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-clean-service.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-service.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-state-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-state-service.js +0 -0
- /package/dist/{src/shared → shared}/format-md-compact.d.ts +0 -0
- /package/dist/{src/shared → shared}/format-md-compact.js +0 -0
- /package/dist/{src/shared → shared}/frontmatter.d.ts +0 -0
- /package/dist/{src/shared → shared}/frontmatter.js +0 -0
- /package/dist/{src/shared → shared}/fs-utils.d.ts +0 -0
- /package/dist/{src/shared → shared}/fs-utils.js +0 -0
- /package/dist/{src/shared → shared}/fs.d.ts +0 -0
- /package/dist/{src/shared → shared}/fs.js +0 -0
- /package/dist/{src/shared → shared}/incrementing-number.d.ts +0 -0
- /package/dist/{src/shared → shared}/incrementing-number.js +0 -0
- /package/dist/{src/shared → shared}/json-schema-mini.d.ts +0 -0
- /package/dist/{src/shared → shared}/json-schema-mini.js +0 -0
- /package/dist/{src/shared → shared}/path-safety.d.ts +0 -0
- /package/dist/{src/shared → shared}/path-safety.js +0 -0
- /package/dist/{src/shared → shared}/path-utils.d.ts +0 -0
- /package/dist/{src/shared → shared}/path-utils.js +0 -0
- /package/dist/{src/shared → shared}/paths.d.ts +0 -0
- /package/dist/{src/shared → shared}/paths.js +0 -0
- /package/dist/{src/shared → shared}/planner-response.d.ts +0 -0
- /package/dist/{src/shared → shared}/planner-response.js +0 -0
- /package/dist/{src/shared → shared}/platform.d.ts +0 -0
- /package/dist/{src/shared → shared}/platform.js +0 -0
- /package/dist/{src/shared → shared}/process.d.ts +0 -0
- /package/dist/{src/shared → shared}/process.js +0 -0
- /package/dist/{src/shared → shared}/result.d.ts +0 -0
- /package/dist/{src/shared → shared}/result.js +0 -0
- /package/dist/{src/shared → shared}/stale-policy.d.ts +0 -0
- /package/dist/{src/shared → shared}/stale-policy.js +0 -0
- /package/dist/{src/skills → skills}/peaks-maker/index.d.ts +0 -0
- /package/dist/{src/skills → skills}/peaks-maker/index.js +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export const seedCapabilityLandingMappings = [
|
|
2
|
+
mapping({ capabilityId: 'ruflo-access-repo.workflow-reference', sourceId: 'ruflo-access-repo', sourceGroup: 'access-repo', landingKind: 'catalog', target: 'peaks autonomous planning reference', guidance: 'Use as workflow orchestration inspiration only; Peaks owns execution boundaries.' }),
|
|
3
|
+
mapping({ capabilityId: 'context7.docs-lookup', sourceId: 'context7', sourceGroup: 'access-repo', landingKind: 'cli', target: 'peaks recommend', commandPreview: 'peaks recommend --workflow code-refactor --json', guidance: 'Use for current library/API documentation lookup through approved MCP access.' }),
|
|
4
|
+
mapping({ capabilityId: 'codegraph.project-indexing', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Dry-run reference only: if local indexing is explicitly approved, peaks-rd may use peaks codegraph index --project <path> before semantic analysis; generated .codegraph artifacts stay local unless explicitly approved.' }),
|
|
5
|
+
mapping({ capabilityId: 'codegraph.semantic-query', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Dry-run reference only: peaks-rd may use peaks codegraph query --project <path> <search> for project relationship evidence during RD planning when execution is approved; Peaks RD gates remain authoritative.' }),
|
|
6
|
+
mapping({ capabilityId: 'codegraph.impact-analysis', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Dry-run reference only: peaks-rd may use peaks codegraph affected --project <path> <files...> --json to inspect likely impact before slice planning and red-line checks when execution is approved.' }),
|
|
7
|
+
mapping({ capabilityId: 'codegraph.impact-analysis', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use affected output as regression-surface evidence only; QA validation and test evidence remain authoritative.' }),
|
|
8
|
+
mapping({ capabilityId: 'codegraph.context-pack', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Dry-run reference only: peaks-rd may use peaks codegraph context --project <path> <task> to gather local evidence for RD analysis when execution is approved, without replacing standards dry-runs.' }),
|
|
9
|
+
mapping({ capabilityId: 'codegraph.context-pack', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-code', skillName: 'peaks-code', guidance: 'Code may attach local context packs or affected summaries before role handoff so RD, QA, and TXT share the same project evidence.' }),
|
|
10
|
+
mapping({ capabilityId: 'codegraph.context-pack', sourceId: 'codegraph', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-txt', skillName: 'peaks-txt', guidance: 'TXT may summarize recorded codegraph context packs into handoffs while treating them as supporting evidence only.' }),
|
|
11
|
+
mapping({ capabilityId: 'playwright-mcp.browser-validation', sourceId: 'playwright-mcp', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use for browser and E2E validation after user-approved app targets are available.' }),
|
|
12
|
+
mapping({ capabilityId: 'chrome-devtools-mcp.browser-debug', sourceId: 'chrome-devtools-mcp', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use for runtime UI, console, network, and performance inspection.' }),
|
|
13
|
+
mapping({ capabilityId: 'context-mode.context-management', sourceId: 'context-mode', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-txt', skillName: 'peaks-txt', guidance: 'Use only for explicit context management; durable memory requires user opt-in.' }),
|
|
14
|
+
mapping({ capabilityId: 'modelcontextprotocol-servers.collection', sourceId: 'modelcontextprotocol-servers', sourceGroup: 'access-repo', landingKind: 'catalog', target: 'future peaks mcp catalog', guidance: 'Treat as an unscanned MCP collection; do not auto-install unknown servers.' }),
|
|
15
|
+
mapping({ capabilityId: 'searchcode-mcp.code-search', sourceId: 'searchcode-mcp', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use for external code discovery only after confirming queries do not expose secrets or private code.' }),
|
|
16
|
+
mapping({ capabilityId: 'mysql-mcp.database-inspection', sourceId: 'mysql-mcp-server', sourceGroup: 'access-repo', landingKind: 'catalog', target: 'database capability boundary', guidance: 'Database access requires explicit credentials and confirmation before any write query.' }),
|
|
17
|
+
mapping({ capabilityId: 'figma-context-mcp.design-context', sourceId: 'figma-context-mcp', sourceGroup: 'access-repo', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use for design-to-code context only with user-authorized Figma access.' }),
|
|
18
|
+
mapping({ capabilityId: 'everything-claude-code.code-review-agent', sourceId: 'everything-claude-code', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use as code review capability after local diff and test evidence exist.' }),
|
|
19
|
+
mapping({ capabilityId: 'everything-claude-code.code-review-guidance', sourceId: 'everything-claude-code', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use as project-local code review standards guidance during QA preflight.' }),
|
|
20
|
+
mapping({ capabilityId: 'everything-claude-code.language-standards', sourceId: 'everything-claude-code', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use as curated language standards source during RD standards preflight.' }),
|
|
21
|
+
mapping({ capabilityId: 'everything-claude-code.security-review-agent', sourceId: 'everything-claude-code', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use as security review capability after local diff and test evidence exist.' }),
|
|
22
|
+
mapping({ capabilityId: 'everything-claude-code.security-review-guidance', sourceId: 'everything-claude-code', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use as project-local security review standards guidance during QA preflight.' }),
|
|
23
|
+
mapping({ capabilityId: 'andrej-karpathy-skills.guidance', sourceId: 'andrej-karpathy-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use as engineering guidance inspiration after project-local standards are scanned.' }),
|
|
24
|
+
mapping({ capabilityId: 'mattpocock-skills.product-prd-methods', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-prd', skillName: 'peaks-prd', guidance: 'Use to-prd, zoom-out, and grill-with-docs as inspected product-method references; Peaks PRD artifacts remain authoritative.' }),
|
|
25
|
+
mapping({ capabilityId: 'mattpocock-skills.engineering-diagnosis', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use diagnose, triage, improve-codebase-architecture, and prototype as inspected engineering references; Peaks RD gates remain authoritative.' }),
|
|
26
|
+
mapping({ capabilityId: 'mattpocock-skills.tdd-method', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use tdd as an inspected tests-first reference during RD implementation; Peaks unit-test and review gates remain authoritative.' }),
|
|
27
|
+
mapping({ capabilityId: 'mattpocock-skills.tdd-method', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use tdd as an inspected reference for checking whether tests protect changed behavior; Peaks QA evidence gates remain authoritative.' }),
|
|
28
|
+
mapping({ capabilityId: 'mattpocock-skills.qa-triage', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use triage and grill-with-docs as inspected QA references for blockers, release risk, and acceptance evidence; Peaks QA remains the acceptance authority.' }),
|
|
29
|
+
mapping({ capabilityId: 'mattpocock-skills.handoff-context', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-txt', skillName: 'peaks-txt', guidance: 'Use handoff, to-issues, and write-a-skill as inspected context references; Peaks TXT local capsule and memory-authorization rules remain authoritative.' }),
|
|
30
|
+
mapping({ capabilityId: 'mattpocock-skills.git-guardrails', sourceId: 'mattpocock-skills', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'git guardrails reference catalog', guidance: 'Catalog only; do not install hooks, mutate git configuration, or write Claude settings from this capability map.' }),
|
|
31
|
+
mapping({ capabilityId: 'impeccable.quality-guidance', sourceId: 'impeccable', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'quality reference catalog', guidance: 'Use as quality inspiration; Peaks review gates remain authoritative.' }),
|
|
32
|
+
mapping({ capabilityId: 'vercel-agent-skills.skill-pack', sourceId: 'vercel-agent-skills', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'external skill catalog', guidance: 'Catalog only until individual skills are inspected and approved.' }),
|
|
33
|
+
mapping({ capabilityId: 'agent-browser.browser-agent', sourceId: 'agent-browser', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-qa', skillName: 'peaks-qa', guidance: 'Use for browser validation; never submit forms or mutate authenticated state without explicit permission.' }),
|
|
34
|
+
mapping({ capabilityId: 'minimax-skills.worker-guidance', sourceId: 'minimax-skills', sourceGroup: 'mcp-server', landingKind: 'cli', target: 'peaks minimax-worker', commandPreview: 'peaks minimax-worker --json', guidance: 'Use Peaks worker command only after reviewing inputs; add --confirm manually when explicit external-provider approval exists.' }),
|
|
35
|
+
mapping({ capabilityId: 'claude-mem.memory-persistence', sourceId: 'claude-mem', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-txt', skillName: 'peaks-txt', guidance: 'Use only with explicit durable-memory consent and never store secrets.' }),
|
|
36
|
+
mapping({ capabilityId: 'darwin-skill.external-skill', sourceId: 'darwin-skill', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'external skill catalog', guidance: 'Catalog only until inspected for project fit and safety.' }),
|
|
37
|
+
mapping({ capabilityId: 'claude-code-best-practice.workflow-guidance', sourceId: 'claude-code-best-practice', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-rd', skillName: 'peaks-rd', guidance: 'Use as Claude Code workflow reference while preserving Peaks gates.' }),
|
|
38
|
+
mapping({ capabilityId: 'openspec.spec-workflow', sourceId: 'openspec', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-prd', skillName: 'peaks-prd', guidance: 'Use for spec-first product and engineering artifact structure.' }),
|
|
39
|
+
mapping({ capabilityId: 'gitnexus.repo-intelligence', sourceId: 'gitnexus', sourceGroup: 'mcp-server', landingKind: 'fallback', target: 'future peaks mcp gitnexus proxy', guidance: 'Do not install globally; future use should be proxied through Peaks.' }),
|
|
40
|
+
mapping({ capabilityId: 'taste-skill.design-critique', sourceId: 'taste-skill', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use as design critique inspiration, with Peaks UI constraints staying authoritative.' }),
|
|
41
|
+
mapping({ capabilityId: 'ui-ux-pro-max-skill.design-guidance', sourceId: 'ui-ux-pro-max-skill', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use as UI/UX guidance after product goals and accessibility constraints are clear.' }),
|
|
42
|
+
mapping({ capabilityId: 'ruflo-mcp-server.workflow-reference', sourceId: 'ruflo-mcp-server', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'peaks autonomous planning reference', guidance: 'Use as orchestration inspiration only; Peaks owns execution boundaries.' }),
|
|
43
|
+
mapping({ capabilityId: 'superpowers.workflow-methodology', sourceId: 'superpowers', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-prd', skillName: 'peaks-prd', guidance: 'Use as workflow methodology reference for artifact sequencing.' }),
|
|
44
|
+
mapping({ capabilityId: 'penpot.design-source', sourceId: 'penpot', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use as design-source context only with user-authorized project access.' }),
|
|
45
|
+
mapping({ capabilityId: 'gstack.product-stack-guidance', sourceId: 'gstack', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-prd', skillName: 'peaks-prd', guidance: 'Use as product-stack guidance, not as a substitute for user goals.' }),
|
|
46
|
+
mapping({ capabilityId: 'awesome-design-md.design-reference', sourceId: 'awesome-design-md', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use as visual/reference material while preserving product-specific design direction.' }),
|
|
47
|
+
mapping({ capabilityId: 'anthropic-skills.skill-pack', sourceId: 'anthropic-skills', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'external skill catalog', guidance: 'Catalog only until individual skills are inspected and approved.' }),
|
|
48
|
+
mapping({ capabilityId: 'vercel-skills.skill-pack', sourceId: 'vercel-skills', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'external skill catalog', guidance: 'Catalog only until individual skills are inspected and approved.' }),
|
|
49
|
+
mapping({ capabilityId: 'reactbits.ui-reference', sourceId: 'reactbits', sourceGroup: 'mcp-server', landingKind: 'skill', target: 'peaks-ui', skillName: 'peaks-ui', guidance: 'Use as UI and motion inspiration after checking license, accessibility, and performance.' }),
|
|
50
|
+
mapping({ capabilityId: 'azure-skills.cloud-skill-pack', sourceId: 'azure-skills', sourceGroup: 'mcp-server', landingKind: 'catalog', target: 'cloud capability catalog', guidance: 'Cloud actions can affect cost and infrastructure; require explicit confirmation and credentials.' })
|
|
51
|
+
];
|
|
52
|
+
function mapping(input) {
|
|
53
|
+
return { ...input, dryRunOnly: true };
|
|
54
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { resolveCapabilityAvailability } from './capability-availability.js';
|
|
2
|
+
import { seedCapabilityItems } from './seed-capability-catalog.js';
|
|
3
|
+
function getWorkflowItems(workflow) {
|
|
4
|
+
return seedCapabilityItems.filter((item) => item.workflows.includes(workflow));
|
|
5
|
+
}
|
|
6
|
+
function localize(language, zh, en) {
|
|
7
|
+
return language.startsWith('zh') ? zh : en;
|
|
8
|
+
}
|
|
9
|
+
function getWorkflowSummary(workflow, language) {
|
|
10
|
+
if (workflow === 'code-refactor') {
|
|
11
|
+
return localize(language, '建议先为代码重构准备代码评审和文档查询能力;缺失能力会以 fallback 方式显式展示。', 'Prepare code review and documentation lookup capabilities for code refactor; missing capabilities are shown with explicit fallbacks.');
|
|
12
|
+
}
|
|
13
|
+
if (workflow === 'product-refactor') {
|
|
14
|
+
return localize(language, '建议先围绕产品理解成本、交互路径和验收标准生成推荐计划。', 'Prepare a recommendation plan around product comprehension cost, interaction flow, and acceptance criteria.');
|
|
15
|
+
}
|
|
16
|
+
return localize(language, '建议先准备前端设计、浏览器验证和文档查询能力。', 'Prepare frontend design, browser validation, and documentation lookup capabilities.');
|
|
17
|
+
}
|
|
18
|
+
function getPreferredCapabilityId(workflow) {
|
|
19
|
+
if (workflow === 'code-refactor') {
|
|
20
|
+
return 'everything-claude-code.code-review-agent';
|
|
21
|
+
}
|
|
22
|
+
return 'context7.docs-lookup';
|
|
23
|
+
}
|
|
24
|
+
function toFallbackActionId(capabilityId) {
|
|
25
|
+
return `use-fallback-${capabilityId.replaceAll('.', '-')}`;
|
|
26
|
+
}
|
|
27
|
+
function getNextActions(workflow, availability) {
|
|
28
|
+
const preferredCapabilityId = getPreferredCapabilityId(workflow);
|
|
29
|
+
const preferredAvailability = availability.find((item) => item.capabilityId === preferredCapabilityId);
|
|
30
|
+
const fallbackActions = availability
|
|
31
|
+
.filter((item) => item.status !== 'available')
|
|
32
|
+
.map((item) => ({
|
|
33
|
+
id: toFallbackActionId(item.capabilityId),
|
|
34
|
+
type: 'use-fallback',
|
|
35
|
+
capabilityId: item.capabilityId,
|
|
36
|
+
requiresApproval: true,
|
|
37
|
+
riskLevel: item.risk
|
|
38
|
+
}));
|
|
39
|
+
if (preferredAvailability?.status !== 'available') {
|
|
40
|
+
return fallbackActions;
|
|
41
|
+
}
|
|
42
|
+
const invokeAction = workflow === 'code-refactor'
|
|
43
|
+
? {
|
|
44
|
+
id: 'run-code-review',
|
|
45
|
+
type: 'invoke-capability',
|
|
46
|
+
capabilityId: preferredCapabilityId,
|
|
47
|
+
requiresApproval: false,
|
|
48
|
+
riskLevel: preferredAvailability.risk
|
|
49
|
+
}
|
|
50
|
+
: {
|
|
51
|
+
id: 'lookup-docs',
|
|
52
|
+
type: 'invoke-capability',
|
|
53
|
+
capabilityId: preferredCapabilityId,
|
|
54
|
+
requiresApproval: false,
|
|
55
|
+
riskLevel: preferredAvailability.risk
|
|
56
|
+
};
|
|
57
|
+
return [...fallbackActions, invokeAction];
|
|
58
|
+
}
|
|
59
|
+
export function createRecommendationPlan(options) {
|
|
60
|
+
const language = options.language ?? 'en';
|
|
61
|
+
const workflowItems = getWorkflowItems(options.workflow);
|
|
62
|
+
const availabilityOptions = options.installedCapabilityIds
|
|
63
|
+
? { installedCapabilityIds: options.installedCapabilityIds }
|
|
64
|
+
: {};
|
|
65
|
+
const availability = resolveCapabilityAvailability(workflowItems, availabilityOptions);
|
|
66
|
+
const missingCapabilities = availability.filter((item) => item.status !== 'available');
|
|
67
|
+
const requiredCapabilities = workflowItems.map((item) => item.capabilityId);
|
|
68
|
+
const recommendedOption = {
|
|
69
|
+
id: 'recommended-foundation-route',
|
|
70
|
+
label: 'foundation-route',
|
|
71
|
+
why: 'Use available capabilities and expose missing ones before execution.',
|
|
72
|
+
requiredCapabilities,
|
|
73
|
+
...(missingCapabilities.length > 0 ? { fallbackPath: 'explicit-fallback' } : {})
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
intent: options.workflow,
|
|
77
|
+
workflow: options.workflow,
|
|
78
|
+
profile: 'code-guided-auto',
|
|
79
|
+
audience: ['engineer'],
|
|
80
|
+
options: [recommendedOption],
|
|
81
|
+
requiredCapabilities,
|
|
82
|
+
availability,
|
|
83
|
+
fallbacks: missingCapabilities.map((item) => item.fallback),
|
|
84
|
+
decisionRequired: missingCapabilities.length > 0,
|
|
85
|
+
machine: {
|
|
86
|
+
nextActions: getNextActions(options.workflow, availability),
|
|
87
|
+
constraints: ['do-not-install-capabilities', 'do-not-mutate-remote-state'],
|
|
88
|
+
stopConditions: ['missing-required-capability-without-fallback']
|
|
89
|
+
},
|
|
90
|
+
presentation: {
|
|
91
|
+
language,
|
|
92
|
+
summary: getWorkflowSummary(options.workflow, language),
|
|
93
|
+
options: [
|
|
94
|
+
{
|
|
95
|
+
id: 'recommended-foundation-route',
|
|
96
|
+
label: localize(language, '使用推荐基础路线', 'Use recommended foundation route'),
|
|
97
|
+
why: localize(language, '先检查能力是否可用,再决定执行或降级,避免模型发散。', 'Check capability availability before execution or fallback to avoid model drift.')
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
warnings: missingCapabilities.map((item) => localize(language, `缺少能力:${item.capabilityId},将使用 fallback。`, `Missing capability: ${item.capabilityId}; fallback will be used.`)),
|
|
101
|
+
explanations: [
|
|
102
|
+
localize(language, '机器层保持稳定英文契约,给人看的摘要跟随当前语言。', 'The machine layer keeps stable English contracts while human summaries follow the selected language.')
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type RefactorMode = 'code' | 'rd';
|
|
2
|
+
export type RefactorDryRun = {
|
|
3
|
+
mode: RefactorMode;
|
|
4
|
+
implementationAllowed: false;
|
|
5
|
+
hardGates: string[];
|
|
6
|
+
requiredArtifacts: string[];
|
|
7
|
+
nextActions: string[];
|
|
8
|
+
};
|
|
9
|
+
export declare function createRefactorDryRun(mode: RefactorMode): RefactorDryRun;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type DetectedVendor = 'claude-code' | 'codex' | 'copilot' | 'unknown';
|
|
2
|
+
export interface RuntimeDetectorOptions {
|
|
3
|
+
/** Override for env (used by tests). */
|
|
4
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
5
|
+
/** Override for home directory (used by tests). */
|
|
6
|
+
readonly home?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface DetectionResult {
|
|
9
|
+
readonly vendor: DetectedVendor;
|
|
10
|
+
/** Why this vendor was chosen — useful for diagnostics and tests. */
|
|
11
|
+
readonly reason: string;
|
|
12
|
+
}
|
|
13
|
+
/** Detect the active vendor. Order: claude-code → codex → copilot →
|
|
14
|
+
* unknown. The first match wins. */
|
|
15
|
+
export declare function detectRuntime(opts?: RuntimeDetectorOptions): DetectionResult;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime detector — slice S2-a of RD-2.
|
|
3
|
+
*
|
|
4
|
+
* Given the current process environment, decide which vendor (if any)
|
|
5
|
+
* is the active AI runtime. Detection order matters: Claude Code is
|
|
6
|
+
* checked first because it is the default runtime for peaks-loop
|
|
7
|
+
* (the project literally runs inside Claude Code). Codex + Copilot
|
|
8
|
+
* are checked second; if none match we report `unknown`.
|
|
9
|
+
*
|
|
10
|
+
* Detectors MUST be cheap (no process spawn, no network). They look
|
|
11
|
+
* at env vars + filesystem sentinels + home-dir shapes only. This
|
|
12
|
+
* keeps `peaks runtime detect` sub-100ms even on cold paths.
|
|
13
|
+
*/
|
|
14
|
+
import { existsSync } from 'node:fs';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
|
+
/** Heuristic: Claude Code sets CLAUDE_CODE_ENTRYPOINT or has a
|
|
17
|
+
* .claude/skills directory under HOME (peaks-loop installs there). */
|
|
18
|
+
function detectClaudeCode(opts) {
|
|
19
|
+
const env = opts.env ?? process.env;
|
|
20
|
+
if (env.CLAUDE_CODE === '1' || env.CLAUDE_CODE === 'true')
|
|
21
|
+
return true;
|
|
22
|
+
if (env.CLAUDE_CODE_ENTRYPOINT !== undefined && env.CLAUDE_CODE_ENTRYPOINT.length > 0)
|
|
23
|
+
return true;
|
|
24
|
+
const home = opts.home ?? process.env.HOME ?? process.env.USERPROFILE ?? '';
|
|
25
|
+
if (home.length > 0 && existsSync(join(home, '.claude')))
|
|
26
|
+
return true;
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
/** Heuristic: Codex sets CODEX_HOME or has a .codex dir under HOME. */
|
|
30
|
+
function detectCodex(opts) {
|
|
31
|
+
const env = opts.env ?? process.env;
|
|
32
|
+
if (env.CODEX_HOME !== undefined && env.CODEX_HOME.length > 0)
|
|
33
|
+
return true;
|
|
34
|
+
const home = opts.home ?? process.env.HOME ?? process.env.USERPROFILE ?? '';
|
|
35
|
+
if (home.length > 0 && existsSync(join(home, '.codex')))
|
|
36
|
+
return true;
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
/** Heuristic: Copilot sets GITHUB_COPILOT or has a .copilot dir. */
|
|
40
|
+
function detectCopilot(opts) {
|
|
41
|
+
const env = opts.env ?? process.env;
|
|
42
|
+
if (env.GITHUB_COPILOT === '1' || env.GITHUB_COPILOT === 'true')
|
|
43
|
+
return true;
|
|
44
|
+
const home = opts.home ?? process.env.HOME ?? process.env.USERPROFILE ?? '';
|
|
45
|
+
if (home.length > 0 && existsSync(join(home, '.copilot')))
|
|
46
|
+
return true;
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
/** Detect the active vendor. Order: claude-code → codex → copilot →
|
|
50
|
+
* unknown. The first match wins. */
|
|
51
|
+
export function detectRuntime(opts = {}) {
|
|
52
|
+
if (detectClaudeCode(opts)) {
|
|
53
|
+
return { vendor: 'claude-code', reason: 'CLAUDE_CODE_ENTRYPOINT / CLAUDE_CODE / ~/.claude matched' };
|
|
54
|
+
}
|
|
55
|
+
if (detectCodex(opts)) {
|
|
56
|
+
return { vendor: 'codex', reason: 'CODEX_HOME / ~/.codex matched' };
|
|
57
|
+
}
|
|
58
|
+
if (detectCopilot(opts)) {
|
|
59
|
+
return { vendor: 'copilot', reason: 'GITHUB_COPILOT / ~/.copilot matched' };
|
|
60
|
+
}
|
|
61
|
+
return { vendor: 'unknown', reason: 'no vendor sentinel detected' };
|
|
62
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime service — slice S2-a of RD-2.
|
|
3
|
+
*
|
|
4
|
+
* Orchestrator that wires the runtime detector + vendor adapter
|
|
5
|
+
* registry into a small surface that the CLI commands call. The
|
|
6
|
+
* service owns the canonical list of built-in adapters (claude-code /
|
|
7
|
+
* codex / copilot) and decides which adapter handles a given
|
|
8
|
+
* `--via <id>` request.
|
|
9
|
+
*
|
|
10
|
+
* Design notes (Karpathy #2 Simplicity First):
|
|
11
|
+
*
|
|
12
|
+
* - The service is a thin orchestrator — it does NOT contain any
|
|
13
|
+
* vendor verb strings (claude / codex / copilot). All vendor verbs
|
|
14
|
+
* live in `src/services/runtime/vendors/<vendor>.ts`. Verified by
|
|
15
|
+
* AC-1.
|
|
16
|
+
* - When `compactVia(id)` is called with an unknown id, the service
|
|
17
|
+
* returns a "no-op" result with exitCode=0 and a warning instead of
|
|
18
|
+
* throwing — vendor-neutrality means peaks-loop MUST keep working
|
|
19
|
+
* even when the requested vendor adapter isn't registered.
|
|
20
|
+
* - The service is the SOLE owner of the built-in adapter list. Tests
|
|
21
|
+
* and CLI commands should never instantiate adapters directly;
|
|
22
|
+
* they should call `listBuiltInAdapters()` or `getAdapter(id)`.
|
|
23
|
+
*/
|
|
24
|
+
import type { VendorAdapter, VendorCompactResult } from './vendor-adapter.js';
|
|
25
|
+
export interface RuntimeServiceOptions {
|
|
26
|
+
/** Override the built-in adapter list (used by tests + the
|
|
27
|
+
* adapter-registry's `register()` flow). */
|
|
28
|
+
readonly builtIns?: VendorAdapter[];
|
|
29
|
+
/** Override the home dir used by adapter detect() helpers. */
|
|
30
|
+
readonly home?: string;
|
|
31
|
+
}
|
|
32
|
+
/** Pure orchestrator. The runtime service holds built-in adapters as
|
|
33
|
+
* the baseline registry; the AdapterRegistry layer (`src/services/
|
|
34
|
+
* adapter/adapter-registry.ts`) extends this baseline at runtime via
|
|
35
|
+
* user-registered adapters persisted to `.peaks/runtime/adapters.json`.
|
|
36
|
+
* The two layers are intentionally separate:
|
|
37
|
+
* - runtime-service: built-in vendor adapters for the runtime-detect
|
|
38
|
+
* compact flow (S2-a).
|
|
39
|
+
* - adapter-registry: persisted user-registered adapters (S2-a).
|
|
40
|
+
* runtime-service itself does NOT consult the adapter registry —
|
|
41
|
+
* callers (`peaks runtime compact --via <id>`) layer them: first look
|
|
42
|
+
* up the id in the persisted registry, fall back to the built-in list.
|
|
43
|
+
*/
|
|
44
|
+
export declare class RuntimeService {
|
|
45
|
+
private readonly builtIns;
|
|
46
|
+
constructor(opts?: RuntimeServiceOptions);
|
|
47
|
+
/** Return all built-in adapters. Order: claude-code, codex, copilot. */
|
|
48
|
+
listBuiltInAdapters(): VendorAdapter[];
|
|
49
|
+
/** Resolve a built-in adapter by id. Returns undefined when not
|
|
50
|
+
* found — caller should fall back to adapter registry or unknown. */
|
|
51
|
+
getBuiltInAdapter(id: string): VendorAdapter | undefined;
|
|
52
|
+
/** Compact via a built-in adapter. When the id is unknown, returns
|
|
53
|
+
* a no-op result with a warning rather than throwing — vendor
|
|
54
|
+
* neutrality demands peaks-loop stay alive even when a vendor is
|
|
55
|
+
* not wired up. */
|
|
56
|
+
compactVia(id: string, force: boolean | undefined): Promise<VendorCompactResult & {
|
|
57
|
+
warning?: string;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ClaudeCodeAdapter } from './vendors/claude-code.js';
|
|
2
|
+
import { CodexAdapter } from './vendors/codex.js';
|
|
3
|
+
import { CopilotAdapter } from './vendors/copilot.js';
|
|
4
|
+
const DEFAULT_BUILT_INS = [
|
|
5
|
+
new ClaudeCodeAdapter(),
|
|
6
|
+
new CodexAdapter(),
|
|
7
|
+
new CopilotAdapter()
|
|
8
|
+
];
|
|
9
|
+
/** Pure orchestrator. The runtime service holds built-in adapters as
|
|
10
|
+
* the baseline registry; the AdapterRegistry layer (`src/services/
|
|
11
|
+
* adapter/adapter-registry.ts`) extends this baseline at runtime via
|
|
12
|
+
* user-registered adapters persisted to `.peaks/runtime/adapters.json`.
|
|
13
|
+
* The two layers are intentionally separate:
|
|
14
|
+
* - runtime-service: built-in vendor adapters for the runtime-detect
|
|
15
|
+
* compact flow (S2-a).
|
|
16
|
+
* - adapter-registry: persisted user-registered adapters (S2-a).
|
|
17
|
+
* runtime-service itself does NOT consult the adapter registry —
|
|
18
|
+
* callers (`peaks runtime compact --via <id>`) layer them: first look
|
|
19
|
+
* up the id in the persisted registry, fall back to the built-in list.
|
|
20
|
+
*/
|
|
21
|
+
export class RuntimeService {
|
|
22
|
+
builtIns;
|
|
23
|
+
constructor(opts = {}) {
|
|
24
|
+
this.builtIns = opts.builtIns ?? [...DEFAULT_BUILT_INS];
|
|
25
|
+
}
|
|
26
|
+
/** Return all built-in adapters. Order: claude-code, codex, copilot. */
|
|
27
|
+
listBuiltInAdapters() {
|
|
28
|
+
return [...this.builtIns];
|
|
29
|
+
}
|
|
30
|
+
/** Resolve a built-in adapter by id. Returns undefined when not
|
|
31
|
+
* found — caller should fall back to adapter registry or unknown. */
|
|
32
|
+
getBuiltInAdapter(id) {
|
|
33
|
+
return this.builtIns.find((a) => a.id === id);
|
|
34
|
+
}
|
|
35
|
+
/** Compact via a built-in adapter. When the id is unknown, returns
|
|
36
|
+
* a no-op result with a warning rather than throwing — vendor
|
|
37
|
+
* neutrality demands peaks-loop stay alive even when a vendor is
|
|
38
|
+
* not wired up. */
|
|
39
|
+
async compactVia(id, force) {
|
|
40
|
+
const adapter = this.getBuiltInAdapter(id);
|
|
41
|
+
if (adapter === undefined) {
|
|
42
|
+
return {
|
|
43
|
+
exitCode: 0,
|
|
44
|
+
stdout: '',
|
|
45
|
+
stderr: '',
|
|
46
|
+
warning: `no built-in adapter registered for id="${id}" — falling back to no-op; use \`peaks adapter register --id ${id} --binary <cmd>\` to wire one`
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return adapter.compact({ force: force === true });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendor adapter contract — slice S2-a of RD-2 (2026-07-08 session).
|
|
3
|
+
*
|
|
4
|
+
* Each `VendorAdapter` is a thin wrapper around ONE AI runtime (Claude
|
|
5
|
+
* Code / Codex / Copilot / custom) that knows how to:
|
|
6
|
+
*
|
|
7
|
+
* 1. Detect whether the current environment is that vendor
|
|
8
|
+
* (env vars, sentinel binaries, environment shape).
|
|
9
|
+
* 2. Issue a compact command through that vendor without forcing
|
|
10
|
+
* peaks-loop's core code to know vendor-specific verbs.
|
|
11
|
+
*
|
|
12
|
+
* The interface is intentionally MINIMAL (Karpathy #2 Simplicity First):
|
|
13
|
+
* two methods (`detect`, `compact`) plus an `id` + `displayName`.
|
|
14
|
+
* New verbs (status, refactor, etc.) are NOT in scope — they would
|
|
15
|
+
* bloat the surface and force every vendor to implement every verb
|
|
16
|
+
* whether the vendor supports it or not. When a future verb is needed
|
|
17
|
+
* it can either be added to the interface (with all vendors forced to
|
|
18
|
+
* implement) or — preferred — handled through a separate
|
|
19
|
+
* verb-specific adapter family.
|
|
20
|
+
*
|
|
21
|
+
* Vendor-specific verb strings (`claude --compact`, `codex --compact`,
|
|
22
|
+
* `copilot compact`) MUST live ONLY in adapter implementations under
|
|
23
|
+
* `src/services/runtime/vendors/<vendor>.ts`. The runtime service that
|
|
24
|
+
* orchestrates these adapters (runtime-service.ts) and the CLI commands
|
|
25
|
+
* (`peaks runtime compact --via <id>`) MUST NOT contain vendor verbs
|
|
26
|
+
* — verified by AC-1: `rg -n "claude --compact|codex --compact|copilot
|
|
27
|
+
* compact" src/services/code/` must return 0 matches.
|
|
28
|
+
*
|
|
29
|
+
* See `.peaks/_runtime/2026-07-08-session-17918f/prd/002-adapter-runtime-and-polyrepo.md`
|
|
30
|
+
* for the source PRD.
|
|
31
|
+
*/
|
|
32
|
+
export interface VendorCompactArgs {
|
|
33
|
+
/** When `true`, the vendor is asked to compact unconditionally even
|
|
34
|
+
* if its auto-detector says it would not normally do so. */
|
|
35
|
+
readonly force?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface VendorCompactResult {
|
|
38
|
+
readonly exitCode: number;
|
|
39
|
+
readonly stdout: string;
|
|
40
|
+
readonly stderr: string;
|
|
41
|
+
}
|
|
42
|
+
export interface VendorAdapter {
|
|
43
|
+
/** Stable identifier used by `peaks runtime compact --via <id>` and
|
|
44
|
+
* by the adapter registry. Convention: lowercase, dash-separated,
|
|
45
|
+
* e.g. `claude-code`, `codex`, `copilot`. */
|
|
46
|
+
readonly id: string;
|
|
47
|
+
/** Human-readable name shown in `peaks runtime list` output. */
|
|
48
|
+
readonly displayName: string;
|
|
49
|
+
/** Whether the CURRENT environment is this vendor. Detectors MUST
|
|
50
|
+
* be pure functions of env + filesystem; they MUST NOT spawn
|
|
51
|
+
* processes or call vendor CLIs (a detect that itself runs the
|
|
52
|
+
* vendor would defeat the purpose of asking whether the vendor is
|
|
53
|
+
* present). */
|
|
54
|
+
detect(): Promise<boolean>;
|
|
55
|
+
/** Issue a compact command for this vendor. The adapter chooses
|
|
56
|
+
* which binary + args + env to invoke; callers MUST NOT pass
|
|
57
|
+
* vendor verbs through this method. */
|
|
58
|
+
compact(args?: VendorCompactArgs): Promise<VendorCompactResult>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VendorAdapter, VendorCompactArgs, VendorCompactResult } from '../vendor-adapter.js';
|
|
2
|
+
export declare class ClaudeCodeAdapter implements VendorAdapter {
|
|
3
|
+
readonly id = "claude-code";
|
|
4
|
+
readonly displayName = "Claude Code";
|
|
5
|
+
detect(): Promise<boolean>;
|
|
6
|
+
compact(args?: VendorCompactArgs): Promise<VendorCompactResult>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code vendor adapter — slice S2-a.
|
|
3
|
+
*
|
|
4
|
+
* Stubs the compact verb to `claude --compact` (the canonical vendor
|
|
5
|
+
* verb for Claude Code). The actual binary is invoked via spawn so
|
|
6
|
+
* the adapter does NOT block peaks-loop. When the `claude` binary is
|
|
7
|
+
* not on PATH the adapter returns exitCode=127 + stderr explaining
|
|
8
|
+
* the missing binary, which the runtime service surfaces as a warning
|
|
9
|
+
* + no-op rather than a fatal error (vendor-neutrality: peaks-loop
|
|
10
|
+
* should still work even when the host vendor CLI is absent).
|
|
11
|
+
*/
|
|
12
|
+
import { spawn } from 'node:child_process';
|
|
13
|
+
export class ClaudeCodeAdapter {
|
|
14
|
+
id = 'claude-code';
|
|
15
|
+
displayName = 'Claude Code';
|
|
16
|
+
async detect() {
|
|
17
|
+
return process.env.CLAUDE_CODE === '1'
|
|
18
|
+
|| process.env.CLAUDE_CODE === 'true'
|
|
19
|
+
|| (process.env.CLAUDE_CODE_ENTRYPOINT?.length ?? 0) > 0;
|
|
20
|
+
}
|
|
21
|
+
async compact(args = {}) {
|
|
22
|
+
const argv = ['--compact'];
|
|
23
|
+
if (args.force === true)
|
|
24
|
+
argv.push('--force');
|
|
25
|
+
return new Promise((resolveRun) => {
|
|
26
|
+
const proc = spawn('claude', argv, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
27
|
+
let stdout = '';
|
|
28
|
+
let stderr = '';
|
|
29
|
+
proc.stdout.on('data', (chunk) => { stdout += chunk.toString('utf8'); });
|
|
30
|
+
proc.stderr.on('data', (chunk) => { stderr += chunk.toString('utf8'); });
|
|
31
|
+
proc.on('error', (err) => {
|
|
32
|
+
resolveRun({ exitCode: 127, stdout, stderr: stderr + (stderr.length > 0 ? '\n' : '') + err.message });
|
|
33
|
+
});
|
|
34
|
+
proc.on('close', (code) => {
|
|
35
|
+
resolveRun({ exitCode: code ?? 0, stdout, stderr });
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VendorAdapter, VendorCompactArgs, VendorCompactResult } from '../vendor-adapter.js';
|
|
2
|
+
export declare class CodexAdapter implements VendorAdapter {
|
|
3
|
+
readonly id = "codex";
|
|
4
|
+
readonly displayName = "Codex";
|
|
5
|
+
detect(): Promise<boolean>;
|
|
6
|
+
compact(args?: VendorCompactArgs): Promise<VendorCompactResult>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex vendor adapter — slice S2-a.
|
|
3
|
+
*
|
|
4
|
+
* Stub adapter (PRD out-of-scope: full implementation lands in a
|
|
5
|
+
* future slice). The detect() heuristic is intentionally permissive:
|
|
6
|
+
* if CODEX_HOME or ~/.codex is present we report detected=true so
|
|
7
|
+
* `peaks runtime detect` exercises the codex branch. compact() uses
|
|
8
|
+
* the canonical `codex --compact` invocation; missing-binary is
|
|
9
|
+
* reported as exitCode=127, not a thrown error (the runtime service
|
|
10
|
+
* surfaces that as a warning + no-op so a missing vendor CLI does
|
|
11
|
+
* not break peaks-loop).
|
|
12
|
+
*/
|
|
13
|
+
import { spawn } from 'node:child_process';
|
|
14
|
+
import { existsSync } from 'node:fs';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
|
+
export class CodexAdapter {
|
|
17
|
+
id = 'codex';
|
|
18
|
+
displayName = 'Codex';
|
|
19
|
+
async detect() {
|
|
20
|
+
if (process.env.CODEX_HOME !== undefined && process.env.CODEX_HOME.length > 0)
|
|
21
|
+
return true;
|
|
22
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? '';
|
|
23
|
+
return home.length > 0 && existsSync(join(home, '.codex'));
|
|
24
|
+
}
|
|
25
|
+
async compact(args = {}) {
|
|
26
|
+
const argv = ['--compact'];
|
|
27
|
+
if (args.force === true)
|
|
28
|
+
argv.push('--force');
|
|
29
|
+
return new Promise((resolveRun) => {
|
|
30
|
+
const proc = spawn('codex', argv, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
31
|
+
let stdout = '';
|
|
32
|
+
let stderr = '';
|
|
33
|
+
proc.stdout.on('data', (chunk) => { stdout += chunk.toString('utf8'); });
|
|
34
|
+
proc.stderr.on('data', (chunk) => { stderr += chunk.toString('utf8'); });
|
|
35
|
+
proc.on('error', (err) => {
|
|
36
|
+
resolveRun({ exitCode: 127, stdout, stderr: stderr + (stderr.length > 0 ? '\n' : '') + err.message });
|
|
37
|
+
});
|
|
38
|
+
proc.on('close', (code) => {
|
|
39
|
+
resolveRun({ exitCode: code ?? 0, stdout, stderr });
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VendorAdapter, VendorCompactArgs, VendorCompactResult } from '../vendor-adapter.js';
|
|
2
|
+
export declare class CopilotAdapter implements VendorAdapter {
|
|
3
|
+
readonly id = "copilot";
|
|
4
|
+
readonly displayName = "GitHub Copilot";
|
|
5
|
+
detect(): Promise<boolean>;
|
|
6
|
+
compact(args?: VendorCompactArgs): Promise<VendorCompactResult>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copilot vendor adapter — slice S2-a.
|
|
3
|
+
*
|
|
4
|
+
* Stub adapter (PRD out-of-scope: full implementation lands in a
|
|
5
|
+
* future slice). Copilot's compact verb is `copilot compact`
|
|
6
|
+
* (subcommand form, not `--compact` flag — different from Claude
|
|
7
|
+
* Code + Codex). The adapter encapsulates that verb here so the
|
|
8
|
+
* runtime service + CLI never see it.
|
|
9
|
+
*/
|
|
10
|
+
import { spawn } from 'node:child_process';
|
|
11
|
+
import { existsSync } from 'node:fs';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
export class CopilotAdapter {
|
|
14
|
+
id = 'copilot';
|
|
15
|
+
displayName = 'GitHub Copilot';
|
|
16
|
+
async detect() {
|
|
17
|
+
if (process.env.GITHUB_COPILOT === '1' || process.env.GITHUB_COPILOT === 'true')
|
|
18
|
+
return true;
|
|
19
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? '';
|
|
20
|
+
return home.length > 0 && existsSync(join(home, '.copilot'));
|
|
21
|
+
}
|
|
22
|
+
async compact(args = {}) {
|
|
23
|
+
const argv = ['compact'];
|
|
24
|
+
if (args.force === true)
|
|
25
|
+
argv.push('--force');
|
|
26
|
+
return new Promise((resolveRun) => {
|
|
27
|
+
const proc = spawn('copilot', argv, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
28
|
+
let stdout = '';
|
|
29
|
+
let stderr = '';
|
|
30
|
+
proc.stdout.on('data', (chunk) => { stdout += chunk.toString('utf8'); });
|
|
31
|
+
proc.stderr.on('data', (chunk) => { stderr += chunk.toString('utf8'); });
|
|
32
|
+
proc.on('error', (err) => {
|
|
33
|
+
resolveRun({ exitCode: 127, stdout, stderr: stderr + (stderr.length > 0 ? '\n' : '') + err.message });
|
|
34
|
+
});
|
|
35
|
+
proc.on('close', (code) => {
|
|
36
|
+
resolveRun({ exitCode: code ?? 0, stdout, stderr });
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|