create-yss-spec 3.5.5 → 3.5.8

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 (554) hide show
  1. package/README.md +2 -0
  2. package/bin/create-yss-spec.js +3 -1
  3. package/cli-core.lock.json +11 -7
  4. package/package.json +4 -1
  5. package/src/api/_sync-service.js +3 -1
  6. package/src/command-runner.mjs +44 -9
  7. package/src/content-identity.js +111 -0
  8. package/src/runtime-store.mjs +650 -0
  9. package/src/template/asset-runtime.js +7 -2
  10. package/src/template/instance-runtime.js +27 -9
  11. package/src/validation/metadata.js +8 -0
  12. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  13. package/template/.agents/skills/alibaba-java-code-style/SKILL.md +30 -36
  14. package/template/.agents/skills/archify/SKILL.md +2 -2
  15. package/template/.agents/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  16. package/template/.agents/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  17. package/template/.agents/skills/code-review/SKILL.md +19 -11
  18. package/template/.agents/skills/code-review/references/candidate-capture.md +1 -1
  19. package/template/.agents/skills/code-review/references/legacy-convergence.md +3 -1
  20. package/template/.agents/skills/code-review/references/review-axis-checklists.md +2 -0
  21. package/template/.agents/skills/code-review/references/yss-review-standards.md +4 -2
  22. package/template/.agents/skills/competitive-intelligence/SKILL.md +32 -74
  23. package/template/.agents/skills/file-export-download/SKILL.md +4 -73
  24. package/template/.agents/skills/file-export-download/references/binary-contract-example.md +26 -0
  25. package/template/.agents/skills/file-export-download/references/download-call-example.md +45 -0
  26. package/template/.agents/skills/formily-foundation/SKILL.md +6 -105
  27. package/template/.agents/skills/formily-foundation/references/async-save-example.md +57 -0
  28. package/template/.agents/skills/formily-foundation/references/query-layout.md +50 -0
  29. package/template/.agents/skills/formily-linkage-effects/SKILL.md +3 -116
  30. package/template/.agents/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  31. package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -81
  32. package/template/.agents/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  33. package/template/.agents/skills/formily-step-flow/SKILL.md +3 -143
  34. package/template/.agents/skills/formily-step-flow/references/step-flow-example.md +143 -0
  35. package/template/.agents/skills/handoff/SKILL.md +3 -1
  36. package/template/.agents/skills/i-have-adhd/SKILL.md +2 -2
  37. package/template/.agents/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  38. package/template/.agents/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  39. package/template/.agents/skills/implement/SKILL.md +2 -2
  40. package/template/.agents/skills/llm-wiki/references/transactions.md +2 -2
  41. package/template/.agents/skills/llm-wiki/scripts/core.mjs +40 -2
  42. package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +30 -27
  43. package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  44. package/template/.agents/skills/lombok/SKILL.md +2 -0
  45. package/template/.agents/skills/mapstruct/SKILL.md +2 -0
  46. package/template/.agents/skills/tdd/SKILL.md +2 -2
  47. package/template/.agents/skills/theme-token-usage/SKILL.md +6 -5
  48. package/template/.agents/skills/wayfinder/references/chart-map.md +2 -2
  49. package/template/.agents/skills/wayfinder/references/ticket-types.md +1 -1
  50. package/template/.agents/skills/yss-api-integration/SKILL.md +13 -50
  51. package/template/.agents/skills/yss-api-integration/references/orval-list-example.md +38 -0
  52. package/template/.agents/skills/yss-application/SKILL.md +11 -5
  53. package/template/.agents/skills/yss-audit-log/SKILL.md +8 -6
  54. package/template/.agents/skills/yss-audit-log/references/README.md +5 -5
  55. package/template/.agents/skills/yss-cache/SKILL.md +4 -4
  56. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  57. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  58. package/template/.agents/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  59. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  60. package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
  61. package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -4
  62. package/template/.agents/skills/yss-dto/SKILL.md +9 -9
  63. package/template/.agents/skills/yss-dto/references/README.md +4 -4
  64. package/template/.agents/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  65. package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -4
  66. package/template/.agents/skills/yss-exception/SKILL.md +42 -48
  67. package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +26 -170
  68. package/template/.agents/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  69. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  70. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  71. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  72. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  73. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -4
  74. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +6 -4
  75. package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  76. package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  77. package/template/.agents/skills/yss-openapi-governance/SKILL.md +5 -7
  78. package/template/.agents/skills/yss-openapi-governance/references/governance-output.md +2 -0
  79. package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  80. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +23 -21
  81. package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  82. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  83. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  84. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  85. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
  86. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  87. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -5
  88. package/template/.agents/skills/yss-repository/SKILL.md +2 -2
  89. package/template/.agents/skills/yss-research/SKILL.md +39 -48
  90. package/template/.agents/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  91. package/template/.agents/skills/yss-research/references/competitive-analysis.md +76 -0
  92. package/template/.agents/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  93. package/template/.agents/skills/yss-research/references/evidence-contract.md +8 -0
  94. package/template/.agents/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  95. package/template/.agents/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  96. package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  97. package/template/.agents/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  98. package/template/.agents/skills/yss-resilience4j/SKILL.md +25 -31
  99. package/template/.agents/skills/yss-security-algorithm/SKILL.md +37 -43
  100. package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  101. package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  102. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -5
  103. package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
  104. package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -3
  105. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  106. package/template/.agents/skills/yss-technical-design/SKILL.md +6 -5
  107. package/template/.agents/skills/yss-ui/SKILL.md +7 -1
  108. package/template/.agents/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  109. package/template/.agents/skills/yss-ui/references/checklist.md +38 -96
  110. package/template/.agents/skills/yss-ui/references/component-routing.md +3 -1
  111. package/template/.agents/skills/yss-ui/references/quick-recipes.md +17 -272
  112. package/template/.agents/skills/yss-ui/references/specialized-components.md +3 -3
  113. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  114. package/template/.agents/skills/yss-up-springboot3/SKILL.md +19 -21
  115. package/template/.agents/skills/yss-userinfo/SKILL.md +27 -33
  116. package/template/.agents/skills/yss-validation/SKILL.md +26 -32
  117. package/template/.agents/skills/yss-web-controller/SKILL.md +11 -44
  118. package/template/.agents/skills/yss-web-controller/references/crud-generation.md +38 -0
  119. package/template/.agents/skills/ytable-usage/SKILL.md +2 -2
  120. package/template/.agents/skills/ytree-usage/SKILL.md +2 -80
  121. package/template/.agents/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  122. package/template/.codex/skills/alibaba-java-code-style/SKILL.md +30 -36
  123. package/template/.codex/skills/archify/SKILL.md +2 -2
  124. package/template/.codex/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  125. package/template/.codex/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  126. package/template/.codex/skills/code-review/SKILL.md +19 -11
  127. package/template/.codex/skills/code-review/references/candidate-capture.md +1 -1
  128. package/template/.codex/skills/code-review/references/legacy-convergence.md +3 -1
  129. package/template/.codex/skills/code-review/references/review-axis-checklists.md +2 -0
  130. package/template/.codex/skills/code-review/references/yss-review-standards.md +4 -2
  131. package/template/.codex/skills/competitive-intelligence/SKILL.md +32 -74
  132. package/template/.codex/skills/file-export-download/SKILL.md +4 -73
  133. package/template/.codex/skills/file-export-download/references/binary-contract-example.md +26 -0
  134. package/template/.codex/skills/file-export-download/references/download-call-example.md +45 -0
  135. package/template/.codex/skills/formily-foundation/SKILL.md +6 -105
  136. package/template/.codex/skills/formily-foundation/references/async-save-example.md +57 -0
  137. package/template/.codex/skills/formily-foundation/references/query-layout.md +50 -0
  138. package/template/.codex/skills/formily-linkage-effects/SKILL.md +3 -116
  139. package/template/.codex/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  140. package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -81
  141. package/template/.codex/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  142. package/template/.codex/skills/formily-step-flow/SKILL.md +3 -143
  143. package/template/.codex/skills/formily-step-flow/references/step-flow-example.md +143 -0
  144. package/template/.codex/skills/handoff/SKILL.md +3 -1
  145. package/template/.codex/skills/i-have-adhd/SKILL.md +2 -2
  146. package/template/.codex/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  147. package/template/.codex/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  148. package/template/.codex/skills/implement/SKILL.md +2 -2
  149. package/template/.codex/skills/llm-wiki/references/transactions.md +2 -2
  150. package/template/.codex/skills/llm-wiki/scripts/core.mjs +40 -2
  151. package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +30 -27
  152. package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  153. package/template/.codex/skills/lombok/SKILL.md +2 -0
  154. package/template/.codex/skills/mapstruct/SKILL.md +2 -0
  155. package/template/.codex/skills/product-design/references/communication-protocol.md +3 -3
  156. package/template/.codex/skills/product-design/references/critical-overrides.md +4 -5
  157. package/template/.codex/skills/product-design/skills/audit/SKILL.md +2 -4
  158. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +6 -8
  159. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +3 -3
  160. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +3 -5
  161. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  162. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +2 -4
  163. package/template/.codex/skills/product-design/skills/research/SKILL.md +4 -6
  164. package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +3 -3
  165. package/template/.codex/skills/product-design/skills/share/SKILL.md +2 -4
  166. package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +2 -4
  167. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  168. package/template/.codex/skills/tdd/SKILL.md +2 -2
  169. package/template/.codex/skills/theme-token-usage/SKILL.md +6 -5
  170. package/template/.codex/skills/wayfinder/references/chart-map.md +2 -2
  171. package/template/.codex/skills/wayfinder/references/ticket-types.md +1 -1
  172. package/template/.codex/skills/yss-api-integration/SKILL.md +13 -50
  173. package/template/.codex/skills/yss-api-integration/references/orval-list-example.md +38 -0
  174. package/template/.codex/skills/yss-application/SKILL.md +11 -5
  175. package/template/.codex/skills/yss-audit-log/SKILL.md +8 -6
  176. package/template/.codex/skills/yss-audit-log/references/README.md +5 -5
  177. package/template/.codex/skills/yss-cache/SKILL.md +4 -4
  178. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  179. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  180. package/template/.codex/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  181. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  182. package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
  183. package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -4
  184. package/template/.codex/skills/yss-dto/SKILL.md +9 -9
  185. package/template/.codex/skills/yss-dto/references/README.md +4 -4
  186. package/template/.codex/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  187. package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -4
  188. package/template/.codex/skills/yss-exception/SKILL.md +42 -48
  189. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +26 -170
  190. package/template/.codex/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  191. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  192. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  193. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  194. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  195. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -4
  196. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +6 -4
  197. package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  198. package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  199. package/template/.codex/skills/yss-openapi-governance/SKILL.md +5 -7
  200. package/template/.codex/skills/yss-openapi-governance/references/governance-output.md +2 -0
  201. package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  202. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +23 -21
  203. package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  204. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  205. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  206. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  207. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
  208. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  209. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -5
  210. package/template/.codex/skills/yss-repository/SKILL.md +2 -2
  211. package/template/.codex/skills/yss-research/SKILL.md +39 -48
  212. package/template/.codex/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  213. package/template/.codex/skills/yss-research/references/competitive-analysis.md +76 -0
  214. package/template/.codex/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  215. package/template/.codex/skills/yss-research/references/evidence-contract.md +8 -0
  216. package/template/.codex/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  217. package/template/.codex/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  218. package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  219. package/template/.codex/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  220. package/template/.codex/skills/yss-resilience4j/SKILL.md +25 -31
  221. package/template/.codex/skills/yss-security-algorithm/SKILL.md +37 -43
  222. package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  223. package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  224. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -5
  225. package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
  226. package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -3
  227. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  228. package/template/.codex/skills/yss-technical-design/SKILL.md +6 -5
  229. package/template/.codex/skills/yss-ui/SKILL.md +7 -1
  230. package/template/.codex/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  231. package/template/.codex/skills/yss-ui/references/checklist.md +38 -96
  232. package/template/.codex/skills/yss-ui/references/component-routing.md +3 -1
  233. package/template/.codex/skills/yss-ui/references/quick-recipes.md +17 -272
  234. package/template/.codex/skills/yss-ui/references/specialized-components.md +3 -3
  235. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  236. package/template/.codex/skills/yss-up-springboot3/SKILL.md +19 -21
  237. package/template/.codex/skills/yss-userinfo/SKILL.md +27 -33
  238. package/template/.codex/skills/yss-validation/SKILL.md +26 -32
  239. package/template/.codex/skills/yss-web-controller/SKILL.md +11 -44
  240. package/template/.codex/skills/yss-web-controller/references/crud-generation.md +38 -0
  241. package/template/.codex/skills/ytable-usage/SKILL.md +2 -2
  242. package/template/.codex/skills/ytree-usage/SKILL.md +2 -80
  243. package/template/.codex/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  244. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +30 -36
  245. package/template/.cursor/skills/archify/SKILL.md +2 -2
  246. package/template/.cursor/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  247. package/template/.cursor/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  248. package/template/.cursor/skills/code-review/SKILL.md +19 -11
  249. package/template/.cursor/skills/code-review/references/candidate-capture.md +1 -1
  250. package/template/.cursor/skills/code-review/references/legacy-convergence.md +3 -1
  251. package/template/.cursor/skills/code-review/references/review-axis-checklists.md +2 -0
  252. package/template/.cursor/skills/code-review/references/yss-review-standards.md +4 -2
  253. package/template/.cursor/skills/competitive-intelligence/SKILL.md +32 -74
  254. package/template/.cursor/skills/file-export-download/SKILL.md +4 -73
  255. package/template/.cursor/skills/file-export-download/references/binary-contract-example.md +26 -0
  256. package/template/.cursor/skills/file-export-download/references/download-call-example.md +45 -0
  257. package/template/.cursor/skills/formily-foundation/SKILL.md +6 -105
  258. package/template/.cursor/skills/formily-foundation/references/async-save-example.md +57 -0
  259. package/template/.cursor/skills/formily-foundation/references/query-layout.md +50 -0
  260. package/template/.cursor/skills/formily-linkage-effects/SKILL.md +3 -116
  261. package/template/.cursor/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  262. package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -81
  263. package/template/.cursor/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  264. package/template/.cursor/skills/formily-step-flow/SKILL.md +3 -143
  265. package/template/.cursor/skills/formily-step-flow/references/step-flow-example.md +143 -0
  266. package/template/.cursor/skills/handoff/SKILL.md +3 -1
  267. package/template/.cursor/skills/i-have-adhd/SKILL.md +2 -2
  268. package/template/.cursor/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  269. package/template/.cursor/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  270. package/template/.cursor/skills/implement/SKILL.md +2 -2
  271. package/template/.cursor/skills/llm-wiki/references/transactions.md +2 -2
  272. package/template/.cursor/skills/llm-wiki/scripts/core.mjs +40 -2
  273. package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +30 -27
  274. package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  275. package/template/.cursor/skills/lombok/SKILL.md +2 -0
  276. package/template/.cursor/skills/mapstruct/SKILL.md +2 -0
  277. package/template/.cursor/skills/tdd/SKILL.md +2 -2
  278. package/template/.cursor/skills/theme-token-usage/SKILL.md +6 -5
  279. package/template/.cursor/skills/wayfinder/references/chart-map.md +2 -2
  280. package/template/.cursor/skills/wayfinder/references/ticket-types.md +1 -1
  281. package/template/.cursor/skills/yss-api-integration/SKILL.md +13 -50
  282. package/template/.cursor/skills/yss-api-integration/references/orval-list-example.md +38 -0
  283. package/template/.cursor/skills/yss-application/SKILL.md +11 -5
  284. package/template/.cursor/skills/yss-audit-log/SKILL.md +8 -6
  285. package/template/.cursor/skills/yss-audit-log/references/README.md +5 -5
  286. package/template/.cursor/skills/yss-cache/SKILL.md +4 -4
  287. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  288. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  289. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  290. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  291. package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
  292. package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -4
  293. package/template/.cursor/skills/yss-dto/SKILL.md +9 -9
  294. package/template/.cursor/skills/yss-dto/references/README.md +4 -4
  295. package/template/.cursor/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  296. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -4
  297. package/template/.cursor/skills/yss-exception/SKILL.md +42 -48
  298. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +26 -170
  299. package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  300. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  301. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  302. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  303. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  304. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -4
  305. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +6 -4
  306. package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  307. package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  308. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +5 -7
  309. package/template/.cursor/skills/yss-openapi-governance/references/governance-output.md +2 -0
  310. package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  311. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +23 -21
  312. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  313. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  314. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  315. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  316. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
  317. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  318. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -5
  319. package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
  320. package/template/.cursor/skills/yss-research/SKILL.md +39 -48
  321. package/template/.cursor/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  322. package/template/.cursor/skills/yss-research/references/competitive-analysis.md +76 -0
  323. package/template/.cursor/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  324. package/template/.cursor/skills/yss-research/references/evidence-contract.md +8 -0
  325. package/template/.cursor/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  326. package/template/.cursor/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  327. package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  328. package/template/.cursor/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  329. package/template/.cursor/skills/yss-resilience4j/SKILL.md +25 -31
  330. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +37 -43
  331. package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  332. package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  333. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -5
  334. package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
  335. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -3
  336. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  337. package/template/.cursor/skills/yss-technical-design/SKILL.md +6 -5
  338. package/template/.cursor/skills/yss-ui/SKILL.md +7 -1
  339. package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  340. package/template/.cursor/skills/yss-ui/references/checklist.md +38 -96
  341. package/template/.cursor/skills/yss-ui/references/component-routing.md +3 -1
  342. package/template/.cursor/skills/yss-ui/references/quick-recipes.md +17 -272
  343. package/template/.cursor/skills/yss-ui/references/specialized-components.md +3 -3
  344. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  345. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +19 -21
  346. package/template/.cursor/skills/yss-userinfo/SKILL.md +27 -33
  347. package/template/.cursor/skills/yss-validation/SKILL.md +26 -32
  348. package/template/.cursor/skills/yss-web-controller/SKILL.md +11 -44
  349. package/template/.cursor/skills/yss-web-controller/references/crud-generation.md +38 -0
  350. package/template/.cursor/skills/ytable-usage/SKILL.md +2 -2
  351. package/template/.cursor/skills/ytree-usage/SKILL.md +2 -80
  352. package/template/.cursor/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  353. package/template/.pi/skills/alibaba-java-code-style/SKILL.md +30 -36
  354. package/template/.pi/skills/archify/SKILL.md +2 -2
  355. package/template/.pi/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  356. package/template/.pi/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  357. package/template/.pi/skills/code-review/SKILL.md +19 -11
  358. package/template/.pi/skills/code-review/references/candidate-capture.md +1 -1
  359. package/template/.pi/skills/code-review/references/legacy-convergence.md +3 -1
  360. package/template/.pi/skills/code-review/references/review-axis-checklists.md +2 -0
  361. package/template/.pi/skills/code-review/references/yss-review-standards.md +4 -2
  362. package/template/.pi/skills/competitive-intelligence/SKILL.md +32 -74
  363. package/template/.pi/skills/file-export-download/SKILL.md +4 -73
  364. package/template/.pi/skills/file-export-download/references/binary-contract-example.md +26 -0
  365. package/template/.pi/skills/file-export-download/references/download-call-example.md +45 -0
  366. package/template/.pi/skills/formily-foundation/SKILL.md +6 -105
  367. package/template/.pi/skills/formily-foundation/references/async-save-example.md +57 -0
  368. package/template/.pi/skills/formily-foundation/references/query-layout.md +50 -0
  369. package/template/.pi/skills/formily-linkage-effects/SKILL.md +3 -116
  370. package/template/.pi/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  371. package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -81
  372. package/template/.pi/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  373. package/template/.pi/skills/formily-step-flow/SKILL.md +3 -143
  374. package/template/.pi/skills/formily-step-flow/references/step-flow-example.md +143 -0
  375. package/template/.pi/skills/handoff/SKILL.md +3 -1
  376. package/template/.pi/skills/i-have-adhd/SKILL.md +2 -2
  377. package/template/.pi/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  378. package/template/.pi/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  379. package/template/.pi/skills/implement/SKILL.md +2 -2
  380. package/template/.pi/skills/llm-wiki/references/transactions.md +2 -2
  381. package/template/.pi/skills/llm-wiki/scripts/core.mjs +40 -2
  382. package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +30 -27
  383. package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  384. package/template/.pi/skills/lombok/SKILL.md +2 -0
  385. package/template/.pi/skills/mapstruct/SKILL.md +2 -0
  386. package/template/.pi/skills/tdd/SKILL.md +2 -2
  387. package/template/.pi/skills/theme-token-usage/SKILL.md +6 -5
  388. package/template/.pi/skills/wayfinder/references/chart-map.md +2 -2
  389. package/template/.pi/skills/wayfinder/references/ticket-types.md +1 -1
  390. package/template/.pi/skills/yss-api-integration/SKILL.md +13 -50
  391. package/template/.pi/skills/yss-api-integration/references/orval-list-example.md +38 -0
  392. package/template/.pi/skills/yss-application/SKILL.md +11 -5
  393. package/template/.pi/skills/yss-audit-log/SKILL.md +8 -6
  394. package/template/.pi/skills/yss-audit-log/references/README.md +5 -5
  395. package/template/.pi/skills/yss-cache/SKILL.md +4 -4
  396. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  397. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  398. package/template/.pi/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  399. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  400. package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
  401. package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -4
  402. package/template/.pi/skills/yss-dto/SKILL.md +9 -9
  403. package/template/.pi/skills/yss-dto/references/README.md +4 -4
  404. package/template/.pi/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  405. package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -4
  406. package/template/.pi/skills/yss-exception/SKILL.md +42 -48
  407. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +26 -170
  408. package/template/.pi/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  409. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  410. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -6
  411. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  412. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  413. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -4
  414. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +6 -4
  415. package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  416. package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  417. package/template/.pi/skills/yss-openapi-governance/SKILL.md +5 -7
  418. package/template/.pi/skills/yss-openapi-governance/references/governance-output.md +2 -0
  419. package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  420. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +23 -21
  421. package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  422. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +25 -5
  423. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +100 -4
  424. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +35 -12
  425. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
  426. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  427. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -5
  428. package/template/.pi/skills/yss-repository/SKILL.md +2 -2
  429. package/template/.pi/skills/yss-research/SKILL.md +39 -48
  430. package/template/.pi/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  431. package/template/.pi/skills/yss-research/references/competitive-analysis.md +76 -0
  432. package/template/.pi/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  433. package/template/.pi/skills/yss-research/references/evidence-contract.md +8 -0
  434. package/template/.pi/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  435. package/template/.pi/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  436. package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  437. package/template/.pi/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  438. package/template/.pi/skills/yss-resilience4j/SKILL.md +25 -31
  439. package/template/.pi/skills/yss-security-algorithm/SKILL.md +37 -43
  440. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  441. package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  442. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -5
  443. package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
  444. package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -3
  445. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  446. package/template/.pi/skills/yss-technical-design/SKILL.md +6 -5
  447. package/template/.pi/skills/yss-ui/SKILL.md +7 -1
  448. package/template/.pi/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  449. package/template/.pi/skills/yss-ui/references/checklist.md +38 -96
  450. package/template/.pi/skills/yss-ui/references/component-routing.md +3 -1
  451. package/template/.pi/skills/yss-ui/references/quick-recipes.md +17 -272
  452. package/template/.pi/skills/yss-ui/references/specialized-components.md +3 -3
  453. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  454. package/template/.pi/skills/yss-up-springboot3/SKILL.md +19 -21
  455. package/template/.pi/skills/yss-userinfo/SKILL.md +27 -33
  456. package/template/.pi/skills/yss-validation/SKILL.md +26 -32
  457. package/template/.pi/skills/yss-web-controller/SKILL.md +11 -44
  458. package/template/.pi/skills/yss-web-controller/references/crud-generation.md +38 -0
  459. package/template/.pi/skills/ytable-usage/SKILL.md +2 -2
  460. package/template/.pi/skills/ytree-usage/SKILL.md +2 -80
  461. package/template/.pi/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  462. package/template/.template-spec/agents/backend-architecture-profiles.md +1 -1
  463. package/template/.template-spec/agents/digital-human-roles.md +5 -1
  464. package/template/.template-spec/agents/digital-human-roles.yaml +49 -1
  465. package/template/.template-spec/engineering/backend-platforms.json +1 -1
  466. package/template/.template-spec/plan/templates/competitive-analysis-template.md +38 -36
  467. package/template/.template-spec/plan/templates/competitive-matrix-template.md +37 -17
  468. package/template/.template-spec/process/document-writing.md +22 -3
  469. package/template/.template-spec/process/harness-process-tailoring.md +5 -1
  470. package/template/.template-spec/process/implementation-repo-integration.md +26 -8
  471. package/template/.template-spec/process/research-completion.md +2 -0
  472. package/template/.template-spec/process/runtime-storage.md +78 -0
  473. package/template/.template-spec/process/schemas/approval-context.schema.json +67 -0
  474. package/template/.template-spec/process/schemas/approval-record.schema.json +179 -16
  475. package/template/.template-spec/process/schemas/backend-delivery.schema.json +16 -0
  476. package/template/.template-spec/process/schemas/delivery-preflight-input.schema.json +4 -0
  477. package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +236 -1
  478. package/template/.template-spec/process/schemas/implementation-repository-preparation-result.schema.json +335 -52
  479. package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +11 -0
  480. package/template/.template-spec/process/schemas/project-scaffold-contract.schema.json +3 -0
  481. package/template/.template-spec/process/schemas/review-bundle.schema.json +347 -35
  482. package/template/.template-spec/process/schemas/strategic-design-handoff-v3.schema.json +504 -0
  483. package/template/.template-spec/process/schemas/strategic-design-handoff-v4.schema.json +544 -8
  484. package/template/.template-spec/process/schemas/strategic-design-handoff-v5.schema.json +616 -0
  485. package/template/.template-spec/process/schemas/strategic-design-handoff.schema.json +616 -0
  486. package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +712 -109
  487. package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy.schema.json +595 -90
  488. package/template/.template-spec/process/schemas/strategic-handoff-export-v2.schema.json +448 -0
  489. package/template/.template-spec/process/schemas/strategic-handoff-export.schema.json +392 -0
  490. package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +556 -83
  491. package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package.schema.json +418 -57
  492. package/template/.template-spec/process/subagent-collaboration.md +7 -1
  493. package/template/.template-spec/templates/approval-record-template.json +7 -3
  494. package/template/.template-spec/templates/approval-record-template.yaml +8 -2
  495. package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +92 -2
  496. package/template/.template-spec/templates/retro-report-template.md +10 -3
  497. package/template/.template-spec/templates/review-bundle-template.yaml +19 -10
  498. package/template/AGENTS.md +4 -3
  499. package/template/CONTEXT.md +2 -2
  500. package/template/README.md +2 -2
  501. package/template/scripts/advance-maintenance-iteration +51 -0
  502. package/template/scripts/lib/approval-checkpoint-discovery.mjs +26 -0
  503. package/template/scripts/lib/approval-consumption.mjs +35 -0
  504. package/template/scripts/lib/approval-current.mjs +111 -0
  505. package/template/scripts/lib/approval-record-io.mjs +56 -0
  506. package/template/scripts/lib/approval-record.mjs +79 -184
  507. package/template/scripts/lib/approved-execution-context.mjs +8 -6
  508. package/template/scripts/lib/asset-transactions.mjs +5 -1
  509. package/template/scripts/lib/backend-delivery.mjs +1 -1
  510. package/template/scripts/lib/backend-review.mjs +2 -1
  511. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +3 -2
  512. package/template/scripts/lib/business-ticket-lifecycle.mjs +2 -1
  513. package/template/scripts/lib/checkpoint-commit.mjs +50 -0
  514. package/template/scripts/lib/command-runner.mjs +44 -9
  515. package/template/scripts/lib/content-identity.mjs +273 -0
  516. package/template/scripts/lib/delivery-preflight.mjs +2 -1
  517. package/template/scripts/lib/digital-human-roles.mjs +12 -5
  518. package/template/scripts/lib/drift-report.mjs +110 -0
  519. package/template/scripts/lib/existing-backend-architecture.mjs +4 -1
  520. package/template/scripts/lib/lifecycle-context-query.mjs +172 -11
  521. package/template/scripts/lib/lifecycle-controls.mjs +9 -19
  522. package/template/scripts/lib/lifecycle-presentation.mjs +5 -0
  523. package/template/scripts/lib/lifecycle-status.mjs +63 -12
  524. package/template/scripts/lib/lifecycle-transition.mjs +2 -1
  525. package/template/scripts/lib/maintenance-candidate.mjs +24 -30
  526. package/template/scripts/lib/maintenance-research.mjs +52 -8
  527. package/template/scripts/lib/maintenance-storage.mjs +81 -0
  528. package/template/scripts/lib/plan-spec-entry.mjs +2 -1
  529. package/template/scripts/lib/project-governance.mjs +2 -1
  530. package/template/scripts/lib/read-only-intake.mjs +44 -9
  531. package/template/scripts/lib/review-capabilities.mjs +234 -0
  532. package/template/scripts/lib/review-package.mjs +100 -0
  533. package/template/scripts/lib/runtime-store.mjs +650 -0
  534. package/template/scripts/lib/skill-registry.mjs +4 -4
  535. package/template/scripts/lib/strategic-handoff.mjs +22 -9
  536. package/template/scripts/lib/task-package.mjs +47 -16
  537. package/template/scripts/lifecycle-status +26 -1
  538. package/template/scripts/maintenance-path +11 -0
  539. package/template/scripts/prepare-review-package +8 -0
  540. package/template/scripts/project-ci +13 -3
  541. package/template/scripts/query-lifecycle-context +8 -1
  542. package/template/scripts/run-read-only-intake +2 -2
  543. package/template/scripts/runtime-store +40 -0
  544. package/template/scripts/verify-approval-record +21 -13
  545. package/template/scripts/verify-lifecycle-checkpoint +7 -3
  546. package/template/scripts/verify-project-instance +21 -1
  547. package/template/skills-lock.json +62 -61
  548. package/template.snapshot.json +4 -4
  549. package/vendor/cli-core/cli.mjs +2 -0
  550. package/vendor/cli-core/command-runner.mjs +44 -9
  551. package/vendor/cli-core/package.json +1 -1
  552. package/vendor/cli-core/runtime-store.mjs +650 -0
  553. package/vendor/cli-core/scaffold.mjs +4 -2
  554. package/vendor/cli-core/tests/package-contract.mjs +14 -0
@@ -3,212 +3,815 @@
3
3
  "$id": "https://yss.local/schemas/strategic-handoff-domain-strategy-v3.json",
4
4
  "title": "YSS 业务边界与规则设计",
5
5
  "type": "object",
6
- "required": ["schema_version", "domain_strategy_id", "domain_version", "status", "contexts", "subdomains", "relationships", "scenarios", "concept_candidates", "invariants", "context_snapshot", "downstream_mapping", "evidence_refs", "approval"],
6
+ "required": [
7
+ "schema_version",
8
+ "domain_strategy_id",
9
+ "domain_version",
10
+ "status",
11
+ "contexts",
12
+ "subdomains",
13
+ "relationships",
14
+ "scenarios",
15
+ "concept_candidates",
16
+ "invariants",
17
+ "context_snapshot",
18
+ "downstream_mapping",
19
+ "evidence_refs",
20
+ "approval"
21
+ ],
7
22
  "properties": {
8
- "traceability_version": {"const": 1},
9
- "rule_catalog": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["rule_id", "statement", "responsible_context", "status"], "properties": {"rule_id": {"type": "string", "pattern": "^rule\\.[a-z0-9][a-z0-9-]*$"}, "statement": {"type": "string", "minLength": 1}, "responsible_context": {"type": "string", "minLength": 1}, "status": {"const": "confirmed"}, "evidence_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}}}}, "minItems": 1},
10
- "schema_version": {"const": 3},
11
- "domain_strategy_id": {"type": "string", "pattern": "^domain-strategy\\.[a-z0-9][a-z0-9-]*$"},
12
- "domain_version": {"type": "string", "pattern": "^v[0-9]+$"},
13
- "status": {"enum": ["draft", "ready-for-human", "approved", "stale", "blocked"]},
14
- "contexts": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/context"}},
15
- "subdomains": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/subdomain"}},
16
- "relationships": {"type": "array", "items": {"$ref": "#/$defs/relationship"}},
17
- "scenarios": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/scenario"}},
18
- "concept_candidates": {"type": "array", "items": {"$ref": "#/$defs/concept"}},
19
- "invariants": {"type": "array", "items": {"$ref": "#/$defs/invariant"}},
20
- "context_snapshot": {"$ref": "#/$defs/contextSnapshot"},
21
- "downstream_mapping": {"type": "array"},
22
- "evidence_refs": {"type": "array", "minItems": 1, "items": {"type": "string", "minLength": 1}},
23
- "approval": {"$ref": "#/$defs/approval"}
23
+ "traceability_version": {
24
+ "const": 1
25
+ },
26
+ "rule_catalog": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": [
32
+ "rule_id",
33
+ "statement",
34
+ "responsible_context",
35
+ "status"
36
+ ],
37
+ "properties": {
38
+ "rule_id": {
39
+ "type": "string",
40
+ "pattern": "^rule\\.[a-z0-9][a-z0-9-]*$"
41
+ },
42
+ "statement": {
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
46
+ "responsible_context": {
47
+ "type": "string",
48
+ "minLength": 1
49
+ },
50
+ "status": {
51
+ "const": "confirmed"
52
+ },
53
+ "evidence_refs": {
54
+ "type": "array",
55
+ "minItems": 1,
56
+ "uniqueItems": true,
57
+ "items": {
58
+ "type": "string",
59
+ "minLength": 1
60
+ }
61
+ }
62
+ }
63
+ },
64
+ "minItems": 1
65
+ },
66
+ "schema_version": {
67
+ "const": 3
68
+ },
69
+ "domain_strategy_id": {
70
+ "type": "string",
71
+ "pattern": "^domain-strategy\\.[a-z0-9][a-z0-9-]*$"
72
+ },
73
+ "domain_version": {
74
+ "type": "string",
75
+ "pattern": "^v[0-9]+$"
76
+ },
77
+ "status": {
78
+ "enum": [
79
+ "draft",
80
+ "ready-for-human",
81
+ "approved",
82
+ "stale",
83
+ "blocked"
84
+ ]
85
+ },
86
+ "contexts": {
87
+ "type": "array",
88
+ "minItems": 1,
89
+ "items": {
90
+ "$ref": "#/$defs/context"
91
+ }
92
+ },
93
+ "subdomains": {
94
+ "type": "array",
95
+ "minItems": 1,
96
+ "items": {
97
+ "$ref": "#/$defs/subdomain"
98
+ }
99
+ },
100
+ "relationships": {
101
+ "type": "array",
102
+ "items": {
103
+ "$ref": "#/$defs/relationship"
104
+ }
105
+ },
106
+ "scenarios": {
107
+ "type": "array",
108
+ "minItems": 1,
109
+ "items": {
110
+ "$ref": "#/$defs/scenario"
111
+ }
112
+ },
113
+ "concept_candidates": {
114
+ "type": "array",
115
+ "items": {
116
+ "$ref": "#/$defs/concept"
117
+ }
118
+ },
119
+ "invariants": {
120
+ "type": "array",
121
+ "items": {
122
+ "$ref": "#/$defs/invariant"
123
+ }
124
+ },
125
+ "context_snapshot": {
126
+ "$ref": "#/$defs/contextSnapshot"
127
+ },
128
+ "downstream_mapping": {
129
+ "type": "array"
130
+ },
131
+ "evidence_refs": {
132
+ "type": "array",
133
+ "minItems": 1,
134
+ "items": {
135
+ "type": "string",
136
+ "minLength": 1
137
+ }
138
+ },
139
+ "approval": {
140
+ "$ref": "#/$defs/approval"
141
+ }
24
142
  },
25
143
  "$defs": {
26
144
  "contextSnapshot": {
27
145
  "type": "object",
28
146
  "additionalProperties": false,
29
- "required": ["context_ref", "context_schema_version", "document_digest", "referenced_terms_digest", "term_refs"],
147
+ "required": [
148
+ "context_ref",
149
+ "context_schema_version",
150
+ "document_digest",
151
+ "referenced_terms_digest",
152
+ "term_refs"
153
+ ],
30
154
  "properties": {
31
- "context_ref": {"const": "CONTEXT.md"},
32
- "context_schema_version": {"const": 1},
33
- "document_digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
34
- "referenced_terms_digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
35
- "term_refs": {"type": "array", "items": {"type": "string", "pattern": "^(Global|[A-Z][A-Za-z0-9]+)/[A-Z][A-Za-z0-9]+$"}, "uniqueItems": true}
155
+ "context_ref": {
156
+ "const": "CONTEXT.md"
157
+ },
158
+ "context_schema_version": {
159
+ "const": 1
160
+ },
161
+ "document_digest": {
162
+ "type": "string",
163
+ "pattern": "^sha256:[0-9a-f]{64}$"
164
+ },
165
+ "referenced_terms_digest": {
166
+ "type": "string",
167
+ "pattern": "^sha256:[0-9a-f]{64}$"
168
+ },
169
+ "term_refs": {
170
+ "type": "array",
171
+ "items": {
172
+ "type": "string",
173
+ "pattern": "^(Global|[A-Z][A-Za-z0-9]+)/[A-Z][A-Za-z0-9]+$"
174
+ },
175
+ "uniqueItems": true
176
+ }
36
177
  }
37
178
  },
38
179
  "context": {
39
180
  "type": "object",
40
- "required": ["context_id", "name", "responsibilities", "non_responsibilities", "subdomain_type", "owner", "status"],
181
+ "required": [
182
+ "context_id",
183
+ "name",
184
+ "responsibilities",
185
+ "non_responsibilities",
186
+ "subdomain_type",
187
+ "owner",
188
+ "status"
189
+ ],
41
190
  "properties": {
42
- "context_id": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
43
- "name": {"type": "string", "minLength": 1},
44
- "responsibilities": {"type": "array", "minItems": 1, "items": {"type": "string", "minLength": 1}},
45
- "non_responsibilities": {"type": "array", "items": {"type": "string", "minLength": 1}},
46
- "subdomain_type": {"enum": ["Core Domain", "Supporting Subdomain", "Generic Subdomain"]},
47
- "owner": {"type": "string", "minLength": 1},
48
- "status": {"enum": ["candidate", "confirmed", "stale"]}
191
+ "context_id": {
192
+ "type": "string",
193
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
194
+ },
195
+ "name": {
196
+ "type": "string",
197
+ "minLength": 1
198
+ },
199
+ "responsibilities": {
200
+ "type": "array",
201
+ "minItems": 1,
202
+ "items": {
203
+ "type": "string",
204
+ "minLength": 1
205
+ }
206
+ },
207
+ "non_responsibilities": {
208
+ "type": "array",
209
+ "items": {
210
+ "type": "string",
211
+ "minLength": 1
212
+ }
213
+ },
214
+ "subdomain_type": {
215
+ "enum": [
216
+ "Core Domain",
217
+ "Supporting Subdomain",
218
+ "Generic Subdomain"
219
+ ]
220
+ },
221
+ "owner": {
222
+ "type": "string",
223
+ "minLength": 1
224
+ },
225
+ "status": {
226
+ "enum": [
227
+ "candidate",
228
+ "confirmed",
229
+ "stale"
230
+ ]
231
+ }
49
232
  }
50
233
  },
51
234
  "subdomain": {
52
235
  "type": "object",
53
- "required": ["subdomain_id", "name", "type", "rationale", "evidence_refs"],
236
+ "required": [
237
+ "subdomain_id",
238
+ "name",
239
+ "type",
240
+ "rationale",
241
+ "evidence_refs"
242
+ ],
54
243
  "properties": {
55
- "subdomain_id": {"type": "string", "pattern": "^subdomain\\.[a-z0-9][a-z0-9-]*$"},
56
- "name": {"type": "string", "minLength": 1},
57
- "type": {"enum": ["Core Domain", "Supporting Subdomain", "Generic Subdomain"]},
58
- "rationale": {"type": "string", "minLength": 1},
59
- "evidence_refs": {"type": "array", "minItems": 1, "items": {"type": "string", "minLength": 1}}
244
+ "subdomain_id": {
245
+ "type": "string",
246
+ "pattern": "^subdomain\\.[a-z0-9][a-z0-9-]*$"
247
+ },
248
+ "name": {
249
+ "type": "string",
250
+ "minLength": 1
251
+ },
252
+ "type": {
253
+ "enum": [
254
+ "Core Domain",
255
+ "Supporting Subdomain",
256
+ "Generic Subdomain"
257
+ ]
258
+ },
259
+ "rationale": {
260
+ "type": "string",
261
+ "minLength": 1
262
+ },
263
+ "evidence_refs": {
264
+ "type": "array",
265
+ "minItems": 1,
266
+ "items": {
267
+ "type": "string",
268
+ "minLength": 1
269
+ }
270
+ }
60
271
  }
61
272
  },
62
273
  "relationship": {
63
274
  "type": "object",
64
- "required": ["relationship_id", "from_context", "to_context", "relationship_pattern", "semantic_upstream", "semantic_downstream", "business_authority", "model_change_impact", "transport_direction", "translation_responsibility", "direction_explanation"],
275
+ "required": [
276
+ "relationship_id",
277
+ "from_context",
278
+ "to_context",
279
+ "relationship_pattern",
280
+ "semantic_upstream",
281
+ "semantic_downstream",
282
+ "business_authority",
283
+ "model_change_impact",
284
+ "transport_direction",
285
+ "translation_responsibility",
286
+ "direction_explanation"
287
+ ],
65
288
  "properties": {
66
- "relationship_id": {"type": "string", "pattern": "^relationship\\.[a-z0-9][a-z0-9-]*$"},
67
- "from_context": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
68
- "to_context": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
69
- "relationship_pattern": {"enum": ["Partnership", "Customer/Supplier", "Conformist", "Anti-Corruption Layer", "Open Host Service", "Published Language", "Shared Kernel", "Separate Ways"]},
70
- "semantic_upstream": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
71
- "semantic_downstream": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
72
- "business_authority": {"type": "string", "minLength": 1},
73
- "model_change_impact": {"type": "string", "minLength": 1},
74
- "transport_direction": {"type": "string", "minLength": 1},
75
- "translation_responsibility": {"type": "string", "minLength": 1},
76
- "direction_explanation": {"type": "string", "minLength": 1}
289
+ "relationship_id": {
290
+ "type": "string",
291
+ "pattern": "^relationship\\.[a-z0-9][a-z0-9-]*$"
292
+ },
293
+ "from_context": {
294
+ "type": "string",
295
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
296
+ },
297
+ "to_context": {
298
+ "type": "string",
299
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
300
+ },
301
+ "relationship_pattern": {
302
+ "enum": [
303
+ "Partnership",
304
+ "Customer/Supplier",
305
+ "Conformist",
306
+ "Anti-Corruption Layer",
307
+ "Open Host Service",
308
+ "Published Language",
309
+ "Shared Kernel",
310
+ "Separate Ways"
311
+ ]
312
+ },
313
+ "semantic_upstream": {
314
+ "type": "string",
315
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
316
+ },
317
+ "semantic_downstream": {
318
+ "type": "string",
319
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
320
+ },
321
+ "business_authority": {
322
+ "type": "string",
323
+ "minLength": 1
324
+ },
325
+ "model_change_impact": {
326
+ "type": "string",
327
+ "minLength": 1
328
+ },
329
+ "transport_direction": {
330
+ "type": "string",
331
+ "minLength": 1
332
+ },
333
+ "translation_responsibility": {
334
+ "type": "string",
335
+ "minLength": 1
336
+ },
337
+ "direction_explanation": {
338
+ "type": "string",
339
+ "minLength": 1
340
+ }
77
341
  }
78
342
  },
79
343
  "scenario": {
80
344
  "type": "object",
81
- "required": ["scenario_id", "actor", "preconditions", "commands", "rules", "events", "failure_results", "responsible_context", "consumers", "status"],
345
+ "required": [
346
+ "scenario_id",
347
+ "actor",
348
+ "preconditions",
349
+ "commands",
350
+ "rules",
351
+ "events",
352
+ "failure_results",
353
+ "responsible_context",
354
+ "consumers",
355
+ "status"
356
+ ],
82
357
  "properties": {
83
- "rule_refs": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1},
84
- "critical": {"type": "boolean"},
85
- "success_results": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1},
86
- "scenario_id": {"type": "string", "pattern": "^scenario\\.[a-z0-9][a-z0-9-]*$"},
87
- "actor": {"type": "string", "minLength": 1},
88
- "preconditions": {"type": "array", "items": {"type": "string"}},
89
- "commands": {"type": "array", "minItems": 1, "items": {"type": "string"}},
90
- "rules": {"type": "array", "minItems": 1, "items": {"type": "string"}},
91
- "events": {"type": "array", "items": {"type": "string"}},
92
- "failure_results": {"type": "array", "minItems": 1, "items": {"type": "string"}},
93
- "responsible_context": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
94
- "consumers": {"type": "array", "items": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"}},
95
- "status": {"enum": ["candidate", "confirmed", "stale"]}
358
+ "rule_refs": {
359
+ "type": "array",
360
+ "items": {
361
+ "type": "string",
362
+ "minLength": 1
363
+ },
364
+ "minItems": 1
365
+ },
366
+ "critical": {
367
+ "type": "boolean"
368
+ },
369
+ "success_results": {
370
+ "type": "array",
371
+ "items": {
372
+ "type": "string",
373
+ "minLength": 1
374
+ },
375
+ "minItems": 1
376
+ },
377
+ "scenario_id": {
378
+ "type": "string",
379
+ "pattern": "^scenario\\.[a-z0-9][a-z0-9-]*$"
380
+ },
381
+ "actor": {
382
+ "type": "string",
383
+ "minLength": 1
384
+ },
385
+ "preconditions": {
386
+ "type": "array",
387
+ "items": {
388
+ "type": "string"
389
+ }
390
+ },
391
+ "commands": {
392
+ "type": "array",
393
+ "minItems": 1,
394
+ "items": {
395
+ "type": "string"
396
+ }
397
+ },
398
+ "rules": {
399
+ "type": "array",
400
+ "minItems": 1,
401
+ "items": {
402
+ "type": "string"
403
+ }
404
+ },
405
+ "events": {
406
+ "type": "array",
407
+ "items": {
408
+ "type": "string"
409
+ }
410
+ },
411
+ "failure_results": {
412
+ "type": "array",
413
+ "minItems": 1,
414
+ "items": {
415
+ "type": "string"
416
+ }
417
+ },
418
+ "responsible_context": {
419
+ "type": "string",
420
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
421
+ },
422
+ "consumers": {
423
+ "type": "array",
424
+ "items": {
425
+ "type": "string",
426
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
427
+ }
428
+ },
429
+ "status": {
430
+ "enum": [
431
+ "candidate",
432
+ "confirmed",
433
+ "stale"
434
+ ]
435
+ }
96
436
  }
97
437
  },
98
438
  "concept": {
99
439
  "type": "object",
100
- "required": ["concept_id", "name", "context_id", "identity_features", "lifecycle", "confidence", "status"],
440
+ "required": [
441
+ "concept_id",
442
+ "name",
443
+ "context_id",
444
+ "identity_features",
445
+ "lifecycle",
446
+ "confidence",
447
+ "status"
448
+ ],
101
449
  "properties": {
102
- "concept_id": {"type": "string", "pattern": "^domain-concept\\.[a-z0-9][a-z0-9-]*$"},
103
- "name": {"type": "string", "minLength": 1},
104
- "context_id": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
105
- "identity_features": {"type": "array", "minItems": 1, "items": {"type": "string"}},
106
- "lifecycle": {"type": "array", "minItems": 1, "items": {"type": "string"}},
107
- "invariant_refs": {"type": "array", "items": {"type": "string"}},
108
- "possible_tactical_role": {"type": "string"},
109
- "confidence": {"enum": ["low", "medium", "high"]},
110
- "status": {"enum": ["candidate", "confirmed", "stale"]}
450
+ "concept_id": {
451
+ "type": "string",
452
+ "pattern": "^domain-concept\\.[a-z0-9][a-z0-9-]*$"
453
+ },
454
+ "name": {
455
+ "type": "string",
456
+ "minLength": 1
457
+ },
458
+ "context_id": {
459
+ "type": "string",
460
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
461
+ },
462
+ "identity_features": {
463
+ "type": "array",
464
+ "minItems": 1,
465
+ "items": {
466
+ "type": "string"
467
+ }
468
+ },
469
+ "lifecycle": {
470
+ "type": "array",
471
+ "minItems": 1,
472
+ "items": {
473
+ "type": "string"
474
+ }
475
+ },
476
+ "invariant_refs": {
477
+ "type": "array",
478
+ "items": {
479
+ "type": "string"
480
+ }
481
+ },
482
+ "possible_tactical_role": {
483
+ "type": "string"
484
+ },
485
+ "confidence": {
486
+ "enum": [
487
+ "low",
488
+ "medium",
489
+ "high"
490
+ ]
491
+ },
492
+ "status": {
493
+ "enum": [
494
+ "candidate",
495
+ "confirmed",
496
+ "stale"
497
+ ]
498
+ }
111
499
  }
112
500
  },
113
501
  "invariant": {
114
502
  "type": "object",
115
- "required": ["invariant_id", "statement", "responsible_context", "scenario_refs", "verification_method"],
503
+ "required": [
504
+ "invariant_id",
505
+ "statement",
506
+ "responsible_context",
507
+ "scenario_refs",
508
+ "verification_method"
509
+ ],
116
510
  "properties": {
117
- "rule_ref": {"type": "string", "minLength": 1},
118
- "invariant_id": {"type": "string", "pattern": "^invariant\\.[a-z0-9][a-z0-9-]*$"},
119
- "statement": {"type": "string", "minLength": 1},
120
- "responsible_context": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
121
- "scenario_refs": {"type": "array", "minItems": 1, "items": {"type": "string"}},
122
- "verification_method": {"type": "string", "minLength": 1}
511
+ "rule_ref": {
512
+ "type": "string",
513
+ "minLength": 1
514
+ },
515
+ "invariant_id": {
516
+ "type": "string",
517
+ "pattern": "^invariant\\.[a-z0-9][a-z0-9-]*$"
518
+ },
519
+ "statement": {
520
+ "type": "string",
521
+ "minLength": 1
522
+ },
523
+ "responsible_context": {
524
+ "type": "string",
525
+ "pattern": "^[A-Z][A-Za-z0-9]+$"
526
+ },
527
+ "scenario_refs": {
528
+ "type": "array",
529
+ "minItems": 1,
530
+ "items": {
531
+ "type": "string"
532
+ }
533
+ },
534
+ "verification_method": {
535
+ "type": "string",
536
+ "minLength": 1
537
+ }
123
538
  }
124
539
  },
125
540
  "mapping": {
126
541
  "type": "object",
127
- "required": ["domain_change", "impacts", "propagation", "reapproval_condition"],
542
+ "required": [
543
+ "domain_change",
544
+ "impacts",
545
+ "propagation",
546
+ "reapproval_condition"
547
+ ],
128
548
  "properties": {
129
- "domain_change": {"type": "string", "minLength": 1},
130
- "impacts": {"type": "array", "minItems": 1, "items": {"type": "string"}},
131
- "propagation": {"enum": ["direct", "transitive", "stale"]},
132
- "reapproval_condition": {"type": "string", "minLength": 1}
549
+ "domain_change": {
550
+ "type": "string",
551
+ "minLength": 1
552
+ },
553
+ "impacts": {
554
+ "type": "array",
555
+ "minItems": 1,
556
+ "items": {
557
+ "type": "string"
558
+ }
559
+ },
560
+ "propagation": {
561
+ "enum": [
562
+ "direct",
563
+ "transitive",
564
+ "stale"
565
+ ]
566
+ },
567
+ "reapproval_condition": {
568
+ "type": "string",
569
+ "minLength": 1
570
+ }
133
571
  }
134
572
  },
135
573
  "mappingV3": {
136
574
  "type": "object",
137
575
  "additionalProperties": false,
138
- "required": ["mapping_id", "source_refs", "consumer_capability", "impacts", "propagation", "reapproval_condition", "evidence_refs"],
576
+ "required": [
577
+ "mapping_id",
578
+ "source_refs",
579
+ "consumer_capability",
580
+ "impacts",
581
+ "propagation",
582
+ "reapproval_condition",
583
+ "evidence_refs"
584
+ ],
139
585
  "properties": {
140
- "mapping_id": {"type": "string", "pattern": "^mapping\\.[a-z0-9][a-z0-9-]*$"},
141
- "source_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "pattern": "^(rule|scenario|invariant)\\.[a-z0-9][a-z0-9-]*$"}},
142
- "consumer_capability": {"enum": ["backend-technical-design", "frontend-engineering-design", "delivery-coordination"]},
143
- "impacts": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}},
144
- "propagation": {"enum": ["direct", "transitive", "not-applicable", "stale"]},
145
- "reapproval_condition": {"type": "string", "minLength": 1},
146
- "evidence_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}}
586
+ "mapping_id": {
587
+ "type": "string",
588
+ "pattern": "^mapping\\.[a-z0-9][a-z0-9-]*$"
589
+ },
590
+ "source_refs": {
591
+ "type": "array",
592
+ "minItems": 1,
593
+ "uniqueItems": true,
594
+ "items": {
595
+ "type": "string",
596
+ "pattern": "^(rule|scenario|invariant)\\.[a-z0-9][a-z0-9-]*$"
597
+ }
598
+ },
599
+ "consumer_capability": {
600
+ "enum": [
601
+ "backend-technical-design",
602
+ "frontend-engineering-design",
603
+ "delivery-coordination"
604
+ ]
605
+ },
606
+ "impacts": {
607
+ "type": "array",
608
+ "minItems": 1,
609
+ "uniqueItems": true,
610
+ "items": {
611
+ "type": "string",
612
+ "minLength": 1
613
+ }
614
+ },
615
+ "propagation": {
616
+ "enum": [
617
+ "direct",
618
+ "transitive",
619
+ "not-applicable",
620
+ "stale"
621
+ ]
622
+ },
623
+ "reapproval_condition": {
624
+ "type": "string",
625
+ "minLength": 1
626
+ },
627
+ "evidence_refs": {
628
+ "type": "array",
629
+ "minItems": 1,
630
+ "uniqueItems": true,
631
+ "items": {
632
+ "type": "string",
633
+ "minLength": 1
634
+ }
635
+ }
147
636
  }
148
637
  },
149
638
  "approval": {
150
639
  "type": "object",
151
- "required": ["approval_ref", "approver", "persisted_ref", "current_version"],
640
+ "required": [
641
+ "approval_ref",
642
+ "approver",
643
+ "persisted_ref",
644
+ "current_version"
645
+ ],
152
646
  "properties": {
153
- "approval_ref": {"type": "string", "minLength": 1},
154
- "approver": {"type": "string", "minLength": 1},
155
- "persisted_ref": {"type": "string", "minLength": 1},
156
- "current_version": {"type": "string", "pattern": "^v[0-9]+$"}
647
+ "approval_ref": {
648
+ "type": "string",
649
+ "minLength": 1
650
+ },
651
+ "approver": {
652
+ "type": "string",
653
+ "minLength": 1
654
+ },
655
+ "persisted_ref": {
656
+ "type": "string",
657
+ "minLength": 1
658
+ },
659
+ "current_version": {
660
+ "type": "string",
661
+ "pattern": "^v[0-9]+$"
662
+ },
663
+ "approval_context": {
664
+ "type": "object",
665
+ "required": [
666
+ "subject_ref",
667
+ "approval_scope",
668
+ "basis",
669
+ "drafter_principal_ref"
670
+ ],
671
+ "properties": {
672
+ "subject_ref": {
673
+ "type": "string",
674
+ "minLength": 1
675
+ },
676
+ "subject_digest": {
677
+ "type": "string",
678
+ "pattern": "^(sha256:)?[a-f0-9]{64}$"
679
+ },
680
+ "approval_scope": {
681
+ "type": "array",
682
+ "minItems": 1,
683
+ "uniqueItems": true,
684
+ "items": {
685
+ "type": "string",
686
+ "minLength": 1
687
+ }
688
+ },
689
+ "basis": {
690
+ "type": "array",
691
+ "minItems": 1,
692
+ "items": {
693
+ "type": "object",
694
+ "required": [
695
+ "ref",
696
+ "digest"
697
+ ],
698
+ "properties": {
699
+ "ref": {
700
+ "type": "string",
701
+ "minLength": 1
702
+ },
703
+ "digest": {
704
+ "type": "string",
705
+ "pattern": "^(sha256:)?[a-f0-9]{64}$"
706
+ }
707
+ }
708
+ }
709
+ },
710
+ "drafter_principal_ref": {
711
+ "type": "string",
712
+ "minLength": 1
713
+ },
714
+ "review_package": {
715
+ "type": "boolean"
716
+ }
717
+ }
718
+ }
157
719
  }
158
720
  }
159
721
  },
160
722
  "allOf": [
161
723
  {
162
- "if": {"properties": {"schema_version": {"const": 3}}, "required": ["schema_version"]},
724
+ "if": {
725
+ "properties": {
726
+ "schema_version": {
727
+ "const": 3
728
+ }
729
+ },
730
+ "required": [
731
+ "schema_version"
732
+ ]
733
+ },
163
734
  "then": {
164
- "required": ["traceability_version", "rule_catalog"],
735
+ "required": [
736
+ "traceability_version",
737
+ "rule_catalog"
738
+ ],
165
739
  "properties": {
166
- "traceability_version": {"const": 1},
740
+ "traceability_version": {
741
+ "const": 1
742
+ },
167
743
  "rule_catalog": {
168
744
  "items": {
169
- "required": ["evidence_refs"],
745
+ "required": [
746
+ "evidence_refs"
747
+ ],
170
748
  "properties": {
171
749
  "evidence_refs": {
172
750
  "type": "array",
173
751
  "minItems": 1,
174
752
  "uniqueItems": true,
175
- "items": {"type": "string", "minLength": 1}
753
+ "items": {
754
+ "type": "string",
755
+ "minLength": 1
756
+ }
176
757
  }
177
758
  }
178
759
  }
179
760
  },
180
761
  "scenarios": {
181
762
  "items": {
182
- "required": ["rule_refs", "critical", "success_results", "evidence_refs"],
763
+ "required": [
764
+ "rule_refs",
765
+ "critical",
766
+ "success_results",
767
+ "evidence_refs"
768
+ ],
183
769
  "properties": {
184
770
  "evidence_refs": {
185
771
  "type": "array",
186
772
  "minItems": 1,
187
773
  "uniqueItems": true,
188
- "items": {"type": "string", "minLength": 1}
774
+ "items": {
775
+ "type": "string",
776
+ "minLength": 1
777
+ }
189
778
  }
190
779
  }
191
780
  }
192
781
  },
193
782
  "invariants": {
194
783
  "items": {
195
- "required": ["rule_ref", "evidence_refs"],
784
+ "required": [
785
+ "rule_ref",
786
+ "evidence_refs"
787
+ ],
196
788
  "properties": {
197
789
  "evidence_refs": {
198
790
  "type": "array",
199
791
  "minItems": 1,
200
792
  "uniqueItems": true,
201
- "items": {"type": "string", "minLength": 1}
793
+ "items": {
794
+ "type": "string",
795
+ "minLength": 1
796
+ }
202
797
  }
203
798
  }
204
799
  }
205
800
  },
206
- "downstream_mapping": {"items": {"$ref": "#/$defs/mappingV3"}}
801
+ "downstream_mapping": {
802
+ "items": {
803
+ "$ref": "#/$defs/mappingV3"
804
+ }
805
+ }
207
806
  }
208
807
  },
209
808
  "else": {
210
809
  "properties": {
211
- "downstream_mapping": {"items": {"$ref": "#/$defs/mapping"}}
810
+ "downstream_mapping": {
811
+ "items": {
812
+ "$ref": "#/$defs/mapping"
813
+ }
814
+ }
212
815
  }
213
816
  }
214
817
  }