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
@@ -13,8 +13,8 @@ standard:
13
13
  - "Respect noise control levels and cooldown periods"
14
14
 
15
15
  meta:
16
- version: "1.0.0"
17
- updated: "2026-02-07"
16
+ version: "1.1.0"
17
+ updated: "2026-06-18"
18
18
  source: core/developer-memory.md
19
19
  description: Structured system for capturing, retrieving, and surfacing developer experience insights across conversations and projects
20
20
 
@@ -115,7 +115,8 @@ standard:
115
115
  bonus_rules:
116
116
  - "3 consecutive valid: bonus +0.05"
117
117
  - "3 consecutive invalid: flag for review"
118
- - "confidence < 0.2: flag for retirement"
118
+ - "confidence < 0.2: flag for retirement (repeatedly invalidated = noise)"
119
+ - "not surfaced 180+ days AND confidence < 0.5: flag for retirement (dormant + low confidence; 180d matches staleness model; UDS default, configurable)"
119
120
  - "confidence > 0.9 after 10+ uses: mark proven"
120
121
 
121
122
  review:
@@ -3,8 +3,8 @@
3
3
 
4
4
  id: flow-based-testing
5
5
  meta:
6
- version: "1.0.0"
7
- updated: "2026-05-04"
6
+ version: "1.0.1"
7
+ updated: "2026-06-18"
8
8
  source: core/flow-based-testing.md
9
9
  description: Flow decomposition methodology for testing multi-step processes with branch coverage
10
10
 
@@ -3,8 +3,8 @@
3
3
 
4
4
  id: forward-derivation
5
5
  meta:
6
- version: "1.1.0"
7
- updated: "2026-04-01"
6
+ version: "1.3.0"
7
+ updated: "2026-06-18"
8
8
  source: core/forward-derivation-standards.md
9
9
  description: Standards for deriving BDD, TDD, IT, E2E, ATDD, and Contract tests from approved SDD specifications
10
10
 
@@ -134,6 +134,21 @@ anti_hallucination:
134
134
  - Inventing test cases beyond AC scope
135
135
  - Fabricating edge cases not specified
136
136
 
137
+ # Failure handling (failure -> rollback -> retry/escalate -> re-verify)
138
+ failure_handling:
139
+ description: What happens when a derivation gate fails; recovery always ends by re-verifying the failed gate
140
+ matrix:
141
+ - failure: AC parse error (unsupported format)
142
+ action: Abort that AC, report file:line + expected GWT/bullet format, emit no skeleton, re-queue after SPEC fix
143
+ - failure: AC count mismatch (tests != ACs)
144
+ action: "[anti-hallucination] hard rollback + regenerate strict 1:1; never add/delete tests to match the count"
145
+ - failure: Skeleton does not parse/compile
146
+ action: Roll back the file and regenerate with the correct template; on a 2nd failure mark the AC [BLOCKED] and escalate
147
+ - failure: Human review rejection
148
+ action: Record the reason and regenerate only the rejected items with that feedback; never auto-approve
149
+ - failure: Missing @SPEC/@AC attribution
150
+ action: Block the transition into TDD RED and re-emit with attribution
151
+
137
152
  # Commands
138
153
  commands:
139
154
  - command: "/derive-bdd"
@@ -167,6 +182,15 @@ commands:
167
182
 
168
183
  # Rules for AI
169
184
  rules:
185
+ - id: fd-fail-gate-halts
186
+ instruction: A gate failure must halt progression; never enter TDD RED with an unresolved failure
187
+ priority: required
188
+ - id: fd-fail-count-hard-rollback
189
+ instruction: A test/AC count mismatch is a hard rollback, not a reconciliation; never add or delete tests to match the count
190
+ priority: required
191
+ - id: fd-fail-bounded-retry-escalate
192
+ instruction: Bound automated retries (max 2 for transient/template errors); on exhaustion mark the AC [BLOCKED] and escalate to a human
193
+ priority: required
170
194
  - id: approved-spec-only
171
195
  instruction: Only derive from approved specifications
172
196
  priority: required
@@ -8,8 +8,8 @@ standard:
8
8
  description: Behavior-completeness full coverage paradigm replacing pyramid thresholds. Enforces anti-fake-test rules, STUB marker protocol, ratchet CI, and @ac traceability.
9
9
 
10
10
  meta:
11
- version: "1.0.0"
12
- updated: "2026-05-06"
11
+ version: "1.1.0"
12
+ updated: "2026-06-17"
13
13
  source: core/full-coverage-testing.md
14
14
  replaces: "testing pyramid thresholds (UT≥80%/IT≥70%/E2E happy-path-only)"
15
15
  xspec: "XSPEC-178"
@@ -191,6 +191,38 @@ standard:
191
191
  - "Anti-fake rules: no tautology, no business-logic mocks"
192
192
  - "STUB protocol: deployment gates on all environments"
193
193
 
194
+ # XSPEC-288: Migration Error-Path Completeness (axis 9 of XSPEC-284 completeness matrix)
195
+ # The three-path model requires an error path PER FUNCTION; this adds the migration
196
+ # guarantee that legacy error/degradation/fallback branches are SYSTEMATICALLY carried
197
+ # over, not merely sampled. Systematic-enumeration + gap-analysis layer above the
198
+ # XSPEC-201 error-path snapshot.
199
+ migration_error_path_completeness:
200
+ axis: "9 (error paths) of XSPEC-284 migration completeness matrix"
201
+ why_gap: "Per-function error path + XSPEC-201 snapshot verify only enumerated error cases. A rewrite drops scattered error branches in bulk; a passing sample does not prove no branch was missed."
202
+ derive: # R1 mechanized legacy exception/error-code list
203
+ sources:
204
+ catch_blocks: "grep catch/except/rescue -> every caught exception type + handler"
205
+ exception_hierarchy: "custom exception/error class taxonomy"
206
+ error_codes: "HTTP status, app error codes, error enums"
207
+ error_shapes: "error serializers/DTOs -> on-the-wire error contract"
208
+ note: "Captured list is the error-path to-verify checklist, sourced from artifacts not recall."
209
+ gap_analysis: # R2 systematic missing-branch oracle
210
+ rule: "for EACH legacy error branch verify a corresponding new-system handler; no mapping -> not_implemented (XSPEC-199) -> BLOCK"
211
+ output: "missing-error-branch gap report over the full derived list, not a passing sample"
212
+ degradation_parity: # R3
213
+ checklist: [external_failure_fallback, retry_policy, partial_result_handling, circuit_breaker_timeout]
214
+ goal: "not consistent on happy path but wildly different on failure"
215
+ error_response_differential: # R4
216
+ extends: "behavior-snapshot parity + XSPEC-284 R5 replay, applied to the ERROR response"
217
+ compare: [error_code, message_structure, http_status]
218
+ importance_ranking: "rank by production-actual trigger frequency (#134 production is the oracle); fired-in-prod branches mapped first; a high-frequency prod error branch with no mapping is a hard block"
219
+ gate_timing: [pre-UAT, "cutover before/after"]
220
+ completeness_declaration:
221
+ derive: "Step1 mechanized exception/error-code list"
222
+ oracle: "Step2 systematic gap analysis + Step4 error-response differential"
223
+ gate_timing: "pre-UAT + cutover before/after"
224
+ reuse: "XSPEC-201 error-path snapshot + three-path model; adds only systematic missing-branch analysis + error-response differential"
225
+
194
226
  physical_spec:
195
227
  type: custom_script
196
228
  validator:
@@ -8,8 +8,8 @@ standard:
8
8
  description: Git Worktree 隔離開發標準
9
9
 
10
10
  meta:
11
- version: "1.0.0"
12
- updated: "2026-03-20"
11
+ version: "1.1.0"
12
+ updated: "2026-06-18"
13
13
  source: core/git-worktree.md
14
14
  description: Git Worktree 隔離開發與生命週期管理標準
15
15
  inspired_by: superpowers/using-git-worktrees
@@ -54,7 +54,7 @@ standard:
54
54
  priority: critical
55
55
  - id: GW-002
56
56
  trigger: "基準測試失敗"
57
- action: "中止任務,報告環境問題"
57
+ action: "先重試至多 2 次(指數退避)以排除暫時性失敗;若持續失敗則中止任務並報告環境問題"
58
58
  priority: high
59
59
  - id: GW-003
60
60
  trigger: "異常退出"
@@ -3,10 +3,26 @@
3
3
 
4
4
  id: logging
5
5
  meta:
6
- version: "1.3.0"
7
- updated: "2026-05-26"
6
+ version: "1.4.0"
7
+ updated: "2026-06-17"
8
8
  source: core/logging-standards.md
9
- description: Logging levels, structured logging, file rotation policy, and best practices
9
+ description: Logging levels, structured logging, mandatory events catalog, file rotation policy, and best practices
10
+
11
+ # XSPEC-070 Phase 2 — skill↔standard content-coverage audit.
12
+ # Consumed by scripts/check-skill-content-coverage.ts: the anchor skill
13
+ # (logging-guide) MUST mention each mandatory event id below, or CONTENT-002 fires.
14
+ # Source of truth: core/logging-standards.md "Mandatory Events" catalog (9 canonical events).
15
+ audit:
16
+ mandatory_keywords:
17
+ - application_startup
18
+ - request_received
19
+ - validation_failure
20
+ - authentication_failure
21
+ - outbound_call_start
22
+ - outbound_call_complete
23
+ - business_event
24
+ - heartbeat
25
+ - shutdown
10
26
 
11
27
  log_levels:
12
28
  ordered:
@@ -51,6 +67,69 @@ structured_logging:
51
67
  field_naming: snake_case
52
68
  format: JSON in production
53
69
 
70
+ # When you MUST write a log entry (XSPEC-234 / closes #108).
71
+ # Compliant formatting but silent-at-the-critical-moment logging is excluded.
72
+ mandatory_events:
73
+ - id: application_startup
74
+ when: After process boot, before accepting requests
75
+ level: INFO
76
+ must_log: [app_name, version, git_sha, environment, hostname, pid, listening_endpoints]
77
+ must_not_log: [secrets, full_connection_strings]
78
+ rationale: Lifecycle blind spot; confirms which build/config is actually live
79
+ - id: request_received
80
+ when: First time HTTP middleware sees a request
81
+ level: INFO/DEBUG
82
+ must_log: [method, path, source_ip, request_id]
83
+ must_not_log: [request_body, auth_headers]
84
+ rationale: Establishes request_id correlation from the edge inward
85
+ - id: validation_failure
86
+ when: schema / ModelState / DTO validation rejects
87
+ level: WARN
88
+ must_log: [request_id, path, missing_fields, payload_shape]
89
+ must_not_log: [field_values, pii]
90
+ rationale: Framework rejects before handler; payload otherwise never logged (incident #2)
91
+ - id: authentication_failure
92
+ when: login / token verification fails
93
+ level: WARN
94
+ must_log: [uid_attempted, source_ip, failure_reason]
95
+ must_not_log: [password, token_value]
96
+ rationale: 'Account or password error alone is un-investigable without uid/IP (incident #3)'
97
+ - id: outbound_call_start
98
+ when: An outbound HTTP/RPC call is initiated
99
+ level: INFO
100
+ must_log: [target_url_host_path, request_id_propagated, timeout_ms]
101
+ must_not_log: [credentials, bearer_tokens]
102
+ rationale: A send-failed error must leave a trace that the call was even attempted
103
+ - id: outbound_call_complete
104
+ when: An external call returns or fails
105
+ level: INFO/WARN/ERROR
106
+ must_log: [status_code_or_failure_phase, elapsed_ms, retries]
107
+ must_not_log: [response_body_with_pii]
108
+ rationale: Distinguish dns/tcp/tls/http failure phase for diagnosis
109
+ - id: business_event
110
+ when: A state-changing business operation completes
111
+ level: INFO
112
+ must_log: [operation_name, actor, target_ids, outcome]
113
+ must_not_log: [full_record_payload, pii]
114
+ rationale: Audit trail of what changed and by whom
115
+ - id: heartbeat
116
+ when: Long-running background service, at least once per 60 seconds
117
+ level: INFO
118
+ must_log: [service_name, queue_depth, items_processed_since_last_heartbeat]
119
+ must_not_log: []
120
+ rationale: Detect silent/0-byte background worker; enables silence detection (incident #4)
121
+ - id: shutdown
122
+ when: Process exits (graceful or fatal)
123
+ level: INFO/ERROR
124
+ must_log: [app_name, signal_or_reason, uptime_seconds, pending_work_count]
125
+ must_not_log: []
126
+ rationale: Lifecycle blind spot; reveals crash vs graceful and lost in-flight work
127
+
128
+ mandatory_events_follow_on_rules:
129
+ access_log_separation: Health-probe/liveness traffic MUST NOT pollute business-event log (separate sink)
130
+ silence_detection_sla: Alert after N minutes with no events, N <= 2x heartbeat interval
131
+ request_id_discoverability: Error responses to client SHOULD carry request_id for support correlation
132
+
54
133
  sensitive_data:
55
134
  never_log:
56
135
  - passwords
@@ -80,6 +159,19 @@ rules:
80
159
  instruction: Use structured JSON logging with required fields
81
160
  priority: required
82
161
 
162
+ - id: mandatory-events
163
+ trigger: implementing startup/shutdown, request handling, validation, auth, outbound calls, background services
164
+ instruction: |
165
+ Emit the mandatory events catalog entries (see mandatory_events):
166
+ application_startup, request_received, validation_failure,
167
+ authentication_failure, outbound_call_start, outbound_call_complete,
168
+ business_event, heartbeat, shutdown. A log that follows every formatting
169
+ rule but never fires at the critical moment is excluded. Validation rejects
170
+ MUST log payload_shape (keys only, not values); auth failures MUST log
171
+ uid+source_ip (never password/token); background services MUST heartbeat
172
+ so silence is detectable.
173
+ priority: required
174
+
83
175
  - id: include-context
84
176
  trigger: logging operations
85
177
  instruction: Include request_id or trace_id for correlation
@@ -185,9 +277,11 @@ quick_reference:
185
277
 
186
278
  enforcement:
187
279
  hook_type: PostToolUse
280
+ trigger: PostToolUse
188
281
  matcher:
189
282
  tool: Write
190
283
  path: "src/**/*.ts"
191
284
  script_ref: "scripts/hooks/check-logging-standard.js"
285
+ hook_script: "scripts/hooks/check-logging-standard.js"
192
286
  severity: warning
193
287
  timeout_ms: 500
@@ -3,14 +3,17 @@
3
3
 
4
4
  id: mock-boundary
5
5
  meta:
6
- version: "1.1.0"
7
- updated: "2026-05-13"
6
+ version: "1.2.0"
7
+ updated: "2026-07-01"
8
8
  source: core/mock-boundary.md
9
9
  description: >
10
10
  Rules defining what can and cannot be mocked to prevent hollow tests —
11
11
  tests that pass while the real system is broken.
12
12
  v1.1.0: Added Level 1/Level 2 mock layer distinction and external
13
13
  dependency testability matrix template (XSPEC-204).
14
+ v1.2.0: Added injectable background execution as a seam (parallel to clock
15
+ injection) — allowed background-runner seam, no-poll/sleep rule, and the
16
+ poll/sleep-for-background-result anti-pattern (issue #143).
14
17
 
15
18
  # ─────────────────────────────────────────────────────────
16
19
  # Mock Levels (v1.1.0)
@@ -150,6 +153,31 @@ allowed:
150
153
  // 1. The DB layer has its own integration tests
151
154
  // 2. The service test focuses on service logic (not DB behavior)
152
155
 
156
+ - category: In-Process Background Execution (via injectable runner)
157
+ description: >
158
+ Fire-and-forget dispatch — Task.Run, unawaited promises, setTimeout,
159
+ goroutines, thread-pool/executor submission, asyncio.create_task
160
+ reason: >
161
+ Background dispatch is a seam, exactly like the system clock. Inject a
162
+ runner so the test can drive the work to deterministic, awaited completion
163
+ and assert on success/exception/retry — instead of polling or sleeping.
164
+ implementation: >
165
+ Abstract dispatch behind a small interface (e.g. IBackgroundTaskRunner /
166
+ BackgroundDispatcher). Production keeps true fire-and-forget semantics;
167
+ the test double runs the work inline and tracks the Task/promise, exposing
168
+ a handle the test can await before asserting.
169
+ example: |
170
+ // Production: real fire-and-forget — returns immediately, work runs detached
171
+ class FireAndForgetDispatcher implements BackgroundDispatcher {
172
+ dispatch(work: () => Promise<void>): void { void work() }
173
+ }
174
+ // Test: inline + tracked so the test can await deterministic completion
175
+ class DeterministicDispatcher implements BackgroundDispatcher {
176
+ private tasks: Promise<void>[] = []
177
+ dispatch(work: () => Promise<void>): void { this.tasks.push(work()) }
178
+ async settle(): Promise<void> { await Promise.all(this.tasks) }
179
+ }
180
+
153
181
  # ─────────────────────────────────────────────────────────
154
182
  # Forbidden Mocks
155
183
  # ─────────────────────────────────────────────────────────
@@ -253,6 +281,15 @@ anti_patterns:
253
281
  description: DB mock returns hardcoded data, hiding query logic errors
254
282
  problem: Schema migrations, wrong predicates, missing joins — all invisible
255
283
 
284
+ - name: Poll/Sleep for Background Result
285
+ description: >
286
+ Sleeping or polling to wait for in-process fire-and-forget work
287
+ (Task.Run, unawaited promise, setTimeout, goroutine) to finish
288
+ problem: >
289
+ The race is still there — the timeout only hides it most of the time while
290
+ slowing the whole suite; on a shared runner it leaks flakiness into other
291
+ MRs' CI. Same class of anti-pattern as depending on wall-clock time.
292
+
256
293
  # ─────────────────────────────────────────────────────────
257
294
  # Rules
258
295
  # ─────────────────────────────────────────────────────────
@@ -297,6 +334,15 @@ rules:
297
334
  If any hollow test indicator triggers, rewrite the mocking strategy.
298
335
  priority: required
299
336
 
337
+ - id: no-poll-sleep-for-background-work
338
+ trigger: test asserts a fire-and-forget side effect (Task.Run, unawaited promise, setTimeout, goroutine, executor)
339
+ instruction: >
340
+ Never poll or sleep to wait for in-process background work. Inject a
341
+ deterministic runner (e.g. IBackgroundTaskRunner / BackgroundDispatcher)
342
+ whose test double runs the work inline and tracks the Task/promise; await
343
+ the tracked task, then assert on success, exception, or retry.
344
+ priority: required
345
+
300
346
  - id: level-2-stub-server-rules
301
347
  trigger: UAT environment lacks a real external service (SMS, payment, IdP)
302
348
  instruction: >
@@ -0,0 +1,297 @@
1
+ # Model Provenance Policy Standards - AI Optimized
2
+ # Sources:
3
+ # v1.0.0 — XSPEC-255 Model Provenance Policy (acceptable model source as an enforced axis)
4
+ # DEC-075 (neutral mechanism / policy belongs to customer)
5
+ # DEC-063 (regulated / data-sovereignty customers)
6
+
7
+ id: model-provenance
8
+ title: Model Provenance Policy Standards (Acceptable Model Source as a Governed, Fail-Closed Axis)
9
+ version: "1.0.0"
10
+ status: Active
11
+ tags: [provenance, model-source, geopolitics, data-sovereignty, governance-gate, fail-closed, audit, allowlist, denylist, compliance]
12
+ created: 2026-06-17
13
+ updated: 2026-06-17
14
+
15
+ spec_ref: XSPEC-255 # Model Provenance Policy complete spec
16
+
17
+ references:
18
+ - XSPEC-255 # v1.0.0 source — Model Provenance Policy
19
+ - XSPEC-193 # Sibling governance-gate profile — licensing (shared skeleton)
20
+ - XSPEC-256 # Sibling governance-gate profile — correctness
21
+ - DEC-075 # Domain-neutral mechanism (policy content belongs to customer/pack)
22
+ - DEC-063 # Legal & compliance — regulated / sovereignty-sensitive customers
23
+ - DEC-064 # Customer IP isolation (per-customer policy scoping)
24
+ - DEC-066 # Telemetry-driven evolution — audit/telemetry allowlist
25
+ - DEC-076 # Self-serve north star — provenance = a self-serve ceiling
26
+ - XSPEC-254 # Positioning pre-mortem (cost-structure / origin axis context)
27
+
28
+ summary: |
29
+ Model selection is not only "cost x quality" — there is a third axis: whether the model's
30
+ SOURCE is acceptable to the customer (geopolitics / data sovereignty / regulation). A
31
+ regulated or geopolitically sensitive buyer may be unable to use models from a given
32
+ jurisdiction; the strictest reject even locally-run open weights of that origin. This
33
+ standard makes model provenance a first-class, enforced, auditable property: declare an
34
+ acceptable-source policy, block non-compliant model choices fail-closed, and emit
35
+ auditable evidence ("this delivery used no models of the denied origin").
36
+
37
+ It is the PROVENANCE (source) member of the governance-gate family — alongside
38
+ license-compliance (XSPEC-193, licensing) and verification-oracle (XSPEC-256, correctness)
39
+ — sharing the same shape: registry/check -> fail-closed gate -> audit evidence ->
40
+ human-escalation ceiling. The three are profiles of one mechanism over three axes:
41
+ licensing / provenance / correctness.
42
+
43
+ REQ-001~007: a model origin registry (model -> vendor -> jurisdiction/origin class); a
44
+ provenance policy schema (allow/deny origins, local-weights distinction, mode,
45
+ unknown-origin fail-closed); fail-closed enforcement at every model-selection point;
46
+ auditable provenance evidence; reference policy packs (content customer-owned);
47
+ unknown-origin fail-closed; and policy content sovereignty (mechanism neutral, policy
48
+ owned by the customer).
49
+
50
+ scope:
51
+ applies_to:
52
+ - Any system that selects an LLM/model where the customer constrains acceptable model source
53
+ (regulated / government / geopolitically sensitive buyers)
54
+ - Model-selection points: per-agent config, routing decisions, BYOK
55
+ - Provenance audit reports proving no denied-origin model was used
56
+ excludes:
57
+ - The policy CONTENT itself (which origins are acceptable) — owned by the customer / a compliance pack
58
+ - Enforcement-engine wiring (e.g. VibeOps provider abstraction / router gate) — downstream adoption concern
59
+ - Cost/quality model right-sizing — that is model-selection; provenance is a constraint applied first
60
+
61
+ origin_registry:
62
+ description: |
63
+ Each known model is classified by vendor -> jurisdiction -> origin class. Like the
64
+ license-compliance license DB, it is maintainable and extensible by the ecosystem/customer.
65
+ origin_classes:
66
+ - western-frontier # e.g. Claude (Anthropic/US), GPT/o-series (OpenAI/US), Gemini (Google/US)
67
+ - western-open # e.g. Llama (Meta/US), Mistral (Mistral/EU), Gemma (Google/US)
68
+ - china-origin # e.g. DeepSeek (DeepSeek/CN), MiniMax (MiniMax/CN), Qwen (Alibaba/CN)
69
+ example_entries:
70
+ - { model: Claude, vendor: Anthropic, jurisdiction: US, origin_class: western-frontier }
71
+ - { model: GPT, vendor: OpenAI, jurisdiction: US, origin_class: western-frontier }
72
+ - { model: Gemini, vendor: Google, jurisdiction: US, origin_class: western-frontier }
73
+ - { model: Llama, vendor: Meta, jurisdiction: US, origin_class: western-open }
74
+ - { model: Mistral, vendor: Mistral, jurisdiction: EU, origin_class: western-open }
75
+ - { model: Gemma, vendor: Google, jurisdiction: US, origin_class: western-open }
76
+ - { model: DeepSeek, vendor: DeepSeek, jurisdiction: CN, origin_class: china-origin }
77
+ - { model: MiniMax, vendor: MiniMax, jurisdiction: CN, origin_class: china-origin }
78
+ - { model: Qwen, vendor: Alibaba, jurisdiction: CN, origin_class: china-origin }
79
+
80
+ policy_schema:
81
+ description: |
82
+ Per-project/per-customer provenance policy. Mechanism only — concrete values are
83
+ customer/pack-owned (DEC-075).
84
+ fields:
85
+ allow_origins: "list of origin classes that are permitted"
86
+ deny_origins: "list of origin classes that are blocked"
87
+ china_local_weights: "deny | allow_local_only — distinguishes foreign open weights run locally; strict buyers deny"
88
+ mode: "block | warn | require_human"
89
+ unknown_origin: "block (fail-closed default) | warn | require_human"
90
+ example: |
91
+ {
92
+ "allow_origins": ["western-frontier", "western-open"],
93
+ "deny_origins": ["china-origin"],
94
+ "china_local_weights": "deny",
95
+ "mode": "block",
96
+ "unknown_origin": "block"
97
+ }
98
+
99
+ principles:
100
+ - id: P-1
101
+ name: Provenance is a Third Axis
102
+ description: |
103
+ Model choice is cost x quality x acceptable source. The source axis MUST be a
104
+ first-class constraint, not an afterthought, for regulated/sovereignty-sensitive buyers.
105
+
106
+ - id: P-2
107
+ name: Registry First
108
+ description: |
109
+ Every model MUST carry vendor/jurisdiction/origin class before a policy can act on it.
110
+ An unclassified model is "unknown origin" and falls under fail-closed handling (P-3).
111
+
112
+ - id: P-3
113
+ name: Fail-Closed
114
+ description: |
115
+ A denied or unknown origin MUST block or escalate. The check MUST NOT silently pass —
116
+ mirroring the license-compliance blocklist and verification-oracle non-reproduction block.
117
+
118
+ - id: P-4
119
+ name: Evidence-Based
120
+ description: |
121
+ Every generation MUST record the model used and its origin class, so a compliance report
122
+ ("no denied-origin model used") is producible with a reproducible trace and audit id.
123
+
124
+ - id: P-5
125
+ name: Human Ceiling
126
+ description: |
127
+ Ambiguous provenance or a require_human mode MUST escalate to a human (DEC-076 ceiling)
128
+ rather than auto-resolve — a product-enforced governance gate.
129
+
130
+ - id: P-6
131
+ name: Content Sovereignty
132
+ description: |
133
+ The mechanism is domain-neutral (DEC-075); the acceptable-source policy is owned by the
134
+ customer (DEC-063). Policies SHOULD be customer-scoped and isolated (DEC-064).
135
+
136
+ requirements:
137
+ - id: REQ-001
138
+ title: Model Origin Registry (first-class artifact)
139
+ description: |
140
+ Each known model MUST be classified by vendor -> jurisdiction -> origin class. The
141
+ registry is maintainable/extensible by the ecosystem/customer (like the license DB).
142
+ At minimum origin classes distinguish western-frontier, western-open, and other origins
143
+ so a policy can be expressed against them.
144
+ level: MUST
145
+ examples:
146
+ - "Claude -> Anthropic / US / western-frontier"
147
+ - "Qwen -> Alibaba / CN / china-origin"
148
+ - "Llama -> Meta / US / western-open"
149
+
150
+ - id: REQ-002
151
+ title: Provenance Policy Schema
152
+ description: |
153
+ A per-project/per-customer policy MUST express allow/deny origins (by class), a
154
+ local-weights distinction (foreign API/data-egress vs locally-run foreign open weights),
155
+ an enforcement mode (block/warn/require_human), and an unknown_origin behaviour that is
156
+ fail-closed by default.
157
+ level: MUST
158
+ schema_fields:
159
+ - "allow_origins / deny_origins (by origin class)"
160
+ - "china_local_weights: deny | allow_local_only (strict buyers deny even local foreign weights)"
161
+ - "mode: block | warn | require_human"
162
+ - "unknown_origin: block (fail-closed default)"
163
+
164
+ - id: REQ-003
165
+ title: Fail-Closed Enforcement (every model-selection point)
166
+ description: |
167
+ At every model-selection point (per-agent config / routing / BYOK) the chosen model's
168
+ origin MUST be checked against the active policy. A violation MUST block or escalate
169
+ fail-closed — never silently pass. Enforcement runs before routing so a disallowed
170
+ source is swapped for an acceptable model.
171
+ level: MUST
172
+ checks:
173
+ - "Apply TW-finance-gov-style policy -> selecting DeepSeek/MiniMax/Qwen (incl. local) is blocked"
174
+ - "Selecting Llama/Claude under the same policy is allowed"
175
+ - "Injection test: route a denied-origin model -> gate blocks (never silent pass)"
176
+
177
+ - id: REQ-004
178
+ title: Audit Evidence
179
+ description: |
180
+ Each generation MUST record the model used + its origin class, enabling a compliance
181
+ report ("this delivery used no models of the denied origin"). It plugs into the audit
182
+ logger / hash chain, verification-oracle correctness evidence (XSPEC-256), and the
183
+ telemetry allowlist (DEC-066). This report is the outward proof of the provenance moat.
184
+ level: MUST
185
+ evidence_required:
186
+ - "per generation: model id + vendor + origin class"
187
+ - "policy applied (allow/deny snapshot)"
188
+ - "denied-origin count (expected 0 under a deny policy)"
189
+ - "content hash (sha256) of the report"
190
+ - "audit-trail id (hash-chain entry)"
191
+
192
+ - id: REQ-005
193
+ title: Reference Policy Pack(s)
194
+ description: |
195
+ The mechanism SHOULD ship a small number of reference policy packs that demonstrate it
196
+ (e.g. a pack denying a given origin including local weights). The mechanism is neutral;
197
+ concrete policy content is owned by the customer or a compliance partner.
198
+ level: SHOULD
199
+ examples:
200
+ - "Reference pack 'TW-finance-gov': deny china-origin including local weights"
201
+
202
+ - id: REQ-006
203
+ title: Unknown-Origin Fail-Closed
204
+ description: |
205
+ A model whose origin is not in the registry (unknown provenance) MUST NOT be silently
206
+ allowed. The system MUST treat unknown origin as a fail-closed block or escalation
207
+ (REQ-002 unknown_origin), consistent with the governance-gate no-silent-pass rule.
208
+ level: MUST
209
+ checks:
210
+ - "Unknown-origin model under unknown_origin:block -> blocked/escalated, not auto-allowed"
211
+ - "Injection test: present an unregistered model -> gate does not silently pass"
212
+
213
+ - id: REQ-007
214
+ title: Provenance Policy Content Sovereignty
215
+ description: |
216
+ The mechanism is domain-neutral (DEC-075); the acceptable-source policy is
217
+ customer-owned (DEC-063). Policies SHOULD be customer-scoped and isolated (DEC-064).
218
+ level: SHOULD
219
+ checks:
220
+ - "Policy scoping is per-customer; provenance verdicts attribute policy to the customer"
221
+ - "Mechanism carries no jurisdiction-specific allow/deny baked in (only the registry classes)"
222
+
223
+ # ─────────────────────────────────────────────────────────────
224
+ # Governance-gate family (shared shape with XSPEC-193 / XSPEC-256)
225
+ # ─────────────────────────────────────────────────────────────
226
+
227
+ governance_gate_family:
228
+ description: |
229
+ model-provenance is the PROVENANCE (source) profile of one governance-gate mechanism.
230
+ All profiles share: registry/check -> fail-closed gate -> audit evidence ->
231
+ customer-override-telemetered -> human-escalation ceiling.
232
+ profiles:
233
+ - profile: licensing
234
+ standard: license-compliance
235
+ spec: XSPEC-193
236
+ registry: blocklist/allowlist/greylist
237
+ block_trigger: prohibited license
238
+ - profile: provenance
239
+ standard: model-provenance
240
+ spec: XSPEC-255
241
+ registry: model origin registry + policy
242
+ block_trigger: denied / unknown origin
243
+ - profile: correctness
244
+ standard: verification-oracle
245
+ spec: XSPEC-256
246
+ registry: ground-truth registry
247
+ block_trigger: non-reproduction / drift
248
+
249
+ # ─────────────────────────────────────────────────────────────
250
+ # Gate timing
251
+ # ─────────────────────────────────────────────────────────────
252
+
253
+ gate_timing:
254
+ pre_routing: REQ-003 fail-closed provenance check at every model-selection point
255
+ on_denied_or_unknown: REQ-006 / P-5 block or escalate to human (no silent pass)
256
+ on_allowed: REQ-004 record model + origin
257
+ after_run: REQ-004 emit provenance audit / compliance report (outward moat proof)
258
+
259
+ # ─────────────────────────────────────────────────────────────
260
+ # Telemetry (DEC-066 / XSPEC-189 v2 envelope)
261
+ # ─────────────────────────────────────────────────────────────
262
+
263
+ telemetry:
264
+ required_events:
265
+ - model_provenance_check # origin check outcome per model-selection point
266
+ - model_provenance_block # fail-closed block detail (REQ-003)
267
+ - model_provenance_escalation # require_human / ambiguous provenance escalated (P-5)
268
+ - unknown_origin_detected # unregistered model encountered (REQ-006)
269
+ - human_override_block # human override of a block (requires reason)
270
+ envelope_reference: XSPEC-189 # Telemetry Schema v2 envelope
271
+ event_type: quality
272
+ event_subtype_examples:
273
+ - model_provenance_check
274
+ - gate_pass / gate_fail # when the provenance check acts as a selection gate
275
+
276
+ # ─────────────────────────────────────────────────────────────
277
+ # Integration with existing standards
278
+ # ─────────────────────────────────────────────────────────────
279
+
280
+ integration:
281
+ license-compliance: sibling profile; shared allowlist/denylist + fail-closed + audit + override skeleton
282
+ verification-oracle: sibling profile; provenance evidence sits alongside correctness evidence in one report
283
+ model-selection: provenance is a constraint applied before cost/quality right-sizing (unacceptable source removed from candidate set)
284
+ security-standards: foreign-API data egress + local-weights distinction are data-sovereignty controls
285
+ verification-evidence: the provenance report is a kind of verification evidence (model + origin + no-denied-origin trace)
286
+
287
+ # ─────────────────────────────────────────────────────────────
288
+ # Adoption guidance
289
+ # ─────────────────────────────────────────────────────────────
290
+
291
+ adoption_guidance:
292
+ uds_install_path: ai/standards/model-provenance.ai.yaml
293
+ notes:
294
+ - "v1.0.0 defines the provenance mechanism and audit evidence. Policy content (acceptable origins) is customer-owned (DEC-075/DEC-063)."
295
+ - "Adopters MAY enforce the check in CI / at the provider abstraction without a bespoke engine."
296
+ - "Distinguish foreign-API access (data egress) from locally-run foreign open weights — strict buyers deny even local weights."
297
+ - "Group with license-compliance and verification-oracle as one governance-gate subsystem (three profiles)."