create-yss-spec 3.4.5 → 3.4.6

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 (392) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  4. package/template/.agents/skills/yss-application/SKILL.md +8 -6
  5. package/template/.agents/skills/yss-audit-log/SKILL.md +12 -7
  6. package/template/.agents/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
  7. package/template/.agents/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
  8. package/template/.agents/skills/yss-audit-log/references/source-index.md +6 -39
  9. package/template/.agents/skills/yss-cache/SKILL.md +5 -1
  10. package/template/.agents/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
  11. package/template/.agents/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
  12. package/template/.agents/skills/yss-cache/references/source-index.md +6 -63
  13. package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
  14. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  15. package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
  16. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
  17. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
  18. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
  19. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  20. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
  21. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  22. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  23. package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -0
  24. package/template/.agents/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
  25. package/template/.agents/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
  26. package/template/.agents/skills/yss-distributed-id/references/source-index.md +6 -82
  27. package/template/.agents/skills/yss-dto/SKILL.md +2 -2
  28. package/template/.agents/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
  29. package/template/.agents/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
  30. package/template/.agents/skills/yss-dto/references/source-index.md +6 -51
  31. package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -0
  32. package/template/.agents/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
  33. package/template/.agents/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
  34. package/template/.agents/skills/yss-excel-mvc/references/source-index.md +6 -70
  35. package/template/.agents/skills/yss-exception/SKILL.md +12 -9
  36. package/template/.agents/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
  37. package/template/.agents/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
  38. package/template/.agents/skills/yss-exception/references/source-index.md +6 -31
  39. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  40. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
  41. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
  42. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
  43. package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
  44. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
  45. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
  46. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
  47. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
  48. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
  49. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
  50. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
  51. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
  52. package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
  53. package/template/.agents/skills/yss-mvc-design/SKILL.md +5 -9
  54. package/template/.agents/skills/yss-mvc-design/agents/openai.yaml +3 -3
  55. package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
  56. package/template/.agents/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
  57. package/template/.agents/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
  58. package/template/.agents/skills/yss-mybatis/references/source-index.md +6 -109
  59. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
  60. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  61. package/template/.agents/skills/yss-repository/SKILL.md +1 -1
  62. package/template/.agents/skills/yss-resilience4j/SKILL.md +4 -0
  63. package/template/.agents/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
  64. package/template/.agents/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
  65. package/template/.agents/skills/yss-resilience4j/references/source-index.md +6 -29
  66. package/template/.agents/skills/yss-security-algorithm/SKILL.md +34 -10
  67. package/template/.agents/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
  68. package/template/.agents/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
  69. package/template/.agents/skills/yss-security-algorithm/references/source-index.md +6 -31
  70. package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
  71. package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
  72. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
  73. package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
  74. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
  75. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
  76. package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
  77. package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
  78. package/template/.agents/skills/yss-tactical-design/references/output-template.md +1 -1
  79. package/template/.agents/skills/yss-technical-design/SKILL.md +3 -1
  80. package/template/.agents/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
  81. package/template/.agents/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  82. package/template/.agents/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
  83. package/template/.agents/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
  84. package/template/.agents/skills/yss-up-springboot3/SKILL.md +23 -9
  85. package/template/.agents/skills/yss-userinfo/SKILL.md +21 -14
  86. package/template/.agents/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
  87. package/template/.agents/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
  88. package/template/.agents/skills/yss-userinfo/references/source-index.md +6 -30
  89. package/template/.agents/skills/yss-validation/SKILL.md +12 -17
  90. package/template/.agents/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
  91. package/template/.agents/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
  92. package/template/.agents/skills/yss-validation/references/source-index.md +6 -29
  93. package/template/.agents/skills/yss-web-controller/SKILL.md +4 -4
  94. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  95. package/template/.codex/skills/yss-application/SKILL.md +8 -6
  96. package/template/.codex/skills/yss-audit-log/SKILL.md +12 -7
  97. package/template/.codex/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
  98. package/template/.codex/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
  99. package/template/.codex/skills/yss-audit-log/references/source-index.md +6 -39
  100. package/template/.codex/skills/yss-cache/SKILL.md +5 -1
  101. package/template/.codex/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
  102. package/template/.codex/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
  103. package/template/.codex/skills/yss-cache/references/source-index.md +6 -63
  104. package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
  105. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  106. package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
  107. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
  108. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
  109. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
  110. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  111. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
  112. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  113. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  114. package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -0
  115. package/template/.codex/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
  116. package/template/.codex/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
  117. package/template/.codex/skills/yss-distributed-id/references/source-index.md +6 -82
  118. package/template/.codex/skills/yss-dto/SKILL.md +2 -2
  119. package/template/.codex/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
  120. package/template/.codex/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
  121. package/template/.codex/skills/yss-dto/references/source-index.md +6 -51
  122. package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -0
  123. package/template/.codex/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
  124. package/template/.codex/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
  125. package/template/.codex/skills/yss-excel-mvc/references/source-index.md +6 -70
  126. package/template/.codex/skills/yss-exception/SKILL.md +12 -9
  127. package/template/.codex/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
  128. package/template/.codex/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
  129. package/template/.codex/skills/yss-exception/references/source-index.md +6 -31
  130. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  131. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
  132. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
  133. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
  134. package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
  135. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
  136. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
  137. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
  138. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
  139. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
  140. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
  141. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
  142. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
  143. package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
  144. package/template/.codex/skills/yss-mvc-design/SKILL.md +5 -9
  145. package/template/.codex/skills/yss-mvc-design/agents/openai.yaml +3 -3
  146. package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
  147. package/template/.codex/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
  148. package/template/.codex/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
  149. package/template/.codex/skills/yss-mybatis/references/source-index.md +6 -109
  150. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
  151. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  152. package/template/.codex/skills/yss-repository/SKILL.md +1 -1
  153. package/template/.codex/skills/yss-resilience4j/SKILL.md +4 -0
  154. package/template/.codex/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
  155. package/template/.codex/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
  156. package/template/.codex/skills/yss-resilience4j/references/source-index.md +6 -29
  157. package/template/.codex/skills/yss-security-algorithm/SKILL.md +34 -10
  158. package/template/.codex/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
  159. package/template/.codex/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
  160. package/template/.codex/skills/yss-security-algorithm/references/source-index.md +6 -31
  161. package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
  162. package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
  163. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
  164. package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
  165. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
  166. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
  167. package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
  168. package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
  169. package/template/.codex/skills/yss-tactical-design/references/output-template.md +1 -1
  170. package/template/.codex/skills/yss-technical-design/SKILL.md +3 -1
  171. package/template/.codex/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
  172. package/template/.codex/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  173. package/template/.codex/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
  174. package/template/.codex/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
  175. package/template/.codex/skills/yss-up-springboot3/SKILL.md +23 -9
  176. package/template/.codex/skills/yss-userinfo/SKILL.md +21 -14
  177. package/template/.codex/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
  178. package/template/.codex/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
  179. package/template/.codex/skills/yss-userinfo/references/source-index.md +6 -30
  180. package/template/.codex/skills/yss-validation/SKILL.md +12 -17
  181. package/template/.codex/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
  182. package/template/.codex/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
  183. package/template/.codex/skills/yss-validation/references/source-index.md +6 -29
  184. package/template/.codex/skills/yss-web-controller/SKILL.md +4 -4
  185. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  186. package/template/.cursor/skills/yss-application/SKILL.md +8 -6
  187. package/template/.cursor/skills/yss-audit-log/SKILL.md +12 -7
  188. package/template/.cursor/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
  189. package/template/.cursor/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
  190. package/template/.cursor/skills/yss-audit-log/references/source-index.md +6 -39
  191. package/template/.cursor/skills/yss-cache/SKILL.md +5 -1
  192. package/template/.cursor/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
  193. package/template/.cursor/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
  194. package/template/.cursor/skills/yss-cache/references/source-index.md +6 -63
  195. package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
  196. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  197. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
  198. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
  199. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
  200. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
  201. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  202. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
  203. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  204. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  205. package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -0
  206. package/template/.cursor/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
  207. package/template/.cursor/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
  208. package/template/.cursor/skills/yss-distributed-id/references/source-index.md +6 -82
  209. package/template/.cursor/skills/yss-dto/SKILL.md +2 -2
  210. package/template/.cursor/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
  211. package/template/.cursor/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
  212. package/template/.cursor/skills/yss-dto/references/source-index.md +6 -51
  213. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -0
  214. package/template/.cursor/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
  215. package/template/.cursor/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
  216. package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +6 -70
  217. package/template/.cursor/skills/yss-exception/SKILL.md +12 -9
  218. package/template/.cursor/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
  219. package/template/.cursor/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
  220. package/template/.cursor/skills/yss-exception/references/source-index.md +6 -31
  221. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  222. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
  223. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
  224. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
  225. package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
  226. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
  227. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
  228. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
  229. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
  230. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
  231. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
  232. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
  233. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
  234. package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
  235. package/template/.cursor/skills/yss-mvc-design/SKILL.md +5 -9
  236. package/template/.cursor/skills/yss-mvc-design/agents/openai.yaml +3 -3
  237. package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
  238. package/template/.cursor/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
  239. package/template/.cursor/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
  240. package/template/.cursor/skills/yss-mybatis/references/source-index.md +6 -109
  241. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
  242. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  243. package/template/.cursor/skills/yss-repository/SKILL.md +1 -1
  244. package/template/.cursor/skills/yss-resilience4j/SKILL.md +4 -0
  245. package/template/.cursor/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
  246. package/template/.cursor/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
  247. package/template/.cursor/skills/yss-resilience4j/references/source-index.md +6 -29
  248. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +34 -10
  249. package/template/.cursor/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
  250. package/template/.cursor/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
  251. package/template/.cursor/skills/yss-security-algorithm/references/source-index.md +6 -31
  252. package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
  253. package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
  254. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
  255. package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
  256. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
  257. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
  258. package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
  259. package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
  260. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +1 -1
  261. package/template/.cursor/skills/yss-technical-design/SKILL.md +3 -1
  262. package/template/.cursor/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
  263. package/template/.cursor/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  264. package/template/.cursor/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
  265. package/template/.cursor/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
  266. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +23 -9
  267. package/template/.cursor/skills/yss-userinfo/SKILL.md +21 -14
  268. package/template/.cursor/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
  269. package/template/.cursor/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
  270. package/template/.cursor/skills/yss-userinfo/references/source-index.md +6 -30
  271. package/template/.cursor/skills/yss-validation/SKILL.md +12 -17
  272. package/template/.cursor/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
  273. package/template/.cursor/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
  274. package/template/.cursor/skills/yss-validation/references/source-index.md +6 -29
  275. package/template/.cursor/skills/yss-web-controller/SKILL.md +4 -4
  276. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  277. package/template/.pi/skills/yss-application/SKILL.md +8 -6
  278. package/template/.pi/skills/yss-audit-log/SKILL.md +12 -7
  279. package/template/.pi/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
  280. package/template/.pi/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
  281. package/template/.pi/skills/yss-audit-log/references/source-index.md +6 -39
  282. package/template/.pi/skills/yss-cache/SKILL.md +5 -1
  283. package/template/.pi/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
  284. package/template/.pi/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
  285. package/template/.pi/skills/yss-cache/references/source-index.md +6 -63
  286. package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
  287. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
  288. package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
  289. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
  290. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
  291. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
  292. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
  293. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
  294. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
  295. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  296. package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -0
  297. package/template/.pi/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
  298. package/template/.pi/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
  299. package/template/.pi/skills/yss-distributed-id/references/source-index.md +6 -82
  300. package/template/.pi/skills/yss-dto/SKILL.md +2 -2
  301. package/template/.pi/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
  302. package/template/.pi/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
  303. package/template/.pi/skills/yss-dto/references/source-index.md +6 -51
  304. package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -0
  305. package/template/.pi/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
  306. package/template/.pi/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
  307. package/template/.pi/skills/yss-excel-mvc/references/source-index.md +6 -70
  308. package/template/.pi/skills/yss-exception/SKILL.md +12 -9
  309. package/template/.pi/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
  310. package/template/.pi/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
  311. package/template/.pi/skills/yss-exception/references/source-index.md +6 -31
  312. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  313. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
  314. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
  315. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
  316. package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
  317. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
  318. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
  319. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
  320. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
  321. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
  322. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
  323. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
  324. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
  325. package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
  326. package/template/.pi/skills/yss-mvc-design/SKILL.md +5 -9
  327. package/template/.pi/skills/yss-mvc-design/agents/openai.yaml +3 -3
  328. package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
  329. package/template/.pi/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
  330. package/template/.pi/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
  331. package/template/.pi/skills/yss-mybatis/references/source-index.md +6 -109
  332. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
  333. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  334. package/template/.pi/skills/yss-repository/SKILL.md +1 -1
  335. package/template/.pi/skills/yss-resilience4j/SKILL.md +4 -0
  336. package/template/.pi/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
  337. package/template/.pi/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
  338. package/template/.pi/skills/yss-resilience4j/references/source-index.md +6 -29
  339. package/template/.pi/skills/yss-security-algorithm/SKILL.md +34 -10
  340. package/template/.pi/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
  341. package/template/.pi/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
  342. package/template/.pi/skills/yss-security-algorithm/references/source-index.md +6 -31
  343. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
  344. package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
  345. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
  346. package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
  347. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
  348. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
  349. package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
  350. package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
  351. package/template/.pi/skills/yss-tactical-design/references/output-template.md +1 -1
  352. package/template/.pi/skills/yss-technical-design/SKILL.md +3 -1
  353. package/template/.pi/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
  354. package/template/.pi/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  355. package/template/.pi/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
  356. package/template/.pi/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
  357. package/template/.pi/skills/yss-up-springboot3/SKILL.md +23 -9
  358. package/template/.pi/skills/yss-userinfo/SKILL.md +21 -14
  359. package/template/.pi/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
  360. package/template/.pi/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
  361. package/template/.pi/skills/yss-userinfo/references/source-index.md +6 -30
  362. package/template/.pi/skills/yss-validation/SKILL.md +12 -17
  363. package/template/.pi/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
  364. package/template/.pi/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
  365. package/template/.pi/skills/yss-validation/references/source-index.md +6 -29
  366. package/template/.pi/skills/yss-web-controller/SKILL.md +4 -4
  367. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
  368. package/template/docs/agents/backend-architecture-profiles.md +1 -1
  369. package/template/docs/agents/digital-human-roles.yaml +1 -1
  370. package/template/docs/agents/skill-migrations.md +23 -0
  371. package/template/docs/agents/yss-skill-registry.yaml +109 -40
  372. package/template/docs/api/templates/openapi-draft-review-checklist.md +1 -1
  373. package/template/docs/architecture/templates/engineering-baseline-review-template.md +3 -3
  374. package/template/docs/architecture/templates/system-overview-design-template.md +1 -1
  375. package/template/docs/engineering/backend-platforms.json +662 -9
  376. package/template/docs/engineering/backend-platforms.md +33 -7
  377. package/template/docs/process/schemas/backend-architecture-identity.schema.json +102 -0
  378. package/template/docs/process/schemas/project-scaffold-contract.schema.json +16 -4
  379. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +7 -0
  380. package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +143 -0
  381. package/template/docs/process/strategic-handoff-package.md +1 -1
  382. package/template/docs/templates/implementation-routing-template.md +1 -1
  383. package/template/docs/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 +2 -2
  384. package/template/scripts/backend-platforms +77 -8
  385. package/template/scripts/lib/backend-platform.mjs +232 -5
  386. package/template/scripts/lib/existing-backend-architecture.mjs +3 -2
  387. package/template/scripts/lib/implementation-contract-compiler.mjs +93 -9
  388. package/template/scripts/lib/skill-registry.mjs +165 -12
  389. package/template/scripts/lib/slice-contract-preparation.mjs +6 -5
  390. package/template/scripts/verify-backend-platform-matrix +1 -1
  391. package/template/skills-lock.json +29 -29
  392. package/template.snapshot.json +4 -4
@@ -6,26 +6,25 @@ skill_dir=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
6
6
  locate_source() {
7
7
  if [ "$#" -gt 0 ] && [ -n "$1" ]; then
8
8
  if [ -d "$1/yss-microservice-components/yss-component-cache-parent" ]; then
9
- echo "$1"
9
+ (CDPATH= cd -- "$1" && pwd)
10
10
  return 0
11
11
  fi
12
- return 1
13
12
  fi
14
- if [ -n "${YSS_SOURCE_ROOT:-}" ] && [ -d "$YSS_SOURCE_ROOT/yss-microservice-components/yss-component-cache-parent" ]; then
15
- echo "$YSS_SOURCE_ROOT"
16
- return 0
17
- fi
18
- for candidate in "$PWD" "$PWD/.." "$HOME/Projects/yss-cloud-microservice" "$HOME/Documents/yss-project/yss-cloud-microservice"; do
19
- if [ -d "$candidate/yss-microservice-components/yss-component-cache-parent" ]; then
20
- (CDPATH= cd -- "$candidate" && pwd)
21
- return 0
22
- fi
23
- done
24
13
  return 1
25
14
  }
26
15
 
27
- source_root=$(locate_source "${1:-}") || {
28
- echo "ERROR: cannot locate yss-component-cache-parent; pass source root or set YSS_SOURCE_ROOT" >&2
16
+ platform_line=${1:-}
17
+ if [ "$platform_line" != "boot2-java8" ] && [ "$platform_line" != "boot3-java17" ]; then
18
+ echo "usage: check-skill-freshness.sh <boot2-java8|boot3-java17> [source-root]" >&2
19
+ exit 2
20
+ fi
21
+
22
+ configured_root=""
23
+ if [ "$platform_line" = "boot2-java8" ]; then configured_root=${YSS_SOURCE_ROOT_BOOT2_JAVA8:-}; fi
24
+ if [ "$platform_line" = "boot3-java17" ]; then configured_root=${YSS_SOURCE_ROOT_BOOT3_JAVA17:-}; fi
25
+
26
+ source_root=$(locate_source "${2:-$configured_root}") || {
27
+ echo "ERROR: cannot locate yss-component-cache-parent for $platform_line; pass its source root or set the generation-specific environment variable" >&2
29
28
  exit 2
30
29
  }
31
30
 
@@ -33,9 +32,15 @@ parent="$source_root/yss-microservice-components/yss-component-cache-parent"
33
32
  annotation="$parent/yss-component-spring-cache/src/main/java/com/yss/cloud/cache/annotation/ClearCache.java"
34
33
  properties="$parent/yss-component-spring-cache/src/main/java/com/yss/cloud/cache/YssCacheProperties.java"
35
34
  connection="$parent/yss-component-redis-cache/src/main/java/com/yss/cloud/cache/redis/config/RedisConnFactoryConfig.java"
36
- index="$skill_dir/references/source-index.md"
35
+ index="$skill_dir/references/source-index.$platform_line.md"
37
36
  fail=0
38
37
 
38
+ node "$skill_dir/../yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs" \
39
+ --skill yss-cache \
40
+ --platform-line "$platform_line" \
41
+ --source-root "$source_root" \
42
+ --skills-root "$skill_dir/.." || exit 1
43
+
39
44
  require_text() {
40
45
  file=$1
41
46
  pattern=$2
@@ -96,7 +96,7 @@ node scripts/run_first_slice_verification.mjs \
96
96
  - Harness 内多项目布局必须使用 `apps/backend/<project>/`;`apps/backend/` 只能是生成器的父容器,`app/backend/`、`app/frontend/` 及其子路径一律拒绝。`git-submodule` gitlink、空挂载点、detached HEAD 工作树不得覆盖生成,即使传入 `--force` 也不得当成普通目录,且不得走「请显式传入 `--force`」普通目录覆盖 / rename 路径。`--output-dir` 指向 detached HEAD 子仓时不得 mkdir、staging 或生成工程。先 `git submodule update --init` 并在子仓附加分支工作树内生成。生成器必须先调用 `gitSubmoduleScaffoldViolation`,再在 exists / `--force` / rename 之前调用 `refuseGitlinkAsRegularDirectory`。
97
97
  - 不要在 skill 里硬编码用户业务字段或真实连接信息。
98
98
  - 生成后要检查依赖关系是否仍符合分层约束。
99
- - 生成时的静态依赖由技能注册表与 实现合同编译器 共同约束为 `yss-backend-scaffold-parent`、`alibaba-java-code-style`。生成后必须回到 实现合同编译器,并按批准切片加载 `yss-domain`、`yss-application`、`yss-repository`、`yss-mybatis`、`yss-web-controller`、`yss-dto`、`yss-exception`、`yss-validation`、`mapstruct`、`lombok`、`alibaba-java-code-style` 等实际命中的行为 skill。
99
+ - 生成时的工程基线由本 skill 的 `references/engineering-baseline.md` 持有并绑定摘要;它不是独立 Skill。生成后必须回到 实现合同编译器,并按批准切片加载 `yss-domain`、`yss-application`、`yss-repository`、`yss-mybatis`、`yss-web-controller`、`yss-dto`、`yss-exception`、`yss-validation`、`mapstruct`、`lombok`、`alibaba-java-code-style` 等实际命中的行为 skill。
100
100
  - 验证数据库固定 H2,生产数据库 `not-bound`;后续存储接入按批准的切片合同执行。
101
101
  - 生成后的后端工程必须使用项目根目录 `./mvnw ...` 执行构建、测试、运行和 CI 验证;不得在 README、实施记录、Ticket、Review 或 Release 中默认写裸 `mvn ...`。既有仓库确实无法使用 wrapper 时,必须记录受控例外。
102
102
  - 原型确认后,`scaffold_status=required` 才能进入本 skill;本 skill 的生成边界是工程结构、POM、配置、Wrapper 和机械模板,不是业务实现。
@@ -122,7 +122,7 @@ node scripts/run_first_slice_verification.mjs \
122
122
  - 受控验证器:`scripts/run_scaffold_verification.mjs`
123
123
  - 首切片验证器:`scripts/run_first_slice_verification.mjs`
124
124
  - 模板目录:`assets/templates/`
125
- - Parent 工程约束使用已登记的 `references/yss-backend-scaffold-parent/`;生成后的分层实现路由见 `references/layer-skill-routing.md`
125
+ - Parent 工程约束使用内部 `references/engineering-baseline.md`;生成后的分层实现路由见 `references/layer-skill-routing.md`。历史 `yss-backend-scaffold-parent` 仅保留迁移提示,不进入新合同。
126
126
 
127
127
  ## 阶段 7 合同
128
128
 
@@ -0,0 +1,53 @@
1
+ # YSS DDD Scaffold Engineering Baseline
2
+
3
+ 本文件只定义脚手架工程基线和路由,不复制 Domain、Application、Repository、Web 的实现细则。
4
+
5
+ ## 当前可验证 Profile
6
+
7
+ - Architecture: `target-domain-model`
8
+ - Persistence: `mybatis-plus`
9
+ - Verification database: `h2`; production database: `not-bound`
10
+ - Platform: approved `platform_configuration` v2 from the shared backend platform catalog
11
+ - Validation namespace: derived from that platform (`javax` for Boot 2.7; `jakarta` for Boot 3.5/4.1)
12
+ - DTO placement: `web`
13
+ - Repository: `yss-internal`
14
+
15
+ 未具备独立 fixture、受控合同和真实验证证据的组合统一为 `unsupported`。旧架构不存在可选 Profile,也不能作为回退。
16
+
17
+ ## 模块与依赖方向
18
+
19
+ ```text
20
+ domain <- application <- web
21
+ ^ ^
22
+ | |
23
+ infrastructure-+
24
+ ^
25
+ bootstrap
26
+ ```
27
+
28
+ - `domain`:纯 Java 领域模型、领域服务、领域事件、Domain Gateway;不得依赖 YSS DTO/Exception、Web Validation、Jackson、Swagger、MyBatis。
29
+ - `application`:用例编排、Command / Query / Result、事务边界、Application Query Port;可以依赖 Domain 和必要的 YSS result wrapper。
30
+ - `infrastructure`:实现 Domain Gateway / Application Query Port,拥有 PO、Mapper、持久化转换器;依赖 Domain 与 Application。
31
+ - `adapter/web`:拥有 HTTP DTO、Controller、异常翻译、WebConvertor;只依赖 Application。
32
+ - `bootstrap`:装配与启动,不放业务逻辑。
33
+
34
+ 依赖方向由 Maven Reactor、Maven Enforcer 与 ArchUnit 共同约束。MapStruct 统一使用 Spring component model,父 POM 配置 annotation processor、Lombok 与 `lombok-mapstruct-binding`。
35
+
36
+ ## 生成与验证
37
+
38
+ - 输入是批准、持久化且当前的服务级 scaffold contract schema v4,身份为 `scaffold_request_id`,并绑定已确认的 `architecture_family=domain-driven` 架构决策、Technical Design、Data Architecture Decision v1 与真实工程合同批准;不使用 `slice_id`。历史 Manifest v2/v3 仅供验证器只读兼容。
39
+ - 生成器严格 initialize-only:目标工程目录必须不存在,`--force`、旧项目迁移和当前模板升级均为 `unsupported`。
40
+ - Maven 内部仓库通过命名 profile `yss-internal` 与环境变量注入;共享模板不写内部 URL 或凭据。
41
+ - Wrapper 必须带 checksum;DEBUG 和 MyBatis stdout SQL 只允许在 `application-local.yml`。
42
+ - `./mvnw validate`、`./mvnw test`、`./mvnw package` 全部成功只得到 `empty-scaffold-verified`。
43
+ - 只有批准且版本当前的 golden first slice 真实组合 Domain/Application/Infrastructure/Web、通过下游 skill tree drift 校验与根 Wrapper,才能由 `run_first_slice_verification.mjs` 写入 `first-slice-verified`。
44
+
45
+ ## 下游权威技能
46
+
47
+ - Domain:`yss-domain`
48
+ - Application:`yss-application`
49
+ - Persistence:`yss-repository` + `yss-mybatis`
50
+ - Web:`yss-web-controller` + `yss-dto` + `yss-exception`
51
+ - 横切实现约束:`yss-validation` + `mapstruct` + `lombok` + `alibaba-java-code-style`
52
+
53
+ 业务代码必须回到 `yss-implementation-contract-compiler`,消费批准且版本当前的 Slice Implementation Contract,并采用 `behavior-tdd`;脚手架只生成机械工程资产。
@@ -1,58 +1,12 @@
1
1
  ---
2
2
  name: yss-backend-scaffold-parent
3
- description: YSS DDD scaffold Engineering Baseline entry for profile, module, dependency, build, and downstream-skill routing checks.
3
+ description: 迁移历史 DDD scaffold parent 引用到 yss-ddd-scaffold-generator 的内部工程基线。
4
4
  ---
5
5
 
6
- # YSS DDD Scaffold Engineering Baseline
6
+ # YSS Backend Scaffold Parent(Deprecated)
7
7
 
8
- 本文件只定义脚手架工程基线和路由,不复制 Domain、Application、Repository、Web 的实现细则。
8
+ 本入口处于 `migration-only`,不再作为独立 Skill、capability、Recipe 或 typed dependency。DDD 工程基线由 `yss-ddd-scaffold-generator/references/engineering-baseline.md` 持有,并由生成器和首切片验证器绑定摘要。
9
9
 
10
- ## 当前可验证 Profile
10
+ 发现旧合同、任务包或 Manifest 仍把 `yss-backend-scaffold-parent` 当作 Skill 时返回 `skill-deprecated`,将合同标记为 `stale` 后重新编译。不得静默替换、继承旧批准或自动设置 `ready-for-agent`。
11
11
 
12
- - Architecture: `target-domain-model`
13
- - Persistence: `mybatis-plus`
14
- - Verification database: `h2`; production database: `not-bound`
15
- - Platform: approved `platform_configuration` v2 from the shared backend platform catalog
16
- - Validation namespace: derived from that platform (`javax` for Boot 2.7; `jakarta` for Boot 3.5/4.1)
17
- - DTO placement: `web`
18
- - Repository: `yss-internal`
19
-
20
- 未具备独立 fixture、受控合同和真实验证证据的组合统一为 `unsupported`。旧架构不存在可选 Profile,也不能作为回退。
21
-
22
- ## 模块与依赖方向
23
-
24
- ```text
25
- domain <- application <- web
26
- ^ ^
27
- | |
28
- infrastructure-+
29
- ^
30
- bootstrap
31
- ```
32
-
33
- - `domain`:纯 Java 领域模型、领域服务、领域事件、Domain Gateway;不得依赖 YSS DTO/Exception、Web Validation、Jackson、Swagger、MyBatis。
34
- - `application`:用例编排、Command / Query / Result、事务边界、Application Query Port;可以依赖 Domain 和必要的 YSS result wrapper。
35
- - `infrastructure`:实现 Domain Gateway / Application Query Port,拥有 PO、Mapper、持久化转换器;依赖 Domain 与 Application。
36
- - `adapter/web`:拥有 HTTP DTO、Controller、异常翻译、WebConvertor;只依赖 Application。
37
- - `bootstrap`:装配与启动,不放业务逻辑。
38
-
39
- 依赖方向由 Maven Reactor、Maven Enforcer 与 ArchUnit 共同约束。MapStruct 统一使用 Spring component model,父 POM 配置 annotation processor、Lombok 与 `lombok-mapstruct-binding`。
40
-
41
- ## 生成与验证
42
-
43
- - 输入是批准、持久化且当前的服务级 scaffold contract schema v4,身份为 `scaffold_request_id`,并绑定已确认的 `architecture_family=domain-driven` 架构决策、Technical Design、Data Architecture Decision v1 与真实工程合同批准;不使用 `slice_id`。历史 Manifest v2/v3 仅供验证器只读兼容。
44
- - 生成器严格 initialize-only:目标工程目录必须不存在,`--force`、旧项目迁移和当前模板升级均为 `unsupported`。
45
- - Maven 内部仓库通过命名 profile `yss-internal` 与环境变量注入;共享模板不写内部 URL 或凭据。
46
- - Wrapper 必须带 checksum;DEBUG 和 MyBatis stdout SQL 只允许在 `application-local.yml`。
47
- - `./mvnw validate`、`./mvnw test`、`./mvnw package` 全部成功只得到 `empty-scaffold-verified`。
48
- - 只有批准且版本当前的 golden first slice 真实组合 Domain/Application/Infrastructure/Web、通过下游 skill tree drift 校验与根 Wrapper,才能由 `run_first_slice_verification.mjs` 写入 `first-slice-verified`。
49
-
50
- ## 下游权威技能
51
-
52
- - Domain:`yss-domain`
53
- - Application:`yss-application`
54
- - Persistence:`yss-repository` + `yss-mybatis`
55
- - Web:`yss-web-controller` + `yss-dto` + `yss-exception`
56
- - 横切实现约束:`yss-validation` + `mapstruct` + `lombok` + `alibaba-java-code-style`
57
-
58
- 业务代码必须回到 `yss-implementation-contract-compiler`,消费批准且版本当前的 Slice Implementation Contract,并采用 `behavior-tdd`;脚手架只生成机械工程资产。
12
+ 历史 Manifest 中的 `readiness.contracts.scaffold_parent` 只允许验证器只读恢复;新 Manifest 写入 `readiness.contracts.engineering_baseline`。引用归零后删除本迁移壳,不建立 alias。
@@ -1,5 +1,5 @@
1
1
  version: 1
2
2
  interface:
3
- display_name: "YSS Scaffold Parent"
4
- short_description: "YSS 后端脚手架父工程、依赖与公共约定实践落地规范"
5
- default_prompt: "Use $yss-backend-scaffold-parent to set up the parent project and shared conventions for a YSS backend scaffold."
3
+ display_name: "YSS Scaffold Parent Migration"
4
+ short_description: "迁移已退役的 DDD 父基线入口"
5
+ default_prompt: "Return skill-deprecated and migrate the historical $yss-backend-scaffold-parent reference to the internal yss-ddd-scaffold-generator engineering baseline without inheriting approval."
@@ -34,7 +34,7 @@ async function readiness() {
34
34
  return {
35
35
  downstream_skills: downstreamSkills,
36
36
  contracts: {
37
- scaffold_parent: await digest(".agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md"),
37
+ engineering_baseline: await digest(".agents/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md"),
38
38
  compiler_contract: await digest(".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml")
39
39
  },
40
40
  architecture_ruleset: "b".repeat(64)
@@ -369,9 +369,9 @@ export class ScaffoldGenerator {
369
369
  const skillRoot = path.join(REPOSITORY_ROOT, ".agents", "skills", skill);
370
370
  downstream[skill] = await isFile(path.join(skillRoot, "SKILL.md")) ? await treeDigest(skillRoot) : "unavailable";
371
371
  }
372
- const scaffoldParent = path.join(SKILL_ROOT, "references", "yss-backend-scaffold-parent", "SKILL.md");
372
+ const engineeringBaseline = path.join(SKILL_ROOT, "references", "engineering-baseline.md");
373
373
  const compilerContract = path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-implementation-contract-compiler", "references", "compiler-contract.yaml");
374
- const manifest = { source_fingerprint: platformSourceFingerprint(contract.architecture_family), generated_tree_digest: generatedTreeDigest(this.projectRoot, { ownership: { generated_files: generatedFiles } }), platform_verification: this.platformOptions.candidate === true ? "candidate" : "verified", platform_configuration: contract.platform_configuration, schema_version: 4, kind: "backend-scaffold", architecture_profile: contract.architecture_profile, architecture_identity: scaffoldArchitectureIdentity(contract, this.contractDigest), contract_id: this.options.contractId, contract_version: this.options.contractVersion, scaffold_request_id: contract.scaffold_request_id, architecture_family: contract.architecture_family, generator_skill: contract.generator_skill, decision_id: contract.decision_id, decision_digest: contract.decision_digest, module_profile: contract.module_profile, design_prerequisites: this.designPrerequisites, approval_ref: this.options.approvalRef, compiler_draft_ref: this.options.compilerDraftRef, persisted_ref: this.options.persistedRef, contract_file_ref: this.contractFile, contract_digest: this.contractDigest, lifecycle_approval_ref: contract.lifecycle_approval_ref, current_version: contract.current_version, approver: contract.approval.approver, allowed_write_paths: contract.allowed_write_paths, expected_evidence_files: contract.expected_evidence_files, project_name: this.projectName, base_package: this.basePackage, bootstrap_main_class: `${this.basePackage}.${this.applicationClassName}`, bootstrap_main_source: this.bootstrapMainSource, maven_coordinates: this.mavenCoordinates, maven_coordinates_source: this.mavenCoordinatesSource, profiles: this.profiles, generation_mode: "controlled-generation", completion_level: "generated", generator: { id: "yss-ddd-scaffold-generator", template_digest: await treeDigest(path.join(SKILL_ROOT, "assets")) }, ownership: { generated_files: generatedFiles, user_owned_globs: ["**/src/main/java/**", "**/src/test/java/**", "db/**"] }, readiness: { downstream_skills: downstream, contracts: { scaffold_parent: sha256(await readFile(scaffoldParent)), compiler_contract: sha256(await readFile(compilerContract)) }, architecture_ruleset: sha256(await readFile(path.join(this.javaTemplateDir, "architecture-rules-test.java.template"))) }, generation_policy: { mode: "initialize-only", existing_target: "unsupported", old_project_migration: "unsupported", template_upgrade: "unsupported" }, verification_commands: COMMANDS, generated_at: isoNow() };
374
+ const manifest = { source_fingerprint: platformSourceFingerprint(contract.architecture_family), generated_tree_digest: generatedTreeDigest(this.projectRoot, { ownership: { generated_files: generatedFiles } }), platform_verification: this.platformOptions.candidate === true ? "candidate" : "verified", platform_configuration: contract.platform_configuration, schema_version: 4, kind: "backend-scaffold", architecture_profile: contract.architecture_profile, architecture_identity: scaffoldArchitectureIdentity(contract, this.contractDigest), contract_id: this.options.contractId, contract_version: this.options.contractVersion, scaffold_request_id: contract.scaffold_request_id, architecture_family: contract.architecture_family, generator_skill: contract.generator_skill, decision_id: contract.decision_id, decision_digest: contract.decision_digest, module_profile: contract.module_profile, design_prerequisites: this.designPrerequisites, approval_ref: this.options.approvalRef, compiler_draft_ref: this.options.compilerDraftRef, persisted_ref: this.options.persistedRef, contract_file_ref: this.contractFile, contract_digest: this.contractDigest, lifecycle_approval_ref: contract.lifecycle_approval_ref, current_version: contract.current_version, approver: contract.approval.approver, allowed_write_paths: contract.allowed_write_paths, expected_evidence_files: contract.expected_evidence_files, project_name: this.projectName, base_package: this.basePackage, bootstrap_main_class: `${this.basePackage}.${this.applicationClassName}`, bootstrap_main_source: this.bootstrapMainSource, maven_coordinates: this.mavenCoordinates, maven_coordinates_source: this.mavenCoordinatesSource, profiles: this.profiles, generation_mode: "controlled-generation", completion_level: "generated", generator: { id: "yss-ddd-scaffold-generator", template_digest: await treeDigest(path.join(SKILL_ROOT, "assets")) }, ownership: { generated_files: generatedFiles, user_owned_globs: ["**/src/main/java/**", "**/src/test/java/**", "db/**"] }, readiness: { downstream_skills: downstream, contracts: { engineering_baseline: sha256(await readFile(engineeringBaseline)), compiler_contract: sha256(await readFile(compilerContract)) }, architecture_ruleset: sha256(await readFile(path.join(this.javaTemplateDir, "architecture-rules-test.java.template"))) }, generation_policy: { mode: "initialize-only", existing_target: "unsupported", old_project_migration: "unsupported", template_upgrade: "unsupported" }, verification_commands: COMMANDS, generated_at: isoNow() };
375
375
  await writeText(path.join(this.projectRoot, ".yss", "scaffold-generation.json"), `${JSON.stringify(manifest, null, 2)}\n`); console.log(" ✓ .yss/scaffold-generation.json");
376
376
  }
377
377
  async copyWrapperFiles() {
@@ -97,13 +97,12 @@ async function downstreamDrift(manifest, requiredSkills = REQUIRED_SKILLS) {
97
97
  }
98
98
  const contracts = manifest.readiness?.contracts ?? {};
99
99
  const contractFiles = {
100
- scaffold_parent: path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-ddd-scaffold-generator", "references", "yss-backend-scaffold-parent", "SKILL.md"),
101
100
  compiler_contract: path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-implementation-contract-compiler", "references", "compiler-contract.yaml")
102
101
  };
103
102
  if (manifest.architecture_family === "layered-mvc") {
104
- delete contractFiles.scaffold_parent;
105
103
  contractFiles.architecture_profiles = path.join(REPOSITORY_ROOT, "docs/agents/backend-architecture-profiles.md");
106
- }
104
+ } else if (contracts.engineering_baseline) contractFiles.engineering_baseline = path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-ddd-scaffold-generator", "references", "engineering-baseline.md");
105
+ else contractFiles.scaffold_parent = path.join(REPOSITORY_ROOT, ".agents", "skills", "yss-ddd-scaffold-generator", "references", "yss-backend-scaffold-parent", "SKILL.md");
107
106
  for (const [name, target] of Object.entries(contractFiles)) {
108
107
  const expected = contracts[name];
109
108
  if (typeof expected !== "string" || !/^[a-f0-9]{64}$/.test(expected)) {
@@ -54,7 +54,7 @@ function validateManifest(manifest) {
54
54
  assertArchitectureAgreement(manifest.architecture_identity, { manifest_fields: scaffoldArchitectureIdentity(manifest, manifest.contract_digest) });
55
55
  }
56
56
  const supportedArchitecture = manifest.architecture_family === "domain-driven" && manifest.generator_skill === "yss-ddd-scaffold-generator" && manifest.profiles.architecture === "target-domain-model"
57
- || manifest.architecture_family === "layered-mvc" && ["yss-layered-mvc-scaffold-generator", "yss-mvc-data-analysis-project-initializer"].includes(manifest.generator_skill) && manifest.profiles.architecture === "layered-mvc";
57
+ || manifest.architecture_family === "layered-mvc" && manifest.generator_skill === "yss-layered-mvc-scaffold-generator" && manifest.profiles.architecture === "layered-mvc";
58
58
  if (!supportedArchitecture || manifest.module_profile?.resolution_version !== 1 || !Array.isArray(manifest.module_profile?.resolved_modules)) throw new Error("Manifest v3/v4 的架构族、生成器、Profile 或模块闭包不一致");
59
59
  if (manifest.schema_version === 4 && (!manifest.design_prerequisites?.technical_design || !manifest.design_prerequisites?.data_architecture_decision || !manifest.design_prerequisites?.engineering_contract_approval_ref)) throw new Error("Manifest v4 缺少设计门禁绑定");
60
60
  } else if (manifest.profiles.architecture !== "target-domain-model") throw new Error("历史 Manifest v2 只读兼容仅支持 target-domain-model");
@@ -149,7 +149,7 @@ async function prepareVerifierProject(project, manifest = targetManifest()) {
149
149
  await writeFile(path.join(project, ".yss", "scaffold-generation.json"), `${JSON.stringify(manifest)}\n`);
150
150
  }
151
151
 
152
- test("生成批准的服务级 target profile 骨架,并写入带设计门禁的 Manifest v4", async (t) => { const data = await fixture(); t.after(() => rm(data.root, { recursive: true, force: true })); const result = await command(data.args); assert.equal(result.code, 0, result.stderr); const project = path.join(data.output, "demo-service"); const manifest = JSON.parse(await readFile(path.join(project, ".yss/scaffold-generation.json"), "utf8")); assert.equal(manifest.schema_version, 4); assert.equal(manifest.architecture_family, "domain-driven"); assert.equal(manifest.generator_skill, "yss-ddd-scaffold-generator"); assert.equal(manifest.decision_id, "scaffold-decision.demo-service"); assert.equal(manifest.scaffold_request_id, "scaffold-request-1"); assert.equal(manifest.slice_id, undefined); assert.equal(manifest.completion_level, "generated"); assert.equal(manifest.profiles.architecture, "target-domain-model"); assert.deepEqual(manifest.design_prerequisites, { ...data.contract.design_prerequisites, data_architecture_decision: { ...data.contract.design_prerequisites.data_architecture_decision, impact: "not-applicable" } }); assert.deepEqual(manifest.generation_policy, { mode: "initialize-only", existing_target: "unsupported", old_project_migration: "unsupported", template_upgrade: "unsupported" }); assert.match(manifest.generator.template_digest, /^[a-f0-9]{64}$/); assert.match(manifest.contract_digest, /^[a-f0-9]{64}$/); assert.ok(manifest.ownership.generated_files.length > 8); assert.ok(manifest.ownership.generated_files.every((item) => item.owner === "generator" && /^[a-f0-9]{64}$/.test(item.sha256))); assert.equal(manifest.generation_mode, "controlled-generation"); assert.deepEqual(manifest.verification_commands, ["./mvnw validate", "./mvnw test", "./mvnw package"]); assert.equal(manifest.bootstrap_main_class, "com.yss.demo.DemoServiceApplication"); assert.equal(manifest.bootstrap_main_source, "demo-service-bootstrap/src/main/java/com/yss/demo/DemoServiceApplication.java"); assert.match(await readFile(path.join(project, manifest.bootstrap_main_source), "utf8"), /class DemoServiceApplication/); assert.match(await readFile(path.join(project, "pom.xml"), "utf8"), /demo-service/); assert.equal(manifest.readiness.downstream_skills["yss-domain"], await treeDigest(path.resolve(scripts, "../../yss-domain"))); assert.match(manifest.readiness.contracts.scaffold_parent, /^[a-f0-9]{64}$/); assert.match(manifest.readiness.contracts.compiler_contract, /^[a-f0-9]{64}$/); });
152
+ test("生成批准的服务级 target profile 骨架,并写入带设计门禁的 Manifest v4", async (t) => { const data = await fixture(); t.after(() => rm(data.root, { recursive: true, force: true })); const result = await command(data.args); assert.equal(result.code, 0, result.stderr); const project = path.join(data.output, "demo-service"); const manifest = JSON.parse(await readFile(path.join(project, ".yss/scaffold-generation.json"), "utf8")); assert.equal(manifest.schema_version, 4); assert.equal(manifest.architecture_family, "domain-driven"); assert.equal(manifest.generator_skill, "yss-ddd-scaffold-generator"); assert.equal(manifest.decision_id, "scaffold-decision.demo-service"); assert.equal(manifest.scaffold_request_id, "scaffold-request-1"); assert.equal(manifest.slice_id, undefined); assert.equal(manifest.completion_level, "generated"); assert.equal(manifest.profiles.architecture, "target-domain-model"); assert.deepEqual(manifest.design_prerequisites, { ...data.contract.design_prerequisites, data_architecture_decision: { ...data.contract.design_prerequisites.data_architecture_decision, impact: "not-applicable" } }); assert.deepEqual(manifest.generation_policy, { mode: "initialize-only", existing_target: "unsupported", old_project_migration: "unsupported", template_upgrade: "unsupported" }); assert.match(manifest.generator.template_digest, /^[a-f0-9]{64}$/); assert.match(manifest.contract_digest, /^[a-f0-9]{64}$/); assert.ok(manifest.ownership.generated_files.length > 8); assert.ok(manifest.ownership.generated_files.every((item) => item.owner === "generator" && /^[a-f0-9]{64}$/.test(item.sha256))); assert.equal(manifest.generation_mode, "controlled-generation"); assert.deepEqual(manifest.verification_commands, ["./mvnw validate", "./mvnw test", "./mvnw package"]); assert.equal(manifest.bootstrap_main_class, "com.yss.demo.DemoServiceApplication"); assert.equal(manifest.bootstrap_main_source, "demo-service-bootstrap/src/main/java/com/yss/demo/DemoServiceApplication.java"); assert.match(await readFile(path.join(project, manifest.bootstrap_main_source), "utf8"), /class DemoServiceApplication/); assert.match(await readFile(path.join(project, "pom.xml"), "utf8"), /demo-service/); assert.equal(manifest.readiness.downstream_skills["yss-domain"], await treeDigest(path.resolve(scripts, "../../yss-domain"))); assert.match(manifest.readiness.contracts.engineering_baseline, /^[a-f0-9]{64}$/); assert.match(manifest.readiness.contracts.compiler_contract, /^[a-f0-9]{64}$/); });
153
153
 
154
154
  test("数据影响为 required 时绑定数据架构后可生成 DDD 后端", async (t) => {
155
155
  const data = await fixture({ dataImpact: "required" });
@@ -67,3 +67,7 @@ description: "接入或排查 YSS 分布式 ID:Leaf、CosId、号段、雪花
67
67
  - 拦截器与自动注入:`assets/AutoIdInterceptor.java`
68
68
  - 启用注解:`assets/EnableDistributedId.java`
69
69
  - Leaf 配置相关:`assets/LeafConf.java`
70
+
71
+ ## 平台与源码门禁
72
+
73
+ 接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),从批准的 `platform_configuration.component_platform_line` 选择 `source-index.boot2-java8.md` 或 `source-index.boot3-java17.md`,并以 `--skill yss-distributed-id --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
@@ -0,0 +1,102 @@
1
+ # yss-distributed-id Source Index
2
+
3
+ Index schema: `backend-component-source-index-v2`
4
+ Platform line: `boot2-java8`
5
+ Generated: 2026-09-18T18:40:26.031Z
6
+ Source commit: `a3be2b2e33dca4545782e2b31894aaa00d0305cd`
7
+ Component worktree: `clean`
8
+ Component tree `yss-microservice-components/yss-component-distributed-id`: `ac54e61f980cfea3e0a574b0559b5fc6a6ccb9f6`
9
+ Component tree `yss-microservice-components/yss-component-leaf`: `8d2e4a0e6244edcbe6f4ee736b6b5d6f3bd10462`
10
+ Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT2_JAVA8` to reproduce or refresh.
11
+
12
+ This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
13
+
14
+ Paths are relocatable source hints. Exact guidance requires a matching component tree and a clean indexed component subtree; the repository commit is trace metadata and may differ when unrelated components change.
15
+
16
+ ## Component Path Hints
17
+
18
+ - `yss-microservice-components/yss-component-distributed-id` (existed when indexed)
19
+ - `yss-microservice-components/yss-component-leaf` (existed when indexed)
20
+
21
+ ## Documentation Files
22
+
23
+ - `yss-microservice-components/yss-component-distributed-id/readme.md`
24
+ - `yss-microservice-components/yss-component-leaf/README.md`
25
+ - `yss-microservice-components/yss-component-leaf/TECHNICAL_DESIGN.md`
26
+
27
+ Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
28
+
29
+ ## Maven Modules
30
+
31
+ - `yss-microservice-components/yss-component-distributed-id/pom.xml` — GAV `com.yss.cloud:yss-component-distributed-id:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:2.0.0-SNAPSHOT`
32
+ - `yss-microservice-components/yss-component-leaf/pom.xml` — GAV `com.yss.cloud:yss-component-leaf:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:2.0.0-SNAPSHOT`
33
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/pom.xml` — GAV `com.yss.cloud:yss-cloud-leaf-feign:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-leaf:2.0.0-SNAPSHOT`
34
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/pom.xml` — GAV `com.yss.cloud:yss-cloud-leaf-grpc-lib:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-leaf:2.0.0-SNAPSHOT`
35
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc/pom.xml` — GAV `com.yss.cloud:yss-cloud-leaf-grpc:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-leaf:2.0.0-SNAPSHOT`
36
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/pom.xml` — GAV `com.yss.cloud:yss-cloud-leaf-rest:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-leaf:2.0.0-SNAPSHOT`
37
+
38
+ ## Platform Signals
39
+
40
+ - Inherited Java signals: `1.8`.
41
+ - Inherited Spring Boot signals: `2.7.18`.
42
+ - Namespace source signals: `javax.*` in 11 main Java files; `jakarta.*` in 0 main Java files.
43
+ - Auto-configuration metadata: 4 `spring.factories`; 0 `AutoConfiguration.imports` files.
44
+ - These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
45
+
46
+ ## Key Java Entry Points
47
+
48
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/EnableDistributedId.java` — `sha256:b5d2c455ae8ed874ef1c38a0de9b78f92c3e26746a27e5552b4f91e29714d221`
49
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/EnableDistributedImportSelector.java` — `sha256:612e6d105996705e5ee368bf960f9c60abc5bae67070ba3b3f81203ccc1c75f6`
50
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/ApplicationContextHelper.java` — `sha256:42e0eb8ceca2c668b528cbe71f637be7f49213c33232920aea6b49c3f458a271`
51
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/SegmentContextHelper.java` — `sha256:0b4b89c9e9c47ae66a1f9c034aed8314f38943096b352dd8410c33b88a3dfd61`
52
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/SnowflakeContextHelper.java` — `sha256:c582d0d70a0a1ac364d14f32d2e1fb6fbf082249e6f81a21db30a930d4d098e8`
53
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/DistributedIdInjectionModeGuard.java` — `sha256:66e5f36d6541c7b9484f45eb9edd52b82fac67363fb67e43d1542ec57a3855c1`
54
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/DistributedIdProperties.java` — `sha256:7f897277084c285dc0da7a29a50ea6f768130588371379478171317cd079f58a`
55
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafConf.java` — `sha256:daf2b2275315853f935aa208600954762fc78a60833270ca4485ed093838f835`
56
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafDataSourceConfiguration.java` — `sha256:1c178fbaedc3f8e208c524111a0453d7a2d849602214b878e5e90de84b96d3c5`
57
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafDatabaseType.java` — `sha256:d2abc8043adeebd78cdb903e0d5f92f590535b678d66c49c0d67e753f5597a3a`
58
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafSegmentProperties.java` — `sha256:6258a6c245b16435a074bac58b611afc8b72ed5a28a06f8721ab0eca68478c56`
59
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/MissingTagPolicy.java` — `sha256:3a11f9d495782ee7635a0fc11072e623da0423969c554485b917dbacd1465740`
60
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/SnowflakeProperties.java` — `sha256:2950793334c15bbce18df2b8adc56c68b831f482acce8abe6f492e84639a6fca`
61
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/exception/LeafIdErrorCode.java` — `sha256:8a53ef6f433c1795edb04dbb461ebb3e4a5b095cfdec35575fa66ed32da4db61`
62
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/exception/LeafIdException.java` — `sha256:8972158d5c1837de9846b23d0682c4665dd7ccc6ba0ecfd600435a67defaf4c3`
63
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/exception/LeafServerException.java` — `sha256:da32dc4ddff2a62bed44e97e2786c673315914006e992468f550986d855c4176`
64
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/health/LeafSegmentHealth.java` — `sha256:d193ab669c34310eb9c9effbfcf2bb0de338d61b23b8378834767e2d230594a1`
65
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/common/PropertyFactory.java` — `sha256:e7753cfb9348e0aa5e0fefa35a35f8da79a7e1a91186ad730ce327ea2570f8e2`
66
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/common/Result.java` — `sha256:cdeac0dc2aa0eeceaead71a1c9e24bb3c4ff8bf561f4631b6341e9527fb50f89`
67
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/common/Status.java` — `sha256:d9d404e6d1365107319088f0ec9134e17007ef520b9eebd3187e3fba38255530`
68
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/segment/dao/IDAllocMapper.java` — `sha256:9e70ab20d7426f8b034e1a732a91ad407aae6fc6e569b31e2ccd152dbb6f0f22`
69
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/segment/model/LeafAlloc.java` — `sha256:4bcd56bece377f15742f2992ac885f11dd17507255ebbd9c71d86bbe84d36e5b`
70
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/snowflake/SnowflakeNodeIdentity.java` — `sha256:d616299dc0417773a2e0066586fc8cfd09f163f9d6cd3db32be59314bd8d1595`
71
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/snowflake/SnowflakeNodeIdentityResolver.java` — `sha256:d4526129ec46ff98cb5f65e9739d14ed74a4286767e03f9a9f103f4e82848361`
72
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/metrics/LeafSegmentMetrics.java` — `sha256:384a14d41d36993e905355ece4c18ccf6ed95ae82b553b5f4abe3f3484dd1d96`
73
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/mybatis/AutoIdInterceptor.java` — `sha256:00dd96d6c417c51b67caf1327299e8ed6df48000a1e84657567f87b7081f62b2`
74
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/mybatis/DistributedIdIdentifierGenerator.java` — `sha256:115120256be8d81fe1ab784b1ffa01c848fc9f8ebdacb3a2bbe9ecd4407e1556`
75
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/conf/YssCloudLeafAutoConfiguration.java` — `sha256:4296d8a97c65fc6c8a8c7b291b2131ecaf005ca926f37dada5cef69bc11aad87`
76
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/context/RestGenIdContextHelper.java` — `sha256:a4dfe39cdc9c878e4453097ba20280759836aabb896748b89b49a0fdf134e7f5`
77
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/feign/YssIdGenFeign.java` — `sha256:899b1eaf778b08379617fe55d768239bd262737ea04a69d4309c40344802613c`
78
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/mybatis/FeignAutoIdInterceptor.java` — `sha256:9b1f9a0e67a810aeed7d4b83df551a091ba43bdecbe66a94b0219d2ab1835643`
79
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/GenerateUniqueIdRequest.java` — `sha256:fd34127effa2d9bb050965970bf8f8f287c5d2b307f729a7e8748d6aa4ec3758`
80
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/GenerateUniqueIdRequestOrBuilder.java` — `sha256:2461652786b1361680df213ac1834bde55f5acfd678c97215ec4a829c9e1f3ac`
81
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/GenerateUniqueIdResponse.java` — `sha256:5391e7d495482142686655fd61d39f40f00296791cf462c505cdd115c96b1d77`
82
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/GenerateUniqueIdResponseOrBuilder.java` — `sha256:996f71a4a23461aabb667b8993df8c123f153dad479defef6766295273fbffef`
83
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/IdGenType.java` — `sha256:64f814384fc035157836f4378aa8f374cc3a16ae739e38cfa3f6b691647ba850`
84
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/UniqueIdProto.java` — `sha256:3b5b48aeabe85aa6728f92f56d891f896043b6d45e669429c16842138d755224`
85
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/grpc/protobuf/UniqueIdServiceGrpc.java` — `sha256:afdf6bec97a31e5dfa131cfb4311c9c6bbe0d9bf2cbeff8eb415a307f831a692`
86
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/leaf/context/GrpcClientService.java` — `sha256:e00151ad4524471a1806175a12aec6f6fd531a0014f47231de3cd863fb210de9`
87
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc-lib/src/main/java/com/yss/cloud/leaf/context/GrpcGenIdContextHelper.java` — `sha256:a8e333c0719eb2195300accfedb425ae038d831da067936500830f173f9977bd`
88
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc/src/main/java/com/yss/cloud/leaf/conf/YssCloudLeafAutoConfiguration.java` — `sha256:4500e6a0683e157e706883220d747fad486b6cb9a1d0e14d2f5af46369205b46`
89
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-grpc/src/main/java/com/yss/cloud/leaf/service/UniqueIdService.java` — `sha256:b3d43c01c0e0d619f935482d74df80230db65415b9a423c0c94417c9e5f44e24`
90
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/conf/YssLeafRestConfiguration.java` — `sha256:963bca50c347ede15b7d6a499f463804834ec03733c3aa0a5f880c2587823888`
91
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/controller/IdGenController.java` — `sha256:9402efdba8c3e1bc7eef0a2f476abf82538f6e1fbe6106d2790238625f29f86b`
92
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/controller/LeafIdRestResponseFactory.java` — `sha256:582e20e26730a28289c8013a127b9233ab1a1b7832b7aeaab9dae5eb3a974595`
93
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/health/LeafSegmentHealthIndicator.java` — `sha256:5fcdb06f0bf598d3a39f752b7c1632c9a3d766279d179c84ca5414222e349c23`
94
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/health/LeafSnowflakeHealthIndicator.java` — `sha256:ae6863606aeaab444648eb70c5f0d11806d1ae8ec3391d538eba5c48279bc15f`
95
+
96
+ ## Freshness and Use
97
+
98
+ - Locate the current source root using `YSS_SOURCE_ROOT_BOOT2_JAVA8`, CodeGraph, Maven artifact names or repository search.
99
+ - Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
100
+ - Run `node ../yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs --skill <skill-id> --platform-line boot2-java8 --source-root <root>` from the canonical skill root before exact integration guidance.
101
+ - A repository commit difference alone is not stale when the component tree is unchanged; a component tree mismatch or component-local dirty state is stale.
102
+ - Read only the source entries needed for the current decision or troubleshooting path.
@@ -0,0 +1,90 @@
1
+ # yss-distributed-id Source Index
2
+
3
+ Index schema: `backend-component-source-index-v2`
4
+ Platform line: `boot3-java17`
5
+ Generated: 2026-09-18T18:40:26.031Z
6
+ Source commit: `5041c41fbe96c25821bbc15f688c0521b8c97a3d`
7
+ Component worktree: `clean`
8
+ Component tree `yss-microservice-components/yss-component-distributed-id`: `5293a06ff3cd454cb50175d3a49af2023e8cafaa`
9
+ Component tree `yss-microservice-components/yss-component-leaf`: `b8d273f3bd031ef4d362bd9c02648414e469211f`
10
+ Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT3_JAVA17` to reproduce or refresh.
11
+
12
+ This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
13
+
14
+ Paths are relocatable source hints. Exact guidance requires a matching component tree and a clean indexed component subtree; the repository commit is trace metadata and may differ when unrelated components change.
15
+
16
+ ## Component Path Hints
17
+
18
+ - `yss-microservice-components/yss-component-distributed-id` (existed when indexed)
19
+ - `yss-microservice-components/yss-component-leaf` (existed when indexed)
20
+
21
+ ## Documentation Files
22
+
23
+ - `yss-microservice-components/yss-component-distributed-id/readme.md`
24
+ - `yss-microservice-components/yss-component-leaf/README.md`
25
+ - `yss-microservice-components/yss-component-leaf/TECHNICAL_DESIGN.md`
26
+
27
+ Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
28
+
29
+ ## Maven Modules
30
+
31
+ - `yss-microservice-components/yss-component-distributed-id/pom.xml` — GAV `com.yss.cloud:yss-component-distributed-id:3.1.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:3.0.0-SNAPSHOT`
32
+ - `yss-microservice-components/yss-component-leaf/pom.xml` — GAV `com.yss.cloud:yss-component-leaf:3.1.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:3.0.0-SNAPSHOT`
33
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/pom.xml` — GAV `com.yss.cloud:yss-cloud-leaf-feign:3.1.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-leaf:3.1.0-SNAPSHOT`
34
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/pom.xml` — GAV `com.yss.cloud:yss-cloud-leaf-rest:3.1.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-leaf:3.1.0-SNAPSHOT`
35
+
36
+ ## Platform Signals
37
+
38
+ - Inherited Java signals: `17`.
39
+ - Inherited Spring Boot signals: `3.5.16`.
40
+ - Namespace source signals: `javax.*` in 3 main Java files; `jakarta.*` in 6 main Java files.
41
+ - Auto-configuration metadata: 0 `spring.factories`; 3 `AutoConfiguration.imports` files.
42
+ - These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
43
+
44
+ ## Key Java Entry Points
45
+
46
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/EnableDistributedId.java` — `sha256:68ae8f0db23a84a4a8314b1ec66b974212c30e4522453e55739f269b3c8a977e`
47
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/EnableDistributedImportSelector.java` — `sha256:5a4af9da1614ac82540a03cf0eae6ff361738d1b10a1b4336fdeef5ee545c6a3`
48
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/id/DistributedIdGenerator.java` — `sha256:76d5f585b7a73435968be19d7d1e96fb36b87f3ebb062d771cbf6c05b03e9f45`
49
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/ApplicationContextHelper.java` — `sha256:6f11dbad0f445687c8cb53b05573b2495678713003eb6bc8bf84902aad4e88a0`
50
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/SegmentContextHelper.java` — `sha256:bc88eedcec63a593b770b9acfd7e8e27d230e91ccfd46b1a21f7772111f118f4`
51
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/SnowflakeContextHelper.java` — `sha256:cdb301faa39ca777a25b812e7b6100fae78f8914950620202e299f3b720c10dd`
52
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/DistributedIdInjectionModeGuard.java` — `sha256:2964d8f08ce82c8e73a200f001ace45ce6969de3a8fe592654e7d8851b6b9eb5`
53
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/DistributedIdProperties.java` — `sha256:6b3b5bc9aad62c053b9c9f98ad42ccab988c2763e33634feded4b201c57bb88f`
54
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafConf.java` — `sha256:daf2b2275315853f935aa208600954762fc78a60833270ca4485ed093838f835`
55
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafDataSourceConfiguration.java` — `sha256:4876c09cc8ef6b4247f5f5e484d33f62e0317ea096bcfc8110fed39e19d1fcc2`
56
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafDatabaseType.java` — `sha256:d2abc8043adeebd78cdb903e0d5f92f590535b678d66c49c0d67e753f5597a3a`
57
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/LeafSegmentProperties.java` — `sha256:6258a6c245b16435a074bac58b611afc8b72ed5a28a06f8721ab0eca68478c56`
58
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/MissingTagPolicy.java` — `sha256:3a11f9d495782ee7635a0fc11072e623da0423969c554485b917dbacd1465740`
59
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/config/SnowflakeProperties.java` — `sha256:2950793334c15bbce18df2b8adc56c68b831f482acce8abe6f492e84639a6fca`
60
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/exception/LeafIdErrorCode.java` — `sha256:8a53ef6f433c1795edb04dbb461ebb3e4a5b095cfdec35575fa66ed32da4db61`
61
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/exception/LeafIdException.java` — `sha256:8972158d5c1837de9846b23d0682c4665dd7ccc6ba0ecfd600435a67defaf4c3`
62
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/exception/LeafServerException.java` — `sha256:da32dc4ddff2a62bed44e97e2786c673315914006e992468f550986d855c4176`
63
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/health/LeafSegmentHealth.java` — `sha256:d193ab669c34310eb9c9effbfcf2bb0de338d61b23b8378834767e2d230594a1`
64
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/common/PropertyFactory.java` — `sha256:e7753cfb9348e0aa5e0fefa35a35f8da79a7e1a91186ad730ce327ea2570f8e2`
65
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/common/Result.java` — `sha256:cdeac0dc2aa0eeceaead71a1c9e24bb3c4ff8bf561f4631b6341e9527fb50f89`
66
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/common/Status.java` — `sha256:d9d404e6d1365107319088f0ec9134e17007ef520b9eebd3187e3fba38255530`
67
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/segment/dao/IDAllocMapper.java` — `sha256:9e70ab20d7426f8b034e1a732a91ad407aae6fc6e569b31e2ccd152dbb6f0f22`
68
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/segment/model/LeafAlloc.java` — `sha256:4bcd56bece377f15742f2992ac885f11dd17507255ebbd9c71d86bbe84d36e5b`
69
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/snowflake/SnowflakeNodeIdentity.java` — `sha256:d616299dc0417773a2e0066586fc8cfd09f163f9d6cd3db32be59314bd8d1595`
70
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/inf/leaf/snowflake/SnowflakeNodeIdentityResolver.java` — `sha256:d4526129ec46ff98cb5f65e9739d14ed74a4286767e03f9a9f103f4e82848361`
71
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/metrics/LeafSegmentMetrics.java` — `sha256:384a14d41d36993e905355ece4c18ccf6ed95ae82b553b5f4abe3f3484dd1d96`
72
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/mybatis/AutoIdInterceptor.java` — `sha256:77291b4ac85b47a57c923be3b4f553ced461cbf0afe9e8aecd799b3ef47155fc`
73
+ - `yss-microservice-components/yss-component-distributed-id/src/main/java/com/yss/cloud/sankuai/mybatis/DistributedIdIdentifierGenerator.java` — `sha256:01316bb9c650c0b5d14b8b209bc17afc1802b65045df9371e4ffd196821ad582`
74
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/conf/YssCloudLeafAutoConfiguration.java` — `sha256:4296d8a97c65fc6c8a8c7b291b2131ecaf005ca926f37dada5cef69bc11aad87`
75
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/context/RestGenIdContextHelper.java` — `sha256:0fe5b875c8c1024220ebff5fa21e85ab240b95376fd4963170ab4e7aad2b7cdb`
76
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/feign/YssIdGenFeign.java` — `sha256:899b1eaf778b08379617fe55d768239bd262737ea04a69d4309c40344802613c`
77
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-feign/src/main/java/com/yss/cloud/leaf/mybatis/FeignAutoIdInterceptor.java` — `sha256:799fd6d4d3364ff7434bbde21330001388a4fc1ae1924ecea5bdb624dd008c49`
78
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/conf/YssLeafRestConfiguration.java` — `sha256:963bca50c347ede15b7d6a499f463804834ec03733c3aa0a5f880c2587823888`
79
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/controller/IdGenController.java` — `sha256:9402efdba8c3e1bc7eef0a2f476abf82538f6e1fbe6106d2790238625f29f86b`
80
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/controller/LeafIdRestResponseFactory.java` — `sha256:582e20e26730a28289c8013a127b9233ab1a1b7832b7aeaab9dae5eb3a974595`
81
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/health/LeafSegmentHealthIndicator.java` — `sha256:5fcdb06f0bf598d3a39f752b7c1632c9a3d766279d179c84ca5414222e349c23`
82
+ - `yss-microservice-components/yss-component-leaf/yss-cloud-leaf-rest/src/main/java/com/yss/cloud/leaf/health/LeafSnowflakeHealthIndicator.java` — `sha256:ae6863606aeaab444648eb70c5f0d11806d1ae8ec3391d538eba5c48279bc15f`
83
+
84
+ ## Freshness and Use
85
+
86
+ - Locate the current source root using `YSS_SOURCE_ROOT_BOOT3_JAVA17`, CodeGraph, Maven artifact names or repository search.
87
+ - Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
88
+ - Run `node ../yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs --skill <skill-id> --platform-line boot3-java17 --source-root <root>` from the canonical skill root before exact integration guidance.
89
+ - A repository commit difference alone is not stale when the component tree is unchanged; a component tree mismatch or component-local dirty state is stale.
90
+ - Read only the source entries needed for the current decision or troubleshooting path.