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,97 @@
1
+ # Infrastructure as Code Design Principles
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/iac-design-principles.ai.yaml`
5
+ > **Spec**: XSPEC-065 (cross-project/specs/XSPEC-065-uds-infrastructure-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines the four foundational principles for Infrastructure as Code
12
+ (IaC) authoring: **reproducible, immutable, idempotent, and versioned**. It covers
13
+ state management requirements (remote state with locking), drift detection
14
+ categories, and CI/CD integration. It is designed to ensure infrastructure
15
+ changes are traceable, reversible, and safe to apply repeatedly without unintended
16
+ side effects.
17
+
18
+ It is part of the **IaC pack** (XSPEC-065) and is the tool-agnostic foundation
19
+ that `container-image-standards` and `secret-management-standards` build on
20
+ (images and secret backends are themselves versioned, reproducible
21
+ infrastructure).
22
+
23
+ > **Scope.** This standard defines the *authoring principles*, *state-management*
24
+ > rules, and the *drift-handling taxonomy*. The specific IaC tool (Terraform /
25
+ > Pulumi / CloudFormation) and backend are adoption choices, not part of this
26
+ > standard.
27
+
28
+ ## Requirements
29
+
30
+ | ID | Rule | Level |
31
+ |----|------|-------|
32
+ | REQ-001 | IaC four principles (reproducible, immutable, idempotent, versioned) | MUST |
33
+ | REQ-002 | State management (remote backend, locking, encryption, no local state in VCS) | MUST |
34
+ | REQ-003 | Drift detection (plan on PR; three-category classification) | MUST |
35
+
36
+ ### REQ-001 — IaC Four Principles
37
+
38
+ All infrastructure definitions MUST adhere to four foundational principles:
39
+ (1) **Reproducible** — given the same inputs and state, applying IaC produces
40
+ identical infrastructure; (2) **Immutable** — infrastructure changes are applied
41
+ by replacing resources, not mutating them in-place; blue/green or rolling
42
+ replacement patterns are preferred over in-place mutations; (3) **Idempotent** —
43
+ applying the same IaC configuration multiple times produces the same result
44
+ without error or unintended side effects; (4) **Versioned** — all IaC definitions
45
+ are stored in version control with meaningful commit messages; no infrastructure
46
+ change is made outside the VCS workflow.
47
+
48
+ ### REQ-002 — State Management
49
+
50
+ IaC state MUST be stored in a remote backend with locking enabled to prevent
51
+ concurrent modifications. Local state files MUST NOT be committed to version
52
+ control or used in CI/CD pipelines. Recommended backends: Terraform Cloud /
53
+ S3+DynamoDB (Terraform), Pulumi Service / S3 (Pulumi), CloudFormation native
54
+ stack state. State access MUST be restricted to authorized principals via IAM or
55
+ equivalent. State encryption at rest is REQUIRED.
56
+
57
+ ### REQ-003 — Drift Detection
58
+
59
+ Teams MUST run `plan` (or equivalent) in CI on every pull request to detect
60
+ configuration drift. Drift outcomes MUST be classified into one of three
61
+ categories and handled accordingly: (1) **rollback-to-code** — actual infra
62
+ deviates from code due to a manual change; revert actual to match code on next
63
+ apply; (2) **update-code-from-actual** — actual reflects an intentional change not
64
+ yet codified; update IaC to match, then apply; (3) **manual-reconcile** — drift
65
+ requires human judgment (e.g., data volume changes); escalate to the infra owner
66
+ with a documented decision. Drift reports SHOULD be published to a team channel on
67
+ a scheduled cadence (e.g., daily).
68
+
69
+ ## Anti-Patterns
70
+
71
+ - Committing local state files (`terraform.tfstate`) to version control.
72
+ - Applying mutable in-place changes (e.g., sed-patching running VMs) instead of replacing resources.
73
+ - Making manual console changes without updating the corresponding IaC definition.
74
+ - Using no remote locking, allowing concurrent applies that corrupt state.
75
+ - Pinning to `latest` provider or module versions, breaking reproducibility.
76
+
77
+ ## Integration with Existing Standards
78
+
79
+ - **`container-image-standards`** — container images are versioned, reproducible
80
+ artifacts produced under the same principles.
81
+ - **`secret-management-standards`** — secret backends (Vault/KMS) are managed as
82
+ access-controlled infrastructure with remote state.
83
+ - **`deployment-standards` / `cd-deployment-strategies`** — immutable replacement
84
+ (REQ-001) underpins blue/green and rolling deployment patterns.
85
+ - **`no-cicd-deployment`** — even without a CI/CD platform, the four principles and
86
+ state-management rules still apply to scripted infrastructure changes.
87
+
88
+ ## Related Specs
89
+
90
+ - XSPEC-065 — UDS infrastructure (IaC) pack (this standard's source)
91
+ - DEC-043 — UDS coverage completeness roadmap (Wave 4 scope)
92
+
93
+ ## Changelog
94
+
95
+ | Version | Date | Changes |
96
+ |---------|------|---------|
97
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~003: IaC four principles, state management, drift detection (XSPEC-065) |
@@ -0,0 +1,119 @@
1
+ # Incident Response Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/incident-response.ai.yaml`
5
+ > **Spec**: XSPEC-063 (cross-project/specs/XSPEC-063-uds-sre-standards-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines the end-to-end **incident response lifecycle**: severity
12
+ classification, response-time SLAs, roles and responsibilities, communication
13
+ protocols, escalation paths, and blameless postmortem requirements. It is
14
+ designed to reduce MTTR, ensure consistent stakeholder communication during
15
+ incidents, and drive systemic reliability improvements through structured
16
+ postmortems.
17
+
18
+ It is part of the **SRE/operations pack** (XSPEC-063) and is the incident-handling
19
+ member alongside `slo-sli` (error-budget triggers) and `runbook` (executable
20
+ recovery steps). It composes with `virtual-organization-standards` — a SEV-1
21
+ incident spins up the incident virtual organization (IC, Communications Lead,
22
+ Operations Lead) — and feeds the proactive reliability ownership described in
23
+ XSPEC-251 (Operator).
24
+
25
+ > **Scope.** This standard defines *how incidents are classified, coordinated,
26
+ > communicated, and learned from*. The paging tool (PagerDuty, Opsgenie), the
27
+ > status-page product, and the ticketing system are adoption choices, not part of
28
+ > this standard.
29
+
30
+ ## Requirements
31
+
32
+ | ID | Rule | Level |
33
+ |----|------|-------|
34
+ | REQ-001 | Severity classification (4-level SEV scale with response SLAs) | MUST |
35
+ | REQ-002 | Incident Commander role (assigned within 10 min for SEV-1/2) | MUST |
36
+ | REQ-003 | Stakeholder communication protocol (defined cadence + status page) | MUST |
37
+ | REQ-004 | Blameless postmortem requirements (5 Whys, action items tracked) | MUST |
38
+ | REQ-005 | On-call rotation and handoff (≥2 engineers, written handoff) | MUST |
39
+ | REQ-006 | Incident retrospective metrics (MTTD/MTTR reviewed monthly) | SHOULD |
40
+
41
+ ### REQ-001 — Severity Classification
42
+
43
+ Every incident MUST be classified at declaration using a 4-level severity scale.
44
+ **SEV-1** (Critical): complete service outage or data breach affecting all users,
45
+ response within 15 minutes, C-suite notification. **SEV-2** (High): major feature
46
+ unavailable or significant performance degradation affecting >25% of users,
47
+ response within 30 minutes. **SEV-3** (Medium): minor feature unavailable or
48
+ degradation affecting <25% of users, response within 4 hours. **SEV-4** (Low):
49
+ cosmetic issue or very minor impact, response within 24 hours.
50
+
51
+ ### REQ-002 — Incident Commander Role
52
+
53
+ Every SEV-1 and SEV-2 incident MUST have a designated Incident Commander (IC)
54
+ assigned within 10 minutes of declaration. The IC is responsible for coordinating
55
+ the response bridge, assigning roles (scribe, comms lead, technical leads),
56
+ driving the timeline, making go/no-go decisions on fixes, and initiating the
57
+ postmortem. The IC does NOT directly troubleshoot — their sole focus is
58
+ coordination.
59
+
60
+ ### REQ-003 — Stakeholder Communication Protocol
61
+
62
+ During SEV-1/SEV-2 incidents, stakeholder updates MUST be sent on a defined
63
+ cadence: initial notification within 15 minutes of declaration, updates every
64
+ 30 minutes until resolution, and an immediate update on any severity change or
65
+ major development. Updates MUST include current status, known impact, what is
66
+ being done, and the next update time. The status page MUST be updated
67
+ simultaneously with internal communications.
68
+
69
+ ### REQ-004 — Blameless Postmortem Requirements
70
+
71
+ Every SEV-1 incident MUST have a blameless postmortem completed within 5 business
72
+ days; SEV-2 incidents within 10 business days. Postmortems MUST be blameless —
73
+ focusing on systemic causes, not individual mistakes. Required sections: timeline,
74
+ impact, root cause (5 Whys), contributing factors, action items with owners and
75
+ due dates, and lessons learned. Action items MUST be tracked to completion.
76
+
77
+ ### REQ-005 — On-Call Rotation and Handoff
78
+
79
+ Every production service MUST have a documented on-call rotation with at least 2
80
+ engineers. Rotation schedules MUST be published at least 2 weeks in advance.
81
+ On-call handoff MUST include a written summary of active incidents, recent
82
+ incidents still under investigation, known flaky alerts, upcoming planned
83
+ maintenance, and any service-health concerns. Handoff MUST be acknowledged by the
84
+ incoming on-call.
85
+
86
+ ### REQ-006 — Incident Retrospective Metrics
87
+
88
+ Teams SHOULD track and review incident metrics monthly: MTTD (Mean Time To
89
+ Detect), MTTR (Mean Time To Resolve), incident frequency by severity, repeat
90
+ incidents (same root cause within 90 days), and postmortem action-item completion
91
+ rate. These metrics SHOULD be reviewed in monthly reliability reviews with
92
+ engineering leadership.
93
+
94
+ ## Integration with Existing Standards
95
+
96
+ - **`runbook`** — the IC and on-call engineers execute typed runbooks during the
97
+ mitigate phase; SEV runbooks are drilled per the `runbook` cadence.
98
+ - **`slo-sli`** — error-budget burn often triggers incident declaration; SLO
99
+ impact is summarized in the postmortem.
100
+ - **`postmortem-standards`** — REQ-004 aligns with the blameless postmortem
101
+ template; this standard sets the trigger and timelines.
102
+ - **`virtual-organization-standards`** — SEV-1 incidents instantiate the incident
103
+ virtual organization (IC, Communications Lead, Operations Lead).
104
+ - **`alerting-standards`** — alerts initiate detection and severity assessment.
105
+ - **`execution-history`** — automated mitigation actions are recorded as execution
106
+ history.
107
+
108
+ ## Related Specs
109
+
110
+ - XSPEC-063 — UDS SRE/operations pack (this standard's source)
111
+ - XSPEC-251 — Operator proactive reliability (proactive ownership upstream of incidents)
112
+ - DEC-041 — EU AI Act 2026 compliance (auditability requires postmortems)
113
+ - DEC-042 — Guardian / Governance Agent pattern (agent-driven runbook execution)
114
+
115
+ ## Changelog
116
+
117
+ | Version | Date | Changes |
118
+ |---------|------|---------|
119
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~006: severity classification, incident commander, communication protocol, blameless postmortem, on-call rotation/handoff, retrospective metrics (XSPEC-063) |
@@ -4,6 +4,8 @@
4
4
  > **AI-optimized version**: `ai/standards/license-compliance.ai.yaml`
5
5
  > **Agent Spec**: ASPEC-001 (cross-project/aspec/ASPEC-001-license-compliance-agent.md)
6
6
 
7
+ **Scope**: universal
8
+
7
9
  ## Overview
8
10
 
9
11
  Comprehensive license compliance for AI-augmented development, covering both general OSS practice (Tier 1) and AI-specific rules for AI-generated code (Tier 2).
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/logging-standards.md)
4
4
 
5
- **Version**: 1.3.0
6
- **Last Updated**: 2026-05-26
5
+ **Version**: 1.4.0
6
+ **Last Updated**: 2026-06-17
7
7
  **Applicability**: All software projects
8
8
  **Scope**: universal
9
9
  **Industry Standards**: RFC 5424, OpenTelemetry, W3C Trace Context
@@ -15,6 +15,81 @@
15
15
 
16
16
  This document defines logging standards for consistent, structured, and actionable application logs across all environments.
17
17
 
18
+ ## Mandatory Events
19
+
20
+ > **Closes** UDS issue [#108](https://github.com/AsiaOstrich/universal-dev-standards/issues/108) (XSPEC-234). The rest of this standard defines **how** to write a log entry (level / fields / PII mask / rotation). This section defines **when you MUST write one** — excluding "compliant on paper but materially silent" logging.
21
+
22
+ Logging that follows every formatting rule but **never fires at the moment that matters** is worse than useless: it gives false confidence during an incident. The events below are the canonical moments where a log entry is **mandatory**. Each declares `when` / `must_log` / `must_NOT_log` / `level` / `rationale`.
23
+
24
+ ### Why this exists (real incidents)
25
+
26
+ A PHP→.NET migration burned 2 days diagnosing "send failed, no log", because **four layers were all silent**:
27
+
28
+ 1. **Load-balancer marks backend DOWN** (503) on health-probe timeout — backend logged only probe noise, zero business events.
29
+ 2. **Framework validation reject** (e.g. ModelState / DTO 501) — the rejecting framework returned before any handler ran, so the **payload was never logged**.
30
+ 3. **Auth failure** logged only "Account or password error" — **no uid, no source IP** → un-investigable.
31
+ 4. **Background worker alive but log file 0 bytes** — no mechanism detected the silence.
32
+
33
+ None of these were caught by the formatting rules alone. Mandatory events close that gap.
34
+
35
+ ### Catalog (9 canonical events)
36
+
37
+ | id | when | level | Core required fields (`must_log`) | `must_NOT_log` |
38
+ |----|------|-------|-----------------------------------|----------------|
39
+ | `application_startup` | After process boot, **before** accepting requests | INFO | app_name, version, git_sha, environment, hostname, pid, listening_endpoints | secrets, full connection strings |
40
+ | `request_received` | First time HTTP middleware sees a request | INFO / DEBUG | method, path, source_ip, request_id | request body, auth headers |
41
+ | `validation_failure` | schema / ModelState / DTO validation rejects | WARN | request_id, path, missing_fields[], payload_shape (keys only) | field **values**, PII |
42
+ | `authentication_failure` | login / token verification fails | WARN | uid (attempted), source_ip, failure_reason | password, token value |
43
+ | `outbound_call_start` | An outbound HTTP/RPC call is initiated | INFO | target_url (host+path), request_id propagated, timeout_ms | credentials, bearer tokens |
44
+ | `outbound_call_complete` | An external call returns or fails | INFO / WARN / ERROR | status_code **or** failure_phase (dns/tcp/tls/http), elapsed_ms, retries | response body with PII |
45
+ | `business_event` | A state-changing business operation completes | INFO | operation_name, actor, target ids, outcome | full record payload, PII |
46
+ | `heartbeat` | Long-running background service, ≥ 1× / 60 s | INFO | service_name, queue_depth, items_processed_since_last_heartbeat | — |
47
+ | `shutdown` | Process exits (graceful or fatal) | INFO / ERROR | app_name, signal/reason, uptime_seconds, pending_work_count | — |
48
+
49
+ Each event's `rationale` ties back to a real failure mode: `validation_failure` ⇒ incident #2 (un-logged payload); `authentication_failure` field requirements ⇒ incident #3 (no uid/IP); `heartbeat` + silence detection ⇒ incident #4 (0-byte log); `application_startup`/`shutdown` ⇒ lifecycle blind spots; `outbound_call_*` ⇒ "send failed" with no trace of the call.
50
+
51
+ ### Scenarios
52
+
53
+ #### Scenario: Validation failure must produce a log
54
+
55
+ - **GIVEN** an API endpoint receives a payload missing a `[Required]` field
56
+ - **WHEN** the framework auto-rejects (e.g. 400/501) before the handler runs
57
+ - **THEN** a WARN log MUST be written with `request_id`, `path`, `missing_fields[]`, `payload_shape` (keys only)
58
+ - **AND** a post-mortem can reconstruct the failure cause directly from the log
59
+
60
+ #### Scenario: Background service must heartbeat
61
+
62
+ - **GIVEN** a worker process is running
63
+ - **WHEN** no INFO/WARN/ERROR is written within 60 s
64
+ - **THEN** a `heartbeat` log MUST be written with current queue depth and items processed
65
+ - **AND** if no heartbeat appears for ≥ 2× the interval (≥ 120 s), the silence detector MUST alert
66
+
67
+ ### Compliant startup log example
68
+
69
+ ```json
70
+ {
71
+ "timestamp": "2026-06-17T08:00:00.000Z",
72
+ "level": "INFO",
73
+ "message": "application_startup",
74
+ "event": "application_startup",
75
+ "app_name": "payment-service",
76
+ "version": "2.3.1",
77
+ "git_sha": "a1b2c3d",
78
+ "environment": "production",
79
+ "hostname": "pod-abc123",
80
+ "pid": 4711,
81
+ "listening_endpoints": ["0.0.0.0:8080", "0.0.0.0:9090/metrics"]
82
+ }
83
+ ```
84
+
85
+ ### Follow-on rules
86
+
87
+ 1. **Access-log separation** — health-probe / liveness traffic MUST NOT pollute the business-event log. Route probes to a separate sink/file so they cannot drown out or rotate away business events (see incident #1).
88
+ 2. **Log-silence detection SLA** — a service SHOULD alert after N minutes with no events, with N ≤ 2× the `heartbeat` interval. Absence of expected logs is itself an alertable condition (see the "Absence of Expected Logs" alert pattern below).
89
+ 3. **OPS-facing log discoverability** — error responses returned to the client SHOULD carry the `request_id`, so support can correlate a user-reported failure to backend logs without round-trips for log access.
90
+
91
+ > **Cross-ref**: `heartbeat` / silence detection complement the [Log File Rotation Policy](#log-file-rotation-policy) (a 0-byte / silently-dropping log is the same blind spot from two directions) and migration-assistant's Background Job / Side-Effect Completeness (these events are the observable "has-fired" evidence).
92
+
18
93
  ## Log Levels
19
94
 
20
95
  ### Standard Log Levels
@@ -754,6 +829,7 @@ App cannot continue? → FATAL
754
829
 
755
830
  | Version | Date | Changes |
756
831
  |---------|------|---------|
832
+ | 1.4.0 | 2026-06-17 | Added: Mandatory Events catalog — 9 canonical "when you MUST log" events (when/must_log/must_NOT_log/level/rationale), validation-failure + heartbeat scenarios, compliant startup example, follow-on rules (access-log separation, silence-detection SLA, request_id discoverability) (XSPEC-234 / closes issue #108) |
757
833
  | 1.3.0 | 2026-05-26 | Added: Log File Rotation Policy — mandatory dual-trigger (time + size) rotation with hostile-default warning, recipes for .NET/Python/Java/Node, ops SOP (XSPEC-232 / closes issue #111) |
758
834
  | 1.2.0 | 2026-01-24 | Added: OpenTelemetry Semantic Conventions, Observability Three Pillars Integration, Log-based Alerting, Advanced Correlation Patterns |
759
835
  | 1.1.0 | 2026-01-05 | Added: References section with OWASP, RFC 5424, OpenTelemetry, and 12 Factor App |
@@ -1,7 +1,7 @@
1
1
  # Mock Boundary Standards
2
2
 
3
- **Version**: 1.0.0
4
- **Last Updated**: 2026-05-04
3
+ **Version**: 1.1.0
4
+ **Last Updated**: 2026-07-01
5
5
  **Applicability**: All software projects with unit and integration tests
6
6
  **Scope**: universal
7
7
  **Industry Standards**: ISTQB Foundation (Test Doubles), xUnit Patterns (Gerard Meszaros)
@@ -46,6 +46,7 @@ vi.mock('node:fs/promises', ...) // I/O replaced
46
46
  | Environment variables | `process.env.NODE_ENV`, `process.env.LICENSE_KEY` | Enables config variation |
47
47
  | File system (unit tests only) | `fs.readFile`, `fs.writeFile` | Avoids I/O in fast unit tests |
48
48
  | Cross-module boundaries (with IT counterpart) | Other modules' public APIs | Isolates unit under test |
49
+ | In-process background execution (via injectable runner) | `Task.Run`, unawaited promises, `setTimeout`, goroutines, thread-pool dispatch | Injecting a runner seam lets tests await deterministic completion, eliminating the race |
49
50
 
50
51
  ---
51
52
 
@@ -60,6 +61,46 @@ vi.mock('node:fs/promises', ...) // I/O replaced
60
61
 
61
62
  ---
62
63
 
64
+ ## Injectable Background Execution
65
+
66
+ Fire-and-forget background work (a `Task.Run`, an unawaited promise, a `setTimeout`, a goroutine, a `java.util.concurrent` executor submission, or `asyncio.create_task`) is a **seam**, exactly like the system clock. Just as you inject a clock instead of reading wall-clock time, you inject the background dispatcher instead of spawning work directly. This lets a test drive the work to a **deterministic, awaited completion** and assert on its outcome (success, exception, or retry) — no polling, no sleeping, no race.
67
+
68
+ Abstract the dispatch behind a small interface (e.g. `IBackgroundTaskRunner` / `BackgroundDispatcher`), then provide two implementations:
69
+
70
+ - **Production**: preserves true fire-and-forget semantics — dispatch returns immediately and the work runs detached.
71
+ - **Test**: runs the work **inline** and **tracks the underlying Task/promise**, exposing a handle the test can `await` so completion (and any failure) is observable.
72
+
73
+ Language-neutral sketch (TypeScript pseudo-code):
74
+
75
+ ```typescript
76
+ // Seam — injected wherever background work is dispatched
77
+ interface BackgroundDispatcher {
78
+ dispatch(work: () => Promise<void>): void
79
+ }
80
+
81
+ // Production: real fire-and-forget — returns immediately, work runs detached
82
+ class FireAndForgetDispatcher implements BackgroundDispatcher {
83
+ dispatch(work: () => Promise<void>): void {
84
+ void work() // intentionally not awaited
85
+ }
86
+ }
87
+
88
+ // Test: inline execution + tracked tasks so tests can await completion
89
+ class DeterministicDispatcher implements BackgroundDispatcher {
90
+ private readonly tasks: Promise<void>[] = []
91
+ dispatch(work: () => Promise<void>): void {
92
+ this.tasks.push(work()) // start inline, keep the handle
93
+ }
94
+ async settle(): Promise<void> {
95
+ await Promise.all(this.tasks) // test awaits deterministic completion
96
+ }
97
+ }
98
+ ```
99
+
100
+ The test injects `DeterministicDispatcher`, exercises the code under test, then `await dispatcher.settle()` before asserting on the result — the background side effect is now fully observable and deterministic.
101
+
102
+ ---
103
+
63
104
  ## Hollow Test Detection
64
105
 
65
106
  Before submitting a test file, check:
@@ -78,6 +119,7 @@ Before submitting a test file, check:
78
119
  - **Orphan Mock**: Cross-module mock with no integration test counterpart
79
120
  - **Security Bypass Mock**: Auth/permission logic replaced with pass-through stub
80
121
  - **Database Mock Cascade**: DB returns hardcoded data, hiding real query errors
122
+ - **Poll/Sleep for Background Result**: Sleeping or polling to wait for fire-and-forget work to finish. The race is still there — the timeout merely hides it most of the time while slowing the whole suite and, on a shared runner, leaking flakiness into other MRs' CI. Inject a deterministic runner and await the tracked task instead.
81
123
 
82
124
  ---
83
125
 
@@ -90,6 +132,7 @@ Before submitting a test file, check:
90
132
  | IT counterpart | Mocking cross-module boundary | Ensure corresponding IT exists |
91
133
  | No security mock | Test involves auth/permissions | Use real test user + real token |
92
134
  | Hollow review | Mock count ≥ import count | Add output-value assertion |
135
+ | No poll/sleep for background work | Test asserts a fire-and-forget side effect | Inject deterministic runner; await the tracked task |
93
136
 
94
137
  ---
95
138
 
@@ -98,3 +141,12 @@ Before submitting a test file, check:
98
141
  - **testing**: Mock boundary rules apply to all test levels in the testing pyramid
99
142
  - **test-completeness-dimensions**: Dimension 8 (AI Test Quality) references these rules
100
143
  - **flow-based-testing**: Flow tests must follow mock boundary rules
144
+
145
+ ---
146
+
147
+ ## Version History
148
+
149
+ | Version | Date | Change |
150
+ |---------|------|--------|
151
+ | 1.0.0 | 2026-05-04 | Initial standard: hollow test problem, CAN/CANNOT mock tables, detection, anti-patterns, rules summary |
152
+ | 1.1.0 | 2026-07-01 | Added injectable background execution as a seam (parallel to clock injection): CAN-mock row, `Injectable Background Execution` section, `Poll/Sleep for Background Result` anti-pattern, and no-poll/sleep rule (issue #143) |
@@ -0,0 +1,181 @@
1
+ # Model Provenance Policy Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/model-provenance.ai.yaml`
5
+ > **Spec**: XSPEC-255 (cross-project/specs/XSPEC-255-model-provenance-policy.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ Model selection is not only "cost × quality" — there is a **third axis: whether the
12
+ model's *source* is acceptable to the customer** (geopolitics / data sovereignty /
13
+ regulation). A regulated or geopolitically sensitive buyer (e.g. a Taiwanese
14
+ finance/government customer) may be unable to use models from a given jurisdiction;
15
+ the strictest will reject even **locally-run open weights** of that origin. This
16
+ standard makes the **model's provenance a first-class, enforced, auditable property**:
17
+ declare an acceptable-source policy, **block** non-compliant model choices fail-closed,
18
+ and emit auditable evidence ("this delivery used no models of the denied origin").
19
+
20
+ It is the **provenance (source)** member of the governance-gate family — alongside
21
+ `license-compliance` (XSPEC-193, *licensing*) and `verification-oracle` (XSPEC-256,
22
+ *correctness*) — which all share the same shape: **registry/check → fail-closed gate →
23
+ audit evidence → human-escalation ceiling**. The three are profiles of one mechanism
24
+ over three axes: **licensing / provenance / correctness**.
25
+
26
+ > **Scope.** This standard defines the *provenance mechanism* (origin registry, policy
27
+ > schema, fail-closed enforcement at model-selection points, audit evidence, ceiling).
28
+ > The **policy content (the concrete allow/deny lists) belongs to the customer or a
29
+ > compliance pack** — it is their domain decision (DEC-075 neutral mechanism / DEC-063
30
+ > customer-owned compliance posture). Enforcement engine wiring (e.g. a VibeOps provider
31
+ > abstraction / router gate) is a downstream adoption concern, not part of this standard.
32
+
33
+ ## Requirements
34
+
35
+ | ID | Rule | Level |
36
+ |----|------|-------|
37
+ | REQ-001 | Model Origin Registry as a first-class artifact (model → vendor → jurisdiction/origin class) | MUST |
38
+ | REQ-002 | Provenance Policy schema (allow/deny origins, local-weights distinction, mode, unknown-origin) | MUST |
39
+ | REQ-003 | Fail-closed enforcement at every model-selection point | MUST |
40
+ | REQ-004 | Auditable provenance evidence (model + origin per generation; compliance report) | MUST |
41
+ | REQ-005 | Reference policy pack(s) demonstrating the mechanism (content owned by customer/pack) | SHOULD |
42
+ | REQ-006 | Unknown-origin model → fail-closed block/escalate (no silent pass) | MUST |
43
+ | REQ-007 | Provenance policy content sovereignty — mechanism neutral, policy owned by customer | SHOULD |
44
+
45
+ ### REQ-001 — Model Origin Registry
46
+
47
+ Each known model MUST be classified by **vendor → jurisdiction → origin class**. Like the
48
+ `license-compliance` license DB, the registry is maintainable and extensible by the
49
+ ecosystem/customer. At minimum the origin classes distinguish western-frontier,
50
+ western-open, and other-origin so a policy can be expressed against them. Example:
51
+
52
+ | Model | Vendor | Jurisdiction | Origin class |
53
+ |-------|--------|--------------|--------------|
54
+ | Claude | Anthropic | US | western-frontier |
55
+ | GPT / o-series | OpenAI | US | western-frontier |
56
+ | Gemini | Google | US | western-frontier |
57
+ | Llama | Meta | US | western-open |
58
+ | Mistral | Mistral | EU | western-open |
59
+ | Gemma | Google | US | western-open |
60
+ | DeepSeek | DeepSeek | CN | china-origin |
61
+ | MiniMax | MiniMax | CN | china-origin |
62
+ | Qwen | Alibaba | CN | china-origin |
63
+
64
+ ### REQ-002 — Provenance Policy Schema
65
+
66
+ A per-project/per-customer policy MUST be expressible with at least: `allow_origins` /
67
+ `deny_origins` (by origin class), a **local-weights distinction** (a model accessed via a
68
+ foreign API — data egress — vs the same model's open weights run locally — data stays
69
+ local but the weights are foreign), an enforcement `mode` (`block` / `warn` /
70
+ `require_human`), and an `unknown_origin` behaviour that is **fail-closed** by default.
71
+
72
+ ```jsonc
73
+ {
74
+ "allow_origins": ["western-frontier", "western-open"],
75
+ "deny_origins": ["china-origin"],
76
+ "china_local_weights": "deny", // deny | allow_local_only — strict buyers deny even local foreign weights
77
+ "mode": "block", // block | warn | require_human
78
+ "unknown_origin": "block" // fail-closed
79
+ }
80
+ ```
81
+
82
+ ### REQ-003 — Fail-Closed Enforcement
83
+
84
+ At **every model-selection point** (per-agent config / routing decision / BYOK), the chosen
85
+ model's origin MUST be checked against the active policy. A violation MUST **block (or
86
+ escalate)** fail-closed — never silently pass (mirrors the `license-compliance` blocklist
87
+ and the `verification-oracle` non-reproduction block). Enforcement plugs in *before* routing
88
+ so a disallowed source is swapped for an acceptable model rather than used.
89
+
90
+ ### REQ-004 — Audit Evidence
91
+
92
+ Each generation MUST record the **model used + its origin class**, enabling a compliance
93
+ report such as *"this delivery used no models of the denied origin."* The evidence plugs
94
+ into the audit logger / hash chain, the `verification-oracle` correctness evidence
95
+ (XSPEC-256), and the telemetry allowlist (DEC-066). **This report is the outward proof of
96
+ the provenance/governance moat** and a compliance artifact for the customer.
97
+
98
+ ### REQ-005 — Reference Policy Pack(s)
99
+
100
+ The mechanism SHOULD ship a small number of **reference policy packs** that demonstrate it
101
+ (for example a pack that denies a given origin including local weights). The mechanism is
102
+ domain-neutral; the **concrete policy content is owned by the customer or a compliance
103
+ partner** (mirrors the reference-pack positioning of compliance domain packs).
104
+
105
+ ### REQ-006 — Unknown-Origin Fail-Closed
106
+
107
+ A model whose origin is **not in the registry** (unknown provenance) MUST NOT be silently
108
+ allowed. The system MUST treat unknown origin as a **fail-closed block or escalation**
109
+ (REQ-002 `unknown_origin`), consistent with the governance-gate "no silent pass" rule.
110
+
111
+ ### REQ-007 — Provenance Policy Content Sovereignty
112
+
113
+ The provenance *mechanism* is domain-neutral (DEC-075); the *policy content* (which origins
114
+ are acceptable) is owned by the customer (DEC-063). Adopters SHOULD keep policies
115
+ customer-scoped and isolated (see `license-compliance` / `verification-oracle` per-customer
116
+ patterns, DEC-064).
117
+
118
+ ## Principles
119
+
120
+ | ID | Principle |
121
+ |----|-----------|
122
+ | P-1 | Provenance is a Third Axis — model choice is cost × quality × *acceptable source* |
123
+ | P-2 | Registry First — every model carries vendor/jurisdiction/origin class before a policy can act |
124
+ | P-3 | Fail-Closed — a denied or unknown origin blocks or escalates; never silent pass |
125
+ | P-4 | Evidence-Based — every generation records model + origin; a compliance report is producible |
126
+ | P-5 | Human Ceiling — ambiguous/`require_human` provenance escalates to a human (DEC-076) |
127
+ | P-6 | Content Sovereignty — mechanism neutral, acceptable-source policy owned by the customer |
128
+
129
+ ## Gate Timing
130
+
131
+ ```
132
+ model-selection point (per-agent config / router / BYOK)
133
+
134
+ ├─→ [provenance policy check] ← REQ-003 fail-closed, pre-routing
135
+ │ │
136
+ │ denied / unknown ──→ block OR escalate to human ← REQ-006 / P-5 ceiling
137
+ │ │
138
+ │ allowed ──→ proceed; record model + origin ← REQ-004
139
+
140
+ provenance audit / compliance report ← REQ-004 (outward moat proof)
141
+ ```
142
+
143
+ ## Relationship to the Governance-Gate Family
144
+
145
+ | Profile | Standard | Axis | Registry/Check | Block trigger |
146
+ |---------|----------|------|----------------|---------------|
147
+ | Licensing | `license-compliance` (XSPEC-193) | legal | blocklist/allowlist/greylist | prohibited license |
148
+ | **Provenance** | **`model-provenance` (XSPEC-255)** | **source** | **model origin registry + policy** | **denied / unknown origin** |
149
+ | Correctness | `verification-oracle` (XSPEC-256) | correct | ground-truth registry | non-reproduction / drift |
150
+
151
+ All three: fail-closed + audit evidence + customer override telemetered + human-escalation ceiling.
152
+
153
+ ## Integration with Existing Standards
154
+
155
+ - **`license-compliance`** — sibling profile; the allowlist/denylist + fail-closed + audit +
156
+ override skeleton is shared (evaluate whether the two are one governance subsystem).
157
+ - **`verification-oracle`** — sibling profile; the provenance audit evidence sits alongside
158
+ the correctness evidence in the same audit/report artifact.
159
+ - **`model-selection`** — provenance is a *constraint* applied before the cost/quality
160
+ right-sizing of `model-selection`; an unacceptable source is removed from the candidate set.
161
+ - **`security-standards`** — data-egress concerns (foreign-API access) align with data
162
+ handling/security; local-weights distinction (REQ-002) is a data-sovereignty control.
163
+ - **`verification-evidence`** — the provenance report is a kind of verification evidence
164
+ (model + origin + no-denied-origin trace).
165
+
166
+ ## Related Specs
167
+
168
+ - XSPEC-255 — Model Provenance Policy complete spec (this standard's source)
169
+ - XSPEC-193 / XSPEC-256 — sibling governance-gate profiles (licensing / correctness)
170
+ - DEC-075 — VibeOps domain-neutral positioning (neutral mechanism / policy belongs to ecosystem)
171
+ - DEC-063 — Legal & compliance strategy (regulated / sovereignty-sensitive customers)
172
+ - DEC-064 — Customer IP isolation strategy (per-customer policy scoping)
173
+ - DEC-066 — Telemetry-driven product evolution (audit/telemetry allowlist)
174
+ - DEC-076 — Self-serve north star (provenance = a self-serve ceiling)
175
+ - XSPEC-254 — Positioning pre-mortem (§7 #5 cost-structure / token economics — origin axis)
176
+
177
+ ## Changelog
178
+
179
+ | Version | Date | Changes |
180
+ |---------|------|---------|
181
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~007: model origin registry, provenance policy schema, fail-closed enforcement at model-selection points, audit evidence, reference policy packs, unknown-origin fail-closed, policy content sovereignty (XSPEC-255) |
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/model-selection.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-03-20
5
+ **Version**: 1.0.1
6
+ **Last Updated**: 2026-06-10
7
7
  **Applicability**: AI-assisted development with multiple model tiers
8
8
  **Scope**: universal
9
9
  **Inspired by**: [Superpowers](https://github.com/obra/superpowers) — subagent-driven-development (MIT)
@@ -231,3 +231,28 @@ Escalation means using a more capable model, not repeating the same action. The
231
231
  - **能力維度(XSPEC-027)** — 基於模型能力(Can this model do it?)
232
232
 
233
233
  兩者並用:先依複雜度選擇 Tier,再依能力維度確認選中的模型支援任務所需的 capability。
234
+
235
+ ---
236
+
237
+ ## Navigation Integration | 與下一步建議整合
238
+
239
+ The [ai-response-navigation](ai-response-navigation.md) standard (Rule R6, optional) allows each next-step suggestion option to carry a Tier annotation. The complexity signals in this standard serve as the judgment basis.
240
+
241
+ **Vendor-neutral principle**: Tier names (Fast / Standard / Capable) are tool-agnostic labels. They do not correspond to any specific vendor's model identifiers. Each platform or tool independently maintains its own Tier → concrete model mapping.
242
+
243
+ Example mapping (illustrative only, not normative):
244
+
245
+ | Tier | Typical capability level |
246
+ |------|--------------------------|
247
+ | Fast | Lightweight / instruction-following |
248
+ | Standard | Balanced reasoning + code generation |
249
+ | Capable | Advanced reasoning, architectural analysis |
250
+
251
+ ---
252
+
253
+ ## Version History
254
+
255
+ | Version | Date | Changes |
256
+ |---------|------|---------|
257
+ | 1.0.1 | 2026-06-10 | Add Navigation Integration section (R6 cross-reference; vendor-neutral principle) |
258
+ | 1.0.0 | 2026-03-20 | Initial release |