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,101 @@
1
+ ---
2
+ source: ../../../core/data-contract.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-17
6
+ source_hash: ef59d3f2e128
7
+ status: current
8
+ ---
9
+
10
+ # Data Contract 標準
11
+
12
+ > **Language**: [English](../../../core/data-contract.md) | 繁體中文
13
+
14
+ > **版本**: 1.0.0 | **狀態**: Active | **更新日期**: 2026-06-17
15
+ > **AI 最佳化版本**: `ai/standards/data-contract.ai.yaml`
16
+ > **規格**: XSPEC-068(cross-project/specs/XSPEC-068-uds-data-engineering-pack.md)
17
+
18
+ ## 概觀
19
+
20
+ 本標準定義資料生產者與消費者之間如何建立、版本化與強制 **data contract**。data
21
+ contract 是一份正式協議,明定某資料集或資料流的 schema、品質保證、SLA 與所有權。
22
+ 涵蓋 contract 規格格式、freshness 與品質 SLO、破壞性變更治理、消費者註冊/通知,
23
+ 以及自動化 contract 測試。可降低因未被發現的上游變更所致的管線失敗。
24
+
25
+ 本標準屬於**資料工程標準包**(XSPEC-068),並為既有 `contract-test-assistant`
26
+ skill 的**錨點標準**(資料側 contract)。
27
+
28
+ > **範圍**:本標準定義 *contract 產物*(格式、SLO、治理、註冊)。具體資料品質引擎
29
+ > (Great Expectations)與目錄(DataHub/Amundsen)屬採用者的選擇。
30
+
31
+ ## 需求
32
+
33
+ | ID | 規則 | 等級 |
34
+ |----|------|------|
35
+ | REQ-001 | Data contract 規格格式 | MUST |
36
+ | REQ-002 | 資料品質 SLO | MUST |
37
+ | REQ-003 | Contract 版本化與破壞性變更治理 | MUST |
38
+ | REQ-004 | 自動化 contract 測試 | MUST |
39
+ | REQ-005 | 消費者註冊與通知 | MUST |
40
+ | REQ-006 | Contract 可發現性 | SHOULD |
41
+
42
+ ### REQ-001 — Data Contract 規格格式
43
+
44
+ 每個共享資料集或資料流 MUST 具備機器可讀 YAML 檔(`data-contract.yaml`)的 data
45
+ contract,與生產者程式碼一同提交版控。contract MUST 包含:`contract_id`、
46
+ `version`、`owner`(team + 聯絡窗口)、description、`schema`(欄位名、型別、
47
+ nullability)、`data_quality` SLO(completeness、freshness、uniqueness)、`sla`
48
+ (交付時間)與消費者清單。
49
+
50
+ ### REQ-002 — 資料品質 SLO
51
+
52
+ 每個 contract MUST 定義跨下列維度的明確資料品質 SLO:**completeness**(必填欄位
53
+ 非 null 比例 ≥ 門檻)、**freshness**(來源後 N 分鐘/小時內更新)、**uniqueness**
54
+ (關鍵欄位 distinct 比例)與 **validity**(符合所定義格式/範圍的比例)。品質 SLO
55
+ 違規 MUST 同時告警生產者與已註冊消費者。
56
+
57
+ ### REQ-003 — Contract 版本化與破壞性變更治理
58
+
59
+ contract MUST 使用語意版本。**PATCH**(向後相容新增、文件)僅需生產者核准。
60
+ **MINOR**(新可選欄位、放寬限制)需提前 7 天通知消費者。**MAJOR**(欄位移除、
61
+ 型別/語意變更)需消費者核准,且在所有已註冊消費者確認就緒前 MUST NOT 部署。
62
+
63
+ ### REQ-004 — 自動化 Contract 測試
64
+
65
+ contract 合規 MUST 自動驗證。生產者 MUST 在每次管線執行時跑 contract 測試,以所
66
+ 宣告 schema 與品質 SLO 驗證輸出:schema 一致性(無非預期 null、型別正確)、
67
+ freshness 在 SLO 窗內、關鍵欄位 uniqueness,以及 row count 在範圍內。contract 測試
68
+ 失敗 MUST 中止管線並呼叫(page)資料 owner。
69
+
70
+ ### REQ-005 — 消費者註冊與通知
71
+
72
+ 消費共享資料集的團隊 MUST 在生產者的 `data-contract.yaml` 中註冊為消費者,含團隊
73
+ 名稱、聯絡方式、用例描述與所消費欄位。已註冊消費者 MUST 在下列情況收到自動通知:
74
+ contract 被修改、品質 SLO 被違反、資料集被棄用,或計劃性維護將影響可用性。
75
+
76
+ ### REQ-006 — Contract 可發現性
77
+
78
+ 組織內所有 data contract SHOULD 可透過中央資料目錄發現,目錄 SHOULD 提供:依
79
+ team/domain 的可搜尋索引、目前健康狀態(SLO 合規)、schema 瀏覽、血緣視覺化
80
+ (哪些管線生產/消費各資料集),以及自助式消費者註冊工作流程。
81
+
82
+ ## 與既有標準的整合
83
+
84
+ - **`contract-test-assistant`(skill)**——本標準為其資料側錨點;該 skill 的 data
85
+ contract 指引引用這些需求。
86
+ - **`data-pipeline`**——管線在每次執行時跑 contract 測試(REQ-004)。
87
+ - **`schema-evolution`**——MAJOR contract 版本對應由 expand-contract 治理的破壞性
88
+ schema 變更。
89
+ - **`audit-trail` / `pii-classification`**——contract 保留與欄位層級敏感度對齊合規
90
+ 標準包(XSPEC-066)。
91
+
92
+ ## 相關規格
93
+
94
+ - XSPEC-068 — UDS 資料工程標準包(本標準來源)
95
+ - XSPEC-066 — 合規與稽核標準包(保留、PII 分級)
96
+
97
+ ## 變更紀錄
98
+
99
+ | 版本 | 日期 | 變更 |
100
+ |------|------|------|
101
+ | v1.0.0 | 2026-06-17 | 初版——REQ-001~006:規格格式、品質 SLO、版本化/治理、自動化測試、消費者註冊、可發現性(XSPEC-068) |
@@ -0,0 +1,217 @@
1
+ ---
2
+ source: ../../../core/data-migration-testing.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-28
6
+ source_hash: 990309b5e8b1
7
+ status: current
8
+ ---
9
+
10
+ # 資料遷移測試
11
+
12
+ > **Language**: [English](../../../core/data-migration-testing.md) | 繁體中文
13
+
14
+ ---
15
+
16
+ ## 概述
17
+
18
+ 資料庫綱要遷移(schema migration)是高風險操作:它以難以輕易復原的方式改變持久化資料,除非有經過測試的回滾路徑。完整的遷移測試套件需驗證三個面向——正確性(up 可乾淨套用)、安全性(down 能還原狀態),以及健壯性(套用兩次無害)。
19
+
20
+ ## 需求摘要
21
+
22
+ | ID | 規則 | 理由 |
23
+ |----|------|------|
24
+ | REQ-DMT-001 | 每個遷移都必須有 up 測試 | 未驗證的遷移會損壞生產環境綱要 |
25
+ | REQ-DMT-002 | 每個具備 down 函式的遷移都必須有回滾測試 | 未測試的回滾在事故期間會失敗 |
26
+ | REQ-DMT-003 | 對同一遷移套用兩次不得失敗 | CI 重試可能觸發重複套用 |
27
+ | REQ-DMT-004 | 變更資料的遷移必須包含資料保存測試 | 綱要正確性 ≠ 資料正確性 |
28
+ | REQ-DMT-005 | 每個測試必須使用隔離資料庫 | 共用狀態會導致非確定性失敗 |
29
+ | REQ-DMT-006 | 跨編碼或跨資料庫引擎的遷移必須包含位元組層編碼轉換測試 | 「看起來相等」會掩蓋 codepoint/normalization/collation 的損壞 |
30
+ | REQ-DMT-007 | business-critical 資料的遷移必須包含聚合不變量測試 | 逐列抽樣會錯過分佈層級的偏移 |
31
+
32
+ ## 測試結構
33
+
34
+ ### 隔離
35
+
36
+ 每個遷移測試都在隔離的資料庫上執行——無論是記憶體資料庫(SQLite `:memory:`)或全新的 Docker 容器(PostgreSQL)。絕對不要對共用的開發或暫存資料庫執行遷移測試。
37
+
38
+ ```typescript
39
+ // 正確:每個測試檔案使用隔離的記憶體資料庫
40
+ const db = new Database(':memory:')
41
+ await applyBaseline(db)
42
+
43
+ // 錯誤:測試共用一個開發資料庫
44
+ const db = openDatabase(process.env.DATABASE_URL)
45
+ ```
46
+
47
+ ### Up 測試
48
+
49
+ 將遷移套用到基準綱要,並斷言預期的套用後狀態。
50
+
51
+ ```typescript
52
+ it('adds email column to users table', async () => {
53
+ await migrate.up(db)
54
+ const columns = db.prepare("PRAGMA table_info(users)").all()
55
+ expect(columns.map(c => c.name)).toContain('email')
56
+ })
57
+ ```
58
+
59
+ ### Down 測試(回滾)
60
+
61
+ 先套用 up,再套用 down,並斷言綱要回到遷移前的狀態。
62
+
63
+ ```typescript
64
+ it('rollback removes email column', async () => {
65
+ await migrate.up(db)
66
+ await migrate.down(db)
67
+ const columns = db.prepare("PRAGMA table_info(users)").all()
68
+ expect(columns.map(c => c.name)).not.toContain('email')
69
+ })
70
+ ```
71
+
72
+ ### 冪等性測試
73
+
74
+ 套用遷移兩次,第二次套用不得拋出例外。
75
+
76
+ ```typescript
77
+ it('applying migration twice is safe', async () => {
78
+ await migrate.up(db)
79
+ await expect(migrate.up(db)).resolves.not.toThrow()
80
+ })
81
+ ```
82
+
83
+ ### 資料保存測試
84
+
85
+ 在遷移前先插入資料列,在遷移後斷言資料完整性。
86
+
87
+ ```typescript
88
+ it('preserves existing user rows', async () => {
89
+ db.prepare("INSERT INTO users (id, name) VALUES (1, 'Alice')").run()
90
+ await migrate.up(db)
91
+ const user = db.prepare("SELECT * FROM users WHERE id = 1").get()
92
+ expect(user.name).toBe('Alice')
93
+ })
94
+ ```
95
+
96
+ ### 編碼轉換測試
97
+
98
+ 當字串「看起來相等」時,綱要層與資料列層的測試都會通過——但底層的位元組可能已被跨編碼或跨引擎的搬移(UTF-8 → UTF-16/`NVARCHAR`、`VARCHAR` → `NVARCHAR`、隱含的 collation 變更)悄悄損壞。跨編碼或跨資料庫引擎的遷移**必須**在**位元組/codepoint/normalization** 層斷言相等,而非顯示層。
99
+
100
+ 要斷言的內容:
101
+
102
+ - **位元組/codepoint 等同**——遷移後的值具有相同的 Unicode codepoint(且在目標以 UTF-16 儲存時,具有預期的單元數),而不只是相同的渲染字形。
103
+ - **Normalization 形式**——NFC vs NFD:`"é"`(U+00E9)與 `"e"+◌́`(U+0065 U+0301)渲染相同但位元組序列不同;斷言形式被保留(或被刻意正規化)。
104
+ - **多位元組邊界**——在來源依**字元**上限截斷的值,不得在目標被依**位元組**上限截斷(一個 4 位元組的 emoji 必須能存活於 `NVARCHAR(n)` 欄位)。
105
+ - **CJK/emoji/組合字**——明確測試輔助平面 codepoint(emoji、罕用 CJK)與組合序列;surrogate-pair 與 collation-folding 的 bug 就藏在這裡。
106
+
107
+ ```typescript
108
+ it('preserves bytes across UTF-8 -> target encoding (no display-only equality)', async () => {
109
+ // 混合 BMP CJK、一個輔助平面 emoji,以及一個 NFD 組合序列
110
+ const samples = [
111
+ '繁體中文', // CJK (BMP)
112
+ '😀 family 👨‍👩‍👧', // emoji 含 ZWJ 序列(輔助平面)
113
+ 'é' // NFD:'e' + 組合銳音符(渲染如 'é')
114
+ ]
115
+ samples.forEach((s, i) =>
116
+ db.prepare('INSERT INTO notes (id, body) VALUES (?, ?)').run(i, s))
117
+
118
+ await migrate.up(db)
119
+
120
+ samples.forEach((expected, i) => {
121
+ const row = db.prepare('SELECT body FROM notes WHERE id = ?').get(i) as { body: string }
122
+ // ❌ 反模式:expect(row.body).toBe(expected) // 即使部分損壞,只要兩者渲染相同就會通過
123
+ // ✅ 在位元組與 codepoint 層斷言:
124
+ expect(Buffer.from(row.body, 'utf8')).toEqual(Buffer.from(expected, 'utf8'))
125
+ expect([...row.body]).toEqual([...expected]) // 逐 codepoint 比對
126
+ expect(row.body.normalize('NFC')).toBe(expected.normalize('NFC')) // 明確的正規化意圖
127
+ })
128
+ })
129
+ ```
130
+
131
+ > **反模式**:只對解碼後的字串斷言 `expect(actual).toBe(expected)`。兩個不同的位元組/normalization 序列可解碼為*看起來*相同的字形,因此顯示層斷言會通過,而儲存的位元組(以及任何下游的 `LIKE`/unique-key/collation 行為)卻已損壞。
132
+
133
+ ### 聚合不變量測試
134
+
135
+ 資料列抽樣能證明個別資料列存活;它**無法**證明*分佈*存活。植入有代表性的資料集,在遷移**前**對 business-critical 欄位擷取聚合不變量,並在遷移**後**斷言其不變。這與 post-cutover 生產對帳所用的 oracle 相同(聚合相等跨越 cutover 邊界),只是在遷移測試期就跑。
136
+
137
+ 要擷取的不變量:`COUNT(*)`、`SUM(money_column)`、`COUNT(DISTINCT key)`,以及依業務維度(如 status 或 period)分組的內容 `checksum`(例如雜湊總和)。
138
+
139
+ ```typescript
140
+ it('preserves aggregate invariants over financial data', async () => {
141
+ seedRepresentativeOrders(db) // 各種 status、金額、幣別
142
+
143
+ const invariantQuery = `
144
+ SELECT status,
145
+ COUNT(*) AS cnt,
146
+ SUM(amount_cents) AS total_cents,
147
+ COUNT(DISTINCT customer_id) AS distinct_customers
148
+ FROM orders
149
+ GROUP BY status
150
+ ORDER BY status`
151
+ const before = db.prepare(invariantQuery).all()
152
+
153
+ await migrate.up(db)
154
+
155
+ const after = db.prepare(invariantQuery).all()
156
+ // 分佈必須完全一致——而非只是「還有一些資料列存在」
157
+ expect(after).toEqual(before)
158
+ })
159
+ ```
160
+
161
+ > 因為聚合把整張表收斂成幾個數字,一個不符的 `SUM`/`COUNT` 就能標出偏移;而逐列抽樣——只檢查你剛好挑到的資料列——會完全錯過它。
162
+
163
+ ## 跨方言遷移:SQLite → SQL Server 風險表
164
+
165
+ 當遷移同時改變資料庫引擎(不只綱要)時,來源與目標方言在型別語義、比較與排序上會分歧。下表每一項分歧都是資料可能悄悄改變意義之處,也是上述編碼與聚合測試(以及 reverse-engineering-standards.md 中非 HTTP 隱含規則掃描)的 derive 清單輸入。
166
+
167
+ | 風險點 | SQLite | SQL Server | 遷移須驗 |
168
+ |---|---|---|---|
169
+ | **型別系統** | 動態型別(值層 type affinity) | 靜態/強型別 | 每欄宣告型別;掃描 SQLite 容忍的越界/混型別值 |
170
+ | **布林** | 通常存成 `0/1` 整數 | `BIT` | `0/1` ↔ `BIT` 對映;NULL 布林的處理 |
171
+ | **日期時間** | 常存為 `TEXT`/`REAL`/`INTEGER` | `datetime2`/`datetimeoffset` | 格式解析、時區處理、精度截斷 |
172
+ | **自增主鍵** | `AUTOINCREMENT` | `IDENTITY` | 既有 id 連續性;正確的 seed/reseed 值 |
173
+ | **大小寫/collation** | `LIKE` 預設大小寫不敏感;`NOCASE` | 由欄位 collation 決定 | 對齊 collation;檢查 unique-key 折疊衝突 |
174
+ | **NULL 排序** | NULL 排最前(最小) | 依設定而定 | `ORDER BY` 結果順序不變量跨引擎 |
175
+ | **浮點精度** | `REAL` | `float`/`decimal` | 金額/精確值改用 `decimal` 避免捨入誤差 |
176
+ | **字串串接** | `\|\|` | `+`/`CONCAT` | 改寫查詢;對齊 NULL 串接語義 |
177
+ | **分頁** | `LIMIT`/`OFFSET` | `OFFSET .. FETCH`/`TOP` | 改寫 + 保證穩定排序鍵以取得確定性分頁 |
178
+
179
+ > 每個「查詢改寫/語義差異」格也可能藏一條**隱含業務規則**——把本表餵入反向工程的隱含規則掃描階段。
180
+
181
+ ## 工具
182
+
183
+ ### SQLite / Drizzle ORM
184
+
185
+ ```typescript
186
+ import Database from 'better-sqlite3'
187
+ import { drizzle } from 'drizzle-orm/better-sqlite3'
188
+ import { migrate } from 'drizzle-orm/better-sqlite3/migrator'
189
+
190
+ const sqlite = new Database(':memory:')
191
+ const db = drizzle(sqlite)
192
+ await migrate(db, { migrationsFolder: './drizzle' })
193
+ ```
194
+
195
+ ### PostgreSQL
196
+
197
+ 使用 `testcontainers` 為每個測試套件啟動一個全新的 PostgreSQL 容器。容器在套件結束後銷毀,確保隔離性。
198
+
199
+ ## 反模式
200
+
201
+ - **對共用資料庫進行測試** — 造成跨測試污染、不可重複的建置結果
202
+ - **跳過 down 遷移測試** — 回滾在生產事故中失敗
203
+ - **事後撰寫遷移測試且未預先植入資料** — 完全錯過資料保存的 bug
204
+ - **提交遷移卻沒有對應的測試** — 遷移在進入生產前完全未被測試
205
+ - **只對解碼後的值斷言字串相等** — 即使位元組、normalization 形式或 codepoint 在跨編碼/跨引擎變更中已損壞,顯示層相等仍會通過
206
+ - **僅以資料列抽樣驗證跨引擎遷移** — 分佈層級的偏移(錯誤的 `SUM`/`COUNT`/`DISTINCT`)會逃過任何剛好錯過受影響資料列的抽樣
207
+
208
+ ## 參閱
209
+
210
+ - `database-standards.ai.yaml` — 綱要設計原則
211
+ - `testing.ai.yaml` — 通用測試結構與金字塔
212
+ - `verification-evidence.ai.yaml` — 稽核證據需求
213
+ - `behavior-snapshot.ai.yaml` — 同樣的「別只比看起來相等」原則,作用於 oracle/序列化層,而非 DB 儲存層
214
+
215
+ ---
216
+
217
+ **Scope**: universal
@@ -0,0 +1,105 @@
1
+ ---
2
+ source: ../../../core/data-pipeline.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-17
6
+ source_hash: 5a7a49049bd8
7
+ status: current
8
+ ---
9
+
10
+ # 資料管線標準
11
+
12
+ > **Language**: [English](../../../core/data-pipeline.md) | 繁體中文
13
+
14
+ > **版本**: 1.0.0 | **狀態**: Active | **更新日期**: 2026-06-17
15
+ > **AI 最佳化版本**: `ai/standards/data-pipeline.ai.yaml`
16
+ > **規格**: XSPEC-068(cross-project/specs/XSPEC-068-uds-data-engineering-pack.md)
17
+
18
+ ## 概觀
19
+
20
+ 本標準定義建構**可靠、可觀測且可維護資料管線**的工程要求。涵蓋 idempotency 與
21
+ exactly-once 語意、錯誤處理與 dead-letter queue、checkpoint 與復原、資料血緣
22
+ (lineage)追蹤、管線可觀測性與 SLO,以及測試要求。適用於批次 ETL、串流管線與
23
+ ML 特徵管線。
24
+
25
+ 本標準屬於**資料工程標準包**(XSPEC-068)。它將 `database-standards`(涵蓋靜態 DB
26
+ schema)延伸至資料的移動與轉換,並複用 SRE 家族的可靠性與可觀測性基本元件
27
+ (`observability-standards`、`slo-sli`)。
28
+
29
+ > **範圍**:本標準定義*管線設計原則*(idempotency、錯誤處理、復原、血緣、可觀測性、
30
+ > 測試)。具體 orchestrator(Airflow/Dagster)、lineage store(Marquez/DataHub)與
31
+ > DLQ 傳輸屬採用者的選擇。
32
+
33
+ ## 需求
34
+
35
+ | ID | 規則 | 等級 |
36
+ |----|------|------|
37
+ | REQ-001 | Idempotency 與 exactly-once 處理 | MUST |
38
+ | REQ-002 | 錯誤處理與 dead-letter queue | MUST |
39
+ | REQ-003 | Checkpoint 與復原 | MUST |
40
+ | REQ-004 | 資料血緣追蹤 | MUST |
41
+ | REQ-005 | 管線可觀測性與 SLO | MUST |
42
+ | REQ-006 | 管線測試要求 | MUST |
43
+
44
+ ### REQ-001 — Idempotency 與 Exactly-Once 處理
45
+
46
+ 每條管線 MUST 設計為 **idempotent** 執行:對相同時間窗或批次重跑同一管線,MUST
47
+ 產生相同輸出且無重複或資料遺失。管線 MUST 使用確定性鍵去重。批次管線 MUST 支援
48
+ 歷史 partition 的乾淨重跑。串流管線 MUST 實作 exactly-once,或以唯一 event ID 去重
49
+ 的 at-least-once。批次工作偏好覆寫輸出 partition 而非附加。
50
+
51
+ ### REQ-002 — 錯誤處理與 Dead-Letter Queue
52
+
53
+ 管線 MUST 實作具分類失敗模式的結構化錯誤處理。**Transient** 錯誤(網路逾時、API
54
+ 速率限制)MUST 使用指數退避重試(最多 3 次)。**Permanent** 錯誤(schema 違規、
55
+ 無效資料)MUST 將紀錄路由至 Dead-Letter Queue(DLQ),帶有原始紀錄、錯誤類型、
56
+ 錯誤訊息與處理時間戳。DLQ 紀錄 MUST 受監控並在管線 SLA 內處理。
57
+
58
+ ### REQ-003 — Checkpoint 與復原
59
+
60
+ 長時間批次管線與有狀態串流管線 MUST 實作 **checkpointing**,以在執行中途失敗時
61
+ 復原而無需全量重跑。Checkpoint MUST 記錄最後成功處理的 partition/offset/watermark、
62
+ job run ID 與時間戳。復原 MUST 從最後 checkpoint 續跑,而非從頭開始。Checkpoint
63
+ 狀態 MUST 儲存於耐久的外部儲存,而非本機磁碟。
64
+
65
+ ### REQ-004 — 資料血緣追蹤
66
+
67
+ 每條管線 MUST 發出**血緣中繼資料**,描述其資料流:來源資料集(含版本/時間戳)、
68
+ 所套用的轉換邏輯,以及產出的輸出資料集。血緣 MUST 為機器可讀並匯入中央 lineage
69
+ store 或資料目錄,以支援資料品質問題的根因分析與上游變更的影響評估。
70
+
71
+ ### REQ-005 — 管線可觀測性與 SLO
72
+
73
+ 每條正式管線 MUST 暴露:已處理紀錄數(counter)、處理延遲(histogram)、錯誤率
74
+ (gauge)、DLQ 深度(gauge)與最後成功執行時間戳。管線 MUST 為 **freshness**
75
+ (來源後 N 小時內可用)、**completeness**(≥ X% 紀錄成功處理)與 **latency**
76
+ (p95 在門檻內)定義 SLO。SLO 違規 MUST 觸發告警。
77
+
78
+ ### REQ-006 — 管線測試要求
79
+
80
+ 管線 MUST 具備自動化測試,涵蓋:轉換邏輯的單元測試(樣本輸入/輸出)、以合成資料
81
+ 驗證端到端流程的整合測試,以及驗證輸出符合所宣告 data contract(`data-contract`)
82
+ 的 schema 一致性測試。管線 SHOULD 對歷史問題邊界案例(關鍵欄位 null、負數金額、
83
+ 重複紀錄)具備回歸測試。轉換邏輯的測試覆蓋率 MUST ≥ 80%。
84
+
85
+ ## 與既有標準的整合
86
+
87
+ - **`data-contract`**——schema 一致性測試以生產者宣告的 contract 與品質 SLO 驗證
88
+ 管線輸出。
89
+ - **`schema-evolution`**——管線須容忍來源的向後相容 schema 變更。
90
+ - **`observability-standards` / `slo-sli`**——管線 metric 與 freshness/completeness
91
+ SLO 複用 SRE 可觀測性與 SLO 基本元件。
92
+ - **`database-standards`**——將靜態 schema 標準延伸至資料移動。
93
+ - **`audit-trail`**——backfill 與重跑記錄稽核事件(原因)。
94
+
95
+ ## 相關規格
96
+
97
+ - XSPEC-068 — UDS 資料工程標準包(本標準來源)
98
+ - XSPEC-066 — 合規與稽核標準包(backfill 原因用 `audit-trail`)
99
+ - XSPEC-063 — SRE 標準包(`observability-standards`、`slo-sli`)
100
+
101
+ ## 變更紀錄
102
+
103
+ | 版本 | 日期 | 變更 |
104
+ |------|------|------|
105
+ | v1.0.0 | 2026-06-17 | 初版——REQ-001~006:idempotency、錯誤處理/DLQ、checkpoint/復原、血緣、可觀測性/SLO、測試(XSPEC-068) |