universal-dev-standards 5.16.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/bin/uds.js +13 -135
  2. package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
  3. package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
  4. package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
  5. package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
  6. package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
  7. package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
  8. package/bundled/ai/standards/code-review.ai.yaml +2 -2
  9. package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
  10. package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
  11. package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
  12. package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
  13. package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
  14. package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
  15. package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
  16. package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
  17. package/bundled/ai/standards/logging.ai.yaml +97 -3
  18. package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
  19. package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
  20. package/bundled/ai/standards/model-selection.ai.yaml +11 -2
  21. package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
  22. package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
  23. package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
  24. package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
  25. package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
  26. package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
  27. package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
  28. package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
  29. package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
  30. package/bundled/ai/standards/security-testing.ai.yaml +13 -2
  31. package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
  32. package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
  33. package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
  34. package/bundled/ai/standards/versioning.ai.yaml +32 -38
  35. package/bundled/core/acceptance-criteria-traceability.md +15 -5
  36. package/bundled/core/accessibility-standards.md +8 -4
  37. package/bundled/core/ai-friendly-architecture.md +1 -1
  38. package/bundled/core/ai-response-navigation.md +31 -3
  39. package/bundled/core/anti-sycophancy-prompting.md +1 -1
  40. package/bundled/core/api-design-standards.md +92 -7
  41. package/bundled/core/audit-trail.md +119 -0
  42. package/bundled/core/behavior-snapshot.md +94 -7
  43. package/bundled/core/browser-compatibility-standards.md +15 -2
  44. package/bundled/core/checkin-standards.md +9 -2
  45. package/bundled/core/code-review-checklist.md +10 -2
  46. package/bundled/core/container-image-standards.md +97 -0
  47. package/bundled/core/context-aware-loading.md +2 -2
  48. package/bundled/core/cost-budget-test.md +1 -1
  49. package/bundled/core/cross-flow-regression.md +3 -2
  50. package/bundled/core/data-contract.md +104 -0
  51. package/bundled/core/data-migration-testing.md +90 -0
  52. package/bundled/core/data-pipeline.md +113 -0
  53. package/bundled/core/deprecation-standards.md +16 -2
  54. package/bundled/core/developer-memory.md +13 -8
  55. package/bundled/core/documentation-writing-standards.md +1 -1
  56. package/bundled/core/error-code-standards.md +4 -3
  57. package/bundled/core/flaky-test-management.md +1 -1
  58. package/bundled/core/flow-based-testing.md +3 -3
  59. package/bundled/core/forward-derivation-standards.md +33 -5
  60. package/bundled/core/full-coverage-testing.md +72 -0
  61. package/bundled/core/git-worktree.md +4 -4
  62. package/bundled/core/guides/performance-guide.md +1 -1
  63. package/bundled/core/guides/security-guide.md +1 -1
  64. package/bundled/core/health-check-standards.md +2 -2
  65. package/bundled/core/iac-design-principles.md +97 -0
  66. package/bundled/core/incident-response.md +119 -0
  67. package/bundled/core/license-compliance.md +2 -0
  68. package/bundled/core/logging-standards.md +78 -2
  69. package/bundled/core/mock-boundary.md +54 -2
  70. package/bundled/core/model-provenance.md +181 -0
  71. package/bundled/core/model-selection.md +27 -2
  72. package/bundled/core/packaging-standards.md +1 -0
  73. package/bundled/core/performance-standards.md +96 -2
  74. package/bundled/core/pii-classification.md +148 -0
  75. package/bundled/core/pipeline-security-gates.md +22 -2
  76. package/bundled/core/postmortem-standards.md +2 -0
  77. package/bundled/core/prd-standards.md +91 -0
  78. package/bundled/core/privacy-standards.md +14 -3
  79. package/bundled/core/product-metrics-standards.md +100 -0
  80. package/bundled/core/project-context-memory.md +8 -2
  81. package/bundled/core/prompt-regression.md +1 -1
  82. package/bundled/core/refactoring-standards.md +44 -3
  83. package/bundled/core/replay-test.md +1 -1
  84. package/bundled/core/resource-cost-boundary.md +180 -0
  85. package/bundled/core/reverse-engineering-standards.md +66 -2
  86. package/bundled/core/runbook.md +113 -0
  87. package/bundled/core/schema-evolution.md +105 -0
  88. package/bundled/core/secret-management-standards.md +110 -0
  89. package/bundled/core/security-testing.md +26 -2
  90. package/bundled/core/self-review-protocol.md +2 -2
  91. package/bundled/core/skill-standard-alignment-check.md +53 -0
  92. package/bundled/core/slo-sli.md +109 -0
  93. package/bundled/core/smoke-test.md +1 -1
  94. package/bundled/core/spec-driven-development.md +21 -3
  95. package/bundled/core/tech-debt-standards.md +1 -1
  96. package/bundled/core/test-data-standards.md +2 -2
  97. package/bundled/core/user-journey-testing.md +102 -0
  98. package/bundled/core/user-story-mapping.md +96 -0
  99. package/bundled/core/verification-oracle.md +167 -0
  100. package/bundled/core/versioning.md +133 -109
  101. package/bundled/locales/COVERAGE.md +84 -73
  102. package/bundled/locales/zh-CN/CHANGELOG.md +81 -6
  103. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  104. package/bundled/locales/zh-CN/README.md +22 -9
  105. package/bundled/locales/zh-CN/SECURITY.md +1 -1
  106. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  107. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  108. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  109. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  110. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  111. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  112. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  113. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  114. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  115. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
  116. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  117. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  118. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  119. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  120. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  121. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  122. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  123. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  124. package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
  125. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  126. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  127. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  128. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  129. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  130. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  131. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  132. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  133. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  134. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  135. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  136. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  137. package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
  138. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  139. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  140. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  141. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  142. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  143. package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
  144. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  145. package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
  146. package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
  147. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  148. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  149. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  150. package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
  151. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
  152. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  153. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  154. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  155. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  156. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  157. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  158. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  159. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  160. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  161. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  162. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  163. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  164. package/bundled/locales/zh-CN/core/security-testing.md +96 -0
  165. package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
  166. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  167. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  168. package/bundled/locales/zh-CN/core/spec-driven-development.md +55 -5
  169. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  170. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  171. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
  172. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
  173. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  174. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  175. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  176. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  177. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  178. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  179. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  180. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  181. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  182. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  183. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  184. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  185. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  186. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  187. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  188. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  189. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  190. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  191. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  192. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  193. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  194. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  195. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  196. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  197. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  198. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  199. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  200. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  201. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  202. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  203. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  204. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  205. package/bundled/locales/zh-CN/skills/README.md +89 -126
  206. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  207. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  208. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  209. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  210. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  211. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  212. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  213. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  214. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  215. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  216. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  217. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  218. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  219. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  220. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
  221. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
  222. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  223. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  224. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  225. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  226. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  227. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  228. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  229. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  230. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  231. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  232. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  233. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  234. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  235. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  236. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  237. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  238. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  239. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  240. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  242. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  243. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  244. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  245. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  246. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  247. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  248. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  249. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  250. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
  251. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  252. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  253. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  254. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  255. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  256. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  257. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  258. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  259. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  260. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  261. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  262. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  263. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  264. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  265. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  266. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  267. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  268. package/bundled/locales/zh-TW/CHANGELOG.md +81 -6
  269. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  270. package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
  271. package/bundled/locales/zh-TW/README.md +22 -9
  272. package/bundled/locales/zh-TW/SECURITY.md +1 -1
  273. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  274. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  275. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  276. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  277. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  278. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  279. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  280. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  281. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  282. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  283. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  284. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  285. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  286. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  287. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  288. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  289. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  290. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  291. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  292. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  293. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  294. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  295. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  296. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  297. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  298. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  299. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  300. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  301. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  302. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  303. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  304. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  305. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  306. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  307. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  308. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  309. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  310. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  311. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  312. package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
  313. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  314. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  315. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  316. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  317. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  318. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  319. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  320. package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
  321. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  322. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  323. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
  324. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  325. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  326. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  327. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  328. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  329. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  330. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  331. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  332. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  333. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  334. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  335. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  336. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  337. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  338. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  339. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  340. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  341. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  342. package/bundled/locales/zh-TW/core/security-testing.md +96 -0
  343. package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
  344. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  345. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  346. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  347. package/bundled/locales/zh-TW/core/spec-driven-development.md +39 -13
  348. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  349. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  350. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  351. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  352. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  353. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
  354. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  355. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
  356. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  357. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  358. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  359. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  360. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  361. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  362. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  363. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  364. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  365. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  366. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  367. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  368. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  369. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  370. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  371. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  372. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  373. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  374. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  375. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  376. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  377. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  378. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  379. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  380. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  381. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  382. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  383. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  384. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  385. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  386. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  387. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  388. package/bundled/locales/zh-TW/skills/README.md +91 -128
  389. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  390. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  391. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  392. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  393. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  394. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  395. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  396. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  397. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  398. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  399. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  400. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  401. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  402. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  403. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  404. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  405. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
  406. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
  407. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  408. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  409. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  410. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  411. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  412. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  413. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  414. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  415. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  416. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  417. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  418. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  419. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  420. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  421. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  422. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  423. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  424. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  425. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  426. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  427. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  428. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  429. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  430. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  431. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  432. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  433. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
  434. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  435. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  436. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  437. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  438. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  439. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  440. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  441. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  442. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  443. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  444. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  445. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  446. package/bundled/skills/README.md +1 -1
  447. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  448. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  449. package/bundled/skills/agents/code-architect.md +1 -1
  450. package/bundled/skills/agents/doc-writer.md +1 -1
  451. package/bundled/skills/agents/reviewer.md +2 -2
  452. package/bundled/skills/agents/spec-analyst.md +1 -1
  453. package/bundled/skills/agents/test-specialist.md +1 -1
  454. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  455. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  456. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  457. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  458. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  459. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  460. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  461. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  462. package/bundled/skills/bdd-assistant/guide.md +1 -2
  463. package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
  464. package/bundled/skills/brainstorm-assistant/guide.md +33 -5
  465. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  466. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  467. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  468. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  469. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  470. package/bundled/skills/commands/README.md +2 -2
  471. package/bundled/skills/commands/ac-coverage.md +1 -1
  472. package/bundled/skills/commands/atdd.md +2 -2
  473. package/bundled/skills/commands/bdd.md +2 -2
  474. package/bundled/skills/commands/brainstorm.md +25 -14
  475. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  476. package/bundled/skills/commands/derive-all.md +1 -1
  477. package/bundled/skills/commands/derive-atdd.md +1 -1
  478. package/bundled/skills/commands/derive-bdd.md +2 -3
  479. package/bundled/skills/commands/derive-tdd.md +1 -1
  480. package/bundled/skills/commands/derive.md +1 -1
  481. package/bundled/skills/commands/dev-workflow.md +1 -1
  482. package/bundled/skills/commands/journey-test.md +45 -0
  483. package/bundled/skills/commands/methodology.md +4 -4
  484. package/bundled/skills/commands/pr.md +1 -1
  485. package/bundled/skills/commands/skill-builder.md +42 -0
  486. package/bundled/skills/commands/tdd.md +1 -1
  487. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  488. package/bundled/skills/dev-methodology/guide.md +1 -1
  489. package/bundled/skills/dev-methodology/runtime.md +1 -1
  490. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  491. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  492. package/bundled/skills/docs-generator/SKILL.md +3 -3
  493. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  494. package/bundled/skills/logging-guide/SKILL.md +38 -2
  495. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  496. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  497. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  498. package/bundled/skills/project-discovery/guide.md +2 -2
  499. package/bundled/skills/push/SKILL.md +1 -1
  500. package/bundled/skills/release-standards/SKILL.md +19 -5
  501. package/bundled/skills/security-assistant/SKILL.md +1 -1
  502. package/bundled/skills/skill-builder/SKILL.md +1 -1
  503. package/bundled/skills/spec-derivation/guide.md +3 -4
  504. package/bundled/skills/spec-driven-dev/SKILL.md +27 -0
  505. package/bundled/skills/sweep/SKILL.md +1 -1
  506. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  507. package/bundled/skills/testing-guide/SKILL.md +1 -1
  508. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  509. package/bundled/skills/workflows/README.md +2 -2
  510. package/package.json +3 -3
  511. package/src/commands/audit.js +30 -9
  512. package/src/commands/config.js +33 -2
  513. package/src/commands/hitl.js +14 -1
  514. package/src/commands/init.js +110 -58
  515. package/src/commands/quickstart.js +1 -2
  516. package/src/commands/release.js +51 -6
  517. package/src/commands/run-intent.js +9 -0
  518. package/src/commands/spec-split.js +27 -2
  519. package/src/commands/update.js +22 -6
  520. package/src/config/ai-agent-paths.js +3 -1
  521. package/src/i18n/messages.js +3 -102
  522. package/src/missions/MissionManager.js +44 -12
  523. package/src/utils/build-manifest.js +35 -3
  524. package/src/utils/friction-detector.js +71 -22
  525. package/src/utils/health-checker.js +29 -2
  526. package/src/utils/transaction.js +111 -0
  527. package/src/utils/version-promote.js +16 -0
  528. package/standards-registry.json +58 -146
  529. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  530. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  531. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  532. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  533. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  534. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  535. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  536. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  537. package/src/commands/flow.js +0 -260
  538. package/src/commands/start.js +0 -372
  539. package/src/commands/sweep.js +0 -151
  540. package/src/commands/workflow.js +0 -681
@@ -160,6 +160,74 @@ CI reports AC coverage rate. If more than 20% of ACs lack `@ac`-tagged tests, a
160
160
 
161
161
  ---
162
162
 
163
+ ## Migration Error-Path Completeness (XSPEC-288)
164
+
165
+ > Part of the [XSPEC-284](https://github.com/AsiaOstrich/universal-dev-standards) 9-axis migration completeness matrix (**axis ⑨ — error paths**). The three-path model above requires an error path **per function**; this section adds the **migration-specific** guarantee that legacy's error/degradation/fallback branches are **systematically** carried over — not merely sampled.
166
+
167
+ ### Why the three-path model alone is not enough for a migration
168
+
169
+ The per-function error-path requirement and XSPEC-201's error-path snapshot only verify the error cases **you thought to enumerate**. In a rewrite the happy path is migrated because it has an explicit requirement, while error branches — scattered across `try/catch` layers, custom exception hierarchies, specific error codes, and degradation fallbacks — are **silently dropped in bulk**. A passing error-path sample does not prove **no branch was missed** (same blind-spot class as #134, occurring on the error-path layer). This section is the **systematic-enumeration + gap-analysis** layer above the snapshot mechanism.
170
+
171
+ ### Step 1 — Mechanized legacy exception / error-code list (derive, R1)
172
+
173
+ Enumerate the legacy error surface **mechanically**, not from memory:
174
+
175
+ | Source | Yields |
176
+ |--------|--------|
177
+ | `catch` / `except` / `rescue` blocks (grep) | every caught exception type + handler |
178
+ | Custom exception / error class hierarchy | the declared error taxonomy |
179
+ | Error/status codes (HTTP status, app error codes, error enums) | the response-code surface |
180
+ | Error response shapes (serializers, error DTOs) | the on-the-wire error contract |
181
+
182
+ The captured list is the **error-path to-verify checklist** — sourced from artifacts, not human recall.
183
+
184
+ ### Step 2 — Systematic missing-branch gap analysis (oracle, R2)
185
+
186
+ For **each** legacy error branch from Step 1, verify the new system has a corresponding handler. A branch with no mapping is marked `not_implemented` (XSPEC-199) and **blocks**. The output is a **"missing error branch" gap report** over the full derived list — not a sample that happened to pass.
187
+
188
+ ```markdown
189
+ ## Error-Path Gap Report — <module>
190
+
191
+ | Legacy branch (error type / code) | New-system handler | Status |
192
+ |-----------------------------------|--------------------|--------|
193
+ | PaymentDeclinedException → 402 | PaymentService.handleDecline | MAPPED |
194
+ | GatewayTimeout → retry+fallback | (none found) | not_implemented — BLOCK |
195
+ | ValidationError → 422 + field list | InputValidator | MAPPED |
196
+
197
+ **Branches: N total · M mapped · K not_implemented (block if K>0)**
198
+ ```
199
+
200
+ ### Step 3 — Degradation / fallback parity (R3)
201
+
202
+ Legacy degradation modes (fallback on external-service failure, retry, partial results) are easy to drop because they only run when something fails. Verify the new system preserves the corresponding degradation behavior, so the system is not "consistent on the happy path, wildly different on failure":
203
+
204
+ - [ ] External-service-failure **fallback** behavior matches legacy
205
+ - [ ] **Retry** policy (count, backoff, give-up) matches legacy
206
+ - [ ] **Partial-result** handling matches legacy (returns what it can vs all-or-nothing)
207
+ - [ ] **Circuit-breaker / timeout** degradation matches legacy
208
+
209
+ ### Step 4 — Error-response differential (oracle, R4)
210
+
211
+ Extend [behavior-snapshot](behavior-snapshot.md) parity and XSPEC-284 R5 replay to cover the **error response**, not just the happy-path response. Compare new vs legacy on:
212
+
213
+ - **Error code** (HTTP status, app error code)
214
+ - **Message structure** (error DTO shape, field-level errors)
215
+ - **HTTP status** mapping per error class
216
+
217
+ This makes implicit error-path divergence self-report at cutover, the same way the happy-path snapshot does.
218
+
219
+ **Gate timing**: pre-UAT (gap analysis + degradation parity) + cutover before/after (error-response differential).
220
+
221
+ ### Importance ranking (scope guidance)
222
+
223
+ Not every legacy error branch must map at equal priority. Rank by **production-actual trigger frequency** (echoes #134 "production is the oracle"): branches that have actually fired in production logs are mapped first; never-fired latent branches are lower priority but still listed. A high-frequency production error branch with no new-system mapping is a hard block.
224
+
225
+ ### Completeness declaration (matrix alignment)
226
+
227
+ Axis ⑨ is satisfied when this section declares all three: **derive** (Step 1 mechanized exception/error-code list), **oracle** (Step 2 systematic gap analysis + Step 4 error-response differential), and **gate timing** (pre-UAT + cutover before/after). Reuse XSPEC-201 error-path snapshot + the three-path model above — this section adds only systematic missing-branch analysis and the error-response differential, it does not rebuild a test framework.
228
+
229
+ ---
230
+
163
231
  ## Migration from Pyramid Model
164
232
 
165
233
  If your project previously used pyramid thresholds:
@@ -180,7 +248,11 @@ The ratchet starts at your current coverage. From that point on, it can only inc
180
248
  - `unit-testing.ai.yaml` — Unit test scope and organization
181
249
  - `integration-testing.ai.yaml` — Integration test patterns
182
250
  - `deployment-standards.ai.yaml` — Deploy gate requirements
251
+ - `flaky-test-management.md` — Intermittent-failure handling: a test that flakes is **not** a passing test. Before a coverage figure counts toward a gate, intermittent failures MUST be quarantined / retry-budgeted / root-caused per that standard — otherwise "full coverage" hides non-deterministic gaps.
252
+ - `behavior-snapshot.md` — Error-response differential oracle (Migration Error-Path Completeness, axis ⑨)
253
+ - `migration-assistant` skill — Legacy exception/error-code derive + degradation parity (XSPEC-288)
183
254
  - XSPEC-178 — Full specification and implementation phases
255
+ - XSPEC-288 — Migration Error-Path Completeness (axis ⑨ of XSPEC-284 matrix)
184
256
 
185
257
 
186
258
  **Scope**: universal
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/git-worktree.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-03-20
5
+ **Version**: 1.1.0
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All projects using Git for version control
8
8
  **Scope**: universal
9
9
  **Inspired by**: [Superpowers](https://github.com/obra/superpowers) — using-git-worktrees (MIT)
@@ -59,7 +59,7 @@ pnpm install # or npm install, pip install, etc.
59
59
 
60
60
  1. **Run the test suite** in the fresh worktree
61
61
  2. **Confirm all tests pass** — this verifies the environment is clean
62
- 3. **If tests fail** — abort and report the environment issue (do not proceed)
62
+ 3. **If tests fail** — retry up to 2× with backoff to rule out transient flakes/timeouts; if they still fail, abort and report the environment issue (do not proceed)
63
63
 
64
64
  ```bash
65
65
  # Baseline verification
@@ -108,7 +108,7 @@ git worktree prune
108
108
  | ID | Trigger | Action | Priority |
109
109
  |----|---------|--------|----------|
110
110
  | GW-001 | Worktree directory not in `.gitignore` | Automatically add to `.gitignore` | Critical |
111
- | GW-002 | Baseline tests fail | Abort task, report environment issue | High |
111
+ | GW-002 | Baseline tests fail | Retry up to 2× (exponential backoff) for transient failures; if persistent, abort task and report environment issue | High |
112
112
  | GW-003 | Abnormal exit during worktree operation | Ensure cleanup is executed | High |
113
113
  | GW-004 | Worktree exists after branch merge/delete | Prune stale worktree references | Medium |
114
114
 
@@ -1,6 +1,6 @@
1
1
  # Performance Guide
2
2
 
3
- > **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/performance-guide.md)
3
+ > **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/performance-guide.md) | [简体中文](../../locales/zh-CN/core/guides/performance-guide.md)
4
4
 
5
5
  **Version**: 1.0.0
6
6
  **Last Updated**: 2026-01-29
@@ -1,6 +1,6 @@
1
1
  # Security Guide
2
2
 
3
- > **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/security-guide.md)
3
+ > **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/security-guide.md) | [简体中文](../../locales/zh-CN/core/guides/security-guide.md)
4
4
 
5
5
  **Version**: 1.0.0
6
6
  **Last Updated**: 2026-01-29
@@ -12,7 +12,7 @@
12
12
  - **Readiness 僅檢關鍵依賴**:非關鍵依賴不納入,避免邊緣故障造成服務被下線
13
13
  - **慢啟動用 startup probe**:啟動完成後交棒給 liveness
14
14
  - **結構化 JSON 回應**:含 `status` / `dependencies` / `timestamp` / `version`
15
- - **作為 observability signal**:連續 fail 觸發 incident
15
+ - **作為 observability signal**:連續 fail(達 probe threshold)依 [alerting-standards](alerting-standards.md) 觸發告警——由 alerting 定義觸發時機、嚴重性對映與路由(`HC-001 HEALTH_CHECK_FAILED` 為 alert 來源之一),health-check 只負責 emit signal、不自行決定通知對象
16
16
 
17
17
  ## Probe Types
18
18
 
@@ -68,7 +68,7 @@
68
68
  - AI-optimized: [ai/standards/health-check-standards.ai.yaml](../ai/standards/health-check-standards.ai.yaml)
69
69
  - XSPEC-067: DEC-043 Wave 1 Reliability Pack 跨專案規格
70
70
  - DEC-043: UDS 覆蓋完整性路線圖(驅動來源)
71
- - Related: `deployment-standards`, `circuit-breaker`, observability-standards (XSPEC-063 規劃中)
71
+ - Related: `deployment-standards`, `circuit-breaker`, `alerting-standards`(probe 連續失敗 → 告警觸發與路由), observability-standards (XSPEC-063 規劃中)
72
72
  - Industry: Kubernetes probes, Microsoft eShop health checks, Google SRE Book Ch.6
73
73
 
74
74
 
@@ -0,0 +1,97 @@
1
+ # Infrastructure as Code Design Principles
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/iac-design-principles.ai.yaml`
5
+ > **Spec**: XSPEC-065 (cross-project/specs/XSPEC-065-uds-infrastructure-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines the four foundational principles for Infrastructure as Code
12
+ (IaC) authoring: **reproducible, immutable, idempotent, and versioned**. It covers
13
+ state management requirements (remote state with locking), drift detection
14
+ categories, and CI/CD integration. It is designed to ensure infrastructure
15
+ changes are traceable, reversible, and safe to apply repeatedly without unintended
16
+ side effects.
17
+
18
+ It is part of the **IaC pack** (XSPEC-065) and is the tool-agnostic foundation
19
+ that `container-image-standards` and `secret-management-standards` build on
20
+ (images and secret backends are themselves versioned, reproducible
21
+ infrastructure).
22
+
23
+ > **Scope.** This standard defines the *authoring principles*, *state-management*
24
+ > rules, and the *drift-handling taxonomy*. The specific IaC tool (Terraform /
25
+ > Pulumi / CloudFormation) and backend are adoption choices, not part of this
26
+ > standard.
27
+
28
+ ## Requirements
29
+
30
+ | ID | Rule | Level |
31
+ |----|------|-------|
32
+ | REQ-001 | IaC four principles (reproducible, immutable, idempotent, versioned) | MUST |
33
+ | REQ-002 | State management (remote backend, locking, encryption, no local state in VCS) | MUST |
34
+ | REQ-003 | Drift detection (plan on PR; three-category classification) | MUST |
35
+
36
+ ### REQ-001 — IaC Four Principles
37
+
38
+ All infrastructure definitions MUST adhere to four foundational principles:
39
+ (1) **Reproducible** — given the same inputs and state, applying IaC produces
40
+ identical infrastructure; (2) **Immutable** — infrastructure changes are applied
41
+ by replacing resources, not mutating them in-place; blue/green or rolling
42
+ replacement patterns are preferred over in-place mutations; (3) **Idempotent** —
43
+ applying the same IaC configuration multiple times produces the same result
44
+ without error or unintended side effects; (4) **Versioned** — all IaC definitions
45
+ are stored in version control with meaningful commit messages; no infrastructure
46
+ change is made outside the VCS workflow.
47
+
48
+ ### REQ-002 — State Management
49
+
50
+ IaC state MUST be stored in a remote backend with locking enabled to prevent
51
+ concurrent modifications. Local state files MUST NOT be committed to version
52
+ control or used in CI/CD pipelines. Recommended backends: Terraform Cloud /
53
+ S3+DynamoDB (Terraform), Pulumi Service / S3 (Pulumi), CloudFormation native
54
+ stack state. State access MUST be restricted to authorized principals via IAM or
55
+ equivalent. State encryption at rest is REQUIRED.
56
+
57
+ ### REQ-003 — Drift Detection
58
+
59
+ Teams MUST run `plan` (or equivalent) in CI on every pull request to detect
60
+ configuration drift. Drift outcomes MUST be classified into one of three
61
+ categories and handled accordingly: (1) **rollback-to-code** — actual infra
62
+ deviates from code due to a manual change; revert actual to match code on next
63
+ apply; (2) **update-code-from-actual** — actual reflects an intentional change not
64
+ yet codified; update IaC to match, then apply; (3) **manual-reconcile** — drift
65
+ requires human judgment (e.g., data volume changes); escalate to the infra owner
66
+ with a documented decision. Drift reports SHOULD be published to a team channel on
67
+ a scheduled cadence (e.g., daily).
68
+
69
+ ## Anti-Patterns
70
+
71
+ - Committing local state files (`terraform.tfstate`) to version control.
72
+ - Applying mutable in-place changes (e.g., sed-patching running VMs) instead of replacing resources.
73
+ - Making manual console changes without updating the corresponding IaC definition.
74
+ - Using no remote locking, allowing concurrent applies that corrupt state.
75
+ - Pinning to `latest` provider or module versions, breaking reproducibility.
76
+
77
+ ## Integration with Existing Standards
78
+
79
+ - **`container-image-standards`** — container images are versioned, reproducible
80
+ artifacts produced under the same principles.
81
+ - **`secret-management-standards`** — secret backends (Vault/KMS) are managed as
82
+ access-controlled infrastructure with remote state.
83
+ - **`deployment-standards` / `cd-deployment-strategies`** — immutable replacement
84
+ (REQ-001) underpins blue/green and rolling deployment patterns.
85
+ - **`no-cicd-deployment`** — even without a CI/CD platform, the four principles and
86
+ state-management rules still apply to scripted infrastructure changes.
87
+
88
+ ## Related Specs
89
+
90
+ - XSPEC-065 — UDS infrastructure (IaC) pack (this standard's source)
91
+ - DEC-043 — UDS coverage completeness roadmap (Wave 4 scope)
92
+
93
+ ## Changelog
94
+
95
+ | Version | Date | Changes |
96
+ |---------|------|---------|
97
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~003: IaC four principles, state management, drift detection (XSPEC-065) |
@@ -0,0 +1,119 @@
1
+ # Incident Response Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/incident-response.ai.yaml`
5
+ > **Spec**: XSPEC-063 (cross-project/specs/XSPEC-063-uds-sre-standards-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines the end-to-end **incident response lifecycle**: severity
12
+ classification, response-time SLAs, roles and responsibilities, communication
13
+ protocols, escalation paths, and blameless postmortem requirements. It is
14
+ designed to reduce MTTR, ensure consistent stakeholder communication during
15
+ incidents, and drive systemic reliability improvements through structured
16
+ postmortems.
17
+
18
+ It is part of the **SRE/operations pack** (XSPEC-063) and is the incident-handling
19
+ member alongside `slo-sli` (error-budget triggers) and `runbook` (executable
20
+ recovery steps). It composes with `virtual-organization-standards` — a SEV-1
21
+ incident spins up the incident virtual organization (IC, Communications Lead,
22
+ Operations Lead) — and feeds the proactive reliability ownership described in
23
+ XSPEC-251 (Operator).
24
+
25
+ > **Scope.** This standard defines *how incidents are classified, coordinated,
26
+ > communicated, and learned from*. The paging tool (PagerDuty, Opsgenie), the
27
+ > status-page product, and the ticketing system are adoption choices, not part of
28
+ > this standard.
29
+
30
+ ## Requirements
31
+
32
+ | ID | Rule | Level |
33
+ |----|------|-------|
34
+ | REQ-001 | Severity classification (4-level SEV scale with response SLAs) | MUST |
35
+ | REQ-002 | Incident Commander role (assigned within 10 min for SEV-1/2) | MUST |
36
+ | REQ-003 | Stakeholder communication protocol (defined cadence + status page) | MUST |
37
+ | REQ-004 | Blameless postmortem requirements (5 Whys, action items tracked) | MUST |
38
+ | REQ-005 | On-call rotation and handoff (≥2 engineers, written handoff) | MUST |
39
+ | REQ-006 | Incident retrospective metrics (MTTD/MTTR reviewed monthly) | SHOULD |
40
+
41
+ ### REQ-001 — Severity Classification
42
+
43
+ Every incident MUST be classified at declaration using a 4-level severity scale.
44
+ **SEV-1** (Critical): complete service outage or data breach affecting all users,
45
+ response within 15 minutes, C-suite notification. **SEV-2** (High): major feature
46
+ unavailable or significant performance degradation affecting >25% of users,
47
+ response within 30 minutes. **SEV-3** (Medium): minor feature unavailable or
48
+ degradation affecting <25% of users, response within 4 hours. **SEV-4** (Low):
49
+ cosmetic issue or very minor impact, response within 24 hours.
50
+
51
+ ### REQ-002 — Incident Commander Role
52
+
53
+ Every SEV-1 and SEV-2 incident MUST have a designated Incident Commander (IC)
54
+ assigned within 10 minutes of declaration. The IC is responsible for coordinating
55
+ the response bridge, assigning roles (scribe, comms lead, technical leads),
56
+ driving the timeline, making go/no-go decisions on fixes, and initiating the
57
+ postmortem. The IC does NOT directly troubleshoot — their sole focus is
58
+ coordination.
59
+
60
+ ### REQ-003 — Stakeholder Communication Protocol
61
+
62
+ During SEV-1/SEV-2 incidents, stakeholder updates MUST be sent on a defined
63
+ cadence: initial notification within 15 minutes of declaration, updates every
64
+ 30 minutes until resolution, and an immediate update on any severity change or
65
+ major development. Updates MUST include current status, known impact, what is
66
+ being done, and the next update time. The status page MUST be updated
67
+ simultaneously with internal communications.
68
+
69
+ ### REQ-004 — Blameless Postmortem Requirements
70
+
71
+ Every SEV-1 incident MUST have a blameless postmortem completed within 5 business
72
+ days; SEV-2 incidents within 10 business days. Postmortems MUST be blameless —
73
+ focusing on systemic causes, not individual mistakes. Required sections: timeline,
74
+ impact, root cause (5 Whys), contributing factors, action items with owners and
75
+ due dates, and lessons learned. Action items MUST be tracked to completion.
76
+
77
+ ### REQ-005 — On-Call Rotation and Handoff
78
+
79
+ Every production service MUST have a documented on-call rotation with at least 2
80
+ engineers. Rotation schedules MUST be published at least 2 weeks in advance.
81
+ On-call handoff MUST include a written summary of active incidents, recent
82
+ incidents still under investigation, known flaky alerts, upcoming planned
83
+ maintenance, and any service-health concerns. Handoff MUST be acknowledged by the
84
+ incoming on-call.
85
+
86
+ ### REQ-006 — Incident Retrospective Metrics
87
+
88
+ Teams SHOULD track and review incident metrics monthly: MTTD (Mean Time To
89
+ Detect), MTTR (Mean Time To Resolve), incident frequency by severity, repeat
90
+ incidents (same root cause within 90 days), and postmortem action-item completion
91
+ rate. These metrics SHOULD be reviewed in monthly reliability reviews with
92
+ engineering leadership.
93
+
94
+ ## Integration with Existing Standards
95
+
96
+ - **`runbook`** — the IC and on-call engineers execute typed runbooks during the
97
+ mitigate phase; SEV runbooks are drilled per the `runbook` cadence.
98
+ - **`slo-sli`** — error-budget burn often triggers incident declaration; SLO
99
+ impact is summarized in the postmortem.
100
+ - **`postmortem-standards`** — REQ-004 aligns with the blameless postmortem
101
+ template; this standard sets the trigger and timelines.
102
+ - **`virtual-organization-standards`** — SEV-1 incidents instantiate the incident
103
+ virtual organization (IC, Communications Lead, Operations Lead).
104
+ - **`alerting-standards`** — alerts initiate detection and severity assessment.
105
+ - **`execution-history`** — automated mitigation actions are recorded as execution
106
+ history.
107
+
108
+ ## Related Specs
109
+
110
+ - XSPEC-063 — UDS SRE/operations pack (this standard's source)
111
+ - XSPEC-251 — Operator proactive reliability (proactive ownership upstream of incidents)
112
+ - DEC-041 — EU AI Act 2026 compliance (auditability requires postmortems)
113
+ - DEC-042 — Guardian / Governance Agent pattern (agent-driven runbook execution)
114
+
115
+ ## Changelog
116
+
117
+ | Version | Date | Changes |
118
+ |---------|------|---------|
119
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~006: severity classification, incident commander, communication protocol, blameless postmortem, on-call rotation/handoff, retrospective metrics (XSPEC-063) |
@@ -4,6 +4,8 @@
4
4
  > **AI-optimized version**: `ai/standards/license-compliance.ai.yaml`
5
5
  > **Agent Spec**: ASPEC-001 (cross-project/aspec/ASPEC-001-license-compliance-agent.md)
6
6
 
7
+ **Scope**: universal
8
+
7
9
  ## Overview
8
10
 
9
11
  Comprehensive license compliance for AI-augmented development, covering both general OSS practice (Tier 1) and AI-specific rules for AI-generated code (Tier 2).
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/logging-standards.md)
4
4
 
5
- **Version**: 1.3.0
6
- **Last Updated**: 2026-05-26
5
+ **Version**: 1.4.0
6
+ **Last Updated**: 2026-06-17
7
7
  **Applicability**: All software projects
8
8
  **Scope**: universal
9
9
  **Industry Standards**: RFC 5424, OpenTelemetry, W3C Trace Context
@@ -15,6 +15,81 @@
15
15
 
16
16
  This document defines logging standards for consistent, structured, and actionable application logs across all environments.
17
17
 
18
+ ## Mandatory Events
19
+
20
+ > **Closes** UDS issue [#108](https://github.com/AsiaOstrich/universal-dev-standards/issues/108) (XSPEC-234). The rest of this standard defines **how** to write a log entry (level / fields / PII mask / rotation). This section defines **when you MUST write one** — excluding "compliant on paper but materially silent" logging.
21
+
22
+ Logging that follows every formatting rule but **never fires at the moment that matters** is worse than useless: it gives false confidence during an incident. The events below are the canonical moments where a log entry is **mandatory**. Each declares `when` / `must_log` / `must_NOT_log` / `level` / `rationale`.
23
+
24
+ ### Why this exists (real incidents)
25
+
26
+ A PHP→.NET migration burned 2 days diagnosing "send failed, no log", because **four layers were all silent**:
27
+
28
+ 1. **Load-balancer marks backend DOWN** (503) on health-probe timeout — backend logged only probe noise, zero business events.
29
+ 2. **Framework validation reject** (e.g. ModelState / DTO 501) — the rejecting framework returned before any handler ran, so the **payload was never logged**.
30
+ 3. **Auth failure** logged only "Account or password error" — **no uid, no source IP** → un-investigable.
31
+ 4. **Background worker alive but log file 0 bytes** — no mechanism detected the silence.
32
+
33
+ None of these were caught by the formatting rules alone. Mandatory events close that gap.
34
+
35
+ ### Catalog (9 canonical events)
36
+
37
+ | id | when | level | Core required fields (`must_log`) | `must_NOT_log` |
38
+ |----|------|-------|-----------------------------------|----------------|
39
+ | `application_startup` | After process boot, **before** accepting requests | INFO | app_name, version, git_sha, environment, hostname, pid, listening_endpoints | secrets, full connection strings |
40
+ | `request_received` | First time HTTP middleware sees a request | INFO / DEBUG | method, path, source_ip, request_id | request body, auth headers |
41
+ | `validation_failure` | schema / ModelState / DTO validation rejects | WARN | request_id, path, missing_fields[], payload_shape (keys only) | field **values**, PII |
42
+ | `authentication_failure` | login / token verification fails | WARN | uid (attempted), source_ip, failure_reason | password, token value |
43
+ | `outbound_call_start` | An outbound HTTP/RPC call is initiated | INFO | target_url (host+path), request_id propagated, timeout_ms | credentials, bearer tokens |
44
+ | `outbound_call_complete` | An external call returns or fails | INFO / WARN / ERROR | status_code **or** failure_phase (dns/tcp/tls/http), elapsed_ms, retries | response body with PII |
45
+ | `business_event` | A state-changing business operation completes | INFO | operation_name, actor, target ids, outcome | full record payload, PII |
46
+ | `heartbeat` | Long-running background service, ≥ 1× / 60 s | INFO | service_name, queue_depth, items_processed_since_last_heartbeat | — |
47
+ | `shutdown` | Process exits (graceful or fatal) | INFO / ERROR | app_name, signal/reason, uptime_seconds, pending_work_count | — |
48
+
49
+ Each event's `rationale` ties back to a real failure mode: `validation_failure` ⇒ incident #2 (un-logged payload); `authentication_failure` field requirements ⇒ incident #3 (no uid/IP); `heartbeat` + silence detection ⇒ incident #4 (0-byte log); `application_startup`/`shutdown` ⇒ lifecycle blind spots; `outbound_call_*` ⇒ "send failed" with no trace of the call.
50
+
51
+ ### Scenarios
52
+
53
+ #### Scenario: Validation failure must produce a log
54
+
55
+ - **GIVEN** an API endpoint receives a payload missing a `[Required]` field
56
+ - **WHEN** the framework auto-rejects (e.g. 400/501) before the handler runs
57
+ - **THEN** a WARN log MUST be written with `request_id`, `path`, `missing_fields[]`, `payload_shape` (keys only)
58
+ - **AND** a post-mortem can reconstruct the failure cause directly from the log
59
+
60
+ #### Scenario: Background service must heartbeat
61
+
62
+ - **GIVEN** a worker process is running
63
+ - **WHEN** no INFO/WARN/ERROR is written within 60 s
64
+ - **THEN** a `heartbeat` log MUST be written with current queue depth and items processed
65
+ - **AND** if no heartbeat appears for ≥ 2× the interval (≥ 120 s), the silence detector MUST alert
66
+
67
+ ### Compliant startup log example
68
+
69
+ ```json
70
+ {
71
+ "timestamp": "2026-06-17T08:00:00.000Z",
72
+ "level": "INFO",
73
+ "message": "application_startup",
74
+ "event": "application_startup",
75
+ "app_name": "payment-service",
76
+ "version": "2.3.1",
77
+ "git_sha": "a1b2c3d",
78
+ "environment": "production",
79
+ "hostname": "pod-abc123",
80
+ "pid": 4711,
81
+ "listening_endpoints": ["0.0.0.0:8080", "0.0.0.0:9090/metrics"]
82
+ }
83
+ ```
84
+
85
+ ### Follow-on rules
86
+
87
+ 1. **Access-log separation** — health-probe / liveness traffic MUST NOT pollute the business-event log. Route probes to a separate sink/file so they cannot drown out or rotate away business events (see incident #1).
88
+ 2. **Log-silence detection SLA** — a service SHOULD alert after N minutes with no events, with N ≤ 2× the `heartbeat` interval. Absence of expected logs is itself an alertable condition (see the "Absence of Expected Logs" alert pattern below).
89
+ 3. **OPS-facing log discoverability** — error responses returned to the client SHOULD carry the `request_id`, so support can correlate a user-reported failure to backend logs without round-trips for log access.
90
+
91
+ > **Cross-ref**: `heartbeat` / silence detection complement the [Log File Rotation Policy](#log-file-rotation-policy) (a 0-byte / silently-dropping log is the same blind spot from two directions) and migration-assistant's Background Job / Side-Effect Completeness (these events are the observable "has-fired" evidence).
92
+
18
93
  ## Log Levels
19
94
 
20
95
  ### Standard Log Levels
@@ -754,6 +829,7 @@ App cannot continue? → FATAL
754
829
 
755
830
  | Version | Date | Changes |
756
831
  |---------|------|---------|
832
+ | 1.4.0 | 2026-06-17 | Added: Mandatory Events catalog — 9 canonical "when you MUST log" events (when/must_log/must_NOT_log/level/rationale), validation-failure + heartbeat scenarios, compliant startup example, follow-on rules (access-log separation, silence-detection SLA, request_id discoverability) (XSPEC-234 / closes issue #108) |
757
833
  | 1.3.0 | 2026-05-26 | Added: Log File Rotation Policy — mandatory dual-trigger (time + size) rotation with hostile-default warning, recipes for .NET/Python/Java/Node, ops SOP (XSPEC-232 / closes issue #111) |
758
834
  | 1.2.0 | 2026-01-24 | Added: OpenTelemetry Semantic Conventions, Observability Three Pillars Integration, Log-based Alerting, Advanced Correlation Patterns |
759
835
  | 1.1.0 | 2026-01-05 | Added: References section with OWASP, RFC 5424, OpenTelemetry, and 12 Factor App |
@@ -1,7 +1,7 @@
1
1
  # Mock Boundary Standards
2
2
 
3
- **Version**: 1.0.0
4
- **Last Updated**: 2026-05-04
3
+ **Version**: 1.1.0
4
+ **Last Updated**: 2026-07-01
5
5
  **Applicability**: All software projects with unit and integration tests
6
6
  **Scope**: universal
7
7
  **Industry Standards**: ISTQB Foundation (Test Doubles), xUnit Patterns (Gerard Meszaros)
@@ -46,6 +46,7 @@ vi.mock('node:fs/promises', ...) // I/O replaced
46
46
  | Environment variables | `process.env.NODE_ENV`, `process.env.LICENSE_KEY` | Enables config variation |
47
47
  | File system (unit tests only) | `fs.readFile`, `fs.writeFile` | Avoids I/O in fast unit tests |
48
48
  | Cross-module boundaries (with IT counterpart) | Other modules' public APIs | Isolates unit under test |
49
+ | In-process background execution (via injectable runner) | `Task.Run`, unawaited promises, `setTimeout`, goroutines, thread-pool dispatch | Injecting a runner seam lets tests await deterministic completion, eliminating the race |
49
50
 
50
51
  ---
51
52
 
@@ -60,6 +61,46 @@ vi.mock('node:fs/promises', ...) // I/O replaced
60
61
 
61
62
  ---
62
63
 
64
+ ## Injectable Background Execution
65
+
66
+ Fire-and-forget background work (a `Task.Run`, an unawaited promise, a `setTimeout`, a goroutine, a `java.util.concurrent` executor submission, or `asyncio.create_task`) is a **seam**, exactly like the system clock. Just as you inject a clock instead of reading wall-clock time, you inject the background dispatcher instead of spawning work directly. This lets a test drive the work to a **deterministic, awaited completion** and assert on its outcome (success, exception, or retry) — no polling, no sleeping, no race.
67
+
68
+ Abstract the dispatch behind a small interface (e.g. `IBackgroundTaskRunner` / `BackgroundDispatcher`), then provide two implementations:
69
+
70
+ - **Production**: preserves true fire-and-forget semantics — dispatch returns immediately and the work runs detached.
71
+ - **Test**: runs the work **inline** and **tracks the underlying Task/promise**, exposing a handle the test can `await` so completion (and any failure) is observable.
72
+
73
+ Language-neutral sketch (TypeScript pseudo-code):
74
+
75
+ ```typescript
76
+ // Seam — injected wherever background work is dispatched
77
+ interface BackgroundDispatcher {
78
+ dispatch(work: () => Promise<void>): void
79
+ }
80
+
81
+ // Production: real fire-and-forget — returns immediately, work runs detached
82
+ class FireAndForgetDispatcher implements BackgroundDispatcher {
83
+ dispatch(work: () => Promise<void>): void {
84
+ void work() // intentionally not awaited
85
+ }
86
+ }
87
+
88
+ // Test: inline execution + tracked tasks so tests can await completion
89
+ class DeterministicDispatcher implements BackgroundDispatcher {
90
+ private readonly tasks: Promise<void>[] = []
91
+ dispatch(work: () => Promise<void>): void {
92
+ this.tasks.push(work()) // start inline, keep the handle
93
+ }
94
+ async settle(): Promise<void> {
95
+ await Promise.all(this.tasks) // test awaits deterministic completion
96
+ }
97
+ }
98
+ ```
99
+
100
+ The test injects `DeterministicDispatcher`, exercises the code under test, then `await dispatcher.settle()` before asserting on the result — the background side effect is now fully observable and deterministic.
101
+
102
+ ---
103
+
63
104
  ## Hollow Test Detection
64
105
 
65
106
  Before submitting a test file, check:
@@ -78,6 +119,7 @@ Before submitting a test file, check:
78
119
  - **Orphan Mock**: Cross-module mock with no integration test counterpart
79
120
  - **Security Bypass Mock**: Auth/permission logic replaced with pass-through stub
80
121
  - **Database Mock Cascade**: DB returns hardcoded data, hiding real query errors
122
+ - **Poll/Sleep for Background Result**: Sleeping or polling to wait for fire-and-forget work to finish. The race is still there — the timeout merely hides it most of the time while slowing the whole suite and, on a shared runner, leaking flakiness into other MRs' CI. Inject a deterministic runner and await the tracked task instead.
81
123
 
82
124
  ---
83
125
 
@@ -90,6 +132,7 @@ Before submitting a test file, check:
90
132
  | IT counterpart | Mocking cross-module boundary | Ensure corresponding IT exists |
91
133
  | No security mock | Test involves auth/permissions | Use real test user + real token |
92
134
  | Hollow review | Mock count ≥ import count | Add output-value assertion |
135
+ | No poll/sleep for background work | Test asserts a fire-and-forget side effect | Inject deterministic runner; await the tracked task |
93
136
 
94
137
  ---
95
138
 
@@ -98,3 +141,12 @@ Before submitting a test file, check:
98
141
  - **testing**: Mock boundary rules apply to all test levels in the testing pyramid
99
142
  - **test-completeness-dimensions**: Dimension 8 (AI Test Quality) references these rules
100
143
  - **flow-based-testing**: Flow tests must follow mock boundary rules
144
+
145
+ ---
146
+
147
+ ## Version History
148
+
149
+ | Version | Date | Change |
150
+ |---------|------|--------|
151
+ | 1.0.0 | 2026-05-04 | Initial standard: hollow test problem, CAN/CANNOT mock tables, detection, anti-patterns, rules summary |
152
+ | 1.1.0 | 2026-07-01 | Added injectable background execution as a seam (parallel to clock injection): CAN-mock row, `Injectable Background Execution` section, `Poll/Sleep for Background Result` anti-pattern, and no-poll/sleep rule (issue #143) |