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
@@ -3,10 +3,10 @@
3
3
 
4
4
  id: data-migration-testing
5
5
  meta:
6
- version: "1.0.0"
7
- updated: "2026-05-05"
6
+ version: "1.1.0"
7
+ updated: "2026-06-27"
8
8
  source: core/data-migration-testing.md
9
- description: Database migration up/down/idempotency testing standards for schema changes
9
+ description: Database migration up/down/idempotency testing standards for schema changes, plus encoding-conversion and aggregate-invariant testing for cross-encoding/cross-engine migrations
10
10
 
11
11
  requirements:
12
12
  REQ-1:
@@ -63,6 +63,33 @@ requirements:
63
63
  Shared migration state between tests causes non-deterministic failures that are
64
64
  extremely difficult to diagnose.
65
65
 
66
+ REQ-6:
67
+ id: REQ-DMT-006
68
+ title: Encoding Conversion Test
69
+ rule: >
70
+ Migrations that cross encodings or DB engines (e.g. UTF-8 -> UTF-16/NVARCHAR,
71
+ VARCHAR -> NVARCHAR, or an implicit collation change) MUST include a test that
72
+ asserts equality at the BYTE / codepoint / normalization level — not display
73
+ level. Cover NFC vs NFD normalization, multi-byte boundaries, and CJK / emoji /
74
+ combining marks (supplementary-plane codepoints).
75
+ rationale: >
76
+ Two different byte or normalization sequences can decode to glyphs that look
77
+ identical, so a display-level (toBe) assertion passes while the stored bytes —
78
+ and downstream LIKE / unique-key / collation behavior — are silently corrupted.
79
+
80
+ REQ-7:
81
+ id: REQ-DMT-007
82
+ title: Aggregate Invariant Test
83
+ rule: >
84
+ Migrations of business-critical data MUST capture aggregate invariants
85
+ (COUNT(*), SUM(column), COUNT(DISTINCT key), checksum) grouped by a business
86
+ dimension BEFORE the migration and assert they are unchanged AFTER. Same oracle
87
+ as post-cutover production reconciliation, run at migration-test time.
88
+ rationale: >
89
+ Row-by-row sampling proves individual rows survived but not that the distribution
90
+ survived; a single wrong SUM/COUNT/DISTINCT flags drift that any sample missing
91
+ the affected rows would not catch.
92
+
66
93
  test_structure:
67
94
  isolation: "Each migration test MUST run against an isolated in-memory or temp DB"
68
95
  baseline: "Start from the schema state immediately before the migration under test"
@@ -71,6 +98,48 @@ test_structure:
71
98
  down: "Assert schema returns to pre-migration state"
72
99
  idempotency: "Apply migration twice; second apply must succeed without error"
73
100
  data: "Seed rows before migration; assert row count and values after"
101
+ encoding: "Assert byte/codepoint/normalization identity (Buffer compare + spread-to-codepoints + normalize), NOT display-level toBe; cover NFC/NFD, multi-byte boundaries, CJK/emoji/combining marks"
102
+ aggregate: "Capture COUNT/SUM/COUNT(DISTINCT)/checksum grouped by business dimension before; assert deep-equal after"
103
+
104
+ cross_dialect_risks:
105
+ description: "SQLite -> SQL Server semantic disagreements; derive-list input for encoding/aggregate tests and the non-HTTP implicit-rule scan"
106
+ rows:
107
+ - point: Type system
108
+ sqlite: Dynamic typing (per-value affinity)
109
+ sqlserver: Static / strong typing
110
+ verify: Declare per-column type; scan for out-of-range / mixed-type values
111
+ - point: Boolean
112
+ sqlite: Stored as 0/1 integer
113
+ sqlserver: BIT
114
+ verify: 0/1 <-> BIT mapping; NULL boolean handling
115
+ - point: Date/time
116
+ sqlite: TEXT / REAL / INTEGER
117
+ sqlserver: datetime2 / datetimeoffset
118
+ verify: Format parse, time-zone, precision truncation
119
+ - point: Auto-increment PK
120
+ sqlite: AUTOINCREMENT
121
+ sqlserver: IDENTITY
122
+ verify: Existing id continuity; correct seed/reseed
123
+ - point: Case / collation
124
+ sqlite: LIKE case-insensitive by default / NOCASE
125
+ sqlserver: Determined by column collation
126
+ verify: Align collation; check unique-key folding collisions
127
+ - point: NULL ordering
128
+ sqlite: NULLs sort first (smallest)
129
+ sqlserver: Depends on configuration
130
+ verify: ORDER BY result-order invariant
131
+ - point: Float precision
132
+ sqlite: REAL
133
+ sqlserver: float / decimal
134
+ verify: Move money/exact values to decimal to avoid rounding error
135
+ - point: String concat
136
+ sqlite: "||"
137
+ sqlserver: "+ / CONCAT"
138
+ verify: Rewrite queries; reconcile NULL-concat semantics
139
+ - point: Pagination
140
+ sqlite: LIMIT / OFFSET
141
+ sqlserver: OFFSET..FETCH / TOP
142
+ verify: Rewrite + stable sort key for deterministic pages
74
143
 
75
144
  tooling_guidance:
76
145
  sqlite: "Use ':memory:' DSN; apply migrations via ORM migrate() or raw SQL"
@@ -89,6 +158,13 @@ anti_patterns:
89
158
  - description: >
90
159
  Writing migration tests after the fact without seeding data — misses the
91
160
  data preservation class of bugs entirely.
161
+ - description: >
162
+ Asserting string equality only on the decoded value — display-level equality
163
+ passes even when bytes, normalization form, or codepoints were corrupted across
164
+ an encoding/engine change.
165
+ - description: >
166
+ Validating a cross-engine migration with row sampling alone — distribution-level
167
+ drift (a wrong SUM/COUNT/DISTINCT) escapes any sample that misses the affected rows.
92
168
 
93
169
  related_standards:
94
170
  - testing
@@ -3,8 +3,8 @@
3
3
 
4
4
  id: deprecation-standards
5
5
  meta:
6
- version: "1.0.0"
7
- updated: "2026-03-31"
6
+ version: "1.1.0"
7
+ updated: "2026-06-24"
8
8
  source: core/deprecation-standards.md
9
9
  description: API deprecation, feature sunset, system decommission lifecycle
10
10
 
@@ -21,6 +21,14 @@ api_deprecation:
21
21
  sunset: "Sunset: Sat, 31 Dec 2026 23:59:59 GMT"
22
22
  successor: 'Link: <url>; rel="successor-version"'
23
23
  parallel_period: "≥6 months after new GA, or 3 months after last consumer migrates"
24
+ # Single source of truth for deprecation periods (consolidated from versioning.md,
25
+ # XSPEC-298 R8 / UDS #126). Sunset timeline above = default public-API cadence.
26
+ # Apply the LONGER of the tier minimum and parallel_period.
27
+ minimum_period_by_tier:
28
+ internal_api: "1 minor version"
29
+ partner_api: "2 minor versions + 3 months"
30
+ public_api: "2 minor versions + 6 months"
31
+ critical_infrastructure: "1 year minimum"
24
32
 
25
33
  notification_channels:
26
34
  - "CHANGELOG / Release Notes"
@@ -13,8 +13,8 @@ standard:
13
13
  - "Respect noise control levels and cooldown periods"
14
14
 
15
15
  meta:
16
- version: "1.0.0"
17
- updated: "2026-02-07"
16
+ version: "1.1.0"
17
+ updated: "2026-06-18"
18
18
  source: core/developer-memory.md
19
19
  description: Structured system for capturing, retrieving, and surfacing developer experience insights across conversations and projects
20
20
 
@@ -115,7 +115,8 @@ standard:
115
115
  bonus_rules:
116
116
  - "3 consecutive valid: bonus +0.05"
117
117
  - "3 consecutive invalid: flag for review"
118
- - "confidence < 0.2: flag for retirement"
118
+ - "confidence < 0.2: flag for retirement (repeatedly invalidated = noise)"
119
+ - "not surfaced 180+ days AND confidence < 0.5: flag for retirement (dormant + low confidence; 180d matches staleness model; UDS default, configurable)"
119
120
  - "confidence > 0.9 after 10+ uses: mark proven"
120
121
 
121
122
  review:
@@ -3,7 +3,7 @@
3
3
 
4
4
  id: documentation-writing-standards
5
5
  meta:
6
- version: "1.1.0"
6
+ version: "1.2.0"
7
7
  updated: "2026-03-17"
8
8
  source: core/documentation-writing-standards.md
9
9
  description: Documentation requirements based on project types (enhanced ADR, LLM writing, quality metrics, translation-friendly)
@@ -3,8 +3,8 @@
3
3
 
4
4
  id: flow-based-testing
5
5
  meta:
6
- version: "1.0.0"
7
- updated: "2026-05-04"
6
+ version: "1.0.1"
7
+ updated: "2026-06-18"
8
8
  source: core/flow-based-testing.md
9
9
  description: Flow decomposition methodology for testing multi-step processes with branch coverage
10
10
 
@@ -3,8 +3,8 @@
3
3
 
4
4
  id: forward-derivation
5
5
  meta:
6
- version: "1.1.0"
7
- updated: "2026-04-01"
6
+ version: "1.3.0"
7
+ updated: "2026-06-18"
8
8
  source: core/forward-derivation-standards.md
9
9
  description: Standards for deriving BDD, TDD, IT, E2E, ATDD, and Contract tests from approved SDD specifications
10
10
 
@@ -134,6 +134,21 @@ anti_hallucination:
134
134
  - Inventing test cases beyond AC scope
135
135
  - Fabricating edge cases not specified
136
136
 
137
+ # Failure handling (failure -> rollback -> retry/escalate -> re-verify)
138
+ failure_handling:
139
+ description: What happens when a derivation gate fails; recovery always ends by re-verifying the failed gate
140
+ matrix:
141
+ - failure: AC parse error (unsupported format)
142
+ action: Abort that AC, report file:line + expected GWT/bullet format, emit no skeleton, re-queue after SPEC fix
143
+ - failure: AC count mismatch (tests != ACs)
144
+ action: "[anti-hallucination] hard rollback + regenerate strict 1:1; never add/delete tests to match the count"
145
+ - failure: Skeleton does not parse/compile
146
+ action: Roll back the file and regenerate with the correct template; on a 2nd failure mark the AC [BLOCKED] and escalate
147
+ - failure: Human review rejection
148
+ action: Record the reason and regenerate only the rejected items with that feedback; never auto-approve
149
+ - failure: Missing @SPEC/@AC attribution
150
+ action: Block the transition into TDD RED and re-emit with attribution
151
+
137
152
  # Commands
138
153
  commands:
139
154
  - command: "/derive-bdd"
@@ -167,6 +182,15 @@ commands:
167
182
 
168
183
  # Rules for AI
169
184
  rules:
185
+ - id: fd-fail-gate-halts
186
+ instruction: A gate failure must halt progression; never enter TDD RED with an unresolved failure
187
+ priority: required
188
+ - id: fd-fail-count-hard-rollback
189
+ instruction: A test/AC count mismatch is a hard rollback, not a reconciliation; never add or delete tests to match the count
190
+ priority: required
191
+ - id: fd-fail-bounded-retry-escalate
192
+ instruction: Bound automated retries (max 2 for transient/template errors); on exhaustion mark the AC [BLOCKED] and escalate to a human
193
+ priority: required
170
194
  - id: approved-spec-only
171
195
  instruction: Only derive from approved specifications
172
196
  priority: required
@@ -1,17 +1,20 @@
1
1
  # Frontend Design Standards - AI Optimized
2
2
  # Source: core/frontend-design-standards.md
3
3
  # Based on: DEC-029 (awesome-design-md, MIT), DEC-030 (OpenAI Frontend Guide)
4
- # Version: 1.0.0
4
+ # Version: 1.1.0
5
5
 
6
6
  id: frontend-design-standards
7
7
  meta:
8
- version: "1.0.0"
9
- updated: "2026-04-13"
8
+ version: "1.1.0"
9
+ updated: "2026-07-10"
10
10
  source: core/frontend-design-standards.md
11
11
  description: |
12
12
  DESIGN.md 前端設計標準:9 段結構、語義色彩 token、字體角色、
13
13
  間距比例、UI 硬性約束與 anti-pattern 清單。
14
14
  適用所有含前端介面的專案。
15
+ v1.1.0 新增選填擴充:YAML frontmatter token 註冊表 +
16
+ {category.token} 內插語法 + components 結構化綁定
17
+ (借鑑 DEC-029 上游演化,Trial,不影響既有 5-token 治理收斂)。
15
18
 
16
19
  # DESIGN.md 必填 9 段結構
17
20
  design_md_sections:
@@ -78,6 +81,24 @@ design_md_sections:
78
81
  description: "AI Agent 快速讀取的設計意圖摘要"
79
82
  required_fields: [style_summary, key_constraints, tone]
80
83
 
84
+ # 選填擴充:token 內插語法 + 結構化 components 綁定(v1.1.0,Trial)
85
+ # 不影響上方 5-token/4-role/7-step 治理收斂;是既有 token 的機器可解析層,非新增 token 的許可證。
86
+ optional_extensions:
87
+ token_interpolation:
88
+ status: optional_trial
89
+ description: "DESIGN.md 可選填 YAML frontmatter 宣告 colors/typography/rounded/spacing token 字典,正文用 {category.token} 語法引用"
90
+ frontmatter_keys: [colors, typography, rounded, spacing]
91
+ syntax: "{category.token}"
92
+ rule: "frontmatter 的 colors 必須對應 5 個必要語義 token;引用不存在的 category.token 視為驗證錯誤,非靜默 fallback"
93
+ structured_components:
94
+ status: optional_trial
95
+ description: "Section 4(Component Styling)可選填 components: 區塊,把元件綁定到 {category.token} 引用"
96
+ rule: "components: 區塊內每個值都必須是 {category.token} 引用,禁止直接寫 hex/px 原始值"
97
+ not_adopted:
98
+ - "不隨附 lint CLI(上游有獨立 @google/design.md npm 套件,本標準不綁定特定驗證工具)"
99
+ - "不做框架專屬匯出格式(React/Vue/CSS-in-JS 產生器)"
100
+ - "不擴增 5/4/7 token 數量(內插語法讓既有 token 可引用,不是加 token 的理由)"
101
+
81
102
  # 語義色彩 5 個必要 token
82
103
  semantic_color_tokens:
83
104
  required:
@@ -265,6 +286,15 @@ rules:
265
286
  禁止將首頁設計成 Dashboard Grid。
266
287
  priority: required
267
288
 
289
+ - id: respect-token-interpolation-if-present
290
+ trigger: "當 DESIGN.md 含 YAML frontmatter token 註冊表時(v1.1.0 選填擴充)"
291
+ instruction: |
292
+ 解析 {category.token} 引用時一律對照 frontmatter 實際值,
293
+ 不得憑記憶或猜測填入色值/尺寸。
294
+ 引用不存在的 category.token 視為錯誤,向使用者回報而非靜默略過。
295
+ 若 DESIGN.md 沒有 frontmatter,此規則不適用(擴充為選填,非強制)。
296
+ priority: recommended
297
+
268
298
  # 快速參考表
269
299
  quick_reference:
270
300
  semantic_tokens:
@@ -8,8 +8,8 @@ standard:
8
8
  description: Behavior-completeness full coverage paradigm replacing pyramid thresholds. Enforces anti-fake-test rules, STUB marker protocol, ratchet CI, and @ac traceability.
9
9
 
10
10
  meta:
11
- version: "1.0.0"
12
- updated: "2026-05-06"
11
+ version: "1.1.0"
12
+ updated: "2026-06-17"
13
13
  source: core/full-coverage-testing.md
14
14
  replaces: "testing pyramid thresholds (UT≥80%/IT≥70%/E2E happy-path-only)"
15
15
  xspec: "XSPEC-178"
@@ -191,6 +191,38 @@ standard:
191
191
  - "Anti-fake rules: no tautology, no business-logic mocks"
192
192
  - "STUB protocol: deployment gates on all environments"
193
193
 
194
+ # XSPEC-288: Migration Error-Path Completeness (axis 9 of XSPEC-284 completeness matrix)
195
+ # The three-path model requires an error path PER FUNCTION; this adds the migration
196
+ # guarantee that legacy error/degradation/fallback branches are SYSTEMATICALLY carried
197
+ # over, not merely sampled. Systematic-enumeration + gap-analysis layer above the
198
+ # XSPEC-201 error-path snapshot.
199
+ migration_error_path_completeness:
200
+ axis: "9 (error paths) of XSPEC-284 migration completeness matrix"
201
+ why_gap: "Per-function error path + XSPEC-201 snapshot verify only enumerated error cases. A rewrite drops scattered error branches in bulk; a passing sample does not prove no branch was missed."
202
+ derive: # R1 mechanized legacy exception/error-code list
203
+ sources:
204
+ catch_blocks: "grep catch/except/rescue -> every caught exception type + handler"
205
+ exception_hierarchy: "custom exception/error class taxonomy"
206
+ error_codes: "HTTP status, app error codes, error enums"
207
+ error_shapes: "error serializers/DTOs -> on-the-wire error contract"
208
+ note: "Captured list is the error-path to-verify checklist, sourced from artifacts not recall."
209
+ gap_analysis: # R2 systematic missing-branch oracle
210
+ rule: "for EACH legacy error branch verify a corresponding new-system handler; no mapping -> not_implemented (XSPEC-199) -> BLOCK"
211
+ output: "missing-error-branch gap report over the full derived list, not a passing sample"
212
+ degradation_parity: # R3
213
+ checklist: [external_failure_fallback, retry_policy, partial_result_handling, circuit_breaker_timeout]
214
+ goal: "not consistent on happy path but wildly different on failure"
215
+ error_response_differential: # R4
216
+ extends: "behavior-snapshot parity + XSPEC-284 R5 replay, applied to the ERROR response"
217
+ compare: [error_code, message_structure, http_status]
218
+ importance_ranking: "rank by production-actual trigger frequency (#134 production is the oracle); fired-in-prod branches mapped first; a high-frequency prod error branch with no mapping is a hard block"
219
+ gate_timing: [pre-UAT, "cutover before/after"]
220
+ completeness_declaration:
221
+ derive: "Step1 mechanized exception/error-code list"
222
+ oracle: "Step2 systematic gap analysis + Step4 error-response differential"
223
+ gate_timing: "pre-UAT + cutover before/after"
224
+ reuse: "XSPEC-201 error-path snapshot + three-path model; adds only systematic missing-branch analysis + error-response differential"
225
+
194
226
  physical_spec:
195
227
  type: custom_script
196
228
  validator:
@@ -8,8 +8,8 @@ standard:
8
8
  description: Git Worktree 隔離開發標準
9
9
 
10
10
  meta:
11
- version: "1.0.0"
12
- updated: "2026-03-20"
11
+ version: "1.1.0"
12
+ updated: "2026-06-18"
13
13
  source: core/git-worktree.md
14
14
  description: Git Worktree 隔離開發與生命週期管理標準
15
15
  inspired_by: superpowers/using-git-worktrees
@@ -54,7 +54,7 @@ standard:
54
54
  priority: critical
55
55
  - id: GW-002
56
56
  trigger: "基準測試失敗"
57
- action: "中止任務,報告環境問題"
57
+ action: "先重試至多 2 次(指數退避)以排除暫時性失敗;若持續失敗則中止任務並報告環境問題"
58
58
  priority: high
59
59
  - id: GW-003
60
60
  trigger: "異常退出"
@@ -3,10 +3,26 @@
3
3
 
4
4
  id: logging
5
5
  meta:
6
- version: "1.3.0"
7
- updated: "2026-05-26"
6
+ version: "1.4.0"
7
+ updated: "2026-06-17"
8
8
  source: core/logging-standards.md
9
- description: Logging levels, structured logging, file rotation policy, and best practices
9
+ description: Logging levels, structured logging, mandatory events catalog, file rotation policy, and best practices
10
+
11
+ # XSPEC-070 Phase 2 — skill↔standard content-coverage audit.
12
+ # Consumed by scripts/check-skill-content-coverage.ts: the anchor skill
13
+ # (logging-guide) MUST mention each mandatory event id below, or CONTENT-002 fires.
14
+ # Source of truth: core/logging-standards.md "Mandatory Events" catalog (9 canonical events).
15
+ audit:
16
+ mandatory_keywords:
17
+ - application_startup
18
+ - request_received
19
+ - validation_failure
20
+ - authentication_failure
21
+ - outbound_call_start
22
+ - outbound_call_complete
23
+ - business_event
24
+ - heartbeat
25
+ - shutdown
10
26
 
11
27
  log_levels:
12
28
  ordered:
@@ -51,6 +67,69 @@ structured_logging:
51
67
  field_naming: snake_case
52
68
  format: JSON in production
53
69
 
70
+ # When you MUST write a log entry (XSPEC-234 / closes #108).
71
+ # Compliant formatting but silent-at-the-critical-moment logging is excluded.
72
+ mandatory_events:
73
+ - id: application_startup
74
+ when: After process boot, before accepting requests
75
+ level: INFO
76
+ must_log: [app_name, version, git_sha, environment, hostname, pid, listening_endpoints]
77
+ must_not_log: [secrets, full_connection_strings]
78
+ rationale: Lifecycle blind spot; confirms which build/config is actually live
79
+ - id: request_received
80
+ when: First time HTTP middleware sees a request
81
+ level: INFO/DEBUG
82
+ must_log: [method, path, source_ip, request_id]
83
+ must_not_log: [request_body, auth_headers]
84
+ rationale: Establishes request_id correlation from the edge inward
85
+ - id: validation_failure
86
+ when: schema / ModelState / DTO validation rejects
87
+ level: WARN
88
+ must_log: [request_id, path, missing_fields, payload_shape]
89
+ must_not_log: [field_values, pii]
90
+ rationale: Framework rejects before handler; payload otherwise never logged (incident #2)
91
+ - id: authentication_failure
92
+ when: login / token verification fails
93
+ level: WARN
94
+ must_log: [uid_attempted, source_ip, failure_reason]
95
+ must_not_log: [password, token_value]
96
+ rationale: 'Account or password error alone is un-investigable without uid/IP (incident #3)'
97
+ - id: outbound_call_start
98
+ when: An outbound HTTP/RPC call is initiated
99
+ level: INFO
100
+ must_log: [target_url_host_path, request_id_propagated, timeout_ms]
101
+ must_not_log: [credentials, bearer_tokens]
102
+ rationale: A send-failed error must leave a trace that the call was even attempted
103
+ - id: outbound_call_complete
104
+ when: An external call returns or fails
105
+ level: INFO/WARN/ERROR
106
+ must_log: [status_code_or_failure_phase, elapsed_ms, retries]
107
+ must_not_log: [response_body_with_pii]
108
+ rationale: Distinguish dns/tcp/tls/http failure phase for diagnosis
109
+ - id: business_event
110
+ when: A state-changing business operation completes
111
+ level: INFO
112
+ must_log: [operation_name, actor, target_ids, outcome]
113
+ must_not_log: [full_record_payload, pii]
114
+ rationale: Audit trail of what changed and by whom
115
+ - id: heartbeat
116
+ when: Long-running background service, at least once per 60 seconds
117
+ level: INFO
118
+ must_log: [service_name, queue_depth, items_processed_since_last_heartbeat]
119
+ must_not_log: []
120
+ rationale: Detect silent/0-byte background worker; enables silence detection (incident #4)
121
+ - id: shutdown
122
+ when: Process exits (graceful or fatal)
123
+ level: INFO/ERROR
124
+ must_log: [app_name, signal_or_reason, uptime_seconds, pending_work_count]
125
+ must_not_log: []
126
+ rationale: Lifecycle blind spot; reveals crash vs graceful and lost in-flight work
127
+
128
+ mandatory_events_follow_on_rules:
129
+ access_log_separation: Health-probe/liveness traffic MUST NOT pollute business-event log (separate sink)
130
+ silence_detection_sla: Alert after N minutes with no events, N <= 2x heartbeat interval
131
+ request_id_discoverability: Error responses to client SHOULD carry request_id for support correlation
132
+
54
133
  sensitive_data:
55
134
  never_log:
56
135
  - passwords
@@ -80,6 +159,19 @@ rules:
80
159
  instruction: Use structured JSON logging with required fields
81
160
  priority: required
82
161
 
162
+ - id: mandatory-events
163
+ trigger: implementing startup/shutdown, request handling, validation, auth, outbound calls, background services
164
+ instruction: |
165
+ Emit the mandatory events catalog entries (see mandatory_events):
166
+ application_startup, request_received, validation_failure,
167
+ authentication_failure, outbound_call_start, outbound_call_complete,
168
+ business_event, heartbeat, shutdown. A log that follows every formatting
169
+ rule but never fires at the critical moment is excluded. Validation rejects
170
+ MUST log payload_shape (keys only, not values); auth failures MUST log
171
+ uid+source_ip (never password/token); background services MUST heartbeat
172
+ so silence is detectable.
173
+ priority: required
174
+
83
175
  - id: include-context
84
176
  trigger: logging operations
85
177
  instruction: Include request_id or trace_id for correlation
@@ -185,9 +277,11 @@ quick_reference:
185
277
 
186
278
  enforcement:
187
279
  hook_type: PostToolUse
280
+ trigger: PostToolUse
188
281
  matcher:
189
282
  tool: Write
190
283
  path: "src/**/*.ts"
191
284
  script_ref: "scripts/hooks/check-logging-standard.js"
285
+ hook_script: "scripts/hooks/check-logging-standard.js"
192
286
  severity: warning
193
287
  timeout_ms: 500
@@ -3,14 +3,17 @@
3
3
 
4
4
  id: mock-boundary
5
5
  meta:
6
- version: "1.1.0"
7
- updated: "2026-05-13"
6
+ version: "1.2.0"
7
+ updated: "2026-07-01"
8
8
  source: core/mock-boundary.md
9
9
  description: >
10
10
  Rules defining what can and cannot be mocked to prevent hollow tests —
11
11
  tests that pass while the real system is broken.
12
12
  v1.1.0: Added Level 1/Level 2 mock layer distinction and external
13
13
  dependency testability matrix template (XSPEC-204).
14
+ v1.2.0: Added injectable background execution as a seam (parallel to clock
15
+ injection) — allowed background-runner seam, no-poll/sleep rule, and the
16
+ poll/sleep-for-background-result anti-pattern (issue #143).
14
17
 
15
18
  # ─────────────────────────────────────────────────────────
16
19
  # Mock Levels (v1.1.0)
@@ -150,6 +153,31 @@ allowed:
150
153
  // 1. The DB layer has its own integration tests
151
154
  // 2. The service test focuses on service logic (not DB behavior)
152
155
 
156
+ - category: In-Process Background Execution (via injectable runner)
157
+ description: >
158
+ Fire-and-forget dispatch — Task.Run, unawaited promises, setTimeout,
159
+ goroutines, thread-pool/executor submission, asyncio.create_task
160
+ reason: >
161
+ Background dispatch is a seam, exactly like the system clock. Inject a
162
+ runner so the test can drive the work to deterministic, awaited completion
163
+ and assert on success/exception/retry — instead of polling or sleeping.
164
+ implementation: >
165
+ Abstract dispatch behind a small interface (e.g. IBackgroundTaskRunner /
166
+ BackgroundDispatcher). Production keeps true fire-and-forget semantics;
167
+ the test double runs the work inline and tracks the Task/promise, exposing
168
+ a handle the test can await before asserting.
169
+ example: |
170
+ // Production: real fire-and-forget — returns immediately, work runs detached
171
+ class FireAndForgetDispatcher implements BackgroundDispatcher {
172
+ dispatch(work: () => Promise<void>): void { void work() }
173
+ }
174
+ // Test: inline + tracked so the test can await deterministic completion
175
+ class DeterministicDispatcher implements BackgroundDispatcher {
176
+ private tasks: Promise<void>[] = []
177
+ dispatch(work: () => Promise<void>): void { this.tasks.push(work()) }
178
+ async settle(): Promise<void> { await Promise.all(this.tasks) }
179
+ }
180
+
153
181
  # ─────────────────────────────────────────────────────────
154
182
  # Forbidden Mocks
155
183
  # ─────────────────────────────────────────────────────────
@@ -253,6 +281,15 @@ anti_patterns:
253
281
  description: DB mock returns hardcoded data, hiding query logic errors
254
282
  problem: Schema migrations, wrong predicates, missing joins — all invisible
255
283
 
284
+ - name: Poll/Sleep for Background Result
285
+ description: >
286
+ Sleeping or polling to wait for in-process fire-and-forget work
287
+ (Task.Run, unawaited promise, setTimeout, goroutine) to finish
288
+ problem: >
289
+ The race is still there — the timeout only hides it most of the time while
290
+ slowing the whole suite; on a shared runner it leaks flakiness into other
291
+ MRs' CI. Same class of anti-pattern as depending on wall-clock time.
292
+
256
293
  # ─────────────────────────────────────────────────────────
257
294
  # Rules
258
295
  # ─────────────────────────────────────────────────────────
@@ -297,6 +334,15 @@ rules:
297
334
  If any hollow test indicator triggers, rewrite the mocking strategy.
298
335
  priority: required
299
336
 
337
+ - id: no-poll-sleep-for-background-work
338
+ trigger: test asserts a fire-and-forget side effect (Task.Run, unawaited promise, setTimeout, goroutine, executor)
339
+ instruction: >
340
+ Never poll or sleep to wait for in-process background work. Inject a
341
+ deterministic runner (e.g. IBackgroundTaskRunner / BackgroundDispatcher)
342
+ whose test double runs the work inline and tracks the Task/promise; await
343
+ the tracked task, then assert on success, exception, or retry.
344
+ priority: required
345
+
300
346
  - id: level-2-stub-server-rules
301
347
  trigger: UAT environment lacks a real external service (SMS, payment, IdP)
302
348
  instruction: >