create-yss-spec 2.2.2 → 2.2.4

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 (356) hide show
  1. package/README.md +17 -1
  2. package/package.json +1 -1
  3. package/src/cli.js +15 -1
  4. package/src/self-update.js +277 -0
  5. package/template/.agents/skills/yss-domain/SKILL.md +5 -4
  6. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +9 -9
  7. package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  8. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  9. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  10. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  11. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +9 -4
  12. package/template/.agents/skills/yss-router/SKILL.md +5 -3
  13. package/template/.agents/skills/yss-router/references/router-contract.yaml +18 -3
  14. package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +59 -1
  15. package/template/.agents/skills/yss-stage-decision/SKILL.md +50 -0
  16. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  17. package/template/.agents/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  18. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  19. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  20. package/template/.agents/skills/yss-stage-decision/references/validation-rules.md +18 -0
  21. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  22. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  23. package/template/.agents/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  24. package/template/.agents/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  25. package/template/.agents/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  26. package/template/.agents/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  27. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  28. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  29. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  30. package/template/.agents/skills/yss-tactical-design/SKILL.md +33 -0
  31. package/template/.agents/skills/yss-tactical-design/agents/openai.yaml +4 -0
  32. package/template/.agents/skills/yss-tactical-design/references/output-template.md +28 -0
  33. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  34. package/template/.agents/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  35. package/template/.agents/skills/yss-tactical-design/references/validation-rules.md +13 -0
  36. package/template/.agents/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  37. package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  38. package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  39. package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  40. package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  41. package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  42. package/template/.agents/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  43. package/template/.agents/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  44. package/template/.claude/skills/yss-domain/SKILL.md +5 -4
  45. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +9 -9
  46. package/template/.claude/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  47. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  48. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  49. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  50. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +9 -4
  51. package/template/.claude/skills/yss-router/SKILL.md +5 -3
  52. package/template/.claude/skills/yss-router/references/router-contract.yaml +18 -3
  53. package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +59 -1
  54. package/template/.claude/skills/yss-stage-decision/SKILL.md +50 -0
  55. package/template/.claude/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  56. package/template/.claude/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  57. package/template/.claude/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  58. package/template/.claude/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  59. package/template/.claude/skills/yss-stage-decision/references/validation-rules.md +18 -0
  60. package/template/.claude/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  61. package/template/.claude/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  62. package/template/.claude/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  63. package/template/.claude/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  64. package/template/.claude/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  65. package/template/.claude/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  66. package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  67. package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  68. package/template/.claude/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  69. package/template/.claude/skills/yss-tactical-design/SKILL.md +33 -0
  70. package/template/.claude/skills/yss-tactical-design/agents/openai.yaml +4 -0
  71. package/template/.claude/skills/yss-tactical-design/references/output-template.md +28 -0
  72. package/template/.claude/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  73. package/template/.claude/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  74. package/template/.claude/skills/yss-tactical-design/references/validation-rules.md +13 -0
  75. package/template/.claude/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  76. package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  77. package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  78. package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  79. package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  80. package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  81. package/template/.claude/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  82. package/template/.claude/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  83. package/template/.codex/skills/yss-domain/SKILL.md +5 -4
  84. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +9 -9
  85. package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  86. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  87. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  88. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  89. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +9 -4
  90. package/template/.codex/skills/yss-router/SKILL.md +5 -3
  91. package/template/.codex/skills/yss-router/references/router-contract.yaml +18 -3
  92. package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +59 -1
  93. package/template/.codex/skills/yss-stage-decision/SKILL.md +50 -0
  94. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  95. package/template/.codex/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  96. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  97. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  98. package/template/.codex/skills/yss-stage-decision/references/validation-rules.md +18 -0
  99. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  100. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  101. package/template/.codex/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  102. package/template/.codex/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  103. package/template/.codex/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  104. package/template/.codex/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  105. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  106. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  107. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  108. package/template/.codex/skills/yss-tactical-design/SKILL.md +33 -0
  109. package/template/.codex/skills/yss-tactical-design/agents/openai.yaml +4 -0
  110. package/template/.codex/skills/yss-tactical-design/references/output-template.md +28 -0
  111. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  112. package/template/.codex/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  113. package/template/.codex/skills/yss-tactical-design/references/validation-rules.md +13 -0
  114. package/template/.codex/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  115. package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  116. package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  117. package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  118. package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  119. package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  120. package/template/.codex/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  121. package/template/.codex/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  122. package/template/.cursor/skills/yss-domain/SKILL.md +5 -4
  123. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +9 -9
  124. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  125. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  126. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  127. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  128. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +9 -4
  129. package/template/.cursor/skills/yss-router/SKILL.md +5 -3
  130. package/template/.cursor/skills/yss-router/references/router-contract.yaml +18 -3
  131. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +59 -1
  132. package/template/.cursor/skills/yss-stage-decision/SKILL.md +50 -0
  133. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  134. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  135. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  136. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  137. package/template/.cursor/skills/yss-stage-decision/references/validation-rules.md +18 -0
  138. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  139. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  140. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  141. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  142. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  143. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  144. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  145. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  146. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  147. package/template/.cursor/skills/yss-tactical-design/SKILL.md +33 -0
  148. package/template/.cursor/skills/yss-tactical-design/agents/openai.yaml +4 -0
  149. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +28 -0
  150. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  151. package/template/.cursor/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  152. package/template/.cursor/skills/yss-tactical-design/references/validation-rules.md +13 -0
  153. package/template/.cursor/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  154. package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  155. package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  156. package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  157. package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  158. package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  159. package/template/.cursor/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  160. package/template/.cursor/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  161. package/template/.hermes/skills/yss-domain/SKILL.md +5 -4
  162. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +9 -9
  163. package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  164. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  165. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  166. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  167. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +9 -4
  168. package/template/.hermes/skills/yss-router/SKILL.md +5 -3
  169. package/template/.hermes/skills/yss-router/references/router-contract.yaml +18 -3
  170. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +59 -1
  171. package/template/.hermes/skills/yss-stage-decision/SKILL.md +50 -0
  172. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  173. package/template/.hermes/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  174. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  175. package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  176. package/template/.hermes/skills/yss-stage-decision/references/validation-rules.md +18 -0
  177. package/template/.hermes/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  178. package/template/.hermes/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  179. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  180. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  181. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  182. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  183. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  184. package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  185. package/template/.hermes/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  186. package/template/.hermes/skills/yss-tactical-design/SKILL.md +33 -0
  187. package/template/.hermes/skills/yss-tactical-design/agents/openai.yaml +4 -0
  188. package/template/.hermes/skills/yss-tactical-design/references/output-template.md +28 -0
  189. package/template/.hermes/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  190. package/template/.hermes/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  191. package/template/.hermes/skills/yss-tactical-design/references/validation-rules.md +13 -0
  192. package/template/.hermes/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  193. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  194. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  195. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  196. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  197. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  198. package/template/.hermes/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  199. package/template/.hermes/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  200. package/template/.pi/skills/yss-domain/SKILL.md +5 -4
  201. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +9 -9
  202. package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  203. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  204. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  205. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  206. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +9 -4
  207. package/template/.pi/skills/yss-router/SKILL.md +5 -3
  208. package/template/.pi/skills/yss-router/references/router-contract.yaml +18 -3
  209. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +59 -1
  210. package/template/.pi/skills/yss-stage-decision/SKILL.md +50 -0
  211. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  212. package/template/.pi/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  213. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  214. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  215. package/template/.pi/skills/yss-stage-decision/references/validation-rules.md +18 -0
  216. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  217. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  218. package/template/.pi/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  219. package/template/.pi/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  220. package/template/.pi/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  221. package/template/.pi/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  222. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  223. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  224. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  225. package/template/.pi/skills/yss-tactical-design/SKILL.md +33 -0
  226. package/template/.pi/skills/yss-tactical-design/agents/openai.yaml +4 -0
  227. package/template/.pi/skills/yss-tactical-design/references/output-template.md +28 -0
  228. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  229. package/template/.pi/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  230. package/template/.pi/skills/yss-tactical-design/references/validation-rules.md +13 -0
  231. package/template/.pi/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  232. package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  233. package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  234. package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  235. package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  236. package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  237. package/template/.pi/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  238. package/template/.pi/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  239. package/template/.qoder/skills/yss-domain/SKILL.md +5 -4
  240. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +9 -9
  241. package/template/.qoder/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  242. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  243. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  244. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  245. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +9 -4
  246. package/template/.qoder/skills/yss-router/SKILL.md +5 -3
  247. package/template/.qoder/skills/yss-router/references/router-contract.yaml +18 -3
  248. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +59 -1
  249. package/template/.qoder/skills/yss-stage-decision/SKILL.md +50 -0
  250. package/template/.qoder/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  251. package/template/.qoder/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  252. package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  253. package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  254. package/template/.qoder/skills/yss-stage-decision/references/validation-rules.md +18 -0
  255. package/template/.qoder/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  256. package/template/.qoder/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  257. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  258. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  259. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  260. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  261. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  262. package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  263. package/template/.qoder/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  264. package/template/.qoder/skills/yss-tactical-design/SKILL.md +33 -0
  265. package/template/.qoder/skills/yss-tactical-design/agents/openai.yaml +4 -0
  266. package/template/.qoder/skills/yss-tactical-design/references/output-template.md +28 -0
  267. package/template/.qoder/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  268. package/template/.qoder/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  269. package/template/.qoder/skills/yss-tactical-design/references/validation-rules.md +13 -0
  270. package/template/.qoder/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  271. package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  272. package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  273. package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  274. package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  275. package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  276. package/template/.qoder/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  277. package/template/.qoder/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  278. package/template/.trae/skills/yss-domain/SKILL.md +5 -4
  279. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +9 -9
  280. package/template/.trae/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
  281. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +3 -3
  282. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
  283. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +8 -5
  284. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +9 -4
  285. package/template/.trae/skills/yss-router/SKILL.md +5 -3
  286. package/template/.trae/skills/yss-router/references/router-contract.yaml +18 -3
  287. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +59 -1
  288. package/template/.trae/skills/yss-stage-decision/SKILL.md +50 -0
  289. package/template/.trae/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
  290. package/template/.trae/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
  291. package/template/.trae/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
  292. package/template/.trae/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
  293. package/template/.trae/skills/yss-stage-decision/references/validation-rules.md +18 -0
  294. package/template/.trae/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
  295. package/template/.trae/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
  296. package/template/.trae/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
  297. package/template/.trae/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
  298. package/template/.trae/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
  299. package/template/.trae/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
  300. package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
  301. package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
  302. package/template/.trae/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
  303. package/template/.trae/skills/yss-tactical-design/SKILL.md +33 -0
  304. package/template/.trae/skills/yss-tactical-design/agents/openai.yaml +4 -0
  305. package/template/.trae/skills/yss-tactical-design/references/output-template.md +28 -0
  306. package/template/.trae/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
  307. package/template/.trae/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
  308. package/template/.trae/skills/yss-tactical-design/references/validation-rules.md +13 -0
  309. package/template/.trae/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
  310. package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
  311. package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
  312. package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
  313. package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
  314. package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
  315. package/template/.trae/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
  316. package/template/.trae/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
  317. package/template/AGENTS.md +8 -4
  318. package/template/CONTEXT.md +14 -2
  319. package/template/docs/agents/digital-human-roles.md +83 -0
  320. package/template/docs/agents/digital-human-roles.yaml +259 -0
  321. package/template/docs/agents/triage-labels.md +5 -5
  322. package/template/docs/agents/yss-skill-registry.yaml +12 -0
  323. package/template/docs/architecture/templates/system-overview-design-template.md +1 -0
  324. package/template/docs/process/lifecycle-artifact-map.md +8 -0
  325. package/template/docs/process/lifecycle-registry-baseline.json +11 -1
  326. package/template/docs/process/lifecycle-registry.yaml +46 -2
  327. package/template/docs/process/schemas/digital-human-task-package.schema.json +107 -0
  328. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +2 -1
  329. package/template/docs/process/schemas/subagent-task-package.schema.json +6 -0
  330. package/template/docs/process/subagent-collaboration.md +5 -3
  331. package/template/docs/process/templates/stage-checkpoint-template.md +3 -1
  332. package/template/docs/templates/approval-record-template.yaml +14 -0
  333. package/template/docs/templates/digital-human-runtime-profile-template.md +38 -0
  334. package/template/docs/templates/grok-bot-profile-template.md +24 -0
  335. package/template/docs/templates/implementation-routing-template.md +3 -3
  336. package/template/docs/templates/local-parent-ticket-template.md +8 -0
  337. package/template/docs/templates/subagent-task-package-template.md +43 -1
  338. package/template/docs/templates/vertical-slice-ticket-template.md +7 -0
  339. package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
  340. package/template/scripts/lib/approval-record.mjs +123 -0
  341. package/template/scripts/lib/digital-human-roles.mjs +398 -0
  342. package/template/scripts/lib/lifecycle-transition.mjs +259 -0
  343. package/template/scripts/lib/scenario-checks.mjs +96 -2
  344. package/template/scripts/lib/task-package.mjs +214 -0
  345. package/template/scripts/verify-approval-record +13 -0
  346. package/template/scripts/verify-digital-human-roles +10 -0
  347. package/template/scripts/verify-digital-human-roles-scenarios +147 -0
  348. package/template/scripts/verify-digital-human-task-package +14 -0
  349. package/template/scripts/verify-digital-human-task-package-scenarios +8 -0
  350. package/template/scripts/verify-lifecycle-checkpoint +2 -0
  351. package/template/scripts/verify-lifecycle-transition-scenarios +105 -0
  352. package/template/scripts/verify-subagent-task-package +8 -0
  353. package/template/scripts/verify-subagent-task-package-scenarios +196 -0
  354. package/template/scripts/verify-template +16 -2
  355. package/template/skills-lock.json +35 -3
  356. package/template.snapshot.json +4 -4
@@ -0,0 +1,259 @@
1
+ schema_version: 1
2
+ registry_id: yss.digital-human-roles
3
+ status: active
4
+ description: >-
5
+ 数字人角色、主控、阶段协作组、技能启用/禁止与生命周期会签的单一事实源。
6
+ 角色配置与运行时无关;Claude / Cursor / Codex / Grok 等只通过 runtimes 绑定。
7
+ Ticket 五态不是数字人角色。
8
+ canonical_path: docs/agents/digital-human-roles.yaml
9
+ runtime_policy:
10
+ overlay_on_lifecycle: true
11
+ consumed_by_lifecycle: true
12
+ git_is_ssot: true
13
+ default_invocation: orchestrator
14
+ dispatch: orchestrator-one-to-one
15
+ per_feature_instances: forbidden
16
+ project_instance_instantiation: duplicate-and-bind-repo-path
17
+ template_instantiation: publish-singleton-profiles
18
+ biological_veto: true
19
+ implementer_must_differ: true
20
+ write_isolation: task-package-policy
21
+ dual_hat_split_when: [cross-repo-load, responsibility-conflict]
22
+
23
+ runtimes:
24
+ - id: runtime.generic
25
+ kind: generic
26
+ instance_kind: agent-session
27
+ skill_root: null
28
+ covers_skill_registry_roots: false
29
+ collaboration: task-package-and-handoff
30
+ max_collaboration_group_size: null
31
+ overflow: not-applicable
32
+ shared_workspace_is_not_security_boundary: false
33
+ side_effect_approval: biological-human
34
+ notes: 任何能加载 core_skills 并接受任务包的 Agent 会话。
35
+ - id: runtime.skill-projection
36
+ kind: projected-agent-root
37
+ instance_kind: agent-session-or-subagent
38
+ skill_root: from-skill-registry
39
+ covers_skill_registry_roots: true
40
+ collaboration: subagent-task-package
41
+ max_collaboration_group_size: null
42
+ overflow: not-applicable
43
+ shared_workspace_is_not_security_boundary: false
44
+ side_effect_approval: biological-human
45
+ notes: >-
46
+ 覆盖 docs/agents/yss-skill-registry.yaml 的 agent_runtime_roots
47
+ (claude / codex / cursor / hermes / pi / qoder / trae)。
48
+ 技能仍从 .agents/skills 投影,不按职称再维护一份。
49
+ - id: runtime.grok
50
+ kind: grok-bot
51
+ instance_kind: durable-bot
52
+ skill_root: null
53
+ covers_skill_registry_roots: false
54
+ collaboration: group-chat-or-async-dm
55
+ max_collaboration_group_size: 6
56
+ min_collaboration_group_size: 2
57
+ overflow: one-to-one-handoff
58
+ shared_workspace_is_not_security_boundary: true
59
+ side_effect_approval: biological-human
60
+ notes: >-
61
+ Grok Bot 适配。群聊 2–6 人;超出则改 1:1 交接,不改逻辑阶段协作组。
62
+ 全部 Bot 共享云计算机,写范围只靠任务包。不新增 agent_runtime_roots.grok。
63
+
64
+ orchestrator:
65
+ id: role.lifecycle-orchestrator
66
+ name: 主控数字人
67
+ kind: orchestrator
68
+ title: YSS 生命周期主控
69
+ default_dual_hat: [role.project-manager]
70
+ stages: [stage.entry-triage, stage.discovery, stage.spec-architecture, stage.product-design, stage.system-data-engineering, stage.ticket-formalization, stage.vertical-slice-implementation, stage.verification-release-retrospective]
71
+ core_skills: [yss-product-lifecycle, yss-router]
72
+ forbidden_skills: [yss-domain, yss-ui, yss-page-module-development, yss-web-controller, yss-repository, implement]
73
+ description: >-
74
+ Own YSS lifecycle routing. Read yss-project.yaml and CONTEXT.md first.
75
+ Select the next unblocked work unit, compile a task package, and assign
76
+ one owner per stage. Do not implement business code. Do not approve Slice
77
+ contracts into ready-for-agent without the full formula. Do not announce
78
+ releasable. Default dual-hat: project manager until a separate instance
79
+ is required. Authoritative artifacts live in git.
80
+
81
+ roles:
82
+ - id: role.requirements-manager
83
+ name: 需求经理
84
+ kind: digital-human
85
+ title: YSS 需求经理
86
+ stages: [stage.discovery, stage.spec-architecture]
87
+ draft_artifact_ids: [artifact.discovery-record, artifact.spec]
88
+ core_skills: [grilling, domain-modeling, research, competitive-intelligence, grill-with-docs]
89
+ forbidden_skills: [yss-ui, yss-domain, yss-web-controller, yss-repository, yss-ddd-scaffold-generator, yss-frontend-scaffold-generator, implement, tdd]
90
+ description: >-
91
+ Own Discovery language, users, MVP, non-goals, success criteria, test
92
+ seams, and Spec prose. Propose CONTEXT.md glossary entries. Do not freeze
93
+ visual prototypes, OpenAPI, or code. Do not guess unconfirmed business
94
+ rules. Hand off to the orchestrator when the frontier is empty.
95
+
96
+ - id: role.product-manager
97
+ name: 产品经理
98
+ kind: digital-human
99
+ title: YSS 产品经理
100
+ stages: [stage.discovery, stage.spec-architecture, stage.product-design, stage.verification-release-retrospective]
101
+ draft_artifact_ids: [artifact.product-overview, artifact.functional-architecture, artifact.interaction-spec, artifact.state-matrix, artifact.prototype-confirmation]
102
+ core_skills: [yss-design-system, yss-prototype-stage, prototype-review, yss-antd-design]
103
+ forbidden_skills: [yss-ui, yss-domain, yss-repository, yss-web-controller, yss-ddd-scaffold-generator, implement, tdd]
104
+ description: >-
105
+ Own priority, product-design impact, interaction, state matrix, and
106
+ prototype confirmation recommendation. May reject Spec scope. Do not write
107
+ production code or freeze OpenAPI alone. Frontend implementation uses the
108
+ frontend-engineer role and yss-ui, not yss-antd-design.
109
+
110
+ - id: role.business
111
+ name: 商务
112
+ kind: digital-human
113
+ title: YSS 商务
114
+ stages: [stage.discovery, stage.verification-release-retrospective]
115
+ draft_artifact_ids: [artifact.discovery-record]
116
+ core_skills: [competitive-intelligence, research]
117
+ forbidden_skills: [yss-ui, yss-domain, yss-web-controller, yss-openapi-governance, to-spec, to-tickets, implement, tdd, yss-router]
118
+ description: >-
119
+ Own commercial constraints, delivery promises, and business non-goals in
120
+ Discovery and release windows. Do not finalize Spec, API, tickets, or
121
+ code. External quotes and contracts stay behind runtime side-effect
122
+ approval by a biological human.
123
+
124
+ - id: role.project-manager
125
+ name: 项目经理
126
+ kind: digital-human
127
+ title: YSS 项目经理
128
+ stages: [stage.entry-triage, stage.discovery, stage.spec-architecture, stage.product-design, stage.system-data-engineering, stage.ticket-formalization, stage.vertical-slice-implementation, stage.verification-release-retrospective]
129
+ draft_artifact_ids: [artifact.parent-ticket, artifact.vertical-slice-ticket]
130
+ core_skills: [yss-product-lifecycle, handoff, implementation-repo-onboarding, cross-repo-implementation-routing]
131
+ forbidden_skills: [yss-domain, yss-ui, implement, tdd, yss-web-controller]
132
+ description: >-
133
+ Own parent Ticket hygiene, checkpoints, handoff, risk, and implementation
134
+ repo registry. Do not set ready-for-agent; the orchestrator recomputes
135
+ that formula. Do not approve Spec or OpenAPI Freeze. Do not write business
136
+ code or serve as independent Reviewer. Default dual-hat on the
137
+ orchestrator instance until dual_hat_split_when
138
+ (cross-repo-load or responsibility-conflict) requires a separate instance.
139
+
140
+ - id: role.frontend-engineer
141
+ name: 前端工程师
142
+ kind: digital-human
143
+ title: YSS 前端工程师
144
+ stages: [stage.product-design, stage.system-data-engineering, stage.ticket-formalization, stage.vertical-slice-implementation, stage.verification-release-retrospective]
145
+ draft_artifact_ids: [artifact.frontend-implementation-plan]
146
+ core_skills: [yss-ui, yss-page-module-development, yss-components, yss-formily, formily-foundation, formily-linkage-effects, formily-mode-slot-detail, formily-step-flow, ytable-usage, ytree-usage, yedit-table-usage, yss-api-integration, yss-hook, theme-token-usage, page-skeleton, page-list-module, page-form-module, component-selection-imports, vue3-best-practices, tdd]
147
+ forbidden_skills: [yss-domain, yss-application, yss-repository, yss-mybatis, yss-web-controller, yss-ddd-scaffold-generator, java-backend-commit]
148
+ description: >-
149
+ Own Vue page modules, frontend tests, and frontend_implementation_plan.
150
+ Review OpenAPI Draft for client fit and prototype feasibility. Write only
151
+ contract-allowed frontend paths. Verify with pnpm. Do not freeze API, own
152
+ backend domain, or countersign your own merge.
153
+
154
+ - id: role.backend-engineer
155
+ name: 后端工程师
156
+ kind: digital-human
157
+ title: YSS 后端工程师
158
+ stages: [stage.system-data-engineering, stage.ticket-formalization, stage.vertical-slice-implementation, stage.verification-release-retrospective]
159
+ draft_artifact_ids: [artifact.openapi-draft, artifact.data-architecture]
160
+ core_skills: [yss-router, yss-tactical-design, yss-domain, yss-application, yss-repository, yss-mybatis, yss-web-controller, yss-dto, yss-exception, yss-validation, tdd, yss-ddd-scaffold-generator]
161
+ forbidden_skills: [yss-ui, yss-page-module-development, yss-formily, yss-frontend-scaffold-generator, yss-antd-design, page-list-module, page-form-module]
162
+ description: >-
163
+ Own OpenAPI Draft, data-architecture contributions, and backend tests.
164
+ Write only contract-allowed backend paths. Verify with ./mvnw. Do not
165
+ Freeze OpenAPI, treat UI copy as requirements, or countersign your own
166
+ implementation.
167
+
168
+ - id: role.test-engineer
169
+ name: 测试工程师
170
+ kind: digital-human
171
+ title: YSS 测试工程师
172
+ stages: [stage.spec-architecture, stage.vertical-slice-implementation, stage.verification-release-retrospective]
173
+ draft_artifact_ids: [artifact.frontend-implementation-verification]
174
+ owned_evidence_ids: [evidence.fresh-verification, evidence.frontend-implementation-verification]
175
+ core_skills: [tdd, diagnosing-bugs, code-review]
176
+ forbidden_skills: [yss-ddd-scaffold-generator, yss-frontend-scaffold-generator, implement, to-spec]
177
+ description: >-
178
+ Own test code, defect records, fresh verification, and frontend
179
+ implementation verification evidence. Review every implementation slice.
180
+ Recommend release readiness; do not close gate.release-ready. Do not
181
+ change product scope or write feature implementation. Must be a different
182
+ instance from the implementer.
183
+
184
+ stage_groups:
185
+ - id: group.discovery
186
+ name: Discovery
187
+ stage: stage.discovery
188
+ members: [role.lifecycle-orchestrator, role.requirements-manager, role.product-manager, role.business]
189
+ - id: group.spec
190
+ name: Spec
191
+ stage: stage.spec-architecture
192
+ members: [role.lifecycle-orchestrator, role.requirements-manager, role.product-manager, role.test-engineer]
193
+ - id: group.product-design
194
+ name: 产品设计
195
+ stage: stage.product-design
196
+ members: [role.lifecycle-orchestrator, role.product-manager, role.requirements-manager, role.frontend-engineer]
197
+ - id: group.contract
198
+ name: 契约
199
+ stage: stage.system-data-engineering
200
+ members: [role.lifecycle-orchestrator, role.backend-engineer, role.frontend-engineer, role.test-engineer, role.product-manager]
201
+ - id: group.tickets
202
+ name: Ticket 正式化
203
+ stage: stage.ticket-formalization
204
+ members: [role.lifecycle-orchestrator, role.project-manager, role.frontend-engineer, role.backend-engineer, role.test-engineer]
205
+ - id: group.implementation
206
+ name: 实现
207
+ stage: stage.vertical-slice-implementation
208
+ members: [role.lifecycle-orchestrator, role.frontend-engineer, role.backend-engineer, role.test-engineer]
209
+ - id: group.release
210
+ name: 发布
211
+ stage: stage.verification-release-retrospective
212
+ members: [role.lifecycle-orchestrator, role.project-manager, role.test-engineer, role.product-manager, role.business]
213
+
214
+ gate_policy:
215
+ default_if_unlisted: biological-human
216
+ unlisted_kept_biological:
217
+ - gate.design-reviewed
218
+ - gate.architecture-reviewed
219
+ evidence_only:
220
+ - gate.repository-identity-valid
221
+ - gate.prototype-verified
222
+ orchestrator:
223
+ - gate.slice-contract-approved
224
+ - gate.slice-ready-for-agent
225
+ digital_human_review:
226
+ - gate: gate.prototype-reviewed
227
+ drafter: role.product-manager
228
+ countersigners: [role.frontend-engineer]
229
+ - gate: gate.openapi-draft-reviewed
230
+ drafter: role.backend-engineer
231
+ countersigners: [role.frontend-engineer]
232
+ - gate: gate.engineering-baseline-accepted
233
+ countersigners: [role.test-engineer]
234
+ - gate: gate.frontend-implementation-verified
235
+ drafter: role.frontend-engineer
236
+ countersigners: [role.test-engineer]
237
+ digital_human_review_work_units:
238
+ - work_unit: work-unit.code-review
239
+ countersigners: [role.test-engineer]
240
+ implementer_must_differ: true
241
+ dual_digital_human:
242
+ - gate: gate.spec-baseline-approved
243
+ drafter: role.requirements-manager
244
+ countersigners: [role.product-manager]
245
+ - gate: gate.domain-strategy-approved
246
+ drafter: role.requirements-manager
247
+ countersigners: [role.product-manager]
248
+ - gate: gate.stage-decision-package-approved
249
+ drafter: role.requirements-manager
250
+ countersigners: [role.product-manager]
251
+ - gate: gate.openapi-frozen
252
+ drafter: role.backend-engineer
253
+ countersigners: [role.product-manager, role.test-engineer]
254
+ product_digital_human_with_biological_veto:
255
+ - gate.user-confirmation
256
+ biological_human:
257
+ - gate.release-ready
258
+ runtime_side_effect_approval: biological-human
259
+ commercial_contract: biological-human
@@ -1,15 +1,15 @@
1
1
  # Triage 标签
2
2
 
3
- 本文定义 Agent 分诊时使用的五种标准角色,以及它们在当前 Ticket tracker 中对应的标签。
3
+ 本文定义 Agent 分诊时使用的五种 **Ticket 状态**,以及它们在当前 Ticket tracker 中对应的标签。不要把它们叫做数字人角色。
4
4
 
5
- | 标准角色 | Tracker 标签 | 含义 |
5
+ | Ticket 状态 | Tracker 标签 | 含义 |
6
6
  | --- | --- | --- |
7
7
  | `needs-triage` | `needs-triage` | 等待维护者评估 Ticket |
8
8
  | `needs-info` | `needs-info` | 等待报告者补充信息 |
9
9
  | `ready-for-agent` | `ready-for-agent` | 必要门禁已通过、阻塞边已清除,可由 Agent 直接实现的垂直切片 Ticket |
10
- | `ready-for-human` | `ready-for-human` | Spec、设计、契约草案或其他资产需要人工审查、判断或特权访问 |
10
+ | `ready-for-human` | `ready-for-human` | Spec、设计、契约草案或其他资产需要会签(指定数字人或生物人)或特权访问 |
11
11
  | `wontfix` | `wontfix` | 不会处理 |
12
12
 
13
- 当 skill 提及某个标准角色时,使用表中对应的 Tracker 标签。
13
+ 当 skill 提及某个 Ticket 状态时,使用表中对应的 Tracker 标签。会签人由 `docs/agents/digital-human-roles.yaml` 指定,不由本表指定。
14
14
 
15
- Local Markdown 主 tracker 不调用远程标签:在 Ticket 文件顶部使用同名 `Status:` 值记录标准角色。Wayfinder 的 `claimed` / `resolved` 仅是临时工作状态,不属于本表五态;进入交付 Ticket 前必须转换为标准 `Status:`。
15
+ Local Markdown 主 tracker 不调用远程标签:在 Ticket 文件顶部使用同名 `Status:` 值记录 Ticket 状态。Wayfinder 的 `claimed` / `resolved` 仅是临时工作状态,不属于本表五态;进入交付 Ticket 前必须转换为标准 `Status:`。
@@ -336,6 +336,12 @@ skills:
336
336
  instance_default_discoverable: false
337
337
  aliases: []
338
338
  impacts: [backend]
339
+ - id: yss-tactical-design
340
+ layer: specialist
341
+ maturity: draft
342
+ instance_default_discoverable: false
343
+ aliases: []
344
+ impacts: [backend, lifecycle]
339
345
  - id: yss-dto
340
346
  layer: specialist
341
347
  maturity: supported
@@ -438,6 +444,12 @@ skills:
438
444
  instance_default_discoverable: true
439
445
  aliases: []
440
446
  impacts: [lifecycle, backend, frontend]
447
+ - id: yss-stage-decision
448
+ layer: core
449
+ maturity: draft
450
+ instance_default_discoverable: true
451
+ aliases: []
452
+ impacts: [discovery, lifecycle]
441
453
  - id: yss-security-algorithm
442
454
  layer: specialist
443
455
  maturity: supported
@@ -67,6 +67,7 @@ owner: ai
67
67
  ## 8. Tactical DDD Check(轻量)
68
68
 
69
69
  > 本节嵌入系统概要设计 / 数据架构,不新增独立阶段。只有当聚合边界、状态机、一致性或持久化映射复杂到无法在本节说明时,才升级为 `docs/.scratch/<feature>/architecture/<feature>-tactical-design.md`。
70
+ > 战术设计优先引用结构化 `tactical-design` contract(含 `version`、`digest` 和 `evidence.tactical-design-review`);独立文档只承载复杂场景的展开,不成为第二套事实源。
70
71
 
71
72
  | 限界上下文 | 聚合根 | 业务不变量 | Entity / Value Object | 一致性边界 | Gateway / Repository | 主要测试 seam |
72
73
  |------------|--------|------------|-----------------------|------------|----------------------|----------------|
@@ -27,6 +27,8 @@
27
27
  | 稳定 ID | 门禁 | 所属阶段 | 触发条件 | 前置门禁 | 必须留下的证据 |
28
28
  |---|---|---|---|---|---|
29
29
  | `gate.repository-identity-valid` | 仓库身份校验 | `stage.entry-triage` | 每次进入流程。 | 无 | `evidence.repository-identity-check` |
30
+ | `gate.domain-strategy-approved` | DDD 战略设计批准 | `stage.discovery` | 存在 DDD 战略设计影响或需要确定领域边界、统一语言和核心规则。 | 无 | `evidence.domain-strategy-review`、`evidence.approval-record` |
31
+ | `gate.stage-decision-package-approved` | 阶段决策包批准 | `stage.discovery` | Discovery 到 Spec 入口需要稳定的阶段决策合同。 | `gate.domain-strategy-approved` | `evidence.stage-decision-package`、`evidence.approval-record` |
30
32
  | `gate.spec-baseline-approved` | Spec 基线批准 | `stage.spec-architecture` | 新功能、行为变化或范围扩大进入 Spec 基线。 | 无 | `evidence.approval-record` |
31
33
  | `gate.prototype-reviewed` | 原型评审 | `stage.product-design` | 命中产品设计影响,且低保真页面、流程、状态或 API 反推需要独立评审。 | 无 | `evidence.prototype-review-result` |
32
34
  | `gate.prototype-verified` | 高保真原型验证 | `stage.product-design` | 需要高保真 HTML 原型进行视觉与交互校准。 | 无 | `evidence.antd-cli-validation`、`evidence.browser-prototype-verification` |
@@ -46,6 +48,8 @@
46
48
  | 稳定 ID | 产物 | 所属阶段 | 触发条件 |
47
49
  |---|---|---|---|
48
50
  | `artifact.impact-assessment` | 影响面分析 | `stage.entry-triage` | 每次变更。 |
51
+ | `artifact.domain-strategy` | DDD 战略设计 | `stage.discovery` | 新产品/模块、跨上下文功能、统一语言冲突、服务边界或核心规则变化。 |
52
+ | `artifact.stage-decision-package` | 阶段决策包 | `stage.discovery` | Discovery 到 Spec 入口需要结构化上游决策。 |
49
53
  | `artifact.discovery-record` | Discovery 记录 | `stage.discovery` | 新问题或边界不清。 |
50
54
  | `artifact.spec` | Spec | `stage.spec-architecture` | 新功能、行为变化或范围扩大。 |
51
55
  | `artifact.product-overview` | 产品总体设计 | `stage.spec-architecture` | 进入 Spec 基线。 |
@@ -61,6 +65,7 @@
61
65
  | `artifact.data-architecture` | 数据架构 | `stage.system-data-engineering` | 数据模型、存储或一致性变化。 |
62
66
  | `artifact.engineering-baseline` | 工程基线记录 | `stage.system-data-engineering` | 后端、前端或高风险工程变化。 |
63
67
  | `artifact.architecture-review` | 架构审查记录 | `stage.system-data-engineering` | 高风险或跨边界变化。 |
68
+ | `artifact.tactical-design` | DDD 战术设计 | `stage.system-data-engineering` | 聚合边界、状态机、一致性或持久化映射复杂到无法在系统概要设计的 Tactical DDD Check 中清楚表达。 |
64
69
  | `artifact.spec-delta` | Spec Delta | `stage.spec-architecture` | 已有冻结 Spec 的高风险行为变化。 |
65
70
  | `artifact.parent-ticket` | 功能父 Ticket | `stage.ticket-formalization` | 每个进入追踪的功能。 |
66
71
  | `artifact.vertical-slice-ticket` | 垂直切片 Ticket | `stage.ticket-formalization` | 进入实现前。 |
@@ -74,6 +79,9 @@
74
79
  | 稳定 ID | 证据 | 说明 |
75
80
  |---|---|---|
76
81
  | `evidence.impact-assessment` | 影响面分析记录 | 受影响仓库、资产、风险与最近可信阶段。 |
82
+ | `evidence.domain-strategy-review` | DDD 战略设计评审证据 | 子域、限界上下文、统一语言、Context Map、场景和不变量的结构化评审结果。 |
83
+ | `evidence.tactical-design-review` | DDD 战术设计评审证据 | 聚合、Entity、Value Object、不变量、状态机、一致性、Gateway 与 API 隔离的结构化评审结果。 |
84
+ | `evidence.stage-decision-package` | 阶段决策包验证证据 | 阶段决策包的 Schema、引用、语义一致性、影响传播和下游消费验证结果。 |
77
85
  | `evidence.maintenance-intensity-checkpoint` | 模板维护强度 checkpoint | template-source 变更的 L1 / L2 / L3 分级、触发项、最低验证证据、review 模式和升级记录。 |
78
86
  | `evidence.repository-identity-check` | 仓库身份校验结果 | yss-project.yaml 的合法性与 repository_mode 裁决。 |
79
87
  | `evidence.approval-record` | 人工批准记录 | 对需要人工批准的 Spec、设计、契约或发布裁决的可追溯记录。 |
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "schema_version": 1,
3
3
  "registry_id": "yss.lifecycle",
4
- "semantic_sha256": "6c7251b7929c696d41e04218c927a0679d61bd38c7af0c21cde96ecdc2f7107f",
4
+ "semantic_sha256": "49ca553e83efb9cffae220d9e6fca434b1d27096126a640f8f8e172e048808df",
5
5
  "published_ids": [
6
6
  "artifact.architecture-review",
7
7
  "artifact.data-architecture",
8
8
  "artifact.discovery-record",
9
+ "artifact.domain-strategy",
9
10
  "artifact.engineering-baseline",
10
11
  "artifact.frontend-implementation-plan",
11
12
  "artifact.frontend-implementation-verification",
@@ -24,7 +25,9 @@
24
25
  "artifact.slice-implementation-contract",
25
26
  "artifact.spec",
26
27
  "artifact.spec-delta",
28
+ "artifact.stage-decision-package",
27
29
  "artifact.state-matrix",
30
+ "artifact.tactical-design",
28
31
  "artifact.vertical-slice-ticket",
29
32
  "evidence.antd-cli-validation",
30
33
  "evidence.approval-record",
@@ -32,6 +35,7 @@
32
35
  "evidence.checkpoint-and-rollback",
33
36
  "evidence.contract-approval",
34
37
  "evidence.design-review-result",
38
+ "evidence.domain-strategy-review",
35
39
  "evidence.fresh-verification",
36
40
  "evidence.frontend-implementation-verification",
37
41
  "evidence.impact-assessment",
@@ -40,9 +44,12 @@
40
44
  "evidence.prototype-confirmation",
41
45
  "evidence.prototype-review-result",
42
46
  "evidence.repository-identity-check",
47
+ "evidence.stage-decision-package",
48
+ "evidence.tactical-design-review",
43
49
  "evidence.yss-skill-execution-result",
44
50
  "gate.architecture-reviewed",
45
51
  "gate.design-reviewed",
52
+ "gate.domain-strategy-approved",
46
53
  "gate.engineering-baseline-accepted",
47
54
  "gate.frontend-implementation-verified",
48
55
  "gate.openapi-draft-reviewed",
@@ -54,6 +61,7 @@
54
61
  "gate.slice-contract-approved",
55
62
  "gate.slice-ready-for-agent",
56
63
  "gate.spec-baseline-approved",
64
+ "gate.stage-decision-package-approved",
57
65
  "gate.user-confirmation",
58
66
  "stage.discovery",
59
67
  "stage.entry-triage",
@@ -67,6 +75,7 @@
67
75
  "work-unit.code-review",
68
76
  "work-unit.discovery-opportunity",
69
77
  "work-unit.discovery-requirements",
78
+ "work-unit.domain-strategy-design",
70
79
  "work-unit.entry-triage",
71
80
  "work-unit.fresh-verification",
72
81
  "work-unit.independent-review",
@@ -80,6 +89,7 @@
80
89
  "work-unit.slice-implementation",
81
90
  "work-unit.spec-synthesis",
82
91
  "work-unit.ssot-update",
92
+ "work-unit.stage-decision",
83
93
  "work-unit.technical-analysis",
84
94
  "work-unit.ticket-decomposition",
85
95
  "work-unit.template-snapshot-build"
@@ -48,6 +48,15 @@ evidence:
48
48
  - id: evidence.impact-assessment
49
49
  name: 影响面分析记录
50
50
  description: 受影响仓库、资产、风险与最近可信阶段。
51
+ - id: evidence.domain-strategy-review
52
+ name: DDD 战略设计评审证据
53
+ description: 子域、限界上下文、统一语言、Context Map、场景和不变量的结构化评审结果。
54
+ - id: evidence.tactical-design-review
55
+ name: DDD 战术设计评审证据
56
+ description: 聚合、Entity、Value Object、不变量、状态机、一致性、Gateway 与 API 隔离的结构化评审结果。
57
+ - id: evidence.stage-decision-package
58
+ name: 阶段决策包验证证据
59
+ description: 阶段决策包的 Schema、引用、语义一致性、影响传播和下游消费验证结果。
51
60
  - id: evidence.maintenance-intensity-checkpoint
52
61
  name: 模板维护强度 checkpoint
53
62
  description: template-source 变更的 L1 / L2 / L3 分级、触发项、最低验证证据、review 模式和升级记录。
@@ -97,6 +106,17 @@ gates:
97
106
  stage: stage.entry-triage
98
107
  trigger: 每次进入流程。
99
108
  evidence: [evidence.repository-identity-check]
109
+ - id: gate.domain-strategy-approved
110
+ name: DDD 战略设计批准
111
+ stage: stage.discovery
112
+ trigger: 存在 DDD 战略设计影响或需要确定领域边界、统一语言和核心规则。
113
+ evidence: [evidence.domain-strategy-review, evidence.approval-record]
114
+ - id: gate.stage-decision-package-approved
115
+ name: 阶段决策包批准
116
+ stage: stage.discovery
117
+ trigger: Discovery 到 Spec 入口需要稳定的阶段决策合同。
118
+ evidence: [evidence.stage-decision-package, evidence.approval-record]
119
+ requires_gates: [gate.domain-strategy-approved]
100
120
  - id: gate.spec-baseline-approved
101
121
  name: Spec 基线批准
102
122
  stage: stage.spec-architecture
@@ -169,6 +189,14 @@ artifacts:
169
189
  name: 影响面分析
170
190
  stage: stage.entry-triage
171
191
  trigger: 每次变更。
192
+ - id: artifact.domain-strategy
193
+ name: DDD 战略设计
194
+ stage: stage.discovery
195
+ trigger: 新产品/模块、跨上下文功能、统一语言冲突、服务边界或核心规则变化。
196
+ - id: artifact.stage-decision-package
197
+ name: 阶段决策包
198
+ stage: stage.discovery
199
+ trigger: Discovery 到 Spec 入口需要结构化上游决策。
172
200
  - id: artifact.discovery-record
173
201
  name: Discovery 记录
174
202
  stage: stage.discovery
@@ -229,6 +257,10 @@ artifacts:
229
257
  name: 架构审查记录
230
258
  stage: stage.system-data-engineering
231
259
  trigger: 高风险或跨边界变化。
260
+ - id: artifact.tactical-design
261
+ name: DDD 战术设计
262
+ stage: stage.system-data-engineering
263
+ trigger: 聚合边界、状态机、一致性或持久化映射复杂到无法在系统概要设计的 Tactical DDD Check 中清楚表达。
232
264
  - id: artifact.spec-delta
233
265
  name: Spec Delta
234
266
  stage: stage.spec-architecture
@@ -319,6 +351,18 @@ work_units:
319
351
  input: 机会结论、用户反馈和领域词汇。
320
352
  output: 用户、MVP、非目标、成功标准、测试 seam 和未决项。
321
353
  completion: frontier 清空;用户确认;无 runnable blocker。
354
+ - id: work-unit.domain-strategy-design
355
+ name: DDD 战略设计
356
+ scope: project-instance
357
+ input: 已澄清的业务场景、领域词汇、约束和现有上下文。
358
+ output: 子域、限界上下文、Context Map、统一语言、事件、核心领域概念候选和不变量。
359
+ completion: 边界、语义方向、规则所有权和关键场景可审查;无未解释冲突。
360
+ - id: work-unit.stage-decision
361
+ name: 阶段决策包综合
362
+ scope: project-instance
363
+ input: Discovery、DDD 战略设计、产品和商务输入。
364
+ output: 带版本、digest、证据和下游映射的阶段决策包。
365
+ completion: 必填字段、引用、影响面和下游消费验证通过;批准门禁完成。
322
366
  - id: work-unit.spec-synthesis
323
367
  name: Spec 综合
324
368
  scope: project-instance
@@ -335,8 +379,8 @@ work_units:
335
379
  name: 技术分析与契约冻结
336
380
  scope: project-instance
337
381
  input: Spec、原型、API/数据/工程影响面。
338
- output: OpenAPI、数据架构、工程基线、架构审查和 Slice 合同草案。
339
- completion: 命中契约已冻结;无 API 影响有可读记录;工程基线通过。
382
+ output: OpenAPI、数据架构、Tactical DDD Check、工程基线、架构审查和 Slice 合同草案。
383
+ completion: 命中契约已冻结;无 API 影响有可读记录;命中领域影响时战术模型无未解释冲突;工程基线通过。
340
384
  - id: work-unit.ticket-decomposition
341
385
  name: 垂直切片 Ticket 正式化
342
386
  scope: project-instance
@@ -0,0 +1,107 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yss.dev/schemas/digital-human-task-package.schema.json",
4
+ "title": "YSS Digital Human Task Package",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "task_id", "work_unit_id", "actor_id", "role_id", "runtime_id", "execution_state", "workflow_status", "skill_source", "contract", "inputs", "objective", "allowed_write_paths", "forbidden_actions", "expected_outputs", "expected_evidence_files", "verification_commands", "verification_results", "downstream_consumers", "convergence"],
8
+ "properties": {
9
+ "schema_version": { "const": 1 },
10
+ "task_id": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" },
11
+ "work_unit_id": { "type": "string", "minLength": 1, "pattern": "^work-unit\\.[a-z0-9][a-z0-9-]*$" },
12
+ "actor_id": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$" },
13
+ "role_id": { "type": "string", "pattern": "^role\\.[a-z0-9][a-z0-9-]*$" },
14
+ "runtime_id": { "type": "string", "pattern": "^runtime\\.[a-z0-9][a-z0-9-]*$" },
15
+ "execution_state": { "enum": ["Explorer", "Drafter", "Worker", "Reviewer", "Verifier"] },
16
+ "workflow_status": { "enum": ["not-started", "active", "paused", "resolved", "failed"] },
17
+ "stage_id": { "type": "string", "pattern": "^stage\\.[a-z0-9][a-z0-9-]*$" },
18
+ "feature_id": { "type": "string", "minLength": 1 },
19
+ "skill_source": {
20
+ "type": "object", "additionalProperties": false,
21
+ "required": ["registry_ref", "defaults_ref", "core_skills", "forbidden_skills"],
22
+ "properties": {
23
+ "registry_ref": { "const": "docs/agents/digital-human-roles.yaml" },
24
+ "defaults_ref": { "type": "string", "minLength": 1 },
25
+ "core_skills": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
26
+ "forbidden_skills": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }
27
+ }
28
+ },
29
+ "contract": {
30
+ "type": "object", "additionalProperties": false,
31
+ "required": ["kind", "contract_id", "contract_version", "status", "contract_ref"],
32
+ "properties": {
33
+ "kind": { "enum": ["lifecycle-work-unit", "slice-implementation", "template-maintenance"] },
34
+ "contract_id": { "type": "string", "minLength": 1 },
35
+ "contract_version": { "type": "integer", "minimum": 1 },
36
+ "status": { "enum": ["issued", "stale", "blocked"] },
37
+ "contract_ref": { "type": "string", "minLength": 1 },
38
+ "lifecycle_ref": { "type": "string", "minLength": 1 },
39
+ "slice_contract_ref": { "type": "string", "minLength": 1 },
40
+ "maintenance_ref": { "type": "string", "minLength": 1 },
41
+ "artifact_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } },
42
+ "gate_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } }
43
+ }
44
+ },
45
+ "inputs": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
46
+ "objective": { "type": "string", "minLength": 1 },
47
+ "allowed_write_paths": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
48
+ "forbidden_actions": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
49
+ "expected_outputs": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
50
+ "expected_evidence_files": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
51
+ "verification_commands": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
52
+ "verification_results": {
53
+ "type": "array", "items": {
54
+ "type": "object", "additionalProperties": false,
55
+ "required": ["command", "exit_code", "executed_at", "evidence_ref"],
56
+ "properties": {
57
+ "command": { "type": "string", "minLength": 1 },
58
+ "exit_code": { "type": "integer", "minimum": 0 },
59
+ "duration_ms": { "type": "integer", "minimum": 0 },
60
+ "executed_at": { "type": "string", "minLength": 1 },
61
+ "evidence_ref": { "type": "string", "minLength": 1 },
62
+ "stdout_ref": { "type": "string", "minLength": 1 },
63
+ "stderr_ref": { "type": "string", "minLength": 1 }
64
+ }
65
+ }
66
+ },
67
+ "review_context": {
68
+ "type": "object", "additionalProperties": false, "required": ["implementation_actor_id"],
69
+ "properties": { "implementation_actor_id": { "type": "string", "minLength": 1 }, "implementation_task_id": { "type": "string", "minLength": 1 } }
70
+ },
71
+ "downstream_consumers": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
72
+ "convergence": {
73
+ "type": "object", "additionalProperties": false, "required": ["parent_work_unit", "convergence_ref"],
74
+ "properties": {
75
+ "parent_work_unit": { "type": "string", "pattern": "^work-unit\\.[a-z0-9][a-z0-9-]*$" },
76
+ "convergence_ref": { "type": "string", "minLength": 1 },
77
+ "conflict_escalation": { "type": "string", "minLength": 1 }
78
+ }
79
+ },
80
+ "result": {
81
+ "type": "object", "additionalProperties": false,
82
+ "properties": {
83
+ "result_schema": { "const": "workflow-execution-result-v1" },
84
+ "work_unit": { "type": "string", "minLength": 1 },
85
+ "workflow_reference": { "type": "string", "minLength": 1 },
86
+ "result": { "enum": ["completed", "blocked", "needs-human", "failed"] },
87
+ "skill": { "type": "string", "minLength": 1 },
88
+ "changed_files": { "type": "array", "items": { "type": "string", "minLength": 1 } },
89
+ "changed_artifacts": { "type": "array", "items": { "type": "string", "minLength": 1 } },
90
+ "evidence_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } },
91
+ "deferred_seams": { "type": "array", "items": { "type": "string", "minLength": 1 } },
92
+ "drift": { "type": "array", "items": { "type": "string", "minLength": 1 } },
93
+ "violation": { "type": "array", "items": { "type": "string", "minLength": 1 } },
94
+ "new_impacts": { "type": "array", "items": { "type": "string", "minLength": 1 } },
95
+ "stale_candidates": { "type": "array", "items": { "type": "string", "minLength": 1 } },
96
+ "next_route": { "type": ["string", "null"], "minLength": 1 },
97
+ "blocking_signals": { "type": "array", "items": { "type": "string", "minLength": 1 } }
98
+ }
99
+ }
100
+ },
101
+ "allOf": [
102
+ { "if": { "properties": { "contract": { "properties": { "kind": { "const": "lifecycle-work-unit" } } } } }, "then": { "required": ["stage_id"], "properties": { "contract": { "required": ["lifecycle_ref"] } } } },
103
+ { "if": { "properties": { "contract": { "properties": { "kind": { "const": "slice-implementation" } } } } }, "then": { "required": ["stage_id"], "properties": { "contract": { "required": ["slice_contract_ref"] } } } },
104
+ { "if": { "properties": { "contract": { "properties": { "kind": { "const": "template-maintenance" } } } } }, "then": { "properties": { "contract": { "required": ["maintenance_ref"] } } } },
105
+ { "if": { "properties": { "execution_state": { "const": "Reviewer" } } }, "then": { "required": ["review_context"] } }
106
+ ]
107
+ }
@@ -37,7 +37,8 @@
37
37
  "properties": {
38
38
  "status": { "enum": ["not-evaluated", "blocked", "ready-for-human", "approved", "stale", "not-applicable"] },
39
39
  "reason": { "type": "string" },
40
- "evidence_refs": { "type": "array", "items": { "type": "string" } }
40
+ "evidence_refs": { "type": "array", "items": { "type": "string" } },
41
+ "approval_ref": { "type": ["string", "null"] }
41
42
  }
42
43
  }
43
44
  },
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yss.dev/schemas/subagent-task-package.schema.json",
4
+ "title": "YSS Subagent Task Package (compatibility alias)",
5
+ "$ref": "digital-human-task-package.schema.json"
6
+ }