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,154 +7,113 @@ user-invocable: true
7
7
 
8
8
  # $rite-autocomplete: full lifecycle, unattended
9
9
 
10
- Runs every phase unattended after initial clarification. Irreversible-risk,
10
+ Run every phase after one clarification window. Irreversible-risk,
11
11
  blocking/escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
12
- and NO-GO gates still pause. Use the **Standard** native execution profile by
13
- default and **Full** for high-risk scope or explicit `--full`; profiles are defined in
14
- [`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
12
+ NO-GO, resource, and human-owned gates still pause. Use the Standard native
13
+ profile by default and Full for high-risk scope or explicit `--full`; see
14
+ [`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
15
15
 
16
- ## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
17
- **Step 0:** Read `.agents/skills/devrites-lib/reference/standards/core.md` and `.agents/skills/devrites-lib/reference/standards/afk-hitl.md` first.
18
- When the cursor or approved plan contains a consumptive action, also read
19
- `.agents/skills/devrites-lib/reference/standards/one-shot-actions.md` before any
20
- stop/continue or execution decision.
21
- When a blocked cursor names missing executable controller/harness/bundle bytes or
22
- a missing writer under the active feature workspace, read
23
- `.agents/skills/devrites-lib/reference/standards/workflow-artifacts.md` before honoring
24
- the terminal cursor or its recovery count.
16
+ ## Required rules
25
17
 
26
- ## Operating rules
27
- - **Use one initial human window.** Run spec and topology-first clarify; arm AFK
28
- only after `Decision coverage: CLEAR`. Record later discretionary calls
29
- ([decision policy](reference/decision-policy.md)).
30
- - **Safety gates are not bypassable.** Irreversible risk, blocking/escalating,
31
- open validating gates, and unexcepted principle violations pause. `--ship` /
32
- `--yolo` never authorizes Git; it reaches only the exact-plan literal-GO and
33
- native-approval boundary. Red checks run bounded recovery, then block unless
34
- the remaining decision is human-owned.
35
- - **Keep routine backtracking internal.** Always follow agent-owned backward edges
36
- through repair, Vet, bounded implementation correction, and re-proof inside
37
- the active run. A nested phase `STOP` or intermediate `Next step` is not a
38
- user handoff; pause only on the shared real stop conditions.
18
+ Read `devrites-lib/reference/standards/core.md` and `afk-hitl.md` first. Read
19
+ `one-shot-actions.md` before any stop/continue or execution decision involving a
20
+ consumptive action. Before honoring a terminal cursor that names missing
21
+ executable controller/harness/bundle bytes or a missing writer, read
22
+ `workflow-artifacts.md`. Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
23
+
24
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
25
+ - `FOLD` keep Plan repair/affected Vet internal; no stop solely for topology/count.
26
+ - `GUARD_AND_REPAIR` enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
27
+ - `BLOCKED_INPUT` no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
28
+ <!-- END RESLICE ROUTE-TO-ACTION -->
29
+
30
+ ## Invariants
31
+
32
+ - Use one initial human window: Spec, topology-first Clarify, and
33
+ `Decision coverage: CLEAR`. Only then arm AFK. Record later reversible choices
34
+ under [decision policy](reference/decision-policy.md).
35
+ - Safety is not bypassable. `--ship`/`--yolo` reaches only the exact-plan
36
+ literal-GO and native-approval boundary; it never authorizes Git.
39
37
  - **Treat technical readiness as routing, not completion.** `NEEDS_REPLAN` is a backward edge
40
- to Plan repair and narrow Vet; `NEEDS_CLARIFICATION` is likewise internal when
41
- decision coverage can be resolved from existing authority. Neither state may
42
- end Autocomplete unless its underlying fingerprint is actually exhausted or a
43
- human/safety/access decision is required.
44
- - **Do not confuse an action budget with recovery exhaustion.** After a failed
45
- consumptive action, zero remaining real attempts blocks only another execution.
46
- New retained Critical/Important evidence starts offline repair and narrow Vet
47
- inside this Autocomplete invocation. Stop for a fresh GO only after that repair
48
- changes the failure condition and Vet is READY.
49
- - **Budget from the post-vet slice count.** Vet may split/add slices.
50
- `--max-slices N` may lower the cap for a partial run; otherwise build all.
51
- - **Parse flags only from this invocation.** `--ship`, `--yolo`, `--max-slices`,
52
- `--full`, and `--cross-model` are active only when their exact standalone tokens
53
- occur in `$ARGUMENTS`; their presence in this skill, examples, or earlier messages
54
- can never arm them. `--max-slices` must occur once and be followed by a positive
55
- base-10 integer; missing, repeated, malformed, or conflicting values stop before
56
- any sentinel or workspace write.
57
- - **Record discretionary choices.** Use the specialist/reviewer recommendation
58
- and rationale; never choose arbitrarily.
59
- - **Strategic review runs, but never auto-grows scope.** After `$rite-clarify`, run `$rite-temper`
60
- (significance-gated; it skips low-stakes specs in one line). Unattended it auto-applies only
61
- `hold-rigor` + `reduce-to-MVP` (these never grow acceptance); **any `expand` is a blocking
62
- pause**, and irreversible-risk findings always pause. Autocomplete hardens and may *prune* the
63
- spec on its own; it never *expands* the build's scope without the human.
64
- - **Engineering review runs on every plan, but never auto-grows scope.** After `$rite-define`,
65
- run `$rite-vet` on **every** feature (depth scales: a light pass on simple plans, full rigor on
66
- big/risky; never skipped). Unattended it auto-applies only *hardening* findings: added test
67
- requirements, error-handling / failure-mode coverage, tightened scope, reuse-over-rebuild,
68
- dependency-order fixes (these never grow acceptance); acceptance-preserving
69
- reslicing or remediation remains agent-owned. **Any finding that grows product
70
- scope or changes acceptance is a blocking pause**, and irreversible-risk findings always
71
- pause. Cross-model is off unless `--cross-model` was armed.
38
+ to Plan repair and narrow Vet. `NEEDS_REPLAN` cold resume follows a valid
39
+ technical return cursor before forward work or any reply. Clarification is
40
+ likewise internal when current authority resolves it.
41
+ - Always follow agent-owned backward edges through repair, affected Vet,
42
+ correction, and proof. A nested `STOP`/`Next step` is not a user handoff.
43
+ Pause only for a shared human/safety/access/exhaustion condition.
44
+ - **Do not confuse an action budget with recovery exhaustion.** Spent action
45
+ authority blocks another real execution, not offline correction of retained
46
+ Critical/Important evidence. Stop for fresh GO only after changed conditions
47
+ and READY Vet.
48
+ - Every exact causal fingerprint gets at most three no-progress corrections.
49
+ Closing one is progress; a distinct Critical/Important invariant has its own
50
+ budget. Lower severity cannot prolong recovery.
51
+ - Enforce `--max-slices`, the AFK sentinel, expiry, review queue, and native
52
+ agent/token/cost/time limits before every phase or dispatch. Count failed,
53
+ malformed, and unavailable leaf calls. At the review cap, permit only work
54
+ that reduces the queue.
55
+ - Parse flags only from this invocation. `--ship`, `--yolo`, `--max-slices`,
56
+ `--full`, and `--cross-model` activate only as exact standalone tokens in
57
+ `$ARGUMENTS`; examples or earlier messages can never arm them. `--max-slices`
58
+ must occur once and be followed by a positive base-10 integer; missing, repeated, malformed, or conflicting values stop before any write.
59
+ - Temper always runs after Clarify. Unattended mode auto-applies only
60
+ `hold-rigor` and `reduce-to-MVP`; any `expand` or added acceptance pauses.
61
+ - Vet every plan. Cross-model is off unless the current invocation arms it.
62
+ Never auto-grow accepted scope.
72
63
 
73
64
  ## Workflow
74
- 1. **Orient + parse args.** Resolve the explicit or active slug, require its
75
- `state.md`, and read the cursor directly. Before honoring `blocked` with a
76
- terminal `next_action`, reconcile retained consumptive-action artifacts and
77
- per-fingerprint attempts from `drift.md` / `evidence.md`. A distinct retained
78
- fingerprint below its no-progress cap reopens caller-owned offline recovery;
79
- a stale pre-ownership workflow-artifact writer stop reopens under
80
- `workflow-artifacts.md` when no controlling-root materialization attempt exists.
81
- A `NEEDS_REPLAN` cold resume with a valid technical return cursor immediately
82
- invokes Plan repair and Recovery Vet before selecting a forward phase or
83
- emitting any reply.
84
- That materialization runs directly as non-consumptive prerequisite recovery,
85
- even with no pending product slice or AFK budget; it does not re-ask an answered
86
- human gate.
87
- reconstruct any missing return cursor only from the current phase plus the
88
- exact approved action in `test-plan.md` / evidence, never from chat or guesswork.
89
- The idea + flags: `--ship` / `--yolo` (continue through ship preflight, then stop
90
- for literal-GO and native approval), `--max-slices N` (optional lower safety cap for a partial run; default =
91
- the plan's slice count, i.e. run all planned slices). Parse only the current
92
- `$ARGUMENTS`; normalize the result to the idea, `ship_preflight: yes|no`,
93
- `max_slices: N|plan`, `profile: standard|full`, and `cross_model: yes|no`.
94
- **Completion:** that normalized state is unambiguous and no sentinel or workspace
95
- file has been written.
96
- 2. **Specify and clarify up front.** Use `devrites-interview`, `$rite-spec`, and
97
- `$rite-clarify` as one interactive window. Clear specs ask zero questions; Partial/Missing
98
- coverage never arms AFK. **Completion:** `decision-coverage.md` records `CLEAR`.
99
- 3. **Arm AFK after clarity.** Require `Decision coverage: CLEAR`, then apply the
100
- loop's [one-write AFK contract](reference/loop.md#arm-afk-once): preserve a valid
101
- existing sentinel byte-for-byte or create an advisory-only sentinel once; never
102
- rewrite it after Vet. Also `touch .devrites/CHECKPOINT`: unattended runs use
103
- checkpoint mode so each proven slice is committed locally as a crash-survivable
104
- `WIP` ([rite-build/reference/checkpoint.md](../rite-build/reference/checkpoint.md));
105
- `$rite-ship` collapses them into the one feature commit. **Completion:** AFK config is
106
- valid and advisory-only, any pre-existing bytes are unchanged, and the checkpoint
107
- sentinel exists.
108
- 4. **Drive the phases** ([reference/loop.md](reference/loop.md)). The canonical arc is
109
- `$rite-spec` → **`$rite-clarify`** → **`$rite-temper`** → `$rite-define` →
110
- **`$rite-vet`** → `$rite-build` (repeat until all slices
111
- built; root charges the AFK budget once per green built slice) → `$rite-prove`
112
- → `$rite-polish` → `$rite-review` → `$rite-seal`.
113
- Read each `SKILL.md` and execute it; workspace files carry state, not chat.
114
- Follow the loop's backward-edge contract whenever a later phase discovers an
115
- agent-owned earlier-phase gap; keep the original return cursor until that
116
- phase resumes.
117
- Immediately after `$rite-vet` and before the first Build dispatch, apply the loop's
118
- [mutable post-vet budget](reference/loop.md#derive-the-mutable-post-vet-budget)
119
- contract. **Completion:** the loop reaches Seal GO, or a stop condition is persisted
120
- before any later phase runs; the cursor names the last completed phase and the
121
- effective remaining budget.
122
- 5. **Apply stop conditions at every gate** ([reference/stop-conditions.md](reference/stop-conditions.md)):
123
- first route an agent-owned red technical result through the loop's bounded
124
- recovery; its `blocked` label alone is not a stop condition. After that, on
125
- hard-risk / human-owned blocking / escalating / NO-GO / budget-exhausted / still-low-confidence
126
- → write `state.md` (`Status`, `Next step`), surface *why*, and **STOP**.
127
- Exhausted agent-owned technical recovery uses the terminal `Next step: none`
128
- marker and never hands the user `$rite-plan unblock` or another routine
129
- phase command.
130
- **Completion:** either no stop condition is active, or the stopped cursor and reason
131
- are durable and no later phase has been invoked.
132
- 6. **Seal GO → ship boundary.** With `--ship` / `--yolo`, proceed through
133
- `$rite-ship` preflight, disclose the exact Git plan, then stop for the human's
134
- literal `GO` and any native host approval. Without the flag, stop at seal GO with
135
- `$rite-ship` as the resume command. **Completion:** the no-flag path has performed no
136
- Ship work; the flagged path has disclosed the exact plan and performed no Git action
137
- before fresh literal `GO` plus native approval.
138
65
 
139
- > **Mid-flight discipline.** Stop rather than auto-passing a blocking gate, answering a
140
- > human-owned material question, or continuing past red tests.
66
+ 1. **Orient and parse.** Resolve the explicit or active slug, require `state.md`,
67
+ and read its cursor. Before honoring `blocked` with terminal `next_action`,
68
+ reconcile retained consumptive evidence and fingerprint attempts from
69
+ `drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
70
+ recovery.
71
+ <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"lifecycle cursor encounters admitted set or resumable journal","action":"invoke classifier; execute returned route internally","return":"saved phase/action; zero intermediate reply"} -->
72
+ Reconstruct a missing return cursor only from
73
+ the current phase and exact approved action in `test-plan.md`/evidence, never
74
+ from chat. Normalize current arguments to idea, `ship_preflight: yes|no`,
75
+ `max_slices: N|default`, `profile: standard|full`, and `cross_model: yes|no`.
76
+ **Completion:** normalized state is unambiguous and no sentinel or workspace file has been written.
77
+ 2. **Specify and clarify.** Run `devrites-interview`, `$rite-spec`, and
78
+ `$rite-clarify` as one window. Partial/Missing material coverage never arms
79
+ AFK. **Completion:** `Decision coverage: CLEAR` is durable.
80
+ 3. **Arm AFK once.** Apply the loop's
81
+ [one-write AFK contract](reference/loop.md#arm-afk-once): preserve valid
82
+ existing bytes or create the bounded advisory-only sentinel once; never
83
+ rewrite it after Vet. Preserve an existing sentinel byte-for-byte. Touch
84
+ `.devrites/CHECKPOINT` so proven slices get local crash-survivable WIP
85
+ checkpoints for Ship to collapse. **Completion:** valid read-only AFK and checkpoint sentinels exist.
86
+ 4. **Drive phases.** Follow [the loop](reference/loop.md): `$rite-spec` →
87
+ `$rite-clarify` → `$rite-temper` → `$rite-define` → `$rite-vet` →
88
+ `$rite-build` × pending slices → `$rite-prove` → `$rite-polish` →
89
+ `$rite-review` → `$rite-seal`. Read and execute each skill; durable files, not
90
+ chat, carry state. Apply the mutable post-vet budget before first Build.
91
+ **Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
92
+ 5. **Apply stops.** At every gate use
93
+ [stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
94
+ route agent-owned red results through bounded recovery.
95
+ Red gates block forward advancement and enter caller-owned recovery. Stop on
96
+ hard risk, human-owned blocking/escalating/NO-GO, resource exhaustion, or the
97
+ exact fingerprint's proven exhaustion. Technical exhaustion records terminal
98
+ `Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
99
+ 6. **Seal boundary.** Without a ship flag, stop at Seal GO with `$rite-ship`.
100
+ With one, perform Ship preflight, disclose the exact Git plan, and stop for
101
+ fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
141
102
 
142
- Keep the log terse:
143
- ```
103
+ ## Reply and resume
104
+
105
+ HITL Build returns after one slice; explicit valid AFK may chain only green
106
+ slices within every cap. One Autocomplete invocation owns all internal
107
+ backtracking. Context pressure, compaction, or a nested completion footer does
108
+ not create a stop; persist and resume the cursor.
109
+
110
+ Use one terse line:
111
+
112
+ ```text
144
113
  Autocomplete: <slug>
145
114
  spec <done|stopped> · clarify <clear|stopped> · temper <done|skipped|stopped> · define <done|stopped> · vet <ready|stopped> · build <n/N|stopped> · prove <done|stopped> · polish <done|stopped> · review <done|stopped> · seal <GO|NO-GO|stopped>
146
115
  ```
147
116
 
148
- Final state examples: `Shipped: <feature>`, `Stopped: <reason>`, `Awaiting human:
149
- <qid> · <gate> · <slice/phase>`, `NO-GO: <verdict>`, or `GO: feature cleared to ship`.
150
- Do not write a narrative recap.
151
-
152
- ## Clean baseline and checkpoint mode
153
- - Before autonomy, require a clean or accepted baseline; refuse unrelated dirty work and record plan artifacts.
154
- - Arm `.devrites/CHECKPOINT`; `$rite-ship` collapses its local-only proven-slice checkpoints.
155
- - Red gates block forward advancement and enter caller-owned bounded recovery.
156
- Stop only when the shared stop contract classifies risk/HITL or the exact
157
- fingerprint's recovery budget is exhausted.
158
- - One autocomplete pass spans the lifecycle. Each wright returns after one slice;
159
- explicit `.devrites/AFK` lets the Build root chain green slices under cap/pause rules;
160
- otherwise HITL stops.
117
+ Final state is `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; do not
118
+ write a narrative recap. Require a clean or accepted baseline, arm checkpoint
119
+ mode, and never auto-pass a red gate.
@@ -4,6 +4,14 @@ Unattended ≠ careless. Every discretionary choice is made the way a senior eng
4
4
  would, then **recorded** so the seal can audit it. The difference from interactive mode
5
5
  is only *who answers* a discretionary question, not whether it's reasoned.
6
6
 
7
+ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
8
+
9
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
10
+ - `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
11
+ - `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
12
+ - `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
13
+ <!-- END RESLICE ROUTE-TO-ACTION -->
14
+
7
15
  ## The rule
8
16
 
9
17
  For each non-trivial choice, pick the option the **relevant specialist favours**, and
@@ -28,8 +36,6 @@ not pick the option that's merely easiest to implement.
28
36
 
29
37
  ## When a choice is NOT autocomplete's to make
30
38
 
31
- If a discretionary choice would change **product behaviour, scope, data model, security
32
- posture, or acceptance criteria**, it is no longer discretionary. It is a material
33
- question. Route it through the Spec Drift Guard / a `blocking` question and **stop**
34
- (see [stop-conditions.md](stop-conditions.md)). Autocomplete answers *how*, never
35
- *what to build* beyond what the up-front interview settled.
39
+ Human-owned contract, data-model, security, and product choices are not discretionary.
40
+ Use owning elicitation/safety gates and the topology marked action. Autocomplete
41
+ answers *how*, never *what to build* beyond the settled interview.
@@ -1,131 +1,116 @@
1
1
  # The autocomplete loop: arm AFK, drive every phase
2
2
 
3
- Autocomplete sequences existing `/rite-*` workflows and enforces stop
4
- conditions without pausing between routine phases.
3
+ Autocomplete sequences existing `/rite-*` workflows without pausing between
4
+ routine phases. Acceptance-preserving Reslice authority is
5
+ `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
5
6
 
6
- ## Arm AFK once
7
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
8
+ - `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
9
+ - `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
10
+ - `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
11
+ <!-- END RESLICE ROUTE-TO-ACTION -->
7
12
 
8
- Arm the gate policy up front without mutating it later:
13
+ ## Arm AFK once
9
14
 
10
15
  ```yaml
11
- allow_gates: [advisory] # only advisory auto-handles; validating+ pause
12
- # notify: "<cmd>" # optional — fired on any awaiting_human pause
13
- # max_slices: <N> # include only for an explicit/configured cap
16
+ allow_gates: [advisory]
17
+ max_slices: 10
18
+ max_agents: 32
19
+ max_minutes: 120
20
+ max_review_queue: 8
21
+ expires_at: "<now + 4 hours>"
22
+ # max_tokens: <N>
23
+ # max_cost_usd: <amount>
24
+ # notify: "<cmd>"
14
25
  ```
15
26
 
16
- Read an existing sentinel first. Preserve it byte-for-byte when valid; stop if its gate
17
- ceiling exceeds `advisory` or its `max_slices` conflicts with the invocation. If absent,
18
- write it once after clarity with `allow_gates: [advisory]` and an explicit
19
- `--max-slices N` only when supplied. The sentinel is read-only: never rewrite it after
20
- `$rite-vet` to inject a discovered plan count.
27
+ Read an existing sentinel first. Preserve it byte-for-byte when valid; stop if
28
+ its gate ceiling exceeds advisory, required envelope is malformed/expired, or
29
+ `max_slices` conflicts with the invocation. If absent, write it once after
30
+ clarity, replacing the safe slice default only for explicit `--max-slices N`
31
+ and resolving one absolute UTC expiry. It is read-only: never rewrite it after
32
+ Vet or reset it on resume.
21
33
 
22
34
  ### Derive the mutable post-vet budget
23
35
 
24
- After `$rite-vet`, count remaining pending slices and derive the run budget as the
25
- minimum of that count, an explicit `--max-slices`, and a configured sentinel cap. Before
26
- the first build dispatch, pre-seed `state.md` `afk_slices_remaining` when absent. If a
27
- valid remaining counter already exists, retain the lower of it and the derived budget;
28
- never increase or reinitialize it. This keeps the crash-survivable budget in its mutable owner
29
- without changing AFK configuration mid-run.
30
-
31
- `allow_gates: [advisory]` prevents an open `gate: validating` from being queued until
32
- seal, where it would force NO-GO under `afk-hitl.md`. Autocomplete pauses on it instead. Widen
33
- `allow_gates` only outside autocomplete through an explicit human configuration change;
34
- autocomplete itself never widens the ceiling.
35
-
36
- ## Drive the phases
37
-
38
- Read each phase's `SKILL.md` and execute that workflow. Workspace files such as
39
- `state.md`, `tasks.md`, and `evidence.md` carry state between phases; chat does not.
40
-
41
- | Step | Phase | Loop / gate |
42
- |---|---|---|
43
- | 1 | `$rite-spec` | interactive window: investigate, feed intent answers, write `spec.md` |
44
- | 2 | `$rite-clarify` | same interactive window: topology-first scan; write `decision-coverage.md`; proceed only on `CLEAR`, then arm AFK |
45
- | 3 | `$rite-temper` | significance-gated strategic review; harden spec + write `strategy.md`. Skip low-stakes specs in one line. AFK: `hold-rigor` / `reduce-to-MVP` auto-apply; **any `expand` pauses (blocking)**; irreversible-risk pauses |
46
- | 4 | `$rite-define` | reads `decision-coverage.md` + `strategy.md`; writes `plan.md` + `tasks.md`; records `Plan approved` |
47
- | 5 | `$rite-vet` | engineering/readiness review on **every** plan (light pass on simple plans, full on big/risky; never skipped); harden `plan.md` / `tasks.md` + write `eng-review.md` (`Implementation readiness: READY`) + `test-plan.md`. AFK: hardening / coverage findings auto-apply; **any scope-growing / acceptance-changing finding pauses (blocking)**; irreversible-risk pauses. Derive and pre-seed the state-owned slice budget after this (vet may split a slice); never rewrite the AFK sentinel |
48
- | 6 | `$rite-build` ×N | **loop** while any slice is `pending`; build one, then let the root charge exactly one budget unit with the built-state record. Zero ⇒ STOP before another dispatch. |
49
- | 7 | `$rite-prove` | once all slices `built`; walks `test-plan.md`; on failure → `devrites-debug-recovery` within scope |
50
- | 8 | `$rite-polish` | re-verify after code edits (evidence must stay fresh) |
51
- | 9 | `$rite-review` | apply in-scope fixes; re-prove if code changed |
52
- | 10 | `$rite-seal` | GO/NO-GO decision (no git here) |
53
- | 11 | `$rite-ship` | only if seal GO; `--ship` / `--yolo` never authorizes Git and only continues to the exact-plan literal-GO/native-approval boundary |
36
+ After Vet, count pending slices and take the minimum of that count, explicit
37
+ flag, and sentinel cap. Before first Build, seed absent state-owned
38
+ `afk_slices_remaining`; retain the lower valid existing value and never increase
39
+ or reinitialize it. AFK configuration itself stays unchanged.
40
+
41
+ ### Admit each unattended cycle
42
+
43
+ Before every phase, review fan-out, recovery, or writer dispatch, apply
44
+ `afk-hitl.md#unattended-resource-envelope`: cheapest current-state/readiness
45
+ check first; reject overlap; count unresolved review; check expiry and native
46
+ agent/token/cost/time headroom. Count every leaf result. At the review cap, only
47
+ reconciliation that reduces the queue may run. Any reached or unobservable
48
+ bound stops before more work and persists the winning reason. A new activation
49
+ gets fresh activation-local counters but retains durable slice/recovery state,
50
+ expiry, and recomputed queue.
51
+
52
+ `allow_gates: [advisory]` means validating gates pause now rather than becoming
53
+ Seal NO-GO. Only explicit human configuration outside Autocomplete may widen it.
54
+
55
+ ## Phase arc
56
+
57
+ Workspace files carry state; chat does not. Read and execute each phase skill:
58
+
59
+ | Step | Phase | Completion / edge |
60
+ | --- | --- | --- |
61
+ | 1 | `$rite-spec` | investigate and write testable intent |
62
+ | 2 | `$rite-clarify` | topology-first scan; require `Decision coverage: CLEAR`, then arm AFK |
63
+ | 3 | `$rite-temper` | harden or reduce; expansion and irreversible risk pause |
64
+ | 4 | `$rite-define` | approved plan/tasks/traceability |
65
+ | 5 | `$rite-vet` | every plan; derive mutable budget after READY |
66
+ | 6 | `$rite-build` ×N | one pending slice per wright; charge once only after green built state |
67
+ | 7 | `$rite-prove` | all slices built; approved proof; recovery on red |
68
+ | 8 | `$rite-polish` | re-prove after code edits |
69
+ | 9 | `$rite-review` | in-scope correction then fresh proof |
70
+ | 10 | `$rite-seal` | GO/NO-GO; no Git |
71
+ | 11 | `$rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
72
+
73
+ Before advancing, check resource admission and
74
+ [stop-conditions.md](stop-conditions.md). After source edits, discard stale pass
75
+ evidence. Re-read the active workspace before each phase.
54
76
 
55
77
  ## Backtrack without handing off
56
78
 
57
- When a later phase finds an agent-owned technical gap in an earlier phase, the
58
- Autocomplete root remains the caller:
59
-
60
- On cold resume, reconcile the terminal cursor against durable fingerprint
61
- accounting first. A retained distinct fingerprint with fewer than three
62
- no-progress corrections is unfinished recovery, not an unchanged terminal stop.
63
- Restore `return_phase` from the current phase and `return_next_action` only from
64
- the exact approved action recorded in `test-plan.md` / evidence; ambiguity returns
65
- to the applicable Vet contract and never licenses execution.
66
-
67
- Also reconcile a **stale writer-exhaustion cursor** against
68
- `workflow-artifacts.md`. When exact Vet-ready workflow-artifact paths and behavior
69
- exist, the old attempts only targeted the read-only drafter/reviewer or product
70
- wright, and there is **no controlling-root materialization attempt**, supported
71
- root ownership is a changed routing condition. Preserve the old fingerprint,
72
- record the new materialization fingerprint, and run that offline branch directly;
73
- do not charge or require product-slice/AFK budget, re-ask a resolved question, or
74
- request GO. Once a root materialization attempt exists, never apply this migration
75
- again—route its observed failure normally. That one-time migration
76
- does not make the first root attempt terminal: record it as attempt one under the new
77
- materializer fingerprint and continue bounded offline correction while fewer than
78
- three no-progress corrections exist. This reconciliation runs even when all
79
- product slices are already built, before selecting the next forward phase.
80
-
81
- 1. Save the originating phase/action in the native return cursor unless a valid
82
- one already exists.
83
- 2. Invoke the required repair, Vet, remediation, and proof skills inline. After
84
- Plan repair, run Vet in its recovery mode as a narrow Vet recheck of the prior
85
- findings, changed paths/criteria, and affected evidence; do not restart a Full
86
- Vet over unchanged axes. Their
87
- `STOP` instructions end only those nested phases.
88
- 3. Re-read `state.md` after each nested phase and follow its intermediate
89
- `next_action`; do not hand the intermediate command to the user.
90
- 4. Reconcile each exact causal fingerprint from `drift.md` and `evidence.md`.
91
- Continue automatically when the recheck closes a prior fingerprint or admits
92
- a genuinely new Critical/Important fingerprint. Charge only a no-progress
93
- outcome against the same fingerprint; lower-severity novelty cannot prolong
94
- the chain.
95
- For a failed consumptive action, its spent authorization blocks only another
96
- real execution. A retained artifact that identifies a new fingerprint is the
97
- offline reproduction input: diagnose, repair, and narrow-Vet it now, then pause
98
- for fresh authorization before any next consumptive execution.
99
- 5. When the prerequisite chain is green, restore and consume the return cursor,
100
- resume the originating phase, and continue the forward table.
101
-
102
- Count failed corrections by causal fingerprint under `afk-hitl.md`. Ask only
103
- for a human-owned decision or mandatory safety/access action. Exhausted
104
- agent-owned recovery stops once with its reproduction and dead ends, never with
105
- another routine Plan/Vet command.
79
+ The active Autocomplete root remains caller whenever a later phase exposes an
80
+ agent-owned earlier-phase gap:
81
+
82
+ 1. Save the originating phase/action unless a valid native return cursor exists.
83
+ 2. On cold resume, reconcile the terminal cursor against durable fingerprint
84
+ accounting. Restore `return_next_action` only from the approved
85
+ `test-plan.md`/evidence action; ambiguity returns to Vet and never licenses
86
+ execution.
87
+ 3. Invoke required Plan repair, affected Vet, remediation, and proof inline.
88
+ Recovery Vet is a narrow Vet recheck of prior findings, changed paths/criteria,
89
+ and affected evidence; it never restarts unaffected axes. A nested `STOP`
90
+ ends that phase only; do not hand the intermediate command to the user.
91
+ 4. Re-read state after each nested phase. Reconcile exact causal fingerprints
92
+ from `drift.md`/`evidence.md`. A closed reproduction is progress. A different
93
+ Critical/Important invariant gets a separate budget; Suggestion/Nit/FYI does
94
+ not prolong the chain. Only a no-progress result charges the same fingerprint.
95
+ 5. For failed consumptive action, spent authorization blocks only another real
96
+ execution. Use retained evidence for offline diagnosis, repair, and narrow
97
+ Vet; after READY, pause for fresh authorization.
98
+ 6. Restore and consume the original cursor when prerequisites are green.
99
+
100
+ <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
101
+ Ask only for a human-owned decision or mandatory safety/access action. Three
102
+ no-progress corrections of one exact fingerprint exhaust; preserve its
103
+ reproduction and dead ends without another Plan/Vet command.
106
104
 
107
105
  ## Continuous caller obligation
108
106
 
109
- No user-facing reply is permitted while the durable state contains an
110
- agent-owned `NEEDS_REPLAN`, an intermediate Plan/Vet `next_action`, or a distinct
111
- Critical/Important fingerprint with remaining recovery budget. Invoke the exact
112
- next Plan repair and Recovery Vet immediately. A narrow reviewer closing its input
113
- finding and exposing another Critical/Important invariant is progress: close the
114
- old fingerprint, open the new one, and continue without handing a command to the
115
- user.
116
-
117
- The number of completed repair/Vet cycles is not a stop condition and cannot be
118
- used as a surrogate recovery budget. Only three no-progress corrections of the
119
- same exact fingerprint exhaust. Context pressure, compaction, session duration,
120
- or a nested skill's completion footer also cannot convert an internal checkpoint
121
- into a stop; persist the checkpoint and resume from it inside the same controlling
122
- invocation. Autocomplete may emit its final reply only after reaching its requested
123
- rest point or one of the shared human/safety/access/exhaustion stop conditions.
124
-
125
- ## Between phases
126
-
127
- - Re-read the active workspace before each phase (don't trust chat memory).
128
- - After a phase that edits code (build, polish, review), evidence may be stale: let
129
- the next gate re-prove rather than carrying a stale pass (see
130
- `.agents/skills/devrites-lib/reference/standards/development-workflow.md`).
131
- - Check [stop-conditions.md](stop-conditions.md) at every gate **before** advancing.
107
+ No user-facing reply is permitted while durable state contains agent-owned
108
+ `NEEDS_REPLAN`, an intermediate Plan/Vet action, or a distinct retained
109
+ Critical/Important fingerprint below its cap. Invoke the next internal repair
110
+ immediately. A narrow reviewer closing one finding and exposing another
111
+ Critical/Important invariant is progress, not exhaustion.
112
+
113
+ The number of completed repair/Vet cycles is not a stop condition. Context
114
+ pressure, compaction, session duration, and nested completion do not convert an
115
+ internal checkpoint into a handoff. Persist it and resume until the requested
116
+ rest point or a shared human/safety/access/exhaustion condition.