create-yss-spec 2.2.3 → 2.2.5

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 (341) 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 +15 -14
  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 +2 -2
  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 +6 -3
  11. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +7 -2
  12. package/template/.agents/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  50. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +7 -2
  51. package/template/.claude/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  89. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +7 -2
  90. package/template/.codex/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  128. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +7 -2
  129. package/template/.cursor/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  167. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +7 -2
  168. package/template/.hermes/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  206. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +7 -2
  207. package/template/.pi/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  245. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +7 -2
  246. package/template/.qoder/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +15 -14
  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 +2 -2
  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 +6 -3
  284. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +7 -2
  285. package/template/.trae/skills/yss-router/SKILL.md +4 -2
  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 +58 -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 +22 -5
  318. package/template/CONTEXT.md +1 -1
  319. package/template/docs/agents/README.md +1 -1
  320. package/template/docs/agents/digital-human-roles.md +2 -2
  321. package/template/docs/agents/digital-human-roles.yaml +7 -1
  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/subagent-task-package.schema.json +6 -0
  329. package/template/docs/process/subagent-collaboration.md +2 -2
  330. package/template/docs/templates/subagent-task-package-template.md +39 -1
  331. package/template/scripts/lib/lifecycle-transition.mjs +259 -0
  332. package/template/scripts/lib/scenario-checks.mjs +96 -2
  333. package/template/scripts/lib/task-package.mjs +214 -0
  334. package/template/scripts/verify-digital-human-task-package +14 -0
  335. package/template/scripts/verify-digital-human-task-package-scenarios +8 -0
  336. package/template/scripts/verify-lifecycle-transition-scenarios +105 -0
  337. package/template/scripts/verify-subagent-task-package +8 -0
  338. package/template/scripts/verify-subagent-task-package-scenarios +196 -0
  339. package/template/scripts/verify-template +13 -2
  340. package/template/skills-lock.json +36 -4
  341. package/template.snapshot.json +4 -4
@@ -22,7 +22,7 @@
22
22
  | 影响面触发与 `not-applicable` | `docs/process/harness-process-tailoring.md` |
23
23
  | 模板维护强度触发与最低等级 | `docs/process/maintenance-intensity.yaml` |
24
24
  | 技能清单、来源、版本、哈希和投影目标 | `skills-lock.json` |
25
- | 技能分层、别名、默认可发现性和运行时入口 | `docs/agents/yss-skill-registry.yaml`(当前 `status: shadow`,不作为 Router / 生命周期运行时入口) |
25
+ | 技能分层、别名、默认可发现性和运行时入口 | `docs/agents/yss-skill-registry.yaml`(当前 `status: active`;Router / 生命周期必须消费) |
26
26
  | 数字人角色、阶段协作组、运行时绑定与生命周期会签 | `docs/agents/digital-human-roles.yaml`;`docs/agents/digital-human-roles.md` 为操作说明 |
27
27
 
28
28
  README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或解释上述事实,不重复定义同一规则。`CLAUDE.md` 是 Claude Code 入口指针,不是第二套 Agent 规则。
@@ -32,7 +32,8 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
32
32
  - 所有面向业务、产品、架构、实施、审查、发布和复盘的落地文档,正文统一使用简体中文。
33
33
  - 英文专有名词、代码标识、API 路径、schema、类名、方法名、枚举值、错误码、命令、文件名和协议 metadata 保持原样。
34
34
  - 新流程统一使用 Spec、Ticket、`to-spec`、`to-tickets`。过时术语和技能名只能出现在迁移指南或明确标注的旧项目上下文。
35
- - 实施前读取 `CONTEXT.md`。业务术语必须已有 PascalCase `英文标识`;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形。改中文术语或英文标识都先回写 `CONTEXT.md`。与词汇或 ADR 冲突时立即指出并先解决冲突。
35
+ - `CONTEXT.md` 是 Spec 构建及其落地工具链的统一语言输入,也是所有会创建或修改稳定业务、产品、架构、实施、审查、发布和复盘资产的强制前置上下文。`yss-product-lifecycle`、其原生 work unit,以及 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等显式兼容入口,在规划、起草、评审、拆 Ticket 或实现前都必须读取并持续消费它;工具无法读取或消费时必须暂停并返回 `blocked`,不得凭临场翻译、同义词或局部上下文继续。
36
+ - 稳定业务术语必须先在 `CONTEXT.md` 中登记 PascalCase `英文标识`,再进入 Spec、原型、契约、Ticket、代码或验证资产;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形。改中文术语或英文标识都先回写 `CONTEXT.md`,并重新检查受影响资产;与词汇或 ADR 冲突时立即指出并先解决冲突。
36
37
 
37
38
  ## 4. `template-source` 模板维护路由
38
39
 
@@ -46,6 +47,19 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
46
47
 
47
48
  先用 `docs/process/harness-process-tailoring.md` 判定变更类型、影响面和最近可信阶段,再按 `docs/process/lifecycle-registry.yaml` 执行命中的工作单元和条件门禁。
48
49
 
50
+ 下表是与 `yss-product-lifecycle` 对齐的阶段级导航索引;阶段、工作单元、技能和门禁不是同一层,条件细节以注册表及 lifecycle skill references 为准。
51
+
52
+ | 主阶段(registry) | 原生工作单元 | 技能入口(按影响面裁剪) | 关键产物 / 门禁 |
53
+ |---|---|---|---|
54
+ | 入口分诊 `stage.entry-triage` | `work-unit.entry-triage` | `yss-product-lifecycle` | 仓库身份、影响面、最近可信阶段;`gate.repository-identity-valid` |
55
+ | Discovery `stage.discovery` | `work-unit.discovery-opportunity`、`work-unit.discovery-requirements`、`work-unit.domain-strategy-design`、`work-unit.stage-decision` | `yss-product-lifecycle`;按事实 / 领域影响使用 `competitive-intelligence`、`research`、`grilling`、`domain-modeling`、`yss-stage-decision` | Discovery、用户/MVP/非目标/成功标准、测试 seam;必要时 DDD 战略设计与阶段决策包;`gate.domain-strategy-approved`、`gate.stage-decision-package-approved` |
56
+ | Spec / 功能架构 `stage.spec-architecture` | `work-unit.spec-synthesis` | `yss-product-lifecycle`;`to-spec` 仅为显式兼容入口 | Spec、产品总体设计、功能架构;必要时 Spec Delta;`gate.spec-baseline-approved` |
57
+ | 产品设计 `stage.product-design` | `work-unit.prototype-design` | `yss-design-system` → `prototype-review` → `yss-prototype-stage` → `yss-antd-design` → Codex `product-design:index`;前端落地改用 `yss-ui` | 交互说明、低 / 高保真原型、状态矩阵;`gate.prototype-reviewed`、`gate.prototype-verified`、`gate.user-confirmation` |
58
+ | 系统 / 数据架构与工程契约 `stage.system-data-engineering` | `work-unit.technical-analysis` | `yss-router`;按影响使用 `yss-openapi-governance`、`yss-openapi-draft-review`、`codebase-design`、`implementation-repo-onboarding`、`yss-tactical-design` | OpenAPI Draft / Freeze、数据架构、工程基线、架构审查;无 API 影响记录;必要时 Tactical DDD Check;`gate.openapi-draft-reviewed`、`gate.design-reviewed`、`gate.openapi-frozen`、`gate.engineering-baseline-accepted`、`gate.architecture-reviewed` |
59
+ | Ticket 正式化 `stage.ticket-formalization` | `work-unit.ticket-decomposition` | `yss-product-lifecycle` + `yss-router`;`to-tickets` 仅为显式兼容入口 | 功能父 Ticket、垂直切片、Slice Implementation Contract;切片初始 `ready-for-human`;`gate.slice-contract-approved`、`gate.slice-ready-for-agent` |
60
+ | 垂直切片实现 `stage.vertical-slice-implementation` | `work-unit.slice-implementation` | `yss-router` + `tdd`;UI 影响追加 `yss-ui`、`yss-page-module-development` 及条件专项 skill;`implement` 仅为显式兼容入口 | 前后端代码、TDD、YSS Skill Execution Result;仅允许 `ready-for-agent` 且合同当前 |
61
+ | 验证 / 发布 / 复盘 `stage.verification-release-retrospective` | `work-unit.frontend-implementation-verification`、`work-unit.code-review`、`work-unit.release-and-retrospective` | `code-review`;UI 影响追加 `yss-ui` + `yss-design-system`;发布 / 复盘由 `yss-product-lifecycle` 持有 | 不可变候选快照、独立审查、fresh verification、发布 / 回滚证据、复盘;UI 影响追加 `gate.frontend-implementation-verified`;`gate.release-ready` |
62
+
49
63
  - 生命周期注册表中的条件门禁全部按影响面强制。命中触发条件时必须完成;未命中时只记录 `not-applicable` 及原因,不生成空文档;不得把产物、工作单元或证据统称为门禁。
50
64
  - 安全 / 权限不设独立生命周期资料或专属门禁。日常功能不做额外登记、`not-applicable` 或推导校验;只有需求或冻结资产明确要求改变认证、授权、租户隔离、敏感数据或合规行为时,才把该行为写入普通 Spec、API、架构、验收和测试 seam,并仅按实际 UI、API、Backend、Data、High-risk 影响触发既有门禁。普通 action 注册、沿用既有认证中间件、未变化的 `401` / `403`、一般字段、SQL / DDL / 迁移和上传 / 下载本身不构成安全 / 权限专项。
51
65
  - `seam-deferred` 只能显式记录风险、责任人、后续 Ticket、验证计划和目标版本或发布日期。
@@ -68,6 +82,7 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
68
82
  - 无可复用工程时,先确认外部目标仓库或输出目录,再使用 `yss-ddd-scaffold-generator` / `yss-frontend-scaffold-generator`;当前仓库缺少 frontend / backend 目录不改变此路由。
69
83
  - 脚手架只在 `scaffold_status=required` 且受控生成合同已持久化、获得生命周期批准后运行;它只产生机械骨架,业务行为回到 Router 并使用 `behavior-tdd`。
70
84
  - 正式垂直切片必须消费已批准、已持久化且版本当前的 Slice Implementation Contract。Router 只生成草案,不批准合同、不设置 `ready-for-agent`、不宣布完成。合同 schema、Backend 子合同和证据字段以 `yss-router` references 为准。
85
+ - UI 影响切片必须在 `ready-for-agent` 前具备通过校验的 `frontend_implementation_plan`,实现完成后补齐 `frontend_implementation_verification`;截图 / 视觉回归、状态与交互、console warning 和实际 `pnpm` 退出码均须有证据,不能只做 type-check 或声称“已对齐”。
71
86
  - 前端测试、type-check 与构建优先使用 `pnpm`;后端校验、测试与编译优先使用项目根 `./mvnw`。不要默认 `npm` / `yarn` 或裸 `mvn`。既有仓库确实没有 pnpm 或 Maven Wrapper 时,必须记录受控例外和实际命令。登记字段见 `docs/process/implementation-repo-integration.md`。
72
87
  - 路径越界、证据缺失、未执行验证、`drift`、`violation` 或 `new_impacts` 时停止实现并重新路由。
73
88
 
@@ -75,19 +90,21 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
75
90
 
76
91
  ## 8. 专项任务的强制入口
77
92
 
93
+ 本表补充跨阶段的触发型技能;主阶段对应的原生工作单元和条件技能以第 5 节、`yss-product-lifecycle` 及 `orchestration-contract.yaml` 为准。
94
+
78
95
  | 触发情形 | 必须使用 |
79
96
  |---|---|
80
97
  | 技术事实、标准、第三方 API 或框架行为影响决策 | `research` 或等价的一手资料记录 |
81
98
  | 竞品、市场或用户口碑事实 | `competitive-intelligence` |
82
- | UI 设计、原型、组件或主题 | `yss-design-system` 后使用 `yss-prototype-stage`;Codex 再路由 `product-design:index`,其他 Agent 交付等价合同资产;原型产出前后用 `yss-antd-design` 记录 Ant Design v6 事实与浏览器验证。前端代码落地改用 `yss-ui`,不要继续调用 `yss-antd-design` |
99
+ | UI 设计、原型、组件或主题 | `yss-design-system` → `prototype-review` → `yss-prototype-stage`;原型事实用 `yss-antd-design`,Codex 再路由 `product-design:index`,其他 Agent 交付等价合同资产。前端代码落地改用 `yss-ui`,不要继续调用 `yss-antd-design` |
83
100
  | Bug、测试失败或性能回退 | `diagnosing-bugs` 建立可复现反馈,再用 `tdd` |
84
101
  | merge / rebase 冲突 | `resolving-merge-conflicts` |
85
- | 架构治理、难测模块或深模块设计 | `improve-codebase-architecture` / `codebase-design` |
102
+ | 架构治理、难测模块或深模块设计 | `codebase-design`;`improve-codebase-architecture` 仅作为用户显式兼容入口 |
86
103
  | 跨线程、跨仓库、上下文过长或原型结论回流 | `handoff` 或等价交接记录 |
87
104
  | 数字人角色、Agent 运行时协同或生命周期会签 | 先读 `docs/agents/digital-human-roles.yaml`。职称实例叠加在编排器上,不另起生命周期,不批准 Slice 合同、不设 `ready-for-agent`、不宣布可发布 |
88
105
  | 本地知识库 init / refresh / rebuild,或要把研究结果落成持久 wiki | `llm-wiki`(落成持久 wiki 用 `ingest`;已映射 live 源变了用 `refresh`)。`template-source` 的 wiki-root 为 `.template-source/wiki`;`project-instance` 不附带源仓库编译树,需要时在仓库根 `wiki/` 执行 `init` |
89
106
 
90
- 业务行为默认按 `tdd` 使用已确认的公开 seam 逐切片实现。一次性生成、纯配置或流程文档不适用代码 TDD 时,必须记录例外理由和可执行验证方式。
107
+ 业务行为默认按 `tdd` 的 `behavior-tdd` 模式使用已确认的公开 seam 逐切片实现。一次性生成、纯配置或流程文档不适用代码 TDD 时,必须记录例外理由和可执行验证方式。
91
108
 
92
109
  ## 9. 工作区与实现仓库边界
93
110
 
@@ -75,7 +75,7 @@
75
75
  | 试验技能 | 尚未达到项目默认支持成熟度的技能。 | — | 只在明确试验范围内使用,不进入 Router 默认技能闭包。 |
76
76
  | 显式兼容入口 | 为已有用户操作习惯保留的 user-invoked 工作流入口,写入前由生命周期编排器预检,结果回交其验收。 | — | 不是默认路径、过时别名或可以越过门禁的第二套生命周期。 |
77
77
  | 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | — | 不等同于文件存在、已被投影或能够安装。 |
78
- | 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | — | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `shadow`,Router 与生命周期不得按其裁剪发现面。 |
78
+ | 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | — | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `active`,Router、生命周期编排器和实例发现面必须消费通过校验的 canonical 技能及其 alias 解析结果。 |
79
79
  | LLM Wiki | 由 `raw/`、`wiki/` 与 `.wiki-manifest.json` 组成的本地持久知识库。 | — | 不是 `research` 一次性笔记,也不替代权威源。`ingest` 只把用户点名的外源或已落盘研究笔记编进 IR,不改 live 权威文件。 |
80
80
  | 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | — | 不要求尚未生成的仓库 commit 互相循环引用。 |
81
81
  | 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | — | 不等同于前端 / 后端代码 monorepo。 |
@@ -19,7 +19,7 @@
19
19
  | `triage-labels.md` | 标准五态 triage 标签与含义 |
20
20
  | `domain.md` | 领域文档读取和维护规则 |
21
21
  | `skills-maintenance.md` | Engineering Skills 的安装、升级和验证说明 |
22
- | `yss-skill-registry.yaml` | 技能分层、别名与运行时入口(shadow,不替代锁文件) |
22
+ | `yss-skill-registry.yaml` | 技能分层、别名与运行时入口(active;不替代锁文件) |
23
23
  | `gitlab-workflow-skills.md` | GitLab、MR、CI 和自动 gitworks 的技能配置与使用规则 |
24
24
 
25
25
  当 `AGENTS.md` 或某个 skill 提到本目录时,应优先把这里当作项目协作规则读取;真正的 skill 执行入口是各平台投影根,Cursor 为 `.cursor/skills`。
@@ -16,7 +16,7 @@
16
16
  | 执行态 | Explorer / Drafter / Worker / Reviewer / Verifier | 数字人角色 |
17
17
  | 运行时绑定 | 如何在 Cursor / Claude / Grok 等落地 | 角色职责本身 |
18
18
 
19
- 一次任务包同时写明数字人角色、执行态、当前 `runtime_id`,以及从角色表复制的 `core_skills` / `forbidden_skills`。可用 `taskPackageDefaults(roleId)`(`scripts/lib/digital-human-roles.mjs`)读取,禁止手写第二套技能包。
19
+ 一次数字人任务包同时写明 `task_id`、`work_unit_id`、`actor_id`、数字人角色、执行态、当前 `runtime_id`,以及从角色表复制的 `core_skills` / `forbidden_skills`。可用 `taskPackageDefaults(roleId)`(`scripts/lib/digital-human-roles.mjs`)读取,禁止手写第二套技能包。任务包 canonical Schema 为 `docs/process/schemas/digital-human-task-package.schema.json`,按 `contract.kind` 选择生命周期、切片实现或模板维护合同。
20
20
 
21
21
  ## 会签人
22
22
 
@@ -80,4 +80,4 @@ Grok 专用操作见 `docs/templates/grok-bot-profile-template.md`。通用实
80
80
 
81
81
  ## 任务包最低字段
82
82
 
83
- 数字人角色 ID、`runtime_id`、执行态、从角色表复制的 `core_skills` / `forbidden_skills`、输入资产、允许写路径、禁止事项、验收、验证命令、汇合方式。
83
+ `task_id`、`work_unit_id`、`actor_id`、数字人角色 ID、`runtime_id`、执行态、从角色表复制的 `core_skills` / `forbidden_skills`、`contract.kind/id/version`、输入资产、允许写路径、禁止事项、验收、验证命令、证据、下游消费者和汇合方式。
@@ -157,7 +157,7 @@ roles:
157
157
  title: YSS 后端工程师
158
158
  stages: [stage.system-data-engineering, stage.ticket-formalization, stage.vertical-slice-implementation, stage.verification-release-retrospective]
159
159
  draft_artifact_ids: [artifact.openapi-draft, artifact.data-architecture]
160
- core_skills: [yss-router, yss-domain, yss-application, yss-repository, yss-mybatis, yss-web-controller, yss-dto, yss-exception, yss-validation, tdd, yss-ddd-scaffold-generator]
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
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
162
  description: >-
163
163
  Own OpenAPI Draft, data-architecture contributions, and backend tests.
@@ -242,6 +242,12 @@ gate_policy:
242
242
  - gate: gate.spec-baseline-approved
243
243
  drafter: role.requirements-manager
244
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]
245
251
  - gate: gate.openapi-frozen
246
252
  drafter: role.backend-engineer
247
253
  countersigners: [role.product-manager, role.test-engineer]
@@ -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
+ }
@@ -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
+ }
@@ -6,8 +6,8 @@ Subagent 和其它运行时实例只接收边界清晰的任务包。主控数
6
6
 
7
7
  ## 任务包
8
8
 
9
- 每个任务包必须写明数字人角色 ID、`runtime_id`、执行态、从 `docs/agents/digital-human-roles.yaml` 复制的 `core_skills` / `forbidden_skills`(可用 `taskPackageDefaults`)、输入资产、目标、允许写路径、禁止事项、验收标准、验证命令和汇合方式。禁止手写第二套技能包。
9
+ 凡主控向数字人角色或独立运行时正式派发生命周期工作单元,都必须使用 `docs/process/schemas/digital-human-task-package.schema.json` 定义的任务包,并写明 `task_id`、`work_unit_id`、`actor_id`、数字人角色 ID、`runtime_id`、执行态、工作流状态、从 `docs/agents/digital-human-roles.yaml` 复制的 `core_skills` / `forbidden_skills`(可用 `taskPackageDefaults`)、合同类型和版本、输入资产、目标、允许写路径、禁止事项、验收标准、验证命令及其实际退出码 / 执行时间 / 证据引用、下游消费者和汇合方式。`slice-implementation` 才额外绑定 Slice Implementation Contract;禁止手写第二套技能包;任务包由 `scripts/verify-digital-human-task-package` 校验,`scripts/verify-subagent-task-package` 仅为兼容入口。
10
10
 
11
11
  ## 汇合
12
12
 
13
- 返回结果至少包括变更文件、证据文件、实际执行的命令、结果、延期 seam、drift / violation / new impacts 和建议下一路由。主控必须重新执行 fresh verification,并在集中 checkpoint 中保留阶段因果。会签写入 `docs/.scratch/<feature>/gates/<gate-id>-approval.yaml`(形状见 `docs/templates/approval-record-template.yaml`),不能用聊天表情代替。恢复前校验 `scripts/verify-approval-record`。
13
+ 返回结果必须符合 `workflow-execution-result-v1`,至少包括 `work_unit`、`workflow_reference`、`result`、`skill`、`changed_files` / `changed_artifacts`、`evidence_refs`、实际验证结果、`deferred_seams`、`drift`、`violation`、`new_impacts`、`stale_candidates`、`blocking_signals` 和 `next_route`。主控必须重新执行 fresh verification,并在集中 checkpoint 中保留阶段因果。会签写入 `docs/.scratch/<feature>/gates/<gate-id>-approval.yaml`(形状见 `docs/templates/approval-record-template.yaml`),不能用聊天表情代替。恢复前校验 `scripts/verify-approval-record`。
@@ -3,7 +3,9 @@ status: template
3
3
  owner: ai
4
4
  ---
5
5
 
6
- # Subagent Task Package:<task_id>
6
+ # Digital Human Task Package:<task_id>
7
+
8
+ > Canonical contract: `docs/process/schemas/digital-human-task-package.schema.json`。本文件路径保留为兼容入口。
7
9
 
8
10
  > 用于主控 Agent 派发 subagent 前固定输入、输出、写范围和验收标准。没有任务包边界时,不得派发 subagent。
9
11
 
@@ -11,7 +13,10 @@ owner: ai
11
13
 
12
14
  | 字段 | 内容 |
13
15
  |---|---|
16
+ | schema_version | `1` |
14
17
  | task_id | |
18
+ | work_unit_id | 对应生命周期注册表的 `work_units[].id`;实现子任务对应 Slice Contract 的 `work_units[].id` |
19
+ | actor_id | 当前运行时实例标识;Reviewer 必须与实现者不同 |
15
20
  | Feature / Change | |
16
21
  | 生命周期阶段 | |
17
22
  | 对应门禁 | |
@@ -23,6 +28,8 @@ owner: ai
23
28
  | forbidden_skills | 从角色表复制,禁止手写 |
24
29
  | subagent 角色 | Explorer / Drafter / Worker / Reviewer / Verifier |
25
30
  | 任务类型 | explore / draft / work / review / verify |
31
+ | execution_state | 与 subagent 角色一致;由主控派发 |
32
+ | workflow_status | not-started / active / paused / resolved / failed |
26
33
 
27
34
  ## 2. 输入资产
28
35
 
@@ -35,11 +42,36 @@ owner: ai
35
42
  | Ticket / Slice / Checklist | | |
36
43
  | 代码 / 命令 / 其他 | | |
37
44
 
45
+ ## 2.1 合同与技能来源
46
+
47
+ | 字段 | 内容 |
48
+ |---|---|
49
+ | contract_id | |
50
+ | contract_version | |
51
+ | contract_kind | `lifecycle-work-unit` / `slice-implementation` / `template-maintenance` |
52
+ | contract_status | `issued` / `stale` / `blocked`;不替代生命周期门禁批准 |
53
+ | contract_ref | |
54
+ | lifecycle_ref | 生命周期工作单元使用 |
55
+ | Slice Implementation Contract | 仅 `slice-implementation` 填写 |
56
+ | maintenance_ref | 仅 `template-maintenance` 填写维护 checkpoint |
57
+ | 技能注册表 | `docs/agents/digital-human-roles.yaml` |
58
+ | 技能默认值 | `taskPackageDefaults(<role_id>)` |
59
+
38
60
  ## 3. 输出要求
39
61
 
40
62
  | 输出 | 路径 / 链接 | 完成标准 |
41
63
  |---|---|---|
42
64
  | | | |
65
+ | expected_evidence_files | | |
66
+
67
+ ## 3.1 下游与汇合
68
+
69
+ | 字段 | 内容 |
70
+ |---|---|
71
+ | downstream_consumers | |
72
+ | parent_work_unit | `<work-unit.id>` |
73
+ | convergence_ref | |
74
+ | conflict_escalation | |
43
75
 
44
76
  ## 4. 写范围
45
77
 
@@ -77,6 +109,12 @@ owner: ai
77
109
  | 主控 Agent 合并动作 | 采纳 / 部分采纳 / 不采纳 / 需返工 |
78
110
  | 未采纳原因 | |
79
111
 
112
+ ## 7.1 实际验证结果
113
+
114
+ | 命令 | exit_code | executed_at | evidence_ref |
115
+ |---|---:|---|---|
116
+ | | | | |
117
+
80
118
  ## 8. 子代理最终回复格式
81
119
 
82
120
  ```markdown