universal-dev-standards 5.17.0 → 6.0.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 (539) hide show
  1. package/bin/uds.js +13 -135
  2. package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
  3. package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
  4. package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
  5. package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
  6. package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
  7. package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
  8. package/bundled/ai/standards/code-review.ai.yaml +2 -2
  9. package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
  10. package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
  11. package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
  12. package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
  13. package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
  14. package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
  15. package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
  16. package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
  17. package/bundled/ai/standards/logging.ai.yaml +97 -3
  18. package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
  19. package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
  20. package/bundled/ai/standards/model-selection.ai.yaml +11 -2
  21. package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
  22. package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
  23. package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
  24. package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
  25. package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
  26. package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
  27. package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
  28. package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
  29. package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
  30. package/bundled/ai/standards/security-testing.ai.yaml +13 -2
  31. package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
  32. package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
  33. package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
  34. package/bundled/ai/standards/versioning.ai.yaml +32 -38
  35. package/bundled/core/acceptance-criteria-traceability.md +15 -5
  36. package/bundled/core/accessibility-standards.md +8 -4
  37. package/bundled/core/ai-friendly-architecture.md +1 -1
  38. package/bundled/core/ai-response-navigation.md +31 -3
  39. package/bundled/core/anti-sycophancy-prompting.md +1 -1
  40. package/bundled/core/api-design-standards.md +92 -7
  41. package/bundled/core/audit-trail.md +119 -0
  42. package/bundled/core/behavior-snapshot.md +94 -7
  43. package/bundled/core/browser-compatibility-standards.md +15 -2
  44. package/bundled/core/checkin-standards.md +9 -2
  45. package/bundled/core/code-review-checklist.md +10 -2
  46. package/bundled/core/container-image-standards.md +97 -0
  47. package/bundled/core/context-aware-loading.md +2 -2
  48. package/bundled/core/cost-budget-test.md +1 -1
  49. package/bundled/core/cross-flow-regression.md +3 -2
  50. package/bundled/core/data-contract.md +104 -0
  51. package/bundled/core/data-migration-testing.md +90 -0
  52. package/bundled/core/data-pipeline.md +113 -0
  53. package/bundled/core/deprecation-standards.md +16 -2
  54. package/bundled/core/developer-memory.md +13 -8
  55. package/bundled/core/documentation-writing-standards.md +1 -1
  56. package/bundled/core/error-code-standards.md +4 -3
  57. package/bundled/core/flaky-test-management.md +1 -1
  58. package/bundled/core/flow-based-testing.md +3 -3
  59. package/bundled/core/forward-derivation-standards.md +33 -5
  60. package/bundled/core/full-coverage-testing.md +72 -0
  61. package/bundled/core/git-worktree.md +4 -4
  62. package/bundled/core/guides/performance-guide.md +1 -1
  63. package/bundled/core/guides/security-guide.md +1 -1
  64. package/bundled/core/health-check-standards.md +2 -2
  65. package/bundled/core/iac-design-principles.md +97 -0
  66. package/bundled/core/incident-response.md +119 -0
  67. package/bundled/core/license-compliance.md +2 -0
  68. package/bundled/core/logging-standards.md +78 -2
  69. package/bundled/core/mock-boundary.md +54 -2
  70. package/bundled/core/model-provenance.md +181 -0
  71. package/bundled/core/model-selection.md +27 -2
  72. package/bundled/core/packaging-standards.md +1 -0
  73. package/bundled/core/performance-standards.md +96 -2
  74. package/bundled/core/pii-classification.md +148 -0
  75. package/bundled/core/pipeline-security-gates.md +22 -2
  76. package/bundled/core/postmortem-standards.md +2 -0
  77. package/bundled/core/prd-standards.md +91 -0
  78. package/bundled/core/privacy-standards.md +14 -3
  79. package/bundled/core/product-metrics-standards.md +100 -0
  80. package/bundled/core/project-context-memory.md +8 -2
  81. package/bundled/core/prompt-regression.md +1 -1
  82. package/bundled/core/refactoring-standards.md +44 -3
  83. package/bundled/core/replay-test.md +1 -1
  84. package/bundled/core/resource-cost-boundary.md +180 -0
  85. package/bundled/core/reverse-engineering-standards.md +66 -2
  86. package/bundled/core/runbook.md +113 -0
  87. package/bundled/core/schema-evolution.md +105 -0
  88. package/bundled/core/secret-management-standards.md +110 -0
  89. package/bundled/core/security-testing.md +26 -2
  90. package/bundled/core/self-review-protocol.md +2 -2
  91. package/bundled/core/skill-standard-alignment-check.md +53 -0
  92. package/bundled/core/slo-sli.md +109 -0
  93. package/bundled/core/smoke-test.md +1 -1
  94. package/bundled/core/tech-debt-standards.md +1 -1
  95. package/bundled/core/test-data-standards.md +2 -2
  96. package/bundled/core/user-journey-testing.md +102 -0
  97. package/bundled/core/user-story-mapping.md +96 -0
  98. package/bundled/core/verification-oracle.md +167 -0
  99. package/bundled/core/versioning.md +133 -109
  100. package/bundled/locales/COVERAGE.md +84 -73
  101. package/bundled/locales/zh-CN/CHANGELOG.md +71 -6
  102. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  103. package/bundled/locales/zh-CN/README.md +22 -9
  104. package/bundled/locales/zh-CN/SECURITY.md +1 -1
  105. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  106. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  107. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  108. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  109. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  110. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  111. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  112. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  113. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  114. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
  115. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  116. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  117. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  118. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  119. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  120. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  121. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  122. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  123. package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
  124. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  125. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  126. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  127. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  128. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  129. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  130. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  131. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  132. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  133. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  134. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  135. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  136. package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
  137. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  138. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  139. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  140. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  141. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  142. package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
  143. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  144. package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
  145. package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
  146. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  147. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  148. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  149. package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
  150. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
  151. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  152. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  153. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  154. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  155. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  156. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  157. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  158. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  159. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  160. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  161. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  162. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  163. package/bundled/locales/zh-CN/core/security-testing.md +96 -0
  164. package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
  165. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  166. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  167. package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
  168. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  169. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  170. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
  171. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
  172. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  173. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  174. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  175. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  176. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  177. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  178. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  179. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  180. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  181. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  182. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  183. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  184. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  185. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  186. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  187. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  188. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  189. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  190. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  191. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  192. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  193. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  194. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  195. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  196. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  197. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  198. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  199. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  200. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  201. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  202. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  203. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  204. package/bundled/locales/zh-CN/skills/README.md +89 -126
  205. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  206. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  207. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  208. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  209. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  210. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  211. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  212. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  213. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  214. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  215. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  216. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  217. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  218. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  219. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
  220. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
  221. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  222. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  223. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  224. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  225. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  226. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  227. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  228. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  229. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  230. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  231. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  232. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  233. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  234. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  235. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  236. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  237. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  238. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  239. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  240. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  242. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  243. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  244. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  245. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  246. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  247. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  248. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  249. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
  250. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  251. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  252. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  253. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  254. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  255. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  256. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  257. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  258. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  259. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  260. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  261. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  262. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  263. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  264. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  265. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  266. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  267. package/bundled/locales/zh-TW/CHANGELOG.md +71 -6
  268. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  269. package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
  270. package/bundled/locales/zh-TW/README.md +22 -9
  271. package/bundled/locales/zh-TW/SECURITY.md +1 -1
  272. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  273. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  274. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  275. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  276. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  277. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  278. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  279. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  280. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  281. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  282. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  283. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  284. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  285. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  286. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  287. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  288. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  289. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  290. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  291. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  292. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  293. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  294. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  295. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  296. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  297. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  298. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  299. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  300. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  301. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  302. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  303. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  304. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  305. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  306. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  307. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  308. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  309. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  310. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  311. package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
  312. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  313. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  314. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  315. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  316. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  317. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  318. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  319. package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
  320. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  321. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  322. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
  323. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  324. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  325. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  326. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  327. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  328. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  329. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  330. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  331. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  332. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  333. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  334. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  335. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  336. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  337. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  338. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  339. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  340. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  341. package/bundled/locales/zh-TW/core/security-testing.md +96 -0
  342. package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
  343. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  344. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  345. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  346. package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
  347. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  348. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  349. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  350. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  351. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  352. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
  353. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  354. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
  355. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  356. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  357. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  358. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  359. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  360. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  361. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  362. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  363. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  364. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  365. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  366. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  367. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  368. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  369. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  370. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  371. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  372. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  373. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  374. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  375. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  376. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  377. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  378. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  379. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  380. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  381. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  382. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  383. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  384. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  385. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  386. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  387. package/bundled/locales/zh-TW/skills/README.md +91 -128
  388. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  389. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  390. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  391. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  392. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  393. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  394. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  395. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  396. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  397. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  398. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  399. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  400. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  401. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  402. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  403. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  404. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
  405. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
  406. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  407. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  408. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  409. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  410. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  411. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  412. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  413. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  414. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  415. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  416. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  417. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  418. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  419. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  420. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  421. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  422. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  423. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  424. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  425. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  426. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  427. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  428. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  429. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  430. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  431. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  432. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
  433. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  434. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  435. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  436. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  437. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  438. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  439. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  440. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  441. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  442. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  443. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  444. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  445. package/bundled/skills/README.md +1 -1
  446. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  447. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  448. package/bundled/skills/agents/code-architect.md +1 -1
  449. package/bundled/skills/agents/doc-writer.md +1 -1
  450. package/bundled/skills/agents/reviewer.md +2 -2
  451. package/bundled/skills/agents/spec-analyst.md +1 -1
  452. package/bundled/skills/agents/test-specialist.md +1 -1
  453. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  454. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  455. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  456. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  457. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  458. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  459. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  460. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  461. package/bundled/skills/bdd-assistant/guide.md +1 -2
  462. package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
  463. package/bundled/skills/brainstorm-assistant/guide.md +33 -5
  464. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  465. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  466. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  467. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  468. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  469. package/bundled/skills/commands/README.md +2 -2
  470. package/bundled/skills/commands/ac-coverage.md +1 -1
  471. package/bundled/skills/commands/atdd.md +2 -2
  472. package/bundled/skills/commands/bdd.md +2 -2
  473. package/bundled/skills/commands/brainstorm.md +25 -14
  474. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  475. package/bundled/skills/commands/derive-all.md +1 -1
  476. package/bundled/skills/commands/derive-atdd.md +1 -1
  477. package/bundled/skills/commands/derive-bdd.md +2 -3
  478. package/bundled/skills/commands/derive-tdd.md +1 -1
  479. package/bundled/skills/commands/derive.md +1 -1
  480. package/bundled/skills/commands/dev-workflow.md +1 -1
  481. package/bundled/skills/commands/journey-test.md +45 -0
  482. package/bundled/skills/commands/methodology.md +4 -4
  483. package/bundled/skills/commands/pr.md +1 -1
  484. package/bundled/skills/commands/skill-builder.md +42 -0
  485. package/bundled/skills/commands/tdd.md +1 -1
  486. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  487. package/bundled/skills/dev-methodology/guide.md +1 -1
  488. package/bundled/skills/dev-methodology/runtime.md +1 -1
  489. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  490. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  491. package/bundled/skills/docs-generator/SKILL.md +3 -3
  492. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  493. package/bundled/skills/logging-guide/SKILL.md +38 -2
  494. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  495. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  496. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  497. package/bundled/skills/project-discovery/guide.md +2 -2
  498. package/bundled/skills/push/SKILL.md +1 -1
  499. package/bundled/skills/release-standards/SKILL.md +19 -5
  500. package/bundled/skills/security-assistant/SKILL.md +1 -1
  501. package/bundled/skills/skill-builder/SKILL.md +1 -1
  502. package/bundled/skills/spec-derivation/guide.md +3 -4
  503. package/bundled/skills/spec-driven-dev/SKILL.md +2 -2
  504. package/bundled/skills/sweep/SKILL.md +1 -1
  505. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  506. package/bundled/skills/testing-guide/SKILL.md +1 -1
  507. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  508. package/bundled/skills/workflows/README.md +2 -2
  509. package/package.json +3 -3
  510. package/src/commands/audit.js +30 -9
  511. package/src/commands/config.js +33 -2
  512. package/src/commands/hitl.js +14 -1
  513. package/src/commands/init.js +110 -58
  514. package/src/commands/quickstart.js +1 -2
  515. package/src/commands/release.js +51 -6
  516. package/src/commands/run-intent.js +9 -0
  517. package/src/commands/spec-split.js +27 -2
  518. package/src/commands/update.js +22 -6
  519. package/src/config/ai-agent-paths.js +3 -1
  520. package/src/i18n/messages.js +3 -102
  521. package/src/missions/MissionManager.js +44 -12
  522. package/src/utils/build-manifest.js +35 -3
  523. package/src/utils/friction-detector.js +71 -22
  524. package/src/utils/health-checker.js +29 -2
  525. package/src/utils/transaction.js +111 -0
  526. package/src/utils/version-promote.js +16 -0
  527. package/standards-registry.json +58 -146
  528. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  529. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  530. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  531. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  532. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  533. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  534. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  535. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  536. package/src/commands/flow.js +0 -260
  537. package/src/commands/start.js +0 -372
  538. package/src/commands/sweep.js +0 -151
  539. package/src/commands/workflow.js +0 -681
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/ai-response-navigation.md) | [简体中文](../locales/zh-CN/core/ai-response-navigation.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-03-25
5
+ **Version**: 1.1.0
6
+ **Last Updated**: 2026-06-10
7
7
  **Applicability**: All projects using AI-assisted development
8
8
  **Scope**: universal
9
9
  **Industry Standards**: None (Emerging AI tool practice)
@@ -69,6 +69,32 @@ Adjust the number of options based on context complexity:
69
69
 
70
70
  When a next-step suggestion corresponds to a known slash command, reference it using `` `/command` `` format so users can copy and execute directly. Use natural language descriptions for steps without corresponding commands.
71
71
 
72
+ ### Rule 6: Model Tier Annotation(Optional)
73
+
74
+ When a next-step option clearly maps to a specific complexity tier, you MAY annotate it with a model tier hint. This annotation is **strictly optional** — existing skills do not need to be updated retroactively; new and revised skills are encouraged to adopt it.
75
+
76
+ **Notation**: append `〔model: Fast〕`, `〔model: Standard〕`, or `〔model: Capable〕` after the option description.
77
+
78
+ **Tier selection**: use the complexity signals from the [model-selection](model-selection.md) standard:
79
+ - `Fast` — single file, unambiguous spec, no design judgment
80
+ - `Standard` — 2–5 files, inter-module understanding needed
81
+ - `Capable` — 5+ files, architectural decisions, cross-system correctness
82
+
83
+ **Localized notation**:
84
+ - 繁體中文:`〔模型:Fast〕` / `〔模型:Standard〕` / `〔模型:Capable〕`
85
+ - 简体中文:`〔模型:Fast〕` / `〔模型:Standard〕` / `〔模型:Capable〕`
86
+
87
+ Tier names are **vendor-neutral**. Each tool or platform maps these tiers to its available models independently.
88
+
89
+ **Example** (task completed, with tier annotations):
90
+
91
+ ```markdown
92
+ > **Suggested next steps:**
93
+ > - Run `/derive bdd` to extract BDD scenarios `〔model: Fast〕` — format conversion only
94
+ > - Run `/checkin` for quality gate verification ⭐ **Recommended** `〔model: Standard〕` — inter-module judgment required
95
+ > - Run `/sdd` for integrated architecture design `〔model: Capable〕` — cross-system impact analysis
96
+ ```
97
+
72
98
  ---
73
99
 
74
100
  ## Contextual Templates
@@ -209,7 +235,7 @@ Each tool's integration layer is responsible for rendering the Navigation Footer
209
235
  > **Suggested next steps:**
210
236
  > - Run `/test` to write tests for the new feature
211
237
  > - Run `/commit` to commit changes ⭐ **Recommended** — changes are complete and verified
212
- > - Run `/review` for self-review
238
+ > - Run `/code-review` for self-review
213
239
  ```
214
240
 
215
241
  ### Example 2: Asking the User a Design Question
@@ -257,6 +283,7 @@ Each tool's integration layer is responsible for rendering the Navigation Footer
257
283
  | R3 | Match template to response type |
258
284
  | R4 | 1–5 options, adapt to context |
259
285
  | R5 | Use `/command` format when applicable |
286
+ | R6 | *(Optional)* Append `〔model: Fast\|Standard\|Capable〕` when tier is clear |
260
287
 
261
288
  | Exempt | Not Exempt |
262
289
  |--------|------------|
@@ -280,6 +307,7 @@ Each tool's integration layer is responsible for rendering the Navigation Footer
280
307
 
281
308
  | Version | Date | Changes |
282
309
  |---------|------|---------|
310
+ | 1.1.0 | 2026-06-10 | Add R6 optional model tier annotation (`〔model: Fast\|Standard\|Capable〕`); vendor-neutral; no forced changes to existing skills |
283
311
  | 1.0.0 | 2026-03-25 | Initial release |
284
312
 
285
313
  ---
@@ -181,4 +181,4 @@ Then give your honest recommendation.
181
181
  ## Related Standards
182
182
 
183
183
  - [anti-hallucination.md](anti-hallucination.md) — Prevents fabrication; complements anti-sycophancy
184
- - [agent-epistemic-calibration.md](agent-epistemic-calibration.md) — Epistemic humility in agent design (where applicable)
184
+ - [agent-epistemic-calibration.md](anti-hallucination.md) — Epistemic humility in agent design (where applicable)
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/api-design-standards.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-03-18
5
+ **Version**: 1.1.0
6
+ **Last Updated**: 2026-06-24
7
7
  **Applicability**: All software projects
8
8
  **Scope**: universal
9
9
  **Industry Standards**: OpenAPI 3.x, JSON:API 1.1, Google API Design Guide, RFC 7231 (HTTP Semantics)
@@ -165,12 +165,14 @@ https://api.example.com/v2/users
165
165
 
166
166
  ### Version Lifecycle
167
167
 
168
- | Phase | Duration | Action |
169
- |-------|----------|--------|
168
+ An API version moves through four states. The **durations** — the parallel-support window and the deprecation notice period — are the single responsibility of [Deprecation & Sunset Standards](deprecation-standards.md#api-deprecation); this table defines only the states and the API-contract action in each, so the timing numbers live in exactly one place.
169
+
170
+ | Phase | State | API-Contract Action |
171
+ |-------|-------|---------------------|
170
172
  | **Current** | Active development | Full support, new features |
171
- | **Supported** | 6-12 months after successor | Bug fixes, security patches only |
172
- | **Deprecated** | 3-6 months notice | Sunset header, migration guide |
173
- | **Retired** | After deprecation period | Return 410 Gone with migration info |
173
+ | **Supported** | Maintained in parallel with successor | Bug fixes, security patches only |
174
+ | **Deprecated** | Retirement announced | `Deprecation` / `Sunset` headers, migration guide published |
175
+ | **Retired** | Removed | Return `410 Gone` with migration info |
174
176
 
175
177
  ### Deprecation Headers
176
178
 
@@ -180,6 +182,88 @@ Deprecation: true
180
182
  Link: <https://api.example.com/v2/docs>; rel="successor-version"
181
183
  ```
182
184
 
185
+ > The full deprecation **process** (the staged Sunset timeline) and the **minimum notice
186
+ > period per API tier** are governed by [Deprecation & Sunset Standards](deprecation-standards.md#api-deprecation).
187
+ > This standard owns the API-contract surface below: how a version is deprecated in code,
188
+ > what counts as a breaking change, and how to document the migration.
189
+
190
+ ### Deprecating an API Version
191
+
192
+ Signal deprecation through SemVer and in the API itself, then follow the deprecation lifecycle. The version progression mirrors [Semantic Versioning](versioning.md#incrementing-rules):
193
+
194
+ ```
195
+ v1.0.0 — Version introduced
196
+ v1.5.0 — Deprecation announced (no later than the N-1 minor before removal)
197
+ v2.0.0 — Version removed (breaking change → MAJOR bump)
198
+ ```
199
+
200
+ Mark deprecated code so callers see the warning well before the removal release:
201
+
202
+ ```javascript
203
+ // v1.5.0 — add deprecation warning
204
+ /**
205
+ * @deprecated Use authenticateV2() instead. Will be removed in v2.0.0
206
+ */
207
+ function authenticate(username, password) {
208
+ console.warn('[DEPRECATED] authenticate() will be removed in v2.0.0. Use authenticateV2()');
209
+ return authenticateV2(username, password);
210
+ }
211
+ ```
212
+
213
+ ### Backward Compatibility Checklist
214
+
215
+ Before releasing, classify every change. Anything in the first list is **breaking** and requires a MAJOR version bump (see [Semantic Versioning](versioning.md#incrementing-rules)); anything in the second list is backward-compatible and ships in a MINOR or PATCH release.
216
+
217
+ **Breaking — never without a MAJOR version bump:**
218
+ - [ ] Remove a public API endpoint
219
+ - [ ] Remove a required request field
220
+ - [ ] Add a required request field
221
+ - [ ] Change a response field's type
222
+ - [ ] Change the meaning of an error code
223
+ - [ ] Remove a response field consumers depend on
224
+
225
+ **Backward-compatible — safe in a MINOR or PATCH release:**
226
+ - [ ] Add an optional request field
227
+ - [ ] Add a new response field
228
+ - [ ] Add a new endpoint
229
+ - [ ] Add a new error code
230
+ - [ ] Improve an error message
231
+ - [ ] Performance improvement
232
+
233
+ ### API Migration Guide
234
+
235
+ When a MAJOR version ships breaking changes, publish a migration guide that maps each old usage to its replacement:
236
+
237
+ ````markdown
238
+ # Migration Guide: v1.x to v2.0
239
+
240
+ ## Breaking Changes
241
+
242
+ ### 1. authenticate() removed
243
+
244
+ **Before (v1.x)**:
245
+ ```javascript
246
+ const token = await authenticate('user', 'pass');
247
+ ```
248
+
249
+ **After (v2.0)**:
250
+ ```javascript
251
+ const token = await authenticateV2({ username: 'user', password: 'pass' });
252
+ ```
253
+
254
+ ### 2. API response format changed
255
+
256
+ **Before (v1.x)**: `{ "data": { "user": {...} } }`
257
+ **After (v2.0)**: `{ "user": {...} }`
258
+
259
+ ```javascript
260
+ // Before
261
+ const user = response.data.user;
262
+ // After
263
+ const user = response.user;
264
+ ```
265
+ ````
266
+
183
267
  ---
184
268
 
185
269
  ## Request/Response Standards
@@ -917,6 +1001,7 @@ Error → { type, title, status, detail, errors, traceId }
917
1001
 
918
1002
  | Version | Date | Changes |
919
1003
  |---------|------|---------|
1004
+ | 1.1.0 | 2026-06-24 | Added: Deprecating an API Version, Backward Compatibility Checklist, and API Migration Guide (consolidated from versioning.md); Version Lifecycle now defers all period numbers to deprecation-standards as the single source of truth (XSPEC-298 R8, UDS #126) |
920
1005
  | 1.0.0 | 2026-03-18 | Initial release |
921
1006
 
922
1007
  ---
@@ -0,0 +1,119 @@
1
+ # Audit Trail Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/audit-trail.ai.yaml`
5
+ > **Spec**: XSPEC-066 (cross-project/specs/XSPEC-066-uds-compliance-audit-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines the requirements for creating, storing, and managing
12
+ **immutable audit trails** across systems that handle sensitive data, financial
13
+ transactions, access-control changes, and compliance-relevant operations. It
14
+ covers mandatory event types, the audit-record schema, tamper-evidence
15
+ requirements, retention periods, query/export capabilities, and SIEM integration.
16
+ It is designed to satisfy SOC 2, ISO 27001, GDPR, and financial regulatory
17
+ requirements.
18
+
19
+ It is part of the **compliance & audit pack** (XSPEC-066) and the
20
+ audit-trail member is the core carrier of EU AI Act auditability (DEC-041) and of
21
+ the VibeOps Governance Agent intervention record (DEC-042). It composes with the
22
+ governance-gate family — `license-compliance` (XSPEC-193), `verification-oracle`
23
+ (XSPEC-256), and `model-provenance` (XSPEC-255) — whose gate verdicts are written
24
+ into an audit trail conforming to this standard.
25
+
26
+ > **Scope.** This standard defines *what* must be audited, the *record schema*,
27
+ > and the *immutability / retention / access* rules. The concrete storage engine
28
+ > (S3 Object Lock, append-only DB, hash-chain library) and the SIEM product are
29
+ > adoption choices, not part of this standard.
30
+
31
+ ## Requirements
32
+
33
+ | ID | Rule | Level |
34
+ |----|------|-------|
35
+ | REQ-001 | Mandatory auditable event types (auth, authz, data access, config, financial, compliance) | MUST |
36
+ | REQ-002 | Audit-record schema (mandatory + recommended fields) | MUST |
37
+ | REQ-003 | Immutability and tamper evidence (append-only + hash chain) | MUST |
38
+ | REQ-004 | Audit-log retention periods by category | MUST |
39
+ | REQ-005 | Query and export capability (filterable, exportable, query-of-query logged) | MUST |
40
+ | REQ-006 | SIEM integration and alerting | SHOULD |
41
+
42
+ ### REQ-001 — Mandatory Auditable Event Types
43
+
44
+ Systems MUST capture audit records, without exception, for: (1) **Authentication**
45
+ — login success/failure, logout, MFA events, password changes; (2)
46
+ **Authorization** — access granted/denied, privilege escalation, role changes; (3)
47
+ **Data access** — read/write/delete of TIER-1 and TIER-2 PII (see
48
+ `pii-classification`), bulk data exports; (4) **Configuration changes** — system
49
+ settings, security-policy changes, user/role management; (5) **Financial
50
+ transactions** — payment processing, refunds, balance changes; (6)
51
+ **Compliance-relevant actions** — consent changes, data-erasure requests, legal
52
+ holds.
53
+
54
+ ### REQ-002 — Audit Record Schema
55
+
56
+ Every audit record MUST contain: `event_id` (UUID v4), `event_type` (enumerated
57
+ string), `timestamp` (ISO 8601 UTC with milliseconds), `actor_id` (user or
58
+ service account), `actor_ip` (for user actions), `resource_type`, `resource_id`,
59
+ `action`, `outcome` (success/failure), and `environment` (production/staging). It
60
+ SHOULD also include `session_id`, `request_id` for correlation, before/after
61
+ state for mutations, and geographic region.
62
+
63
+ ### REQ-003 — Immutability and Tamper Evidence
64
+
65
+ Audit logs MUST be written to an **append-only** store that prevents modification
66
+ or deletion by application-level principals. Each record MUST include a
67
+ cryptographic hash of the previous record (**chaining**) to detect tampering.
68
+ Write access to the audit store MUST be restricted to the audit service only — no
69
+ engineer or application service should have direct write access. Log integrity
70
+ MUST be verifiable on demand.
71
+
72
+ ### REQ-004 — Audit Log Retention Periods
73
+
74
+ Audit logs MUST be retained according to these minimums by category:
75
+ authentication/authorization — 1 year hot, 6 years cold (SOC 2 / ISO 27001);
76
+ financial transactions — 7 years (financial regulations); PII access — 3 years;
77
+ configuration changes — 3 years; all other audit events — 1 year. Deletion of
78
+ audit records before their retention period expires is **PROHIBITED**. Logs
79
+ approaching expiry MUST be automatically archived to cold storage.
80
+
81
+ ### REQ-005 — Audit Log Query and Export Capability
82
+
83
+ The audit system MUST support filtering by `event_type`, `actor_id`,
84
+ `resource_id`, time range, and `outcome`. Results MUST be exportable in JSON and
85
+ CSV. Queries returning PII MUST themselves be logged as audit events
86
+ (query-of-query). Audit data MUST be accessible to authorized compliance/security
87
+ teams within 4 hours of a request, and to regulators within 24 hours.
88
+
89
+ ### REQ-006 — SIEM Integration and Alerting
90
+
91
+ Audit logs SHOULD be forwarded in real time to a SIEM system. The SIEM SHOULD
92
+ have automated detection rules for brute-force login patterns (>5 failures in
93
+ 5 min), privilege escalation outside business hours, bulk PII exports (>1000
94
+ records in 1 hour), and access from new geographic regions. Alerts SHOULD trigger
95
+ on-call notification for high-severity detections.
96
+
97
+ ## Integration with Existing Standards
98
+
99
+ - **`pii-classification`** — data-access auditing keys on the PII tier of the
100
+ fields touched (TIER-1/TIER-2 reads are mandatory audit events).
101
+ - **`logging-standards`** — audit records are a distinct, immutable class above
102
+ ordinary application logs; PII masking from `pii-classification` still applies.
103
+ - **`license-compliance` / `verification-oracle` / `model-provenance`** —
104
+ governance-gate verdicts (block/override) are written into the audit trail.
105
+ - **`execution-history`** — general execution records are not a substitute for a
106
+ compliance-grade, tamper-evident audit trail.
107
+
108
+ ## Related Specs
109
+
110
+ - XSPEC-066 — UDS compliance & audit pack (this standard's source)
111
+ - DEC-041 — EU AI Act 2026 compliance (audit trail as auditability carrier)
112
+ - DEC-042 — Guardian / Governance Agent pattern (intervention auditability)
113
+ - DEC-020 — VibeOps commercial dual license (license-compliance auditing)
114
+
115
+ ## Changelog
116
+
117
+ | Version | Date | Changes |
118
+ |---------|------|---------|
119
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~006: event types, record schema, immutability/tamper evidence, retention, query/export, SIEM integration (XSPEC-066) |
@@ -104,13 +104,32 @@ Files prefixed `MANUAL-` contain snapshots that cannot be automatically recorded
104
104
 
105
105
  ## `ignore_fields` Guidance
106
106
 
107
- ### Always Ignore (Non-Deterministic)
107
+ > **Core principle — ignore the _value_, keep the _format_ assertion.** A field being non-deterministic means its *value* changes between runs; it does **not** mean the field's *shape* may change freely. The naive use of `ignore_fields` drops the whole field from comparison, which also stops asserting its format — so a serializer that silently turns an ISO-8601 timestamp into a Unix epoch, drops the timezone, or changes UUID casing/version passes unnoticed. **Ignore the value; still assert the format.**
108
108
 
109
- | Field Pattern | Reason |
110
- |--------------|--------|
111
- | `created_at`, `updated_at`, `timestamp` | Changes every request |
112
- | `token`, `session_id`, `csrf_token` | Cryptographically random |
113
- | `request_id`, `trace_id`, `correlation_id` | Random UUID |
109
+ ### Ignore Value vs. Ignore Format
110
+
111
+ | Field | Naive: whole-field ignore | Recommended: ignore value, assert format |
112
+ |-------|---------------------------|-------------------------------------------|
113
+ | `created_at` | not compared at all | value ignored; assert it is still ISO-8601 with the same fractional-second precision and the same timezone representation |
114
+ | `trace_id` | not compared at all | value ignored; assert it still matches the UUID version and canonical 8-4-4-4-12 shape |
115
+ | `token` | not compared at all | value ignored; assert length, charset, and prefix |
116
+
117
+ ### Non-Deterministic Fields: Ignore Value, Assert Format
118
+
119
+ | Field Pattern | Ignore (the value) | Still assert (format / shape) |
120
+ |--------------|--------------------|-------------------------------|
121
+ | `created_at`, `updated_at`, `timestamp` | the instant | ISO-8601 vs. epoch vs. custom; fractional-second precision (number of digits); timezone representation (`Z` vs `+00:00` vs offset) |
122
+ | `token`, `session_id`, `csrf_token` | the random bytes | length, charset, prefix |
123
+ | `request_id`, `trace_id`, `correlation_id` | the random UUID | UUID version + canonical 8-4-4-4-12 shape and casing |
124
+
125
+ **Timestamp example.** A migrated endpoint returns `created_at`:
126
+
127
+ ```text
128
+ old system: "2026-05-12T08:30:00Z"
129
+ new system: "2026-05-12T08:30:00.000+00:00"
130
+ ```
131
+
132
+ Both decode to the same instant, so a whole-field ignore — and even a value comparison after parsing to a date — passes. But the **serialized format drifted**: fractional seconds appeared and the timezone representation changed from `Z` to `+00:00`. Clients that string-match, or parse with a strict format, break in production. Asserting the format pattern (e.g. `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$`) catches this; ignoring the whole field hides it.
114
133
 
115
134
  ### Always Compare (Business Logic)
116
135
 
@@ -122,7 +141,71 @@ Files prefixed `MANUAL-` contain snapshots that cannot be automatically recorded
122
141
  | `success`, `refunded`, `cancelled` | Boolean business outcome |
123
142
  | `user_id`, `order_id` (with fixed test data) | Referential integrity |
124
143
 
125
- **Rule**: `ignore_fields` is for legitimately non-deterministic values. Using it to hide business logic differences defeats the purpose of parity testing.
144
+ ### Whole-Field Ignore (Exception Requires Justification)
145
+
146
+ Dropping a field from comparison entirely — no value **and** no format assertion — is an **exception**, not the default. Reserve it for fields whose format is genuinely unspecified or irrelevant (e.g. an opaque vendor blob), and document the reason inline.
147
+
148
+ > ⚠️ **Risk**: whole-field ignore masks **format drift**. A timestamp that changes precision or timezone, a UUID that changes version, or a number that gains or loses a trailing zero will pass silently — the exact class of bug parity testing exists to catch.
149
+
150
+ **Rule**: `ignore_fields` is for legitimately non-deterministic *values*. Ignore the value while still asserting the field's format/shape. Using it to drop business-logic fields — or to silence format drift on non-deterministic fields — defeats the purpose of parity testing.
151
+
152
+ ---
153
+
154
+ ## Serialization-Format Parity
155
+
156
+ A differential oracle that compares only **deserialized objects** silently normalizes serialization-level differences away: it parses both responses into maps/objects and compares those, so any divergence that disappears on parse is invisible. To catch serialization bugs, the oracle must compare at a granularity that preserves the serialized form — either compare the **raw serialized string**, or explicitly assert the JSON shape.
157
+
158
+ ### What a Parsed-Object Compare Hides
159
+
160
+ | Serialization divergence | Hidden when you compare parsed objects? |
161
+ |--------------------------|------------------------------------------|
162
+ | `1` vs `1.0` (number format) | Yes — both parse to the number `1` |
163
+ | `null` vs a missing key | Yes — both read as absent/null |
164
+ | `true` vs `1` vs `"true"` | Often — after type coercion |
165
+ | Key ordering | Yes — object keys are unordered |
166
+ | Leading zeros / scientific notation | Yes — normalized on parse |
167
+ | Whitespace and Unicode escaping (`\/`, `\uXXXX`) | Yes — lost on parse |
168
+
169
+ ### Two Strategies
170
+
171
+ 1. **Raw-string comparison** — compare the exact serialized string. Strongest fidelity; use it when the wire format is part of the contract (public APIs, cached payloads, signed bodies).
172
+ 2. **Explicit JSON-shape assertions** — when raw compare is too strict (e.g. legitimately non-deterministic values), assert the shape explicitly:
173
+ - **key presence and order** (when order is contractual)
174
+ - **number format**: `1` vs `1.0`, leading zeros, scientific notation
175
+ - **`null` vs absent key** (an omitted field is not the same as an explicit `null`)
176
+ - **boolean/string type**: `true` vs `"true"` vs `1`
177
+
178
+ ### Cross-Language Rewrites Change the Serializer
179
+
180
+ When a system is rewritten in another language, the serializer changes — and serializers differ in their **defaults**. The oracle must assert these explicitly, because nothing else will. Common PHP `json_encode` ↔ C# `System.Text.Json` default differences:
181
+
182
+ | Concern | PHP `json_encode` (default) | C# `System.Text.Json` (default) |
183
+ |---------|------------------------------|----------------------------------|
184
+ | Number trailing zeros | `(float) 1.0` emits `1`; `JSON_PRESERVE_ZERO_FRACTION` is needed to keep `1.0` | `double` `1.0` serializes as `1`; `decimal` preserves scale |
185
+ | Date / time | no native date type — app-defined (often a custom string or epoch) | `DateTime`/`DateTimeOffset` → ISO-8601 (round-trip "O"), e.g. `2026-05-12T08:30:00+00:00` |
186
+ | Timezone | app-defined | `DateTimeOffset` keeps the offset; `DateTime.Kind` decides `Z` vs offset |
187
+ | `null` properties | included as `"k":null` | included by default; omitted only with `DefaultIgnoreCondition.WhenWritingNull` |
188
+ | Key ordering | insertion order (associative array) | property-declaration / reflection order |
189
+ | Slash and Unicode escaping | escapes `/` and non-ASCII unless `JSON_UNESCAPED_SLASHES` / `JSON_UNESCAPED_UNICODE` | does not escape `/`; escapes non-ASCII per the configured encoder |
190
+
191
+ ### Asserting the Serialized Shape (TypeScript)
192
+
193
+ ```typescript
194
+ // Beyond value parity: assert the serialized form, not just the parsed object.
195
+ function assertSerializationParity(oldRaw: string, newRaw: string): void {
196
+ // 1. Strongest: exact serialized string (after stripping only ignored *values*).
197
+ if (oldRaw === newRaw) return;
198
+
199
+ // 2. Otherwise assert shape explicitly on the raw text, not on JSON.parse():
200
+ // number format — a "1.0" in old must not silently become "1" in new
201
+ const numberShape = (s: string) => s.match(/:\s*-?\d+(\.\d+)?([eE][+-]?\d+)?/g) ?? [];
202
+ expect(numberShape(newRaw)).toEqual(numberShape(oldRaw));
203
+
204
+ // null vs missing — an explicit "key":null must not disappear
205
+ expect(/"refund_id"\s*:\s*null/.test(newRaw))
206
+ .toBe(/"refund_id"\s*:\s*null/.test(oldRaw));
207
+ }
208
+ ```
126
209
 
127
210
  ---
128
211
 
@@ -218,6 +301,8 @@ After all features are implemented, run parity check:
218
301
  | Overusing `ignore_fields` | Business logic differences hidden | Only ignore non-deterministic fields |
219
302
  | Skipping MANUAL snapshots | Untested webhook/background behavior | Author MANUAL snapshots before UAT |
220
303
  | Recording snapshots from broken system | Wrong baseline | Verify old system behavior before recording |
304
+ | Comparing only the deserialized object | Serialization-format bugs (number format, `null` vs missing key, key order, type coercion) are normalized away on parse | Compare the raw serialized string, or assert the JSON shape explicitly (see Serialization-Format Parity) |
305
+ | Whole-field `ignore_fields` on a non-deterministic field | Masks the field's **format** drift (timestamp precision/timezone, UUID version) | Ignore the value but still assert the format/shape (see `ignore_fields` Guidance) |
221
306
  | Characterization tests without `@characterization` | Gate 0 can't find them | Always annotate with `@characterization` |
222
307
  | Starting refactoring before Gate 0 | Behavior drift undetectable | Run characterization tests first, always |
223
308
 
@@ -229,6 +314,7 @@ After all features are implemented, run parity check:
229
314
  - [Acceptance Criteria Traceability](acceptance-criteria-traceability.md) — `not_implemented` AC status
230
315
  - [Refactoring Standards](refactoring-standards.md) — Characterization test requirements
231
316
  - [Testing Standards](testing-standards.md) — Test implementation standards
317
+ - [Data Migration Testing](data-migration-testing.md) — same "don't compare what merely *looks* equal" principle, applied at the DB storage layer (byte/codepoint encoding) rather than the oracle/serialization layer
232
318
 
233
319
  ---
234
320
 
@@ -237,3 +323,4 @@ After all features are implemented, run parity check:
237
323
  | Version | Date | Changes |
238
324
  |---------|------|---------|
239
325
  | 1.0.0 | 2026-05-12 | Initial version — snapshot schema, parity gate, Gate 0 characterization protocol (XSPEC-201) |
326
+ | 1.1.0 | 2026-06-28 | Comparison-fidelity additions (XSPEC-306) — `ignore_fields` rewritten to "ignore value, assert format"; new Serialization-Format Parity section (raw vs. JSON-shape assertions, PHP↔C# serializer defaults); 2 format-masking anti-patterns; cross-ref to data-migration-testing |
@@ -2,10 +2,11 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/browser-compatibility-standards.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-05-05
5
+ **Version**: 1.0.2
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: Frontend projects (web apps, progressive web apps, web components)
8
8
  **Scope**: universal
9
+ **Owning Spec**: XSPEC-293 (orthogonal to XSPEC-209 route coverage)
9
10
  **Industry Standards**: Browserslist, W3C WebDriver, WebDriver BiDi
10
11
  **References**: [caniuse.com](https://caniuse.com/), [Playwright browser support matrix](https://playwright.dev/docs/browsers)
11
12
 
@@ -27,6 +28,16 @@ Browser compatibility issues are among the most user-visible defects, yet they a
27
28
  | **Tier-2** (Partial support) | Best-effort; major flows must work | ≥ 95% pass — WARN if below, FAIL if < 90% |
28
29
  | **Tier-3** (Best effort) | Not officially supported; defects logged but not blocking | Advisory only |
29
30
 
31
+ > **Tier-2 `≥95%` / `<90%` thresholds — basis & configurability**: these are UDS
32
+ > defaults, configurable per project. Tier-2 is "best-effort, major flows must
33
+ > work", so the gate tolerates a small tail of non-critical failures: `≥95%` =
34
+ > healthy (WARN below, to prompt triage); `<90%` = material regression (FAIL).
35
+ > Tune them to your target-market browser coverage — e.g. derive the Tier-2
36
+ > browser set and the pass bar from your Browserslist market-share config
37
+ > (`> 0.5%` etc.). **Exception**: when the failing Tier-2 cases are all
38
+ > non-critical flows (logged as Tier-3-style defects), a release owner may
39
+ > override the WARN/FAIL with a recorded justification.
40
+
30
41
  ---
31
42
 
32
43
  ## Default Browser Matrix
@@ -209,6 +220,8 @@ last 2 ChromeAndroid versions
209
220
 
210
221
  | Version | Date | Changes |
211
222
  |---------|------|---------|
223
+ | 1.0.2 | 2026-06-18 | Added: basis + configurability + exception note for Tier-2 95%/90% thresholds (XSPEC-292 T8 / XSPEC-293 AC-293-2) |
224
+ | 1.0.1 | 2026-06-18 | Added: Owning Spec pointer → XSPEC-293 (XSPEC-291 §11) |
212
225
  | 1.0.0 | 2026-05-05 | Initial release: Tier-1/2/3 matrix, Playwright config, cloud testing, release gate criteria |
213
226
 
214
227
  ---
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/checkin-standards.md)
4
4
 
5
- **Version**: 1.6.0
6
- **Last Updated**: 2026-04-20
5
+ **Version**: 1.7.0
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects using version control
8
8
  **Scope**: partial
9
9
  **Industry Standards**: SWEBOK v4.0 Chapter 6
@@ -151,6 +151,12 @@ describe('Regression: [BUG-ID or description]', () => {
151
151
  - Cyclomatic complexity ≤10
152
152
  - No duplicated code blocks
153
153
 
154
+ > Thresholds are UDS defaults, configurable per project. Cyclomatic complexity
155
+ > ≤10 follows McCabe's original guidance (McCabe, 1976) — the value most
156
+ > linters (ESLint `complexity`, SonarQube) default to; the method-length and
157
+ > nesting limits are common style-guide defaults aimed at readability, not
158
+ > hard rules. Tune them to your language/team.
159
+
154
160
  - [ ] **Security checked**
155
161
  - No hardcoded secrets (passwords, API keys)
156
162
  - No SQL injection vulnerabilities
@@ -1005,6 +1011,7 @@ git commit -m "feat(module-c): add export to CSV feature"
1005
1011
 
1006
1012
  | Version | Date | Changes |
1007
1013
  |---------|------|---------|
1014
+ | 1.7.0 | 2026-06-18 | Added: source + configurable note for code-smell thresholds (McCabe 1976 cyclomatic complexity; linter defaults) (XSPEC-292 T8) |
1008
1015
  | 1.5.0 | 2026-03-18 | Added: AC coverage verification, batch threshold trigger, automated check-in rules |
1009
1016
  | 1.4.0 | 2026-01-16 | Added: Bug Fix Testing Evaluation section with decision matrix |
1010
1017
  | 1.3.0 | 2026-01-05 | Added: SWEBOK v4.0 Chapter 6 (Software Configuration Management) to References |
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/code-review-checklist.md)
4
4
 
5
- **Version**: 1.3.0
6
- **Last Updated**: 2026-01-12
5
+ **Version**: 1.4.0
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects with code review processes
8
8
  **Scope**: universal
9
9
  **Industry Standards**: SWEBOK v4.0 Chapter 10
@@ -476,6 +476,13 @@ jobs:
476
476
  | 200-500 lines | 1 day | 2 days |
477
477
  | > 500 lines | 🚨 Consider splitting | 3+ days |
478
478
 
479
+ > **Sources & configurability**: the size tiers reflect the empirically observed
480
+ > drop in review effectiveness past ~200–400 changed lines (SmartBear/Cisco code
481
+ > review study; [Google engineering practices](https://google.github.io/eng-practices/review/)).
482
+ > The response-time targets are UDS defaults — replace them with your team's
483
+ > review SLA. **Exception**: generated or vendored bulk changes (lockfiles,
484
+ > migrations, snapshots) are reviewed by spot-check, not by line count.
485
+
479
486
  ### Reviewer Availability
480
487
 
481
488
  - Set "review hours" in team calendar
@@ -657,6 +664,7 @@ Comment Prefixes:
657
664
 
658
665
  | Version | Date | Changes |
659
666
  |---------|------|---------|
667
+ | 1.4.0 | 2026-06-18 | Added: source + configurability note for PR-size/response-time thresholds (SmartBear/Cisco study, Google practices) + bulk-change exception (XSPEC-292 T8) |
660
668
  | 1.3.0 | 2026-01-12 | Added: Comprehensive Refactoring PRs section with pre-review checklist, review focus areas, large refactoring guidelines, red flags, and best practices |
661
669
  | 1.2.0 | 2026-01-05 | Added: SWEBOK v4.0 Chapter 10 (Software Quality) to References |
662
670
  | 1.1.0 | 2025-12-22 | Added: Alternative text labels section for review comments (Chinese label support) |
@@ -0,0 +1,97 @@
1
+ # Container Image Build and Security Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/container-image-standards.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 security and compliance requirements for container image
12
+ build pipelines. It covers five Dockerfile authoring principles (multi-stage
13
+ builds, non-root execution, minimal base images, secret-free build args, SBOM
14
+ metadata), SBOM generation and embedding using `syft` or `trivy`, and image
15
+ scanning policies that block Critical/High CVEs.
16
+
17
+ It is part of the **IaC pack** (XSPEC-065) and complements the existing
18
+ `containerization-standards` (layer ordering and tagging) by focusing on
19
+ supply-chain security and compliance attestation.
20
+
21
+ > **Scope.** This standard defines *what* a production image must guarantee
22
+ > (rootless, minimal, scanned, SBOM-attested) and the *severity policy* for CVEs.
23
+ > The concrete SBOM tool (`syft`/`trivy`), scanner, and registry are adoption
24
+ > choices, not part of this standard.
25
+
26
+ ## Requirements
27
+
28
+ | ID | Rule | Level |
29
+ |----|------|-------|
30
+ | REQ-001 | Dockerfile five principles (multi-stage, non-root, minimal base, no secrets, SBOM label) | MUST |
31
+ | REQ-002 | SBOM embedding (generated in CI, embedded or attested, retained ≥12 months) | MUST |
32
+ | REQ-003 | Image scanning (Critical/High block; Medium ticketed; auto base updates) | MUST |
33
+
34
+ ### REQ-001 — Dockerfile Five Principles
35
+
36
+ Every production Dockerfile MUST follow five principles: (1) **Multi-stage build**
37
+ — separate builder and runtime stages to minimize final image size and attack
38
+ surface; (2) **Non-root final user** — the runtime stage MUST set a non-root
39
+ `USER` (UID ≥ 1000); running as root in production containers is prohibited;
40
+ (3) **Distroless or Alpine base** — use distroless (`gcr.io/distroless`) or
41
+ Alpine-based images as the final stage to minimize CVE exposure; avoid full
42
+ Debian/Ubuntu unless justified and documented; (4) **No hardcoded secrets** —
43
+ build ARGs and ENV variables MUST NOT contain secrets; secrets are injected at
44
+ runtime via volume mounts or secret managers (see `secret-management-standards`);
45
+ (5) **SBOM metadata label** — the final image MUST include an OCI label
46
+ `org.opencontainers.image.source` and a build-time label
47
+ `org.opencontainers.image.revision` containing the git commit SHA.
48
+
49
+ ### REQ-002 — SBOM Embedding
50
+
51
+ Every production container image MUST have a Software Bill of Materials (SBOM)
52
+ generated during the CI build step, using `syft` or `trivy` in CycloneDX or SPDX
53
+ format. The SBOM MUST be either (a) embedded as an OCI image annotation
54
+ (preferred for OCI-compliant registries), or (b) attached as a `cosign`
55
+ attestation to the image digest. SBOM artifacts MUST be stored alongside the
56
+ image in the container registry and retained for at least 12 months for
57
+ compliance audits.
58
+
59
+ ### REQ-003 — Image Scanning
60
+
61
+ All container images MUST be scanned for known CVEs before being pushed to a
62
+ production registry, using `trivy`, `grype`, or equivalent integrated into the CI
63
+ pipeline. Severity policy: **Critical and High** CVEs MUST block the build and
64
+ prevent promotion to production; **Medium** CVEs MUST generate a warning and
65
+ create a tracked ticket; **Low and Negligible** CVEs are informational only.
66
+ Base image updates MUST be triggered automatically when upstream images receive
67
+ CVE patches (e.g., via Dependabot or Renovate for Dockerfile base image pins).
68
+
69
+ ## Anti-Patterns
70
+
71
+ - Using the `latest` tag for base images in production Dockerfiles (non-reproducible builds).
72
+ - Running container processes as root (UID 0) in the final runtime stage.
73
+ - Embedding secrets in Docker build ARGs or ENV variables that persist in image layers.
74
+ - Skipping SBOM generation to save CI time, losing supply-chain traceability.
75
+ - Pushing images to production without CVE scanning results.
76
+
77
+ ## Integration with Existing Standards
78
+
79
+ - **`containerization-standards`** — covers layer ordering and tagging; this
80
+ standard adds the supply-chain-security and attestation layer on top.
81
+ - **`secret-management-standards`** — runtime secret injection replaces any
82
+ build-time secret in ARGs/ENV (REQ-001 principle 4).
83
+ - **`supply-chain-security-standards`** — the SBOM and CVE-scanning policy here is
84
+ the container-image facet of the broader supply-chain posture.
85
+ - **`iac-design-principles`** — image build/promotion is itself versioned,
86
+ reproducible infrastructure.
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: Dockerfile five principles, SBOM embedding, image scanning (XSPEC-065) |