devrites 4.0.12 → 4.2.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 (283) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +3 -3
  3. package/docs/architecture.md +4 -4
  4. package/docs/command-map.md +4 -3
  5. package/docs/engine/commands.md +65 -6
  6. package/docs/flow.md +2 -1
  7. package/docs/orchestration.md +45 -4
  8. package/docs/skills.md +4 -3
  9. package/engine/go.mod +1 -1
  10. package/engine/internal/devritespaths/paths.go +5 -4
  11. package/engine/internal/gate/gate.go +154 -46
  12. package/engine/internal/gate/gate_test.go +290 -2
  13. package/engine/internal/gate/readiness_binding.go +66 -100
  14. package/engine/internal/gate/readiness_binding_test.go +126 -3
  15. package/engine/internal/hostpack/hostpack.go +9 -4
  16. package/engine/internal/hostpack/hostpack_test.go +16 -7
  17. package/engine/internal/install/install_test.go +5 -0
  18. package/engine/internal/lib/resolve.go +6 -6
  19. package/engine/internal/state/cmd/workflowmanifest/main.go +32 -3
  20. package/engine/internal/state/feature.go +1 -100
  21. package/engine/internal/state/observation.go +584 -0
  22. package/engine/internal/state/observation_open_other.go +9 -0
  23. package/engine/internal/state/observation_open_unix.go +12 -0
  24. package/engine/internal/state/observation_test.go +960 -0
  25. package/engine/internal/state/observation_unix_test.go +68 -0
  26. package/engine/internal/state/schema.go +60 -160
  27. package/engine/internal/state/state_test.go +489 -101
  28. package/engine/internal/state/status.go +67 -48
  29. package/engine/tests/adr_0004_required_by_phase_test.go +16 -13
  30. package/engine/tests/adr_0011_define_plan_test.go +14 -12
  31. package/engine/tests/gate_test.go +403 -28
  32. package/engine/tests/workspace_observation_migration_test.go +1065 -0
  33. package/pack/.claude/agents/devrites-code-reviewer.md +6 -1
  34. package/pack/.claude/agents/devrites-plan-drafter.md +5 -0
  35. package/pack/.claude/agents/devrites-plan-reviewer.md +6 -0
  36. package/pack/.claude/agents/devrites-proof-runner.md +7 -1
  37. package/pack/.claude/agents/devrites-retrospector.md +21 -25
  38. package/pack/.claude/agents/devrites-security-auditor.md +7 -3
  39. package/pack/.claude/agents/devrites-slice-wright.md +30 -4
  40. package/pack/.claude/agents/devrites-spec-reviewer.md +5 -0
  41. package/pack/.claude/agents/devrites-strategy-reviewer.md +3 -4
  42. package/pack/.claude/agents/devrites-test-analyst.md +5 -0
  43. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +13 -26
  44. package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +11 -14
  45. package/pack/.claude/skills/devrites-doubt/SKILL.md +3 -4
  46. package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -4
  47. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +5 -1
  48. package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  49. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +35 -17
  50. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -3
  51. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +19 -0
  52. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +1 -1
  53. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +5 -0
  54. package/pack/.claude/skills/devrites-lib/reference/standards/data-integrity.md +95 -0
  55. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +5 -5
  56. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +28 -29
  57. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +70 -10
  58. package/pack/.claude/skills/devrites-lib/reference/standards/integration-reliability.md +79 -0
  59. package/pack/.claude/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
  60. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +10 -0
  61. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
  62. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +20 -0
  63. package/pack/.claude/skills/devrites-lib/reference/standards/repository-topology.md +73 -0
  64. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +6 -2
  65. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +51 -16
  66. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +35 -40
  67. package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +4 -0
  68. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +51 -6
  69. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
  70. package/pack/.claude/skills/rite/SKILL.md +2 -0
  71. package/pack/.claude/skills/rite-adopt/SKILL.md +8 -10
  72. package/pack/.claude/skills/rite-adopt/reference/adoption.md +13 -15
  73. package/pack/.claude/skills/rite-autocomplete/SKILL.md +98 -139
  74. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +11 -5
  75. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +99 -114
  76. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +92 -124
  77. package/pack/.claude/skills/rite-build/SKILL.md +51 -73
  78. package/pack/.claude/skills/rite-build/reference/phase-contract.md +9 -18
  79. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +37 -4
  80. package/pack/.claude/skills/rite-clarify/SKILL.md +3 -2
  81. package/pack/.claude/skills/rite-converge/SKILL.md +4 -2
  82. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +8 -4
  83. package/pack/.claude/skills/rite-customize/SKILL.md +16 -18
  84. package/pack/.claude/skills/rite-define/SKILL.md +60 -62
  85. package/pack/.claude/skills/rite-define/reference/plan-template.md +88 -71
  86. package/pack/.claude/skills/rite-explain/SKILL.md +2 -1
  87. package/pack/.claude/skills/rite-learn/SKILL.md +28 -32
  88. package/pack/.claude/skills/rite-plan/SKILL.md +53 -56
  89. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +11 -1
  90. package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +11 -2
  91. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +10 -3
  92. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +2 -0
  93. package/pack/.claude/skills/rite-polish/reference/adr-promotion.md +7 -7
  94. package/pack/.claude/skills/rite-pressure-test/SKILL.md +24 -31
  95. package/pack/.claude/skills/rite-prove/SKILL.md +95 -156
  96. package/pack/.claude/skills/rite-prove/reference/acceptance-proof.md +28 -0
  97. package/pack/.claude/skills/rite-review/SKILL.md +5 -4
  98. package/pack/.claude/skills/rite-review/reference/five-axis-review.md +6 -0
  99. package/pack/.claude/skills/rite-review/reference/security-review.md +7 -2
  100. package/pack/.claude/skills/rite-seal/reference/final-evidence.md +3 -0
  101. package/pack/.claude/skills/rite-seal/reference/risk-and-rollback.md +19 -4
  102. package/pack/.claude/skills/rite-ship/reference/rollout.md +62 -43
  103. package/pack/.claude/skills/rite-spec/SKILL.md +8 -1
  104. package/pack/.claude/skills/rite-spec/reference/ai-spec-template.md +13 -6
  105. package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +14 -2
  106. package/pack/.claude/skills/rite-spec/reference/spec-template.md +33 -4
  107. package/pack/.claude/skills/rite-temper/SKILL.md +5 -1
  108. package/pack/.claude/skills/rite-vet/SKILL.md +121 -174
  109. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -2
  110. package/pack/.claude/skills/rite-vet/reference/artifacts.md +15 -9
  111. package/pack/.claude/skills/rite-vet/reference/depth.md +10 -3
  112. package/pack/.claude/skills/rite-vet/reference/review-axes.md +75 -77
  113. package/pack/.claude/skills/rite-watch-pr/SKILL.md +85 -0
  114. package/pack/.claude/skills/rite-zoom-out/SKILL.md +4 -5
  115. package/pack/.claude/workflows/devrites-readonly-review.js +194 -0
  116. package/pack/generated/README.md +1 -1
  117. package/pack/generated/claude/agents/devrites-code-reviewer.md +6 -1
  118. package/pack/generated/claude/agents/devrites-plan-drafter.md +5 -0
  119. package/pack/generated/claude/agents/devrites-plan-reviewer.md +6 -0
  120. package/pack/generated/claude/agents/devrites-proof-runner.md +7 -1
  121. package/pack/generated/claude/agents/devrites-retrospector.md +21 -25
  122. package/pack/generated/claude/agents/devrites-security-auditor.md +7 -3
  123. package/pack/generated/claude/agents/devrites-slice-wright.md +30 -4
  124. package/pack/generated/claude/agents/devrites-spec-reviewer.md +5 -0
  125. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +3 -4
  126. package/pack/generated/claude/agents/devrites-test-analyst.md +5 -0
  127. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +13 -26
  128. package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +11 -14
  129. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +3 -4
  130. package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -4
  131. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +5 -1
  132. package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  133. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +35 -17
  134. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -3
  135. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +19 -0
  136. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +1 -1
  137. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +5 -0
  138. package/pack/generated/claude/skills/devrites-lib/reference/standards/data-integrity.md +95 -0
  139. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +5 -5
  140. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +28 -29
  141. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +70 -10
  142. package/pack/generated/claude/skills/devrites-lib/reference/standards/integration-reliability.md +79 -0
  143. package/pack/generated/claude/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
  144. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +10 -0
  145. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
  146. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +20 -0
  147. package/pack/generated/claude/skills/devrites-lib/reference/standards/repository-topology.md +73 -0
  148. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +6 -2
  149. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +51 -16
  150. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +35 -40
  151. package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +4 -0
  152. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +51 -6
  153. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
  154. package/pack/generated/claude/skills/rite/SKILL.md +2 -0
  155. package/pack/generated/claude/skills/rite-adopt/SKILL.md +8 -10
  156. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +13 -15
  157. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +98 -139
  158. package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +11 -5
  159. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +99 -114
  160. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +92 -124
  161. package/pack/generated/claude/skills/rite-build/SKILL.md +51 -73
  162. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +9 -18
  163. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +37 -4
  164. package/pack/generated/claude/skills/rite-clarify/SKILL.md +3 -2
  165. package/pack/generated/claude/skills/rite-converge/SKILL.md +4 -2
  166. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +8 -4
  167. package/pack/generated/claude/skills/rite-customize/SKILL.md +16 -18
  168. package/pack/generated/claude/skills/rite-define/SKILL.md +60 -62
  169. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +88 -71
  170. package/pack/generated/claude/skills/rite-explain/SKILL.md +2 -1
  171. package/pack/generated/claude/skills/rite-learn/SKILL.md +28 -32
  172. package/pack/generated/claude/skills/rite-plan/SKILL.md +53 -56
  173. package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +11 -1
  174. package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +11 -2
  175. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +10 -3
  176. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +2 -0
  177. package/pack/generated/claude/skills/rite-polish/reference/adr-promotion.md +7 -7
  178. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +24 -31
  179. package/pack/generated/claude/skills/rite-prove/SKILL.md +95 -156
  180. package/pack/generated/claude/skills/rite-prove/reference/acceptance-proof.md +28 -0
  181. package/pack/generated/claude/skills/rite-review/SKILL.md +5 -4
  182. package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +6 -0
  183. package/pack/generated/claude/skills/rite-review/reference/security-review.md +7 -2
  184. package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +3 -0
  185. package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +19 -4
  186. package/pack/generated/claude/skills/rite-ship/reference/rollout.md +62 -43
  187. package/pack/generated/claude/skills/rite-spec/SKILL.md +8 -1
  188. package/pack/generated/claude/skills/rite-spec/reference/ai-spec-template.md +13 -6
  189. package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +14 -2
  190. package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +33 -4
  191. package/pack/generated/claude/skills/rite-temper/SKILL.md +5 -1
  192. package/pack/generated/claude/skills/rite-vet/SKILL.md +121 -174
  193. package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -2
  194. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +15 -9
  195. package/pack/generated/claude/skills/rite-vet/reference/depth.md +10 -3
  196. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +75 -77
  197. package/pack/generated/claude/skills/rite-watch-pr/SKILL.md +85 -0
  198. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +4 -5
  199. package/pack/generated/claude/workflows/devrites-readonly-review.js +194 -0
  200. package/pack/generated/codex/agents/devrites-code-reviewer.toml +6 -1
  201. package/pack/generated/codex/agents/devrites-plan-drafter.toml +5 -0
  202. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +6 -0
  203. package/pack/generated/codex/agents/devrites-proof-runner.toml +7 -1
  204. package/pack/generated/codex/agents/devrites-retrospector.toml +21 -25
  205. package/pack/generated/codex/agents/devrites-security-auditor.toml +7 -3
  206. package/pack/generated/codex/agents/devrites-slice-wright.toml +30 -4
  207. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +5 -0
  208. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +3 -4
  209. package/pack/generated/codex/agents/devrites-test-analyst.toml +5 -0
  210. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +13 -26
  211. package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +11 -14
  212. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +3 -4
  213. package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +3 -4
  214. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +5 -1
  215. package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  216. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +35 -17
  217. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -3
  218. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +19 -0
  219. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +1 -1
  220. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +5 -0
  221. package/pack/generated/codex/skills/devrites-lib/reference/standards/data-integrity.md +95 -0
  222. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +5 -5
  223. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +28 -29
  224. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +70 -10
  225. package/pack/generated/codex/skills/devrites-lib/reference/standards/integration-reliability.md +79 -0
  226. package/pack/generated/codex/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
  227. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +10 -0
  228. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
  229. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +20 -0
  230. package/pack/generated/codex/skills/devrites-lib/reference/standards/repository-topology.md +73 -0
  231. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +6 -2
  232. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +51 -16
  233. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +35 -40
  234. package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +4 -0
  235. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +51 -6
  236. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
  237. package/pack/generated/codex/skills/rite/SKILL.md +2 -0
  238. package/pack/generated/codex/skills/rite-adopt/SKILL.md +8 -10
  239. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +13 -15
  240. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +98 -139
  241. package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +11 -5
  242. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +99 -114
  243. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +92 -124
  244. package/pack/generated/codex/skills/rite-build/SKILL.md +51 -73
  245. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +9 -18
  246. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +37 -4
  247. package/pack/generated/codex/skills/rite-clarify/SKILL.md +3 -2
  248. package/pack/generated/codex/skills/rite-converge/SKILL.md +4 -2
  249. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +8 -4
  250. package/pack/generated/codex/skills/rite-customize/SKILL.md +16 -18
  251. package/pack/generated/codex/skills/rite-define/SKILL.md +60 -62
  252. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +88 -71
  253. package/pack/generated/codex/skills/rite-explain/SKILL.md +2 -1
  254. package/pack/generated/codex/skills/rite-learn/SKILL.md +28 -32
  255. package/pack/generated/codex/skills/rite-plan/SKILL.md +53 -56
  256. package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +11 -1
  257. package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +11 -2
  258. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +10 -3
  259. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +2 -0
  260. package/pack/generated/codex/skills/rite-polish/reference/adr-promotion.md +7 -7
  261. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +24 -31
  262. package/pack/generated/codex/skills/rite-prove/SKILL.md +95 -156
  263. package/pack/generated/codex/skills/rite-prove/reference/acceptance-proof.md +28 -0
  264. package/pack/generated/codex/skills/rite-review/SKILL.md +5 -4
  265. package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +6 -0
  266. package/pack/generated/codex/skills/rite-review/reference/security-review.md +7 -2
  267. package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +3 -0
  268. package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +19 -4
  269. package/pack/generated/codex/skills/rite-ship/reference/rollout.md +62 -43
  270. package/pack/generated/codex/skills/rite-spec/SKILL.md +8 -1
  271. package/pack/generated/codex/skills/rite-spec/reference/ai-spec-template.md +13 -6
  272. package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +14 -2
  273. package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +33 -4
  274. package/pack/generated/codex/skills/rite-temper/SKILL.md +5 -1
  275. package/pack/generated/codex/skills/rite-vet/SKILL.md +121 -174
  276. package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -2
  277. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +15 -9
  278. package/pack/generated/codex/skills/rite-vet/reference/depth.md +10 -3
  279. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +75 -77
  280. package/pack/generated/codex/skills/rite-watch-pr/SKILL.md +85 -0
  281. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +4 -5
  282. package/package.json +1 -1
  283. package/scripts/build-host-artifacts.sh +3 -1
@@ -7,34 +7,38 @@ user-invocable: true
7
7
 
8
8
  # $rite-plan: (re)plan an active feature
9
9
 
10
- Update an existing plan when implementation evidence, drift, or a user decision makes it
11
- wrong. **Read the active workspace first.** If `.devrites/ACTIVE` is empty or its workspace
12
- is missing, stop and tell the
13
- user to run `$rite-spec <feature>`. **Revise mode is artifact-only**: reconcile
10
+ Update a plan invalidated by evidence, drift, or user decision. **Read the active workspace
11
+ first.** Missing `.devrites/ACTIVE`/workspace stops to `$rite-spec <feature>`. **Revise is
12
+ artifact-only**: reconcile
14
13
  `spec.md` / `architecture.md` / `plan.md` / `tasks.md` / `traceability.md` without
15
14
  editing source code.
16
15
 
17
16
  ## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
18
- Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD criteria.
17
+ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD
18
+ criteria.
19
+ Load `repository-topology.md`, `data-integrity.md`, or `integration-reliability.md`
20
+ when the spec applicability map or observed drift triggers them.
21
+ Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
22
+
23
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
24
+ - `FOLD` → reconcile `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` atomically; invalidate Vet/readiness; Vet.
25
+ - `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → Vet.
26
+ - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
27
+ <!-- END RESLICE ROUTE-TO-ACTION -->
19
28
 
20
29
  ## Operating rules
21
30
  - Update the spec when needed, but never plan around a known-wrong assumption.
22
- - If a change alters product behavior, scope, architecture, data model, UX, security,
23
- or migration risk → search facts first, then route the human-owned contract decision
24
- through `$rite-clarify` (using the Spec Drift Guard). Reversible technical repair is
25
- agent-owned and must not become a question.
26
31
  - Keep each slice small enough for one focused build → prove cycle.
27
- - **Slice count is derived, never dictated:** reslice when a slice fails the sizing rule
28
- (multiple "and"s, can't build+prove in one cycle), not to hit a user-named tally. A
29
- requested count is a hint at most; slice logically and explain if it differs. See
30
- [`reference/slicing.md`](reference/slicing.md) ("How many slices?").
32
+ - **Derive slice count:** reslice when work cannot build+prove in one cycle, not to hit a
33
+ requested tally. Treat counts as hints and explain honest differences; see
34
+ [`slicing.md`](reference/slicing.md).
31
35
  - **Size by complexity, order by dependency.** A slice carries a `Complexity: N/5` score (from
32
36
  `$rite-define`); a slice scoring **>3** is a reslice trigger unless its inline reason justifies
33
37
  the irreducible complexity. Honor each slice's `depends_on:`: the next *buildable* slice is the
34
38
  lowest pending one whose dependencies are all built. This preserves one-slice-at-a-time execution.
35
39
  - **Root writes; drafter proposes.** Follow
36
40
  [`agents.md`](../devrites-lib/reference/standards/agents.md). The controlling chat owns
37
- human questions, decisions, reconciliation, and all planning-artifact writes.
41
+ human questions, decisions, reconciliation, and planning writes.
38
42
  - **Nested repair preserves its caller.** When `state.md` contains a valid
39
43
  technical-backtracking return cursor, preserve any valid return cursor
40
44
  byte-for-byte. `$rite-vet` is the next internal prerequisite, not a command to
@@ -47,12 +51,9 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
47
51
  1. Read `spec.md`, `decision-coverage.md`, `plan.md`, `tasks.md`, `state.md`, `drift.md`,
48
52
  `eng-review.md`, and the current `git diff` (if a repo). Read `decisions.md` and
49
53
  `assumptions.md`. Require `Decision coverage: CLEAR`; otherwise STOP → `$rite-clarify`.
50
- If a code-intelligence
51
- index is available: `codebase-memory-mcp` first, cross-checked with `codegraph`
52
- (`.codegraph/` / `codegraph_*` tools) + `graphify` (`graphify-out/`), else standard methods
53
- (LSP / `Read`/`Grep`/`Glob`); see `.agents/skills/devrites-lib/reference/standards/tooling.md`:
54
- prefer it for structural questions (what calls X, what would
55
- changing Y break) over reading whole files, to keep planning context lean. For an external
54
+ Apply `.agents/skills/devrites-lib/reference/standards/tooling.md`: use the
55
+ primary available structural index, and cross-check only for a named unresolved
56
+ predicate rather than reassurance. For an external
56
57
  dependency's current API surface, consult context7 if available.
57
58
  2. **Pick the mode** (`$ARGUMENTS` or infer):
58
59
  - **decompose:** first/again break the feature into vertical slices.
@@ -61,41 +62,39 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
61
62
  - **reorder:** fix the dependency order.
62
63
  - **split:** separate backend/frontend contracts (see `devrites-api-interface`).
63
64
  - **unblock:** a verification failed; re-route around the blocker.
64
- - **course-correct:** a deliberate mid-build *pivot* (the user changed their mind), distinct
65
- from accidental drift: classify the change, assess its impact across the remaining slices,
66
- decide rollback vs forward-fix, and update `spec.md` + `plan.md` + `tasks.md` + `decisions.md`
67
- atomically. An acceptance/behavior change still goes through the user first. When the plan
68
- names an `MVP cut`, offer it as the retreat option: falling back to the cut is a pre-agreed
69
- scope, not a new negotiation.
70
- - **revise:** apply a requested planning-artifact revision and reconcile existing artifacts in
71
- any direction; propose the file edit set first, confirm each file before writing, and **never
72
- edit source code**. The sole confirmation exception is explicit `$rite-upgrade` with an
73
- admitted `repairable` assessment naming current rule, evidence, gate, exact paths, and
74
- delta; it authorizes only that neutral workspace edit, never source or history.
75
- **Gate first: revise or new?** Same intent? More than 50% of existing scope
76
- survives? original *not* completable without this? Two "no"s → new work: recommend
77
- sealing/shipping the current workspace (MVP cut if named) then `$rite-spec` for the new
78
- intent, and stop. Revise preserves context; a new workspace separates the work.
65
+ - **course-correct:** mid-build user pivot; apply the marked action, choose
66
+ rollback/forward-fix, and update permitted artifacts atomically (`MVP cut` is the named retreat).
67
+ - **revise:** reconcile a requested artifact revision; propose/confirm its file set and
68
+ **never edit source**. Only explicit `$rite-upgrade` with a `repairable` assessment naming
69
+ rule, evidence, gate, paths, and delta can authorize its neutral workspace edit—not source/history.
70
+ **Revise or new?** Same intent? >50% scope survives? Original not completable without it?
71
+ Two “no” answers mean new work: seal/ship current scope (`MVP cut` if named), then
72
+ `$rite-spec`, and stop.
79
73
  See [replan-and-repair](reference/replan-and-repair.md) for each mode's steps.
80
- 2a. **Draft the repair from fresh context.** Freeze the inputs and dispatch
81
- `devrites-plan-drafter` in `repair` mode with only the selected mode, affected artifact
82
- paths, settled contract, and observed failure/drift. Await one atomic `plan-candidate`;
83
- the drafter writes nothing and returns human-owned choices separately.
74
+ 2a. **Draft fresh.** Dispatch `devrites-plan-drafter` in `repair` mode with frozen mode,
75
+ affected artifacts, settled contract, and failure/drift. Await one atomic, read-only
76
+ `plan-candidate`; human choices return separately.
84
77
  When the observed failure is missing or ambiguous consumptive-action evidence,
85
78
  require the drafter to apply `one-shot-actions.md` and return the bounded
86
79
  diagnostic-amplification design, injective boundary map, per-seam fixtures, and
87
- collision mutant. Past evidence loss alone is not a terminal conclusion.
88
- The drafter never supplies implementation bodies. Bind the exact active
89
- `.devrites/work/<slug>/` targets and complete executable contract; after Vet
90
- READY, the controlling root materializes the exact vetted workflow-artifact paths
91
- under
80
+ collision mutant. Past evidence loss is not terminal. The drafter supplies no bodies.
81
+ Bind exact active `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
82
+ materializes the exact vetted workflow-artifact paths under
92
83
  [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
93
84
  without dispatching the product wright.
94
85
  3. Reason about dependencies: [dependency-graph](reference/dependency-graph.md).
86
+ Reconcile the horizon register against `../rite-define/reference/plan-template.md`.
87
+ Preserve every `HZN-###` and unresolved item. Cite evidence when reclassifying the earliest
88
+ honest decision point; resolution or supersession also needs evidence. Never silently delete
89
+ an item. Planning choices resolve from source evidence or become bounded risk spikes with
90
+ discriminating criteria and fallback branches; local/checkpoint entries retain their owner,
91
+ trigger, bounds/fallback, and proof. A new human-owned blocker stops to `$rite-clarify`.
95
92
  Reconcile `plan.md`'s canonical `Shared contract proof`: changed provider/consumer
96
93
  boundaries keep one reused contract artifact ahead of both asserting tests, and unaffected
97
94
  plans retain the specific no-impact statement. Missing, one-sided, duplicated-contract, vague, or
98
95
  non-consuming proof routes to `$rite-vet` only after repair.
96
+ Reconcile the spec applicability map and retain every applicable standard's required
97
+ topology/data/integration owner, failure/recovery, deployment order, and proof output.
99
98
  **Completion:** the slice graph is cycle-free and every dependency names an existing slice.
100
99
  4. Re-slice using vertical-slice rules: [slicing](reference/slicing.md) and
101
100
  [task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
@@ -106,23 +105,21 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
106
105
  the previous vet verdict: set `Phase: plan`, `Next step: $rite-vet`, and, when
107
106
  `eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
108
107
  across changed planning inputs. Preserve `Plan approved` only for behavior/acceptance-neutral
109
- technical repair; clear and reconfirm it when the contract changed. If you stopped for drift,
108
+ technical repair; clear it for a contract-changing or newly blocking horizon item and
109
+ reconfirm only after Clarify and Vet close it. If you stopped for drift,
110
110
  mark the `drift.md` entry resolved. Never remove or overwrite a valid caller
111
111
  return cursor while writing the Plan checkpoint.
112
- 6. If product behavior/acceptance criteria change, confirm through `$rite-clarify` before
113
- writing, re-close `decision-coverage.md`, then reconcile the plan. After any edit to
114
- `brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`, including a
115
- behavior-neutral technical rationale appended to `decisions.md`, re-scan the affected coverage
116
- rows, assumption audit, residual uncertainty, and closed gates. Partial/Missing, an unowned
117
- material assumption, or an open blocking/escalating question routes `$rite-clarify`/HITL.
118
- Re-read every affected row and require current evidence before restoring `CLEAR`.
119
- **Completion:** the change is classified, and every behavior/acceptance change has explicit
120
- confirmation recorded before the artifacts are updated.
112
+ 6. Apply the marked action before writes and retain its decision/coverage evidence.
113
+ After editing `brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`,
114
+ re-scan affected coverage, assumptions, uncertainty, and gates. Partial/Missing, unowned
115
+ material assumption, or open blocking/escalating question routes `$rite-clarify`/HITL.
116
+ Restore `CLEAR` only from current evidence.
121
117
  7. **Done when:** every slice is sized (builds + proves in one cycle; no slice scoring >3
122
118
  left unjustified), the dependency order is acyclic, every `drift.md` entry you stopped for
123
119
  is marked resolved, revised artifacts agree with each other, no source files changed in
124
- `revise` mode, behavior-change-vs-not is confirmed (`no`, or clarified), and every changed
125
- plan ends at `$rite-vet` rather than returning directly to build. The `Shared contract proof`
120
+ `revise` mode, the marked action is complete, and every changed
121
+ plan ends at `$rite-vet` rather than returning directly to build; horizon IDs stay stable,
122
+ reclassifications cite evidence, and no unresolved item vanished. The `Shared contract proof`
126
123
  table or justified no-impact statement must still match the revised boundary set.
127
124
  If any check fails, loop back: don't hand off a half-reshaped plan.
128
125
 
@@ -5,6 +5,14 @@ feels reluctance toward asking the user before a behavior change.
5
5
 
6
6
  Pack-wide rationalizations + red flags: see [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-patterns.md).
7
7
 
8
+ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
9
+
10
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
11
+ - `FOLD` → reconcile `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` atomically; invalidate Vet/readiness; Vet.
12
+ - `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → Vet.
13
+ - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
14
+ <!-- END RESLICE ROUTE-TO-ACTION -->
15
+
8
16
  ## Phase-specific rationalizations
9
17
 
10
18
  | Excuse | Rebuttal |
@@ -13,7 +21,9 @@ Pack-wide rationalizations + red flags: see [standards/anti-patterns.md](../../d
13
21
  | "I can fix the slice mid-build, no need to update tasks." | `tasks.md` is the contract `$rite-build` reads. A fix that isn't there isn't visible to the next phase. |
14
22
  | "Reordering slices is cosmetic." | Dependency order controls risk discovery; risk-first wins because it surfaces blockers early. |
15
23
  | "This drift is small enough to absorb silently." | Silent drift = unrecorded decision = future "why does this work?" debugging session. |
16
- | "I can change product behavior to make the plan fit." | Behavior change always asks the user first, no exceptions. |
24
+ | "I can change product behavior to make the plan fit." | **RSLICE-PLAN-001** Implementation convenience cannot rewrite product behavior. |
25
+ | "Topology or a small criterion delta decides the route." | **RSLICE-PLAN-002** — Topology/count and “small” never override the canonical classifier; sufficient authoritative contract delta follows its mapped action. |
26
+ | "Chat, stale material, or the convenient map is enough." | **RSLICE-PLAN-003** — Exact current byte-bound directives are authority; cached, remembered, summarized, paraphrased, or inferred chat and stale material are not. |
17
27
 
18
28
  ## Red Flags
19
29
 
@@ -4,7 +4,8 @@ Order slices by what must exist before what. Keep it in `plan.md` as plain text.
4
4
 
5
5
  ## Build the graph
6
6
  1. For each slice, list its hard prerequisites (a model it queries, an endpoint it
7
- calls, a component it composes).
7
+ calls, a component it composes, a contract/schema/config it consumes, or a deployable
8
+ version that must already tolerate the change).
8
9
  2. Draw edges prerequisite → dependent.
9
10
  3. Topologically sort. Independent slices can be built in any order (or noted as
10
11
  parallelizable for the user).
@@ -24,10 +25,18 @@ Finding drift early is cheap; finding it at seal time is not.
24
25
  - A slice with many prerequisites → probably too big; reslice for a thinner cut that
25
26
  stands alone.
26
27
  - A cycle (A needs B needs A) → the boundary is wrong; split the contract
27
- (`devrites-api-interface`) so one side can land with a stub.
28
+ (`devrites-api-interface`) so one side can land against one canonical contract.
29
+ Do not hide the cycle with duplicated types, a service locator, or an unowned stub.
28
30
  - Everything depends on slice 1 → slice 1 is doing too much.
31
+ - File-disjoint slices share a database migration chain, generated contract, lockfile,
32
+ queue/port, environment, or deployable → serialize that resource or isolate it explicitly.
29
33
 
30
34
  ## Cross-boundary edges
31
35
  Mark edges that cross a frontend/backend or service boundary. Those slices should
32
36
  define the contract first (so both sides can proceed) and trigger `devrites-doubt`
33
37
  before standing the interface.
38
+
39
+ For monorepos/multiple repositories, annotate the proven root and deployable on each node.
40
+ For data/integration changes, include recovery ordering: expand before new writers,
41
+ backfill before contract, consumer compatibility before provider exposure, and monitoring
42
+ before rollout. The graph is incomplete if code order is safe but deploy order is not.
@@ -2,6 +2,14 @@
2
2
 
3
3
  `$rite-plan` runs in one of these modes. Pick from `$ARGUMENTS` or infer from state.
4
4
 
5
+ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
6
+
7
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
8
+ - `FOLD` → reconcile `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` atomically; invalidate Vet/readiness; Vet.
9
+ - `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → Vet.
10
+ - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
11
+ <!-- END RESLICE ROUTE-TO-ACTION -->
12
+
5
13
  ## decompose
6
14
  First (or fresh) breakdown into vertical slices. Use `task-breakdown.md` +
7
15
  `slicing.md`. Output: a populated `tasks.md` and an ordered `plan.md` graph.
@@ -20,8 +28,7 @@ A drift event stopped the build. Steps:
20
28
  reality. Adjust acceptance criteria if they were wrong.
21
29
  4. Mark the `drift.md` entry **resolved** with the resolution + date.
22
30
  5. Resume at the corrected slice.
23
- Never repair by quietly deleting the inconvenient requirement, if behavior changes,
24
- that was a user question.
31
+ Never quietly delete a requirement; use the marked action before contract edits.
25
32
 
26
33
  ## reorder
27
34
  Dependency order is wrong or suboptimal. Recompute the graph (`dependency-graph.md`),
@@ -39,4 +46,4 @@ end and plan a new diagnosis/proof fingerprint. Never clear/reuse old one.
39
46
 
40
47
  ## Always
41
48
  Update `state.md` (phase, next step) and append a dated line to `decisions.md`
42
- explaining *why* the plan changed. Ask the user before any product-behavior change.
49
+ explaining *why* the plan changed. Preserve mapped-action decisions.
@@ -19,6 +19,8 @@ This reference owns decomposition; the shared schema owns field names and meanin
19
19
  provider/consumer boundary, map the plan's `Shared contract proof` artifact before its
20
20
  provider- and consumer-side asserting tests; both tests consume that same artifact and
21
21
  their slice dependencies preserve the order. Do not duplicate the contract in each slice.
22
+ For each applicable topology/data/integration row, assign its owner, failure/recovery
23
+ case, and proof to a slice; preserve deployment/resource ordering from the plan.
22
24
  5. Write or update `traceability.md` so every `AC-###` maps to ≥1 `SLICE-###`, a
23
25
  planned proof, evidence status, and likely touched files.
24
26
  6. Sanity check: every acceptance criterion in `spec.md` maps to ≥1 slice; no slice has
@@ -1,11 +1,11 @@
1
1
  # ADR promotion
2
2
 
3
- Promote only durable architecture or interface decisions from `decisions.md`; slice-local
4
- calls remain in the archived workspace. Do this during Polish before Review. If the
5
- project has no `docs/adr/`, ask before creating that convention.
3
+ During Polish, promote a `decisions.md` architecture/interface choice only when it is
4
+ hard to reverse, surprising without context, and a real trade-off. Otherwise leave it in
5
+ the archived workspace. If the project has no `docs/adr/`, ask before creating that
6
+ convention.
6
7
 
7
8
  Write the next append-only `docs/adr/ADR-NNN.md` with Context, Decision, Status
8
- `accepted`, and Consequences. Never rewrite an accepted ADR; supersede it with a new ADR
9
- that links the old one. Add every promoted ADR to the authoritative candidate
10
- manifest, run affected real re-proof, and refresh evidence/browser bindings before
11
- Review. Ship performs no ADR promotion.
9
+ `accepted`, and Consequences. Never rewrite an accepted ADR; supersede it with a linked
10
+ new ADR. Add it to the candidate manifest, run affected real re-proof, and refresh evidence
11
+ and browser bindings before Review. Ship performs no ADR promotion.
@@ -7,42 +7,35 @@ user-invocable: true
7
7
 
8
8
  # $rite-pressure-test: diverge then converge
9
9
 
10
- Use when the *idea* (not just the requirements) is rough. Generate options, then commit
11
- to one, so `$rite-spec` has a real direction to specify.
12
-
13
- A thinking stance, not a build phase: capturing thinking is not implementing. Write
14
- workspace/ticket artifacts freely; source edits wait for `$rite-build`, via `$rite-spec`.
15
-
16
- Read `.agents/skills/devrites-lib/reference/standards/core.md` first: its operating rules (no silent assumptions, prefer
17
- existing conventions) shape the divergence. The other rule files load on demand.
10
+ Use when the ideanot only requirementsis rough. Compare directions before
11
+ `$rite-spec`; never implement. Read [`core.md`](../devrites-lib/reference/standards/core.md)
12
+ first and write only workspace/ticket artifacts.
18
13
 
19
14
  ## Diverge (widen)
20
- - Search the current `decisions.md`, accepted ADRs, and directly relevant archived
21
- Markdown for prior rejected directions. Reconsider one only when new evidence answers
22
- its recorded reason; cite both the rejection and the new evidence.
23
- - Generate 3-5 genuinely different approaches to the underlying goal, not variations of
24
- one. Cover at least: the obvious approach, a simpler/smaller approach, and a
25
- different-shape approach (different data model, flow, or boundary).
26
- - Generate from **named lenses** so each option exists for a reason, not to pad the count:
27
- *inversion* (do the opposite), *constraint-removal* (what if the hard limit vanished),
28
- *audience-shift* (build it for a different user), *10×* (what if it had to handle ten times
29
- the scale or scope), *expert-lens* (how a specialist in the domain would do it). Borrow the
30
- *structure* of an analogous product, not its surface. "Uber for X" copies the veneer, not
31
- the mechanism that made it work.
32
- - For each: one-line description, what it optimizes for, rough cost, main risk.
33
- - Stay concrete: name real entities, flows, and surfaces, not abstractions.
15
+ - Search `decisions.md`, accepted ADRs, and relevant archives for rejected directions;
16
+ revive one only with evidence that answers its recorded reason, citing both.
17
+ - Generate 3-5 different shapes, including obvious, smaller, and different-boundary/data/
18
+ flow options. Use named lenses— inversion, constraint removal, audience shift, 10×, or
19
+ expert practice—without padding. Borrow analogous mechanisms, not branding.
20
+ - For each, name concrete entities/flows/surfaces, optimization, rough cost, and main risk.
34
21
 
35
22
  ## Converge (commit)
36
23
  - Weigh options against the goal, constraints, and existing codebase conventions.
37
- - **Painkiller or vitamin?** Score each on whether it removes a real, felt pain (a painkiller
38
- users seek out) or is merely nice-to-have (a vitamin they forget). Prefer the painkiller: a
39
- vitamin dressed as a painkiller is the most common ideation trap.
40
- - **Rank the differentiation**, strongest to weakest: a new capability > a 10× improvement > a
41
- new audience > a new context > better UX > cheaper. The higher an option sits, the more
42
- defensible the direction.
24
+ - Prefer felt pain over nice-to-have. Rank differentiation: new capability > 10× gain >
25
+ new audience > new context > better UX > cheaper; do not dress a vitamin as a painkiller.
43
26
  - Recommend one, with the reason and the key trade-off accepted.
44
27
  - Note what would change the recommendation (the decision's hinge).
45
28
 
29
+ ## Premise evidence floor
30
+
31
+ If the hinge is an uncertain material fact, freeze at most three questions for
32
+ `devrites-evidence-scout`. Validate every citation; missing/malformed/unverifiable output is
33
+ `unavailable`, never support. Record claim, support, strongest contrary evidence, and
34
+ `supported | assumption | refuted`. Refutation changes the recommendation; an assumption
35
+ advances only when non-decisive with bounded downside. Weak/conflicting decisive evidence
36
+ returns **Hold** with the resolving evidence, never `$rite-spec`. Do not research preferences
37
+ or reversible implementation choices.
38
+
46
39
  ## Boundaries
47
40
  - This is exploration, not specification. Output a **direction**, not a finished spec:
48
41
  `$rite-spec` writes the spec.
@@ -60,9 +53,9 @@ existing conventions) shape the divergence. The other rule files load on demand.
60
53
  ```
61
54
  Done: pressure test complete for <goal>.
62
55
  Changed: workspace only
63
- Evidence: options compared <n>; recommendation <option>; hinge <condition>
64
- Open: <none | unresolved premise>
65
- Next: $rite-spec <feature>
56
+ Evidence: options compared <n>; recommendation <option>; hinge <condition>; premises <supported/assumption/refuted + sources>
57
+ Open: <none | unresolved premise and resolving evidence>
58
+ Next: <when supported: $rite-spec <feature>; when Hold: none — requires <resolving evidence>>
66
59
  Record: not applicable
67
60
  ↻ Hygiene: /clear before starting the lifecycle
68
61
  ```