create-yss-spec 3.5.0 → 3.5.2

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 (513) hide show
  1. package/README.md +6 -2
  2. package/package.json +1 -1
  3. package/src/api/_sync-service.js +31 -6
  4. package/src/cli/args.js +2 -0
  5. package/src/cli/help.js +4 -1
  6. package/src/commands/attach.js +9 -3
  7. package/src/commands/diff.js +1 -0
  8. package/src/commands/doctor.js +1 -0
  9. package/src/commands/init.js +2 -1
  10. package/src/commands/sync.js +1 -0
  11. package/src/family-identity.js +1 -1
  12. package/src/template/asset-runtime.js +57 -49
  13. package/src/template/attach-planner.js +1 -1
  14. package/src/template/distribution-runtime.js +9 -9
  15. package/src/template/instance-runtime.js +9 -9
  16. package/src/template/layout-migration.js +160 -0
  17. package/src/template/migration-runtime.js +2 -2
  18. package/src/template/sync-planner.js +1 -1
  19. package/template/.agents/rules/yss-ai-skills.md +1 -1
  20. package/template/.agents/skills/.strategic-design-skills-manifest.json +7 -8
  21. package/template/.agents/skills/.yss-skills-manifest.json +2 -2
  22. package/template/.agents/skills/alibaba-java-code-style/SKILL.md +1 -1
  23. package/template/.agents/skills/code-review/SKILL.md +6 -6
  24. package/template/.agents/skills/code-review/references/yss-review-standards.md +1 -1
  25. package/template/.agents/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  26. package/template/.agents/skills/i-have-adhd/SKILL.md +1 -1
  27. package/template/.agents/skills/i-have-adhd/references/yss-adaptation.md +1 -1
  28. package/template/.agents/skills/i-have-adhd/tests/verify-integration.mjs +2 -2
  29. package/template/.agents/skills/implementation-repo-onboarding/SKILL.md +2 -2
  30. package/template/.agents/skills/llm-wiki/references/discover.md +3 -3
  31. package/template/.agents/skills/prototype-review/SKILL.md +4 -4
  32. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +10 -10
  33. package/template/.agents/skills/triage/SKILL.md +1 -1
  34. package/template/.agents/skills/yss-application/references/profiles/layered-mvc-service.md +1 -1
  35. package/template/.agents/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +1 -1
  36. package/template/.agents/skills/yss-backend-spec-review/SKILL.md +1 -1
  37. package/template/.agents/skills/yss-backend-spec-review/references/check-inputs.md +1 -1
  38. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  39. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  40. package/template/.agents/skills/yss-design-system/SKILL.md +10 -10
  41. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +3 -3
  42. package/template/.agents/skills/yss-design-system/references/design-system.md +3 -3
  43. package/template/.agents/skills/yss-exception/SKILL.md +1 -1
  44. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  45. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  46. package/template/.agents/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +2 -2
  47. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +9 -9
  48. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  49. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +9 -9
  50. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +3 -3
  51. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +1 -1
  52. package/template/.agents/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +1 -1
  53. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  54. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +5 -5
  55. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  56. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +42 -0
  57. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +2 -2
  58. package/template/.agents/skills/yss-openapi-governance/SKILL.md +7 -7
  59. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +11 -11
  60. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  61. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +65 -43
  62. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +22 -14
  63. package/template/.agents/skills/yss-product-lifecycle/references/request-triage.md +2 -0
  64. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -3
  65. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +2 -2
  66. package/template/.agents/skills/yss-prototype-stage/SKILL.md +7 -7
  67. package/template/.agents/skills/yss-prototype-stage/references/existing-ui-entry.md +1 -1
  68. package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +1 -1
  69. package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +3 -3
  70. package/template/.agents/skills/yss-prototype-stage/tests/browser-smoke.mjs +2 -2
  71. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +4 -4
  72. package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +1 -1
  73. package/template/.agents/skills/yss-repository/SKILL.md +2 -2
  74. package/template/.agents/skills/yss-repository/references/profiles/layered-mvc-service.md +1 -1
  75. package/template/.agents/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +1 -1
  76. package/template/.agents/skills/yss-repository/tests/profile-routing.test.mjs +2 -2
  77. package/template/.agents/skills/yss-research/SKILL.md +2 -2
  78. package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  79. package/template/.agents/skills/yss-stage-decision/SKILL.md +5 -5
  80. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +1 -1
  81. package/template/.agents/skills/yss-stage-decision/references/strategic-handoff-routing.md +1 -1
  82. package/template/.agents/skills/yss-tactical-design/SKILL.md +2 -2
  83. package/template/.agents/skills/yss-tactical-design/references/strategic-handoff-routing.md +1 -1
  84. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  85. package/template/.agents/skills/yss-technical-design/SKILL.md +6 -6
  86. package/template/.agents/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  87. package/template/.agents/skills/yss-ui/SKILL.md +1 -1
  88. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  89. package/template/.agents/skills/yss-web-controller/SKILL.md +1 -1
  90. package/template/.agents/skills/yss-web-controller/references/profiles/layered-mvc-service.md +1 -1
  91. package/template/.codex/skills/alibaba-java-code-style/SKILL.md +1 -1
  92. package/template/.codex/skills/code-review/SKILL.md +6 -6
  93. package/template/.codex/skills/code-review/references/yss-review-standards.md +1 -1
  94. package/template/.codex/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  95. package/template/.codex/skills/i-have-adhd/SKILL.md +1 -1
  96. package/template/.codex/skills/i-have-adhd/references/yss-adaptation.md +1 -1
  97. package/template/.codex/skills/i-have-adhd/tests/verify-integration.mjs +2 -2
  98. package/template/.codex/skills/implementation-repo-onboarding/SKILL.md +2 -2
  99. package/template/.codex/skills/llm-wiki/references/discover.md +3 -3
  100. package/template/.codex/skills/prototype-review/SKILL.md +4 -4
  101. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +10 -10
  102. package/template/.codex/skills/triage/SKILL.md +1 -1
  103. package/template/.codex/skills/yss-application/references/profiles/layered-mvc-service.md +1 -1
  104. package/template/.codex/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +1 -1
  105. package/template/.codex/skills/yss-backend-spec-review/SKILL.md +1 -1
  106. package/template/.codex/skills/yss-backend-spec-review/references/check-inputs.md +1 -1
  107. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  108. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  109. package/template/.codex/skills/yss-design-system/SKILL.md +10 -10
  110. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +3 -3
  111. package/template/.codex/skills/yss-design-system/references/design-system.md +3 -3
  112. package/template/.codex/skills/yss-exception/SKILL.md +1 -1
  113. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  114. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  115. package/template/.codex/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +2 -2
  116. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +9 -9
  117. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  118. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +9 -9
  119. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +3 -3
  120. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +1 -1
  121. package/template/.codex/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +1 -1
  122. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  123. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +5 -5
  124. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  125. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +42 -0
  126. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +2 -2
  127. package/template/.codex/skills/yss-openapi-governance/SKILL.md +7 -7
  128. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +11 -11
  129. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  130. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +65 -43
  131. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +22 -14
  132. package/template/.codex/skills/yss-product-lifecycle/references/request-triage.md +2 -0
  133. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -3
  134. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +2 -2
  135. package/template/.codex/skills/yss-prototype-stage/SKILL.md +7 -7
  136. package/template/.codex/skills/yss-prototype-stage/references/existing-ui-entry.md +1 -1
  137. package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +1 -1
  138. package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +3 -3
  139. package/template/.codex/skills/yss-prototype-stage/tests/browser-smoke.mjs +2 -2
  140. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +4 -4
  141. package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +1 -1
  142. package/template/.codex/skills/yss-repository/SKILL.md +2 -2
  143. package/template/.codex/skills/yss-repository/references/profiles/layered-mvc-service.md +1 -1
  144. package/template/.codex/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +1 -1
  145. package/template/.codex/skills/yss-repository/tests/profile-routing.test.mjs +2 -2
  146. package/template/.codex/skills/yss-research/SKILL.md +2 -2
  147. package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  148. package/template/.codex/skills/yss-stage-decision/SKILL.md +5 -5
  149. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +1 -1
  150. package/template/.codex/skills/yss-stage-decision/references/strategic-handoff-routing.md +1 -1
  151. package/template/.codex/skills/yss-tactical-design/SKILL.md +2 -2
  152. package/template/.codex/skills/yss-tactical-design/references/strategic-handoff-routing.md +1 -1
  153. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  154. package/template/.codex/skills/yss-technical-design/SKILL.md +6 -6
  155. package/template/.codex/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  156. package/template/.codex/skills/yss-ui/SKILL.md +1 -1
  157. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  158. package/template/.codex/skills/yss-web-controller/SKILL.md +1 -1
  159. package/template/.codex/skills/yss-web-controller/references/profiles/layered-mvc-service.md +1 -1
  160. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +1 -1
  161. package/template/.cursor/skills/code-review/SKILL.md +6 -6
  162. package/template/.cursor/skills/code-review/references/yss-review-standards.md +1 -1
  163. package/template/.cursor/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  164. package/template/.cursor/skills/i-have-adhd/SKILL.md +1 -1
  165. package/template/.cursor/skills/i-have-adhd/references/yss-adaptation.md +1 -1
  166. package/template/.cursor/skills/i-have-adhd/tests/verify-integration.mjs +2 -2
  167. package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +2 -2
  168. package/template/.cursor/skills/llm-wiki/references/discover.md +3 -3
  169. package/template/.cursor/skills/prototype-review/SKILL.md +4 -4
  170. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +10 -10
  171. package/template/.cursor/skills/triage/SKILL.md +1 -1
  172. package/template/.cursor/skills/yss-application/references/profiles/layered-mvc-service.md +1 -1
  173. package/template/.cursor/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +1 -1
  174. package/template/.cursor/skills/yss-backend-spec-review/SKILL.md +1 -1
  175. package/template/.cursor/skills/yss-backend-spec-review/references/check-inputs.md +1 -1
  176. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  177. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  178. package/template/.cursor/skills/yss-design-system/SKILL.md +10 -10
  179. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +3 -3
  180. package/template/.cursor/skills/yss-design-system/references/design-system.md +3 -3
  181. package/template/.cursor/skills/yss-exception/SKILL.md +1 -1
  182. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  183. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  184. package/template/.cursor/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +2 -2
  185. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +9 -9
  186. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  187. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +9 -9
  188. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +3 -3
  189. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +1 -1
  190. package/template/.cursor/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +1 -1
  191. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  192. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +5 -5
  193. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  194. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +42 -0
  195. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +2 -2
  196. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +7 -7
  197. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +11 -11
  198. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  199. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +65 -43
  200. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +22 -14
  201. package/template/.cursor/skills/yss-product-lifecycle/references/request-triage.md +2 -0
  202. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -3
  203. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +2 -2
  204. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +7 -7
  205. package/template/.cursor/skills/yss-prototype-stage/references/existing-ui-entry.md +1 -1
  206. package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +1 -1
  207. package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +3 -3
  208. package/template/.cursor/skills/yss-prototype-stage/tests/browser-smoke.mjs +2 -2
  209. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +4 -4
  210. package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +1 -1
  211. package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
  212. package/template/.cursor/skills/yss-repository/references/profiles/layered-mvc-service.md +1 -1
  213. package/template/.cursor/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +1 -1
  214. package/template/.cursor/skills/yss-repository/tests/profile-routing.test.mjs +2 -2
  215. package/template/.cursor/skills/yss-research/SKILL.md +2 -2
  216. package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  217. package/template/.cursor/skills/yss-stage-decision/SKILL.md +5 -5
  218. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +1 -1
  219. package/template/.cursor/skills/yss-stage-decision/references/strategic-handoff-routing.md +1 -1
  220. package/template/.cursor/skills/yss-tactical-design/SKILL.md +2 -2
  221. package/template/.cursor/skills/yss-tactical-design/references/strategic-handoff-routing.md +1 -1
  222. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  223. package/template/.cursor/skills/yss-technical-design/SKILL.md +6 -6
  224. package/template/.cursor/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  225. package/template/.cursor/skills/yss-ui/SKILL.md +1 -1
  226. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  227. package/template/.cursor/skills/yss-web-controller/SKILL.md +1 -1
  228. package/template/.cursor/skills/yss-web-controller/references/profiles/layered-mvc-service.md +1 -1
  229. package/template/.cursorrules +1 -1
  230. package/template/.pi/skills/alibaba-java-code-style/SKILL.md +1 -1
  231. package/template/.pi/skills/code-review/SKILL.md +6 -6
  232. package/template/.pi/skills/code-review/references/yss-review-standards.md +1 -1
  233. package/template/.pi/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  234. package/template/.pi/skills/i-have-adhd/SKILL.md +1 -1
  235. package/template/.pi/skills/i-have-adhd/references/yss-adaptation.md +1 -1
  236. package/template/.pi/skills/i-have-adhd/tests/verify-integration.mjs +2 -2
  237. package/template/.pi/skills/implementation-repo-onboarding/SKILL.md +2 -2
  238. package/template/.pi/skills/llm-wiki/references/discover.md +3 -3
  239. package/template/.pi/skills/prototype-review/SKILL.md +4 -4
  240. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +10 -10
  241. package/template/.pi/skills/triage/SKILL.md +1 -1
  242. package/template/.pi/skills/yss-application/references/profiles/layered-mvc-service.md +1 -1
  243. package/template/.pi/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +1 -1
  244. package/template/.pi/skills/yss-backend-spec-review/SKILL.md +1 -1
  245. package/template/.pi/skills/yss-backend-spec-review/references/check-inputs.md +1 -1
  246. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  247. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  248. package/template/.pi/skills/yss-design-system/SKILL.md +10 -10
  249. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +3 -3
  250. package/template/.pi/skills/yss-design-system/references/design-system.md +3 -3
  251. package/template/.pi/skills/yss-exception/SKILL.md +1 -1
  252. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +2 -2
  253. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/generate_scaffold.mjs +1 -1
  254. package/template/.pi/skills/yss-frontend-scaffold-generator/scripts/refresh_baseline.mjs +2 -2
  255. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +9 -9
  256. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -1
  257. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +9 -9
  258. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +3 -3
  259. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +1 -1
  260. package/template/.pi/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +1 -1
  261. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
  262. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +5 -5
  263. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  264. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +42 -0
  265. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +2 -2
  266. package/template/.pi/skills/yss-openapi-governance/SKILL.md +7 -7
  267. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +11 -11
  268. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  269. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +65 -43
  270. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +22 -14
  271. package/template/.pi/skills/yss-product-lifecycle/references/request-triage.md +2 -0
  272. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -3
  273. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +2 -2
  274. package/template/.pi/skills/yss-prototype-stage/SKILL.md +7 -7
  275. package/template/.pi/skills/yss-prototype-stage/references/existing-ui-entry.md +1 -1
  276. package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +1 -1
  277. package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +3 -3
  278. package/template/.pi/skills/yss-prototype-stage/tests/browser-smoke.mjs +2 -2
  279. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +4 -4
  280. package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +1 -1
  281. package/template/.pi/skills/yss-repository/SKILL.md +2 -2
  282. package/template/.pi/skills/yss-repository/references/profiles/layered-mvc-service.md +1 -1
  283. package/template/.pi/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +1 -1
  284. package/template/.pi/skills/yss-repository/tests/profile-routing.test.mjs +2 -2
  285. package/template/.pi/skills/yss-research/SKILL.md +2 -2
  286. package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  287. package/template/.pi/skills/yss-stage-decision/SKILL.md +5 -5
  288. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +1 -1
  289. package/template/.pi/skills/yss-stage-decision/references/strategic-handoff-routing.md +1 -1
  290. package/template/.pi/skills/yss-tactical-design/SKILL.md +2 -2
  291. package/template/.pi/skills/yss-tactical-design/references/strategic-handoff-routing.md +1 -1
  292. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  293. package/template/.pi/skills/yss-technical-design/SKILL.md +6 -6
  294. package/template/.pi/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  295. package/template/.pi/skills/yss-ui/SKILL.md +1 -1
  296. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  297. package/template/.pi/skills/yss-web-controller/SKILL.md +1 -1
  298. package/template/.pi/skills/yss-web-controller/references/profiles/layered-mvc-service.md +1 -1
  299. package/template/{docs → .template-spec}/adr/README.md +1 -1
  300. package/template/{docs → .template-spec}/agents/README.md +1 -1
  301. package/template/{docs → .template-spec}/agents/backend-architecture-profiles.md +2 -2
  302. package/template/{docs → .template-spec}/agents/digital-human-roles.md +6 -6
  303. package/template/{docs → .template-spec}/agents/digital-human-roles.yaml +5 -5
  304. package/template/{docs → .template-spec}/agents/gitlab-workflow-skills.md +2 -2
  305. package/template/{docs → .template-spec}/agents/issue-tracker.md +1 -1
  306. package/template/{docs → .template-spec}/agents/skill-migrations.md +2 -2
  307. package/template/{docs → .template-spec}/agents/triage-labels.md +1 -1
  308. package/template/{docs → .template-spec}/agents/yss-skill-registry.yaml +2 -2
  309. package/template/{docs → .template-spec}/architecture/README.md +3 -3
  310. package/template/{docs → .template-spec}/architecture/templates/tech-design-template.md +3 -1
  311. package/template/{docs → .template-spec}/design/README.md +12 -11
  312. package/template/{docs → .template-spec}/design/design.md +19 -19
  313. package/template/{docs/design/templates/interaction-spec-template.md → .template-spec/design/templates/examples/model-publishing-interaction.example.md} +5 -3
  314. package/template/{docs/design/templates/state-matrix-template.md → .template-spec/design/templates/examples/model-publishing-state-matrix.example.md} +3 -1
  315. package/template/.template-spec/design/templates/interaction-spec-template.md +61 -0
  316. package/template/{docs → .template-spec}/design/templates/product-overview-design-template.md +11 -11
  317. package/template/{docs → .template-spec}/design/templates/prototype-evidence-template.yaml +4 -4
  318. package/template/{docs → .template-spec}/design/templates/prototype-review-checklist.md +1 -1
  319. package/template/.template-spec/design/templates/state-matrix-template.md +29 -0
  320. package/template/.template-spec/design/tokens/.design-md-projection.json +13 -0
  321. package/template/{docs → .template-spec}/engineering/backend-platforms.md +1 -1
  322. package/template/{docs → .template-spec}/plan/entry-review.md +8 -4
  323. package/template/{docs → .template-spec}/plan/templates/plan-template.md +1 -1
  324. package/template/{docs → .template-spec}/process/contract-reading.md +1 -1
  325. package/template/{docs → .template-spec}/process/lifecycle-artifact-map.md +5 -5
  326. package/template/.template-spec/process/lifecycle-registry-baseline.json +253 -0
  327. package/template/{docs → .template-spec}/process/lifecycle-registry.yaml +19 -12
  328. package/template/{docs → .template-spec}/process/plan-migration.md +1 -1
  329. package/template/{docs → .template-spec}/process/schemas/digital-human-task-package.schema.json +14 -1
  330. package/template/{docs → .template-spec}/process/schemas/lifecycle-checkpoint.schema.json +15 -0
  331. package/template/{docs → .template-spec}/process/schemas/lifecycle-registry.schema.json +1 -1
  332. package/template/{docs → .template-spec}/process/schemas/strategic-design-handoff-v3.schema.json +1 -1
  333. package/template/{docs → .template-spec}/process/schemas/strategic-design-handoff-v4.schema.json +1 -1
  334. package/template/{docs → .template-spec}/process/schemas/strategic-design-handoff-v5.schema.json +1 -1
  335. package/template/{docs → .template-spec}/process/schemas/strategic-design-handoff.schema.json +1 -1
  336. package/template/{docs → .template-spec}/process/stage-tracking.md +1 -1
  337. package/template/{docs → .template-spec}/process/subagent-collaboration.md +2 -2
  338. package/template/{docs → .template-spec}/templates/build-architecture-checklist-template.md +2 -2
  339. package/template/{docs → .template-spec}/templates/digital-human-runtime-profile-template.md +2 -2
  340. package/template/{docs → .template-spec}/templates/grok-bot-profile-template.md +1 -1
  341. package/template/{docs → .template-spec}/templates/local-parent-ticket-template.md +1 -1
  342. package/template/.template-spec/templates/release-note-template.md +29 -0
  343. package/template/.template-spec/templates/retro-report-template.md +24 -0
  344. package/template/{docs → .template-spec}/templates/subagent-task-package-template.md +3 -3
  345. package/template/.template-spec/templates/verification-record-template.md +64 -0
  346. package/template/{docs → .template-spec}/templates/vertical-slice-ticket-template.md +5 -10
  347. package/template/{docs → .template-spec}/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +1 -1
  348. package/template/{docs → .template-spec}/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +4 -4
  349. package/template/AGENTS.md +12 -12
  350. package/template/CONTEXT.md +3 -3
  351. package/template/README.md +21 -21
  352. package/template/scripts/backend-delivery +1 -1
  353. package/template/scripts/lib/api-contract-decision.mjs +1 -1
  354. package/template/scripts/lib/approved-execution-context.mjs +5 -5
  355. package/template/scripts/lib/backend-delivery.mjs +4 -4
  356. package/template/scripts/lib/backend-platform.mjs +1 -1
  357. package/template/scripts/lib/backend-review.mjs +1 -1
  358. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +1 -1
  359. package/template/scripts/lib/backend-standards-coverage.mjs +2 -2
  360. package/template/scripts/lib/context-reconciliation.mjs +1 -1
  361. package/template/scripts/lib/contract-views.mjs +9 -9
  362. package/template/scripts/lib/delivery-preflight.mjs +6 -6
  363. package/template/scripts/lib/design-md.mjs +2 -2
  364. package/template/scripts/lib/digital-human-roles.mjs +2 -2
  365. package/template/scripts/lib/existing-backend-architecture.mjs +1 -1
  366. package/template/scripts/lib/existing-ui-baseline.mjs +1 -1
  367. package/template/scripts/lib/frontend-delivery.mjs +2 -2
  368. package/template/scripts/lib/governance-layout.mjs +74 -0
  369. package/template/scripts/lib/harness-execution-scope.mjs +2 -2
  370. package/template/scripts/lib/lifecycle-context-query.mjs +11 -3
  371. package/template/scripts/lib/lifecycle-registry.mjs +46 -7
  372. package/template/scripts/lib/lifecycle-status.mjs +111 -0
  373. package/template/scripts/lib/lifecycle-transition.mjs +71 -10
  374. package/template/scripts/lib/openapi-draft-validation.mjs +1 -1
  375. package/template/scripts/lib/plan-spec-entry-view.mjs +48 -0
  376. package/template/scripts/lib/plan-spec-entry.mjs +3 -3
  377. package/template/scripts/lib/skill-registry.mjs +8 -8
  378. package/template/scripts/lib/skill-supply-chain.mjs +1 -1
  379. package/template/scripts/lib/slice-contract-preparation.mjs +3 -3
  380. package/template/scripts/lib/slice-contract.mjs +1 -1
  381. package/template/scripts/lib/slice-repositories.mjs +1 -1
  382. package/template/scripts/lib/slice-task-package.mjs +3 -3
  383. package/template/scripts/lib/stage-tracking-migration.mjs +2 -2
  384. package/template/scripts/lib/stage-tracking.mjs +5 -5
  385. package/template/scripts/lib/strategic-feedback.mjs +2 -2
  386. package/template/scripts/lib/strategic-handoff-routing.mjs +2 -2
  387. package/template/scripts/lib/strategic-handoff.mjs +15 -15
  388. package/template/scripts/lib/task-package-schema.mjs +2 -2
  389. package/template/scripts/lib/task-package.mjs +1 -1
  390. package/template/scripts/lib/technical-design-boundary.mjs +1 -1
  391. package/template/scripts/lib/user-decision.mjs +2 -1
  392. package/template/scripts/lifecycle-status +14 -0
  393. package/template/scripts/plan-spec-entry +21 -0
  394. package/template/scripts/strategic-consumer-entry +1 -1
  395. package/template/scripts/strategic-handoff +1 -1
  396. package/template/scripts/verify-frontend-implementation-evidence +1 -1
  397. package/template/scripts/verify-governance-layout +15 -0
  398. package/template/scripts/verify-lifecycle-checkpoint +1 -1
  399. package/template/scripts/verify-project-instance +2 -0
  400. package/template/scripts/verify-scaffold-architecture-decisions +1 -1
  401. package/template/scripts/verify-strategic-context-import +3 -3
  402. package/template/skills-lock.json +77 -77
  403. package/template.manifest.json +19 -19
  404. package/template.snapshot.json +5 -5
  405. package/template/docs/agents/archify-integration.md +0 -19
  406. package/template/docs/design/design-system-sync.yaml +0 -13
  407. package/template/docs/design/preview-dark.html +0 -178
  408. package/template/docs/design/preview.css +0 -730
  409. package/template/docs/design/preview.html +0 -178
  410. package/template/docs/design/preview.js +0 -71
  411. package/template/docs/design/tokens/.design-md-projection.json +0 -13
  412. package/template/docs/engineering/evidence/aliyun-artifact-resolution.json +0 -446
  413. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +0 -13
  414. package/template/docs/process/github-workflows.md +0 -52
  415. package/template/docs/templates/release-note-template.md +0 -14
  416. package/template/docs/templates/retro-report-template.md +0 -16
  417. package/template/docs/templates/verification-record-template.md +0 -53
  418. /package/template/{docs → .template-spec}/agents/domain.md +0 -0
  419. /package/template/{docs → .template-spec}/api/templates/openapi-draft-review-checklist.md +0 -0
  420. /package/template/{docs → .template-spec}/api/templates/openapi-draft-validation-record-template.yaml +0 -0
  421. /package/template/{docs → .template-spec}/api/templates/openapi-freeze-record-template.md +0 -0
  422. /package/template/{docs → .template-spec}/api/templates/openapi-json-export-record-template.md +0 -0
  423. /package/template/{docs → .template-spec}/architecture/templates/architecture-deepening-template.md +0 -0
  424. /package/template/{docs → .template-spec}/architecture/templates/architecture-review-checklist.md +0 -0
  425. /package/template/{docs → .template-spec}/architecture/templates/business-architecture-template.md +0 -0
  426. /package/template/{docs → .template-spec}/architecture/templates/data-architecture-template.md +0 -0
  427. /package/template/{docs → .template-spec}/architecture/templates/engineering-baseline-review-template.md +0 -0
  428. /package/template/{docs → .template-spec}/architecture/templates/functional-architecture-template.md +0 -0
  429. /package/template/{docs → .template-spec}/architecture/templates/system-overview-design-template.md +0 -0
  430. /package/template/{docs → .template-spec}/design/diagrams/README.md +0 -0
  431. /package/template/{docs → .template-spec}/design/schemas/visual-baseline.schema.json +0 -0
  432. /package/template/{docs → .template-spec}/design/templates/prototype-confirmation-template.md +0 -0
  433. /package/template/{docs → .template-spec}/design/templates/visual-baseline-template.yaml +0 -0
  434. /package/template/{docs → .template-spec}/design/tokens/theme.json +0 -0
  435. /package/template/{docs → .template-spec}/design/tokens/tokens.compact.json +0 -0
  436. /package/template/{docs → .template-spec}/design/tokens/tokens.dark.json +0 -0
  437. /package/template/{docs → .template-spec}/design/tokens/tokens.default.json +0 -0
  438. /package/template/{docs → .template-spec}/design/tokens/variables.css +0 -0
  439. /package/template/{docs → .template-spec}/design/tokens/variables.dark.css +0 -0
  440. /package/template/{docs → .template-spec}/engineering/backend-platforms.json +0 -0
  441. /package/template/{docs → .template-spec}/plan/README.md +0 -0
  442. /package/template/{docs → .template-spec}/plan/templates/competitive-analysis-template.md +0 -0
  443. /package/template/{docs → .template-spec}/plan/templates/competitive-matrix-template.md +0 -0
  444. /package/template/{docs → .template-spec}/plan/templates/market-analysis-template.md +0 -0
  445. /package/template/{docs → .template-spec}/plan/templates/user-pain-points-template.md +0 -0
  446. /package/template/{docs → .template-spec}/process/delivery-preflight.md +0 -0
  447. /package/template/{docs → .template-spec}/process/document-writing.md +0 -0
  448. /package/template/{docs → .template-spec}/process/existing-backend-architecture.md +0 -0
  449. /package/template/{docs → .template-spec}/process/existing-ui-baseline.md +0 -0
  450. /package/template/{docs → .template-spec}/process/frontend-backend-delivery.md +0 -0
  451. /package/template/{docs → .template-spec}/process/harness-process-tailoring.md +0 -0
  452. /package/template/{docs → .template-spec}/process/implementation-repo-integration.md +0 -0
  453. /package/template/{docs/process/lifecycle-registry-baseline.json → .template-spec/process/lifecycle-registry-baseline-v1.json} +0 -0
  454. /package/template/{docs → .template-spec}/process/schemas/api-contract-decision-v2.schema.json +0 -0
  455. /package/template/{docs → .template-spec}/process/schemas/api-contract-decision.schema.json +0 -0
  456. /package/template/{docs → .template-spec}/process/schemas/backend-architecture-identity.schema.json +0 -0
  457. /package/template/{docs → .template-spec}/process/schemas/backend-delivery-verification.schema.json +0 -0
  458. /package/template/{docs → .template-spec}/process/schemas/backend-delivery.schema.json +0 -0
  459. /package/template/{docs → .template-spec}/process/schemas/context-reconciliation.schema.json +0 -0
  460. /package/template/{docs → .template-spec}/process/schemas/data-architecture-decision.schema.json +0 -0
  461. /package/template/{docs → .template-spec}/process/schemas/delivery-preflight-input.schema.json +0 -0
  462. /package/template/{docs → .template-spec}/process/schemas/delivery-preflight-result.schema.json +0 -0
  463. /package/template/{docs → .template-spec}/process/schemas/existing-ui-baseline.schema.json +0 -0
  464. /package/template/{docs → .template-spec}/process/schemas/frontend-delivery-acceptance-v1.schema.json +0 -0
  465. /package/template/{docs → .template-spec}/process/schemas/frontend-delivery-acceptance-v3.schema.json +0 -0
  466. /package/template/{docs → .template-spec}/process/schemas/frontend-delivery-acceptance.schema.json +0 -0
  467. /package/template/{docs → .template-spec}/process/schemas/frontend-implementation-evidence.schema.json +0 -0
  468. /package/template/{docs → .template-spec}/process/schemas/frontend-strategic-preflight-v2.schema.json +0 -0
  469. /package/template/{docs → .template-spec}/process/schemas/frontend-strategic-preflight.schema.json +0 -0
  470. /package/template/{docs → .template-spec}/process/schemas/implementation-repository-preparation-result.schema.json +0 -0
  471. /package/template/{docs → .template-spec}/process/schemas/openapi-draft-validation-record.schema.json +0 -0
  472. /package/template/{docs → .template-spec}/process/schemas/project-scaffold-contract.schema.json +0 -0
  473. /package/template/{docs → .template-spec}/process/schemas/review-bundle.schema.json +0 -0
  474. /package/template/{docs → .template-spec}/process/schemas/scaffold-architecture-decisions.schema.json +0 -0
  475. /package/template/{docs → .template-spec}/process/schemas/slice-implementation-contract-v3.schema.json +0 -0
  476. /package/template/{docs → .template-spec}/process/schemas/stage-tracking.schema.json +0 -0
  477. /package/template/{docs → .template-spec}/process/schemas/strategic-consumer-feedback.schema.json +0 -0
  478. /package/template/{docs → .template-spec}/process/schemas/strategic-feedback-adjudication.schema.json +0 -0
  479. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-delivery-verification.schema.json +0 -0
  480. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-delivery.schema.json +0 -0
  481. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +0 -0
  482. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-domain-strategy.schema.json +0 -0
  483. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-export-v2.schema.json +0 -0
  484. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-export.schema.json +0 -0
  485. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-import-receipt-v3.schema.json +0 -0
  486. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-import-receipt.schema.json +0 -0
  487. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-package.schema.json +0 -0
  488. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +0 -0
  489. /package/template/{docs → .template-spec}/process/schemas/strategic-handoff-stage-decision-package.schema.json +0 -0
  490. /package/template/{docs → .template-spec}/process/schemas/subagent-task-package.schema.json +0 -0
  491. /package/template/{docs → .template-spec}/process/schemas/user-decision.schema.json +0 -0
  492. /package/template/{docs → .template-spec}/process/strategic-handoff-package.md +0 -0
  493. /package/template/{docs → .template-spec}/process/templates/context-reconciliation-template.yaml +0 -0
  494. /package/template/{docs → .template-spec}/process/templates/frontend-implementation-plan-template.yaml +0 -0
  495. /package/template/{docs → .template-spec}/process/templates/frontend-implementation-verification-template.yaml +0 -0
  496. /package/template/{docs → .template-spec}/process/templates/lifecycle-checkpoint-template.yaml +0 -0
  497. /package/template/{docs → .template-spec}/process/templates/scaffold-architecture-decisions-template.yaml +0 -0
  498. /package/template/{docs → .template-spec}/process/templates/stage-checkpoint-template.md +0 -0
  499. /package/template/{docs → .template-spec}/process/templates/user-decision-template.yaml +0 -0
  500. /package/template/{docs → .template-spec}/templates/adr-template.md +0 -0
  501. /package/template/{docs → .template-spec}/templates/approval-record-template.yaml +0 -0
  502. /package/template/{docs → .template-spec}/templates/cross-repo-slice-template.md +0 -0
  503. /package/template/{docs → .template-spec}/templates/examples/lifecycle-writing-examples.md +0 -0
  504. /package/template/{docs → .template-spec}/templates/implementation-repo-registry-template.md +0 -0
  505. /package/template/{docs → .template-spec}/templates/openapi-spec-template.yaml +0 -0
  506. /package/template/{docs → .template-spec}/templates/review-bundle-template.yaml +0 -0
  507. /package/template/{docs → .template-spec}/templates/review-report-template.md +0 -0
  508. /package/template/{docs → .template-spec}/templates/spec-delta-template.md +0 -0
  509. /package/template/{docs → .template-spec}/templates/spec-template.md +0 -0
  510. /package/template/{docs → .template-spec}/user-guide/yss-ui-mcp.md +0 -0
  511. /package/template/{docs → .template-spec}/user-guide//346/212/200/346/234/257/350/256/276/350/256/241/347/224/250/346/210/267/346/214/207/345/215/227.md" +0 -0
  512. /package/template/{docs → .template-spec}/user-guide//350/256/276/345/244/207/345/200/237/347/224/250/350/264/257/347/251/277/346/241/210/344/276/213.md" +0 -0
  513. /package/template/{docs → .template-spec}/user-guide//351/230/266/346/256/265/346/216/245/345/205/245/344/270/216/344/272/247/347/211/251/345/244/215/347/224/250/344/275/277/347/224/250/346/211/213/345/206/214.md" +0 -0
@@ -5,15 +5,15 @@ description: "编译或重验 YSS Slice Implementation Contract、最小 Skill
5
5
 
6
6
  # YSS Implementation Contract Compiler
7
7
 
8
- 已有生命周期资产优先用 `scripts/contract view <资产> --kind <类型>` 阅读;执行任务用 `--profile task --unit <ID>`,绑定与校验明细用 `--profile full`。视图不授予执行权限,仍按本 Skill 的原始来源和批准门禁处理。类型、准备和迁移见 `docs/process/contract-reading.md`。
8
+ 已有生命周期资产优先用 `scripts/contract view <资产> --kind <类型>` 阅读;执行任务用 `--profile task --unit <ID>`,绑定与校验明细用 `--profile full`。视图不授予执行权限,仍按本 Skill 的原始来源和批准门禁处理。类型、准备和迁移见 `.template-spec/process/contract-reading.md`。
9
9
 
10
10
  阶段 7 的实现合同编译器。它把已批准的生命周期资产、垂直切片、capability 和窄 Recipe 编译为 `Slice Implementation Contract` v3 草案;不批准合同、不写业务代码、不设置 `ready-for-agent`。
11
11
 
12
- 文档输出时按 `lifecycle-document-output` 条件调用 `i-have-adhd`,读取 `docs/process/document-writing.md`;作用域仅限当前产物,派发时传递条件及引用。
12
+ 文档输出时按 `lifecycle-document-output` 条件调用 `i-have-adhd`,读取 `.template-spec/process/document-writing.md`;作用域仅限当前产物,派发时传递条件及引用。
13
13
 
14
14
  ## 文档写作
15
15
 
16
- 撰写实现合同的解释正文和切片交接说明前,读取 `docs/process/document-writing.md` 的共用写法及工程契约 / Ticket 指引;不改变结构化合同、批准状态或就绪条件。
16
+ 撰写实现合同的解释正文和切片交接说明前,读取 `.template-spec/process/document-writing.md` 的共用写法及工程契约 / Ticket 指引;不改变结构化合同、批准状态或就绪条件。
17
17
 
18
18
  ## 输入
19
19
 
@@ -22,8 +22,8 @@ description: "编译或重验 YSS Slice Implementation Contract、最小 Skill
22
22
  ## 编译循环
23
23
 
24
24
  1. 判断 frontend/backend/API/data/domain/cross-repo 影响,并按 [compiler-contract.yaml](references/compiler-contract.yaml) 把 impact 映射为入口 capability;逐项填写 backend `component_impacts`。
25
- 2. 按 `docs/process/delivery-preflight.md` 只读检查当前阶段交付前提,再检查工程存在性和核心/长尾 skill 可用性。既有 Java/Maven 工程按 `docs/process/existing-backend-architecture.md` 加载登记、工程基线、独立观测的原始引用与摘要;不伪填生成器或 H2。
26
- 3. 从 `docs/agents/yss-skill-registry.yaml` 选择一个或多个窄 Recipe,合并 `required_capabilities`;Recipe 不得直接引用 skill。
25
+ 2. 按 `.template-spec/process/delivery-preflight.md` 只读检查当前阶段交付前提,再检查工程存在性和核心/长尾 skill 可用性。既有 Java/Maven 工程按 `.template-spec/process/existing-backend-architecture.md` 加载登记、工程基线、独立观测的原始引用与摘要;不伪填生成器或 H2。
26
+ 3. 从 `.template-spec/agents/yss-skill-registry.yaml` 选择一个或多个窄 Recipe,合并 `required_capabilities`;Recipe 不得直接引用 skill。
27
27
  4. 由 capability 解析入口 skill,只递归 `context-required`;`context-conditional` 仅在显式 condition 命中时加载,其他依赖类型只进入原因链,不扩张执行上下文。
28
28
  5. 按“Recipe 声明顺序 → 依赖拓扑 → skill ID”确定性排序,去重 skill 并保留全部原因;冻结 Registry 与编译器合同 SHA-256。
29
29
  6. 为切片生成基线合同;为当前行为生成工作单元增量路由。
@@ -32,11 +32,11 @@ description: "编译或重验 YSS Slice Implementation Contract、最小 Skill
32
32
 
33
33
  完整草案使用 `scripts/slice-contract prepare` 或 `prepareSliceImplementationContract` 从已有 Ticket / checkpoint 和必要细化组装;执行前读取唯一 YAML,视图和检查报告不授予权限。
34
34
 
35
- 合同结构见 [slice-implementation-contract.md](references/slice-implementation-contract.md),专项返回协议见 [yss-skill-execution-result.md](references/yss-skill-execution-result.md)。前端、后端和测试子任务必须由生命周期主控从批准的 Slice Contract 编译任务包;任务包 schema 为 `docs/process/schemas/subagent-task-package.schema.json`,技能列表必须来自 `taskPackageDefaults`,不能由编译器或执行 Agent 另行手写。
35
+ 合同结构见 [slice-implementation-contract.md](references/slice-implementation-contract.md),专项返回协议见 [yss-skill-execution-result.md](references/yss-skill-execution-result.md)。前端、后端和测试子任务必须由生命周期主控从批准的 Slice Contract 编译任务包;任务包 schema 为 `.template-spec/process/schemas/subagent-task-package.schema.json`,技能列表必须来自 `taskPackageDefaults`,不能由编译器或执行 Agent 另行手写。
36
36
 
37
37
  ## 硬规则
38
38
 
39
- 采用专职前端 profile 或显式 `frontend_delivery` 绑定时,先按 `docs/process/frontend-backend-delivery.md` 实际核验战略与后端联合交付。缺任一输入只能诊断和回交;输入通过后准备计划/合同,正式实现、生成和恢复仍须当前批准的 Slice Contract 冻结接收摘要。接口或部署版本漂移时重新接收,不复用旧成功输出。
39
+ 采用专职前端 profile 或显式 `frontend_delivery` 绑定时,先按 `.template-spec/process/frontend-backend-delivery.md` 实际核验战略与后端联合交付。缺任一输入只能诊断和回交;输入通过后准备计划/合同,正式实现、生成和恢复仍须当前批准的 Slice Contract 冻结接收摘要。接口或部署版本漂移时重新接收,不复用旧成功输出。
40
40
 
41
41
  - 编译器不得输出 `approved`、`ready-for-agent` 或 `completed`。
42
42
  - Registry 和编译规则保持 schema v2;新 Slice 使用 v3,v2 按原规则读取和显式迁移。schema v1 一律拒绝,不自动升级,不提供旧技能名兼容。
@@ -49,7 +49,7 @@ description: "编译或重验 YSS Slice Implementation Contract、最小 Skill
49
49
  - Harness 内实现路径必须落在 `apps/backend/<project>/` 或 `apps/frontend/<project>/` 的具体项目目录;`apps/backend/`、`apps/frontend/` 只能作为容器,`app/backend/`、`app/frontend/` 及其子路径一律阻断。外部实现仓库使用其登记的真实项目根路径。`git-submodule` 使用 `implementation_path_policy: git-submodule-harness-apps`,空 gitlink、detached HEAD 或 `--force` 覆盖挂载点不得脚手架;`inspectWorkingTreeScope.writable` 必须为显式布尔值。
50
50
  - 当前用户、缓存、审计、Excel、分布式 ID、请求校验、错误映射、加解密或网关韧性命中时,必须按 `compiler-contract.yaml` 的 `impact_to_capabilities` 补齐入口 capability;不能只在 `boundaries.md` 中提及。仅复用已经验证的平台认证 / 授权能力不算 component impact,不自动增加权限专项 skill。
51
51
  - 业务行为使用 `behavior-tdd`;只有机械脚手架/生成物可用 `controlled-generation`,并记录例外和验证。
52
- - 阶段 5 若命中交付面且无已有工程,按 Project Scaffold Contract schema v4 编译 `controlled-generation` 合同 draft。后端先读取已通过 `gate.backend-architecture-platform-approved` 的架构与精确 Spring Boot 版本决定,并以原始字节 digest 绑定批准且当前的 Technical Design、Data Architecture Decision v1、API Contract Decision v1 及 `gate.engineering-contract-approved` 真实批准记录;编译器不得自行默认、提问或批准。既有工程核验并复用当前登记架构及固定工程基线/POM 中的实际版本,不重新询问或生成。API `required` 时工程批准还必须直接绑定冻结 OpenAPI YAML 的版本与摘要,`not-applicable` 时必须有影响评估、明确原因和证据。前端绑定标准模板精确 commit、应用标识、路由、OpenAPI 影响、目标路径和 `init_git` 决定。合同经生命周期批准并持久化后才能运行生成器。历史后端 schema v3 只允许 Manifest 只读恢复审计,并须补齐 API 对账,不得新生成;前端只接受 v4。生成与验证完成、仓库登记并通过 `check.implementation-repositories-ready` 后,才编译 Ticket 与业务 Slice Contract。
52
+ - 阶段 5 若命中交付面且无已有工程,按 Project Scaffold Contract schema v4 编译 `controlled-generation` 合同 draft。后端先读取已通过 `gate.backend-architecture-platform-approved` 的架构与精确 Spring Boot 版本决定,并以原始字节 digest 绑定批准且当前的 Technical Design、Data Architecture Decision v1、API Contract Decision(新建 v2;历史 v1 只读兼容,准备与迁移见 `.template-spec/process/contract-reading.md`) 及 `gate.engineering-contract-approved` 真实批准记录;编译器不得自行默认、提问或批准。既有工程核验并复用当前登记架构及固定工程基线/POM 中的实际版本,不重新询问或生成。API `required` 时工程批准还必须直接绑定冻结 OpenAPI YAML 的版本与摘要,`not-applicable` 时必须有影响评估、明确原因和证据。前端绑定标准模板精确 commit、应用标识、路由、OpenAPI 影响、目标路径和 `init_git` 决定。合同经生命周期批准并持久化后才能运行生成器。历史后端 schema v3 只允许 Manifest 只读恢复审计,并须补齐 API 对账,不得新生成;前端只接受 v4。生成与验证完成、仓库登记并通过 `check.implementation-repositories-ready` 后,才编译 Ticket 与业务 Slice Contract。
53
53
  - 脚手架合同在编译阶段只能是 `draft` / `ready-for-lifecycle-review` / `blocked`;只有生命周期编排器可以把已持久化脚手架合同标记为 `approved`。脚手架合同只覆盖业务代码前的工程骨架工作单元;生成、基线校验和合同重编译完成后,它不能替代脚手架后的 Slice Implementation Contract。
54
54
  - 脚手架输出消费批准的脚手架合同;脚手架后的所有生成后端代码都必须绑定当前批准且版本当前的 Slice Implementation Contract、主 YSS skill、依赖闭包、允许写路径、预期证据和 YSS Skill Execution Result。打印命令、`./mvnw validate` 单项通过或脚手架成功不能替代合同批准;生成范围从机械内容变成业务行为时触发完整重路由。
55
55
  - 专项结果中的越界路径、缺失证据、`drift`、`violation` 或 `new_impacts` 必须阻断或重路由。
@@ -72,6 +72,6 @@ description: "编译或重验 YSS Slice Implementation Contract、最小 Skill
72
72
 
73
73
  ## 后端脚手架平台承接
74
74
 
75
- 消费生命周期已确认的架构与 `platform_configuration` v2;不得自行选择、批准或静默升级 Boot/Java。平台清单执行 `scripts/backend-platforms` 查询;只允许已验证 YSS 组合,新生成缺少配置或证据即阻断。决定、合同、Manifest 与下游架构身份须绑定同一平台及兼容摘要。详见 仓库共享合同 `docs/engineering/backend-platforms.md`。
75
+ 消费生命周期已确认的架构与 `platform_configuration` v2;不得自行选择、批准或静默升级 Boot/Java。平台清单执行 `scripts/backend-platforms` 查询;只允许已验证 YSS 组合,新生成缺少配置或证据即阻断。决定、合同、Manifest 与下游架构身份须绑定同一平台及兼容摘要。详见 仓库共享合同 `.template-spec/engineering/backend-platforms.md`。
76
76
 
77
77
  后端 Slice 解析出 `component_binding: required` 的 capability 或其主 Skill 时,必须在同一平台兼容条目中逐项解析 `component_capabilities`。编译结果保存 `component_bindings` 与 `component_bindings_digest`;未登记、未验证、架构证据缺失、构件坐标冲突或摘要漂移均阻断。旧合同含组件 Skill 但没有组件绑定时直接 `stale`,重新编译并交生命周期批准,禁止自动补字段后沿用原批准。
@@ -1,6 +1,6 @@
1
1
  # YSS Skill Boundaries
2
2
 
3
- > Generated by `scripts/generate-yss-skill-boundaries` from `docs/agents/yss-skill-registry.yaml` and `compiler-contract.yaml`. Do not hand-edit.
3
+ > Generated by `scripts/generate-yss-skill-boundaries` from `.template-spec/agents/yss-skill-registry.yaml` and `compiler-contract.yaml`. Do not hand-edit.
4
4
 
5
5
  实现入口先选择 capability 或窄 Recipe,再由实现合同编译器计算最小 skill 闭包。下面是派生阅读视图,不是第二套路由事实源。
6
6
 
@@ -2,12 +2,12 @@ schema_version: 2
2
2
  slice_contract_versions:
3
3
  default: 3
4
4
  accepted: [2, 3]
5
- v3_schema: docs/process/schemas/slice-implementation-contract-v3.schema.json
5
+ v3_schema: .template-spec/process/schemas/slice-implementation-contract-v3.schema.json
6
6
  normalization: scripts/lib/slice-contract.mjs
7
7
  v2_migration: explicit-new-draft-no-inherited-approval
8
8
  backend_architecture:
9
- registry_source: docs/agents/yss-skill-registry.yaml
10
- identity_schema: docs/process/schemas/backend-architecture-identity.schema.json
9
+ registry_source: .template-spec/agents/yss-skill-registry.yaml
10
+ identity_schema: .template-spec/process/schemas/backend-architecture-identity.schema.json
11
11
  required_evidence: [engineering_baseline, repository_registration, manifest]
12
12
  evidence_loading: original-references-and-raw-sha256
13
13
  existing_identity: {schema_version: 2, source_kind: existing-registration, profiles_source: existing_project_profiles}
@@ -18,8 +18,8 @@ backend_architecture:
18
18
  readiness: supported-profile-and-current-identical-evidence
19
19
  compiled_by: yss-implementation-contract-compiler
20
20
  approved_by: yss-product-lifecycle
21
- capability_source: docs/agents/yss-skill-registry.yaml
22
- recipe_source: docs/agents/yss-skill-registry.yaml
21
+ capability_source: .template-spec/agents/yss-skill-registry.yaml
22
+ recipe_source: .template-spec/agents/yss-skill-registry.yaml
23
23
  digest_algorithm: sha256
24
24
  unsupported_inputs:
25
25
  registry_schema_v1: reject-with-migration-guidance
@@ -73,7 +73,7 @@ readiness:
73
73
  cross_repo: [repository_registry, delivery_order, integration_verification, rollback_order]
74
74
  frontend_delivery:
75
75
  when: specialized-frontend-profile-or-explicit-frontend-delivery-binding
76
- source: docs/process/frontend-backend-delivery.md
76
+ source: .template-spec/process/frontend-backend-delivery.md
77
77
  verifier: scripts/verify-frontend-delivery
78
78
  output_binding: frontend.delivery
79
79
  inputs_verified_is_implementation_approval: false
@@ -146,7 +146,7 @@ resolution_contract:
146
146
  component_bindings:
147
147
  when: any-required-capability-provider-kind-is-yss-component
148
148
  platform_configuration: required-v2
149
- catalog_source: docs/engineering/backend-platforms.json
149
+ catalog_source: .template-spec/engineering/backend-platforms.json
150
150
  required_fields: [component_bindings, component_bindings_digest]
151
151
  exact_artifact_binding: [group_id, artifact_id, declared_version, resolved_version, pom_sha256, jar_sha256, source_tree]
152
152
  digest_change_status: stale
@@ -159,7 +159,7 @@ context_plan:
159
159
 
160
160
  project_scaffold_contract_schema:
161
161
  schema_version: 4
162
- schema_ref: docs/process/schemas/project-scaffold-contract.schema.json
162
+ schema_ref: .template-spec/process/schemas/project-scaffold-contract.schema.json
163
163
  identity: project-engineering-baseline
164
164
  discriminant: delivery_role
165
165
  delivery_roles:
@@ -440,7 +440,7 @@ strategic_handoff_consumption:
440
440
 
441
441
  backend_platform_contract:
442
442
  schema_version: 2
443
- catalog_ref: docs/engineering/backend-platforms.json
443
+ catalog_ref: .template-spec/engineering/backend-platforms.json
444
444
  configuration_field: platform_configuration
445
445
  selection_owner: yss-product-lifecycle
446
446
  new_generation_requires: [exact-boot-java, confirmed-decision, matching-yss-coordinates, verified-compatibility-entry]
@@ -4,11 +4,11 @@
4
4
 
5
5
  # Slice Implementation Contract
6
6
 
7
- 后端合同还必须绑定 `architecture_identity`(schema 见 `docs/process/schemas/backend-architecture-identity.schema.json`),并与工程基线、登记和 Manifest 一致。将同一身份复制到 `resolution`、backend 工作单元和执行结果;Profile 的成熟度/Recipe 来源是技能注册表,draft 不得 ready-for-agent。旧 backend.domain-behavior/persistence-mybatis/http-api Recipe 只读退役,重新编译时显式选择 backend.ddd-* 或 backend.mvc-*。
7
+ 后端合同还必须绑定 `architecture_identity`(schema 见 `.template-spec/process/schemas/backend-architecture-identity.schema.json`),并与工程基线、登记和 Manifest 一致。将同一身份复制到 `resolution`、backend 工作单元和执行结果;Profile 的成熟度/Recipe 来源是技能注册表,draft 不得 ready-for-agent。旧 backend.domain-behavior/persistence-mybatis/http-api Recipe 只读退役,重新编译时显式选择 backend.ddd-* 或 backend.mvc-*。
8
8
 
9
9
  `yss-implementation-contract-compiler` 生成草案;`yss-product-lifecycle` 核验、批准并持久化。合同缺少必填字段时状态为 `blocked`。schema v1 已停止支持,必须重新编译为 v2,不提供自动升级。
10
10
 
11
- 采用专职前端 profile 时,`frontend.delivery` 绑定 `{acceptance_ref, digest}`,来自 `scripts/verify-frontend-delivery` 的当前结果;也可由 `resolution.frontend_delivery` 承载,两处并存时必须一致。正式执行从持久化合同读取并重验输入。细则见 `docs/process/frontend-backend-delivery.md`。
11
+ 采用专职前端 profile 时,`frontend.delivery` 绑定 `{acceptance_ref, digest}`,来自 `scripts/verify-frontend-delivery` 的当前结果;也可由 `resolution.frontend_delivery` 承载,两处并存时必须一致。正式执行从持久化合同读取并重验输入。细则见 `.template-spec/process/frontend-backend-delivery.md`。
12
12
 
13
13
  ```yaml
14
14
  slice_contract:
@@ -55,7 +55,7 @@ slice_contract:
55
55
  recipe_ids: []
56
56
  conditions: []
57
57
  reason_chains: {}
58
- registry_digest: # sha256 of normalized docs/agents/yss-skill-registry.yaml
58
+ registry_digest: # sha256 of normalized .template-spec/agents/yss-skill-registry.yaml
59
59
  compiler_contract_digest: # sha256 of normalized compiler-contract.yaml
60
60
  compiled_at:
61
61
  freshness: current # digest 变化后为 stale
@@ -2,7 +2,7 @@
2
2
 
3
3
  YAML 是唯一权威合同。Agent 从已确认上游整理草案;用户确认目标、范围、验收和关键取舍;独立专业审查核验工程约束,生命周期主控关闭 `gate.slice-contract-approved`。新合同使用 schema v3;[v2](slice-implementation-contract-v2.md) 保留原规则读取和校验,schema v1 继续拒绝。
4
4
 
5
- 结构权威为 `docs/process/schemas/slice-implementation-contract-v3.schema.json`。Registry、编译规则与 Execution Result 继续使用各自版本;Slice v3 不要求它们一同升级。
5
+ 结构权威为 `.template-spec/process/schemas/slice-implementation-contract-v3.schema.json`。Registry、编译规则与 Execution Result 继续使用各自版本;Slice v3 不要求它们一同升级。
6
6
 
7
7
  ## 只保存一次
8
8
 
@@ -1,6 +1,6 @@
1
1
  ## 战略交接快照包
2
2
 
3
- 跨仓交接使用 `scripts/strategic-handoff export / verify / import`。正式导出前补齐源战略的稳定规则 ID、关键场景和当前批准绑定;源资产原字节冻结、包内路径通过清单解析。目标导入只产生快照和对账/承接草案,正式 reconciliation 通过后才能进入战术设计。流程与字段见 `docs/process/strategic-handoff-package.md`。
3
+ 跨仓交接使用 `scripts/strategic-handoff export / verify / import`。正式导出前补齐源战略的稳定规则 ID、关键场景和当前批准绑定;源资产原字节冻结、包内路径通过清单解析。目标导入只产生快照和对账/承接草案,正式 reconciliation 通过后才能进入战术设计。流程与字段见 `.template-spec/process/strategic-handoff-package.md`。
4
4
 
5
5
  来自战略交接包的技术设计合同(DDD / MVC)必须绑定 `strategic_handoff` 导入收据、包摘要、正式目标对账及逐条承接 rows。来自导入包时禁止仅填 `upstream_current: true`。批准前执行 `scripts/verify-strategic-handoff-consumption --root <target> <tactical>`;存在受控延期时按切片执行 `--slice <slice-id>`,实际核验通过且合同批准后才可继续相关切片。最新源规则、关键场景或资产变化使依赖项 stale;未知依赖扩大阻断,业务冲突回交战略方。结果绑定当前包与战术摘要,不能复用旧输出宣布 ready-for-agent。
6
6
 
@@ -11,7 +11,7 @@ description: 在生命周期已批准的脚手架合同下生成通用 YSS 分
11
11
 
12
12
  - backend `scaffold_status=required`,目标目录已确认且不存在。
13
13
  - `scaffold-architecture-decisions.yaml` 中对应项目已达到 `lifecycle-approved`,确认架构为 `layered-mvc`。
14
- - `yss-implementation-contract-compiler` 已编译统一 Project Scaffold Contract schema v4,并绑定批准且当前的 Technical Design、Data Architecture Decision v1、API Contract Decision v1 和真实工程合同批准记录。API `required` 时 Draft、Validation、独立 Review、Freeze 与工程批准必须绑定同一 OpenAPI YAML 字节;`not-applicable` 时必须有评估、原因和证据且不得携带占位资产。合同须由生命周期批准并持久化。
14
+ - `yss-implementation-contract-compiler` 已编译统一 Project Scaffold Contract schema v4,并绑定批准且当前的 Technical Design、Data Architecture Decision v1、API Contract Decision(新建 v2;历史 v1 只读兼容,准备与迁移见 `.template-spec/process/contract-reading.md`) 和真实工程合同批准记录。API `required` 时 Draft、Validation、独立 Review、Freeze 与工程批准必须绑定同一 OpenAPI YAML 字节;`not-applicable` 时必须有评估、原因和证据且不得携带占位资产。合同须由生命周期批准并持久化。
15
15
  - 合同中的 `decision_id`、文件 digest、Profile、能力闭包、写路径和验证命令仍为当前版本。
16
16
 
17
17
  任一条件缺失时返回 `blocked`。本生成器无交互、无默认回退;用户选择由 `yss-product-lifecycle` 在 `work-unit.technical-analysis` 的工程基线内完成。
@@ -27,7 +27,7 @@ description: 在生命周期已批准的脚手架合同下生成通用 YSS 分
27
27
  - Spring MVC、Servlet、Validation、Jackson 和 starter 坐标消费共享平台清单;Java 下限和允许组合由当前平台条目决定。Jakarta 转换不包括 `javax.sql` 等 Java SE API。
28
28
  - 平台候选维护验证产物标记 `platform_verification=candidate`,不能交给业务生成、升级完成等级或进入首切片验证。测试夹具不证明 YSS 兼容。
29
29
 
30
- 版本清单、合同字段、候选验证和支持晋级规则见 仓库共享合同 `docs/engineering/backend-platforms.md`。
30
+ 版本清单、合同字段、候选验证和支持晋级规则见 仓库共享合同 `.template-spec/engineering/backend-platforms.md`。
31
31
 
32
32
  ## 架构与 Profile
33
33
 
@@ -32,7 +32,7 @@ async function sharedTools(outputDir, contract) {
32
32
  }
33
33
  const staging = await mkdtemp(path.join(outputDir, ".skillUtils.staging-"));
34
34
  try {
35
- for (const relative of [".agents/skills", ".codex/skills", ".cursor/skills", ".pi/skills", "scripts", "docs/agents", "docs/process", "AGENTS.md", "skills-lock.json"]) {
35
+ for (const relative of [".agents/skills", ".codex/skills", ".cursor/skills", ".pi/skills", "scripts", ".template-spec/agents", ".template-spec/process", "AGENTS.md", "skills-lock.json"]) {
36
36
  await mkdir(path.dirname(path.join(staging, relative)), { recursive: true });
37
37
  await cp(path.join(REPOSITORY_ROOT, relative), path.join(staging, relative), { recursive: true });
38
38
  }
@@ -55,7 +55,7 @@ export async function finalizeDataAnalysisProfile({ projectRoot, contract, archi
55
55
  if (digest(context) !== contract.context_handoff_digest || !/^---\r?\ncontext_schema_version: 1\r?\n---/m.test(context.toString())) throw new Error("CONTEXT handoff schema/digest 不匹配");
56
56
  if (spawnSync("git", ["--version"]).status !== 0) throw new Error("Git 不可用");
57
57
 
58
- for (const relative of ["docs/agents", "docs/process", "docs/templates", "docs/architecture/templates"]) {
58
+ for (const relative of [".template-spec/agents", ".template-spec/process", ".template-spec/templates", ".template-spec/architecture/templates"]) {
59
59
  await mkdir(path.dirname(path.join(projectRoot, relative)), { recursive: true });
60
60
  await cp(path.join(REPOSITORY_ROOT, relative), path.join(projectRoot, relative), { recursive: true });
61
61
  }
@@ -73,9 +73,9 @@ export async function finalizeDataAnalysisProfile({ projectRoot, contract, archi
73
73
  }
74
74
  const lockDigest = await sharedTools(path.resolve(options.outputDir), contract);
75
75
  await put(path.join(projectRoot, "skills-lock.json"), JSON.stringify({ version: 1, distribution: { mode: "sibling-directory", skillUtilsDir: "../skillUtils", required: true, compatibility: "skill-utils-v1", lock_digest: lockDigest } }, null, 2));
76
- await put(path.join(projectRoot, "docs/process/engineering-baseline.json"), JSON.stringify({ schema_version: 1, architecture_identity: architectureIdentity, platform_profile: contract.profiles.platform, scaffold_completion: "generated" }, null, 2));
77
- await put(path.join(projectRoot, "docs/process/implementation-repo-registry.yaml"), JSON.stringify({ schema_version: 1, projects: [{ project_type: "backend", project_name: options.projectName, project_root: ".", git_root: ".", repository_scope: "external-repository", scaffold_status: "initialized", default_branch: "main", architecture_identity: architectureIdentity, allowed_write_paths: ["."], verification_commands: contract.verification_commands, expected_evidence_files: contract.expected_evidence_files, ci: "not-configured", rollback_point: "initial-empty-repository" }] }, null, 2));
78
- await put(path.join(projectRoot, "docs/process/service-initialization.json"), JSON.stringify({ work_unit: "work-unit.service-project-initialization", context_handoff_ref: contract.context_handoff_ref, context_handoff_digest: contract.context_handoff_digest, contract_id: contract.contract_id, architecture_identity: architectureIdentity, status: "generated" }, null, 2));
76
+ await put(path.join(projectRoot, ".template-spec/process/engineering-baseline.json"), JSON.stringify({ schema_version: 1, architecture_identity: architectureIdentity, platform_profile: contract.profiles.platform, scaffold_completion: "generated" }, null, 2));
77
+ await put(path.join(projectRoot, ".template-spec/process/implementation-repo-registry.yaml"), JSON.stringify({ schema_version: 1, projects: [{ project_type: "backend", project_name: options.projectName, project_root: ".", git_root: ".", repository_scope: "external-repository", scaffold_status: "initialized", default_branch: "main", architecture_identity: architectureIdentity, allowed_write_paths: ["."], verification_commands: contract.verification_commands, expected_evidence_files: contract.expected_evidence_files, ci: "not-configured", rollback_point: "initial-empty-repository" }] }, null, 2));
78
+ await put(path.join(projectRoot, ".template-spec/process/service-initialization.json"), JSON.stringify({ work_unit: "work-unit.service-project-initialization", context_handoff_ref: contract.context_handoff_ref, context_handoff_digest: contract.context_handoff_digest, contract_id: contract.contract_id, architecture_identity: architectureIdentity, status: "generated" }, null, 2));
79
79
  await put(path.join(projectRoot, ".gitignore"), "target/\n**/target/\n.idea/\n*.iml\n.env\n.env.*\n.local/");
80
80
  const git = spawnSync("git", ["init", "--initial-branch=main"], { cwd: projectRoot, encoding: "utf8" });
81
81
  if (git.status !== 0) throw new Error(`Git 初始化失败: ${git.stderr}`);
@@ -166,7 +166,7 @@ export async function validateContract(options, skillId, architectureProfile, pl
166
166
  if (contract.init_git !== true) fail("mvc-data-analysis-v1 必须由合同显式要求独立 Git 初始化");
167
167
  if (!contract.context_handoff_ref || !contract.context_handoff_digest) fail("mvc-data-analysis-v1 缺少批准的 CONTEXT handoff");
168
168
  }
169
- validateJsonSchema(contract, path.join(REPOSITORY_ROOT, "docs/process/schemas/project-scaffold-contract.schema.json"), { label: "Project Scaffold Contract v4" });
169
+ validateJsonSchema(contract, path.join(REPOSITORY_ROOT, ".template-spec/process/schemas/project-scaffold-contract.schema.json"), { label: "Project Scaffold Contract v4" });
170
170
  const required = ["contract_id", "contract_version", "scaffold_request_id", "status", "compiler_draft_ref", "lifecycle_approval_ref", "persisted_ref", "current_version", "implementation_repository", "backend_repository", "scaffold_status", "project_name", "target_output_dir", "base_package", "architecture_family", "generator_skill", "decision_ref", "decision_id", "decision_digest", "maven_coordinates", "profiles", "module_profile", "allowed_write_paths", "expected_evidence_files", "verification_commands", "approval", "work_unit", "generation_policy"];
171
171
  const missing = required.filter((field) => !isPresent(contract[field]));
172
172
  if (missing.length) fail(`脚手架合同缺少字段: ${missing.join(", ")}`);
@@ -319,7 +319,7 @@ export async function generate(options, { skillId = SKILL_ID, architectureProfil
319
319
  verification_commands: COMMANDS,
320
320
  generator: { id: skillId, template_digest: await treeDigest(SKILL_ROOT) },
321
321
  ownership: { generated_files: generatedFiles, user_owned_globs: ["**/src/main/java/**", "**/src/test/java/**", "db/**"] },
322
- readiness: { downstream_skills: downstream, contracts: { architecture_profiles: rawSha256(await readFile(path.join(REPOSITORY_ROOT, "docs/agents/backend-architecture-profiles.md"))), compiler_contract: rawSha256(await readFile(path.join(REPOSITORY_ROOT, ".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml"))) }, architecture_ruleset: rawSha256(await readFile(path.join(projectRoot, architectureRuleset))) },
322
+ readiness: { downstream_skills: downstream, contracts: { architecture_profiles: rawSha256(await readFile(path.join(REPOSITORY_ROOT, ".template-spec/agents/backend-architecture-profiles.md"))), compiler_contract: rawSha256(await readFile(path.join(REPOSITORY_ROOT, ".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml"))) }, architecture_ruleset: rawSha256(await readFile(path.join(projectRoot, architectureRuleset))) },
323
323
  generated_at: new Date().toISOString()
324
324
  };
325
325
  await put(projectRoot, ".yss/scaffold-generation.json", JSON.stringify(manifest, null, 2));
@@ -8,6 +8,7 @@ import path from "node:path";
8
8
  import test from "node:test";
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { attachDesignPrerequisites } from "../../../../scripts/fixtures/backend-scaffold/design-prerequisites.mjs";
11
+ import { validateNextRoute } from "../../../../scripts/lib/lifecycle-transition.mjs";
11
12
 
12
13
  const script = path.join(path.dirname(fileURLToPath(import.meta.url)), "generate_scaffold.mjs");
13
14
  const digest = (value) => `sha256:${createHash("sha256").update(value).digest("hex")}`;
@@ -80,8 +81,27 @@ test("数据分析初始化生成 H2 六模块和独立治理信封", async (t)
80
81
  data.contract.context_handoff_ref = "context-handoff.md";
81
82
  data.contract.context_handoff_digest = digest(context);
82
83
  await writeFile(data.contractFile, JSON.stringify(data.contract));
84
+ const contractBytes = await readFile(data.contractFile);
85
+ const state = { service_project_initialization: {
86
+ project_id: "demo-service", contract_ref: data.contractFile, contract_digest: digest(contractBytes),
87
+ project_root: data.project, context_handoff_digest: digest(context)
88
+ } };
89
+ const edge = (from, to, value = state) => validateNextRoute(from, to, value, { root: data.root });
90
+ assert.equal(edge("work-unit.implementation-repository-preparation", "work-unit.service-project-initialization").result, "allowed", JSON.stringify(edge("work-unit.implementation-repository-preparation", "work-unit.service-project-initialization")));
91
+ const missingContract = structuredClone(state); missingContract.service_project_initialization.contract_ref = path.join(data.root, "missing-contract.json");
92
+ assert.equal(edge("work-unit.implementation-repository-preparation", "work-unit.service-project-initialization", missingContract).result, "blocked");
93
+ const changedContract = structuredClone(state); changedContract.service_project_initialization.contract_digest = digest("stale");
94
+ assert.equal(edge("work-unit.implementation-repository-preparation", "work-unit.service-project-initialization", changedContract).result, "blocked");
95
+ const approvedContract = structuredClone(data.contract);
96
+ data.contract.design_prerequisites.engineering_contract_approval_ref = "missing-approval.json";
97
+ await writeFile(data.contractFile, JSON.stringify(data.contract));
98
+ const missingApproval = structuredClone(state); missingApproval.service_project_initialization.contract_digest = digest(await readFile(data.contractFile));
99
+ assert.equal(edge("work-unit.implementation-repository-preparation", "work-unit.service-project-initialization", missingApproval).result, "blocked");
100
+ await writeFile(data.contractFile, JSON.stringify(approvedContract));
101
+ assert.equal(edge("work-unit.service-project-initialization", "work-unit.implementation-repository-preparation").result, "blocked");
83
102
  const result = spawnSync(process.execPath, [path.resolve(path.dirname(script), "../../../../scripts/fixtures/backend-scaffold/generate-candidate.mjs"), script, ...data.args], { encoding: "utf8" });
84
103
  assert.equal(result.status, 0, result.stderr);
104
+ assert.equal(edge("work-unit.implementation-repository-preparation", "work-unit.service-project-initialization").result, "blocked", "重复初始化不得放行");
85
105
  const manifest = JSON.parse(await readFile(path.join(data.project, ".yss/scaffold-generation.json"), "utf8"));
86
106
  assert.equal(manifest.architecture_identity.architecture_profile, "mvc-data-analysis-v1");
87
107
  assert.equal(manifest.generator_skill, "yss-layered-mvc-scaffold-generator");
@@ -89,6 +109,28 @@ test("数据分析初始化生成 H2 六模块和独立治理信封", async (t)
89
109
  await stat(path.join(data.project, ".git"));
90
110
  await stat(path.join(data.output, "skillUtils/skills-lock.json"));
91
111
  assert.ok(!manifest.ownership.generated_files.some((entry) => entry.path.startsWith(".git/")));
112
+ const manifestRef = path.join(data.project, ".yss/scaffold-generation.json");
113
+ const verificationRef = path.join(data.root, "scaffold-verification.json");
114
+ const resultRef = path.join(data.root, "service-result.json");
115
+ manifest.completion_level = "empty-scaffold-verified";
116
+ await writeFile(manifestRef, JSON.stringify(manifest));
117
+ const commands = [];
118
+ for (const phase of ["validate", "test", "package"]) {
119
+ const stdout_ref = path.join(data.root, `${phase}.stdout.log`), stderr_ref = path.join(data.root, `${phase}.stderr.log`);
120
+ await writeFile(stdout_ref, "synthetic route fixture"); await writeFile(stderr_ref, "");
121
+ commands.push({ phase, command: `./mvnw ${phase}`, exit_code: 0, stdout_ref, stderr_ref });
122
+ }
123
+ await writeFile(verificationRef, JSON.stringify({ status: "passed", completion_level: "empty-scaffold-verified", project_root: data.project, commands }));
124
+ await writeFile(resultRef, JSON.stringify({ result_schema: "workflow-execution-result-v1", work_unit: "work-unit.service-project-initialization", result: "completed", evidence_refs: [manifestRef, verificationRef] }));
125
+ Object.assign(state.service_project_initialization, { manifest_ref: manifestRef, verification_ref: verificationRef, result_ref: resultRef });
126
+ assert.equal(edge("work-unit.service-project-initialization", "work-unit.implementation-repository-preparation").result, "allowed");
127
+ const stale = structuredClone(state); stale.service_project_initialization.context_handoff_digest = digest("stale");
128
+ assert.equal(edge("work-unit.service-project-initialization", "work-unit.implementation-repository-preparation", stale).result, "blocked");
129
+ commands[0].exit_code = 1; await writeFile(verificationRef, JSON.stringify({ status: "passed", completion_level: "empty-scaffold-verified", project_root: data.project, commands }));
130
+ assert.equal(edge("work-unit.service-project-initialization", "work-unit.implementation-repository-preparation").result, "blocked", "Wrapper 非零退出不得放行");
131
+ commands[0].exit_code = 0;
132
+ commands.pop(); await writeFile(verificationRef, JSON.stringify({ status: "passed", completion_level: "empty-scaffold-verified", project_root: data.project, commands }));
133
+ assert.equal(edge("work-unit.service-project-initialization", "work-unit.implementation-repository-preparation").result, "blocked", "缺失 Wrapper 命令不得放行");
92
134
  const core = await readFile(path.join(data.project, "demo-service-core/pom.xml"), "utf8");
93
135
  assert.doesNotMatch(core, /demo-service-client|spring-web|ojdbc|mysql-connector/);
94
136
  });
@@ -5,7 +5,7 @@ description: "审查 YSS OpenAPI Draft 的需求覆盖、页面动作、响应
5
5
 
6
6
  # YSS OpenAPI Draft Review
7
7
 
8
- 已有生命周期资产优先用 `scripts/contract view <资产> --kind <类型>` 阅读;执行任务用 `--profile task --unit <ID>`,绑定与校验明细用 `--profile full`。视图不授予执行权限,仍按本 Skill 的原始来源和批准门禁处理。类型、准备和迁移见 `docs/process/contract-reading.md`。
8
+ 已有生命周期资产优先用 `scripts/contract view <资产> --kind <类型>` 阅读;执行任务用 `--profile task --unit <ID>`,绑定与校验明细用 `--profile full`。视图不授予执行权限,仍按本 Skill 的原始来源和批准门禁处理。类型、准备和迁移见 `.template-spec/process/contract-reading.md`。
9
9
 
10
10
  Use this skill after OpenAPI Draft creation and before Engineering Baseline / YSS DDD Review. It is a fail-closed contract review skill for design-time OpenAPI files under `docs/.scratch/<feature>/api/`; it does not bundle JSON or generate Orval clients.
11
11
 
@@ -96,4 +96,4 @@ Block if any of these are true:
96
96
 
97
97
  `Review Result` 只有在 `Structural Validation` 与 `Semantic Review` 均为 `Passed` 时才能是 `Approved`;不使用 `Conditionally Approved` 或 `Semantic Approved` 作为顶层结论。
98
98
 
99
- Prefer `docs/api/templates/openapi-draft-review-checklist.md` when a tabular checklist is useful.
99
+ Prefer `.template-spec/api/templates/openapi-draft-review-checklist.md` when a tabular checklist is useful.
@@ -5,7 +5,7 @@ description: "维护、校验、冻结或导出 YSS OpenAPI 3.1 设计合同;
5
5
 
6
6
  # YSS OpenAPI Governance
7
7
 
8
- 已有生命周期资产优先用 `scripts/contract view <资产> --kind <类型>` 阅读;执行任务用 `--profile task --unit <ID>`,绑定与校验明细用 `--profile full`。视图不授予执行权限,仍按本 Skill 的原始来源和批准门禁处理。类型、准备和迁移见 `docs/process/contract-reading.md`。
8
+ 已有生命周期资产优先用 `scripts/contract view <资产> --kind <类型>` 阅读;执行任务用 `--profile task --unit <ID>`,绑定与校验明细用 `--profile full`。视图不授予执行权限,仍按本 Skill 的原始来源和批准门禁处理。类型、准备和迁移见 `.template-spec/process/contract-reading.md`。
9
9
 
10
10
  本 skill 负责 YSS OpenAPI 的 **YAML-first** 工作流:
11
11
 
@@ -17,11 +17,11 @@ Spec / 设计输入 → OpenAPI YAML Draft → 审查与 Freeze → JSON 派生
17
17
 
18
18
  YSS DTO 的可复用 HTTP/JSON 映射由 `.agents/skills/yss-dto/references/openapi-wire-profile.yaml` 单一维护。它描述公开 wire shape,不是 Java 字段或 getter 清单;本 skill 必须消费 profile,不能在治理文档、feature YAML 和 JSON 中各自发明 `SingleResult`、`PageResult` 或 `PageQuery` 字段表。
19
19
 
20
- 文档输出时按 `lifecycle-document-output` 条件调用 `i-have-adhd`,读取 `docs/process/document-writing.md`;作用域仅限当前产物,派发时传递条件及引用。
20
+ 文档输出时按 `lifecycle-document-output` 条件调用 `i-have-adhd`,读取 `.template-spec/process/document-writing.md`;作用域仅限当前产物,派发时传递条件及引用。
21
21
 
22
22
  ## 文档写作
23
23
 
24
- 编写接口说明和契约评审交接正文前,读取 `docs/process/document-writing.md` 的共用写法及工程契约指引;协议标识、schema、冻结状态和验证记录按原合同保存。
24
+ 编写接口说明和契约评审交接正文前,读取 `.template-spec/process/document-writing.md` 的共用写法及工程契约指引;协议标识、schema、冻结状态和验证记录按原合同保存。
25
25
 
26
26
  ## 边界与职责
27
27
 
@@ -34,7 +34,7 @@ YSS DTO 的可复用 HTTP/JSON 映射由 `.agents/skills/yss-dto/references/open
34
34
  - 在 `docs/.scratch/<feature>/api/<feature>-validation.yaml` 持久化结构校验记录,并用 `scripts/verify-openapi-draft-validation-record` 复核当前 YAML SHA-256、锁定的 Redocly 版本、实际命令、退出码、执行时间和证据引用。
35
35
  - 在 OpenAPI Freeze 后,用锁定的 Redocly CLI 将 YAML bundle 为 JSON,并记录可重现证据。
36
36
  - 维护治理记录、Freeze 记录和 JSON 派生记录。
37
- - 在技术分析中生成 `api-contract-decision-v1`:有 API 影响时以原始字节摘要闭包绑定权威 YAML、Validation、独立 Draft Review 和 Freeze;无 API 影响时绑定影响评估、明确原因和至少一项可读证据,且不得生成空占位资产。
37
+ - 在技术分析中生成 API Contract Decision(版本与历史兼容见下文第 3 步):有 API 影响时以原始字节摘要闭包绑定权威 YAML、Validation、独立 Draft Review 和 Freeze;无 API 影响时绑定影响评估、明确原因和至少一项可读证据,且不得生成空占位资产。
38
38
  - Spec Delta 影响存在时,在 `docs/.scratch/<feature>/spec-delta/` 记录与冻结 YAML 的关系;没有影响时明确记录 `not-applicable`。
39
39
 
40
40
  不使用本 skill 来替代:
@@ -72,7 +72,7 @@ pnpm exec redocly bundle \
72
72
  2. **运行结构与治理校验**
73
73
  - 先执行项目 lockfile 锁定版本的 `pnpm exec redocly lint`;CI 可以包装调用,但 validation record 必须记录这条实际命令与退出码。
74
74
  - 检查 YAML 可解析、`$ref` 可解析、路径参数完整、operationId 唯一、examples 合法、schema 命名稳定。
75
- - 从 `docs/api/templates/openapi-draft-validation-record-template.yaml` 创建 `<feature>-validation.yaml`,记录 YAML SHA-256 与 lint 工具链;运行 `scripts/verify-openapi-draft-validation-record --root <project-root> <record>`。自定义解析脚本可以补充诊断,但不能代替锁定的 Redocly lint evidence。
75
+ - 从 `.template-spec/api/templates/openapi-draft-validation-record-template.yaml` 创建 `<feature>-validation.yaml`,记录 YAML SHA-256 与 lint 工具链;运行 `scripts/verify-openapi-draft-validation-record --root <project-root> <record>`。自定义解析脚本可以补充诊断,但不能代替锁定的 Redocly lint evidence。
76
76
  - 对每个 P0 写模型、配置模型及影响关键交互的读模型建立字段级追踪:`Spec/交互来源 → operationId → request/response schema → property path → 类型与嵌套形状 → create/update requiredness → nullable/default/enum/format → error/test seam`。数组元素使用 `items[].property` 一类稳定 property path。
77
77
  - create/update 或其他不同生命周期操作复用同一写 schema 时,逐操作证明 requiredness 与省略语义一致;若不一致,拆分 schema 或明确条件契约。凭据类字段还要说明创建、更新、掩码回显、省略保留与显式清空语义,不能仅凭字段名统一设为必填。
78
78
  - 先运行 `scripts/verify-yss-dto-openapi-profile`,并记录 profile 版本;检查 `/api/v1/` 版本策略(或记录例外)、`x-yss-response-wrapper`、`YssResultMeta` + `allOf` 具体 schema、统一错误结构、分页、幂等 / 乐观锁和契约测试 seam。
@@ -83,12 +83,12 @@ pnpm exec redocly bundle \
83
83
  - 将通过 verifier 且 SHA-256 与当前 YAML 一致的 validation record 交给 `yss-openapi-draft-review`。缺锁定 lint 时可以先做语义预审,但独立 Review 总结果必须为 `Blocked`;不能用“Freeze 前补 lint”支持 `Approved`。
84
84
  - YAML、validation record 或 lint ruleset 变化后,旧结构证据与旧 Review 立即失效,必须重新校验和审查。阻断项未关闭前,YAML 仍是 review-only Draft,不得生成生产客户端。
85
85
  - Freeze 记录必须引用 YAML 路径、Git ref(如适用)和 YAML SHA-256。冻结后 API 行为变更必须先回到 YAML Draft 与审查。
86
- - 将同一 YAML 的版本与摘要、validation record、独立 Review 和 Freeze 写入 API Contract Decision v1。`gate.engineering-contract-approved` 一次批准同时绑定 Technical Design、Data Architecture Decision、API Contract Decision;API `required` 时还必须直接绑定冻结 YAML。不得另造字符串 URI 或仅凭 `status: approved` 关闭门禁。
86
+ - 将同一 YAML 的版本与摘要、validation record、独立 Review 和 Freeze 写入 API Contract Decision(新建 v2;历史 v1 只读兼容,准备与迁移见 `.template-spec/process/contract-reading.md`)。`gate.engineering-contract-approved` 一次批准同时绑定 Technical Design、Data Architecture Decision、API Contract Decision;API `required` 时还必须直接绑定冻结 YAML。不得另造字符串 URI 或仅凭 `status: approved` 关闭门禁。
87
87
 
88
88
  4. **从冻结 YAML 派生 JSON**
89
89
  - 使用上面的锁定 `redocly bundle` 命令生成 `docs/.scratch/<feature>/api/<feature>.json`,JSON 不纳入人工编辑面。
90
90
  - 对输出 JSON 重新执行解析 / lint(按项目工具链),确认 bundle 未产生组件重名冲突或无法解析的引用。
91
- - 写入 `docs/.scratch/<feature>/api/<feature>-json-export.md`,可从 `docs/api/templates/openapi-json-export-record-template.md` 创建。
91
+ - 写入 `docs/.scratch/<feature>/api/<feature>-json-export.md`,可从 `.template-spec/api/templates/openapi-json-export-record-template.md` 创建。
92
92
  - 记录 YAML SHA-256、JSON SHA-256、OAS 版本、Redocly CLI 版本与 lockfile 引用、完整命令、metafile、`$ref` 例外以及结果。
93
93
 
94
94
  5. **交给下游前端**
@@ -5,11 +5,11 @@ description: 编排 YSS 研发全生命周期;当阶段、产物、门禁或 S
5
5
 
6
6
  # YSS Product Lifecycle
7
7
 
8
- 合同阅读:`scripts/contract view`;见 `docs/process/contract-reading.md`。
8
+ 合同阅读:`scripts/contract view`;见 `.template-spec/process/contract-reading.md`。
9
9
 
10
- 主控识别请求、仓库身份和可信阶段,计算 frontier、派发与验收工作单元;专项 Skill 负责设计、实现和独立审查。
10
+ 主控识别请求、身份及可信阶段,计算 frontier 并派发、验收工作单元;专项 Skill 执行与独立审查。
11
11
 
12
- 文档按 `document_writing` 条件调用 `i-have-adhd`,并传递 `docs/process/document-writing.md` 规范。
12
+ 文档按 `document_writing` 条件调用 `i-have-adhd`,并传递 `.template-spec/process/document-writing.md` 规范。
13
13
 
14
14
  ## 事实源与按需加载
15
15
 
@@ -17,11 +17,11 @@ description: 编排 YSS 研发全生命周期;当阶段、产物、门禁或 S
17
17
 
18
18
  | 事实 | 权威来源 |
19
19
  |---|---|
20
- | 阶段、聚合门禁、内部检查、产物、工作单元、证据和稳定 ID | `docs/process/lifecycle-registry.yaml` |
20
+ | 阶段、聚合门禁、内部检查、产物、工作单元、证据和稳定 ID | `.template-spec/process/lifecycle-registry.yaml` |
21
21
  | 执行模式、流转、readiness、暂停、结果和授权语义 | `references/orchestration-contract.yaml` |
22
- | Skill 身份、capability、依赖和路由 | `docs/agents/yss-skill-registry.yaml` |
23
- | 数字人角色、运行时和会签策略 | `docs/agents/digital-human-roles.yaml` |
24
- | 影响面、裁剪和模板维护强度 | `docs/process/harness-process-tailoring.md`、`docs/process/maintenance-intensity.yaml` |
22
+ | Skill 身份、capability、依赖和路由 | `.template-spec/agents/yss-skill-registry.yaml` |
23
+ | 数字人角色、运行时和会签策略 | `.template-spec/agents/digital-human-roles.yaml` |
24
+ | 影响面、裁剪和模板维护强度 | `.template-spec/process/harness-process-tailoring.md`、`.template-source/process/maintenance-intensity.yaml` |
25
25
 
26
26
  用 `scripts/query-lifecycle-context` 查询合同:
27
27
 
@@ -40,7 +40,7 @@ scripts/query-lifecycle-context --mode route --stage stage.plan --work-unit work
40
40
  3. 按合同 `request_triage` 选择 `route`、`orchestrate`、`resume`、`audit`;明确行动请求无需模式关键字,意图不明时只读 `route`。`modes`、门禁及授权边界仍适用。
41
41
  4. `project-instance` 按生命周期注册表推进;`template-source` 只走模板维护流程。
42
42
 
43
- Plan 入口读取 `docs/plan/README.md` 和 `docs/process/plan-migration.md`,按注册表的退出条件核查战略输入。关键未决项阻断进入 Spec;非关键细节须有责任人、解决时点和下游接收方。只使用 Plan 标识;旧阶段不提供兼容解析,历史批准不自动成为 Plan 批准。
43
+ Plan 入口读取 `.template-spec/plan/README.md` 和 `.template-spec/process/plan-migration.md`,核查战略输入与退出条件。关键未决项阻断 Spec;其他未决项记录责任人、解决时点和接收方。只用 Plan 标识;旧阶段不兼容解析,历史批准不自动沿用。
44
44
 
45
45
  理解、澄清与纠错见 [请求分诊协议](references/request-triage.md);用 `scripts/query-lifecycle-context --include request_triage` 查询合同。先查上下文和证据,只问影响下一动作的缺口,不按问题长度追问。
46
46
 
@@ -83,9 +83,9 @@ Plan 入口读取 `docs/plan/README.md` 和 `docs/process/plan-migration.md`,
83
83
 
84
84
  `机会与目标 → 业务故事 → 责任与交接 → 规则、例子与疑问 → 可验收需求 → 页面验证 → 业务任务 → 交接研发`
85
85
 
86
- 按当前决策澄清目标、流程、责任、规则、最小范围和验收例子。可生成引用权威资产的“业务方案总览”,展示状态、未决项、责任人和下一步;不复制正文或新增门禁。
86
+ 按当前决策澄清目标、流程、责任、规则、范围和验收例子。业务方案总览引用权威资产,展示状态、未决项、责任人和下一步;不复制正文或新增门禁。
87
87
 
88
- Plan → Spec(含正式草稿、恢复与显式 `to-spec`)写入前,按 `docs/plan/entry-review.md` 持久化审阅包并运行 `node scripts/verify-plan-spec-entry <state.yaml>`。检查默认 pending,缺项、过期或无真实回复即阻断;独立调研可继续。
88
+ Plan → Spec(含正式草稿、恢复与显式 `to-spec`)写入前,按 `.template-spec/plan/entry-review.md` 持久化审阅包并运行 `node scripts/verify-plan-spec-entry <state.yaml>`。检查默认 pending,缺项、过期或无真实回复即阻断;独立调研可继续。
89
89
 
90
90
  ## 结果与暂停
91
91
 
@@ -97,4 +97,4 @@ Plan → Spec(含正式草稿、恢复与显式 `to-spec`)写入前,按 `d
97
97
 
98
98
  专项合同加载索引见 `references/orchestration.md`。
99
99
 
100
- Plan / Spec / Design 追踪按 `docs/process/stage-tracking.md`。
100
+ Plan / Spec / Design 追踪按 `.template-spec/process/stage-tracking.md`。
@@ -19,7 +19,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
19
19
  | 信息在其他人手中 | `to-questionnaire` | 使用 `external-input-required` 暂停;答案回流后记录 response、重新分类影响面,再进入 `grill-with-docs` 或 `to-spec` |
20
20
  | 大型模糊工作 | `wayfinder`(可选) | 仅在跨会话 / 跨 Agent 或 frontier 不清晰时启用;map 真正完成后 `handoff → to-spec` |
21
21
  | 技术或战略事实 | `yss-research`(`research` 为 deprecated alias) | `technical-evidence` 核验一手技术资料;`strategy-evidence` 为领域战略和阶段决策提供可审计证据;研究包不得自行修改或批准下游资产 |
22
- | runnable 问题 | `prototype` | 生成单文件可分享 HTML,保留 `prototype/<name>` 分支作为主来源;必须 source/return handoff 和结论回填,只能作为阶段 4 输入,不得替代低保真评审、H1/H2 档位路由、schema v3 验证和用户确认 |
22
+ | runnable 问题 | `prototype` | 生成单文件可分享 HTML,保留 `prototype/<name>` 分支作为主来源;必须 source/return handoff 和结论回填,只能作为阶段 4 输入,不得替代低保真评审、H1/H2 档位路由、schema v4 验证和用户确认 |
23
23
  | Spec 综合 | 原生 `work-unit.spec-synthesis`;`to-spec`(用户显式兼容) | 初稿进入 `ready-for-human`,不得直接实现 |
24
24
  | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始 Ticket 状态为 `ready-for-human` |
25
25
  | 实现 | 原生 `work-unit.slice-implementation`;`implement`(用户显式兼容) | 当前合同批准并持久化后执行;内部使用 `tdd`,结果回交后再次核验 |
@@ -48,7 +48,7 @@ workflow_reference:
48
48
  invocation_mode: reference
49
49
  result: completed # completed / blocked / needs-human / failed
50
50
  evidence_refs:
51
- - docs/process/yss-product-lifecycle-orchestrator-validation.md
51
+ - .template-spec/process/yss-product-lifecycle-orchestrator-validation.md
52
52
  changed_artifacts: []
53
53
  new_impacts: []
54
54
  stale_candidates: []
@@ -74,7 +74,7 @@ blocking_signals: []
74
74
 
75
75
  ## Review 候选与 Git 授权
76
76
 
77
- YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。质量标准只从 `engineering-baseline` 引用,禁止在 review input 或切片中另起一份。命中高风险影响时,review input 还要引用 Doubt-Driven 主张 / 反证记录;缺少反证或残余风险未处理时返回 `blocked`。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 实现合同编译器。
77
+ YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。质量标准只从 `engineering-baseline` 引用,禁止在 review input 或切片中另起一份。命中高风险影响时,review input 还要引用 Doubt-Driven 主张 / 反证记录;缺少反证或残余风险未处理时返回 `blocked`。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让所有参与审查者(人数按 `orchestration-contract.yaml.gate_consolidation`) 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 实现合同编译器。
78
78
 
79
79
  Matt `implement` 的通用提交指令不构成 YSS Git 授权。只有用户明确给出 `commit_authorized` 为 `true`、非空 `commit_scope` 和 `commit_authorization_ref` 时才能 commit;只有明确给出 `push_authorized` 为 `true`、非空 `push_scope` 和 `push_authorization_ref` 时才能 push。缺少任一字段时保持工作区不变,只输出 checkpoint 判断;不得把 `orchestrate`、实现授权、当前分支、测试通过或负责人要求解释为隐含授权。`git-submodule` 还必须按仓授权、禁止 detached HEAD 提交,并先推子仓再更新父仓 gitlink。
80
80
 
@@ -92,11 +92,11 @@ Matt `implement` 的通用提交指令不构成 YSS Git 授权。只有用户明
92
92
 
93
93
  当 YSS 生命周期处于 active 状态时,Matt `to-spec` 中独立运行时的 `ready-for-agent` 发布提示由本适配层覆盖为 `ready-for-human`:Spec 必须先经过产品总体设计 / 功能架构、必要的设计与契约门禁,之后才由生命周期编排器决定垂直切片 Ticket 的 `ready-for-agent`。这只约束 YSS 编排下的状态写入,不修改 Matt skill 单独运行时的核心行为。
94
94
 
95
- `setup-matt-pocock-skills` 仅由用户显式启动。readiness=`missing` 时返回 `needs-human`、`requested_skill=setup-matt-pocock-skills` 和 `resume_route=setup-readiness`;仅发现旧路径资产仍进入 migration-check 并暂停写入。`ready` 直接继续,`conflict` 进入迁移裁决,`degraded` 保留待发布草案,`not-applicable` 仅验证模板契约。通用 setup 文案与 YSS tracker 合同冲突时,以 `docs/agents/issue-tracker.md` 和本编排契约为准。
95
+ `setup-matt-pocock-skills` 仅由用户显式启动。readiness=`missing` 时返回 `needs-human`、`requested_skill=setup-matt-pocock-skills` 和 `resume_route=setup-readiness`;仅发现旧路径资产仍进入 migration-check 并暂停写入。`ready` 直接继续,`conflict` 进入迁移裁决,`degraded` 保留待发布草案,`not-applicable` 仅验证模板契约。通用 setup 文案与 YSS tracker 合同冲突时,以 `.template-spec/agents/issue-tracker.md` 和本编排契约为准。
96
96
 
97
97
  ### Local Markdown 兼容映射
98
98
 
99
- 当 `docs/agents/issue-tracker.md` 的 `platform` 为 `local-markdown` 时,Matt flow 的本地输出归一化为以下 YSS 载体:
99
+ 当 `.template-spec/agents/issue-tracker.md` 的 `platform` 为 `local-markdown` 时,Matt flow 的本地输出归一化为以下 YSS 载体:
100
100
 
101
101
  | Matt 产物 | Local 载体 |
102
102
  |---|---|