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,237 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type EvidenceBrief } from "./crystallization-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* EvidenceBriefBuilder — spec §4.7 / §10 RL-7.
|
|
5
|
+
*
|
|
6
|
+
* The brief is a 4-section natural-language projection that MUST
|
|
7
|
+
* accompany every user-facing recommendation. The shape guard is
|
|
8
|
+
* encoded in `EvidenceBriefSchema` (see crystallization-types.ts);
|
|
9
|
+
* this module is the LLM-side entry point that PRODUCES the brief
|
|
10
|
+
* from a finished trace + evaluator summary and the validator that
|
|
11
|
+
* REFUSES to render a recommendation payload without all 4 sections.
|
|
12
|
+
*
|
|
13
|
+
* Hard rules (mirrored from spec):
|
|
14
|
+
*
|
|
15
|
+
* 1. Every section must be a non-empty NL string (1-2 sentences
|
|
16
|
+
* for what_happened / why_it_matters / what_learned; 1
|
|
17
|
+
* sentence for what_action). An empty section is a hard
|
|
18
|
+
* `MISSING_BRIEF_SECTION` error.
|
|
19
|
+
*
|
|
20
|
+
* 2. The build path is lenient on raw prose and strict on the
|
|
21
|
+
* final shape — `buildEvidenceBrief` calls
|
|
22
|
+
* `EvidenceBriefSchema.parse(...)` so a partial brief throws
|
|
23
|
+
* before reaching the database.
|
|
24
|
+
*
|
|
25
|
+
* 3. `renderRecommendationPayload` refuses to return a
|
|
26
|
+
* recommendation envelope unless the brief passes the 4-section
|
|
27
|
+
* guard. This is the CLI's single source of truth for "may I
|
|
28
|
+
* show this to the user?".
|
|
29
|
+
*
|
|
30
|
+
* 4. The `evaluator_summary` is a separate field on the
|
|
31
|
+
* crystallization_event row (spec §4.5) and is NOT part of the
|
|
32
|
+
* brief. It feeds the broader recommendation envelope.
|
|
33
|
+
*
|
|
34
|
+
* Out of scope (deferred to later slices):
|
|
35
|
+
* - LLM-authored brief generation from live trace evidence (M8 dogfood).
|
|
36
|
+
* - brief rewrite-on-update semantics.
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* The minimum viable trace shape that the builder needs to render
|
|
40
|
+
* a brief. The trace is the EVIDENCE; the builder is format-stable
|
|
41
|
+
* so a future slice can swap in a richer trace source without
|
|
42
|
+
* editing every caller.
|
|
43
|
+
*/
|
|
44
|
+
export declare const BriefTraceInputSchema: z.ZodObject<{
|
|
45
|
+
trace_id: z.ZodString;
|
|
46
|
+
/**
|
|
47
|
+
* The full NL recap of the run. Required for what_happened.
|
|
48
|
+
* 1-2 sentences is the spec guidance; the builder does not
|
|
49
|
+
* truncate, but tests passing multi-paragraph input will be
|
|
50
|
+
* warned at the Zod boundary (max 4000 chars per section).
|
|
51
|
+
*/
|
|
52
|
+
what_happened: z.ZodString;
|
|
53
|
+
/**
|
|
54
|
+
* The "why this matters" recap. Required for why_it_matters.
|
|
55
|
+
*/
|
|
56
|
+
why_it_matters: z.ZodString;
|
|
57
|
+
/**
|
|
58
|
+
* Failure-mode and preference-extraction recap. Required for
|
|
59
|
+
* what_learned.
|
|
60
|
+
*/
|
|
61
|
+
what_learned: z.ZodString;
|
|
62
|
+
/**
|
|
63
|
+
* The recommended action. Required for what_action (1
|
|
64
|
+
* sentence per spec).
|
|
65
|
+
*/
|
|
66
|
+
what_action: z.ZodString;
|
|
67
|
+
/**
|
|
68
|
+
* Optional structured bullets (e.g. "4 phases, 3 gates passed,
|
|
69
|
+
* 1 evaluator verdict"). Counts are allowed at this layer; the
|
|
70
|
+
* brief section is the NL primary (RL-7).
|
|
71
|
+
*/
|
|
72
|
+
bullets: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
73
|
+
/**
|
|
74
|
+
* Source trace ids backing the brief (the column on
|
|
75
|
+
* crystallization_event spec §4.5).
|
|
76
|
+
*/
|
|
77
|
+
source_trace_pointers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
source_trace_pointers: string[];
|
|
80
|
+
what_happened: string;
|
|
81
|
+
why_it_matters: string;
|
|
82
|
+
what_learned: string;
|
|
83
|
+
what_action: string;
|
|
84
|
+
trace_id: string;
|
|
85
|
+
bullets: string[];
|
|
86
|
+
}, {
|
|
87
|
+
what_happened: string;
|
|
88
|
+
why_it_matters: string;
|
|
89
|
+
what_learned: string;
|
|
90
|
+
what_action: string;
|
|
91
|
+
trace_id: string;
|
|
92
|
+
source_trace_pointers?: string[] | undefined;
|
|
93
|
+
bullets?: string[] | undefined;
|
|
94
|
+
}>;
|
|
95
|
+
export type BriefTraceInput = z.input<typeof BriefTraceInputSchema>;
|
|
96
|
+
/**
|
|
97
|
+
* The summary emitted by the independent evaluators (spec §4.5
|
|
98
|
+
* `evaluator_summary` field). Optional for the brief builder — the
|
|
99
|
+
* brief can be built without it, but a filled evaluator_summary
|
|
100
|
+
* flows into the recommendation envelope.
|
|
101
|
+
*/
|
|
102
|
+
export declare const EvaluatorSummarySchema: z.ZodObject<{
|
|
103
|
+
one_liner: z.ZodDefault<z.ZodString>;
|
|
104
|
+
risk_tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
one_liner: string;
|
|
107
|
+
risk_tags: string[];
|
|
108
|
+
}, {
|
|
109
|
+
one_liner?: string | undefined;
|
|
110
|
+
risk_tags?: string[] | undefined;
|
|
111
|
+
}>;
|
|
112
|
+
export type EvaluatorSummary = z.input<typeof EvaluatorSummarySchema>;
|
|
113
|
+
export declare const RecommendationPayloadSchema: z.ZodObject<{
|
|
114
|
+
brief: z.ZodEffects<z.ZodObject<{
|
|
115
|
+
what_happened: z.ZodString;
|
|
116
|
+
why_it_matters: z.ZodString;
|
|
117
|
+
what_learned: z.ZodString;
|
|
118
|
+
what_action: z.ZodString;
|
|
119
|
+
}, "strict", z.ZodTypeAny, {
|
|
120
|
+
what_happened: string;
|
|
121
|
+
why_it_matters: string;
|
|
122
|
+
what_learned: string;
|
|
123
|
+
what_action: string;
|
|
124
|
+
}, {
|
|
125
|
+
what_happened: string;
|
|
126
|
+
why_it_matters: string;
|
|
127
|
+
what_learned: string;
|
|
128
|
+
what_action: string;
|
|
129
|
+
}>, {
|
|
130
|
+
what_happened: string;
|
|
131
|
+
why_it_matters: string;
|
|
132
|
+
what_learned: string;
|
|
133
|
+
what_action: string;
|
|
134
|
+
}, {
|
|
135
|
+
what_happened: string;
|
|
136
|
+
why_it_matters: string;
|
|
137
|
+
what_learned: string;
|
|
138
|
+
what_action: string;
|
|
139
|
+
}>;
|
|
140
|
+
bullets: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
141
|
+
source_trace_pointers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
142
|
+
evaluator_summary: z.ZodDefault<z.ZodObject<{
|
|
143
|
+
one_liner: z.ZodDefault<z.ZodString>;
|
|
144
|
+
risk_tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
145
|
+
}, "strip", z.ZodTypeAny, {
|
|
146
|
+
one_liner: string;
|
|
147
|
+
risk_tags: string[];
|
|
148
|
+
}, {
|
|
149
|
+
one_liner?: string | undefined;
|
|
150
|
+
risk_tags?: string[] | undefined;
|
|
151
|
+
}>>;
|
|
152
|
+
}, "strip", z.ZodTypeAny, {
|
|
153
|
+
source_trace_pointers: string[];
|
|
154
|
+
evaluator_summary: {
|
|
155
|
+
one_liner: string;
|
|
156
|
+
risk_tags: string[];
|
|
157
|
+
};
|
|
158
|
+
bullets: string[];
|
|
159
|
+
brief: {
|
|
160
|
+
what_happened: string;
|
|
161
|
+
why_it_matters: string;
|
|
162
|
+
what_learned: string;
|
|
163
|
+
what_action: string;
|
|
164
|
+
};
|
|
165
|
+
}, {
|
|
166
|
+
brief: {
|
|
167
|
+
what_happened: string;
|
|
168
|
+
why_it_matters: string;
|
|
169
|
+
what_learned: string;
|
|
170
|
+
what_action: string;
|
|
171
|
+
};
|
|
172
|
+
source_trace_pointers?: string[] | undefined;
|
|
173
|
+
evaluator_summary?: {
|
|
174
|
+
one_liner?: string | undefined;
|
|
175
|
+
risk_tags?: string[] | undefined;
|
|
176
|
+
} | undefined;
|
|
177
|
+
bullets?: string[] | undefined;
|
|
178
|
+
}>;
|
|
179
|
+
export type RecommendationPayload = z.infer<typeof RecommendationPayloadSchema>;
|
|
180
|
+
export declare class BriefSectionError extends Error {
|
|
181
|
+
readonly code: "MISSING_BRIEF_SECTION";
|
|
182
|
+
readonly findings: ReadonlyArray<{
|
|
183
|
+
path: string;
|
|
184
|
+
message: string;
|
|
185
|
+
}>;
|
|
186
|
+
constructor(message: string, findings?: ReadonlyArray<{
|
|
187
|
+
path: string;
|
|
188
|
+
message: string;
|
|
189
|
+
}>);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Build a 4-section EvidenceBrief from a finished trace recap.
|
|
193
|
+
*
|
|
194
|
+
* The function is STRICT: it parses the input trace through
|
|
195
|
+
* `BriefTraceInputSchema`, then parses the assembled brief through
|
|
196
|
+
* `EvidenceBriefSchema`. Any missing section throws
|
|
197
|
+
* `BriefSectionError(MISSING_BRIEF_SECTION)` — the same code that
|
|
198
|
+
* `safeParseEvidenceBrief` returns — so a single error code is the
|
|
199
|
+
* user-facing signal for "brief incomplete, do not render".
|
|
200
|
+
*
|
|
201
|
+
* Brief-section related ZodErrors (e.g. `min(1)` on a section) are
|
|
202
|
+
* translated to `BriefSectionError` so callers only handle one
|
|
203
|
+
* shape of failure. Non-section ZodErrors (e.g. invalid `trace_id`)
|
|
204
|
+
* are re-raised unchanged.
|
|
205
|
+
*
|
|
206
|
+
* NOTE: callers who already have raw NL strings can also call
|
|
207
|
+
* `parseEvidenceBrief` directly; this function is the opinionated
|
|
208
|
+
* shape for trace -> brief.
|
|
209
|
+
*/
|
|
210
|
+
export declare function buildEvidenceBrief(trace: BriefTraceInput, evaluatorSummary?: EvaluatorSummary): EvidenceBrief;
|
|
211
|
+
/**
|
|
212
|
+
* Render the user-facing recommendation envelope (brief + bullets +
|
|
213
|
+
* trace pointers + evaluator summary). The function refuses to
|
|
214
|
+
* return a payload unless ALL 4 brief sections are present — this
|
|
215
|
+
* is the single CLI-facing gate per spec §10 RL-7.
|
|
216
|
+
*
|
|
217
|
+
* On success, returns the validated `RecommendationPayload`. On a
|
|
218
|
+
* missing-section brief, throws `BriefSectionError`.
|
|
219
|
+
*/
|
|
220
|
+
export declare function renderRecommendationPayload(trace: BriefTraceInput, evaluatorSummary?: EvaluatorSummary): RecommendationPayload;
|
|
221
|
+
/**
|
|
222
|
+
* Convenience: validate an arbitrary unknown payload AS IF it were a
|
|
223
|
+
* recommendation envelope. Returns a Result-like shape so the CLI can
|
|
224
|
+
* render a structured MISSING_BRIEF_SECTION error without try/catch
|
|
225
|
+
* noise.
|
|
226
|
+
*/
|
|
227
|
+
export declare function safeRenderRecommendationPayload(input: unknown): {
|
|
228
|
+
ok: true;
|
|
229
|
+
payload: RecommendationPayload;
|
|
230
|
+
} | {
|
|
231
|
+
ok: false;
|
|
232
|
+
code?: "MISSING_BRIEF_SECTION";
|
|
233
|
+
findings: Array<{
|
|
234
|
+
path: string;
|
|
235
|
+
message: string;
|
|
236
|
+
}>;
|
|
237
|
+
};
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EvidenceBriefSchema, } from "./crystallization-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* EvidenceBriefBuilder — spec §4.7 / §10 RL-7.
|
|
5
|
+
*
|
|
6
|
+
* The brief is a 4-section natural-language projection that MUST
|
|
7
|
+
* accompany every user-facing recommendation. The shape guard is
|
|
8
|
+
* encoded in `EvidenceBriefSchema` (see crystallization-types.ts);
|
|
9
|
+
* this module is the LLM-side entry point that PRODUCES the brief
|
|
10
|
+
* from a finished trace + evaluator summary and the validator that
|
|
11
|
+
* REFUSES to render a recommendation payload without all 4 sections.
|
|
12
|
+
*
|
|
13
|
+
* Hard rules (mirrored from spec):
|
|
14
|
+
*
|
|
15
|
+
* 1. Every section must be a non-empty NL string (1-2 sentences
|
|
16
|
+
* for what_happened / why_it_matters / what_learned; 1
|
|
17
|
+
* sentence for what_action). An empty section is a hard
|
|
18
|
+
* `MISSING_BRIEF_SECTION` error.
|
|
19
|
+
*
|
|
20
|
+
* 2. The build path is lenient on raw prose and strict on the
|
|
21
|
+
* final shape — `buildEvidenceBrief` calls
|
|
22
|
+
* `EvidenceBriefSchema.parse(...)` so a partial brief throws
|
|
23
|
+
* before reaching the database.
|
|
24
|
+
*
|
|
25
|
+
* 3. `renderRecommendationPayload` refuses to return a
|
|
26
|
+
* recommendation envelope unless the brief passes the 4-section
|
|
27
|
+
* guard. This is the CLI's single source of truth for "may I
|
|
28
|
+
* show this to the user?".
|
|
29
|
+
*
|
|
30
|
+
* 4. The `evaluator_summary` is a separate field on the
|
|
31
|
+
* crystallization_event row (spec §4.5) and is NOT part of the
|
|
32
|
+
* brief. It feeds the broader recommendation envelope.
|
|
33
|
+
*
|
|
34
|
+
* Out of scope (deferred to later slices):
|
|
35
|
+
* - LLM-authored brief generation from live trace evidence (M8 dogfood).
|
|
36
|
+
* - brief rewrite-on-update semantics.
|
|
37
|
+
*/
|
|
38
|
+
/* ---------------------------------------------------------------------- */
|
|
39
|
+
/* Input shapes — the builder is the only place these normalize. */
|
|
40
|
+
/* ---------------------------------------------------------------------- */
|
|
41
|
+
/**
|
|
42
|
+
* The minimum viable trace shape that the builder needs to render
|
|
43
|
+
* a brief. The trace is the EVIDENCE; the builder is format-stable
|
|
44
|
+
* so a future slice can swap in a richer trace source without
|
|
45
|
+
* editing every caller.
|
|
46
|
+
*/
|
|
47
|
+
export const BriefTraceInputSchema = z.object({
|
|
48
|
+
trace_id: z.string().trim().min(1).max(256),
|
|
49
|
+
/**
|
|
50
|
+
* The full NL recap of the run. Required for what_happened.
|
|
51
|
+
* 1-2 sentences is the spec guidance; the builder does not
|
|
52
|
+
* truncate, but tests passing multi-paragraph input will be
|
|
53
|
+
* warned at the Zod boundary (max 4000 chars per section).
|
|
54
|
+
*/
|
|
55
|
+
what_happened: z.string().trim().min(1).max(4000),
|
|
56
|
+
/**
|
|
57
|
+
* The "why this matters" recap. Required for why_it_matters.
|
|
58
|
+
*/
|
|
59
|
+
why_it_matters: z.string().trim().min(1).max(4000),
|
|
60
|
+
/**
|
|
61
|
+
* Failure-mode and preference-extraction recap. Required for
|
|
62
|
+
* what_learned.
|
|
63
|
+
*/
|
|
64
|
+
what_learned: z.string().trim().min(1).max(4000),
|
|
65
|
+
/**
|
|
66
|
+
* The recommended action. Required for what_action (1
|
|
67
|
+
* sentence per spec).
|
|
68
|
+
*/
|
|
69
|
+
what_action: z.string().trim().min(1).max(4000),
|
|
70
|
+
/**
|
|
71
|
+
* Optional structured bullets (e.g. "4 phases, 3 gates passed,
|
|
72
|
+
* 1 evaluator verdict"). Counts are allowed at this layer; the
|
|
73
|
+
* brief section is the NL primary (RL-7).
|
|
74
|
+
*/
|
|
75
|
+
bullets: z.array(z.string().trim().min(1).max(1000)).default([]),
|
|
76
|
+
/**
|
|
77
|
+
* Source trace ids backing the brief (the column on
|
|
78
|
+
* crystallization_event spec §4.5).
|
|
79
|
+
*/
|
|
80
|
+
source_trace_pointers: z
|
|
81
|
+
.array(z.string().trim().min(1).max(256))
|
|
82
|
+
.default([]),
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* The summary emitted by the independent evaluators (spec §4.5
|
|
86
|
+
* `evaluator_summary` field). Optional for the brief builder — the
|
|
87
|
+
* brief can be built without it, but a filled evaluator_summary
|
|
88
|
+
* flows into the recommendation envelope.
|
|
89
|
+
*/
|
|
90
|
+
export const EvaluatorSummarySchema = z.object({
|
|
91
|
+
one_liner: z.string().trim().max(1000).default(""),
|
|
92
|
+
risk_tags: z.array(z.string().trim().min(1).max(200)).default([]),
|
|
93
|
+
});
|
|
94
|
+
/* ---------------------------------------------------------------------- */
|
|
95
|
+
/* Recommendation envelope — the CLI renders this. */
|
|
96
|
+
/* ---------------------------------------------------------------------- */
|
|
97
|
+
export const RecommendationPayloadSchema = z.object({
|
|
98
|
+
brief: EvidenceBriefSchema,
|
|
99
|
+
bullets: z.array(z.string().trim().min(1).max(1000)).default([]),
|
|
100
|
+
source_trace_pointers: z
|
|
101
|
+
.array(z.string().trim().min(1).max(256))
|
|
102
|
+
.default([]),
|
|
103
|
+
evaluator_summary: EvaluatorSummarySchema.default({
|
|
104
|
+
one_liner: "",
|
|
105
|
+
risk_tags: [],
|
|
106
|
+
}),
|
|
107
|
+
});
|
|
108
|
+
/* ---------------------------------------------------------------------- */
|
|
109
|
+
/* Errors */
|
|
110
|
+
/* ---------------------------------------------------------------------- */
|
|
111
|
+
export class BriefSectionError extends Error {
|
|
112
|
+
code = "MISSING_BRIEF_SECTION";
|
|
113
|
+
findings;
|
|
114
|
+
constructor(message, findings = []) {
|
|
115
|
+
super(message);
|
|
116
|
+
this.name = "BriefSectionError";
|
|
117
|
+
this.findings = findings;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/* ---------------------------------------------------------------------- */
|
|
121
|
+
/* Builder */
|
|
122
|
+
/* ---------------------------------------------------------------------- */
|
|
123
|
+
/**
|
|
124
|
+
* Build a 4-section EvidenceBrief from a finished trace recap.
|
|
125
|
+
*
|
|
126
|
+
* The function is STRICT: it parses the input trace through
|
|
127
|
+
* `BriefTraceInputSchema`, then parses the assembled brief through
|
|
128
|
+
* `EvidenceBriefSchema`. Any missing section throws
|
|
129
|
+
* `BriefSectionError(MISSING_BRIEF_SECTION)` — the same code that
|
|
130
|
+
* `safeParseEvidenceBrief` returns — so a single error code is the
|
|
131
|
+
* user-facing signal for "brief incomplete, do not render".
|
|
132
|
+
*
|
|
133
|
+
* Brief-section related ZodErrors (e.g. `min(1)` on a section) are
|
|
134
|
+
* translated to `BriefSectionError` so callers only handle one
|
|
135
|
+
* shape of failure. Non-section ZodErrors (e.g. invalid `trace_id`)
|
|
136
|
+
* are re-raised unchanged.
|
|
137
|
+
*
|
|
138
|
+
* NOTE: callers who already have raw NL strings can also call
|
|
139
|
+
* `parseEvidenceBrief` directly; this function is the opinionated
|
|
140
|
+
* shape for trace -> brief.
|
|
141
|
+
*/
|
|
142
|
+
export function buildEvidenceBrief(trace, evaluatorSummary) {
|
|
143
|
+
let parsedTrace;
|
|
144
|
+
try {
|
|
145
|
+
parsedTrace = BriefTraceInputSchema.parse(trace);
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
throw translateBriefZodError(err);
|
|
149
|
+
}
|
|
150
|
+
// Assemble the 4 sections verbatim from the trace recap. The Zod
|
|
151
|
+
// parser below re-asserts the 4-section guard.
|
|
152
|
+
const candidate = {
|
|
153
|
+
what_happened: parsedTrace.what_happened,
|
|
154
|
+
why_it_matters: parsedTrace.why_it_matters,
|
|
155
|
+
what_learned: parsedTrace.what_learned,
|
|
156
|
+
what_action: parsedTrace.what_action,
|
|
157
|
+
};
|
|
158
|
+
const result = EvidenceBriefSchema.safeParse(candidate);
|
|
159
|
+
if (!result.success) {
|
|
160
|
+
const findings = result.error.issues.map((i) => ({
|
|
161
|
+
path: i.path.join("."),
|
|
162
|
+
message: i.message,
|
|
163
|
+
}));
|
|
164
|
+
throw new BriefSectionError("evidence_brief must contain all 4 sections (what_happened, why_it_matters, what_learned, what_action) with non-empty content (spec §4.7 / RL-7)", findings);
|
|
165
|
+
}
|
|
166
|
+
// Silence the unused-var lint on evaluatorSummary at this layer —
|
|
167
|
+
// the builder currently does not consume it (the brief is NL
|
|
168
|
+
// primary), but the surface is preserved for callers via
|
|
169
|
+
// `renderRecommendationPayload` below.
|
|
170
|
+
void evaluatorSummary;
|
|
171
|
+
return result.data;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Translate a ZodError raised on a brief-section path into a
|
|
175
|
+
* `BriefSectionError`. Non-brief errors are re-raised.
|
|
176
|
+
*/
|
|
177
|
+
function translateBriefZodError(err) {
|
|
178
|
+
if (err instanceof z.ZodError) {
|
|
179
|
+
const issues = err.issues;
|
|
180
|
+
const allBrief = issues.every((i) => BRIEF_SECTION_KEYS.has(i.path.join(".")));
|
|
181
|
+
if (allBrief) {
|
|
182
|
+
const findings = issues.map((i) => ({
|
|
183
|
+
path: i.path.join("."),
|
|
184
|
+
message: i.message,
|
|
185
|
+
}));
|
|
186
|
+
throw new BriefSectionError("evidence_brief must contain all 4 sections (what_happened, why_it_matters, what_learned, what_action) with non-empty content (spec §4.7 / RL-7)", findings);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
throw err;
|
|
190
|
+
}
|
|
191
|
+
const BRIEF_SECTION_KEYS = new Set([
|
|
192
|
+
"what_happened",
|
|
193
|
+
"why_it_matters",
|
|
194
|
+
"what_learned",
|
|
195
|
+
"what_action",
|
|
196
|
+
]);
|
|
197
|
+
/**
|
|
198
|
+
* Render the user-facing recommendation envelope (brief + bullets +
|
|
199
|
+
* trace pointers + evaluator summary). The function refuses to
|
|
200
|
+
* return a payload unless ALL 4 brief sections are present — this
|
|
201
|
+
* is the single CLI-facing gate per spec §10 RL-7.
|
|
202
|
+
*
|
|
203
|
+
* On success, returns the validated `RecommendationPayload`. On a
|
|
204
|
+
* missing-section brief, throws `BriefSectionError`.
|
|
205
|
+
*/
|
|
206
|
+
export function renderRecommendationPayload(trace, evaluatorSummary = { one_liner: "", risk_tags: [] }) {
|
|
207
|
+
const brief = buildEvidenceBrief(trace, evaluatorSummary);
|
|
208
|
+
const payload = RecommendationPayloadSchema.parse({
|
|
209
|
+
brief,
|
|
210
|
+
bullets: trace.bullets ?? [],
|
|
211
|
+
source_trace_pointers: trace.source_trace_pointers ?? [],
|
|
212
|
+
evaluator_summary: evaluatorSummary,
|
|
213
|
+
});
|
|
214
|
+
return payload;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Convenience: validate an arbitrary unknown payload AS IF it were a
|
|
218
|
+
* recommendation envelope. Returns a Result-like shape so the CLI can
|
|
219
|
+
* render a structured MISSING_BRIEF_SECTION error without try/catch
|
|
220
|
+
* noise.
|
|
221
|
+
*/
|
|
222
|
+
export function safeRenderRecommendationPayload(input) {
|
|
223
|
+
const r = RecommendationPayloadSchema.safeParse(input);
|
|
224
|
+
if (r.success)
|
|
225
|
+
return { ok: true, payload: r.data };
|
|
226
|
+
const findings = r.error.issues.map((i) => ({
|
|
227
|
+
path: i.path.join("."),
|
|
228
|
+
message: i.message,
|
|
229
|
+
}));
|
|
230
|
+
// Map brief failures to MISSING_BRIEF_SECTION. A failure is
|
|
231
|
+
// recognized as brief iff (a) every issue points at the brief or
|
|
232
|
+
// its sections, OR (b) the explicit refine message is present.
|
|
233
|
+
const isBrief = r.error.issues.every((i) => i.message.includes("evidence_brief must contain all 4 sections") ||
|
|
234
|
+
BRIEF_SECTION_KEYS.has(i.path.join(".")) ||
|
|
235
|
+
i.path[0] === "brief" ||
|
|
236
|
+
(i.path.length >= 2 && i.path[0] === "brief"));
|
|
237
|
+
return isBrief
|
|
238
|
+
? { ok: false, code: "MISSING_BRIEF_SECTION", findings }
|
|
239
|
+
: { ok: false, findings };
|
|
240
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice complexity tier (v2.15.0 follow-up, G2 in 12 Gaps).
|
|
3
|
+
* Used by Code to schedule complex slices during user-attended hours
|
|
4
|
+
* and trivial / simple slices overnight.
|
|
5
|
+
*/
|
|
6
|
+
export type SliceComplexity = 'trivial' | 'simple' | 'complex';
|
|
7
|
+
export declare const SLICE_COMPLEXITIES: readonly SliceComplexity[];
|
|
8
|
+
export declare function isSliceComplexity(value: string): value is SliceComplexity;
|
|
9
|
+
export interface SliceNode {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly role: string;
|
|
12
|
+
/** Human-readable label, optional. */
|
|
13
|
+
readonly label?: string;
|
|
14
|
+
/** Optional prompt override; dispatch falls back to a default placeholder. */
|
|
15
|
+
readonly prompt?: string;
|
|
16
|
+
/**
|
|
17
|
+
* v2.15.0 follow-up — G12: foundation slice. Foundation slices run before
|
|
18
|
+
* business slices in the layered DAG. Business slices do NOT wait for
|
|
19
|
+
* ALL foundation slices — they wait only for the foundation subset
|
|
20
|
+
* they declare as `dependsOn`. Optional; default false.
|
|
21
|
+
*/
|
|
22
|
+
readonly foundation?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* v2.15.0 follow-up — G11: upstream sync slice. Marks a slice that
|
|
25
|
+
* syncs an upstream fork (e.g. hermes) to a new tag. UpstreamSync
|
|
26
|
+
* slices take priority within their topological level. Optional.
|
|
27
|
+
*/
|
|
28
|
+
readonly upstreamSync?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* v2.15.0 follow-up — G2: complexity tier. Drives Code's scheduling
|
|
31
|
+
* (complex = user-attended, simple/trivial = overnight). Optional.
|
|
32
|
+
*/
|
|
33
|
+
readonly complexity?: SliceComplexity;
|
|
34
|
+
}
|
|
35
|
+
export interface DependsOn {
|
|
36
|
+
readonly from: string;
|
|
37
|
+
readonly to: string;
|
|
38
|
+
}
|
|
39
|
+
export interface SliceDag {
|
|
40
|
+
readonly nodes: readonly SliceNode[];
|
|
41
|
+
readonly edges: readonly DependsOn[];
|
|
42
|
+
}
|
|
43
|
+
/** Thrown by `validateDag` when the graph violates one of the constraints. */
|
|
44
|
+
export declare class InvalidSliceDagError extends Error {
|
|
45
|
+
readonly path?: readonly string[] | undefined;
|
|
46
|
+
readonly code: "INVALID_SLICE_DAG";
|
|
47
|
+
constructor(message: string, path?: readonly string[] | undefined);
|
|
48
|
+
}
|
|
49
|
+
/** Thrown by `topologicalLevels` when the graph has a cycle (defensive). */
|
|
50
|
+
export declare class SliceDagCycleError extends Error {
|
|
51
|
+
readonly cyclePath: readonly string[];
|
|
52
|
+
readonly code: "SLICE_DAG_CYCLE";
|
|
53
|
+
constructor(cyclePath: readonly string[]);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Validate a SliceDag. Throws `InvalidSliceDagError` on the first violation.
|
|
57
|
+
* Pure. Cheap. No I/O.
|
|
58
|
+
*/
|
|
59
|
+
export declare function validateDag(dag: SliceDag): void;
|
|
60
|
+
/**
|
|
61
|
+
* Compute topological levels. Each level is an array of node IDs that can
|
|
62
|
+
* run in parallel. Throws `SliceDagCycleError` on cycle (defensive;
|
|
63
|
+
* `validateDag` should have caught it).
|
|
64
|
+
*
|
|
65
|
+
* Algorithm: Kahn's algorithm. O(V + E).
|
|
66
|
+
*/
|
|
67
|
+
export declare function topologicalLevels(dag: SliceDag): readonly (readonly string[])[];
|
|
68
|
+
/**
|
|
69
|
+
* Return the next set of node IDs that are ready to run given the set of
|
|
70
|
+
* completed node IDs. A node is ready when all of its `from` predecessors
|
|
71
|
+
* are in `completed`.
|
|
72
|
+
*/
|
|
73
|
+
export declare function sliceReadyToRun(dag: SliceDag, completed: ReadonlySet<string>): readonly string[];
|
|
74
|
+
/**
|
|
75
|
+
* Serialize the DAG into a deterministic JSON string. Node IDs are sorted;
|
|
76
|
+
* edges are sorted by `(from, to)`. The result is suitable for SHA-256
|
|
77
|
+
* hashing and for byte-stable diffs.
|
|
78
|
+
*/
|
|
79
|
+
export declare function serializeDag(dag: SliceDag): string;
|
|
80
|
+
/** SHA-256 hash of the serialized DAG. Stable across runs. */
|
|
81
|
+
export declare function hashDag(dag: SliceDag): string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice 2026-06-24-test-tool-detection-injection.
|
|
3
|
+
*
|
|
4
|
+
* The Test Tool Detection block is prepended to every sub-agent prompt
|
|
5
|
+
* dispatched by peaks-loop (both the single-dispatch chokepoint in
|
|
6
|
+
* `src/cli/commands/dispatch-commands.ts` and the DAG-dispatch chokepoint
|
|
7
|
+
* in `src/services/code/dag-orchestrator.ts`). It tells the sub-agent
|
|
8
|
+
* to read `package.json#scripts.test` first and use the project-local
|
|
9
|
+
* runner — never `npx <runner>` — so it cannot bypass the lockfile or
|
|
10
|
+
* spawn a network-bound tool call.
|
|
11
|
+
*
|
|
12
|
+
* Why a static constant (not a per-call detector):
|
|
13
|
+
* 1. Predictable byte budget — the block is part of PROMPT_LIMIT_BYTES
|
|
14
|
+
* accounting (see dispatch-commands.ts line 113), and the size must
|
|
15
|
+
* be stable across calls.
|
|
16
|
+
* 2. I/O-free — dispatch is a hot path; reading package.json here would
|
|
17
|
+
* add a filesystem hit per dispatch and run before the LLM has any
|
|
18
|
+
* context to act on the result.
|
|
19
|
+
* 3. LLM does runtime lookup — the block itself instructs the sub-agent
|
|
20
|
+
* to introspect `package.json#scripts.test` (or `peaks test --json`)
|
|
21
|
+
* at run time, so the LLM gets the resolved framework + argv with
|
|
22
|
+
* its full context. The dispatch CLI just primes the instruction.
|
|
23
|
+
*
|
|
24
|
+
* Why every sub-agent gets the block (Karpathy #2 Simplicity First):
|
|
25
|
+
* the rule is machine-injected, not a prompt ritual. The LLM cannot
|
|
26
|
+
* "remove the redundancy" of a test-tool-detection instruction because
|
|
27
|
+
* the dispatch CLI always prepends it. This is a guarantee, not a
|
|
28
|
+
* suggestion.
|
|
29
|
+
*/
|
|
30
|
+
export declare const TEST_TOOL_DETECTION_BLOCK = "## Test Tool Detection (mandatory)\n\nBefore running any test, read `package.json#scripts.test` to identify the project's test framework. Use the project-local runner \u2014 do NOT invoke `npx <runner>`:\n\n- **vitest** \u2192 `./node_modules/.bin/vitest run <file>` (or `pnpm test -- <file>`)\n- **jest** \u2192 `./node_modules/.bin/jest <file>` (or `pnpm test -- <file>`)\n- **mocha** \u2192 `./node_modules/.bin/mocha <file>` (or `pnpm test -- <file>`)\n\nIf unsure which framework the consumer project uses, run `peaks test --json` first to introspect the resolved framework + argv. Only as a last resort, ask the user before assuming a runner. The CLI command `peaks test <file>` already resolves the local binary for you (Windows-aware).";
|
|
31
|
+
/**
|
|
32
|
+
* Pure helper that returns the block. Exists as a function (not just an
|
|
33
|
+
* exported constant) so future variants can take a runtime parameter
|
|
34
|
+
* (e.g. projectRoot for context) without churning every call site.
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatTestToolDetection(): string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice 2026-06-24-test-tool-detection-injection.
|
|
3
|
+
*
|
|
4
|
+
* The Test Tool Detection block is prepended to every sub-agent prompt
|
|
5
|
+
* dispatched by peaks-loop (both the single-dispatch chokepoint in
|
|
6
|
+
* `src/cli/commands/dispatch-commands.ts` and the DAG-dispatch chokepoint
|
|
7
|
+
* in `src/services/code/dag-orchestrator.ts`). It tells the sub-agent
|
|
8
|
+
* to read `package.json#scripts.test` first and use the project-local
|
|
9
|
+
* runner — never `npx <runner>` — so it cannot bypass the lockfile or
|
|
10
|
+
* spawn a network-bound tool call.
|
|
11
|
+
*
|
|
12
|
+
* Why a static constant (not a per-call detector):
|
|
13
|
+
* 1. Predictable byte budget — the block is part of PROMPT_LIMIT_BYTES
|
|
14
|
+
* accounting (see dispatch-commands.ts line 113), and the size must
|
|
15
|
+
* be stable across calls.
|
|
16
|
+
* 2. I/O-free — dispatch is a hot path; reading package.json here would
|
|
17
|
+
* add a filesystem hit per dispatch and run before the LLM has any
|
|
18
|
+
* context to act on the result.
|
|
19
|
+
* 3. LLM does runtime lookup — the block itself instructs the sub-agent
|
|
20
|
+
* to introspect `package.json#scripts.test` (or `peaks test --json`)
|
|
21
|
+
* at run time, so the LLM gets the resolved framework + argv with
|
|
22
|
+
* its full context. The dispatch CLI just primes the instruction.
|
|
23
|
+
*
|
|
24
|
+
* Why every sub-agent gets the block (Karpathy #2 Simplicity First):
|
|
25
|
+
* the rule is machine-injected, not a prompt ritual. The LLM cannot
|
|
26
|
+
* "remove the redundancy" of a test-tool-detection instruction because
|
|
27
|
+
* the dispatch CLI always prepends it. This is a guarantee, not a
|
|
28
|
+
* suggestion.
|
|
29
|
+
*/
|
|
30
|
+
export const TEST_TOOL_DETECTION_BLOCK = `## Test Tool Detection (mandatory)
|
|
31
|
+
|
|
32
|
+
Before running any test, read \`package.json#scripts.test\` to identify the project's test framework. Use the project-local runner — do NOT invoke \`npx <runner>\`:
|
|
33
|
+
|
|
34
|
+
- **vitest** → \`./node_modules/.bin/vitest run <file>\` (or \`pnpm test -- <file>\`)
|
|
35
|
+
- **jest** → \`./node_modules/.bin/jest <file>\` (or \`pnpm test -- <file>\`)
|
|
36
|
+
- **mocha** → \`./node_modules/.bin/mocha <file>\` (or \`pnpm test -- <file>\`)
|
|
37
|
+
|
|
38
|
+
If unsure which framework the consumer project uses, run \`peaks test --json\` first to introspect the resolved framework + argv. Only as a last resort, ask the user before assuming a runner. The CLI command \`peaks test <file>\` already resolves the local binary for you (Windows-aware).`;
|
|
39
|
+
/**
|
|
40
|
+
* Pure helper that returns the block. Exists as a function (not just an
|
|
41
|
+
* exported constant) so future variants can take a runtime parameter
|
|
42
|
+
* (e.g. projectRoot for context) without churning every call site.
|
|
43
|
+
*/
|
|
44
|
+
export function formatTestToolDetection() {
|
|
45
|
+
return TEST_TOOL_DETECTION_BLOCK;
|
|
46
|
+
}
|