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
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/privacy-standards.md)
4
4
 
5
- **Version**: 1.0.0
6
- **Last Updated**: 2026-04-01
5
+ **Version**: 1.1.0
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects handling personal data
8
8
  **Scope**: universal
9
9
  **Industry Standards**: GDPR, CCPA, Privacy by Design (Ann Cavoukian)
@@ -51,13 +51,23 @@ Classify all data by sensitivity level:
51
51
  ### Trigger Conditions
52
52
 
53
53
  A DPIA MUST be conducted when:
54
- - Processing personal data at large scale
54
+ - Processing personal data at **large scale** (see quantified criterion below)
55
55
  - Systematic monitoring of public areas
56
56
  - Automated decision-making with legal effects
57
57
  - Processing special category data (health, biometric, genetic)
58
58
  - Combining datasets from different sources
59
59
  - Processing data of vulnerable individuals (children, employees)
60
60
 
61
+ > **"Large scale" — quantified criterion** _(source: GDPR Art. 35; WP29 DPIA
62
+ > Guidelines WP248rev.01)_. No single hard number defines "large scale"; assess
63
+ > against four factors: (1) number of data subjects — an absolute count or a
64
+ > proportion of the relevant population; (2) volume and range of data items;
65
+ > (3) duration or permanence of the processing; (4) geographical extent. Treat
66
+ > processing as large scale when it is significant on **two or more** factors.
67
+ > **Exception**: one-off processing, a single individual's data, or an
68
+ > individual practitioner's records are not "large scale" and do not trigger a
69
+ > DPIA on this ground alone (the other triggers above may still apply).
70
+
61
71
  ### Simplified DPIA Template
62
72
 
63
73
  ```markdown
@@ -180,6 +190,7 @@ Is it personal data?
180
190
 
181
191
  | Version | Date | Changes |
182
192
  |---------|------|---------|
193
+ | 1.1.0 | 2026-06-18 | Added: quantified "large scale" DPIA-trigger criterion (GDPR Art. 35 / WP29 WP248) + exception clause (XSPEC-292 T8) |
183
194
  | 1.0.0 | 2026-04-01 | Initial release |
184
195
 
185
196
  ---
@@ -0,0 +1,100 @@
1
+ # Product Metrics Framework Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/product-metrics-standards.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 **select, structure, and govern product metrics**.
12
+ It covers a framework-selection matrix (AARRR for growth products, HEART for
13
+ experience products, custom North Star for platforms), North Star criteria, a
14
+ three-level metric hierarchy (North Star → L1 drivers → L2 diagnostics), and an
15
+ anti-vanity rule that rejects metrics decoupled from revenue or retention impact.
16
+ It aligns teams around metrics that drive meaningful product decisions rather than
17
+ activity tracking.
18
+
19
+ It is part of the **product-layer pack** (XSPEC-069). Its tracking requirements
20
+ connect to the SRE observability primitives (`observability-standards`, `slo-sli`).
21
+
22
+ > **Scope.** This standard defines *metric selection and governance*. Concrete
23
+ > analytics tooling (Amplitude/Mixpanel) is an adoption choice. Service-level
24
+ > reliability metrics live in `slo-sli`; this is the product-outcome view.
25
+
26
+ ## Requirements
27
+
28
+ | ID | Rule | Level |
29
+ |----|------|-------|
30
+ | REQ-001 | Framework selection matrix (AARRR / HEART / custom North Star) | MUST |
31
+ | REQ-002 | North Star criteria (leading, measurable, actionable, explainable) | MUST |
32
+ | REQ-003 | Metric hierarchy (max three levels) | MUST |
33
+ | REQ-004 | Anti-vanity rule | MUST |
34
+
35
+ ### REQ-001 — Framework Selection Matrix
36
+
37
+ Teams MUST select a primary metrics framework appropriate to their product type:
38
+ **Growth products** (consumer apps, marketplaces, viral products) → **AARRR**
39
+ (Acquisition, Activation, Retention, Referral, Revenue); **Experience products**
40
+ (productivity tools, B2B SaaS) → **HEART** (Happiness, Engagement, Adoption,
41
+ Retention, Task Success); **Platform products** (developer platforms, APIs) →
42
+ a **custom North Star** reflecting platform value delivered, supplemented by AARRR
43
+ or HEART components. Framework selection MUST be documented in the PRD or product
44
+ strategy document.
45
+
46
+ ### REQ-002 — North Star Criteria
47
+
48
+ Every product MUST define exactly one North Star metric satisfying all four
49
+ criteria: (1) **Leading indicator** — predicts future business health rather than
50
+ measuring past outcomes; (2) **Measurable and trackable** — computable from
51
+ available data with a defined cadence (weekly/monthly); (3) **Actionable by the
52
+ team** — the product team has direct levers to influence it; (4) **Explainable in
53
+ one sentence**. The North Star MUST be reviewed and reconfirmed at each annual
54
+ product planning cycle.
55
+
56
+ ### REQ-003 — Metric Hierarchy
57
+
58
+ Teams MUST structure metrics in a hierarchy of at most three levels. **Level 1
59
+ (North Star)**: one metric for overall product value. **Level 2 (L1 drivers)**:
60
+ 3–5 metrics that directly influence the North Star, each with a documented causal
61
+ hypothesis. **Level 3 (L2 diagnostics)**: per-feature/per-team metrics explaining
62
+ movements in L1 drivers (max 3 per driver). Metrics beyond three levels are
63
+ PROHIBITED — they indicate measurement fragmentation rather than focus.
64
+
65
+ ### REQ-004 — Anti-Vanity Rule
66
+
67
+ Teams MUST apply the anti-vanity test before adding any metric to the official
68
+ dashboard. A metric fails if it can increase while revenue and retention stay flat
69
+ or decrease; such metrics MUST NOT appear in official product reviews or be used as
70
+ feature success criteria. Common failures: total registered users (no active
71
+ filter), raw pageviews (no session-quality filter), total API calls (no unique
72
+ active-customer filter), press mentions, downloads without activation. When a
73
+ vanity metric is useful operationally, it MUST be labeled "operational indicator,
74
+ not success metric."
75
+
76
+ ## Anti-Patterns
77
+
78
+ - Tracking vanity metrics (total signups, raw pageviews) as primary success indicators.
79
+ - No North Star defined — teams optimize different local metrics, creating misalignment.
80
+ - Conflicting team metrics where one team's optimization harms another's.
81
+ - Metric hierarchy deeper than three levels — complexity without insight.
82
+ - Changing the North Star quarterly, preventing year-over-year trend analysis.
83
+
84
+ ## Integration with Existing Standards
85
+
86
+ - **`prd-standards`** — PRD success metrics are drawn from this hierarchy.
87
+ - **`observability-standards` / `slo-sli`** — the *tracking* of product metrics
88
+ reuses the SRE metric/observability primitives; reliability SLOs stay in `slo-sli`.
89
+ - **`user-story-mapping`** — story acceptance criteria tie to a North Star driver.
90
+
91
+ ## Related Specs
92
+
93
+ - XSPEC-069 — UDS product-layer pack (this standard's source)
94
+ - XSPEC-063 — SRE pack (`observability-standards`, `slo-sli`)
95
+
96
+ ## Changelog
97
+
98
+ | Version | Date | Changes |
99
+ |---------|------|---------|
100
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~004: framework matrix, North Star criteria, metric hierarchy, anti-vanity rule (XSPEC-069) |
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/project-context-memory.md)
4
4
 
5
- **Version**: 1.1.0
6
- **Last Updated**: 2026-03-16
5
+ **Version**: 1.2.0
6
+ **Last Updated**: 2026-06-18
7
7
  **Applicability**: All software projects using AI assistants
8
8
  **Scope**: uds-specific
9
9
 
@@ -200,6 +200,11 @@ Beta v5.1.0-beta.1 published on 2026-03-14.
200
200
  | `updated_at` > 7 days old | Flag as stale, ask to archive or resume |
201
201
  | All `remaining` steps completed | Suggest archiving the workflow state |
202
202
 
203
+ > The 7-day staleness window is a UDS default, configurable per project. Basis:
204
+ > a workflow state untouched for over a week is likely abandoned or superseded
205
+ > in short-cycle development; it aligns with the developer-memory staleness
206
+ > model. Lengthen it for long-running or part-time projects.
207
+
203
208
  ---
204
209
 
205
210
  ## 5. Comparison with Developer Memory
@@ -231,6 +236,7 @@ We use **Split-File Storage** (one Markdown file per topic) rather than a single
231
236
 
232
237
  | Version | Date | Changes |
233
238
  |---------|------|---------|
239
+ | 1.2.0 | 2026-06-18 | Added: rationale + configurable note for the 7-day staleness threshold (XSPEC-292 T8) |
234
240
  | 1.1.0 | 2026-03-16 | Add `workflow-state` type for cross-session state tracking |
235
241
  | 1.0.0 | 2026-02-09 | Initial standard definition |
236
242
 
@@ -69,7 +69,7 @@ The comment is mandatory. PRs that update checksums without explanatory comments
69
69
 
70
70
  - [LLM Output Validation](llm-output-validation.md) — schema-level validation
71
71
  - [Adversarial Test](adversarial-test.md) — red-team corpus
72
- - [Testing Standards](testing.md) — overall testing pyramid
72
+ - [Testing Standards](testing-standards.md) — overall testing pyramid
73
73
 
74
74
 
75
75
  **Scope**: universal
@@ -2,8 +2,8 @@
2
2
 
3
3
  > **Language**: English | [繁體中文](../locales/zh-TW/core/refactoring-standards.md)
4
4
 
5
- **Version**: 2.1.0
6
- **Last Updated**: 2026-01-29
5
+ **Version**: 2.2.0
6
+ **Last Updated**: 2026-07-01
7
7
  **Applicability**: All software projects undertaking code improvement initiatives
8
8
  **Scope**: partial
9
9
  **Industry Standards**: ISO/IEC 25010 Maintainability
@@ -98,9 +98,12 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
98
98
  |--------|--------|------|
99
99
  | **Cyclomatic Complexity** | < 10 per function | Static analysis |
100
100
  | **Cognitive Complexity** | Lower is better | SonarQube |
101
- | **Code Duplication** | < 3% | Static analysis |
101
+ | **Code Duplication (textual)** | < 3% | Static analysis |
102
+ | **Semantic Duplication** | 0 unmanaged domain facts | Golden / architecture test (see below) |
102
103
  | **Test Coverage** | ≥ 80% | Coverage tools |
103
104
 
105
+ > **Textual vs. semantic duplication**: The `Code Duplication` metric only detects *textual* duplication (near-identical token sequences). It cannot detect *semantic* duplication — the same domain fact re-implemented in several places, or a derived aggregate persisted without an enforced binding to its source. Copies that are not byte-for-byte identical (paraphrased logic, a formula that is right in one place and wrong in another) pass static analysis while still drifting apart. Semantic duplication must be governed by golden tests and architecture tests (see [Semantic Duplication & Copy-Drift](#semantic-duplication--copy-drift)), not by the static-analysis threshold above.
106
+
104
107
  ### ISO/IEC 25010 Maintainability Goals
105
108
 
106
109
  | Sub-characteristic | Indicator | Goal |
@@ -113,6 +116,41 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
113
116
 
114
117
  ---
115
118
 
119
+ ## Semantic Duplication & Copy-Drift
120
+
121
+ Textual-duplication metrics catch copy-paste, but they miss the more dangerous case: the **same domain fact implemented in more than one place**. When those implementations are not byte-identical — a paraphrased classification, a formula that is correct in one call site and subtly wrong in another, a total that is stored separately from the rows it summarizes — they pass static analysis and then **drift apart independently**, producing bugs that look unrelated but share a single root cause.
122
+
123
+ ### Anti-pattern: Copy-Drift
124
+
125
+ Copy-Drift occurs when either:
126
+
127
+ - A single domain fact (a classification, a rule, a calculation) is **re-implemented at multiple call sites** instead of being computed by one shared unit; or
128
+ - A **derived value is persisted** (a stored aggregate, counter, or denormalized field) **without an enforced relationship to its source**, so each write path can update it independently.
129
+
130
+ Because the copies are not literally identical, textual-duplication tooling reports nothing. The divergence surfaces later as inconsistency: a list view disagreeing with a detail view, a stored counter double-counting because one update path's decrement branch was commented out, or the same formula giving different answers in different modules.
131
+
132
+ ### Pattern: Single Source of Truth / Derive-Don't-Duplicate
133
+
134
+ - **One unit per fact.** Extract each domain fact into a **single** classifier / calculator / resolver. Every call site calls it — no re-implementations, no paraphrases.
135
+ - **Derive, don't store.** Prefer computing the value on read over persisting a second copy. A value that is always derived cannot drift.
136
+ - **If an aggregate must be stored**, treat it as a **projection of its detail rows**, and recompute it at a **single choke point** — for example a `SaveChanges` interceptor, or one shared `recompute()` function — so that *every* write path (including async jobs and failure write-backs) goes through the same recomputation and stays consistent. **Never** let an individual path apply an incremental `col = col + delta` adjustment to a stored aggregate; incremental adjustments are exactly how decrement/rollback branches get skipped and counters diverge.
137
+ - **Lock it with tests.** Use a **golden test** to pin the single source of truth, and add an **architecture test** that fails if the rule is redefined anywhere else, so a future copy is rejected at CI rather than discovered in production.
138
+
139
+ ### Migration Corollary — Intentional-Divergence Registry
140
+
141
+ When a new system **intentionally** diverges from legacy behavior, record it — otherwise a later "fix" will silently revert it. A common case during a port: a legacy *function* returns X, but the legacy *pipeline* downstream reconciles it to Y; the port folds that reconciliation into the single unit so the function now returns Y directly.
142
+
143
+ - Register each intentional divergence in an **intentional-divergence registry** (legacy behavior, new behavior, rationale, owning fact).
144
+ - Pin the new behavior with a **golden test** so a future "correction" back to legacy fails the build.
145
+ - Feed the registry into any **differential test** against legacy so the divergence is treated as *expected*, not flagged as a regression.
146
+
147
+ ### Note for Adopters
148
+
149
+ - Per-function legacy-vs-new diffing produces **candidates, not verdicts**. Every candidate must be adjudicated against the **entire** legacy pipeline (not just the one function) before it can be called a bug — the legacy pipeline may already reconcile the apparent difference downstream.
150
+ - Extract legacy function bodies **programmatically / token-based** (not by hand) so you do not reintroduce transcription errors while investigating transcription errors.
151
+
152
+ ---
153
+
116
154
  ## PR Size Guidelines
117
155
 
118
156
  | Size | Lines Changed | Review Time | Recommendation |
@@ -157,6 +195,8 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
157
195
  ## Related Standards
158
196
 
159
197
  - [Test-Driven Development](test-driven-development.md) - TDD cycle including refactoring phase
198
+ - [Testing Standards](testing-standards.md) - Golden tests and architecture tests for locking a single source of truth
199
+ - [Test Governance](test-governance.md) - Governing semantic-duplication and intentional-divergence checks in CI
160
200
  - [Code Review Checklist](code-review-checklist.md) - Refactoring PR review guidelines
161
201
  - [Commit Message Guide](commit-message-guide.md) - `refactor` commit type
162
202
  - [Code Check-in Standards](checkin-standards.md) - Pre-commit requirements
@@ -167,6 +207,7 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
167
207
 
168
208
  | Version | Date | Changes |
169
209
  |---------|------|---------|
210
+ | 2.2.0 | 2026-07-01 | Added Semantic Duplication & Copy-Drift (issue #142): Copy-Drift anti-pattern, Single Source of Truth / Derive-Don't-Duplicate pattern, Intentional-Divergence Registry migration corollary; split duplication metric into textual vs. semantic |
170
211
  | 2.1.0 | 2026-01-29 | Refactored: Split into Rules + Guide, moved detailed patterns to guide |
171
212
  | 2.0.0 | 2026-01-21 | Major restructure: Added tactical strategies, Anti-Corruption Layer |
172
213
  | 1.0.0 | 2026-01-12 | Initial refactoring standards definition |
@@ -83,7 +83,7 @@ describe("Guardian replay fixtures", () => {
83
83
 
84
84
  - [Adversarial Test Standards](adversarial-test.md) — red-team corpus
85
85
  - [Verification Evidence Standards](verification-evidence.md) — AC traceability
86
- - [Testing Standards](testing.md) — overall test pyramid
86
+ - [Testing Standards](testing-standards.md) — overall test pyramid
87
87
 
88
88
 
89
89
  **Scope**: universal
@@ -0,0 +1,180 @@
1
+ # Resource / Cost Boundary Declaration Standards
2
+
3
+ > **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
4
+ > **AI-optimized version**: `ai/standards/resource-cost-boundary.ai.yaml`
5
+ > **Spec**: XSPEC-277 (cross-project/specs/XSPEC-277-resource-cost-boundary-standard.md)
6
+
7
+ **Scope**: universal
8
+
9
+ ## Overview
10
+
11
+ The resource consumption of an agentic / LLM execution unit (a pipeline run, an agent, a
12
+ role) is **often implicit**: token usage, loop/iteration count, retry count, per-run cost
13
+ ceiling, wall-clock, call rate. When those bounds are not **explicitly declared and
14
+ enforced**, runaway loops and token burn are a known LLM-native failure mode — **cost burn**.
15
+
16
+ This standard makes the **resource/cost boundary a first-class, machine-readable, fail-closed
17
+ declaration**. Any LLM execution unit MUST declare its resource budget; a breach at runtime
18
+ MUST fail-closed per the declared behaviour. It is the **cost dimension** of boundary
19
+ materialization (XSPEC-276): the one dimension for which UDS has no existing standard, and
20
+ which is concrete enough to be AI-executable — so it is split out as a narrow standard rather
21
+ than bundled into the broader (and overlapping) boundary framework.
22
+
23
+ > **Scope.** This standard defines the *declaration mechanism* (a budget taxonomy, a
24
+ > machine-readable `resource_budget:` block, a fail-closed gate). The **budget values
25
+ > belong to the adopter/customer** — they are a project decision. It standardizes *that*
26
+ > bounds are declared and enforced, not *which* numbers. Enforcement-engine wiring (e.g. the
27
+ > VibeOps proactive cost governance executor) is a downstream adoption concern; this standard
28
+ > is the "declare what bounds" half, XSPEC-285 is the "enforce/govern" half.
29
+
30
+ ## Why a Standard (not a per-unit setting)
31
+
32
+ VibeOps already has cost mechanisms, but **scattered and unstandardized** — each is a point
33
+ mechanism with no single standard saying "every LLM execution unit MUST declare its resource
34
+ boundary, and a breach MUST fail-closed." A new unit (a new agent/role) easily misses one
35
+ budget → unbounded. This standard converges those point mechanisms onto one declaration.
36
+
37
+ | Existing mechanism (becomes a reference implementation) | Budget kind |
38
+ |---|---|
39
+ | orchestrator quality profile `max_retries` / `max_retry_budget_usd` (per-task fix-loop) | retry / cost_usd |
40
+ | BudgetGuard / PoC abort `max_cost_per_session_usd` / `min_cache_hit_ratio` (XSPEC-191) | cost_usd / rate |
41
+ | Pareto Evolution Gate token-cost dimension (DEC-024) | token / cost_usd |
42
+ | agent-loop `maxToolRounds` / `maxTotalTokens` | iteration / token |
43
+
44
+ ## Resource Budget Taxonomy
45
+
46
+ | Kind | Bound | Typical breach |
47
+ |------|-------|----------------|
48
+ | `token` | input / output / total token ceiling | prompt/output explosion |
49
+ | `iteration` | loop / iteration / tool-round upper bound | runaway loop |
50
+ | `retry` | retry upper bound | unbounded re-attempt |
51
+ | `cost_usd` | per-call / per-run / per-session cost ceiling | silent budget burn |
52
+ | `wallclock` | timeout | hung run |
53
+ | `rate` | call frequency | call storm |
54
+
55
+ ## Requirements
56
+
57
+ | ID | Rule | Level |
58
+ |----|------|-------|
59
+ | REQ-001 | Resource budget taxonomy — declare bounds from a standard set of kinds | MUST |
60
+ | REQ-002 | Machine-readable `resource_budget:` declaration (kind + limit + breach behaviour) | MUST |
61
+ | REQ-003 | Fail-closed enforcement gate (undeclared → warn/block; runtime breach → abort) | MUST |
62
+ | REQ-004 | Existing mechanisms converge as reference implementations (no re-invention) | SHOULD |
63
+ | REQ-005 | Budget value sovereignty — mechanism standard, values owned by the adopter | SHOULD |
64
+
65
+ ### REQ-001 — Resource Budget Taxonomy
66
+
67
+ Every LLM execution unit's resource bounds MUST be expressible from a standard set of kinds:
68
+ `token` (input/output/total), `iteration` (loop/iteration/tool-round cap), `retry` (retry
69
+ cap), `cost_usd` (per-call / per-run / per-session ceiling), `wallclock` (timeout), and
70
+ `rate` (call frequency). A unit need not declare every kind, but the kinds it relies on for
71
+ safety MUST be declared (an unbounded relied-upon kind is a violation).
72
+
73
+ ### REQ-002 — Machine-Readable Declaration
74
+
75
+ A `resource_budget:` block MUST be declarable (embedded in a plan / agent / role config),
76
+ with each entry carrying a **kind + limit value + breach behaviour** (`warn` / `abort`).
77
+ The declaration is a first-class artifact the generator/runtime can read — not a scattered
78
+ setting or an after-the-fact review note.
79
+
80
+ ```yaml
81
+ resource_budget:
82
+ - kind: cost_usd # per-run cost ceiling
83
+ scope: per_run
84
+ limit: 3.00
85
+ on_breach: abort
86
+ - kind: iteration # tool-round / loop cap
87
+ limit: 60
88
+ on_breach: abort
89
+ - kind: retry
90
+ limit: 3
91
+ on_breach: warn
92
+ - kind: token
93
+ scope: total
94
+ limit: 400000
95
+ on_breach: abort
96
+ ```
97
+
98
+ ### REQ-003 — Fail-Closed Enforcement Gate
99
+
100
+ A quality gate `check-resource-budget` MUST: (a) flag any LLM execution unit that does **not
101
+ declare** a budget — `warn` by default, `block` in strict mode; and (b) on a **runtime
102
+ breach**, fail-closed per the declared `on_breach` (`abort` halts the unit, `warn` records
103
+ and continues). This mirrors the fail-closed posture of `capability-declaration`
104
+ (XSPEC-037) and the governance-gate family — never a silent unbounded pass.
105
+
106
+ ### REQ-004 — Converge Existing Mechanisms
107
+
108
+ Existing point mechanisms (orchestrator `max_retries` / `max_retry_budget_usd`, XSPEC-191
109
+ BudgetGuard, DEC-024 Pareto token gate, XSPEC-270 right-sizing router) SHOULD be **mapped to
110
+ this standard as reference implementations** — unified, not re-implemented. New units inherit
111
+ the declaration habit rather than re-inventing a budget knob.
112
+
113
+ ### REQ-005 — Budget Value Sovereignty
114
+
115
+ The declaration *mechanism* is standardized; the *budget values* (the actual ceilings) are
116
+ owned by the adopter/customer (a project/economics decision). The standard mandates *that*
117
+ bounds are declared and enforced, not *which* numbers.
118
+
119
+ ## Principles
120
+
121
+ | ID | Principle |
122
+ |----|-----------|
123
+ | P-1 | Bounds are Explicit — resource budgets are declared, not implicit in someone's head |
124
+ | P-2 | Machine-Readable — a generator/runtime can read the `resource_budget:` block first-class |
125
+ | P-3 | Fail-Closed — undeclared relied-upon bound, or a runtime breach, blocks/aborts; never silent |
126
+ | P-4 | No Re-Invention — existing point mechanisms converge as reference implementations |
127
+ | P-5 | Value Sovereignty — mechanism standard, ceiling values owned by the adopter |
128
+
129
+ ## Gate Timing
130
+
131
+ ```
132
+ plan / agent / role config (resource_budget: block)
133
+
134
+ ├─→ [check-resource-budget — declaration check] ← REQ-003(a), pre-run
135
+ │ undeclared relied-upon bound ──→ warn (strict: block)
136
+
137
+ run (token / iteration / retry / cost / wallclock / rate metered)
138
+
139
+ └─→ runtime breach ──→ fail-closed per on_breach ← REQ-003(b) (abort / warn)
140
+
141
+ record breach for audit / cost-governance executor (XSPEC-285)
142
+ ```
143
+
144
+ ## Boundaries with Adjacent Standards (admission condition 3)
145
+
146
+ This standard collects **only the cost/resource dimension**, to avoid the overlap that kept
147
+ the broader boundary framework (XSPEC-276) out of the standard library.
148
+
149
+ | Adjacent standard | Its angle | Why distinct (<30% overlap) |
150
+ |---|---|---|
151
+ | `performance-standards` | latency / throughput *targets* | targets, not a fail-closed cost ceiling |
152
+ | `model-selection` | choose a model *tier* | tier selection, not budget enforcement |
153
+ | `capability-declaration` (XSPEC-037) | explicit capability + fail-closed | capability surface, not resource budget |
154
+
155
+ ## Integration with Existing Standards
156
+
157
+ - **`performance-standards`** — performance sets latency/throughput targets; this standard
158
+ sets fail-closed resource ceilings. Adjacent, complementary, distinct.
159
+ - **`model-selection`** — right-sizing picks a model tier; a `cost_usd` breach can *drive* a
160
+ downgrade (XSPEC-270 router), but the budget declaration is this standard's concern.
161
+ - **`test-governance`** — `check-resource-budget` is a governed gate; budget declarations are
162
+ governed policy.
163
+ - **`verification-evidence`** — a breach/no-breach run report is a kind of verification
164
+ evidence (budgets honoured + trace).
165
+
166
+ ## Related Specs
167
+
168
+ - XSPEC-277 — Resource / Cost Boundary Declaration complete spec (this standard's source)
169
+ - XSPEC-276 — LLM-native boundary materialization (parent lens; cost is the split-out dimension)
170
+ - XSPEC-285 — VibeOps proactive cost governance (the enforcement/executor face of this standard)
171
+ - XSPEC-191 — Unit-economics PoC / BudgetGuard (reference implementation)
172
+ - XSPEC-270 — Model right-sizing router (cost-driven downgrade)
173
+ - XSPEC-037 — Capability declaration (fail-closed posture this standard mirrors)
174
+ - DEC-024 — Pareto evolution token-cost gate (reference implementation)
175
+
176
+ ## Changelog
177
+
178
+ | Version | Date | Changes |
179
+ |---------|------|---------|
180
+ | v1.0.0 | 2026-06-17 | Initial — REQ-001~005: resource budget taxonomy, machine-readable `resource_budget:` declaration, fail-closed `check-resource-budget` gate, convergence of existing mechanisms as reference implementations, budget value sovereignty (XSPEC-277) |
@@ -1,7 +1,7 @@
1
1
  # Reverse Engineering Standards | 反向工程標準
2
2
 
3
- **Version**: 1.0.0
4
- **Last Updated**: 2026-01-19
3
+ **Version**: 1.2.0
4
+ **Last Updated**: 2026-06-27
5
5
  **Applicability**: All projects requiring code-to-specification transformation
6
6
  **Scope**: uds-specific
7
7
  **Industry Standards**: IEEE 830-1998, SWEBOK v4.0 Chapter 9
@@ -51,10 +51,52 @@ This standard defines the principles, workflows, and best practices for reverse
51
51
  |-------|-------------|--------|-----------------|
52
52
  | **Code Scanning** | Analyze code structure, APIs, data models | Technical inventory | [Confirmed] |
53
53
  | **Test Analysis** | Parse existing tests for acceptance criteria | Draft acceptance criteria | [Confirmed]/[Inferred] |
54
+ | **Implicit Rule Scan** | Scan non-HTTP persistence write paths for undocumented rules | Implicit-rule inventory + three-question answers | [Confirmed]/[Inferred]/[Unknown] |
54
55
  | **Gap Identification** | List unknowns requiring human input | Gap analysis document | [Unknown] items |
55
56
  | **Spec Generation** | Generate draft specification | Draft SPEC-XXX.md | Mixed certainty |
56
57
  | **Human Review** | Stakeholder validation and gap filling | Validated specification | [Confirmed] |
57
58
 
59
+ > **Note (v1.2.0)**: An **Implicit Rule Scan** stage is inserted after Code Scanning / Test Analysis and before Gap Identification — see [Implicit Rule Scan (Non-HTTP Persistence Rules)](#implicit-rule-scan-non-http-persistence-rules) below. Standard code scanning extracts HTTP entry points and data models, but persistent field values are frequently written by **non-HTTP paths** (cron, queue, computed columns, triggers, ORM hooks) whose business rules are never documented — the highest-frequency source of missed logic in a cross-language rewrite or cross-DB migration.
60
+
61
+ ---
62
+
63
+ ## Implicit Rule Scan (Non-HTTP Persistence Rules)
64
+
65
+ > **Workflow position**: after Code Scanning / Test Analysis, before Gap Identification.
66
+
67
+ Code scanning extracts what is reachable through HTTP — routes, controllers, request handlers. But a persisted field's value is often decided **off the request path**: a nightly cron flips a status, a queue retry re-stamps a timestamp, a database trigger derives a total, an ORM lifecycle hook zeroes a counter. Those rules are rarely written down, so a rewrite that only mirrors the HTTP surface silently drops them. This stage mechanically derives every non-HTTP write path and locks each implicit rule as a verifiable artifact.
68
+
69
+ ### Derive (mechanical list source)
70
+
71
+ Scan the legacy system for every **non-HTTP persistence write path** across four categories:
72
+
73
+ 1. **Scheduled** — crontab entries, scheduler config, `@Scheduled`-style annotations, batch jobs
74
+ 2. **Queue** — queue consumers, job handlers, background workers, message listeners
75
+ 3. **DB-layer** — triggers, computed/generated columns, `DEFAULT` expressions, check constraints
76
+ 4. **ORM lifecycle** — `beforeSave`/`afterSave`/observer/model-event hooks, middleware that mutates persistent state
77
+
78
+ ### Oracle (detect) — three questions per field
79
+
80
+ For each persistent field written by a non-HTTP path, answer and lock **three questions**:
81
+
82
+ | Question | What to capture |
83
+ |----------|-----------------|
84
+ | **When is it SET?** | The condition/trigger that first assigns the value |
85
+ | **When is it OVERWRITTEN?** | Every later write — **including asynchronous overwrites** (links back to post-cutover aggregate reconciliation) |
86
+ | **When is it RESET / zeroed?** | The conditions that clear or default the value back |
87
+
88
+ - Extend the **Devil's Advocate** challenge from the HTTP layer to **cover non-HTTP paths**: apply the same five adversarial categories (boundary, ordering, concurrency, failure/retry, null/default) to cron conditions, queue retries, computed columns, and trigger logic.
89
+ - Tag every extracted rule with a certainty level: `[Confirmed]` (with a `file:line` citation) / `[Inferred]` / `[Unknown]`. Every `[Unknown]` is handed to Gap Identification for a human — it is never guessed.
90
+ - **Output**: lock each implicit rule as a **behavior-snapshot scenario** or a **reconciliation invariant** (e.g. `SUM(cost) GROUP BY status` must hold across cutover), so the rule becomes a re-runnable oracle rather than prose.
91
+
92
+ ### Gate timing
93
+
94
+ Pre-flight (planning). Any non-HTTP write field whose three questions are unanswered is marked `not_implemented` and **blocks cutover** — an undeclared implicit rule is treated as a known omission risk, not an acceptable gap.
95
+
96
+ ### PHP-specific note: loose comparison / type juggling
97
+
98
+ When scanning PHP write paths, additionally flag **loose-comparison / type-juggling** dependencies: `==` comparisons, the truthy/falsy behavior of `"0"` / `""` / `null` / `0`, and automatic string-to-number coercion. These have no direct equivalent under a strongly-typed target (e.g. C#/.NET), so the implicit rule they encode is a high-frequency source of silently-dropped logic during a cross-language rewrite. Mark each such site `[Confirmed]` with `file:line` and lock the intended semantics as an explicit rule.
99
+
58
100
  ---
59
101
 
60
102
  ## Core Principles
@@ -300,6 +342,26 @@ Use reverse-engineered specifications to identify test coverage gaps:
300
342
 
301
343
  ---
302
344
 
345
+ ## Failure Handling & Escalation
346
+
347
+ Reverse engineering infers intent from existing code; some inputs cannot be
348
+ analyzed safely. This section defines the failure → escalate → re-verify path so
349
+ a low-confidence or unparseable input never produces a spec that looks
350
+ authoritative.
351
+
352
+ | Condition | Trigger | Action | Re-verify |
353
+ |-----------|---------|--------|-----------|
354
+ | **Parse failure** | Source cannot be parsed (unsupported language, broken syntax tree) | Mark the unit `[Unknown]` and report the language/file; escalate to a human domain expert. Emit no inferred behavior for it. | Source parses after tooling/fix |
355
+ | **High unknown ratio** | `[Unknown]` items exceed the confidence threshold (default > 50% of behaviors) | Halt spec finalization; require a subject-matter-expert interview to fill `[Unknown]` items first. Do not ship a majority-guessed spec. | Unknown ratio below threshold |
356
+ | **Contradicted inference** | Code contradicts a previously inferred behavior | Downgrade the item to `[Assumption]` and escalate to the code owner; never record a contradicted inference as `[Confirmed]`. | Owner confirms or corrects |
357
+ | **Test-analysis failure** | Existing tests cannot be run/parsed for behavior extraction | Fall back to static analysis only; mark affected behaviors `[Inferred]` (lower certainty), never `[Confirmed]`. | — |
358
+
359
+ **Rule RE-FAIL-001 (Required)**: A parse failure or an above-threshold
360
+ `[Unknown]` ratio MUST block spec finalization and escalate to a human — never
361
+ present a sub-threshold-confidence spec as authoritative.
362
+
363
+ ---
364
+
303
365
  ## Anti-Patterns to Avoid
304
366
 
305
367
  ### Code Analysis Anti-Patterns
@@ -383,6 +445,8 @@ Use reverse-engineered specifications to identify test coverage gaps:
383
445
 
384
446
  | Version | Date | Changes |
385
447
  |---------|------|---------|
448
+ | 1.2.0 | 2026-06-27 | Added: Implicit Rule Scan stage (non-HTTP persistence write-path extraction) — 4 derive categories + three-question oracle + non-HTTP Devil's Advocate + PHP type-juggling note + certainty/`file:line` (XSPEC-284 R4/AC-8) |
449
+ | 1.1.0 | 2026-06-18 | Added: Failure Handling & Escalation section — parse failure / high-unknown-ratio / contradicted-inference escalation + rule RE-FAIL-001 (XSPEC-292 T7) |
386
450
  | 1.0.0 | 2026-01-19 | Initial release |
387
451
 
388
452
  ---