create-yss-spec 3.4.4 → 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 +2 -2
  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 +5 -5
@@ -0,0 +1,126 @@
1
+ # yss-mybatis 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-persistence`: `1ba5f0e028c4414cde6cb6618398fc44ff6f84a2`
9
+ Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT3_JAVA17` to reproduce or refresh.
10
+
11
+ This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
12
+
13
+ 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.
14
+
15
+ ## Component Path Hints
16
+
17
+ - `yss-microservice-components/yss-component-persistence` (existed when indexed)
18
+
19
+ ## Documentation Files
20
+
21
+ - `yss-microservice-components/yss-component-persistence/HELP.md`
22
+ - `yss-microservice-components/yss-component-persistence/README.md`
23
+ - `yss-microservice-components/yss-component-persistence/TECHNICAL_DESIGN.md`
24
+
25
+ Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
26
+
27
+ ## Maven Modules
28
+
29
+ - `yss-microservice-components/yss-component-persistence/pom.xml` — GAV `com.yss.cloud:yss-component-persistence:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:3.0.0-SNAPSHOT`
30
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-mapper/pom.xml` — GAV `com.yss.cloud:yss-component-mybatis-mapper:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-persistence:3.0.0-SNAPSHOT`
31
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/pom.xml` — GAV `com.yss.cloud:yss-component-mybatis-plus-starter:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-persistence:3.0.0-SNAPSHOT`
32
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/pom.xml` — GAV `com.yss.cloud:yss-component-mybatis-starter:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-persistence:3.0.0-SNAPSHOT`
33
+ - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/pom.xml` — GAV `com.yss.cloud:yss-component-persistence-common:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-component-persistence:3.0.0-SNAPSHOT`
34
+
35
+ ## Platform Signals
36
+
37
+ - Inherited Java signals: `17`.
38
+ - Inherited Spring Boot signals: `3.5.16`.
39
+ - Namespace source signals: `javax.*` in 6 main Java files; `jakarta.*` in 3 main Java files.
40
+ - Auto-configuration metadata: 2 `spring.factories`; 4 `AutoConfiguration.imports` files.
41
+ - These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
42
+
43
+ ## Capability Matrix
44
+
45
+ ### Repository abstractions
46
+
47
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java` — `sha256:fd6d72ff759b3438a2cf9d8a2ba24e848a9e68995fc8a100a0a53c65ee3500bb`
48
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:20` — `public interface BaseRepository<T, D extends Serializable> extends Mapper<T>, BaseMapper<T, D>, ListMapper<T> {`
49
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:66` — `<S extends T> int insert(S entity);`
50
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:80` — `<S extends T> int insertSelective(S entity);`
51
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:85` — `<S extends T> int insertList(@Param("entityList") List<S> entityList);`
52
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:96` — `<S extends T> int updateList(@Param("entityList") List<S> entityList);`
53
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:108` — `<S extends T> int updateListSelective(@Param("entityList") List<S> entityList);`
54
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java` — `sha256:3c37b73a2a2dcaa1ad47fee42f8fb4f9b9ecf51b095f8d1fef816cf785fcbb05`
55
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:12` — `public interface BasePlusRepository<T> extends BaseMapper<T> {`
56
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:21` — `default Integer insertBatchSomeColumn(List<T> entityList) {`
57
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:29` — `Integer rows = insertBatchSomeColumnInternal(entityList.subList(fromIndex, toIndex));`
58
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:43` — `Integer insertBatchSomeColumnInternal(List<T> entityList);`
59
+
60
+ ### Pagination and activation
61
+
62
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/aop/EntityQueryAspect.java` — `sha256:617d5eba33a8266bfc485c8e5f39f43519dd16f4d89c9fea7f918d87b00293ba`
63
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/aop/EntityQueryAspect.java:22` — `@Around("( (execution(public * (@org.springframework.stereotype.Repository *).*(..)) || execution(* com.yss..*.gateway.impl.*.*(..))))&& (args(pageQuery)||args(pageQuery,..))")`
64
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/aop/EntityQueryAspect.java:27` — `Page<Object> page = PageHelper.offsetPage(pageQuery.getOffset(), pageQuery.getPageSize());`
65
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/config/PageQueryEntityConfigration.java` — `sha256:c2659f417c10db7fd9e1a91f825d3b6396ae949f7858dbd3b3d9f8917ae42031`
66
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/config/PageQueryEntityConfigration.java:15` — `@ConditionalOnProperty(name = "yss.mybatis.page-helper.enabled", havingValue = "true", matchIfMissing = true)`
67
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java` — `sha256:2fda7b769434bd6942f680cdc7ffa71030c0d6a0e448d762e0f19b2d0b33cd85`
68
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:8` — `@ConfigurationProperties(value = "yss.mybatis",ignoreUnknownFields = false)`
69
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:10` — `private String mapperLocation = "mappers/*.xml";`
70
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:11` — `private String mapperScan = "com.yss.cloud.**.mapper";`
71
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:15` — `private Integer batchSize = 200;`
72
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:21` — `private PageHelper pageHelper = new PageHelper();`
73
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:27` — `private MybatisPlusPagination mybatisPlusPagination = new MybatisPlusPagination();`
74
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:36` — `private String dbType;`
75
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:164` — `private Boolean enabled = true;`
76
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:183` — `private Boolean enabled = true;`
77
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java` — `sha256:613d241f96472f62f3eb46499fa7f890e89d552f23869236776d2c7adba869e0`
78
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:48` — `PageInterceptor pageInterceptor = new PageInterceptor();`
79
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:267` — `batchSqlInjector.setDbType(dbType);`
80
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:268` — `BatchInsertSettings.setBatchSize(yssMybatisMapperProperties.getBatchSize());`
81
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:278` — `PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(dbType);`
82
+
83
+ ### SQL-level batch insertion
84
+
85
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java` — `sha256:b1ae05aed5f90a97c36ad29d240b05f9f7c5ee5796f2bc293917e09f7d1c8bd2`
86
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:8` — `private static final int DEFAULT_BATCH_SIZE = 200;`
87
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:9` — `private static volatile int batchSize = DEFAULT_BATCH_SIZE;`
88
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:18` — `public static void setBatchSize(Integer configuredBatchSize) {`
89
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:19` — `batchSize = configuredBatchSize == null || configuredBatchSize <= 0`
90
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:20` — `? DEFAULT_BATCH_SIZE : configuredBatchSize;`
91
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchSqlInjector.java` — `sha256:463dfc881c0c33e27ed2a9157041e8b06d2b2e8bbab0dae1a106f467c31fb4ef`
92
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchSqlInjector.java:16` — `public class BatchSqlInjector extends DefaultSqlInjector {`
93
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchSqlInjector.java:28` — `"insertBatchSomeColumnInternal", dbType, i -> FieldFill.UPDATE != i.getFieldFill()));`
94
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java` — `sha256:9cc31f71154fffbc99e4f67816b9026f286f864cfb56a57420185f5e0362dca3`
95
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:24` — `public class DialectInsertBatchSomeColumn extends AbstractMethod {`
96
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:82` — `return dbType == DbType.ORACLE`
97
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:83` — `|| dbType == DbType.ORACLE_12C`
98
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:84` — `|| dbType == DbType.DM;`
99
+
100
+ ### Multi-data-source capability boundary
101
+
102
+ - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/java/com/yss/cloud/mybatis/MultiDataSourceHolder.java` — `sha256:d19370f6a63af76ccb0d05084ef9f0aa71488dcc98b320933ffb8ccf9b9bf896`
103
+ - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/java/com/yss/cloud/mybatis/MultiDataSourceHolder.java:10` — `public class MultiDataSourceHolder {`
104
+ - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/java/com/yss/cloud/mybatis/MultiDataSourceHolder.java:12` — `private Map<String, DataSource> multiDataSource;`
105
+
106
+ ### Auto-configuration registration
107
+
108
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-mapper/src/main/resources/META-INF/spring.factories` — `sha256:a90b4dfe2b38cd3eb97aeff1a7c4af44b9c58b601bf8db4398a0b1952109655b`
109
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-mapper/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports` — `sha256:c02608042eb237bf4060d342446c98f994e7e06bc29e1d0553344a3e0b0bab39`
110
+ - `io.mybatis.config.spring.SpringEnvAutoConfiguration`
111
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports` — `sha256:f28e6674db329e30a2260091704bd01da578f99351dcfab17b31469686f99d6b`
112
+ - `com.yss.cloud.mybatis.MybatisPlusConfiguration`
113
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/resources/META-INF/spring.factories` — `sha256:a90b4dfe2b38cd3eb97aeff1a7c4af44b9c58b601bf8db4398a0b1952109655b`
114
+ - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports` — `sha256:7ca4af9d32bd40209ba11a4e278ac89af4cebbe5e1dfe9adee7d42f51b2d812b`
115
+ - `com.yss.cloud.mybatis.MybatisBaseConfiguration`
116
+ - `com.yss.cloud.mybatis.MybatisPlusConfiguration`
117
+ - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports` — `sha256:2b10176dee15292586a3ab5c9c6d30aaa20f73c1acd94eb71657820c374ec6ff`
118
+ - `com.yss.cloud.mybatis.MultiDataSourceConfiguration`
119
+
120
+ ## Freshness and Use
121
+
122
+ - Locate the current source root using `YSS_SOURCE_ROOT_BOOT3_JAVA17`, CodeGraph, Maven artifact names or repository search.
123
+ - Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
124
+ - 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.
125
+ - 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.
126
+ - Read only the source entries needed for the current decision or troubleshooting path.
@@ -1,113 +1,10 @@
1
- # yss-mybatis Source Index
1
+ # yss-mybatis Source Index Router
2
2
 
3
- Generated: 2026-09-08T17:00:36.490Z
4
- Source commit: `2ccbd3f3f145f9bf74b217a2c211e4bf7a8a2074`
5
- Component worktree: `clean`
6
- Component tree `yss-microservice-components/yss-component-persistence`: `274d9f4c948d0bd8a58e7f6fb50685d6de740f7b`
7
- Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT` to reproduce or refresh.
3
+ Index schema: `backend-component-source-index-router-v1`
8
4
 
9
- This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
5
+ Select the source index from the approved `platform_configuration.component_platform_line`; do not infer a line from imports, a branch name or a requested upgrade.
10
6
 
11
- 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.
7
+ - `boot2-java8` — [Spring Boot 2.7 / Java 8 maintenance line](source-index.boot2-java8.md)
8
+ - `boot3-java17` — [Spring Boot 3.5 / Java 17 mainline](source-index.boot3-java17.md)
12
9
 
13
- ## Component Path Hints
14
-
15
- - `yss-microservice-components/yss-component-persistence` (existed when indexed)
16
-
17
- ## Documentation Files
18
-
19
- - `yss-microservice-components/yss-component-persistence/HELP.md`
20
- - `yss-microservice-components/yss-component-persistence/README.md`
21
- - `yss-microservice-components/yss-component-persistence/TECHNICAL_DESIGN.md`
22
-
23
- Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
24
-
25
- ## Maven Modules
26
-
27
- - `yss-microservice-components/yss-component-persistence`
28
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-mapper`
29
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter`
30
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter`
31
- - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common`
32
-
33
- ## Capability Matrix
34
-
35
- ### Repository abstractions
36
-
37
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java` — `sha256:fd6d72ff759b3438a2cf9d8a2ba24e848a9e68995fc8a100a0a53c65ee3500bb`
38
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:20` — `public interface BaseRepository<T, D extends Serializable> extends Mapper<T>, BaseMapper<T, D>, ListMapper<T> {`
39
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:66` — `<S extends T> int insert(S entity);`
40
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:80` — `<S extends T> int insertSelective(S entity);`
41
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:85` — `<S extends T> int insertList(@Param("entityList") List<S> entityList);`
42
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:96` — `<S extends T> int updateList(@Param("entityList") List<S> entityList);`
43
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/support/BaseRepository.java:108` — `<S extends T> int updateListSelective(@Param("entityList") List<S> entityList);`
44
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java` — `sha256:3c37b73a2a2dcaa1ad47fee42f8fb4f9b9ecf51b095f8d1fef816cf785fcbb05`
45
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:12` — `public interface BasePlusRepository<T> extends BaseMapper<T> {`
46
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:21` — `default Integer insertBatchSomeColumn(List<T> entityList) {`
47
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:29` — `Integer rows = insertBatchSomeColumnInternal(entityList.subList(fromIndex, toIndex));`
48
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/support/BasePlusRepository.java:43` — `Integer insertBatchSomeColumnInternal(List<T> entityList);`
49
-
50
- ### Pagination and activation
51
-
52
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/aop/EntityQueryAspect.java` — `sha256:617d5eba33a8266bfc485c8e5f39f43519dd16f4d89c9fea7f918d87b00293ba`
53
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/aop/EntityQueryAspect.java:22` — `@Around("( (execution(public * (@org.springframework.stereotype.Repository *).*(..)) || execution(* com.yss..*.gateway.impl.*.*(..))))&& (args(pageQuery)||args(pageQuery,..))")`
54
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/aop/EntityQueryAspect.java:27` — `Page<Object> page = PageHelper.offsetPage(pageQuery.getOffset(), pageQuery.getPageSize());`
55
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/config/PageQueryEntityConfigration.java` — `sha256:c2659f417c10db7fd9e1a91f825d3b6396ae949f7858dbd3b3d9f8917ae42031`
56
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/java/com/yss/cloud/mybatis/config/PageQueryEntityConfigration.java:15` — `@ConditionalOnProperty(name = "yss.mybatis.page-helper.enabled", havingValue = "true", matchIfMissing = true)`
57
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java` — `sha256:2fda7b769434bd6942f680cdc7ffa71030c0d6a0e448d762e0f19b2d0b33cd85`
58
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:8` — `@ConfigurationProperties(value = "yss.mybatis",ignoreUnknownFields = false)`
59
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:10` — `private String mapperLocation = "mappers/*.xml";`
60
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:11` — `private String mapperScan = "com.yss.cloud.**.mapper";`
61
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:15` — `private Integer batchSize = 200;`
62
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:21` — `private PageHelper pageHelper = new PageHelper();`
63
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:27` — `private MybatisPlusPagination mybatisPlusPagination = new MybatisPlusPagination();`
64
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:36` — `private String dbType;`
65
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:164` — `private Boolean enabled = true;`
66
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/YssMybatisMapperProperties.java:183` — `private Boolean enabled = true;`
67
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java` — `sha256:79509947c12aeac7b9d6d3e8610edea438240b6613368b84b57b492f06a6b7fc`
68
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:47` — `PageInterceptor pageInterceptor = new PageInterceptor();`
69
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:264` — `batchSqlInjector.setDbType(dbType);`
70
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:265` — `BatchInsertSettings.setBatchSize(yssMybatisMapperProperties.getBatchSize());`
71
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/MapperConfiguration.java:275` — `PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(dbType);`
72
-
73
- ### SQL-level batch insertion
74
-
75
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java` — `sha256:b1ae05aed5f90a97c36ad29d240b05f9f7c5ee5796f2bc293917e09f7d1c8bd2`
76
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:8` — `private static final int DEFAULT_BATCH_SIZE = 200;`
77
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:9` — `private static volatile int batchSize = DEFAULT_BATCH_SIZE;`
78
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:18` — `public static void setBatchSize(Integer configuredBatchSize) {`
79
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:19` — `batchSize = configuredBatchSize == null || configuredBatchSize <= 0`
80
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchInsertSettings.java:20` — `? DEFAULT_BATCH_SIZE : configuredBatchSize;`
81
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchSqlInjector.java` — `sha256:463dfc881c0c33e27ed2a9157041e8b06d2b2e8bbab0dae1a106f467c31fb4ef`
82
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchSqlInjector.java:16` — `public class BatchSqlInjector extends DefaultSqlInjector {`
83
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/BatchSqlInjector.java:28` — `"insertBatchSomeColumnInternal", dbType, i -> FieldFill.UPDATE != i.getFieldFill()));`
84
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java` — `sha256:9cc31f71154fffbc99e4f67816b9026f286f864cfb56a57420185f5e0362dca3`
85
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:24` — `public class DialectInsertBatchSomeColumn extends AbstractMethod {`
86
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:82` — `return dbType == DbType.ORACLE`
87
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:83` — `|| dbType == DbType.ORACLE_12C`
88
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/java/com/yss/cloud/mybatis/config/DialectInsertBatchSomeColumn.java:84` — `|| dbType == DbType.DM;`
89
-
90
- ### Multi-data-source capability boundary
91
-
92
- - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/java/com/yss/cloud/mybatis/MultiDataSourceHolder.java` — `sha256:d19370f6a63af76ccb0d05084ef9f0aa71488dcc98b320933ffb8ccf9b9bf896`
93
- - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/java/com/yss/cloud/mybatis/MultiDataSourceHolder.java:10` — `public class MultiDataSourceHolder {`
94
- - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/java/com/yss/cloud/mybatis/MultiDataSourceHolder.java:12` — `private Map<String, DataSource> multiDataSource;`
95
-
96
- ### Auto-configuration registration
97
-
98
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-mapper/src/main/resources/META-INF/spring.factories` — `sha256:592ecdc43e8e11f86c6d1c4b335661f7a05ae8faf4ebb206ec49ef25512d5e46`
99
- - `org.springframework.boot.autoconfigure.EnableAutoConfiguration=\`
100
- - `io.mybatis.config.spring.SpringEnvAutoConfiguration`
101
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-plus-starter/src/main/resources/META-INF/spring.factories` — `sha256:22d8e4510b67fffe9a132b20524c1982c530d80594a3c4e9f839e914068e0a58`
102
- - `org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.yss.cloud.mybatis.MybatisPlusConfiguration`
103
- - `yss-microservice-components/yss-component-persistence/yss-component-mybatis-starter/src/main/resources/META-INF/spring.factories` — `sha256:ab6be3903a3af9369ecc56d47dac769511e62bc4a7215ebb7171a920415fa23f`
104
- - `org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.yss.cloud.mybatis.MybatisBaseConfiguration,com.yss.cloud.mybatis.MybatisPlusConfiguration`
105
- - `yss-microservice-components/yss-component-persistence/yss-component-persistence-common/src/main/resources/META-INF/spring.factories` — `sha256:59e4a12550a854ad5a5b253ba3300058edc6646b2b221505aab4fb6bfcad1721`
106
- - `org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.yss.cloud.mybatis.MultiDataSourceConfiguration`
107
-
108
- ## Freshness and Use
109
-
110
- - Locate the current source root using `YSS_SOURCE_ROOT`, CodeGraph, Maven artifact names or repository search.
111
- - Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
112
- - 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.
113
- - Read only the source entries needed for the current decision or troubleshooting path.
10
+ Run the freshness checker with the same explicit `--platform-line` and its matching clean source root before exact integration guidance.
@@ -25,7 +25,7 @@ backend_architecture_identity_policy:
25
25
  new_profile_readiness: supported-only
26
26
  service_project_initialization:
27
27
  work_unit: work-unit.service-project-initialization
28
- skill: yss-mvc-data-analysis-project-initializer
28
+ skill: yss-layered-mvc-scaffold-generator
29
29
  architecture_profile: mvc-data-analysis-v1
30
30
  context_inputs: [context_handoff_ref, context_handoff_digest]
31
31
  approval: current-schema-v4-scaffold-contract-with-approved-technical-and-data-design
@@ -393,7 +393,7 @@ work_unit_routes:
393
393
  missing_or_stale: blocked
394
394
  branches:
395
395
  domain-driven: yss-tactical-design
396
- layered-mvc: yss-mvc-design
396
+ layered-mvc: yss-technical-design
397
397
  not_applicable_reason: no_backend_technical_design_impact
398
398
  artifact: artifact.technical-design
399
399
  review_evidence: evidence.technical-design-review
@@ -837,7 +837,7 @@ backend_scaffold:
837
837
  before_generator: [scaffold-architecture-decision-user-confirmed, scaffold-architecture-decision-lifecycle-approved, yss-implementation-contract-compiler-scaffold-contract, lifecycle-approve-scaffold-contract]
838
838
  before: [business_code_generation, implement]
839
839
  generator_routes:
840
- domain-driven: { recipe: backend.ddd-scaffold, generator_skill: yss-ddd-scaffold-generator, baseline_skills: [yss-backend-scaffold-parent] }
840
+ domain-driven: { recipe: backend.ddd-scaffold, generator_skill: yss-ddd-scaffold-generator, baseline_skills: [] }
841
841
  layered-mvc: { recipe: backend.mvc-scaffold, generator_skill: yss-layered-mvc-scaffold-generator, baseline_skills: [] }
842
842
  tdd_mode: controlled-generation
843
843
  contract_schema:
@@ -862,12 +862,14 @@ backend_scaffold:
862
862
  maven_coordinates:
863
863
  required: [group_id, project_version, parent, yss_components_version]
864
864
  parent_required: [group_id, artifact_id, version]
865
- yss_components_version: 2.0.0-SNAPSHOT
865
+ source: platform_configuration-v2-and-backend-platform-catalog
866
+ component_version_policy: per-artifact-from-verified-component-capabilities
866
867
  profiles:
867
868
  discriminant: architecture_family
868
- domain-driven: { generator_skill: yss-ddd-scaffold-generator, architecture: target-domain-model, persistence: mybatis-plus, verification_database: h2, production_database: not-bound, platform: spring-boot-2.7-jdk8, validation_namespace: javax, dto_placement: web, repository: yss-internal }
869
- layered-mvc: { generator_skill: yss-layered-mvc-scaffold-generator, architecture: layered-mvc, persistence: mybatis-plus, verification_database: h2, production_database: not-bound, platform: spring-boot-2.7-jdk8, validation_namespace: javax, repository: yss-internal }
870
- unsupported: [old-architecture-profile, mybatis, spring-boot-3, jakarta, arbitrary-module-combination]
869
+ source: docs/engineering/backend-platforms.json
870
+ platform_binding: platform_configuration-v2
871
+ architecture_profiles_source: docs/agents/yss-skill-registry.yaml
872
+ unsupported: [old-architecture-profile, arbitrary-module-combination, unverified-platform-or-component-capability]
871
873
  module_profile:
872
874
  required: [requested_capabilities, resolved_modules, resolution_version]
873
875
  resolution_version: 1
@@ -887,7 +889,7 @@ backend_scaffold:
887
889
  old_project_migration: unsupported-separate-architecture-modernization-initiative
888
890
  forbidden_generation: [business_rules, state_machine, permission, transaction, complex_query, error_mapping, user_visible_behavior, business_example_crud, unapproved_force_overwrite]
889
891
  after_generation:
890
- domain-driven: [yss-backend-scaffold-parent, yss-implementation-contract-compiler]
892
+ domain-driven: [yss-implementation-contract-compiler]
891
893
  layered-mvc: [yss-implementation-contract-compiler]
892
894
  existing_or_initialized: [baseline_evidence, wrapper_verification, implementation_contract_recompile]
893
895
  verification:
@@ -67,13 +67,13 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
67
67
 
68
68
  ## Matt flow 进入条件
69
69
 
70
- - `work-unit.technical-analysis` 由 `yss-technical-design` 组织后端技术设计,先按项目确认架构,再调用 DDD `yss-tactical-design` 或传统 MVC `yss-mvc-design`。状态、规则、一致性、持久化影响本身不意味着选择 DDD。无后端技术设计影响记录带原因的 `not-applicable`,其他 API / 前端技术分析继续各自路由。新合同使用 `artifact.technical-design`,通过 `evidence.technical-design-review` 回交现有架构审查;旧 DDD 稳定 ID 只读兼容。批准仍由生命周期维护,编译器消费批准且当前的设计起草实现合同;`stale`、`drift` 或 `new_impacts` 时不得继续 Ticket 正式化。
70
+ - `work-unit.technical-analysis` 由 `yss-technical-design` 组织后端技术设计;其 `domain-driven` 分支调用 `yss-tactical-design`,`layered-mvc` 分支由自身持有。状态、规则、一致性、持久化影响本身不意味着选择 DDD。无后端技术设计影响记录带原因的 `not-applicable`,其他 API / 前端技术分析继续各自路由。新合同使用 `artifact.technical-design`,通过 `evidence.technical-design-review` 回交现有架构审查;旧 DDD 稳定 ID 只读兼容。批准仍由生命周期维护,编译器消费批准且当前的设计起草实现合同;`stale`、`drift` 或 `new_impacts` 时不得继续 Ticket 正式化。
71
71
 
72
72
  - `work-unit.plan-requirements` 实际调用 `grilling` 和 `domain-modeling`;`work-unit.plan-opportunity` 按事实类型路由 `competitive-intelligence` 或 `yss-research`。`yss-research:quick` 只用于探索;外部证据进入领域战略、阶段决策或其他生命周期批准输入前必须升级为 `evidence-audited`。生命周期原生工作单元默认负责 Spec、Ticket 和实现资产;`to-spec`、`to-tickets`、`implement` 仅保留为显式兼容入口,结果必须回交生命周期验收。
73
73
  - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始 Ticket 状态统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。该工作单元必须返回 `ticket_decomposition_result_ref` 和垂直切片引用,并作为实现的必经前置证据。
74
74
  - 原生 `work-unit.slice-implementation` 必须在生命周期批准并持久化 Slice Implementation Contract 和 Build Architecture Checklist 后执行;用户显式 `implement` 仍走兼容入口,不得绕过生命周期。
75
75
  - `Workflow Execution Result.next_route` 必须通过生命周期转换校验;Spec、原型和技术分析不得直接跳转到 Ticket 正式化或实现,必须先完成 `work-unit.implementation-repository-preparation`,再进入 `work-unit.ticket-decomposition`。
76
- - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 实现合同编译器 合同重编译均已回写;否则停在工程基线,不得写业务代码。
76
+ - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、生成器内部工程基线、Wrapper 验证和 实现合同编译器 合同重编译均已回写;否则停在工程基线,不得写业务代码。
77
77
  - `Workflow Execution Result` 出现 `drift`、`new_impacts`、`stale_candidates`、`violation`、`missing_evidence`、空 `evidence_refs` 或缺少必需字段时暂停当前工作单元;旧结果只能先经只读兼容 adapter 归一化。
78
78
 
79
79
  ## 审查与验证
@@ -45,4 +45,4 @@ description: 用于按批准的 YSS 架构与持久化合同实现或重构 PO
45
45
 
46
46
  ## 新脚手架平台约束
47
47
 
48
- 消费批准切片架构身份中的 `platform_configuration`,与工程 Manifest 核对后使用对应 YSS 组件。Boot 2.7 使用 `javax` Web/Validation API;Boot 3.5/4.1 使用 `jakarta`。Boot 4 按 Jackson 3、对应自动配置和 starter 适配;不替换 `javax.sql` 等 Java SE 包。平台不一致、兼容条目缺失或候选未验证时回合同编译器阻断,不在业务实现中升级或替换组件。详见 仓库共享合同 `docs/engineering/backend-platforms.md`。
48
+ 消费批准切片架构身份中的 `platform_configuration`,并与工程 Manifest、effective POM 和依赖树核对。命中 MyBatis 时,`framework.mybatis` 必须从该配置指向的 compatibility 条目解析出对当前架构有效的 `component_binding`;构件、摘要、源码 tree、证据或绑定状态不一致时回合同编译器阻断。Validation namespace、Jackson、starter 和处理器版本只消费解析后的精确平台事实,不在本 Skill 中按 Boot 大版本推导。不得在业务实现中升级、降级或替换 YSS 组件;平台迁移使用独立迁移工作单元。详见仓库共享合同 `docs/engineering/backend-platforms.md`。
@@ -44,3 +44,7 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
44
44
  - Do not invent class names or configuration keys without checking the source index.
45
45
  - Do not replace component extension points with business-local framework code.
46
46
  - Do not broaden the task into unrelated YSS components unless the user asks.
47
+
48
+ ## 平台与源码门禁
49
+
50
+ 接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../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-resilience4j --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
@@ -0,0 +1,48 @@
1
+ # yss-resilience4j 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-resilience4j-starter`: `10cdf49599161c77137cac47d047b23998aad75b`
9
+ Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT2_JAVA8` to reproduce or refresh.
10
+
11
+ This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
12
+
13
+ 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.
14
+
15
+ ## Component Path Hints
16
+
17
+ - `yss-microservice-components/yss-component-resilience4j-starter` (existed when indexed)
18
+
19
+ ## Documentation Files
20
+
21
+ - `yss-microservice-components/yss-component-resilience4j-starter/readme.md`
22
+
23
+ Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
24
+
25
+ ## Maven Modules
26
+
27
+ - `yss-microservice-components/yss-component-resilience4j-starter/pom.xml` — GAV `com.yss.cloud:yss-component-resilience4j-starter:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-cloud-microservice:2.0.0-SNAPSHOT`
28
+
29
+ ## Platform Signals
30
+
31
+ - Inherited Java signals: `1.8`.
32
+ - Inherited Spring Boot signals: `2.7.18`.
33
+ - Namespace source signals: `javax.*` in 0 main Java files; `jakarta.*` in 0 main Java files.
34
+ - Auto-configuration metadata: 0 `spring.factories`; 0 `AutoConfiguration.imports` files.
35
+ - These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
36
+
37
+ ## Key Java Entry Points
38
+
39
+ - `yss-microservice-components/yss-component-resilience4j-starter/src/main/java/com/yss/cloud/breaker/config/GatewayConfiguration.java` — `sha256:9d921024e375d83bead3f820bdd08dac4ce397313045b5760da1cb7919ca41f7`
40
+ - `yss-microservice-components/yss-component-resilience4j-starter/src/main/java/com/yss/cloud/breaker/exception/GlobalCircuitExceptionAdvice.java` — `sha256:86457389625015f4971ed6d508ba8ca27757900d70d8e8daa35694de31b1de76`
41
+
42
+ ## Freshness and Use
43
+
44
+ - Locate the current source root using `YSS_SOURCE_ROOT_BOOT2_JAVA8`, CodeGraph, Maven artifact names or repository search.
45
+ - Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
46
+ - 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.
47
+ - 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.
48
+ - Read only the source entries needed for the current decision or troubleshooting path.
@@ -0,0 +1,48 @@
1
+ # yss-resilience4j 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-resilience4j-starter`: `58bb24970e3d28bc82f7112110ac5bcad8f8fca7`
9
+ Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT3_JAVA17` to reproduce or refresh.
10
+
11
+ This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
12
+
13
+ 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.
14
+
15
+ ## Component Path Hints
16
+
17
+ - `yss-microservice-components/yss-component-resilience4j-starter` (existed when indexed)
18
+
19
+ ## Documentation Files
20
+
21
+ - `yss-microservice-components/yss-component-resilience4j-starter/readme.md`
22
+
23
+ Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
24
+
25
+ ## Maven Modules
26
+
27
+ - `yss-microservice-components/yss-component-resilience4j-starter/pom.xml` — GAV `com.yss.cloud:yss-component-resilience4j-starter:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-cloud-microservice:3.0.0-SNAPSHOT`
28
+
29
+ ## Platform Signals
30
+
31
+ - Inherited Java signals: `17`.
32
+ - Inherited Spring Boot signals: `3.5.16`.
33
+ - Namespace source signals: `javax.*` in 0 main Java files; `jakarta.*` in 0 main Java files.
34
+ - Auto-configuration metadata: 0 `spring.factories`; 1 `AutoConfiguration.imports` files.
35
+ - These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
36
+
37
+ ## Key Java Entry Points
38
+
39
+ - `yss-microservice-components/yss-component-resilience4j-starter/src/main/java/com/yss/cloud/breaker/config/GatewayConfiguration.java` — `sha256:7924b9c95f8c7f97636aa480f5613c21703eef646bd72c320966bafe147491ef`
40
+ - `yss-microservice-components/yss-component-resilience4j-starter/src/main/java/com/yss/cloud/breaker/exception/GlobalCircuitExceptionAdvice.java` — `sha256:96eb6f57fcf3f232d9685ee0f1161ace7f8b4f220abb3f90c4958850bbd19a18`
41
+
42
+ ## Freshness and Use
43
+
44
+ - Locate the current source root using `YSS_SOURCE_ROOT_BOOT3_JAVA17`, CodeGraph, Maven artifact names or repository search.
45
+ - Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
46
+ - 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.
47
+ - 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.
48
+ - Read only the source entries needed for the current decision or troubleshooting path.
@@ -1,33 +1,10 @@
1
- # yss-resilience4j Source Index
1
+ # yss-resilience4j Source Index Router
2
2
 
3
- Generated: 2026-08-17T12:03:37.436Z
4
- Source commit: `38b556a5081e6c66c0c538cbc1ef839b19996ed3`
5
- Source worktree: `dirty`
6
- Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT` to reproduce or refresh.
3
+ Index schema: `backend-component-source-index-router-v1`
7
4
 
8
- This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
5
+ Select the source index from the approved `platform_configuration.component_platform_line`; do not infer a line from imports, a branch name or a requested upgrade.
9
6
 
10
- Paths below are source path hints captured at refresh time. If they do not exist in the current workspace, locate sources using `YSS_SOURCE_ROOT`, CodeGraph, package/class names, Maven artifact names, or repository search before assuming the source is unavailable.
7
+ - `boot2-java8` — [Spring Boot 2.7 / Java 8 maintenance line](source-index.boot2-java8.md)
8
+ - `boot3-java17` — [Spring Boot 3.5 / Java 17 mainline](source-index.boot3-java17.md)
11
9
 
12
- ## Component Path Hints
13
-
14
- - `yss-microservice-components/yss-component-resilience4j-starter` (existed when indexed)
15
-
16
- ## Documentation Files
17
-
18
- - `yss-microservice-components/yss-component-resilience4j-starter/readme.md`
19
-
20
- ## Maven Modules
21
-
22
- - `yss-microservice-components/yss-component-resilience4j-starter`
23
-
24
- ## Key Java Entry Points
25
-
26
- - `yss-microservice-components/yss-component-resilience4j-starter/src/main/java/com/yss/cloud/breaker/config/GatewayConfiguration.java`
27
- - `yss-microservice-components/yss-component-resilience4j-starter/src/main/java/com/yss/cloud/breaker/exception/GlobalCircuitExceptionAdvice.java`
28
-
29
- ## Recommended Next Reads
30
-
31
- - Start with the documentation files above when learning component usage.
32
- - Search the key Java entry points for annotations, auto configuration, properties, aspects, interceptors, handlers, and result objects before changing application code.
33
- - Prefer existing component extension points over rewriting framework logic in business modules.
10
+ Run the freshness checker with the same explicit `--platform-line` and its matching clean source root before exact integration guidance.
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: yss-security-algorithm
3
- description: "接入或排查 YSS 加解密、JWT/JWK、密码编码、密钥加载与轮换。"
3
+ description: "审查、迁移或排查既有 YSS 加解密、JWT/JWK、密码编码与密钥使用;当前组件禁止新生产接入。"
4
4
  ---
5
5
 
6
6
  # yss-security-algorithm
7
7
 
8
- Use this skill for YSS 安全算法组件. Keep implementation grounded in the local project and resolvable YSS backend component source.
8
+ Use this skill as the governance, migration, and troubleshooting entry for the existing YSS 安全算法组件. Keep conclusions grounded in the local project, the approved platform catalog, and resolvable component source.
9
9
 
10
10
  中文说明:本技能用于 YSS 安全算法组件。执行时优先读取源码索引,避免凭记忆猜类名、配置项或接入方式。
11
11
 
@@ -17,19 +17,33 @@ Use this skill for YSS 安全算法组件. Keep implementation grounded in the l
17
17
 
18
18
  Read `references/source-index.md` as a path-hint index whenever the task depends on exact modules, annotations, auto configuration, properties, controllers, clients, repositories, DTOs, handlers, or troubleshooting.
19
19
 
20
+ ## 当前准入结论
21
+
22
+ - `yss-component-security-algorithm` 当前只允许既有工程只读盘点、故障分诊、风险收敛和迁移;禁止为新项目、新 Slice 或新生产能力接入。
23
+ - Registry provider 使用 `new_adoption: forbidden`,即 new-adoption-forbidden 语义;新接入必须返回稳定失败码 `component-new-adoption-forbidden`,不得因构件可编译、索引 fresh 或平台基础能力通过而放行。
24
+ - 硬编码私钥、固定 key id、进程启动时临时生成密钥以及 `noop` password encoder 均不构成生产密钥管理。组件源码可定位或可编译也不能解除该结论。
25
+ - 只有平台目录中的 `component.security-algorithm` 对目标架构为 `verified`,精确构件绑定仍有效,并且外部 KMS / Secret Manager、轮换撤销、兼容迁移、行为测试和安全责任人审查全部闭合后,才能通过独立决策重新开放新接入;本 Skill 不自行修改该状态。
26
+ - 新接入请求返回 `component-new-adoption-forbidden` / `blocked-for-production`,并给出迁移或外部密钥服务方案;不得生成基于遗留工具类的生产代码。
27
+
20
28
  ## Workflow
21
29
 
22
- 1. Identify whether the task is symmetric encryption, asymmetric encryption, SM algorithms, JWT key generation/configuration, or decryption troubleshooting.
23
- 2. Read `references/source-index.md`, then inspect `CryptoType`, `SecurityCryptoUtil`, `KeyGeneratorUtils`, and `DefaultJwtConfiguration`.
24
- 3. Use `CryptoType` to route algorithm-specific behavior; current enum values include `RSA`, `AES`, `DES`, `SM2`, and `SM4`.
25
- 4. Treat `SecurityCryptoUtil` and `Jwks` as compatibility/legacy references only. The current `Jwks.generateRsa()` decodes hardcoded `PK`/`SK` constants rather than generating or loading a managed key, while EC/secret keys can be process-local or regenerated at startup; none is production key management.
26
- 5. For production changes, externalize keys/secrets and avoid copying hardcoded sample keys into business modules.
30
+ 1. 识别任务是新接入、既有故障、风险止血还是迁移;新接入直接按上述准入结论阻断。
31
+ 2. 读取 `references/source-index.md`,再按需检查 `CryptoType`、`SecurityCryptoUtil`、`KeyGeneratorUtils` 和 `DefaultJwtConfiguration`,记录实际算法、模式、编码、key id、密钥来源、调用方和持久化数据范围。
32
+ 3. 对既有使用先完成暴露面和兼容盘点:源码/配置中的密钥材料、JWT 签发与验签方、密码散列格式、密文格式、历史数据、下游消费者及回滚要求。
33
+ 4. 在 `boot3-java17` 中,`Jwks.generateRsa()`、`generateEc()` 和 `generateSecret()` 是 deprecated fail-closed 入口:它们不生成、不解码密钥,必须抛出错误并要求 managed `JWKSource`。Boot 2 中可能存在的硬编码/临时密钥实现只用于风险盘点,不得迁入 Boot 3。
34
+ 5. `SecurityCryptoUtil` 是兼容 facade,只有显式安装获批 `SecurityCryptoProvider` 后才委派 encrypt/decrypt;未配置 provider 时 fail closed。provider 必须是外部 KMS / Secret Provider 或经批准的托管加密适配器。
35
+ 6. `RsaEcbOAEPWithSHA` 保留 deprecated 的 public constructor、`TextEncryptor` 类型和实例 `encrypt` / `decrypt` 签名作为二进制/源码兼容适配器;实现只委派 `SecurityCryptoUtil`,不得恢复内置私钥或自行执行遗留加密。
36
+ 7. 迁移目标必须使用批准的外部 KMS / Secret Manager 或等价受控密钥服务,应用只保存 key reference/version;密钥材料不得进入源码、普通配置、日志、证据文件或聊天记录。
37
+ 8. 设计分阶段轮换:冻结新旧写入边界,建立新 key version,双读/多版本解密或离线重加密,验证存量数据和 JWT 消费者,再撤销旧 key;不得直接覆盖旧密钥导致数据或令牌不可恢复。
38
+ 9. Boot 3 默认密码 Bean 与兼容 public static factory 都调用 `PasswordEncoderFactories.createDelegatingPasswordEncoder()`;不得把 delegating encoder 的默认 id 改回 `noop`。密码迁移仍需兼容升级策略。
39
+ 10. JWT 必须验证 signature、issuer、audience、expiry 和允许算法,payload parsing 不能充当认证。
40
+ 11. 输出迁移清单、数据/调用方影响、回滚点、验证结果和安全审查引用;缺任一生产前提时保持 `blocked-for-production`。
27
41
 
28
42
  ## Security Notes
29
43
 
30
- - The current utility contains a complete hardcoded RSA private key and fixed key material; do not use it for production data. Existing exposure requires rotation/revocation planning, not merely avoiding new constants.
31
- - `Jwks.generateRsa()` contains a complete hardcoded RSA private key; the key identifier is static and must be treated as compromised until rotated.
32
- - `DefaultJwtConfiguration` generates or selects JWK material at startup and currently selects `noop` as the DelegatingPasswordEncoder default; persistence, rotation, an external secret source, and an explicit password-encoder override are production prerequisites.
44
+ - Boot 2 历史实现中的硬编码 RSA 私钥、固定 key id、临时 JWK 与 noop 默认值必须视为已暴露风险并进入轮换/撤销盘点;不得把这些历史事实误写成 Boot 3 当前实现。
45
+ - Boot 3 `Jwks` fail closed,`DefaultJwtConfiguration` 只提供 `PasswordEncoderFactories` 的 delegating encoder;JWT/JWK 必须由应用安全层或外部 KMS 提供。
46
+ - 兼容适配器只保留公开类型和方法契约,不恢复旧密钥、旧密文解密或隐式 provider。存量兼容仍需代表性 ciphertext/JWT/password fixtures、回滚点和安全责任人审查。
33
47
  - Verify whether callers need encryption for storage, transport, signing, or compatibility; choose algorithm and key lifecycle accordingly.
34
48
  - Prefer environment/config/secret-manager backed keys for deployable code.
35
49
  - Keep plaintext, ciphertext, encoding format, and key type explicit in API contracts.
@@ -44,9 +58,19 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
44
58
  - Decrypt path uses the matching algorithm/key type.
45
59
  - No passwords, private keys, or long-lived secrets are added to source files.
46
60
  - If external key storage, rotation/revocation, algorithm parameters, compatibility tests, or security-owner review is missing, return `blocked-for-production` instead of generating crypto code.
61
+ - `Jwks` without a managed source and `SecurityCryptoUtil` without an approved `SecurityCryptoProvider` both fail closed.
62
+ - Deprecated compatibility adapters delegate to the approved provider and preserve public signatures only; they do not make the component eligible for new adoption.
63
+ - Existing ciphertext/JWT/password compatibility is demonstrated with representative fixtures before disabling an old key or encoder.
64
+ - Logs and verification evidence contain only key references and redacted metadata, never plaintext, private keys, seeds, shared secrets, or complete tokens.
47
65
 
48
66
  ## Do Not
49
67
 
50
68
  - Do not invent class names or configuration keys without checking the source index.
51
69
  - Do not replace component extension points with business-local framework code.
52
70
  - Do not broaden the task into unrelated YSS components unless the user asks.
71
+ - Do not approve a new integration because the component compiles, a source index is fresh, or an existing project already depends on it.
72
+ - Do not copy, print, rotate in place, or reissue any key material through Agent output.
73
+
74
+ ## 平台与源码门禁
75
+
76
+ 接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../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-security-algorithm --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。