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
@@ -54,7 +54,7 @@ Every technical debt item must be recorded in a registry with the following 11 f
54
54
  | 1 | **ID** | Unique identifier using `TD-NNN` format | TD-001 |
55
55
  | 2 | **Title** | Short descriptive title | "Monolithic auth module needs decomposition" |
56
56
  | 3 | **Type** | One of the 6 debt types above | Design |
57
- | 4 | **Source** | How the debt was introduced (deliberate/inadvertent) | Deliberate |
57
+ | 4 | **Source** | How the debt was introduced (deliberate / inadvertent / incident-postmortem — see [postmortem-standards](postmortem-standards.md) action-item hand-off) | Deliberate (or `postmortem PM-042`) |
58
58
  | 5 | **Impact** | Business and technical impact description | "Slows feature development by ~2 days per sprint" |
59
59
  | 6 | **Estimated Cost** | Effort to resolve (story points or person-days) | 8 story points |
60
60
  | 7 | **Interest** | Ongoing cost of not resolving (see Interest Types) | 1 day/sprint additional debugging |
@@ -296,8 +296,8 @@ ID? → Hash / UUID / sequential
296
296
 
297
297
  - [Testing Standards](testing-standards.md) — Test levels, coverage, and quality requirements
298
298
  - [Security Standards](security-standards.md) — Data protection and PII handling
299
- - [Unit Testing Standards](unit-testing-standards.md) — Unit test patterns and best practices
300
- - [Integration Testing Standards](integration-testing-standards.md) — Integration test strategies
299
+ - [Unit Testing Standards](../options/testing/unit-testing.md) — Unit test patterns and best practices
300
+ - [Integration Testing Standards](../options/testing/integration-testing.md) — Integration test strategies
301
301
 
302
302
  ---
303
303
 
@@ -0,0 +1,102 @@
1
+ # User Journey Testing Standard
2
+
3
+ > **Language**: English | 繁體中文
4
+
5
+ **Applicability**: Projects with multi-step, stateful user flows that span more than one user story
6
+ **Scope**: universal
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ The User Journey Testing Standard defines the **TESTPLAN** format, which makes connected, sequential user journeys a first-class testing artifact. Where acceptance-criteria tests verify a single story in isolation, journey tests verify what AC tests cannot: **cross-story state continuity** — the chain of state that one step leaves behind for the next.
13
+
14
+ A journey is described once in a human-readable `TESTPLAN-NNN.md` and mapped one-to-one onto automated E2E tests through shared `T-NNN` identifiers, so the plan and the executable suite never drift apart.
15
+
16
+ ## References
17
+
18
+ | Standard/Source | Content |
19
+ |----------------|---------|
20
+ | journey-test-assistant (skill) | Generates TESTPLAN and journey E2E skeletons |
21
+ | flow-based-testing | Flow archetypes that journeys instantiate |
22
+ | e2e-testing (option) | End-to-end execution layer journeys map onto |
23
+
24
+ ---
25
+
26
+ ## Guidelines
27
+
28
+ - Every project MUST have at least one `TESTPLAN-NNN.md` documenting the main user journey.
29
+ - TESTPLAN steps MUST be sequential and stateful — each step depends on prior state.
30
+ - Every TESTPLAN MUST define personas before test steps.
31
+ - TESTPLAN and automated E2E tests MUST use the same `T-NNN` identifiers.
32
+ - Journey E2E tests MUST skip gracefully when the environment is unavailable.
33
+ - Journey tests cover what AC tests cannot: cross-story state continuity.
34
+
35
+ ---
36
+
37
+ ## TESTPLAN Format
38
+
39
+ - **File naming**: `TESTPLAN-NNN-<project-slug>.md`
40
+ - **Location**: `test-plans/`
41
+
42
+ ### Required Sections
43
+
44
+ | Section | Description | Format |
45
+ |---------|-------------|--------|
46
+ | **Personas** | Define all test actors with their role and permissions | `\| Actor \| Role \| Key Permissions \|` |
47
+ | **Environment** | List environment prerequisites and verification commands | — |
48
+ | **Test Groups** | `T-NNN` numbered test groups with a sequential dependency chain | — |
49
+ | **Execution Order** | Dependency diagram showing `T-NNN → T-NNN` relationships | — |
50
+
51
+ ### Step Markers
52
+
53
+ | Marker | Meaning |
54
+ |--------|---------|
55
+ | `[UI]` | Browser-based action, verify visually |
56
+ | `[API]` | `curl` / API client verification |
57
+ | `[CHECK]` | Expected result to confirm |
58
+ | `[SKIP-if]` | Conditional skip with reason |
59
+ | `★` | High-risk step requiring confirmation |
60
+
61
+ ### Step Format
62
+
63
+ Each step declares:
64
+
65
+ - **step_id** — `T-NNN-M` (group-step format)
66
+ - **operation** — what to do, annotated with a `[MARKER]`
67
+ - **expected_result** — what should happen
68
+ - **precondition** — state from a previous `T-NNN` that must be satisfied
69
+ - **depends_on** — comma-separated `T-NNN` identifiers
70
+
71
+ ---
72
+
73
+ ## Automation Mapping
74
+
75
+ - **Principle**: every `T-NNN` group maps to a `describe()` block; every step maps to an `it()`.
76
+ - **File pattern**: `*.journey.spec.ts` or `*.journey.e2e.test.ts`.
77
+ - **Shared state**: journey tests MUST use shared `let` variables across `it()` blocks so each step builds on previous results.
78
+ - **Skip strategy**: guard with `describe.skipIf(!BASE_URL)` for environment-dependent tests.
79
+
80
+ ---
81
+
82
+ ## Journey Categories
83
+
84
+ | ID | Description | Required For |
85
+ |----|-------------|--------------|
86
+ | `platform-admin-journey` | Platform admin setup: login → org → project → pipeline | enterprise, saas |
87
+ | `member-journey` | Org member: join → project access → pipeline view | enterprise, saas |
88
+ | `dev-journey` | Developer: new project → spec → pipeline → artifact | all |
89
+
90
+ ---
91
+
92
+ ## Rules
93
+
94
+ | Rule | Trigger | Instruction | Priority |
95
+ |------|---------|-------------|----------|
96
+ | `testplan-required` | Creating a new project | Generate `TESTPLAN-001.md` with personas, environment, and main journey steps before writing code | required |
97
+ | `journey-before-code` | Starting project implementation | Define the user journey test plan first; journey tests act as living acceptance criteria | recommended |
98
+ | `sequential-state` | Writing journey E2E tests | Use shared state variables (`let token, orgSlug, projectSlug`) so each step builds on previous results | required |
99
+ | `graceful-skip` | Writing journey E2E tests | Guard with `describe.skipIf(!process.env.JOURNEY_BASE_URL)` so tests are skipped in unit CI | required |
100
+ | `t-nnn-alignment` | Writing any E2E test | Reference `T-NNN` identifiers from TESTPLAN in test descriptions for traceability | recommended |
101
+ | `persona-first` | Writing TESTPLAN | Define all user personas before writing any test steps | required |
102
+ | `dependency-chain` | Writing TESTPLAN | Each test group must declare its `depends_on` list so execution order is explicit | required |
@@ -0,0 +1,96 @@
1
+ # User Story Mapping Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/user-story-mapping.ai.yaml`
5
+ > **Spec**: XSPEC-069 (cross-project/specs/XSPEC-069-uds-product-layer-pack.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ This standard defines how teams construct and use **story maps** to plan product
12
+ releases. It covers the three-layer story-map structure (Backbone activities,
13
+ Walking Skeleton sub-tasks, Detail Stories), the MVP horizontal-slice rule,
14
+ INVEST compliance per story, and Given/When/Then acceptance criteria tied to
15
+ measurable product metrics. It prevents incomplete MVPs and ensures every story is
16
+ testable and traceable.
17
+
18
+ It is part of the **product-layer pack** (XSPEC-069), sitting between
19
+ `prd-standards` (upstream intent) and `requirement-engineering` (downstream INVEST
20
+ stories), with acceptance criteria tied to `product-metrics-standards`.
21
+
22
+ > **Scope.** This standard defines the *story-map structure and MVP-slicing
23
+ > discipline*. Concrete planning tooling (Miro/Jira) is an adoption choice.
24
+
25
+ ## Requirements
26
+
27
+ | ID | Rule | Level |
28
+ |----|------|-------|
29
+ | REQ-001 | Story-map three layers (backbone, walking skeleton, detail stories) | MUST |
30
+ | REQ-002 | MVP horizontal-slice rule (no vertical-slice MVP) | MUST |
31
+ | REQ-003 | Story INVEST compliance | MUST |
32
+ | REQ-004 | Acceptance-criteria format (Given/When/Then, metric-tied) | MUST |
33
+
34
+ ### REQ-001 — Story Map Three Layers
35
+
36
+ Every story map MUST be structured in three horizontal layers: (1) **Backbone**
37
+ (top row) — user activities at the highest abstraction representing the complete
38
+ end-to-end journey, each a verb phrase from the user's perspective; the backbone
39
+ must represent the full journey, not only implemented features. (2) **Walking
40
+ Skeleton** (middle row) — the minimum sub-tasks to make each backbone activity
41
+ functional, organized vertically under each backbone item. (3) **Detail Stories**
42
+ (bottom rows) — specific stories for variations, enhancements, and edge cases,
43
+ prioritized vertically within each column (higher = higher priority).
44
+
45
+ ### REQ-002 — MVP Horizontal Slice Rule
46
+
47
+ The MVP release boundary MUST be a **horizontal slice** across the story map,
48
+ covering all backbone activities at the walking-skeleton level. An MVP covering
49
+ only a subset of backbone activities (a **vertical slice** that perfects one
50
+ activity while others are absent or non-functional) is PROHIBITED, because it
51
+ cannot be evaluated end-to-end by users. **Exception**: single-activity products
52
+ (e.g. a focused utility) are exempt if the full value proposition is delivered by
53
+ that one activity; exceptions MUST be documented with rationale in the story map.
54
+
55
+ ### REQ-003 — Story INVEST Compliance
56
+
57
+ Every story in the map MUST comply with the INVEST criteria from
58
+ `requirement-engineering`: **I**ndependent, **N**egotiable, **V**aluable,
59
+ **E**stimable, **S**mall (fits within one sprint at most; split if larger),
60
+ **T**estable (objectively verifiable acceptance criteria exist). Stories that fail
61
+ INVEST must be refined before entering a sprint; the assessment MUST be performed
62
+ during backlog-refinement sessions.
63
+
64
+ ### REQ-004 — Acceptance Criteria Format
65
+
66
+ Every story MUST have at least one acceptance criterion in **Given/When/Then**
67
+ format, tied to a measurable product outcome from the `product-metrics-standards`
68
+ hierarchy where applicable. Stories with criteria that cannot be objectively
69
+ verified (e.g. "the page looks good") are non-compliant. Acceptance criteria MUST
70
+ be written before development begins and MUST NOT be modified after it starts
71
+ without PM and dev-lead sign-off (same revision policy as PRD changes).
72
+
73
+ ## Anti-Patterns
74
+
75
+ - Vertical MVP slicing: perfecting one activity while other backbone activities are absent.
76
+ - Stories without acceptance criteria entering development (no clear definition of done).
77
+ - Backbone activities mapped to system components instead of actual user goals.
78
+ - Story map used only for planning then discarded, not kept as a living tool.
79
+ - Detail stories added directly without backbone and walking-skeleton context.
80
+
81
+ ## Integration with Existing Standards
82
+
83
+ - **`prd-standards`** — PRD scope is realized as a story map and MVP slice.
84
+ - **`requirement-engineering`** — stories follow the INVEST criteria defined there.
85
+ - **`product-metrics-standards`** — acceptance criteria tie to a North Star driver.
86
+ - **`acceptance-criteria-traceability`** — GWT criteria provide the AC traceability spine.
87
+
88
+ ## Related Specs
89
+
90
+ - XSPEC-069 — UDS product-layer pack (this standard's source)
91
+
92
+ ## Changelog
93
+
94
+ | Version | Date | Changes |
95
+ |---------|------|---------|
96
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~004: three-layer map, MVP horizontal-slice rule, INVEST compliance, GWT acceptance criteria (XSPEC-069) |
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/verification-evidence.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-03-20
5
+ **Version**: 1.2.0
6
+ **Last Updated**: 2026-07-17
7
7
  **Applicability**: All AI-assisted development workflows
8
8
  **Scope**: universal
9
9
  **Inspired by**: [Superpowers](https://github.com/obra/superpowers) — verification-before-completion (MIT)
@@ -12,9 +12,19 @@
12
12
 
13
13
  ## Purpose
14
14
 
15
- Establish an "Iron Law" that no task can be claimed as complete without verification evidence. This standard prevents AI agents from hallucinating success and ensures every completion claim is backed by executable proof.
15
+ Establish an "Iron Law" that no task can be claimed as complete without verification evidence, and ensure that the evidence itself holds up. This standard guards two distinct failures:
16
16
 
17
- 建立「鐵律」:無驗證證據不可聲稱完成。防止 AI 代理虛構成功結果,確保每個完成聲明都有可執行的證據支持。
17
+ 1. **Claiming success without evidence** — the agent asserts what it never checked (the Iron Law).
18
+ 2. **Evidence that does not support its claim** — the agent *did* check, and the checking tool silently did not work (Evidence Validity, added in v1.2.0).
19
+
20
+ The first is a form of hallucination. **The second is not** — nothing was invented; a real command produced a real output that meant something other than what it appeared to mean. Both end in the same place: a completion claim that isn't true.
21
+
22
+ 建立「鐵律」:無驗證證據不可聲稱完成——並確保**證據本身站得住腳**。本標準防兩種不同的失敗:
23
+
24
+ 1. **無證據就宣稱成功**——代理斷言它從未查過的事(Iron Law)。
25
+ 2. **證據撐不起它的主張**——代理**確實查了**,而查詢工具靜默地沒有運作(證據有效性,v1.2.0 新增)。
26
+
27
+ 前者是幻覺的一種,**後者不是**——沒有任何東西被捏造,是一個真實的指令產生了真實的輸出,而那個輸出的意思不是它看起來的意思。兩者殊途同歸:一個不成立的完成聲明。
18
28
 
19
29
  ---
20
30
 
@@ -25,7 +35,10 @@ Establish an "Iron Law" that no task can be claimed as complete without verifica
25
35
  | Verification Evidence | A structured record of a verification command's execution and result |
26
36
  | Iron Law | The absolute rule: no evidence = no completion claim |
27
37
  | RED-GREEN Cycle | Proving a bug fix by showing the test fails before and passes after the fix |
28
- | Exit Code | The numeric return value of a command (0 = success, non-zero = failure) |
38
+ | Exit Code | The numeric return value of a command. **`0 = success` is the tool's convention, not a guarantee** — see Evidence Validity |
39
+ | Environment Layer | Which environment the evidence was collected from (`local` / `uat` / `prd`) |
40
+ | Evidence Validity | Whether the evidence *itself* is trustworthy — i.e. whether the verification command actually ran and actually measured what it claims |
41
+ | Silent Tool Failure | A verification command that fails to run, or runs without measuring anything, yet produces output indistinguishable from a genuine result |
29
42
 
30
43
  ---
31
44
 
@@ -39,6 +52,18 @@ An agent saying "it's done" is not evidence. The verification must be independen
39
52
 
40
53
  代理聲稱「已完成」不是證據。驗證必須是可獨立執行且產生可觀察輸出的。
41
54
 
55
+ ### Non-Evidence Claims
56
+
57
+ None of the following constitute verification evidence:
58
+
59
+ | Claim | Why it isn't evidence |
60
+ |-------|----------------------|
61
+ | "Done." | No observable output |
62
+ | "It should work now." | No verification was executed |
63
+ | "I changed the code." | A modification is not a verification |
64
+ | "The tests should pass." | A prediction is not a fact |
65
+ | "The command returned 0." | Only if the command could have measured the claim — see Evidence Validity |
66
+
42
67
  ---
43
68
 
44
69
  ## Evidence Format
@@ -50,7 +75,8 @@ Every verification must produce a structured evidence record:
50
75
  "command": "pnpm test -- --filter core",
51
76
  "exit_code": 0,
52
77
  "output": "Tests: 47 passed, 0 failed\nDuration: 3.2s",
53
- "timestamp": "2026-03-20T14:30:00Z"
78
+ "timestamp": "2026-03-20T14:30:00Z",
79
+ "environment_layer": "local"
54
80
  }
55
81
  ```
56
82
 
@@ -59,9 +85,44 @@ Every verification must produce a structured evidence record:
59
85
  | Field | Type | Required | Description |
60
86
  |-------|------|----------|-------------|
61
87
  | `command` | string | Yes | The actual verification command executed |
62
- | `exit_code` | number | Yes | Command exit code (0 = success) |
88
+ | `exit_code` | number | Yes | Command exit code. **Interpret via Evidence Validity — this field is a claim, not a fact** |
63
89
  | `output` | string | Yes | Command output (truncated to 2000 chars, preserving key info) |
64
90
  | `timestamp` | string | Yes | Execution time in ISO 8601 format |
91
+ | `environment_layer` | string | Conditional | Which layer the evidence came from (`local` / `uat` / `prd`). **Required for any AC with an external service dependency** (SMS, payment, IdP); when absent, the AC's verification level is treated as local-only |
92
+
93
+ ---
94
+
95
+ ## Evidence Types
96
+
97
+ | Type | Applies to | Example |
98
+ |------|-----------|---------|
99
+ | **Test result** | Feature work, bug fixes | `npm test` output |
100
+ | **Type check** | Statically typed codebases | `pnpm tsc --noEmit` reporting no errors |
101
+ | **Build success** | Compilation, packaging | `npm run build` exiting 0 |
102
+ | **Lint clean** | Code quality | `npm run lint` reporting no errors |
103
+ | **RED-GREEN** | Bug fixes | Failing before the fix → passing after |
104
+ | **Health probe** | Deployed services | `curl https://<service>/health` — declare `environment_layer`; a probe against `localhost` verifies the local process, not the deployment |
105
+ | **Manual verification** | UI changes, visual behaviour | Screenshot or screen recording |
106
+
107
+ ---
108
+
109
+ ## Environment Layers
110
+
111
+ > **Iron Law (Environment)**: before acceptance, establish *which dimensions of this flow this environment layer is capable of verifying at all*.
112
+
113
+ 驗收前必須確認「此環境層次能驗證此流程的哪些維度」。
114
+
115
+ A passing test proves nothing about a dimension the environment cannot exercise. A `local` run with a mocked payment gateway does not verify the payment integration — it verifies the mock. Evidence must therefore declare where it was collected.
116
+
117
+ | Layer | Meaning |
118
+ |-------|---------|
119
+ | `local` | Developer machine or CI; external dependencies typically mocked or stubbed |
120
+ | `uat` | Staging environment with real (or sandbox) external services |
121
+ | `prd` | Production |
122
+
123
+ For an AC that depends on an external service, `local`-only evidence is **insufficient**: either supply `uat`/`prd` evidence, or declare the gap explicitly. See VE-005 / VE-006.
124
+
125
+ > The declaration goes in the project's **Environment Stratification Responsibility Matrix** (`docs/testing/environment-stratification-matrix.md` or the test plan) — a per-project deliverable defined by the `deployment-standards` standard, which answers "which test flows can be fully verified in which environment?". Mark the un-verifiable combinations ⚠️/❌ there rather than leaving them implied by a passing local run.
65
126
 
66
127
  ---
67
128
 
@@ -107,12 +168,63 @@ The evidence record must include both RED and GREEN phases.
107
168
 
108
169
  ---
109
170
 
171
+ ## Evidence Validity
172
+
173
+ > **The evidence can lie. Verify the evidence, not just the claim.**
174
+
175
+ 證據本身會騙人。要驗的不只是「有沒有證據」,還有「這個證據成不成立」。
176
+
177
+ The Iron Law stops an agent from claiming success **without** evidence. It does not stop the opposite failure: the agent *does* run a verification, the command *does* return, `exit_code` *is* `0` — **and the output is meaningless**, because the command never actually measured anything.
178
+
179
+ This is not hallucination. Hallucination is inventing what you did not check. This is the reverse: **you checked, and the checking tool lied to you.** The `anti-hallucination` standard does not cover it — every prohibition there is a form of "don't make things up", and here nothing was made up.
180
+
181
+ ### The four validity rules
182
+
183
+ **1. `exit_code = 0` means success only for tools that return 0 on success.**
184
+
185
+ The convention is near-universal, which is exactly why it goes unquestioned. When a tool fails **by design** in the situation under test, its non-zero exit code carries no information about the artefact — read the *output* instead. The inverse holds too: a non-zero exit code does not establish that the thing under test is broken.
186
+
187
+ **2. "Empty output" / "not found" / `0` is not the same as "it isn't there."**
188
+
189
+ Before concluding absence, establish that the query tool *ran successfully*: it was not `command not found`, it was not denied permission, its arguments were not consumed by an intervening shell. **Verify the query tool works before trusting the query's silence.**
190
+
191
+ **3. Commands that test for existence must not discard stderr.**
192
+
193
+ Suppressing stderr (`2>/dev/null` and equivalents) silences precisely the channel that would have reported "this tool is broken". The failure then wears the same clothes as a true negative.
194
+
195
+ **4. A pipeline's exit code does not belong to any single stage in it.**
196
+
197
+ With `set -o pipefail`, `producer | grep -q pattern` inherits a non-zero from `producer` regardless of whether `grep` matched. When the decision depends on content, **capture the output first, then evaluate it** — do not let a pipeline collapse two questions into one number.
198
+
199
+ ### Evidence of the failure mode
200
+
201
+ The following are real verification commands run by an AI agent on 2026-07-17, each of which produced a confident, wrong conclusion that was then reported as fact:
202
+
203
+ | Verification command | `exit_code` | Output | Ground truth |
204
+ |---|:---:|---|---|
205
+ | `sudo -n find /backup/immich -type f 2>/dev/null \| wc -l` | **0** | `0` | `sudo` failed for lack of a tty, `2>/dev/null` ate the error, empty input made `wc -l` print `0`. **31 files existed.** Reported as "the backups are empty" |
206
+ | `gpg --list-packets <valid-file.gpg>` | **≠ 0** | Well-formed packet listing | The host holds no private key **by design**; gpg always exits non-zero here. **The file was valid.** Acted on by deleting a good encrypted backup |
207
+ | `gpg … \| grep -q "tag=1"` under `pipefail` | **≠ 0** | grep *did* match | The pipeline inherited gpg's non-zero; the match was irrelevant. **Deleted a good backup a second time** |
208
+ | `grep -c "${VAR}/path" file` over SSH in double quotes | **0** | `0` | `${VAR}` was expanded by the *local* shell to an empty string; the remote grep searched for the wrong text |
209
+ | `gpg --import key.asc 2>/dev/null` | — | (empty) | gpg **was not installed**; `command not found` went to the suppressed stderr |
210
+ | `until ! ssh host 'systemctl is-active svc'; do …` | — | loop exited | **A failed SSH connection and a finished service produce the same exit code.** The "result" read afterwards was a stale value from a previous run |
211
+ | `du -sh /data/*` as an unprivileged user | **0** | `4.0K` | Unreadable directories were reported as near-empty rather than as errors |
212
+ | `case "$tag" in *M*)` searching for monthly snapshots | **0** | (no match) | The tag's actual value was `monthly` — no capital `M`. Nearly became "there are no monthly snapshots" |
213
+
214
+ **Four of these had `exit_code = 0` and were false; two had `exit_code ≠ 0` and were true.** The field was unreliable in both directions — and in both of the non-zero cases, following VE-002 ("mark verification failed, trigger fix loop") destroyed a healthy artefact.
215
+
216
+ > **Provenance**: all instances come from a single day's work by a single agent (Claude Opus 4.8), recorded in AsiaOstrich XSPEC-340. The sample is dense but narrow. It is offered as evidence rather than proof — though note that every failure above originates in the *semantics of the tools* (sudo, gpg, pipefail, POSIX exit codes), not in any property of the model, so any agent driving the same tools is exposed to the same traps.
217
+
218
+ ---
219
+
110
220
  ## Trust Rules
111
221
 
112
222
  | Rule | Description |
113
223
  |------|-------------|
114
224
  | Agent says "done" but no `verification_evidence` | Mark as **unverified** |
115
- | `verification_evidence` exists but `exit_code ≠ 0` | Mark as **verification failed** |
225
+ | `verification_evidence` exists but `exit_code ≠ 0` | Mark as **verification failed** — **unless** the tool is known to exit non-zero in the state under test (Evidence Validity rule 1), in which case judge by output |
226
+ | `exit_code = 0` but the command could not have measured the claim | Mark as **unverified** — a passing command that ran in the wrong place, or never ran at all, is not evidence |
227
+ | Evidence asserts absence (`0`, empty, "not found") | Mark as **unverified** until the query tool is shown to have executed successfully |
116
228
  | Multiple verification steps | **All** steps must pass |
117
229
  | Agent provides evidence for wrong command | Mark as **unverified** |
118
230
 
@@ -123,9 +235,15 @@ The evidence record must include both RED and GREEN phases.
123
235
  | ID | Trigger | Action | Priority |
124
236
  |----|---------|--------|----------|
125
237
  | VE-001 | Agent reports success without verification_evidence | Downgrade to `done_with_concerns` | Critical |
126
- | VE-002 | `exit_code ≠ 0` in evidence | Mark verification failed, trigger fix loop | High |
238
+ | VE-002 | `exit_code ≠ 0` in evidence | Mark verification failed, trigger fix loop — **after** confirming the tool returns 0 on success in this state (see VE-007) | High |
127
239
  | VE-003 | Bug fix without RED-GREEN cycle | Request both RED and GREEN evidence | High |
128
240
  | VE-004 | Output exceeds 2000 chars | Truncate but preserve error messages and summary lines | Medium |
241
+ | VE-005 | AC has an external service dependency (SMS, payment, IdP) | Evidence must declare `environment_layer`; local-only evidence is insufficient | Required |
242
+ | VE-006 | AC with external dependency marked done, no `environment_layer` | Downgrade to `done_with_concerns`; require the layer declaration or a ⚠️/❌ entry in the environment-stratification-matrix | High |
243
+ | VE-007 | The verification tool exits non-zero in the state under test **by design** | VE-002 does not apply. Judge by output content; **do not trigger a fix loop against a healthy artefact** | Critical |
244
+ | VE-008 | Evidence claims absence (`0`, empty output, "not found") | Invalid until the query tool is shown to have run successfully. Re-run without stderr suppression | High |
245
+ | VE-009 | An existence/absence check suppresses stderr (`2>/dev/null` or equivalent) | Evidence does not stand. Re-run with stderr visible | High |
246
+ | VE-010 | Evidence's `exit_code` comes from a pipeline (esp. under `pipefail`) | The code attributes to no single stage. Capture the output and evaluate content instead | Medium |
129
247
 
130
248
  ---
131
249
 
@@ -163,10 +281,52 @@ message: "I've completed the task and everything should work now."
163
281
  # ❌ No verification_evidence — violates Iron Law
164
282
  ```
165
283
 
284
+ ### Bad: Evidence That Cannot Support Its Claim
285
+
286
+ ```yaml
287
+ claim: "The backup directory is empty — backups are not running."
288
+ verification_evidence:
289
+ - command: "sudo -n find /backup/immich -type f 2>/dev/null | wc -l"
290
+ exit_code: 0
291
+ output: "0"
292
+ timestamp: "2026-07-17T13:05:00Z"
293
+ # ❌ Passes the Iron Law: evidence exists, exit_code is 0, output is concrete.
294
+ # ❌ Violates VE-008, VE-009, VE-010:
295
+ # - claims absence without showing the query tool ran (VE-008)
296
+ # - suppresses the stderr that said "sudo: a terminal is required" (VE-009)
297
+ # - the exit code is the pipeline's, i.e. `wc -l`'s — `find` never ran (VE-010)
298
+ # 31 files were present. Directory listed as empty because nothing looked.
299
+ ```
300
+
301
+ ### Good: The Same Check, Made Valid
302
+
303
+ ```yaml
304
+ claim: "The backup directory holds 31 files."
305
+ verification_evidence:
306
+ - command: "ssh host 'sudo find /backup/immich -type f | wc -l'" # stderr not suppressed
307
+ exit_code: 0
308
+ output: "31"
309
+ timestamp: "2026-07-17T13:07:00Z"
310
+ environment_layer: "prd"
311
+ # ✅ stderr would have surfaced a sudo/permission failure instead of printing 0
312
+ # ✅ single-quoted so ${...} is not expanded by the local shell before transit
313
+ ```
314
+
315
+ ---
316
+
317
+ ## Related Standards
318
+
319
+ - [Anti-Hallucination](anti-hallucination.md) — the complementary standard. It prevents *fabricated* claims (asserting what was never checked); Evidence Validity covers the opposite failure — claims that **were** checked, by a tool that silently did not work.
320
+ - [Systematic Debugging](systematic-debugging.md) — how to investigate once evidence shows a real failure
321
+ - [Checkin Standards](checkin-standards.md) — where completion claims are gated
322
+ - [Test Governance](test-governance.md) — which tests are required, and therefore which evidence must exist
323
+ - [Testing Standards](testing-standards.md) — how the tests that produce most evidence are written
324
+ - [Agent Dispatch](agent-dispatch.md) — delegated work returns claims that need this standard applied to them
325
+ - [Deployment Standards](deployment-standards.md) — defines the Environment Stratification Responsibility Matrix referenced by VE-005 / VE-006
326
+
166
327
  ---
167
328
 
168
329
  ## References
169
330
 
170
331
  - **Superpowers**: [verification-before-completion](https://github.com/obra/superpowers) (MIT)
171
332
  - **Test-Driven Development**: RED-GREEN-REFACTOR cycle
172
- - **Anti-Hallucination**: Complementary standard for preventing fabricated claims
@@ -0,0 +1,167 @@
1
+ # Verification Oracle Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/verification-oracle.ai.yaml`
5
+ > **Spec**: XSPEC-256 (cross-project/specs/XSPEC-256-verification-oracle.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ A **test oracle** is the source of truth that decides whether software output is *correct*.
12
+ Software without an oracle cannot be said to be "right" — you cannot even state whether it
13
+ is right or wrong. This standard makes the **ground-truth oracle a first-class artifact**
14
+ and turns "correct" from a one-time acceptance state into a **maintained invariant**
15
+ re-verified on every change (DEC-077).
16
+
17
+ It is the **correctness** member of the governance-gate family — alongside
18
+ `license-compliance` (XSPEC-193, *licensing*) and `model-provenance` (XSPEC-255, *source*) —
19
+ which all share the same shape: **registry/check → fail-closed gate → audit evidence →
20
+ human-escalation ceiling**. The three are profiles of one mechanism over three axes:
21
+ **licensing / provenance / correctness**.
22
+
23
+ > **Scope.** This standard defines the *correctness oracle mechanism* (registry, grading,
24
+ > gate timing, re-verification, evidence, escalation) and the acceptance evidence it
25
+ > produces. The **oracle content (the correct answers) belongs to the customer** — it is
26
+ > their domain, their ground truth (DEC-075 neutral mechanism / DEC-063 customer-owned
27
+ > output). Enforcement engine wiring (e.g. VibeOps pipeline gates) is a downstream
28
+ > adoption concern, not part of this standard.
29
+
30
+ ## The Oracle-ability Spectrum
31
+
32
+ Not every requirement has a ready oracle. Grade each high-stakes feature by how readily its
33
+ oracle exists — this drives cost, beachhead selection, and when a human must step in.
34
+
35
+ | Tier | Oracle shape | Readiness / cost |
36
+ |------|--------------|------------------|
37
+ | 1 | Known-correct output of a legacy system | Most ready, cheapest (parity-provable) |
38
+ | 2 | A batch of hand-computed / existing correct outputs | Ready (reproduce + scale) |
39
+ | 3 | Regulation / formula (rules exist, examples missing) | Needs co-derived worked examples + sign-off (ATDD) |
40
+ | 4 | Vague requirement (oracle must be *mined* from interviews) | Most expensive — the "translation problem" |
41
+
42
+ ## Requirements
43
+
44
+ | ID | Rule | Level |
45
+ |----|------|-------|
46
+ | REQ-001 | Ground-truth registry as a first-class artifact, bound to AC | MUST |
47
+ | REQ-002 | Oracle-ability grading (Tier 1–4) for every high-stakes feature | MUST |
48
+ | REQ-003 | Fail-closed verification gate before ship | MUST |
49
+ | REQ-004 | Sustained re-verification on every change (correctness as CI invariant) | MUST |
50
+ | REQ-005 | Auditable verification evidence (N/N reproduced, no drift, trace) | MUST |
51
+ | REQ-006 | Self-serve frontier ceiling — escalate when no oracle / unverifiable high-stakes | MUST |
52
+ | REQ-007 | Oracle content sovereignty — content owned by customer, mechanism neutral | SHOULD |
53
+
54
+ ### REQ-001 — Ground-Truth Registry
55
+
56
+ The correct answers a customer provides become a first-class artifact. Each ground-truth
57
+ case carries an **input scenario + expected correct output**, and is **bound to the
58
+ acceptance criterion** it proves (`acceptance-criteria-traceability`). At minimum the
59
+ mechanism MUST support numeric and structured-output comparison, with per-field exemptions
60
+ (e.g. `ignore_fields` for timestamps/ids). Example: a billing case "given orders + org
61
+ state → the *correct* charge amount", not merely "the endpoint returns HTTP 200".
62
+
63
+ ### REQ-002 — Oracle-ability Grading
64
+
65
+ Every high-stakes feature MUST be tagged with its oracle Tier (1–4, table above).
66
+ A **Tier-4 (must-mine) feature MUST have a defined hand-off point** to an oracle-manufacturing
67
+ flow (interview / Prototype Probe; XSPEC-252) that pulls the expensive end toward Tier 1–2.
68
+ Beachhead selection SHOULD prefer Tier 1–2 features where the oracle is already ready.
69
+
70
+ ### REQ-003 — Fail-Closed Verification Gate
71
+
72
+ Before a system may enter UAT/ship, it MUST **exactly reproduce every registered
73
+ ground-truth case**. A non-reproduction MUST **block ship or escalate** — never silently
74
+ pass (mirrors `license-compliance` blocklist and `model-provenance` denylist). The gate
75
+ plugs into existing reviewer/QA gates and the audit logger.
76
+
77
+ ### REQ-004 — Sustained Re-Verification (the soul of this standard)
78
+
79
+ On **every change / regeneration**, the full oracle suite MUST be re-run, making "correct"
80
+ a **CI-grade invariant** rather than a one-time acceptance. **Drift** (was-correct, now-wrong)
81
+ MUST be detected and **blocked**. This is the mechanization of DEC-077's "changed and still
82
+ correct, and provably correct the whole time" — the differentiator a "generate-once, never
83
+ re-verify" competitor cannot match.
84
+
85
+ ### REQ-005 — Audit Evidence
86
+
87
+ Each verification run MUST emit an auditable report: *"this delivery reproduced N/N
88
+ ground-truth cases, no drift, trace attached."* It plugs into the audit logger / hash chain,
89
+ the `model-provenance` source evidence (XSPEC-255), and the telemetry allowlist (DEC-066).
90
+ **This report is the outward proof of the correctness/governance moat** and a compliance
91
+ artifact for the customer.
92
+
93
+ ### REQ-006 — Self-Serve Frontier Ceiling
94
+
95
+ Where there is **no oracle** (correctness is not decidable) or a **high-stakes but
96
+ unverifiable** path, the system MUST NOT let self-serve silently pass. It MUST flag
97
+ "a human must decide / an oracle must be supplied here" and **escalate** (DEC-076 ceiling).
98
+ Defining correctness and signing off acceptance are **human judgments** (customer / legal /
99
+ regulator) — a product-enforced governance gate, not a consultant trap.
100
+
101
+ ### REQ-007 — Oracle Content Sovereignty
102
+
103
+ The verification *mechanism* is domain-neutral (DEC-075); the *correct answers* are owned by
104
+ the customer (DEC-063). Adopters SHOULD keep registries customer-scoped and isolated
105
+ (see `model-provenance` / `license-compliance` per-customer salt patterns, DEC-064).
106
+
107
+ ## Principles
108
+
109
+ | ID | Principle |
110
+ |----|-----------|
111
+ | P-1 | Oracle First — no oracle, no "correct"; grade oracle-ability before claiming correctness |
112
+ | P-2 | Maintained Invariant — re-verify on every change; drift is a blocking event (DEC-077) |
113
+ | P-3 | Fail-Closed — non-reproduction blocks or escalates; never silent pass |
114
+ | P-4 | Evidence-Based — every verdict carries a reproducible trace (N/N + diff + audit id) |
115
+ | P-5 | Human Ceiling — unverifiable high-stakes escalates to a human (DEC-076) |
116
+ | P-6 | Content Sovereignty — mechanism neutral, correct answers owned by the customer |
117
+
118
+ ## Gate Timing
119
+
120
+ ```
121
+ spec(SDD) → generate → [oracle verification gate] ← REQ-003 fail-closed, pre-ship
122
+
123
+ on every change ─────┤ → re-run full oracle suite ← REQ-004 drift block
124
+
125
+ audit evidence report ← REQ-005 (outward moat proof)
126
+
127
+ no oracle / unverifiable ──┴──→ escalate to human ← REQ-006 ceiling
128
+ ```
129
+
130
+ ## Relationship to the Governance-Gate Family
131
+
132
+ | Profile | Standard | Axis | Registry/Check | Block trigger |
133
+ |---------|----------|------|----------------|---------------|
134
+ | Licensing | `license-compliance` (XSPEC-193) | legal | blocklist/allowlist/greylist | prohibited license |
135
+ | Provenance | model-provenance (XSPEC-255, planned sibling) | source | model source policy | denied source |
136
+ | **Correctness** | **`verification-oracle` (XSPEC-256)** | **correct** | **ground-truth registry** | **non-reproduction / drift** |
137
+
138
+ All three: fail-closed + audit evidence + customer override telemetered + human-escalation ceiling.
139
+
140
+ ## Integration with Existing Standards
141
+
142
+ - **`acceptance-criteria-traceability`** — oracle cases bind to AC; reproduction becomes a
143
+ form of AC coverage.
144
+ - **`verification-evidence`** — the oracle report is a kind of verification evidence (N/N
145
+ reproduction + no-drift + trace).
146
+ - **`test-governance`** — the oracle suite is governed test policy; the gate is a governed gate.
147
+ - **`behavior-snapshot`** — a parity/snapshot gate is REQ-003/REQ-004 instantiated for the
148
+ refactor/migration case; a snapshot is itself an oracle, so the skeleton may be shared.
149
+
150
+ ## Related Specs
151
+
152
+ - XSPEC-256 — Verification Oracle complete spec (this standard's source)
153
+ - DEC-077 — Correctness as a maintained invariant (mother decision)
154
+ - DEC-075 — VibeOps domain-neutral positioning (neutral mechanism)
155
+ - DEC-076 — Self-serve customization north star (oracle = self-serve ceiling)
156
+ - DEC-063 — Legal & compliance strategy (customer-owned output / high-stakes)
157
+ - DEC-066 — Telemetry-driven product evolution (audit/telemetry)
158
+ - XSPEC-193 / XSPEC-255 — sibling governance-gate profiles (licensing / provenance)
159
+ - XSPEC-252 — Domain pack requirement translation (oracle manufacturing, Tier-4 hand-off)
160
+ - XSPEC-188 — UAT ship-decision dashboard (business-level UAT anchors)
161
+ - XSPEC-201 — Refactor/migration completeness (behavior-snapshot = an oracle instance)
162
+
163
+ ## Changelog
164
+
165
+ | Version | Date | Changes |
166
+ |---------|------|---------|
167
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~007: ground-truth registry, oracle-ability grading, fail-closed gate, sustained re-verification, audit evidence, self-serve ceiling, content sovereignty (XSPEC-256) |