universal-dev-standards 5.17.0 → 6.1.0

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 (563) hide show
  1. package/bin/uds.js +13 -135
  2. package/bundled/ai/options/commit-message/bilingual.ai.yaml +19 -1
  3. package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
  4. package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
  5. package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
  6. package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
  7. package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
  8. package/bundled/ai/standards/checkin-standards.ai.yaml +3 -3
  9. package/bundled/ai/standards/code-review.ai.yaml +2 -2
  10. package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
  11. package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
  12. package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
  13. package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
  14. package/bundled/ai/standards/documentation-writing-standards.ai.yaml +1 -1
  15. package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
  16. package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
  17. package/bundled/ai/standards/frontend-design-standards.ai.yaml +33 -3
  18. package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
  19. package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
  20. package/bundled/ai/standards/logging.ai.yaml +97 -3
  21. package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
  22. package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
  23. package/bundled/ai/standards/model-selection.ai.yaml +11 -2
  24. package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
  25. package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
  26. package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
  27. package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
  28. package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
  29. package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
  30. package/bundled/ai/standards/push-standards.ai.yaml +14 -3
  31. package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
  32. package/bundled/ai/standards/requirement-engineering.ai.yaml +42 -3
  33. package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
  34. package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
  35. package/bundled/ai/standards/security-testing.ai.yaml +13 -2
  36. package/bundled/ai/standards/self-review-protocol.ai.yaml +15 -10
  37. package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
  38. package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
  39. package/bundled/ai/standards/verification-evidence.ai.yaml +88 -5
  40. package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
  41. package/bundled/ai/standards/versioning.ai.yaml +32 -38
  42. package/bundled/core/acceptance-criteria-traceability.md +15 -5
  43. package/bundled/core/accessibility-standards.md +8 -4
  44. package/bundled/core/ai-friendly-architecture.md +1 -1
  45. package/bundled/core/ai-response-navigation.md +31 -3
  46. package/bundled/core/anti-sycophancy-prompting.md +1 -1
  47. package/bundled/core/api-design-standards.md +92 -7
  48. package/bundled/core/audit-trail.md +119 -0
  49. package/bundled/core/behavior-snapshot.md +94 -7
  50. package/bundled/core/browser-compatibility-standards.md +15 -2
  51. package/bundled/core/checkin-standards.md +10 -3
  52. package/bundled/core/code-review-checklist.md +10 -2
  53. package/bundled/core/container-image-standards.md +97 -0
  54. package/bundled/core/context-aware-loading.md +2 -2
  55. package/bundled/core/cost-budget-test.md +1 -1
  56. package/bundled/core/cross-flow-regression.md +3 -2
  57. package/bundled/core/data-contract.md +104 -0
  58. package/bundled/core/data-migration-testing.md +90 -0
  59. package/bundled/core/data-pipeline.md +113 -0
  60. package/bundled/core/deprecation-standards.md +16 -2
  61. package/bundled/core/developer-memory.md +13 -8
  62. package/bundled/core/documentation-writing-standards.md +2 -2
  63. package/bundled/core/error-code-standards.md +4 -3
  64. package/bundled/core/feature-discovery-standards.md +191 -0
  65. package/bundled/core/flaky-test-management.md +1 -1
  66. package/bundled/core/flow-based-testing.md +3 -3
  67. package/bundled/core/forward-derivation-standards.md +33 -5
  68. package/bundled/core/frontend-design-standards.md +93 -4
  69. package/bundled/core/full-coverage-testing.md +72 -0
  70. package/bundled/core/git-worktree.md +4 -4
  71. package/bundled/core/guides/performance-guide.md +1 -1
  72. package/bundled/core/guides/security-guide.md +1 -1
  73. package/bundled/core/health-check-standards.md +2 -2
  74. package/bundled/core/iac-design-principles.md +97 -0
  75. package/bundled/core/incident-response.md +119 -0
  76. package/bundled/core/license-compliance.md +2 -0
  77. package/bundled/core/logging-standards.md +78 -2
  78. package/bundled/core/mock-boundary.md +54 -2
  79. package/bundled/core/model-provenance.md +181 -0
  80. package/bundled/core/model-selection.md +27 -2
  81. package/bundled/core/multi-environment-e2e-testing.md +195 -0
  82. package/bundled/core/packaging-standards.md +1 -0
  83. package/bundled/core/performance-standards.md +96 -2
  84. package/bundled/core/pii-classification.md +148 -0
  85. package/bundled/core/pipeline-security-gates.md +22 -2
  86. package/bundled/core/postmortem-standards.md +2 -0
  87. package/bundled/core/prd-standards.md +91 -0
  88. package/bundled/core/privacy-standards.md +14 -3
  89. package/bundled/core/product-metrics-standards.md +100 -0
  90. package/bundled/core/project-context-memory.md +8 -2
  91. package/bundled/core/prompt-regression.md +1 -1
  92. package/bundled/core/push-standards.md +82 -0
  93. package/bundled/core/refactoring-standards.md +44 -3
  94. package/bundled/core/replay-test.md +1 -1
  95. package/bundled/core/requirement-engineering.md +2 -2
  96. package/bundled/core/resource-cost-boundary.md +180 -0
  97. package/bundled/core/reverse-engineering-standards.md +66 -2
  98. package/bundled/core/runbook.md +113 -0
  99. package/bundled/core/schema-evolution.md +105 -0
  100. package/bundled/core/secret-management-standards.md +110 -0
  101. package/bundled/core/security-testing.md +26 -2
  102. package/bundled/core/self-review-protocol.md +15 -10
  103. package/bundled/core/skill-standard-alignment-check.md +53 -0
  104. package/bundled/core/slo-sli.md +109 -0
  105. package/bundled/core/smoke-test.md +1 -1
  106. package/bundled/core/tech-debt-standards.md +1 -1
  107. package/bundled/core/test-data-standards.md +2 -2
  108. package/bundled/core/user-journey-testing.md +102 -0
  109. package/bundled/core/user-story-mapping.md +96 -0
  110. package/bundled/core/verification-evidence.md +170 -10
  111. package/bundled/core/verification-oracle.md +167 -0
  112. package/bundled/core/versioning.md +133 -109
  113. package/bundled/locales/COVERAGE.md +94 -77
  114. package/bundled/locales/zh-CN/CHANGELOG.md +94 -6
  115. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  116. package/bundled/locales/zh-CN/MAINTENANCE.md +42 -661
  117. package/bundled/locales/zh-CN/README.md +25 -12
  118. package/bundled/locales/zh-CN/SECURITY.md +2 -2
  119. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  120. package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +6 -1
  121. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  122. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  123. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  124. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  125. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  126. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  127. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  128. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  129. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +239 -0
  130. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  131. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  132. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  133. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  134. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  135. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  136. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  137. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  138. package/bundled/locales/zh-CN/core/cross-flow-regression.md +200 -0
  139. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  140. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  141. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  142. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  143. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  144. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  145. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  146. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  147. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  148. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  149. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  150. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  151. package/bundled/locales/zh-CN/core/frontend-design-standards.md +1 -1
  152. package/bundled/locales/zh-CN/core/full-coverage-testing.md +269 -0
  153. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  154. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  155. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  156. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  157. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  158. package/bundled/locales/zh-CN/core/license-compliance.md +131 -0
  159. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  160. package/bundled/locales/zh-CN/core/logging-standards.md +205 -7
  161. package/bundled/locales/zh-CN/core/mock-boundary.md +161 -0
  162. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  163. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  164. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  165. package/bundled/locales/zh-CN/core/packaging-standards.md +77 -5
  166. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +146 -0
  167. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  168. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  169. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  170. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  171. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  172. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  173. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  174. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  175. package/bundled/locales/zh-CN/core/requirement-engineering.md +1 -1
  176. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  177. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  178. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  179. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  180. package/bundled/locales/zh-CN/core/security-testing.md +113 -0
  181. package/bundled/locales/zh-CN/core/self-review-protocol.md +172 -0
  182. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  183. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  184. package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
  185. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  186. package/bundled/locales/zh-CN/core/verification-evidence.md +252 -41
  187. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  188. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +36 -7
  189. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +71 -53
  190. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  191. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  192. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  193. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  194. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  195. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  196. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  197. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  198. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  199. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  200. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  201. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  202. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  203. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  204. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  205. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  206. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  207. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  208. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  209. package/bundled/locales/zh-CN/options/commit-message/bilingual.md +10 -3
  210. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  211. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  212. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  213. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  214. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  215. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  216. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  217. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  218. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  219. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  220. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  221. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  222. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  223. package/bundled/locales/zh-CN/skills/README.md +89 -126
  224. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  225. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  226. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  227. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  228. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  229. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  230. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  231. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  232. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  233. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  234. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  235. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  236. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  237. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  238. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +115 -17
  239. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +37 -12
  240. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  242. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  243. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  244. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  245. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  246. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  247. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  248. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  249. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  250. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  251. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  252. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  253. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  254. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  255. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  256. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  257. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  258. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  259. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  260. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  261. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  262. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  263. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  264. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  265. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  266. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  267. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  268. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +169 -142
  269. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  270. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  271. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  272. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  273. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  274. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  275. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  276. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  277. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  278. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  279. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  280. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  281. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  282. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  283. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  284. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  285. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  286. package/bundled/locales/zh-TW/CHANGELOG.md +94 -6
  287. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  288. package/bundled/locales/zh-TW/MAINTENANCE.md +51 -4
  289. package/bundled/locales/zh-TW/README.md +25 -12
  290. package/bundled/locales/zh-TW/SECURITY.md +2 -2
  291. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  292. package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +6 -1
  293. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  294. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  295. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  296. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  297. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  298. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  299. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  300. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  301. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  302. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  303. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  304. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  305. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  306. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  307. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  308. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  309. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  310. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  311. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  312. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  313. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  314. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  315. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  316. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  317. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  318. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  319. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  320. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  321. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  322. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  323. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  324. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  325. package/bundled/locales/zh-TW/core/frontend-design-standards.md +1 -1
  326. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  327. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  328. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  329. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  330. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  331. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  332. package/bundled/locales/zh-TW/core/license-compliance.md +131 -0
  333. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  334. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  335. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  336. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  337. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  338. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  339. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  340. package/bundled/locales/zh-TW/core/packaging-standards.md +77 -5
  341. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  342. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  343. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +146 -0
  344. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  345. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  346. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  347. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  348. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  349. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  350. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  351. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  352. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  353. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  354. package/bundled/locales/zh-TW/core/requirement-engineering.md +1 -1
  355. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  356. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  357. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  358. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  359. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  360. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  361. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  362. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  363. package/bundled/locales/zh-TW/core/security-testing.md +113 -0
  364. package/bundled/locales/zh-TW/core/self-review-protocol.md +18 -13
  365. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  366. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  367. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  368. package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
  369. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  370. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  371. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  372. package/bundled/locales/zh-TW/core/verification-evidence.md +260 -31
  373. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  374. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  375. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +36 -7
  376. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  377. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +71 -53
  378. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  379. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  380. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  381. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  382. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  383. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  384. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  385. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  386. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  387. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  388. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  389. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  390. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  391. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  392. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  393. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  394. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  395. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  396. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  397. package/bundled/locales/zh-TW/options/commit-message/bilingual.md +10 -3
  398. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  399. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  400. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  401. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  402. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  403. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  404. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  405. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  406. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  407. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  408. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  409. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  410. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  411. package/bundled/locales/zh-TW/skills/README.md +91 -128
  412. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  413. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  414. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  415. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  416. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  417. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  418. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  419. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  420. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  421. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  422. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  423. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  424. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  425. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  426. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  427. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  428. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +116 -18
  429. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +38 -11
  430. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  431. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  432. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  433. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  434. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  435. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  436. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  437. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  438. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  439. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  440. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  441. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  442. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  443. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  444. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  445. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  446. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  447. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  448. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  449. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  450. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  451. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  452. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  453. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  454. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  455. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  456. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +52 -27
  457. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  458. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  459. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  460. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  461. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  462. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  463. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  464. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  465. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  466. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  467. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  468. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  469. package/bundled/skills/README.md +1 -1
  470. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  471. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  472. package/bundled/skills/agents/code-architect.md +1 -1
  473. package/bundled/skills/agents/doc-writer.md +1 -1
  474. package/bundled/skills/agents/reviewer.md +2 -2
  475. package/bundled/skills/agents/spec-analyst.md +1 -1
  476. package/bundled/skills/agents/test-specialist.md +1 -1
  477. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  478. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  479. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  480. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  481. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  482. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  483. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  484. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  485. package/bundled/skills/bdd-assistant/guide.md +1 -2
  486. package/bundled/skills/brainstorm-assistant/SKILL.md +139 -15
  487. package/bundled/skills/brainstorm-assistant/guide.md +39 -8
  488. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  489. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  490. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  491. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  492. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  493. package/bundled/skills/commands/README.md +2 -2
  494. package/bundled/skills/commands/ac-coverage.md +1 -1
  495. package/bundled/skills/commands/atdd.md +2 -2
  496. package/bundled/skills/commands/bdd.md +2 -2
  497. package/bundled/skills/commands/brainstorm.md +25 -14
  498. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  499. package/bundled/skills/commands/derive-all.md +1 -1
  500. package/bundled/skills/commands/derive-atdd.md +1 -1
  501. package/bundled/skills/commands/derive-bdd.md +2 -3
  502. package/bundled/skills/commands/derive-tdd.md +1 -1
  503. package/bundled/skills/commands/derive.md +1 -1
  504. package/bundled/skills/commands/dev-workflow.md +1 -1
  505. package/bundled/skills/commands/journey-test.md +45 -0
  506. package/bundled/skills/commands/methodology.md +4 -4
  507. package/bundled/skills/commands/pr.md +1 -1
  508. package/bundled/skills/commands/skill-builder.md +42 -0
  509. package/bundled/skills/commands/tdd.md +1 -1
  510. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  511. package/bundled/skills/dev-methodology/guide.md +1 -1
  512. package/bundled/skills/dev-methodology/runtime.md +1 -1
  513. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  514. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  515. package/bundled/skills/docs-generator/SKILL.md +3 -3
  516. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  517. package/bundled/skills/logging-guide/SKILL.md +38 -2
  518. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  519. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  520. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  521. package/bundled/skills/project-discovery/guide.md +2 -2
  522. package/bundled/skills/push/SKILL.md +1 -1
  523. package/bundled/skills/release-standards/SKILL.md +19 -5
  524. package/bundled/skills/security-assistant/SKILL.md +1 -1
  525. package/bundled/skills/skill-builder/SKILL.md +1 -1
  526. package/bundled/skills/spec-derivation/guide.md +3 -4
  527. package/bundled/skills/spec-driven-dev/SKILL.md +13 -2
  528. package/bundled/skills/sweep/SKILL.md +1 -1
  529. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  530. package/bundled/skills/testing-guide/SKILL.md +1 -1
  531. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  532. package/bundled/skills/workflows/README.md +2 -2
  533. package/package.json +4 -4
  534. package/src/commands/audit.js +30 -9
  535. package/src/commands/config.js +33 -2
  536. package/src/commands/hitl.js +14 -1
  537. package/src/commands/init.js +168 -75
  538. package/src/commands/quickstart.js +1 -2
  539. package/src/commands/release.js +51 -6
  540. package/src/commands/run-intent.js +9 -0
  541. package/src/commands/spec-split.js +27 -2
  542. package/src/commands/update.js +22 -6
  543. package/src/config/ai-agent-paths.js +3 -1
  544. package/src/i18n/messages.js +3 -102
  545. package/src/missions/MissionManager.js +44 -12
  546. package/src/utils/build-manifest.js +35 -3
  547. package/src/utils/friction-detector.js +71 -22
  548. package/src/utils/health-checker.js +29 -2
  549. package/src/utils/transaction.js +111 -0
  550. package/src/utils/version-promote.js +16 -0
  551. package/standards-registry.json +61 -149
  552. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  553. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  554. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  555. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  556. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  557. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  558. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  559. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  560. package/src/commands/flow.js +0 -260
  561. package/src/commands/start.js +0 -372
  562. package/src/commands/sweep.js +0 -151
  563. package/src/commands/workflow.js +0 -681
@@ -0,0 +1,297 @@
1
+ # Model Provenance Policy Standards - AI Optimized
2
+ # Sources:
3
+ # v1.0.0 — XSPEC-255 Model Provenance Policy (acceptable model source as an enforced axis)
4
+ # DEC-075 (neutral mechanism / policy belongs to customer)
5
+ # DEC-063 (regulated / data-sovereignty customers)
6
+
7
+ id: model-provenance
8
+ title: Model Provenance Policy Standards (Acceptable Model Source as a Governed, Fail-Closed Axis)
9
+ version: "1.0.0"
10
+ status: Active
11
+ tags: [provenance, model-source, geopolitics, data-sovereignty, governance-gate, fail-closed, audit, allowlist, denylist, compliance]
12
+ created: 2026-06-17
13
+ updated: 2026-06-17
14
+
15
+ spec_ref: XSPEC-255 # Model Provenance Policy complete spec
16
+
17
+ references:
18
+ - XSPEC-255 # v1.0.0 source — Model Provenance Policy
19
+ - XSPEC-193 # Sibling governance-gate profile — licensing (shared skeleton)
20
+ - XSPEC-256 # Sibling governance-gate profile — correctness
21
+ - DEC-075 # Domain-neutral mechanism (policy content belongs to customer/pack)
22
+ - DEC-063 # Legal & compliance — regulated / sovereignty-sensitive customers
23
+ - DEC-064 # Customer IP isolation (per-customer policy scoping)
24
+ - DEC-066 # Telemetry-driven evolution — audit/telemetry allowlist
25
+ - DEC-076 # Self-serve north star — provenance = a self-serve ceiling
26
+ - XSPEC-254 # Positioning pre-mortem (cost-structure / origin axis context)
27
+
28
+ summary: |
29
+ Model selection is not only "cost x quality" — there is a third axis: whether the model's
30
+ SOURCE is acceptable to the customer (geopolitics / data sovereignty / regulation). A
31
+ regulated or geopolitically sensitive buyer may be unable to use models from a given
32
+ jurisdiction; the strictest reject even locally-run open weights of that origin. This
33
+ standard makes model provenance a first-class, enforced, auditable property: declare an
34
+ acceptable-source policy, block non-compliant model choices fail-closed, and emit
35
+ auditable evidence ("this delivery used no models of the denied origin").
36
+
37
+ It is the PROVENANCE (source) member of the governance-gate family — alongside
38
+ license-compliance (XSPEC-193, licensing) and verification-oracle (XSPEC-256, correctness)
39
+ — sharing the same shape: registry/check -> fail-closed gate -> audit evidence ->
40
+ human-escalation ceiling. The three are profiles of one mechanism over three axes:
41
+ licensing / provenance / correctness.
42
+
43
+ REQ-001~007: a model origin registry (model -> vendor -> jurisdiction/origin class); a
44
+ provenance policy schema (allow/deny origins, local-weights distinction, mode,
45
+ unknown-origin fail-closed); fail-closed enforcement at every model-selection point;
46
+ auditable provenance evidence; reference policy packs (content customer-owned);
47
+ unknown-origin fail-closed; and policy content sovereignty (mechanism neutral, policy
48
+ owned by the customer).
49
+
50
+ scope:
51
+ applies_to:
52
+ - Any system that selects an LLM/model where the customer constrains acceptable model source
53
+ (regulated / government / geopolitically sensitive buyers)
54
+ - Model-selection points: per-agent config, routing decisions, BYOK
55
+ - Provenance audit reports proving no denied-origin model was used
56
+ excludes:
57
+ - The policy CONTENT itself (which origins are acceptable) — owned by the customer / a compliance pack
58
+ - Enforcement-engine wiring (e.g. VibeOps provider abstraction / router gate) — downstream adoption concern
59
+ - Cost/quality model right-sizing — that is model-selection; provenance is a constraint applied first
60
+
61
+ origin_registry:
62
+ description: |
63
+ Each known model is classified by vendor -> jurisdiction -> origin class. Like the
64
+ license-compliance license DB, it is maintainable and extensible by the ecosystem/customer.
65
+ origin_classes:
66
+ - western-frontier # e.g. Claude (Anthropic/US), GPT/o-series (OpenAI/US), Gemini (Google/US)
67
+ - western-open # e.g. Llama (Meta/US), Mistral (Mistral/EU), Gemma (Google/US)
68
+ - china-origin # e.g. DeepSeek (DeepSeek/CN), MiniMax (MiniMax/CN), Qwen (Alibaba/CN)
69
+ example_entries:
70
+ - { model: Claude, vendor: Anthropic, jurisdiction: US, origin_class: western-frontier }
71
+ - { model: GPT, vendor: OpenAI, jurisdiction: US, origin_class: western-frontier }
72
+ - { model: Gemini, vendor: Google, jurisdiction: US, origin_class: western-frontier }
73
+ - { model: Llama, vendor: Meta, jurisdiction: US, origin_class: western-open }
74
+ - { model: Mistral, vendor: Mistral, jurisdiction: EU, origin_class: western-open }
75
+ - { model: Gemma, vendor: Google, jurisdiction: US, origin_class: western-open }
76
+ - { model: DeepSeek, vendor: DeepSeek, jurisdiction: CN, origin_class: china-origin }
77
+ - { model: MiniMax, vendor: MiniMax, jurisdiction: CN, origin_class: china-origin }
78
+ - { model: Qwen, vendor: Alibaba, jurisdiction: CN, origin_class: china-origin }
79
+
80
+ policy_schema:
81
+ description: |
82
+ Per-project/per-customer provenance policy. Mechanism only — concrete values are
83
+ customer/pack-owned (DEC-075).
84
+ fields:
85
+ allow_origins: "list of origin classes that are permitted"
86
+ deny_origins: "list of origin classes that are blocked"
87
+ china_local_weights: "deny | allow_local_only — distinguishes foreign open weights run locally; strict buyers deny"
88
+ mode: "block | warn | require_human"
89
+ unknown_origin: "block (fail-closed default) | warn | require_human"
90
+ example: |
91
+ {
92
+ "allow_origins": ["western-frontier", "western-open"],
93
+ "deny_origins": ["china-origin"],
94
+ "china_local_weights": "deny",
95
+ "mode": "block",
96
+ "unknown_origin": "block"
97
+ }
98
+
99
+ principles:
100
+ - id: P-1
101
+ name: Provenance is a Third Axis
102
+ description: |
103
+ Model choice is cost x quality x acceptable source. The source axis MUST be a
104
+ first-class constraint, not an afterthought, for regulated/sovereignty-sensitive buyers.
105
+
106
+ - id: P-2
107
+ name: Registry First
108
+ description: |
109
+ Every model MUST carry vendor/jurisdiction/origin class before a policy can act on it.
110
+ An unclassified model is "unknown origin" and falls under fail-closed handling (P-3).
111
+
112
+ - id: P-3
113
+ name: Fail-Closed
114
+ description: |
115
+ A denied or unknown origin MUST block or escalate. The check MUST NOT silently pass —
116
+ mirroring the license-compliance blocklist and verification-oracle non-reproduction block.
117
+
118
+ - id: P-4
119
+ name: Evidence-Based
120
+ description: |
121
+ Every generation MUST record the model used and its origin class, so a compliance report
122
+ ("no denied-origin model used") is producible with a reproducible trace and audit id.
123
+
124
+ - id: P-5
125
+ name: Human Ceiling
126
+ description: |
127
+ Ambiguous provenance or a require_human mode MUST escalate to a human (DEC-076 ceiling)
128
+ rather than auto-resolve — a product-enforced governance gate.
129
+
130
+ - id: P-6
131
+ name: Content Sovereignty
132
+ description: |
133
+ The mechanism is domain-neutral (DEC-075); the acceptable-source policy is owned by the
134
+ customer (DEC-063). Policies SHOULD be customer-scoped and isolated (DEC-064).
135
+
136
+ requirements:
137
+ - id: REQ-001
138
+ title: Model Origin Registry (first-class artifact)
139
+ description: |
140
+ Each known model MUST be classified by vendor -> jurisdiction -> origin class. The
141
+ registry is maintainable/extensible by the ecosystem/customer (like the license DB).
142
+ At minimum origin classes distinguish western-frontier, western-open, and other origins
143
+ so a policy can be expressed against them.
144
+ level: MUST
145
+ examples:
146
+ - "Claude -> Anthropic / US / western-frontier"
147
+ - "Qwen -> Alibaba / CN / china-origin"
148
+ - "Llama -> Meta / US / western-open"
149
+
150
+ - id: REQ-002
151
+ title: Provenance Policy Schema
152
+ description: |
153
+ A per-project/per-customer policy MUST express allow/deny origins (by class), a
154
+ local-weights distinction (foreign API/data-egress vs locally-run foreign open weights),
155
+ an enforcement mode (block/warn/require_human), and an unknown_origin behaviour that is
156
+ fail-closed by default.
157
+ level: MUST
158
+ schema_fields:
159
+ - "allow_origins / deny_origins (by origin class)"
160
+ - "china_local_weights: deny | allow_local_only (strict buyers deny even local foreign weights)"
161
+ - "mode: block | warn | require_human"
162
+ - "unknown_origin: block (fail-closed default)"
163
+
164
+ - id: REQ-003
165
+ title: Fail-Closed Enforcement (every model-selection point)
166
+ description: |
167
+ At every model-selection point (per-agent config / routing / BYOK) the chosen model's
168
+ origin MUST be checked against the active policy. A violation MUST block or escalate
169
+ fail-closed — never silently pass. Enforcement runs before routing so a disallowed
170
+ source is swapped for an acceptable model.
171
+ level: MUST
172
+ checks:
173
+ - "Apply TW-finance-gov-style policy -> selecting DeepSeek/MiniMax/Qwen (incl. local) is blocked"
174
+ - "Selecting Llama/Claude under the same policy is allowed"
175
+ - "Injection test: route a denied-origin model -> gate blocks (never silent pass)"
176
+
177
+ - id: REQ-004
178
+ title: Audit Evidence
179
+ description: |
180
+ Each generation MUST record the model used + its origin class, enabling a compliance
181
+ report ("this delivery used no models of the denied origin"). It plugs into the audit
182
+ logger / hash chain, verification-oracle correctness evidence (XSPEC-256), and the
183
+ telemetry allowlist (DEC-066). This report is the outward proof of the provenance moat.
184
+ level: MUST
185
+ evidence_required:
186
+ - "per generation: model id + vendor + origin class"
187
+ - "policy applied (allow/deny snapshot)"
188
+ - "denied-origin count (expected 0 under a deny policy)"
189
+ - "content hash (sha256) of the report"
190
+ - "audit-trail id (hash-chain entry)"
191
+
192
+ - id: REQ-005
193
+ title: Reference Policy Pack(s)
194
+ description: |
195
+ The mechanism SHOULD ship a small number of reference policy packs that demonstrate it
196
+ (e.g. a pack denying a given origin including local weights). The mechanism is neutral;
197
+ concrete policy content is owned by the customer or a compliance partner.
198
+ level: SHOULD
199
+ examples:
200
+ - "Reference pack 'TW-finance-gov': deny china-origin including local weights"
201
+
202
+ - id: REQ-006
203
+ title: Unknown-Origin Fail-Closed
204
+ description: |
205
+ A model whose origin is not in the registry (unknown provenance) MUST NOT be silently
206
+ allowed. The system MUST treat unknown origin as a fail-closed block or escalation
207
+ (REQ-002 unknown_origin), consistent with the governance-gate no-silent-pass rule.
208
+ level: MUST
209
+ checks:
210
+ - "Unknown-origin model under unknown_origin:block -> blocked/escalated, not auto-allowed"
211
+ - "Injection test: present an unregistered model -> gate does not silently pass"
212
+
213
+ - id: REQ-007
214
+ title: Provenance Policy Content Sovereignty
215
+ description: |
216
+ The mechanism is domain-neutral (DEC-075); the acceptable-source policy is
217
+ customer-owned (DEC-063). Policies SHOULD be customer-scoped and isolated (DEC-064).
218
+ level: SHOULD
219
+ checks:
220
+ - "Policy scoping is per-customer; provenance verdicts attribute policy to the customer"
221
+ - "Mechanism carries no jurisdiction-specific allow/deny baked in (only the registry classes)"
222
+
223
+ # ─────────────────────────────────────────────────────────────
224
+ # Governance-gate family (shared shape with XSPEC-193 / XSPEC-256)
225
+ # ─────────────────────────────────────────────────────────────
226
+
227
+ governance_gate_family:
228
+ description: |
229
+ model-provenance is the PROVENANCE (source) profile of one governance-gate mechanism.
230
+ All profiles share: registry/check -> fail-closed gate -> audit evidence ->
231
+ customer-override-telemetered -> human-escalation ceiling.
232
+ profiles:
233
+ - profile: licensing
234
+ standard: license-compliance
235
+ spec: XSPEC-193
236
+ registry: blocklist/allowlist/greylist
237
+ block_trigger: prohibited license
238
+ - profile: provenance
239
+ standard: model-provenance
240
+ spec: XSPEC-255
241
+ registry: model origin registry + policy
242
+ block_trigger: denied / unknown origin
243
+ - profile: correctness
244
+ standard: verification-oracle
245
+ spec: XSPEC-256
246
+ registry: ground-truth registry
247
+ block_trigger: non-reproduction / drift
248
+
249
+ # ─────────────────────────────────────────────────────────────
250
+ # Gate timing
251
+ # ─────────────────────────────────────────────────────────────
252
+
253
+ gate_timing:
254
+ pre_routing: REQ-003 fail-closed provenance check at every model-selection point
255
+ on_denied_or_unknown: REQ-006 / P-5 block or escalate to human (no silent pass)
256
+ on_allowed: REQ-004 record model + origin
257
+ after_run: REQ-004 emit provenance audit / compliance report (outward moat proof)
258
+
259
+ # ─────────────────────────────────────────────────────────────
260
+ # Telemetry (DEC-066 / XSPEC-189 v2 envelope)
261
+ # ─────────────────────────────────────────────────────────────
262
+
263
+ telemetry:
264
+ required_events:
265
+ - model_provenance_check # origin check outcome per model-selection point
266
+ - model_provenance_block # fail-closed block detail (REQ-003)
267
+ - model_provenance_escalation # require_human / ambiguous provenance escalated (P-5)
268
+ - unknown_origin_detected # unregistered model encountered (REQ-006)
269
+ - human_override_block # human override of a block (requires reason)
270
+ envelope_reference: XSPEC-189 # Telemetry Schema v2 envelope
271
+ event_type: quality
272
+ event_subtype_examples:
273
+ - model_provenance_check
274
+ - gate_pass / gate_fail # when the provenance check acts as a selection gate
275
+
276
+ # ─────────────────────────────────────────────────────────────
277
+ # Integration with existing standards
278
+ # ─────────────────────────────────────────────────────────────
279
+
280
+ integration:
281
+ license-compliance: sibling profile; shared allowlist/denylist + fail-closed + audit + override skeleton
282
+ verification-oracle: sibling profile; provenance evidence sits alongside correctness evidence in one report
283
+ model-selection: provenance is a constraint applied before cost/quality right-sizing (unacceptable source removed from candidate set)
284
+ security-standards: foreign-API data egress + local-weights distinction are data-sovereignty controls
285
+ verification-evidence: the provenance report is a kind of verification evidence (model + origin + no-denied-origin trace)
286
+
287
+ # ─────────────────────────────────────────────────────────────
288
+ # Adoption guidance
289
+ # ─────────────────────────────────────────────────────────────
290
+
291
+ adoption_guidance:
292
+ uds_install_path: ai/standards/model-provenance.ai.yaml
293
+ notes:
294
+ - "v1.0.0 defines the provenance mechanism and audit evidence. Policy content (acceptable origins) is customer-owned (DEC-075/DEC-063)."
295
+ - "Adopters MAY enforce the check in CI / at the provider abstraction without a bespoke engine."
296
+ - "Distinguish foreign-API access (data egress) from locally-run foreign open weights — strict buyers deny even local weights."
297
+ - "Group with license-compliance and verification-oracle as one governance-gate subsystem (three profiles)."
@@ -8,8 +8,8 @@ standard:
8
8
  description: AI 模型分級選擇策略
9
9
 
10
10
  meta:
11
- version: "2.0.0"
12
- updated: "2026-04-13"
11
+ version: "2.0.1"
12
+ updated: "2026-06-10"
13
13
  source: core/model-selection.md
14
14
  description: "三層模型分級選擇策略 + 多模型池能力管理(XSPEC-027)"
15
15
  inspired_by: superpowers/subagent-driven-development
@@ -176,6 +176,15 @@ standard:
176
176
  action: "自動切換備用模型,上報 P1 Issue"
177
177
  priority: critical
178
178
 
179
+ navigation_integration:
180
+ description: >
181
+ The ai-response-navigation standard (Rule R6, optional) allows next-step suggestion
182
+ options to carry a Tier annotation (〔model: Fast〕 / 〔model: Standard〕 / 〔model: Capable〕).
183
+ The complexity signals in this standard serve as the judgment basis for those annotations.
184
+ vendor_neutral_principle: >
185
+ Tier names (Fast / Standard / Capable) are vendor-agnostic labels.
186
+ Each platform independently maps these tiers to its available models.
187
+
179
188
  physical_spec:
180
189
  type: checklist
181
190
  validator:
@@ -8,6 +8,16 @@ meta:
8
8
  source: core/observability-standards.md
9
9
  description: Three pillars observability framework (Logs, Metrics, Traces) with Golden Signals and maturity model
10
10
 
11
+ # XSPEC-070 Phase 2 — skill↔standard content-coverage audit.
12
+ # Consumed by scripts/check-skill-content-coverage.ts. The anchor skill
13
+ # (observability-assistant) is a thin launcher; require it to carry at least 30%
14
+ # of the standard's depth so a stale skeleton is flagged (CONTENT-003).
15
+ audit:
16
+ min_skill_ratio: 0.30
17
+ mandatory_keywords:
18
+ - golden signals
19
+ - maturity
20
+
11
21
  three_pillars:
12
22
  logs: "Discrete events — debugging, audit, error details (see logging.ai.yaml)"
13
23
  metrics: "Numerical measurements over time — dashboards, alerting, capacity"
@@ -1,7 +1,7 @@
1
1
  # Performance Standards (AI-Optimized)
2
2
  # Source: core/performance-standards.md
3
3
  # Guide: core/guides/performance-guide.md
4
- # Version: 1.0.0
4
+ # Version: 1.2.0
5
5
 
6
6
  iso25010_efficiency:
7
7
  time_behavior: "Response time, throughput"
@@ -127,3 +127,48 @@ capacity_planning:
127
127
  cpu: "Plan at 70%"
128
128
  memory: "Plan at 80%"
129
129
  storage: "Plan at 70%"
130
+
131
+ # XSPEC-286: Migration Non-Functional Parity (axis 6 of XSPEC-284 completeness matrix)
132
+ # Covers "function correct, data correct, but RUNS differently" omissions in a legacy rewrite.
133
+ # Differential oracle: legacy is the baseline, "no regression beyond declared tolerance" is pass.
134
+ migration_non_functional_parity:
135
+ axis: "6 (non-functional) of XSPEC-284 migration completeness matrix"
136
+ principle: "Legacy is the baseline; declared tolerance, not absolute target. Divergence self-reports."
137
+ why_gap: "General baseline/drift compares a version to its OWN prior baseline, not new-vs-legacy. Per-request and behavior-snapshot parity both pass while the system silently runs slower / loses a lock semantic."
138
+ derive: # R3 mechanized baseline capture
139
+ sources:
140
+ key_routes: "p50/p95/p99 latency per critical path"
141
+ hot_queries: "per-query latency, rows scanned (slow-query log)"
142
+ background_jobs: "job duration, throughput records/min"
143
+ connection_pool: "min/max connections, idle/connection timeout"
144
+ timeout_ratelimit: "per-endpoint timeout, requests/min, burst"
145
+ transaction_config: "isolation level"
146
+ note: "Captured set is both the regression baseline AND the resource/limit parity checklist."
147
+ regression_gate: # R1 performance regression differential
148
+ oracle: "measure new-system path, compare vs legacy baseline within declared tolerance"
149
+ default_tolerance:
150
+ p50_latency: "<= +10% vs legacy"
151
+ p95_latency: "<= +15% vs legacy"
152
+ p99_latency: "<= +20% vs legacy"
153
+ throughput: "<= -10% decrease vs legacy"
154
+ per_path_configurable: true
155
+ rollout: "shadow (measure-only) first to calibrate per-path tolerance, then promote to blocking"
156
+ gate_timing: [pre-UAT, post-cutover]
157
+ concurrency_isolation: # R2
158
+ method: "drive a race with concurrent stress, then assert DOMAIN INVARIANTS (not one-at-a-time output checks)"
159
+ invariants:
160
+ conservation: "SUM(balance) unchanged after N concurrent transfers"
161
+ uniqueness: "no duplicate sequence number under concurrent allocation"
162
+ no_lost_update: "committed write not silently replaced"
163
+ ordering: "events applied in guaranteed order under concurrency"
164
+ blocks_on: "isolation downgrade (e.g. SERIALIZABLE -> READ COMMITTED, removed row lock)"
165
+ boundary: "state-transition legality and temporal invariants owned by XSPEC-287 (axis 8); concurrency race owned here (axis 6)"
166
+ gate_timing: [pre-UAT]
167
+ resource_limit_parity: # R4
168
+ checklist: [request_timeout, rate_limit, connection_pool, batch_size, transaction_isolation]
169
+ rule: "each item matched OR has a declared justified delta; undeclared delta blocks cutover"
170
+ completeness_declaration:
171
+ derive: "Step1 mechanized baseline"
172
+ oracle: "Step2 regression differential + Step3 invariant assertions"
173
+ gate_timing: "pre-UAT + post-cutover"
174
+ reuse: "general baseline/drift + observability-assistant measurement; adds only migration before/after + concurrency-isolation semantics"
@@ -3,7 +3,7 @@
3
3
 
4
4
  id: pii-classification
5
5
  title: PII Classification and Handling Standards
6
- version: "1.0.0"
6
+ version: "1.1.0"
7
7
  status: Active
8
8
  tags: [compliance, privacy, pii, gdpr, data-protection, security]
9
9
  summary: |
@@ -107,3 +107,17 @@ requirements:
107
107
  - "New feature: 'Save payment method' → PIA required (TIER-1 card data)"
108
108
  - "PIA template: docs/templates/privacy-impact-assessment.md"
109
109
  - "PIA outcome: fingerprint auth approved with biometric data stored only on-device"
110
+
111
+ # Hand-off contract (XSPEC-292 T16): how a classification reaches its consumers
112
+ hand_off:
113
+ trigger:
114
+ - "New feature design: REQ-006 PIA classifies new PII fields before implementation"
115
+ - "PR/scan time: a PII field with no tier is a blocking finding"
116
+ - "Data-dictionary change: tier added/removed -> re-notify consumers"
117
+ interface: "PII classification registry entry per field {field, tier, purpose, legal_basis, masking_rule, retention}; consumers register per data-contract REQ-005"
118
+ consumers:
119
+ - "logging-standards: applies masking_rule to TIER-1/2 in non-prod"
120
+ - "audit-trail: records access/export/erasure events"
121
+ - "security-standards: enforces encryption for TIER-1"
122
+ - "privacy/compliance owner: notified on new TIER-1 field or classification change"
123
+ state: "Found -> Classified -> Handled (masked/encrypted/retention) -> Verified; a field stuck in Found blocks release"
@@ -13,6 +13,7 @@ standard:
13
13
  - "Secrets scan at pre-commit — block ALL commits containing secrets"
14
14
  - "SAST after build — block Critical/High findings"
15
15
  - "SCA + SBOM generation at package stage"
16
+ - "Attestation verification before deploy — verify artifact checksum, cosign signature, SLSA provenance (consume supply-chain-attestation output; never generate SBOM/signature without verifying it)"
16
17
  - "DAST after staging deploy — warn on findings, require approval for Critical"
17
18
  - "Never skip security gates with --force or emergency bypass without audit trail"
18
19
  - "Treat security gate failures as pipeline failures, not warnings"
@@ -51,6 +52,14 @@ gate_positions:
51
52
  block_on: ["Critical CVE with fix available"]
52
53
  warn_on: ["High CVE", "outdated dependencies"]
53
54
  sbom_format: ["spdx", "cyclonedx"]
55
+ pre_deploy_attestation:
56
+ type: attestation_verification
57
+ tools: ["cosign", "sha256sum", "slsa-verifier"]
58
+ scope: "packaged release artifact (archive / container image)"
59
+ block_on: ["signature verification failure", "checksum mismatch", "missing SLSA provenance"]
60
+ warn_on: ["SLSA level below target (>= L2 recommended for public release)"]
61
+ consumes: supply-chain-attestation
62
+ note: "Runs after package_stage, before deploy — closes the generate-but-never-verify gap"
54
63
 
55
64
  bypass_policy:
56
65
  allowed: false
@@ -66,6 +75,7 @@ failure_behavior:
66
75
  integration_points:
67
76
  secrets_vault: "Integrate with HashiCorp Vault or AWS Secrets Manager for secrets injection"
68
77
  sbom_registry: "Upload SBOM to dependency-track or grype-db for continuous monitoring"
78
+ artifact_signing: "Verify SBOM/provenance signatures and checksum with cosign before release (see supply-chain-attestation)"
69
79
  incident_response: "Critical findings automatically create incident tickets"
70
80
 
71
81
  physical_spec:
@@ -1,5 +1,5 @@
1
1
  id: privacy-standards
2
2
  meta:
3
- version: "1.0.0"
4
- updated: "2026-04-01"
3
+ version: "1.1.0"
4
+ updated: "2026-06-18"
5
5
  source: core/privacy-standards.md
@@ -12,8 +12,8 @@ standard:
12
12
  - "Use identified paths and specific names (unlike Developer Memory)"
13
13
 
14
14
  meta:
15
- version: "1.0.0"
16
- updated: "2026-02-09"
15
+ version: "1.2.0"
16
+ updated: "2026-06-18"
17
17
  source: core/project-context-memory.md
18
18
  description: System for capturing, retrieving, and enforcing project-specific context, architectural decisions, and domain knowledge
19
19
 
@@ -1,7 +1,7 @@
1
1
  id: push-standards
2
2
  meta:
3
- version: "1.0.0"
4
- updated: "2026-04-23"
3
+ version: "1.1.0"
4
+ updated: "2026-07-09"
5
5
  source: skills/push/SKILL.md
6
6
  description: "Git push safety gates, protected branch detection, force-push guardrails, and push receipt audit trail"
7
7
 
@@ -14,6 +14,14 @@ config:
14
14
  default: ["lint", "test"]
15
15
  optional: ["ac-coverage", "type-check", "security-scan"]
16
16
  description: "Quality gates to run before pushing"
17
+ test_scope:
18
+ default: "full"
19
+ choices: ["full", "changed"]
20
+ description: >-
21
+ "changed" runs only the diff-affected test subset via the project's
22
+ test impact analysis tooling (e.g. `vitest --changed`), if configured.
23
+ Fast local pre-check only — never a substitute for the project's own
24
+ CI/full-suite run, which remains the authoritative gate.
17
25
 
18
26
  receipt:
19
27
  output:
@@ -58,7 +66,10 @@ rules:
58
66
  instruction: |
59
67
  Run all configured push_gates in sequence:
60
68
  - lint: run project lint command (from uds.project.yaml or detected)
61
- - test: run project test command
69
+ - test: run project test command, respecting config.push_gates.test_scope —
70
+ "full" (default) runs the complete suite; "changed" runs only the
71
+ diff-affected subset via the project's test impact tooling if configured.
72
+ A "changed" pre-check does not replace the project's CI/full-suite run.
62
73
  If any gate fails: abort push, display which gate failed, suggest fix.
63
74
  If --skip-gates flag: run push without gates, mark gates_skipped: true in receipt.
64
75
 
@@ -3,8 +3,8 @@
3
3
 
4
4
  id: refactoring-standards
5
5
  meta:
6
- version: "2.0.0"
7
- updated: "2026-01-21"
6
+ version: "2.2.0"
7
+ updated: "2026-07-01"
8
8
  source: core/refactoring-standards.md
9
9
  guide: core/guides/refactoring-guide.md
10
10
  description: Refactoring guidelines with tactical, strategic, and safety strategies including decision matrix
@@ -292,9 +292,14 @@ metrics:
292
292
  - metric: Coupling
293
293
  measurement: Module dependencies count
294
294
  target: Reduce dependencies
295
- - metric: Code Duplication
295
+ - metric: Code Duplication (textual)
296
296
  measurement: Duplicate percentage
297
297
  target: "< 3%"
298
+ note: Detects textual duplication only; cannot detect semantic duplication (see semantic_duplication)
299
+ - metric: Semantic Duplication
300
+ measurement: Golden / architecture test
301
+ target: 0 unmanaged domain facts
302
+ note: Static analysis cannot detect the same domain fact re-implemented across call sites
298
303
 
299
304
  test_quality:
300
305
  - metric: Test Coverage
@@ -314,6 +319,40 @@ metrics:
314
319
  source: Rollback count
315
320
  expected: Should decrease
316
321
 
322
+ # Semantic Duplication & Copy-Drift (issue #142)
323
+ semantic_duplication:
324
+ anti_pattern:
325
+ id: copy-drift
326
+ name: Copy-Drift
327
+ definition: Same domain fact implemented in multiple places, OR a derived value persisted without an enforced binding to its source, so the copies drift apart independently
328
+ why_undetected: Copies are not byte-identical (paraphrased logic, formula right in one place and wrong in another), so textual-duplication metrics report nothing
329
+ symptoms:
330
+ - List view disagrees with detail view
331
+ - Stored counter double-counts because one update path's decrement/rollback branch was skipped or commented out
332
+ - Same formula gives different answers in different modules
333
+ - Scope over-reach where one path adjusts an aggregate others also touch
334
+
335
+ pattern:
336
+ id: single-source-of-truth
337
+ name: Single Source of Truth / Derive-Don't-Duplicate
338
+ rules:
339
+ - one_unit_per_fact: Extract each domain fact into a single classifier/calculator/resolver; every call site calls it, no re-implementations or paraphrases
340
+ - derive_dont_store: Prefer computing on read over persisting a second copy; a value always derived cannot drift
341
+ - aggregate_as_projection: If an aggregate must be stored, treat it as a projection of its detail rows and recompute it at a single choke point (e.g. SaveChanges interceptor or one shared recompute() function) so every write path (incl. async jobs and failure write-backs) stays consistent
342
+ - never_incremental_adjust: Never let an individual path apply incremental "col = col + delta" to a stored aggregate; that is how decrement/rollback branches get skipped and counters diverge
343
+ - lock_with_tests: Use a golden test to pin the single source of truth, and an architecture test that fails if the rule is redefined anywhere else
344
+
345
+ intentional_divergence_registry:
346
+ when: New system intentionally diverges from legacy behavior (e.g. legacy function returns X but legacy pipeline reconciles it to Y; the port folds that reconciliation into the single unit so it returns Y directly)
347
+ actions:
348
+ - Register each intentional divergence (legacy behavior, new behavior, rationale, owning fact)
349
+ - Pin the new behavior with a golden test so a future "correction" back to legacy fails the build
350
+ - Feed the registry into any differential test against legacy so the divergence is treated as expected, not a regression
351
+
352
+ adopter_notes:
353
+ - Per-function legacy-vs-new diffing produces candidates, not verdicts; adjudicate each against the ENTIRE legacy pipeline (which may already reconcile the difference downstream) before calling it a bug
354
+ - Extract legacy function bodies programmatically / token-based (not by hand) to avoid reintroducing transcription errors
355
+
317
356
  # Team Collaboration
318
357
  team_collaboration:
319
358
  pr_size_limits:
@@ -456,8 +495,34 @@ rules:
456
495
  instruction: Keep PRs under 200 lines; split larger refactorings
457
496
  priority: recommended
458
497
 
498
+ - id: single-source-of-truth
499
+ trigger: same domain fact (classification, rule, calculation) needed at multiple call sites
500
+ instruction: Extract one shared classifier/calculator/resolver and call it everywhere; never re-implement or paraphrase the fact
501
+ priority: required
502
+
503
+ - id: derive-dont-duplicate
504
+ trigger: a derived value (aggregate, counter, denormalized field) is being persisted
505
+ instruction: Prefer deriving on read; if it must be stored, recompute it as a projection at a single choke point and never apply incremental col = col + delta adjustments per write path
506
+ priority: required
507
+
508
+ - id: lock-single-source-with-tests
509
+ trigger: after establishing a single source of truth for a domain fact
510
+ instruction: Add a golden test to pin it and an architecture test that fails if the rule is redefined elsewhere
511
+ priority: recommended
512
+
513
+ - id: register-intentional-divergence
514
+ trigger: new system intentionally diverges from legacy behavior during a port/migration
515
+ instruction: Record it in an intentional-divergence registry, pin with a golden test, and feed differential tests so it is treated as expected not a regression
516
+ priority: required
517
+
518
+ - id: adjudicate-diff-against-pipeline
519
+ trigger: reviewing per-function legacy-vs-new diffs
520
+ instruction: Treat diffs as candidates only; adjudicate each against the entire legacy pipeline before calling it a bug, and extract legacy bodies programmatically to avoid transcription errors
521
+ priority: recommended
522
+
459
523
  related_standards:
460
524
  - test-driven-development.md
461
525
  - testing-standards.md
526
+ - test-governance.md
462
527
  - code-review-checklist.md
463
528
  - checkin-standards.md