sdd-agent-platform 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/README.md +18 -23
  2. package/node_modules/@sdd-agent-platform/core/dist/ai-tools.js +31 -28
  3. package/node_modules/@sdd-agent-platform/core/dist/ai-tools.js.map +1 -1
  4. package/node_modules/@sdd-agent-platform/core/dist/config/init-project.js +3 -2
  5. package/node_modules/@sdd-agent-platform/core/dist/config/init-project.js.map +1 -1
  6. package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.d.ts +1 -1
  7. package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.js +14 -5
  8. package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.js.map +1 -1
  9. package/node_modules/@sdd-agent-platform/core/dist/contracts.d.ts +2 -0
  10. package/node_modules/@sdd-agent-platform/core/dist/contracts.js +2 -0
  11. package/node_modules/@sdd-agent-platform/core/dist/contracts.js.map +1 -1
  12. package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-evidence.js +3 -3
  13. package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-evidence.js.map +1 -1
  14. package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.js +155 -1
  15. package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.js.map +1 -1
  16. package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.d.ts +23 -0
  17. package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.js +54 -0
  18. package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.js.map +1 -0
  19. package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/contracts.d.ts +11 -0
  20. package/node_modules/@sdd-agent-platform/core/dist/execution/agent-execution-records.js +15 -8
  21. package/node_modules/@sdd-agent-platform/core/dist/execution/agent-execution-records.js.map +1 -1
  22. package/node_modules/@sdd-agent-platform/core/dist/execution/resident-worker.js +14 -6
  23. package/node_modules/@sdd-agent-platform/core/dist/execution/resident-worker.js.map +1 -1
  24. package/node_modules/@sdd-agent-platform/core/dist/execution/stage-team-runtime.d.ts +112 -0
  25. package/node_modules/@sdd-agent-platform/core/dist/execution/stage-team-runtime.js +145 -0
  26. package/node_modules/@sdd-agent-platform/core/dist/execution/stage-team-runtime.js.map +1 -0
  27. package/node_modules/@sdd-agent-platform/core/dist/instructions.js +36 -36
  28. package/node_modules/@sdd-agent-platform/core/dist/instructions.js.map +1 -1
  29. package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.d.ts +2 -0
  30. package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.js +37 -17
  31. package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.js.map +1 -1
  32. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-capability-catalog.d.ts +16 -1
  33. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-capability-catalog.js +174 -16
  34. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-capability-catalog.js.map +1 -1
  35. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.js +2 -2
  36. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.js.map +1 -1
  37. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-runtime-static.d.ts +10 -0
  38. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-runtime-static.js +31 -1
  39. package/node_modules/@sdd-agent-platform/core/dist/registries/agent-runtime-static.js.map +1 -1
  40. package/node_modules/@sdd-agent-platform/core/dist/registries/capability-sources.d.ts +2 -17
  41. package/node_modules/@sdd-agent-platform/core/dist/registries/capability-sources.js +222 -10
  42. package/node_modules/@sdd-agent-platform/core/dist/registries/capability-sources.js.map +1 -1
  43. package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.js +5 -5
  44. package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.js.map +1 -1
  45. package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.js +27 -12
  46. package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.js.map +1 -1
  47. package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime.d.ts +59 -1
  48. package/node_modules/@sdd-agent-platform/core/dist/router/route-projection.d.ts +3 -1
  49. package/node_modules/@sdd-agent-platform/core/dist/router/route-projection.js +191 -0
  50. package/node_modules/@sdd-agent-platform/core/dist/router/route-projection.js.map +1 -1
  51. package/node_modules/@sdd-agent-platform/core/dist/router/routing.js +32 -6
  52. package/node_modules/@sdd-agent-platform/core/dist/router/routing.js.map +1 -1
  53. package/node_modules/@sdd-agent-platform/core/dist/router/runtime-inspection.js +11 -4
  54. package/node_modules/@sdd-agent-platform/core/dist/router/runtime-inspection.js.map +1 -1
  55. package/node_modules/@sdd-agent-platform/core/dist/router/runtime-validation.js +31 -3
  56. package/node_modules/@sdd-agent-platform/core/dist/router/runtime-validation.js.map +1 -1
  57. package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.js +48 -15
  58. package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.js.map +1 -1
  59. package/node_modules/@sdd-agent-platform/core/dist/run-state/events.js +2 -2
  60. package/node_modules/@sdd-agent-platform/core/dist/run-state/events.js.map +1 -1
  61. package/node_modules/@sdd-agent-platform/core/dist/run-state/inspect-run.d.ts +3 -1
  62. package/node_modules/@sdd-agent-platform/core/dist/run-state/inspect-run.js +15 -49
  63. package/node_modules/@sdd-agent-platform/core/dist/run-state/inspect-run.js.map +1 -1
  64. package/node_modules/@sdd-agent-platform/core/dist/run-state/invocation-ledger.js +2 -2
  65. package/node_modules/@sdd-agent-platform/core/dist/run-state/invocation-ledger.js.map +1 -1
  66. package/node_modules/@sdd-agent-platform/core/dist/run-state/model.d.ts +25 -1
  67. package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.js +21 -14
  68. package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.js.map +1 -1
  69. package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.d.ts +62 -0
  70. package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.js +130 -0
  71. package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.js.map +1 -0
  72. package/node_modules/@sdd-agent-platform/core/dist/run-state.d.ts +1 -0
  73. package/node_modules/@sdd-agent-platform/core/dist/run-state.js +1 -0
  74. package/node_modules/@sdd-agent-platform/core/dist/run-state.js.map +1 -1
  75. package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.d.ts +10 -0
  76. package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.js +44 -14
  77. package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.js.map +1 -1
  78. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/context.js +1 -1
  79. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/context.js.map +1 -1
  80. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/document-hashes.d.ts +4 -0
  81. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/document-hashes.js +189 -0
  82. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/document-hashes.js.map +1 -0
  83. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/run-binding.js +12 -3
  84. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/run-binding.js.map +1 -1
  85. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.d.ts +20 -0
  86. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.js +101 -21
  87. package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.js.map +1 -1
  88. package/node_modules/@sdd-agent-platform/core/dist/status/project-status.d.ts +62 -1
  89. package/node_modules/@sdd-agent-platform/core/dist/status/project-status.js +192 -4
  90. package/node_modules/@sdd-agent-platform/core/dist/status/project-status.js.map +1 -1
  91. package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.d.ts +195 -2
  92. package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.js +499 -2
  93. package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.js.map +1 -1
  94. package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.js +23 -1
  95. package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.js.map +1 -1
  96. package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.d.ts +19 -0
  97. package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.js +114 -12
  98. package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.js.map +1 -1
  99. package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.js +21 -0
  100. package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.js.map +1 -1
  101. package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.js +16 -2
  102. package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.js.map +1 -1
  103. package/node_modules/@sdd-agent-platform/core/dist/tsconfig.tsbuildinfo +1 -1
  104. package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.js +34 -2
  105. package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.js.map +1 -1
  106. package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.js +15 -5
  107. package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.js.map +1 -1
  108. package/node_modules/@sdd-agent-platform/core/dist/verification/review-gate.d.ts +22 -0
  109. package/node_modules/@sdd-agent-platform/core/dist/verification/review-gate.js +53 -0
  110. package/node_modules/@sdd-agent-platform/core/dist/verification/review-gate.js.map +1 -0
  111. package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.js +102 -9
  112. package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.js.map +1 -1
  113. package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.d.ts +16 -1
  114. package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.js +355 -69
  115. package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.js.map +1 -1
  116. package/node_modules/@sdd-agent-platform/core/dist/verification/validation-wave.d.ts +58 -0
  117. package/node_modules/@sdd-agent-platform/core/dist/verification/validation-wave.js +428 -0
  118. package/node_modules/@sdd-agent-platform/core/dist/verification/validation-wave.js.map +1 -0
  119. package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.d.ts +2 -0
  120. package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.js +116 -18
  121. package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.js.map +1 -1
  122. package/node_modules/@sdd-agent-platform/core/dist/verification.d.ts +2 -0
  123. package/node_modules/@sdd-agent-platform/core/dist/verification.js +2 -0
  124. package/node_modules/@sdd-agent-platform/core/dist/verification.js.map +1 -1
  125. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.d.ts +24 -0
  126. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.js +182 -0
  127. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.js.map +1 -0
  128. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.d.ts +4 -0
  129. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.js +130 -0
  130. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.js.map +1 -0
  131. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.d.ts +4 -0
  132. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.js +146 -0
  133. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.js.map +1 -0
  134. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.d.ts +89 -0
  135. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.js +2 -0
  136. package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.js.map +1 -0
  137. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/affected-file-conflicts.d.ts +1 -0
  138. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/affected-file-conflicts.js +16 -1
  139. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/affected-file-conflicts.js.map +1 -1
  140. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/dependencies.d.ts +8 -4
  141. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/dependencies.js +25 -11
  142. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/dependencies.js.map +1 -1
  143. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.d.ts +38 -0
  144. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.js +122 -0
  145. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.js.map +1 -0
  146. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.d.ts +27 -0
  147. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.js +166 -37
  148. package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.js.map +1 -1
  149. package/node_modules/@sdd-agent-platform/core/dist/workflow-state.d.ts +1 -0
  150. package/node_modules/@sdd-agent-platform/core/dist/workflow-state.js +1 -0
  151. package/node_modules/@sdd-agent-platform/core/dist/workflow-state.js.map +1 -1
  152. package/node_modules/@sdd-agent-platform/core/package.json +1 -1
  153. package/node_modules/@sdd-agent-platform/core/src/ai-tools.ts +31 -28
  154. package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-result.test.ts +50 -4
  155. package/node_modules/@sdd-agent-platform/core/src/config/init-project.test.ts +13 -10
  156. package/node_modules/@sdd-agent-platform/core/src/config/init-project.ts +3 -2
  157. package/node_modules/@sdd-agent-platform/core/src/config/starter-documents.ts +15 -5
  158. package/node_modules/@sdd-agent-platform/core/src/contracts.ts +2 -0
  159. package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-evidence.ts +3 -3
  160. package/node_modules/@sdd-agent-platform/core/src/doctor/doctor.test.ts +117 -5
  161. package/node_modules/@sdd-agent-platform/core/src/doctor/doctor.ts +164 -1
  162. package/node_modules/@sdd-agent-platform/core/src/evidence/lookup.ts +80 -0
  163. package/node_modules/@sdd-agent-platform/core/src/evidence-runtime/contracts.ts +12 -0
  164. package/node_modules/@sdd-agent-platform/core/src/execution/agent-execution-records.ts +16 -11
  165. package/node_modules/@sdd-agent-platform/core/src/execution/background-executor.test.ts +7 -0
  166. package/node_modules/@sdd-agent-platform/core/src/execution/resident-worker.test.ts +5 -0
  167. package/node_modules/@sdd-agent-platform/core/src/execution/resident-worker.ts +14 -6
  168. package/node_modules/@sdd-agent-platform/core/src/execution/stage-team-runtime.test.ts +102 -0
  169. package/node_modules/@sdd-agent-platform/core/src/execution/stage-team-runtime.ts +271 -0
  170. package/node_modules/@sdd-agent-platform/core/src/execution/wave-executor.test.ts +4 -0
  171. package/node_modules/@sdd-agent-platform/core/src/governance/policy.test.ts +2 -0
  172. package/node_modules/@sdd-agent-platform/core/src/instructions.test.ts +11 -5
  173. package/node_modules/@sdd-agent-platform/core/src/instructions.ts +36 -36
  174. package/node_modules/@sdd-agent-platform/core/src/lifecycle/ship.ts +39 -17
  175. package/node_modules/@sdd-agent-platform/core/src/phase8-contracts.test.ts +3 -2
  176. package/node_modules/@sdd-agent-platform/core/src/phase8-risk-kernel.test.ts +5 -0
  177. package/node_modules/@sdd-agent-platform/core/src/planning/task-graph.test.ts +2 -0
  178. package/node_modules/@sdd-agent-platform/core/src/planning/wave-plan.test.ts +3 -0
  179. package/node_modules/@sdd-agent-platform/core/src/registries/agent-capability-catalog.ts +269 -17
  180. package/node_modules/@sdd-agent-platform/core/src/registries/agent-registry.ts +2 -2
  181. package/node_modules/@sdd-agent-platform/core/src/registries/agent-runtime-static.ts +41 -1
  182. package/node_modules/@sdd-agent-platform/core/src/registries/capability-sources.ts +238 -15
  183. package/node_modules/@sdd-agent-platform/core/src/registries/registries.test.ts +27 -2
  184. package/node_modules/@sdd-agent-platform/core/src/registries/workflow-gates.ts +5 -5
  185. package/node_modules/@sdd-agent-platform/core/src/router/agent-runtime-config.ts +31 -12
  186. package/node_modules/@sdd-agent-platform/core/src/router/agent-runtime.ts +66 -1
  187. package/node_modules/@sdd-agent-platform/core/src/router/route-projection.ts +211 -0
  188. package/node_modules/@sdd-agent-platform/core/src/router/route-sdd-task.test.ts +151 -3
  189. package/node_modules/@sdd-agent-platform/core/src/router/routing.ts +35 -6
  190. package/node_modules/@sdd-agent-platform/core/src/router/runtime-inspection.ts +11 -4
  191. package/node_modules/@sdd-agent-platform/core/src/router/runtime-validation.ts +32 -3
  192. package/node_modules/@sdd-agent-platform/core/src/run-state/artifacts.ts +48 -15
  193. package/node_modules/@sdd-agent-platform/core/src/run-state/events.ts +2 -2
  194. package/node_modules/@sdd-agent-platform/core/src/run-state/inspect-run.ts +17 -52
  195. package/node_modules/@sdd-agent-platform/core/src/run-state/invocation-ledger.ts +2 -2
  196. package/node_modules/@sdd-agent-platform/core/src/run-state/model.ts +28 -1
  197. package/node_modules/@sdd-agent-platform/core/src/run-state/run-state.test.ts +3 -0
  198. package/node_modules/@sdd-agent-platform/core/src/run-state/run-state.ts +22 -18
  199. package/node_modules/@sdd-agent-platform/core/src/run-state/task-evidence.ts +206 -0
  200. package/node_modules/@sdd-agent-platform/core/src/run-state.ts +1 -0
  201. package/node_modules/@sdd-agent-platform/core/src/runtime-paths.ts +54 -14
  202. package/node_modules/@sdd-agent-platform/core/src/sdd-docs/context.ts +1 -1
  203. package/node_modules/@sdd-agent-platform/core/src/sdd-docs/document-hashes.ts +207 -0
  204. package/node_modules/@sdd-agent-platform/core/src/sdd-docs/run-binding.ts +12 -3
  205. package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-parser.test.ts +139 -0
  206. package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-parser.ts +137 -24
  207. package/node_modules/@sdd-agent-platform/core/src/status/project-status.ts +268 -5
  208. package/node_modules/@sdd-agent-platform/core/src/storage/runtime-store.test.ts +368 -4
  209. package/node_modules/@sdd-agent-platform/core/src/storage/runtime-store.ts +697 -2
  210. package/node_modules/@sdd-agent-platform/core/src/sync-back/apply.ts +23 -1
  211. package/node_modules/@sdd-agent-platform/core/src/sync-back/inspect.ts +145 -12
  212. package/node_modules/@sdd-agent-platform/core/src/sync-back/sync-back.test.ts +132 -9
  213. package/node_modules/@sdd-agent-platform/core/src/test-support/fixtures.ts +21 -0
  214. package/node_modules/@sdd-agent-platform/core/src/test-support/run-state.ts +16 -2
  215. package/node_modules/@sdd-agent-platform/core/src/verification/goal-verify.test.ts +1 -1
  216. package/node_modules/@sdd-agent-platform/core/src/verification/goal-verify.ts +38 -5
  217. package/node_modules/@sdd-agent-platform/core/src/verification/rendering.ts +15 -5
  218. package/node_modules/@sdd-agent-platform/core/src/verification/review-gate.test.ts +77 -0
  219. package/node_modules/@sdd-agent-platform/core/src/verification/review-gate.ts +77 -0
  220. package/node_modules/@sdd-agent-platform/core/src/verification/single-task-loop.test.ts +64 -4
  221. package/node_modules/@sdd-agent-platform/core/src/verification/single-task-loop.ts +110 -12
  222. package/node_modules/@sdd-agent-platform/core/src/verification/test-runtime.test.ts +72 -25
  223. package/node_modules/@sdd-agent-platform/core/src/verification/test-runtime.ts +402 -77
  224. package/node_modules/@sdd-agent-platform/core/src/verification/validation-wave.test.ts +341 -0
  225. package/node_modules/@sdd-agent-platform/core/src/verification/validation-wave.ts +513 -0
  226. package/node_modules/@sdd-agent-platform/core/src/verification/verify-contract.test.ts +144 -5
  227. package/node_modules/@sdd-agent-platform/core/src/verification/verify-contract.ts +129 -18
  228. package/node_modules/@sdd-agent-platform/core/src/verification.ts +2 -0
  229. package/node_modules/@sdd-agent-platform/core/src/workflow-gate/evidence-packet.ts +196 -0
  230. package/node_modules/@sdd-agent-platform/core/src/workflow-gate/hard-checks.test.ts +171 -0
  231. package/node_modules/@sdd-agent-platform/core/src/workflow-gate/hard-checks.ts +143 -0
  232. package/node_modules/@sdd-agent-platform/core/src/workflow-gate/policy.test.ts +137 -0
  233. package/node_modules/@sdd-agent-platform/core/src/workflow-gate/policy.ts +155 -0
  234. package/node_modules/@sdd-agent-platform/core/src/workflow-gate/types.ts +114 -0
  235. package/node_modules/@sdd-agent-platform/core/src/workflow-state/affected-file-conflicts.ts +18 -1
  236. package/node_modules/@sdd-agent-platform/core/src/workflow-state/dependencies.test.ts +1 -1
  237. package/node_modules/@sdd-agent-platform/core/src/workflow-state/dependencies.ts +33 -11
  238. package/node_modules/@sdd-agent-platform/core/src/workflow-state/latest-eligible-run.ts +156 -0
  239. package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve.test.ts +351 -2
  240. package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve.ts +227 -39
  241. package/node_modules/@sdd-agent-platform/core/src/workflow-state.ts +1 -0
  242. package/package.json +1 -1
  243. package/packages/cli/dist/commands/status.js +2 -2
  244. package/packages/cli/dist/commands/status.js.map +1 -1
  245. package/packages/cli/dist/commands/sync-back.js +1 -1
  246. package/packages/cli/dist/commands/sync-back.js.map +1 -1
  247. package/packages/cli/dist/commands/tasks.js +4 -4
  248. package/packages/cli/dist/commands/tasks.js.map +1 -1
  249. package/packages/cli/dist/commands/test.js +94 -5
  250. package/packages/cli/dist/commands/test.js.map +1 -1
  251. package/packages/cli/dist/commands/verifies.js +5 -3
  252. package/packages/cli/dist/commands/verifies.js.map +1 -1
  253. package/packages/cli/dist/commands/verify.js +48 -7
  254. package/packages/cli/dist/commands/verify.js.map +1 -1
  255. package/packages/cli/dist/help.js +32 -18
  256. package/packages/cli/dist/help.js.map +1 -1
  257. package/packages/cli/dist/renderers/artifacts.js +1 -1
  258. package/packages/cli/dist/renderers/artifacts.js.map +1 -1
  259. package/packages/cli/dist/renderers/registry-runtime.js +7 -2
  260. package/packages/cli/dist/renderers/registry-runtime.js.map +1 -1
  261. package/packages/cli/dist/renderers/router.js +4 -2
  262. package/packages/cli/dist/renderers/router.js.map +1 -1
  263. package/packages/cli/dist/renderers/workflow.js +33 -12
  264. package/packages/cli/dist/renderers/workflow.js.map +1 -1
  265. package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
  266. package/packages/cli/package.json +2 -2
  267. package/packages/core/dist/ai-tools.js +31 -28
  268. package/packages/core/dist/ai-tools.js.map +1 -1
  269. package/packages/core/dist/config/init-project.js +3 -2
  270. package/packages/core/dist/config/init-project.js.map +1 -1
  271. package/packages/core/dist/config/starter-documents.d.ts +1 -1
  272. package/packages/core/dist/config/starter-documents.js +14 -5
  273. package/packages/core/dist/config/starter-documents.js.map +1 -1
  274. package/packages/core/dist/contracts.d.ts +2 -0
  275. package/packages/core/dist/contracts.js +2 -0
  276. package/packages/core/dist/contracts.js.map +1 -1
  277. package/packages/core/dist/doctor/checks/run-evidence.js +3 -3
  278. package/packages/core/dist/doctor/checks/run-evidence.js.map +1 -1
  279. package/packages/core/dist/doctor/doctor.js +155 -1
  280. package/packages/core/dist/doctor/doctor.js.map +1 -1
  281. package/packages/core/dist/evidence/lookup.d.ts +23 -0
  282. package/packages/core/dist/evidence/lookup.js +54 -0
  283. package/packages/core/dist/evidence/lookup.js.map +1 -0
  284. package/packages/core/dist/evidence-runtime/contracts.d.ts +11 -0
  285. package/packages/core/dist/execution/agent-execution-records.js +15 -8
  286. package/packages/core/dist/execution/agent-execution-records.js.map +1 -1
  287. package/packages/core/dist/execution/resident-worker.js +14 -6
  288. package/packages/core/dist/execution/resident-worker.js.map +1 -1
  289. package/packages/core/dist/execution/stage-team-runtime.d.ts +112 -0
  290. package/packages/core/dist/execution/stage-team-runtime.js +145 -0
  291. package/packages/core/dist/execution/stage-team-runtime.js.map +1 -0
  292. package/packages/core/dist/instructions.js +36 -36
  293. package/packages/core/dist/instructions.js.map +1 -1
  294. package/packages/core/dist/lifecycle/ship.d.ts +2 -0
  295. package/packages/core/dist/lifecycle/ship.js +37 -17
  296. package/packages/core/dist/lifecycle/ship.js.map +1 -1
  297. package/packages/core/dist/registries/agent-capability-catalog.d.ts +16 -1
  298. package/packages/core/dist/registries/agent-capability-catalog.js +174 -16
  299. package/packages/core/dist/registries/agent-capability-catalog.js.map +1 -1
  300. package/packages/core/dist/registries/agent-registry.js +2 -2
  301. package/packages/core/dist/registries/agent-registry.js.map +1 -1
  302. package/packages/core/dist/registries/agent-runtime-static.d.ts +10 -0
  303. package/packages/core/dist/registries/agent-runtime-static.js +31 -1
  304. package/packages/core/dist/registries/agent-runtime-static.js.map +1 -1
  305. package/packages/core/dist/registries/capability-sources.d.ts +2 -17
  306. package/packages/core/dist/registries/capability-sources.js +222 -10
  307. package/packages/core/dist/registries/capability-sources.js.map +1 -1
  308. package/packages/core/dist/registries/workflow-gates.js +5 -5
  309. package/packages/core/dist/registries/workflow-gates.js.map +1 -1
  310. package/packages/core/dist/router/agent-runtime-config.js +27 -12
  311. package/packages/core/dist/router/agent-runtime-config.js.map +1 -1
  312. package/packages/core/dist/router/agent-runtime.d.ts +59 -1
  313. package/packages/core/dist/router/route-projection.d.ts +3 -1
  314. package/packages/core/dist/router/route-projection.js +191 -0
  315. package/packages/core/dist/router/route-projection.js.map +1 -1
  316. package/packages/core/dist/router/routing.js +32 -6
  317. package/packages/core/dist/router/routing.js.map +1 -1
  318. package/packages/core/dist/router/runtime-inspection.js +11 -4
  319. package/packages/core/dist/router/runtime-inspection.js.map +1 -1
  320. package/packages/core/dist/router/runtime-validation.js +31 -3
  321. package/packages/core/dist/router/runtime-validation.js.map +1 -1
  322. package/packages/core/dist/run-state/artifacts.js +48 -15
  323. package/packages/core/dist/run-state/artifacts.js.map +1 -1
  324. package/packages/core/dist/run-state/events.js +2 -2
  325. package/packages/core/dist/run-state/events.js.map +1 -1
  326. package/packages/core/dist/run-state/inspect-run.d.ts +3 -1
  327. package/packages/core/dist/run-state/inspect-run.js +15 -49
  328. package/packages/core/dist/run-state/inspect-run.js.map +1 -1
  329. package/packages/core/dist/run-state/invocation-ledger.js +2 -2
  330. package/packages/core/dist/run-state/invocation-ledger.js.map +1 -1
  331. package/packages/core/dist/run-state/model.d.ts +25 -1
  332. package/packages/core/dist/run-state/run-state.js +21 -14
  333. package/packages/core/dist/run-state/run-state.js.map +1 -1
  334. package/packages/core/dist/run-state/task-evidence.d.ts +62 -0
  335. package/packages/core/dist/run-state/task-evidence.js +130 -0
  336. package/packages/core/dist/run-state/task-evidence.js.map +1 -0
  337. package/packages/core/dist/run-state.d.ts +1 -0
  338. package/packages/core/dist/run-state.js +1 -0
  339. package/packages/core/dist/run-state.js.map +1 -1
  340. package/packages/core/dist/runtime-paths.d.ts +10 -0
  341. package/packages/core/dist/runtime-paths.js +44 -14
  342. package/packages/core/dist/runtime-paths.js.map +1 -1
  343. package/packages/core/dist/sdd-docs/context.js +1 -1
  344. package/packages/core/dist/sdd-docs/context.js.map +1 -1
  345. package/packages/core/dist/sdd-docs/document-hashes.d.ts +4 -0
  346. package/packages/core/dist/sdd-docs/document-hashes.js +189 -0
  347. package/packages/core/dist/sdd-docs/document-hashes.js.map +1 -0
  348. package/packages/core/dist/sdd-docs/run-binding.js +12 -3
  349. package/packages/core/dist/sdd-docs/run-binding.js.map +1 -1
  350. package/packages/core/dist/sdd-docs/task-parser.d.ts +20 -0
  351. package/packages/core/dist/sdd-docs/task-parser.js +101 -21
  352. package/packages/core/dist/sdd-docs/task-parser.js.map +1 -1
  353. package/packages/core/dist/status/project-status.d.ts +62 -1
  354. package/packages/core/dist/status/project-status.js +192 -4
  355. package/packages/core/dist/status/project-status.js.map +1 -1
  356. package/packages/core/dist/storage/runtime-store.d.ts +195 -2
  357. package/packages/core/dist/storage/runtime-store.js +499 -2
  358. package/packages/core/dist/storage/runtime-store.js.map +1 -1
  359. package/packages/core/dist/sync-back/apply.js +23 -1
  360. package/packages/core/dist/sync-back/apply.js.map +1 -1
  361. package/packages/core/dist/sync-back/inspect.d.ts +19 -0
  362. package/packages/core/dist/sync-back/inspect.js +114 -12
  363. package/packages/core/dist/sync-back/inspect.js.map +1 -1
  364. package/packages/core/dist/test-support/fixtures.js +21 -0
  365. package/packages/core/dist/test-support/fixtures.js.map +1 -1
  366. package/packages/core/dist/test-support/run-state.js +16 -2
  367. package/packages/core/dist/test-support/run-state.js.map +1 -1
  368. package/packages/core/dist/tsconfig.tsbuildinfo +1 -1
  369. package/packages/core/dist/verification/goal-verify.js +34 -2
  370. package/packages/core/dist/verification/goal-verify.js.map +1 -1
  371. package/packages/core/dist/verification/rendering.js +15 -5
  372. package/packages/core/dist/verification/rendering.js.map +1 -1
  373. package/packages/core/dist/verification/review-gate.d.ts +22 -0
  374. package/packages/core/dist/verification/review-gate.js +53 -0
  375. package/packages/core/dist/verification/review-gate.js.map +1 -0
  376. package/packages/core/dist/verification/single-task-loop.js +102 -9
  377. package/packages/core/dist/verification/single-task-loop.js.map +1 -1
  378. package/packages/core/dist/verification/test-runtime.d.ts +16 -1
  379. package/packages/core/dist/verification/test-runtime.js +355 -69
  380. package/packages/core/dist/verification/test-runtime.js.map +1 -1
  381. package/packages/core/dist/verification/validation-wave.d.ts +58 -0
  382. package/packages/core/dist/verification/validation-wave.js +428 -0
  383. package/packages/core/dist/verification/validation-wave.js.map +1 -0
  384. package/packages/core/dist/verification/verify-contract.d.ts +2 -0
  385. package/packages/core/dist/verification/verify-contract.js +116 -18
  386. package/packages/core/dist/verification/verify-contract.js.map +1 -1
  387. package/packages/core/dist/verification.d.ts +2 -0
  388. package/packages/core/dist/verification.js +2 -0
  389. package/packages/core/dist/verification.js.map +1 -1
  390. package/packages/core/dist/workflow-gate/evidence-packet.d.ts +24 -0
  391. package/packages/core/dist/workflow-gate/evidence-packet.js +182 -0
  392. package/packages/core/dist/workflow-gate/evidence-packet.js.map +1 -0
  393. package/packages/core/dist/workflow-gate/hard-checks.d.ts +4 -0
  394. package/packages/core/dist/workflow-gate/hard-checks.js +130 -0
  395. package/packages/core/dist/workflow-gate/hard-checks.js.map +1 -0
  396. package/packages/core/dist/workflow-gate/policy.d.ts +4 -0
  397. package/packages/core/dist/workflow-gate/policy.js +146 -0
  398. package/packages/core/dist/workflow-gate/policy.js.map +1 -0
  399. package/packages/core/dist/workflow-gate/types.d.ts +89 -0
  400. package/packages/core/dist/workflow-gate/types.js +2 -0
  401. package/packages/core/dist/workflow-gate/types.js.map +1 -0
  402. package/packages/core/dist/workflow-state/affected-file-conflicts.d.ts +1 -0
  403. package/packages/core/dist/workflow-state/affected-file-conflicts.js +16 -1
  404. package/packages/core/dist/workflow-state/affected-file-conflicts.js.map +1 -1
  405. package/packages/core/dist/workflow-state/dependencies.d.ts +8 -4
  406. package/packages/core/dist/workflow-state/dependencies.js +25 -11
  407. package/packages/core/dist/workflow-state/dependencies.js.map +1 -1
  408. package/packages/core/dist/workflow-state/latest-eligible-run.d.ts +38 -0
  409. package/packages/core/dist/workflow-state/latest-eligible-run.js +122 -0
  410. package/packages/core/dist/workflow-state/latest-eligible-run.js.map +1 -0
  411. package/packages/core/dist/workflow-state/resolve.d.ts +27 -0
  412. package/packages/core/dist/workflow-state/resolve.js +166 -37
  413. package/packages/core/dist/workflow-state/resolve.js.map +1 -1
  414. package/packages/core/dist/workflow-state.d.ts +1 -0
  415. package/packages/core/dist/workflow-state.js +1 -0
  416. package/packages/core/dist/workflow-state.js.map +1 -1
  417. package/packages/core/package.json +1 -1
@@ -9,7 +9,7 @@ export async function handleVerifiesCommand(projectRoot, command, subcommand, re
9
9
  if (!subcommand || subcommand === 'inspect') {
10
10
  const result = await inspectVerifyContract(projectRoot, readBranchContext(args));
11
11
  return {
12
- exitCode: result.status === 'BLOCKED' ? 1 : 0,
12
+ exitCode: 0,
13
13
  output: wantsJson(args) ? jsonOutput(result, args) : renderVerifyContractInspection(result)
14
14
  };
15
15
  }
@@ -38,6 +38,7 @@ function renderVerifyContractInspection(result) {
38
38
  const lines = [`SDD verify contract for ${result.branch}`, 'decision'];
39
39
  lines.push(`- status=${result.status}`);
40
40
  lines.push(`- exists=${result.exists} tasks=${result.taskCount}`);
41
+ lines.push(`- based_on_tasks_contract_hash=${result.basedOnTasksContractHash ?? 'none'} current_tasks_contract_hash=${result.currentTasksContractHash ?? 'none'}`);
41
42
  lines.push(`- based_on_tasks_hash=${result.basedOnTasksHash ?? 'none'} current_tasks_hash=${result.currentTasksHash ?? 'none'}`);
42
43
  lines.push('evidence');
43
44
  lines.push(`- verify_path=${result.verifyPath}`);
@@ -52,7 +53,7 @@ function renderVerifyContractInspection(result) {
52
53
  }
53
54
  }
54
55
  lines.push('next');
55
- lines.push(result.status === 'PASS' ? '- sdd test task <task_id> --branch <branch>' : `- sdd verifies write --branch ${result.branch}${result.exists ? ' --force' : ''}`);
56
+ lines.push(result.status === 'PASS' ? '- sdd test task|batch|wave --branch <branch>' : `- sdd verifies write --branch ${result.branch}${result.exists ? ' --force' : ''}`);
56
57
  return lines.join('\n');
57
58
  }
58
59
  function renderWriteVerifyContractResult(result) {
@@ -75,7 +76,8 @@ function verifyContractFormatText() {
75
76
  contract: sdd-verify-doc-v1
76
77
  version: 1.0.0
77
78
  branch: <branch>
78
- based_on_tasks_hash: <current tasks hash>
79
+ based_on_tasks_contract_hash: <current tasks contract hash>
80
+ based_on_tasks_hash: <current tasks doc hash>
79
81
  \`\`\`
80
82
 
81
83
  Include a task verification matrix and verification rules. Runtime evidence remains in runtime.sqlite and branch evidence artifacts.`;
@@ -1 +1 @@
1
- {"version":3,"file":"verifies.js","sourceRoot":"","sources":["../../src/commands/verifies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifies.js","sourceRoot":"","sources":["../../src/commands/verifies.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { runGoalVerify } from '@sdd-agent-platform/core/verification';
2
2
  import { renderGoalVerifyResult, renderSingleTaskLoopResult } from '@sdd-agent-platform/core/verification';
3
3
  import { runSingleTaskLoop } from '@sdd-agent-platform/core/verification';
4
- import { readBranchOption, readOptionalPositionalArgument, readTeamModeActivation } from '../args.js';
4
+ import { readBranchOption, readOptionalPositionalArgument, readResolvedBranch, readTeamModeActivation } from '../args.js';
5
5
  import { hasHelpFlag, hasPreflightFlag, readOption } from '../options.js';
6
6
  import { jsonOutput, wantsJson } from '../renderers/json.js';
7
+ import { inspectSddTask, parseSddBranch } from '@sdd-agent-platform/core/sdd-docs';
8
+ import { evaluateTaskWorkflowGate } from '@sdd-agent-platform/core/risk';
7
9
  export async function handleVerifyCommand(projectRoot, command, subcommand, rest) {
8
10
  if (command === 'do' && subcommand === 'task') {
9
11
  if (hasHelpFlag(rest)) {
@@ -20,9 +22,10 @@ export async function handleVerifyCommand(projectRoot, command, subcommand, rest
20
22
  };
21
23
  }
22
24
  if (hasPreflightFlag(rest)) {
25
+ const preflight = await doTaskPreflight(projectRoot, taskId, rest);
23
26
  return {
24
- exitCode: 0,
25
- output: commandPreflightOutput('do task', taskId, rest)
27
+ exitCode: preflight.status === 'PASS' ? 0 : 1,
28
+ output: wantsJson(rest) ? jsonOutput(preflight, rest) : commandPreflightOutput(preflight, rest)
26
29
  };
27
30
  }
28
31
  const result = await runSingleTaskLoop(projectRoot, {
@@ -84,10 +87,48 @@ function doTaskUsage() {
84
87
  function verifyTaskUsage() {
85
88
  return 'Usage: sdd verify task <task_id> [--run <run_id>] [--branch <branch>] [--preflight] [--review-artifact artifacts/path.md] [--validation-artifact artifacts/path.md] [--json]';
86
89
  }
87
- function commandPreflightOutput(commandName, taskId, args) {
88
- if (wantsJson(args)) {
89
- return jsonOutput({ contract: 'sdd-command-preflight-v1', command: commandName, taskId, sideEffects: 'none', status: 'PASS' }, args);
90
+ async function doTaskPreflight(projectRoot, taskId, args) {
91
+ const branch = await readResolvedBranch(projectRoot, args);
92
+ const model = await parseSddBranch(projectRoot, branch);
93
+ const inspected = inspectSddTask(model, taskId);
94
+ const blockers = [];
95
+ if (!inspected.task) {
96
+ blockers.push(`Task ${taskId} was not found.`);
97
+ }
98
+ if (inspected.task) {
99
+ blockers.push(...inspected.gaps.filter((gap) => gap.severity === 'blocking').map((gap) => `${gap.field}: ${gap.message}`));
100
+ blockers.push(...dependencyBlockingReasonsForTask(model, taskId));
101
+ const workflowGate = evaluateTaskWorkflowGate({ task: inspected.task, taskId, approved: args.includes('--approved') });
102
+ if (workflowGate.blocksRoute) {
103
+ blockers.push(workflowGate.primaryReason);
104
+ }
105
+ }
106
+ return { contract: 'sdd-command-preflight-v1', command: 'do task', taskId, sideEffects: 'none', status: blockers.length > 0 ? 'BLOCKED' : 'PASS', blockers };
107
+ }
108
+ function dependencyBlockingReasonsForTask(model, taskId) {
109
+ const task = model.tasks.find((candidate) => candidate.id === taskId) ?? null;
110
+ if (!task) {
111
+ return [`Task ${taskId} was not found.`];
112
+ }
113
+ return task.dependsOn.flatMap((dependencyId) => {
114
+ const dependency = model.tasks.find((candidate) => candidate.id === dependencyId) ?? null;
115
+ if (!dependency) {
116
+ return [`Task ${taskId} depends on ${dependencyId}, but ${dependencyId} was not found.`];
117
+ }
118
+ return dependency.status === 'completed' ? [] : [`Task ${taskId} depends on ${dependency.id}, but ${dependency.id} is not completed.`];
119
+ });
120
+ }
121
+ function commandPreflightOutput(preflight, taskIdOrArgs, maybeArgs) {
122
+ if (typeof preflight === 'string') {
123
+ const commandName = preflight;
124
+ const taskId = taskIdOrArgs;
125
+ const args = maybeArgs ?? [];
126
+ if (wantsJson(args)) {
127
+ return jsonOutput({ contract: 'sdd-command-preflight-v1', command: commandName, taskId, sideEffects: 'none', status: 'PASS' }, args);
128
+ }
129
+ return `SDD command preflight PASS\ncommand=${commandName}\ntask=${taskId}\nside_effects=none`;
90
130
  }
91
- return `SDD command preflight PASS\ncommand=${commandName}\ntask=${taskId}\nside_effects=none`;
131
+ const blockers = preflight.blockers.length > 0 ? `\nblockers=${preflight.blockers.length}\n${preflight.blockers.map((blocker) => `- ${blocker}`).join('\n')}` : '';
132
+ return `SDD command preflight ${preflight.status}\ncommand=${preflight.command}\ntask=${preflight.taskId}\nside_effects=${preflight.sideEffects}${blockers}`;
92
133
  }
93
134
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQ7D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,OAA2B,EAAE,UAA8B,EAAE,IAAc;IACxI,IAAI,OAAO,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,WAAW,EAAE;aACtB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,WAAW,EAAE;aACrB,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC;aACxD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE;YAClD,MAAM;YACN,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,SAAS;YAC7C,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,SAAS;YACxE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,SAAS;YAClE,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,SAAS;YAChE,kBAAkB,EAAE,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,SAAS;YAC1E,kBAAkB,EAAE,sBAAsB,CAAC,IAAI,CAAC;YAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;SACtC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC;SAC7E,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAClD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,eAAe,EAAE;aAC1B,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,eAAe,EAAE;aACzB,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC;aAC5D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;YAC9C,MAAM;YACN,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;YAC9B,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,SAAS;YAClE,kBAAkB,EAAE,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,SAAS;SAC3E,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,WAAW;IAClB,OAAO,4SAA4S,CAAC;AACtT,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,8KAA8K,CAAC;AACxL,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAc;IACjF,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,uCAAuC,WAAW,UAAU,MAAM,qBAAqB,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -14,15 +14,20 @@ Common workflow:
14
14
  sdd tasks inspect <task_id> [--branch <branch>] [--json|--compact-json]
15
15
  sdd tasks route <task_id> [--branch <branch>] [--approved] [--json|--compact-json]
16
16
  sdd do task <task_id> [--approved] [options]
17
- sdd verifies inspect|write [--branch <branch>] [--force] [--json|--compact-json]
18
17
  sdd test task <task_id> [--branch <branch>] [--run <run_id>] [--command <command>] [--timeout-ms <ms>] [--json|--compact-json]
19
- sdd sync-back inspect [<run_id>] [--task <task_id>] [--branch <branch>] [--json|--compact-json]
20
- sdd sync-back apply [<run_id>] [--task <task_id>] [--branch <branch>] [--approved] [--json|--compact-json]
18
+ sdd test wave [--branch <branch>] [--wave <n>] [--task <task_id>]... [--approved] [--json|--compact-json]
19
+ sdd test batch <batch_id> [--branch <branch>] [--approved] [--json|--compact-json]
21
20
  sdd subagents run <task_id> [--agent <agent>]... [--branch <branch>] [--run <run_id>] [--timeout-seconds <n>] [--approved] [--json|--compact-json]
22
21
  sdd ship [--branch <branch>] [--dry-run] [--json|--compact-json]
23
22
  sdd doctor [fast|deep] [--latest-only] [--all-runs] [--json|--compact-json]
24
23
  sdd doctor recover [--branch <branch>] [--json|--compact-json]
25
24
 
25
+ Diagnostic / recovery / compatibility:
26
+ sdd verifies write [--branch <branch>] [--force] [--json|--compact-json]
27
+ sdd verify task <task_id> [--branch <branch>] [--run <run_id>] [--json|--compact-json]
28
+ sdd sync-back inspect [<run_id>] [--task <task_id>] [--branch <branch>] [--json|--compact-json]
29
+ sdd sync-back apply [<run_id>] [--task <task_id>] [--branch <branch>] [--approved] [--json|--compact-json]
30
+
26
31
  Evidence helpers:
27
32
  sdd run create
28
33
  sdd run list [--json]
@@ -42,24 +47,28 @@ More help:
42
47
  sdd help advanced Show platform/agent/runtime commands.
43
48
 
44
49
  Notes:
45
- /sdd:spec owns workflow partition docs after project init.
46
- init --branch is legacy starter-doc scaffolding; prefer sdd status --branch or /sdd:spec --branch for workflow partitions.
50
+ sdd init is project-level setup; workflow partition docs are created/refined by the spec/plan/tasks stages.
51
+ init --branch is legacy starter-doc scaffolding; prefer sdd status --branch and the current recommended next command for workflow partitions.
47
52
  `;
48
53
  }
49
54
  export function workflowHelpText() {
50
55
  return `sdd workflow help
51
56
 
52
57
  Core path:
53
- 1. sdd status [--branch <branch>]
54
- 2. sdd tasks inspect <task_id> [--branch <branch>]
55
- 3. sdd tasks route <task_id> [--branch <branch>] [--approved]
56
- 4. sdd artifact template artifacts/<agent>-<task_id>.md --task <task_id> --agent <agent> --run <run_id> --write
57
- 5. sdd verifies inspect --branch <branch>
58
- 6. sdd do task <task_id> --run <run_id> --approved --implement-artifact <path> --review-artifact <path> --validation-artifact <path>
59
- 7. sdd test task <task_id> [--branch <branch>]
60
- 8. sdd sync-back inspect --task <task_id> [--branch <branch>]
61
- 9. sdd sync-back apply --task <task_id> [--branch <branch>]
62
- 10. sdd ship --branch <branch> [--dry-run]
58
+ 1. sdd spec --branch <branch>
59
+ 2. sdd plan --branch <branch>
60
+ 3. sdd tasks --branch <branch> # owns tasks.md and verify.md contract authoring
61
+ 4. sdd do task <task_id> [--branch <branch>] # sequential implementation evidence
62
+ 5. sdd test task <task_id> [--branch <branch>] # strict/task_end or explicit override
63
+ 6. sdd test batch <batch_id> [--branch <branch>] # batch_end accumulated tasks
64
+ 7. sdd test wave [--branch <branch>] [--wave <n>] # wave_end or verify-selected wave
65
+ 8. decision card if workflow policy requires human review
66
+ 9. sdd ship --branch <branch> [--dry-run]
67
+
68
+ Diagnostic/recovery only:
69
+ sdd verifies write --branch <branch> [--force]
70
+ sdd verify task <task_id> [--branch <branch>] [--run <run_id>]
71
+ sdd sync-back inspect|apply [<run_id>] --task <task_id> [--branch <branch>]
63
72
 
64
73
  JSON:
65
74
  --json prints readable JSON; --compact-json prints one-line JSON for logs and scripts.
@@ -105,7 +114,7 @@ Foreground subagents:
105
114
  Runs synchronously and collects non-authoritative evidence artifacts only; it does not approve, sync-back, or ship.
106
115
 
107
116
  Legacy init partition option:
108
- sdd init --branch <branch> creates starter docs for that branch, but normal workflow partitioning belongs to /sdd:spec and sdd status --branch.
117
+ sdd init --branch <branch> creates starter docs for that branch, but normal workflow partitioning belongs to sdd status --branch plus the spec/plan/tasks stages.
109
118
  `;
110
119
  }
111
120
  export function taskFormatText() {
@@ -122,6 +131,11 @@ plan_refs:
122
131
  - "§4 Target Design Overview"
123
132
  affected_files:
124
133
  - path/to/file
134
+ change_surface: frontend_only | backend_only | full_stack | docs_only | config_only | unknown
135
+ implementation_wave: wave-1
136
+ validation_batch: validation-batch-1
137
+ validation_timing: task_end | batch_end | wave_end
138
+ requires_verify_before_next: true | false
125
139
  validation:
126
140
  - command string
127
141
  risk:
@@ -145,7 +159,7 @@ required_artifacts:
145
159
  - artifacts/validation-T1.md
146
160
  \`\`\`
147
161
 
148
- Put contract metadata inside the fenced block: acceptance_refs, plan_refs, agent_fit, verification_availability, autonomy, allowed_agents, and required_artifacts. Companion sections such as #### Boundary, #### Acceptance, and #### Implementation Notes must stay outside the fenced sdd-task metadata block.
162
+ Put contract metadata inside the fenced block: acceptance_refs, plan_refs, affected_files, change_surface, implementation_wave, validation_batch, validation_timing, requires_verify_before_next, agent_fit, verification_availability, autonomy, allowed_agents, and required_artifacts. Companion sections such as #### Boundary, #### Acceptance, and #### Implementation Notes must stay outside the fenced sdd-task metadata block. Frontend-only tasks must not declare Maven/Gradle backend build validation; batch_end and wave_end validation require validation_batch.
149
163
 
150
164
  #### Boundary
151
165
 
@@ -157,7 +171,7 @@ Allowed implementation scope. Explicitly list forbidden scope when relevant.
157
171
 
158
172
  #### Implementation Notes
159
173
 
160
- Reserved for approved sync-back notes and artifact links.
174
+ Reserved for explicit diagnostic/recovery sync-back notes and artifact links.
161
175
  `;
162
176
  }
163
177
  //# sourceMappingURL=help.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;CAgBR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;CAoBR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDR,CAAC;AACF,CAAC"}
@@ -36,7 +36,7 @@ export function renderArtifactValidationReport(artifactPath, report, expectedTas
36
36
  lines.push(` recommendation: ${issue.recommendation}`);
37
37
  }
38
38
  if (expectedTask && expectedAgent) {
39
- lines.push(`next sdd artifact template ${artifactPath} --task ${expectedTask} --agent ${expectedAgent}`);
39
+ lines.push(`next sdd artifact template ${artifactPath} --task ${expectedTask} --agent ${expectedAgent} --run <run_id> --write`);
40
40
  }
41
41
  return lines.join('\n');
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/renderers/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/renderers/artifacts.ts"],"names":[],"mappings":"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"}
@@ -154,7 +154,7 @@ export function renderCapabilitySourceList(sources, registrySources) {
154
154
  lines.push(`registry_origins=${renderRegistryOriginCounts(registrySources)}`);
155
155
  for (const source of sources) {
156
156
  const registrySource = registrySources?.find((candidate) => candidate.kind === 'capability_source' && candidate.id === source.id);
157
- lines.push(`- ${source.id} kind=${source.kind} reuse=${source.reuseDecision} quarantine=${source.quarantineRequired} origin=${registrySource?.origin ?? 'unknown'}`);
157
+ lines.push(`- ${source.id} kind=${source.kind} reuse=${source.reuseDecision} quarantine=${source.quarantineStatus} evidence=${source.allowedEvidenceTypes.join(',') || 'none'} origin=${registrySource?.origin ?? 'unknown'}`);
158
158
  }
159
159
  return lines.join('\n');
160
160
  }
@@ -162,8 +162,13 @@ export function renderCapabilitySourceInspect(source) {
162
162
  const lines = [`Capability source ${source.id}`];
163
163
  lines.push(`version=${source.version}`);
164
164
  lines.push(`name=${source.name}`);
165
- lines.push(`kind=${source.kind} reuse=${source.reuseDecision} quarantine=${source.quarantineRequired}`);
165
+ lines.push(`kind=${source.kind} reuse=${source.reuseDecision} quarantine=${source.quarantineStatus} quarantine_required=${source.quarantineRequired}`);
166
166
  lines.push(`source_ref=${source.sourceRef}`);
167
+ lines.push(`host_compatibility=${source.hostCompatibility.join(',') || 'none'}`);
168
+ lines.push(`allowed_evidence=${source.allowedEvidenceTypes.join(',') || 'none'}`);
169
+ lines.push(`permission_model=${source.permissionModel.join('; ') || 'none'}`);
170
+ lines.push(`provenance=${source.provenanceRequirements.join('; ') || 'none'}`);
171
+ lines.push(`forbidden_authority=${source.forbiddenAuthority.join('; ') || 'none'}`);
167
172
  lines.push(`allowed_use=${source.allowedUse}`);
168
173
  lines.push(`attribution=${source.attribution}`);
169
174
  lines.push(`rationale=${source.rationale}`);
@@ -1 +1 @@
1
- {"version":3,"file":"registry-runtime.js","sourceRoot":"","sources":["../../src/renderers/registry-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,UAAU,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,KAAK,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,YAAY,CAAC,MAAM,mBAAmB,OAAO,CAAC,aAAa,CAAC,MAAM,qBAAqB,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5J,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,EAAE,WAAW,UAAU,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,SAAS,cAAc,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3M,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,UAAU,WAAW,IAAI,CAAC,aAAa,WAAW,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,aAAa,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,aAAa,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,oBAAoB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/L,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,UAA4C;IACjG,MAAM,KAAK,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,mBAAmB,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,qBAAqB,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7L,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,UAAwC;IACzF,MAAM,KAAK,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,eAAe,CAAC,MAAM,UAAU,UAAU,CAAC,KAAK,CAAC,MAAM,uBAAuB,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/J,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,aAAa,OAAO,CAAC,OAAO,aAAa,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,oBAAoB,OAAO,CAAC,cAAc,cAAc,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9P,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,gBAAgB,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7J,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,YAAY,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,UAAwC;IACzF,MAAM,KAAK,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,UAAU,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,uBAAuB,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,QAAoC;IACnF,MAAM,KAAK,GAAG,CAAC,yBAAyB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,UAA2C;IAC/F,MAAM,KAAK,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,QAAQ,CAAC,MAAM,uBAAuB,UAAU,CAAC,iBAAiB,CAAC,MAAM,uBAAuB,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IACzK,KAAK,CAAC,IAAI,CAAC,oBAAoB,0BAA0B,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvG,KAAK,CAAC,IAAI,CAAC,wBAAwB,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpH,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAChH,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,KAAK,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,EAAE,WAAW,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,EAAE,UAAU,UAAU,CAAC,aAAa,aAAa,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAuC;IAC3F,MAAM,KAAK,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,oBAAoB,0BAA0B,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAChG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,YAAuC,EAAE,eAA8C;IAC/H,MAAM,KAAK,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,oBAAoB,0BAA0B,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC9E,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,kBAAkB,IAAI,SAAS,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7H,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,EAAE,WAAW,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,UAAU,CAAC,aAAa,aAAa,UAAU,CAAC,YAAY,WAAW,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IAC/L,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAmC;IAC9E,MAAM,KAAK,GAAG,CAAC,oBAAoB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,WAAW,UAAU,CAAC,MAAM,eAAe,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;IACrG,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAuC,EAAE,eAA8C;IAChI,MAAM,KAAK,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,oBAAoB,0BAA0B,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC9E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,eAAe,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,mBAAmB,IAAI,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAClI,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,SAAS,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,aAAa,eAAe,MAAM,CAAC,kBAAkB,WAAW,cAAc,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IACvK,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAoC;IAChF,MAAM,KAAK,GAAG,CAAC,qBAAqB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,aAAa,eAAe,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACxG,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,UAA6C;IACnG,MAAM,KAAK,GAAG,CAAC,wBAAwB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,MAAM,iBAAiB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,MAAM,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACjJ,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,YAAY,YAAY,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,gBAAgB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACjI,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"registry-runtime.js","sourceRoot":"","sources":["../../src/renderers/registry-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export function renderAgentRouterDecision(decision) {
2
+ const domainSummary = decision.capabilityDecision.selectedDomains.map((item) => item.domain).join(',') || 'none';
3
+ const packSummary = decision.capabilityDecision.selectedPacks.map((item) => item.id).join(',') || 'none';
2
4
  return [
3
5
  `SDD route ${decision.taskId}`,
4
6
  '',
@@ -6,7 +8,7 @@ export function renderAgentRouterDecision(decision) {
6
8
  '',
7
9
  'Why:',
8
10
  `- ${decision.primaryReason}`,
9
- '',
11
+ `- capability_domains=${domainSummary}; packs=${packSummary}; authority=${decision.capabilityDecision.authority}`, '',
10
12
  'Next:',
11
13
  `- ${decision.nextAction}`
12
14
  ].join('\n');
@@ -25,7 +27,7 @@ function resultSentenceForRoute(decision) {
25
27
  return 'Routed through the direct workflow.';
26
28
  }
27
29
  if (decision.lifecycleGate === 'review-before-sync-back') {
28
- return 'Routed; validation can run and sync-back needs review.';
30
+ return 'Routed; validation can run and release readiness may need review.';
29
31
  }
30
32
  return 'Routed with a lifecycle checkpoint.';
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/renderers/router.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,QAA6B;IACrE,OAAO;QACL,aAAa,QAAQ,CAAC,MAAM,EAAE;QAC9B,EAAE;QACF,sBAAsB,CAAC,QAAQ,CAAC;QAChC,EAAE;QACF,MAAM;QACN,KAAK,QAAQ,CAAC,aAAa,EAAE;QAC7B,EAAE;QACF,OAAO;QACP,KAAK,QAAQ,CAAC,UAAU,EAAE;KAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,QAA6B;IAC3D,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,aAAa,KAAK,gCAAgC,EAAE,CAAC;YAChE,OAAO,qDAAqD,CAAC;QAC/D,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,KAAK,wBAAwB,EAAE,CAAC;YACxD,OAAO,yBAAyB,CAAC;QACnC,CAAC;QACD,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;QACzD,OAAO,wDAAwD,CAAC;IAClE,CAAC;IACD,OAAO,qCAAqC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/renderers/router.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,QAA6B;IACrE,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IACjH,MAAM,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IACzG,OAAO;QACL,aAAa,QAAQ,CAAC,MAAM,EAAE;QAC9B,EAAE;QACF,sBAAsB,CAAC,QAAQ,CAAC;QAChC,EAAE;QACF,MAAM;QACN,KAAK,QAAQ,CAAC,aAAa,EAAE;QAC7B,wBAAwB,aAAa,WAAW,WAAW,eAAe,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAC,EAAE;QACpH,OAAO;QACP,KAAK,QAAQ,CAAC,UAAU,EAAE;KAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,QAA6B;IAC3D,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,aAAa,KAAK,gCAAgC,EAAE,CAAC;YAChE,OAAO,qDAAqD,CAAC;QAC/D,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,KAAK,wBAAwB,EAAE,CAAC;YACxD,OAAO,yBAAyB,CAAC;QACnC,CAAC;QACD,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;QACzD,OAAO,mEAAmE,CAAC;IAC7E,CAAC;IACD,OAAO,qCAAqC,CAAC;AAC/C,CAAC"}
@@ -16,7 +16,7 @@ export function renderInitResult(result) {
16
16
  lines.push(`- legacy_scaffold_branch=${result.documents.branch}`);
17
17
  lines.push(`- legacy_spec_dir=${result.documents.root}`);
18
18
  }
19
- lines.push('- sdd init is project-level setup; /sdd:spec is the workflow partition/spec entry');
19
+ lines.push('- sdd init is project-level setup; workflow partition/spec work starts from sdd status and the spec stage');
20
20
  lines.push('evidence');
21
21
  for (const document of scaffoldedDocuments) {
22
22
  lines.push(`- [${document.status}] ${document.relativePath}: ${document.message}`);
@@ -39,7 +39,7 @@ export function renderInitResult(result) {
39
39
  }
40
40
  }
41
41
  lines.push('next');
42
- lines.push('- /sdd:spec');
42
+ lines.push('- sdd status');
43
43
  return lines.join('\n');
44
44
  }
45
45
  export function renderProjectStatus(status) {
@@ -58,6 +58,7 @@ export function renderProjectStatus(status) {
58
58
  || status.documents.verifyBasedOnTasksHash);
59
59
  lines.push('decision');
60
60
  lines.push(`- workflow_status=${status.workflowStatus}`);
61
+ lines.push(`- next_intent stage=${status.nextIntent.stage} intent=${status.nextIntent.intent} semantics=${status.nextIntent.commandSemantics} canonical="${status.nextIntent.canonicalCommand}" hosts=${status.nextIntent.hostProjections.map((projection) => `${projection.host}:${projection.status}${projection.entry ? `:${projection.entry}` : ''}`).join(',')}`);
61
62
  lines.push(`- context raw_branch=${status.context.rawBranch} partition=${status.context.partition} source=${status.context.branchSource} spec_dir=${status.context.specDir}`);
62
63
  lines.push(`- git current_branch=${status.context.currentGitBranch ?? 'none'} working_tree_matched=${status.context.workingTreeMatched ?? 'unknown'}`);
63
64
  lines.push(`- documents spec=${status.documents.specExists} plan=${status.documents.planExists} tasks=${status.documents.tasksExists} verify=${status.documents.verifyExists} stale=${staleDocuments.join(',') || 'none'}`);
@@ -67,9 +68,16 @@ export function renderProjectStatus(status) {
67
68
  lines.push(`- tasks total=${status.tasks.total} pending=${status.tasks.pending} in_progress=${status.tasks.inProgress} completed=${status.tasks.completed} blocked=${status.tasks.blocked} deferred=${status.tasks.deferred} unknown=${status.tasks.unknown} gaps=${status.tasks.gaps}`);
68
69
  lines.push(`- task_risk high=${status.taskRisk.highRiskTasks.join(',') || 'none'} medium=${status.taskRisk.mediumRiskTasks.join(',') || 'none'} source_boundary=${status.taskRisk.sourceBoundaryTasks.join(',') || 'none'} context=${status.taskRisk.contextRiskTasks.join(',') || 'none'} token=${status.taskRisk.tokenRiskTasks.join(',') || 'none'} performance=${status.taskRisk.performanceRiskTasks.join(',') || 'none'}`);
69
70
  lines.push(`- lifecycle_risk status=${status.lifecycleRisk.status} profile=${status.lifecycleRisk.profile ?? 'none'} approval=${status.lifecycleRisk.approvalPolicy ?? 'none'} input=${status.lifecycleRisk.inputHash ?? 'none'} expected=${status.lifecycleRisk.expectedInputHash}`);
71
+ lines.push(`- capability_health status=${status.capabilityHealth.status} domains=${status.capabilityHealth.baselineDomains.length}/${status.capabilityHealth.requiredProfessionalDomains.length} active=${status.capabilityHealth.activeDomains.join(',') || 'none'} packs=${status.capabilityHealth.activePacks.join(',') || 'none'} sources_quarantined=${status.capabilityHealth.sources.quarantined} sources_denied=${status.capabilityHealth.sources.denied} evidence_candidate=${status.capabilityHealth.evidence.candidate} evidence_quarantined=${status.capabilityHealth.evidence.quarantined} evidence_blocked=${status.capabilityHealth.evidence.blocked}`);
70
72
  lines.push(`- workflow_handoff status=${status.workflowHandoff.status} active_stage=${status.workflowHandoff.activeStage?.stage ?? 'none'} latest_stage=${status.workflowHandoff.latestStageRun?.stage ?? 'none'} latest_handoff=${status.workflowHandoff.latestHandoff ? `${status.workflowHandoff.latestHandoff.fromStage}->${status.workflowHandoff.latestHandoff.toStage}:${status.workflowHandoff.latestHandoff.status}` : 'none'} stage_projections=${status.workflowHandoff.projectionCounts.stageRuns} handoff_projections=${status.workflowHandoff.projectionCounts.handoffs}`);
71
73
  lines.push(`- context_offload level=${status.contextRuntime.level} action=${status.contextRuntime.action} load_signals=${status.contextRuntime.loadSignals} offload_decisions=${status.contextRuntime.offloadDecisions} dispatch_refs=${status.contextRuntime.dispatchRefs}`);
72
74
  lines.push(`- subagent_dispatch status=${status.subagentDispatches.status} dispatches=${status.subagentDispatches.dispatches} blocking_open=${status.subagentDispatches.blockingOpen} failed=${status.subagentDispatches.failed} stale=${status.subagentDispatches.stale} completed=${status.subagentDispatches.completed} archived=${status.subagentDispatches.archived} superseded=${status.subagentDispatches.superseded}`);
75
+ if (status.latestEligibleRunsByTask.length > 0) {
76
+ lines.push(`- latest_eligible_runs tasks=${status.latestEligibleRunsByTask.length} selected=${status.latestEligibleRunsByTask.filter((selection) => selection.selected).length} rejected=${status.latestEligibleRunsByTask.reduce((sum, selection) => sum + selection.rejected.length, 0)}`);
77
+ for (const selection of status.latestEligibleRunsByTask) {
78
+ lines.push(` - task=${selection.taskId} selected=${selection.selected ? `${selection.selected.runId}:${selection.selected.compatibility}` : 'none'} candidates=${selection.candidates.length} rejected=${selection.rejected.map((candidate) => `${candidate.runId}:${candidate.compatibility}:${candidate.reasons.join('|') || 'none'}`).join(';') || 'none'}`);
79
+ }
80
+ }
73
81
  if (status.latestRun) {
74
82
  lines.push(`- latest_run ${status.latestRun.runId} status=${status.latestRun.status} phase=${status.latestRun.phase ?? 'n/a'} task=${status.latestRun.currentTask ?? 'n/a'} validation=${status.latestRun.validationStatus} sync_back=${status.latestRun.syncBackStatus}`);
75
83
  if (status.latestRunEvidence) {
@@ -91,7 +99,7 @@ export function renderProjectStatus(status) {
91
99
  ? `- git repository detected at ${status.gitRoot}; doctor and run-index checks can use Git repository context`
92
100
  : '- doctor and run-index checks expect Git repository context; run git init first in fresh temporary projects');
93
101
  renderWorkflowDocumentGaps(lines, status.gaps);
94
- lines.push(`next ${status.recommendedNextCommand}`);
102
+ lines.push(`next ${status.nextIntent.canonicalCommand}`);
95
103
  return lines.join('\n');
96
104
  }
97
105
  export function renderStatuslineProjection(statusline) {
@@ -106,6 +114,7 @@ export function renderStatuslineProjection(statusline) {
106
114
  `context=${statusline.contextLoad}:${statusline.contextAction}`,
107
115
  `subagents=${statusline.subagentHealth}:${statusline.counts.subagentDispatches}`,
108
116
  `risk=high:${statusline.taskRisk.highRiskTasks.length},source:${statusline.taskRisk.sourceBoundaryTasks.length},ctx:${statusline.taskRisk.contextRiskTasks.length},tok:${statusline.taskRisk.tokenRiskTasks.length},perf:${statusline.taskRisk.performanceRiskTasks.length}`,
117
+ `cap=${statusline.capabilityHealth}:${statusline.counts.capabilityWarnings}`,
109
118
  `evidence=${statusline.evidenceHealth}:${statusline.counts.artifactIngestions}`,
110
119
  `run=${statusline.latestRunId ?? 'none'}`,
111
120
  `next=${statusline.next}`
@@ -144,6 +153,11 @@ export function renderRunInspection(inspection) {
144
153
  lines.push(`validation=${inspection.validation.status} evidence=${inspection.validation.evidence.join(',') || 'none'}`);
145
154
  lines.push(`sync_back=${inspection.syncBack.status} proposal=${inspection.syncBack.proposalPath ?? 'none'}`);
146
155
  lines.push(`task_run_evidence=${inspection.taskRunEvidence.version} gaps=${inspection.taskRunEvidence.gaps.length} sync_back=${inspection.taskRunEvidence.syncBackProposal ?? 'none'}`);
156
+ if (inspection.taskEvidenceView) {
157
+ const evidence = inspection.taskEvidenceView;
158
+ lines.push(`task_evidence_view=${evidence.contract} source=${evidence.source} latest_eligible=${evidence.latestEligibleRun?.runId ?? 'none'} compatibility=${evidence.compatibility ?? 'none'} candidates=${evidence.candidates.length} rejected=${evidence.rejected.length}`);
159
+ lines.push(`task_evidence_payloads active=${evidence.payloads.active.length} candidate=${evidence.payloads.candidate.length} rejected=${evidence.payloads.rejected.length} superseded=${evidence.payloads.superseded.length}`);
160
+ }
147
161
  lines.push(`artifacts=${inspection.artifacts.length}`);
148
162
  for (const artifact of inspection.artifacts) {
149
163
  lines.push(`- ${artifact.path} kind=${artifact.kind} task=${artifact.task ?? 'n/a'} agent=${artifact.agent ?? 'n/a'}`);
@@ -178,6 +192,8 @@ export function renderSyncBackInspection(inspection) {
178
192
  lines.push('');
179
193
  lines.push('Why:');
180
194
  lines.push(`- ${primarySyncBackReason(inspection)}`);
195
+ lines.push(`- capability_readiness=${syncBackCapabilitySummary(inspection)}`);
196
+ lines.push(`- task_evidence source=${inspection.taskEvidenceView.source} latest_eligible=${inspection.taskEvidenceView.latestEligibleRun?.runId ?? 'none'} compatibility=${inspection.taskEvidenceView.compatibility ?? 'none'} candidates=${inspection.taskEvidenceView.candidates.length} rejected=${inspection.taskEvidenceView.rejected.length} payloads=active:${inspection.taskEvidenceView.payloads.active.length},candidate:${inspection.taskEvidenceView.payloads.candidate.length},rejected:${inspection.taskEvidenceView.payloads.rejected.length},superseded:${inspection.taskEvidenceView.payloads.superseded.length}`);
181
197
  lines.push('');
182
198
  lines.push('Next:');
183
199
  lines.push(`- ${nextSyncBackAction(inspection)}`);
@@ -194,17 +210,17 @@ export function renderSyncBackApplyResult(result) {
194
210
  lines.push(`- ${result.applied ? `Task status and sync-back note were written to ${result.tasksPath}.` : result.message}`);
195
211
  lines.push('');
196
212
  lines.push('Next:');
197
- lines.push(`- ${result.applied ? `Run sdd ship --dry-run --branch ${inspection.branch} when branch readiness should be checked.` : nextSyncBackAction(inspection)}`);
213
+ lines.push(`- ${result.applied ? `Run sdd status --branch ${inspection.branch} to inspect the next workflow intent.` : nextSyncBackAction(inspection)}`);
198
214
  return lines.join('\n');
199
215
  }
200
216
  function syncBackResultSentence(inspection) {
201
217
  if (inspection.status === 'blocked') {
202
- return 'Blocked before applying sync-back.';
218
+ return 'Diagnostic sync-back is blocked before recovery/replay apply.';
203
219
  }
204
220
  if (inspection.applyPolicy.requiresApproval) {
205
- return 'Sync-back is ready and needs review before apply.';
221
+ return 'Diagnostic sync-back recovery is available and needs review before apply.';
206
222
  }
207
- return 'Sync-back is ready to apply.';
223
+ return 'Diagnostic sync-back recovery is available for explicit apply.';
208
224
  }
209
225
  function primarySyncBackReason(inspection) {
210
226
  if (inspection.reasons.length > 0) {
@@ -220,20 +236,24 @@ function primarySyncBackReason(inspection) {
220
236
  return inspection.applyPolicy.reasons[0];
221
237
  }
222
238
  if (inspection.applyPolicy.requiresApproval) {
223
- return 'The task can be synced back, but the apply policy requires review first.';
239
+ return 'This diagnostic recovery can write tasks.md, but the apply policy requires review first.';
224
240
  }
225
- return 'Validation evidence and sync-back proposal are ready for this task.';
241
+ return 'Validation evidence and sync-back proposal are available for explicit diagnostic recovery.';
242
+ }
243
+ function syncBackCapabilitySummary(inspection) {
244
+ const readiness = inspection.capabilityReadiness;
245
+ return `status=${readiness.status}; required=${readiness.requiredDomains.join(',') || 'none'}; accepted=${readiness.accepted.length}; candidate=${readiness.candidate.length}; quarantined=${readiness.quarantined.length}; blocked=${readiness.blocked.length}; authoritative=${readiness.authoritativeForApply}`;
226
246
  }
227
247
  function nextSyncBackAction(inspection) {
228
248
  if (inspection.staleVerifyRecoveryCommand) {
229
- return inspection.staleVerifyRecoveryCommand;
249
+ return `${inspection.staleVerifyRecoveryCommand} only if you are intentionally repairing stale verify.md after reviewed task-contract changes.`;
230
250
  }
231
251
  if (inspection.status === 'ready') {
232
252
  const approvedFlag = inspection.applyPolicy.requiresApproval ? ' --approved' : '';
233
253
  const command = `sdd sync-back apply ${inspection.runId} --branch ${inspection.branch} --task ${inspection.taskId ?? 'TASK'}${approvedFlag}`;
234
254
  return inspection.applyPolicy.requiresApproval
235
- ? `Review ${inspection.proposalPath ?? 'the sync-back proposal'} and apply policy, then run ${command}.`
236
- : `Run ${command}.`;
255
+ ? `For diagnostic/recovery replay only: review ${inspection.proposalPath ?? 'the sync-back proposal'} and apply policy, then run ${command}.`
256
+ : `For diagnostic/recovery replay only, run ${command}.`;
237
257
  }
238
258
  return inspection.approvalCard.nextAction;
239
259
  }
@@ -245,6 +265,7 @@ export function renderShipResult(result) {
245
265
  lines.push('');
246
266
  lines.push('Why:');
247
267
  lines.push(`- ${blockedCheck?.message ?? 'All ship readiness checks passed.'}`);
268
+ lines.push(`- capability_health=${result.projectStatus.capabilityHealth.status}; release_critical=${result.projectStatus.capabilityHealth.releaseCriticalGaps?.join(',') || 'none'}`);
248
269
  lines.push('');
249
270
  lines.push('Next:');
250
271
  lines.push(`- ${blockedCheck?.nextAction ?? result.nextActions[0] ?? 'No ship action is required.'}`);