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
+ # 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) |
@@ -46,7 +46,7 @@ These standards are fundamental to every AI interaction and must always be loade
46
46
  |--------|-----------|---------------------|
47
47
  | `testing` | testing, unit-testing, integration-testing, test-completeness-dimensions, tdd, bdd, atdd | Writing tests, test file edits, "test coverage" discussion |
48
48
  | `specification` | spec-driven-development, forward-derivation, reverse-engineering, requirement-engineering | `/sdd`, `/spec` commands, spec file edits |
49
- | `quality` | code-review, refactoring, security, performance, accessibility | `/review` command, PR review, "refactor" discussion |
49
+ | `quality` | code-review, refactoring, security, performance, accessibility | `/code-review` command, PR review, "refactor" discussion |
50
50
  | `documentation` | documentation-structure, documentation-writing, ai-instruction, changelog | Writing docs, README/CHANGELOG edits |
51
51
  | `workflow` | git-workflow, github-flow, squash-merge, versioning, deployment | Branch operations, release preparation, merging |
52
52
  | `architecture` | ai-friendly-architecture, project-structure, error-codes, logging | Architecture decisions, project setup |
@@ -62,7 +62,7 @@ Session Start
62
62
  ├─ Load all always-on standards
63
63
  ├─ Scan user request for trigger keywords
64
64
  ├─ Match file patterns if user is editing files
65
- ├─ Detect slash commands (/sdd, /review, etc.)
65
+ ├─ Detect slash commands (/sdd, /code-review, etc.)
66
66
  └─ Load matching on-demand standards
67
67
  ```
68
68
 
@@ -65,7 +65,7 @@ describe("PipelineBudgetConfig semantics", () => {
65
65
  ## Related Standards
66
66
 
67
67
  - [Mutation Testing Standards](mutation-testing.md) — constants without test coverage survive mutations
68
- - [Testing Standards](testing.md) — overall test pyramid
68
+ - [Testing Standards](testing-standards.md) — overall test pyramid
69
69
  - [LLM Output Validation](llm-output-validation.md) — output-layer budget constraints
70
70
 
71
71
 
@@ -2,10 +2,11 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/cross-flow-regression.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-05-05
5
+ **Version**: 1.0.1
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects with multiple user flows or business processes
8
8
  **Scope**: universal
9
+ **Owning Spec**: XSPEC-294 (complements flow-based-testing; non-overlapping)
9
10
  **Industry Standards**: ISTQB Advanced Test Analyst (Regression Test Strategy)
10
11
  **References**: `core/flow-based-testing.md`, `core/testing-standards.md`
11
12
 
@@ -0,0 +1,104 @@
1
+ # Data Contract Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/data-contract.ai.yaml`
5
+ > **Spec**: XSPEC-068 (cross-project/specs/XSPEC-068-uds-data-engineering-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines how **data contracts** are established, versioned, and
12
+ enforced between data producers and consumers. A data contract is a formal
13
+ agreement specifying the schema, quality guarantees, SLAs, and ownership of a
14
+ dataset or stream. It covers the contract specification format, freshness and
15
+ quality SLOs, breaking-change governance, consumer registration/notification, and
16
+ automated contract testing. It reduces pipeline failures caused by undiscovered
17
+ upstream changes.
18
+
19
+ It is part of the **data-engineering pack** (XSPEC-068) and is the **anchor
20
+ standard** for the existing `contract-test-assistant` skill (data-side contracts).
21
+
22
+ > **Scope.** This standard defines the *contract artifact* (format, SLOs,
23
+ > governance, registration). The concrete data-quality engine (Great
24
+ > Expectations) and catalog (DataHub/Amundsen) are adoption choices.
25
+
26
+ ## Requirements
27
+
28
+ | ID | Rule | Level |
29
+ |----|------|-------|
30
+ | REQ-001 | Data-contract specification format | MUST |
31
+ | REQ-002 | Data-quality SLOs | MUST |
32
+ | REQ-003 | Contract versioning and breaking-change governance | MUST |
33
+ | REQ-004 | Automated contract testing | MUST |
34
+ | REQ-005 | Consumer registration and notification | MUST |
35
+ | REQ-006 | Contract discoverability | SHOULD |
36
+
37
+ ### REQ-001 — Data Contract Specification Format
38
+
39
+ Every shared dataset or stream MUST have a data contract in a machine-readable
40
+ YAML file (`data-contract.yaml`) committed alongside the producer code. The
41
+ contract MUST include: `contract_id`, `version`, `owner` (team + contact),
42
+ description, `schema` (field names, types, nullability), `data_quality` SLOs
43
+ (completeness, freshness, uniqueness), `sla` (delivery time), and the consumer
44
+ list.
45
+
46
+ ### REQ-002 — Data Quality SLOs
47
+
48
+ Every contract MUST define explicit data-quality SLOs across these dimensions:
49
+ **completeness** (% non-null for required fields ≥ threshold), **freshness** (data
50
+ updated within N minutes/hours of source), **uniqueness** (% distinct for key
51
+ fields), and **validity** (% conforming to defined format/range). Quality SLO
52
+ violations MUST trigger alerts to both producer and registered consumers.
53
+
54
+ ### REQ-003 — Contract Versioning and Breaking-Change Governance
55
+
56
+ Contracts MUST use semantic versioning. **PATCH** (backward-compatible additions,
57
+ docs) requires only producer approval. **MINOR** (new optional fields, relaxed
58
+ constraints) requires consumer notification with 7-day notice. **MAJOR** (field
59
+ removal, type/semantic changes) requires consumer approval and MUST NOT deploy
60
+ until all registered consumers confirm readiness.
61
+
62
+ ### REQ-004 — Automated Contract Testing
63
+
64
+ Contract compliance MUST be verified automatically. Producers MUST run contract
65
+ tests on every pipeline execution, validating output against the declared schema
66
+ and quality SLOs: schema conformance (no unexpected nulls, correct types),
67
+ freshness within the SLO window, uniqueness of key fields, and row count within
68
+ range. Contract test failures MUST halt the pipeline and page the data owner.
69
+
70
+ ### REQ-005 — Consumer Registration and Notification
71
+
72
+ Teams consuming a shared dataset MUST register as consumers in the producer's
73
+ `data-contract.yaml`, including team name, contact, use-case description, and
74
+ fields consumed. Registered consumers MUST receive automated notifications when:
75
+ the contract is modified, quality SLOs are breached, the dataset is deprecated, or
76
+ planned maintenance affects availability.
77
+
78
+ ### REQ-006 — Contract Discoverability
79
+
80
+ All data contracts SHOULD be discoverable through a central data catalog providing:
81
+ a searchable index by team/domain, current health status (SLO compliance), schema
82
+ browsing, lineage visualization (which pipelines produce/consume each dataset), and
83
+ a self-service consumer-registration workflow.
84
+
85
+ ## Integration with Existing Standards
86
+
87
+ - **`contract-test-assistant` (skill)** — this standard is its data-side anchor;
88
+ the skill's data-contract guidance references these requirements.
89
+ - **`data-pipeline`** — pipelines run contract tests (REQ-004) on every execution.
90
+ - **`schema-evolution`** — MAJOR contract versions correspond to breaking schema
91
+ changes governed by expand-contract.
92
+ - **`audit-trail` / `pii-classification`** — contract retention and field-level
93
+ sensitivity align with the compliance pack (XSPEC-066).
94
+
95
+ ## Related Specs
96
+
97
+ - XSPEC-068 — UDS data-engineering pack (this standard's source)
98
+ - XSPEC-066 — Compliance & audit pack (retention, PII tiering)
99
+
100
+ ## Changelog
101
+
102
+ | Version | Date | Changes |
103
+ |---------|------|---------|
104
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~006: spec format, quality SLOs, versioning/governance, automated testing, consumer registration, discoverability (XSPEC-068) |
@@ -13,6 +13,8 @@ Database schema migrations are high-risk operations: they transform persistent d
13
13
  | REQ-DMT-003 | Applying the same migration twice must not fail | CI retries can trigger double-apply |
14
14
  | REQ-DMT-004 | Migrations that alter data must include a data preservation test | Schema correctness ≠ data correctness |
15
15
  | REQ-DMT-005 | Each test must use an isolated database | Shared state causes non-deterministic failures |
16
+ | REQ-DMT-006 | Migrations that cross encodings or DB engines must include a byte-level encoding conversion test | "Looks equal" hides codepoint/normalization/collation corruption |
17
+ | REQ-DMT-007 | Migrations of business-critical data must include an aggregate invariant test | Row-by-row sampling misses distribution-level drift |
16
18
 
17
19
  ## Test Structure
18
20
 
@@ -78,6 +80,91 @@ it('preserves existing user rows', async () => {
78
80
  })
79
81
  ```
80
82
 
83
+ ### Encoding Conversion Test
84
+
85
+ Schema-level and row-level tests both pass when a string "looks equal" on screen — yet the underlying bytes can be silently corrupted by a cross-encoding or cross-engine move (UTF-8 → UTF-16/`NVARCHAR`, `VARCHAR` → `NVARCHAR`, an implicit collation change). A migration that crosses encodings or DB engines MUST assert equality at the **byte / codepoint / normalization** level, not the display level.
86
+
87
+ What to assert:
88
+
89
+ - **Byte / codepoint identity** — the migrated value has the same Unicode codepoints (and, where the target stores UTF-16, the expected unit count), not just the same rendered glyphs.
90
+ - **Normalization form** — NFC vs NFD: `"é"` (U+00E9) and `"e"+◌́` (U+0065 U+0301) render identically but are different byte sequences; assert the form is preserved (or deliberately normalized).
91
+ - **Multi-byte boundaries** — values truncated to a *character* limit on the source must not be truncated to a *byte* limit on the target (a 4-byte emoji must survive a `NVARCHAR(n)` column).
92
+ - **CJK / emoji / combining marks** — exercise supplementary-plane codepoints (emoji, rare CJK) and combining sequences explicitly; these are where surrogate-pair and collation-folding bugs hide.
93
+
94
+ ```typescript
95
+ it('preserves bytes across UTF-8 -> target encoding (no display-only equality)', async () => {
96
+ // Mix BMP CJK, a supplementary-plane emoji, and an NFD combining sequence
97
+ const samples = [
98
+ '繁體中文', // CJK (BMP)
99
+ '😀 family 👨‍👩‍👧', // emoji incl. ZWJ sequence (supplementary plane)
100
+ 'é' // NFD: 'e' + combining acute (renders like 'é')
101
+ ]
102
+ samples.forEach((s, i) =>
103
+ db.prepare('INSERT INTO notes (id, body) VALUES (?, ?)').run(i, s))
104
+
105
+ await migrate.up(db)
106
+
107
+ samples.forEach((expected, i) => {
108
+ const row = db.prepare('SELECT body FROM notes WHERE id = ?').get(i) as { body: string }
109
+ // ❌ Anti-pattern: expect(row.body).toBe(expected) // passes even on partial corruption if both render the same
110
+ // ✅ Assert at the byte and codepoint level:
111
+ expect(Buffer.from(row.body, 'utf8')).toEqual(Buffer.from(expected, 'utf8'))
112
+ expect([...row.body]).toEqual([...expected]) // codepoint-by-codepoint
113
+ expect(row.body.normalize('NFC')).toBe(expected.normalize('NFC')) // explicit normalization intent
114
+ })
115
+ })
116
+ ```
117
+
118
+ > **Anti-pattern**: asserting only `expect(actual).toBe(expected)` on the decoded string. Two different byte/normalization sequences can decode to glyphs that *look* identical, so a display-level assertion passes while the stored bytes (and any downstream `LIKE`/unique-key/collation behavior) are corrupted.
119
+
120
+ ### Aggregate Invariant Test
121
+
122
+ Row sampling proves individual rows survived; it does **not** prove the *distribution* survived. Seed a representative dataset, capture aggregate invariants over business-critical columns **before** the migration, and assert they are unchanged **after**. This is the same oracle used for post-cutover production reconciliation (aggregate equality across the cutover boundary), run here at migration-test time.
123
+
124
+ Invariants to capture: `COUNT(*)`, `SUM(money_column)`, `COUNT(DISTINCT key)`, and a content `checksum` (e.g. summed hash) grouped by a business dimension such as status or period.
125
+
126
+ ```typescript
127
+ it('preserves aggregate invariants over financial data', async () => {
128
+ seedRepresentativeOrders(db) // statuses, amounts, currencies
129
+
130
+ const invariantQuery = `
131
+ SELECT status,
132
+ COUNT(*) AS cnt,
133
+ SUM(amount_cents) AS total_cents,
134
+ COUNT(DISTINCT customer_id) AS distinct_customers
135
+ FROM orders
136
+ GROUP BY status
137
+ ORDER BY status`
138
+ const before = db.prepare(invariantQuery).all()
139
+
140
+ await migrate.up(db)
141
+
142
+ const after = db.prepare(invariantQuery).all()
143
+ // Distribution must be identical — not just "some rows still exist"
144
+ expect(after).toEqual(before)
145
+ })
146
+ ```
147
+
148
+ > Because aggregates collapse the whole table into a few numbers, a single mismatched `SUM`/`COUNT` flags drift that row-by-row sampling — which only inspects the rows you happened to pick — would miss entirely.
149
+
150
+ ## Cross-Dialect Migration: SQLite → SQL Server Risk Table
151
+
152
+ When a migration also changes the database engine (not just the schema), the source and target dialects disagree on type semantics, comparison, and ordering. Each disagreement below is a place where data can silently change meaning, and is a derive-list input for the encoding and aggregate tests above (and for the non-HTTP implicit-rule scan in reverse-engineering-standards.md).
153
+
154
+ | Risk point | SQLite | SQL Server | What the migration must verify |
155
+ |---|---|---|---|
156
+ | **Type system** | Dynamic typing (per-value type affinity) | Static / strong typing | Declare a type per column; scan for out-of-range / mixed-type values that SQLite tolerated |
157
+ | **Boolean** | Usually stored as `0/1` integer | `BIT` | `0/1` ↔ `BIT` mapping; handling of NULL booleans |
158
+ | **Date / time** | Often stored as `TEXT` / `REAL` / `INTEGER` | `datetime2` / `datetimeoffset` | Format parse, time-zone handling, precision truncation |
159
+ | **Auto-increment PK** | `AUTOINCREMENT` | `IDENTITY` | Continuity of existing ids; correct seed/reseed value |
160
+ | **Case / collation** | `LIKE` case-insensitive by default; `NOCASE` | Determined by column collation | Align collation; check for unique-key folding collisions |
161
+ | **NULL ordering** | NULLs sort first (smallest) | Depends on configuration | `ORDER BY` result-order invariant across engines |
162
+ | **Float precision** | `REAL` | `float` / `decimal` | Move money/exact values to `decimal` to avoid rounding error |
163
+ | **String concat** | `\|\|` | `+` / `CONCAT` | Rewrite queries; reconcile NULL-concatenation semantics |
164
+ | **Pagination** | `LIMIT` / `OFFSET` | `OFFSET .. FETCH` / `TOP` | Rewrite + guarantee a stable sort key for deterministic pages |
165
+
166
+ > Each "query rewrite / semantics differs" cell may also hide an **implicit business rule** — feed this table into the Implicit Rule Scan stage of reverse engineering.
167
+
81
168
  ## Tooling
82
169
 
83
170
  ### SQLite / Drizzle ORM
@@ -102,12 +189,15 @@ Use `testcontainers` to spin up a fresh PostgreSQL container per test suite. The
102
189
  - **Skipping down migration tests** — rollbacks fail during production incidents
103
190
  - **Writing migration tests after the fact without seeding data** — misses data preservation bugs entirely
104
191
  - **Committing a migration without a corresponding test** — the migration is untested until production
192
+ - **Asserting string equality only on the decoded value** — display-level equality passes even when bytes, normalization form, or codepoints were corrupted across an encoding/engine change
193
+ - **Validating a cross-engine migration with row sampling alone** — distribution-level drift (a wrong `SUM`/`COUNT`/`DISTINCT`) escapes any sample that happens to miss the affected rows
105
194
 
106
195
  ## See Also
107
196
 
108
197
  - `database-standards.ai.yaml` — schema design principles
109
198
  - `testing.ai.yaml` — general test structure and pyramid
110
199
  - `verification-evidence.ai.yaml` — audit evidence requirements
200
+ - `behavior-snapshot.ai.yaml` — same "don't compare what merely *looks* equal" principle, applied at the oracle/serialization layer rather than the DB storage layer
111
201
 
112
202
 
113
203
  **Scope**: universal
@@ -0,0 +1,113 @@
1
+ # Data Pipeline Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/data-pipeline.ai.yaml`
5
+ > **Spec**: XSPEC-068 (cross-project/specs/XSPEC-068-uds-data-engineering-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines engineering requirements for building **reliable,
12
+ observable, and maintainable data pipelines**. It covers idempotency and
13
+ exactly-once semantics, error handling and dead-letter queues, checkpoint and
14
+ recovery, data-lineage tracking, pipeline observability and SLOs, and testing
15
+ requirements. It applies to batch ETL, streaming pipelines, and ML feature
16
+ pipelines.
17
+
18
+ It is part of the **data-engineering pack** (XSPEC-068). It extends
19
+ `database-standards` (which covers static DB schema) into the movement and
20
+ transformation of data, and reuses the reliability and observability primitives
21
+ of the SRE family (`observability-standards`, `slo-sli`).
22
+
23
+ > **Scope.** This standard defines the *pipeline design principles* (idempotency,
24
+ > error handling, recovery, lineage, observability, testing). The concrete
25
+ > orchestrator (Airflow/Dagster), lineage store (Marquez/DataHub), and DLQ
26
+ > transport are adoption choices.
27
+
28
+ ## Requirements
29
+
30
+ | ID | Rule | Level |
31
+ |----|------|-------|
32
+ | REQ-001 | Idempotency and exactly-once processing | MUST |
33
+ | REQ-002 | Error handling and dead-letter queues | MUST |
34
+ | REQ-003 | Checkpoint and recovery | MUST |
35
+ | REQ-004 | Data-lineage tracking | MUST |
36
+ | REQ-005 | Pipeline observability and SLOs | MUST |
37
+ | REQ-006 | Pipeline testing requirements | MUST |
38
+
39
+ ### REQ-001 — Idempotency and Exactly-Once Processing
40
+
41
+ Every pipeline MUST be designed for **idempotent** execution: re-running the same
42
+ pipeline for the same time window or batch MUST produce identical output without
43
+ duplication or data loss. Pipelines MUST use deterministic keys for
44
+ deduplication. Batch pipelines MUST support clean re-processing of historical
45
+ partitions. Streaming pipelines MUST implement exactly-once, or at-least-once with
46
+ deduplication using unique event IDs. For batch jobs, overwriting output
47
+ partitions is preferred over appending.
48
+
49
+ ### REQ-002 — Error Handling and Dead-Letter Queues
50
+
51
+ Pipelines MUST implement structured error handling with categorized failure modes.
52
+ **Transient** errors (network timeout, API rate limit) MUST use exponential
53
+ backoff retry (max 3 attempts). **Permanent** errors (schema violation, invalid
54
+ data) MUST route records to a Dead-Letter Queue (DLQ) carrying the original
55
+ record, error type, error message, and processing timestamp. DLQ records MUST be
56
+ monitored and addressed within the pipeline's SLA.
57
+
58
+ ### REQ-003 — Checkpoint and Recovery
59
+
60
+ Long-running batch pipelines and stateful streaming pipelines MUST implement
61
+ **checkpointing** to recover from mid-run failures without full reprocessing.
62
+ Checkpoints MUST record the last successfully processed partition/offset/watermark,
63
+ the job run ID, and a timestamp. Recovery MUST resume from the last checkpoint,
64
+ not from the beginning. Checkpoint state MUST be stored in durable external
65
+ storage, not local disk.
66
+
67
+ ### REQ-004 — Data Lineage Tracking
68
+
69
+ Every pipeline MUST emit **lineage metadata** describing its data flow: source
70
+ datasets (with versions/timestamps), transformation logic applied, and output
71
+ datasets produced. Lineage MUST be machine-readable and ingested into a central
72
+ lineage store or data catalog, enabling root-cause analysis of data-quality
73
+ issues and impact assessment of upstream changes.
74
+
75
+ ### REQ-005 — Pipeline Observability and SLOs
76
+
77
+ Every production pipeline MUST expose: records processed (counter), processing
78
+ latency (histogram), error rate (gauge), DLQ depth (gauge), and last successful
79
+ run timestamp. Pipelines MUST define SLOs for **freshness** (data available within
80
+ N hours of source), **completeness** (≥ X% records successfully processed), and
81
+ **latency** (p95 within threshold). SLO violations MUST trigger alerts.
82
+
83
+ ### REQ-006 — Pipeline Testing Requirements
84
+
85
+ Pipelines MUST have automated tests covering: unit tests for transformation logic
86
+ (sample input/output), integration tests validating end-to-end flow with synthetic
87
+ data, and schema-conformance tests validating output against the declared data
88
+ contract (`data-contract`). Pipelines SHOULD have regression tests for
89
+ historically problematic edge cases (nulls in key fields, negative amounts,
90
+ duplicate records). Test coverage MUST be ≥ 80% for transformation logic.
91
+
92
+ ## Integration with Existing Standards
93
+
94
+ - **`data-contract`** — schema-conformance tests validate pipeline output against
95
+ the producer's declared contract and quality SLOs.
96
+ - **`schema-evolution`** — pipelines must tolerate backward-compatible schema
97
+ changes in their sources.
98
+ - **`observability-standards` / `slo-sli`** — pipeline metrics and freshness/
99
+ completeness SLOs reuse the SRE observability and SLO primitives.
100
+ - **`database-standards`** — extends the static-schema standard into data movement.
101
+ - **`audit-trail`** — backfills and reprocessing record an audit event (reason).
102
+
103
+ ## Related Specs
104
+
105
+ - XSPEC-068 — UDS data-engineering pack (this standard's source)
106
+ - XSPEC-066 — Compliance & audit pack (`audit-trail` for backfill reasons)
107
+ - XSPEC-063 — SRE pack (`observability-standards`, `slo-sli`)
108
+
109
+ ## Changelog
110
+
111
+ | Version | Date | Changes |
112
+ |---------|------|---------|
113
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~006: idempotency, error handling/DLQ, checkpoint/recovery, lineage, observability/SLO, testing (XSPEC-068) |
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/deprecation-standards.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-03-31
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**: RFC 8594 (Sunset Header), RFC 8288 (Web Linking)
@@ -57,6 +57,19 @@ When a new version is released, the old version MUST be maintained for at least
57
57
 
58
58
  This ensures consumers have adequate time to migrate without service disruption.
59
59
 
60
+ ### Minimum Deprecation Period by API Tier
61
+
62
+ The 6-stage Sunset Timeline above shows the **default cadence for a public API** (roughly 6 months of notice from Announce to Sunset). The *minimum* deprecation period scales with the API's audience and criticality. Apply the **longer** of the tier minimum below and the Version Parallel Period above:
63
+
64
+ | API Tier | Minimum Deprecation Period |
65
+ |----------|----------------------------|
66
+ | **Internal API** | 1 minor version |
67
+ | **Partner API** | 2 minor versions + 3 months |
68
+ | **Public API** | 2 minor versions + 6 months |
69
+ | **Critical Infrastructure** | 1 year minimum |
70
+
71
+ These are minimums; a longer period may be required by an SLA or contractual commitment (see [Feature Sunset → Impact Analysis](#impact-analysis)). What *counts* as a breaking change that triggers deprecation, and the API versioning mechanics themselves, live in [API Design Standards](api-design-standards.md#api-versioning-strategies) — this standard is the single source of truth only for the deprecation timeline and these notice periods.
72
+
60
73
  ---
61
74
 
62
75
  ## Consumer Notification Strategy
@@ -200,6 +213,7 @@ No alternative exists? → Build alternative first
200
213
 
201
214
  | Version | Date | Changes |
202
215
  |---------|------|---------|
216
+ | 1.1.0 | 2026-06-24 | Added: Minimum Deprecation Period by API Tier — establishes this standard as the single source of truth for deprecation periods, consolidated from versioning.md and harmonized with the Sunset Timeline and Version Parallel Period (XSPEC-298 R8, UDS #126) |
203
217
  | 1.0.0 | 2026-03-31 | Initial release: API Deprecation, Feature Sunset, System Decommission, Retirement Metrics |
204
218
 
205
219
  ---
@@ -2,10 +2,11 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/developer-memory.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-02-07
5
+ **Version**: 1.1.1
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects using AI assistants
8
8
  **Scope**: universal
9
+ **Owning Spec**: XSPEC-291 (developer-memory has no dedicated feature XSPEC; XSPEC-291 owns it)
9
10
  **Industry Standards**: None (UDS original)
10
11
 
11
12
  ---
@@ -233,11 +234,14 @@ AI scans the memory store and generates a review report covering:
233
234
 
234
235
  #### Retirement Suggestions
235
236
 
236
- | Trigger | Action |
237
- |---------|--------|
238
- | `confidence < 0.2` | Suggest retirement |
239
- | Not surfaced in 180+ days AND `confidence < 0.5` | Suggest retirement |
240
- | 5+ `invalid` feedback entries | Suggest retirement |
237
+ Thresholds are UDS defaults (configurable per project); the rationale is
238
+ recorded so each value is auditable rather than arbitrary.
239
+
240
+ | Trigger | Action | Rationale |
241
+ |---------|--------|-----------|
242
+ | `confidence < 0.2` | Suggest retirement | Repeatedly invalidated knowledge is more noise than signal |
243
+ | Not surfaced in 180+ days AND `confidence < 0.5` | Suggest retirement | Half-year dormancy combined with low confidence means the memory is no longer relevant to active work; the 180-day window matches the staleness/decay model in Staleness Detection below |
244
+ | 5+ `invalid` feedback entries | Suggest retirement | Sustained negative feedback signals the memory is wrong or obsolete |
241
245
 
242
246
  #### Staleness Detection
243
247
 
@@ -548,7 +552,7 @@ Developer Persistent Memory is classified as an **Always-On Protocol**, not a Us
548
552
 
549
553
  | Pattern | Characteristics | Examples | Skill Required? |
550
554
  |---------|----------------|----------|-----------------|
551
- | **User-Triggered** | User explicitly invokes, multi-step guided workflow | `/commit`, `/review`, `/sdd` | Yes |
555
+ | **User-Triggered** | User explicitly invokes, multi-step guided workflow | `/commit`, `/code-review`, `/sdd` | Yes |
552
556
  | **Always-On Protocol** | AI continuously follows rules after loading ai.yaml | Anti-hallucination, Developer Memory | No |
553
557
 
554
558
  ### Rationale: No CLI / Skill / Slash Command Needed
@@ -587,6 +591,7 @@ If user feedback reveals:
587
591
 
588
592
  | Version | Date | Changes |
589
593
  |---------|------|---------|
594
+ | 1.1.0 | 2026-06-18 | Added: rationale column + configurable note to Retirement Suggestions thresholds (XSPEC-292 T8) |
590
595
  | 1.0.0 | 2026-02-07 | Initial standard: schema, 4 operations, proactive protocol, noise control, architecture decision (Always-On Protocol) |
591
596
 
592
597
  ---
@@ -818,7 +818,7 @@ Track translation status in translated document headers:
818
818
  ---
819
819
  translation_status: current | needs_update | in_progress
820
820
  source_version: 1.2.0
821
- source_hash: abc123
821
+ source_hash: a1b2c3d4e5f6 # first 12 chars of `git hash-object <source>`
822
822
  translated_by: human | machine | machine+human-review
823
823
  last_synced: 2026-03-17
824
824
  ---
@@ -991,7 +991,7 @@ Ensure documentation is accessible to all users, following WCAG 2.1 Level A guid
991
991
  | Requirement | Description | Example |
992
992
  |-------------|-------------|---------|
993
993
  | **Plain language** | Use clear, simple language; target grade 8 reading level | Avoid: "utilize" → Use: "use" |
994
- | **Alt text for images** | Provide descriptive alt text for all non-decorative images | `![Architecture diagram showing three-tier layout](arch.png)` |
994
+ | **Alt text for images** | Provide descriptive alt text for all non-decorative images | `![Architecture diagram showing three-tier layout](path/to/arch.png)` |
995
995
  | **Heading hierarchy** | Use proper heading levels (h1→h2→h3), never skip levels | Don't jump from `#` to `###` |
996
996
  | **Link text** | Use descriptive link text, not "click here" | Avoid: [click here] → Use: [installation guide] |
997
997
  | **Code blocks** | Use fenced code blocks with language identifiers | ` ```javascript ` not ` ``` ` |
@@ -2,10 +2,11 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/error-code-standards.md)
4
4
 
5
- **Version**: 1.2.0
6
- **Last Updated**: 2026-03-18
5
+ **Version**: 1.2.1
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects
8
8
  **Scope**: universal
9
+ **Owning Spec**: XSPEC-291 (no dedicated feature XSPEC; XSPEC-291 owns this standard)
9
10
  **Industry Standards**: RFC 7807, RFC 9457
10
11
  **References**: [datatracker.ietf.org](https://datatracker.ietf.org/doc/html/rfc7807)
11
12
 
@@ -580,7 +581,7 @@ AUTH_VAL_001
580
581
 
581
582
  **Related Standards:**
582
583
  - [Logging Standards](logging-standards.md) - Error logging practices
583
- - [API Documentation Standards](api-documentation-standards.md) - Error response documentation
584
+ - [API Documentation Standards](api-design-standards.md) - Error response documentation
584
585
 
585
586
  ---
586
587