devrites 7.1.2 → 7.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 (296) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +9 -4
  3. package/docs/dsh.md +46 -0
  4. package/engine/internal/devritespaths/paths.go +2 -0
  5. package/engine/internal/hostpack/hostpack.go +29 -5
  6. package/engine/internal/install/apply.go +14 -2
  7. package/engine/internal/install/install.go +7 -3
  8. package/engine/internal/install/merge.go +1 -0
  9. package/engine/internal/install/preflight.go +9 -2
  10. package/engine/internal/install/update.go +1 -1
  11. package/engine/internal/lib/dispatch_packet.go +1 -1
  12. package/pack/generated/README.md +3 -1
  13. package/pack/generated/dsh/AGENTS.md +20 -0
  14. package/pack/generated/dsh/agents/devrites-code-reviewer.md +180 -0
  15. package/pack/generated/dsh/agents/devrites-devex-reviewer.md +137 -0
  16. package/pack/generated/dsh/agents/devrites-doubt-reviewer.md +100 -0
  17. package/pack/generated/dsh/agents/devrites-evidence-scout.md +93 -0
  18. package/pack/generated/dsh/agents/devrites-frontend-reviewer.md +139 -0
  19. package/pack/generated/dsh/agents/devrites-performance-reviewer.md +142 -0
  20. package/pack/generated/dsh/agents/devrites-plan-drafter.md +113 -0
  21. package/pack/generated/dsh/agents/devrites-plan-reviewer.md +167 -0
  22. package/pack/generated/dsh/agents/devrites-proof-runner.md +101 -0
  23. package/pack/generated/dsh/agents/devrites-retrospector.md +82 -0
  24. package/pack/generated/dsh/agents/devrites-security-auditor.md +146 -0
  25. package/pack/generated/dsh/agents/devrites-simplifier-reviewer.md +113 -0
  26. package/pack/generated/dsh/agents/devrites-slice-wright.md +240 -0
  27. package/pack/generated/dsh/agents/devrites-spec-reviewer.md +105 -0
  28. package/pack/generated/dsh/agents/devrites-strategy-reviewer.md +109 -0
  29. package/pack/generated/dsh/agents/devrites-test-analyst.md +110 -0
  30. package/pack/generated/dsh/agents/devrites-upgrade-planner.md +107 -0
  31. package/pack/generated/dsh/agents/fast-builder.md +92 -0
  32. package/pack/generated/dsh/agents/fast-checker.md +61 -0
  33. package/pack/generated/dsh/agents/fast-critic.md +71 -0
  34. package/pack/generated/dsh/agents/fast-planner.md +95 -0
  35. package/pack/generated/dsh/agents/overhaul-backend-engineer.md +70 -0
  36. package/pack/generated/dsh/agents/overhaul-boundary.md +64 -0
  37. package/pack/generated/dsh/agents/overhaul-craft.md +85 -0
  38. package/pack/generated/dsh/agents/overhaul-frontend-engineer.md +73 -0
  39. package/pack/generated/dsh/agents/overhaul-implementer.md +72 -0
  40. package/pack/generated/dsh/agents/overhaul-recon.md +77 -0
  41. package/pack/generated/dsh/agents/overhaul-specialist.md +67 -0
  42. package/pack/generated/dsh/agents/overhaul-verifier.md +73 -0
  43. package/pack/generated/dsh/runtime/cordis.patch.yml +1450 -0
  44. package/pack/generated/dsh/runtime/specialist.mjs +62 -0
  45. package/pack/generated/dsh/skills/devrites-api-interface/SKILL.md +65 -0
  46. package/pack/generated/dsh/skills/devrites-audit/SKILL.md +60 -0
  47. package/pack/generated/dsh/skills/devrites-browser-proof/SKILL.md +109 -0
  48. package/pack/generated/dsh/skills/devrites-browser-proof/reference/browser-performance.md +19 -0
  49. package/pack/generated/dsh/skills/devrites-browser-proof/reference/visual-verdict.md +38 -0
  50. package/pack/generated/dsh/skills/devrites-debug-recovery/SKILL.md +119 -0
  51. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  52. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +41 -0
  53. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/hypotheses.md +23 -0
  54. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  55. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/regression-test.md +33 -0
  56. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/trace.md +25 -0
  57. package/pack/generated/dsh/skills/devrites-doubt/SKILL.md +83 -0
  58. package/pack/generated/dsh/skills/devrites-frontend-craft/SKILL.md +89 -0
  59. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/craft.md +63 -0
  60. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/design-references.md +120 -0
  61. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  62. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/quality-standards.md +286 -0
  63. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  64. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/shape.md +61 -0
  65. package/pack/generated/dsh/skills/devrites-interview/SKILL.md +107 -0
  66. package/pack/generated/dsh/skills/devrites-lib/SKILL.md +98 -0
  67. package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +59 -0
  68. package/pack/generated/dsh/skills/devrites-lib/reference/intent-map.md +86 -0
  69. package/pack/generated/dsh/skills/devrites-lib/reference/orchestration-profiles.md +48 -0
  70. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +184 -0
  71. package/pack/generated/dsh/skills/devrites-lib/reference/reply-contract.md +123 -0
  72. package/pack/generated/dsh/skills/devrites-lib/reference/standards/README.md +70 -0
  73. package/pack/generated/dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
  74. package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +467 -0
  75. package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +231 -0
  76. package/pack/generated/dsh/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
  77. package/pack/generated/dsh/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  78. package/pack/generated/dsh/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  79. package/pack/generated/dsh/skills/devrites-lib/reference/standards/audit-coverage.md +107 -0
  80. package/pack/generated/dsh/skills/devrites-lib/reference/standards/browser-proof-checklist.md +37 -0
  81. package/pack/generated/dsh/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
  82. package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-index.md +111 -0
  83. package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-navigation.md +69 -0
  84. package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-review.md +178 -0
  85. package/pack/generated/dsh/skills/devrites-lib/reference/standards/coding-style.md +53 -0
  86. package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +136 -0
  87. package/pack/generated/dsh/skills/devrites-lib/reference/standards/core.md +202 -0
  88. package/pack/generated/dsh/skills/devrites-lib/reference/standards/data-integrity.md +144 -0
  89. package/pack/generated/dsh/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
  90. package/pack/generated/dsh/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
  91. package/pack/generated/dsh/skills/devrites-lib/reference/standards/deprecation.md +49 -0
  92. package/pack/generated/dsh/skills/devrites-lib/reference/standards/developer-experience.md +128 -0
  93. package/pack/generated/dsh/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
  94. package/pack/generated/dsh/skills/devrites-lib/reference/standards/documentation.md +55 -0
  95. package/pack/generated/dsh/skills/devrites-lib/reference/standards/duplicate-code.md +129 -0
  96. package/pack/generated/dsh/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
  97. package/pack/generated/dsh/skills/devrites-lib/reference/standards/elicitation.md +114 -0
  98. package/pack/generated/dsh/skills/devrites-lib/reference/standards/error-handling.md +49 -0
  99. package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +159 -0
  100. package/pack/generated/dsh/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
  101. package/pack/generated/dsh/skills/devrites-lib/reference/standards/glossary.md +40 -0
  102. package/pack/generated/dsh/skills/devrites-lib/reference/standards/hooks.md +41 -0
  103. package/pack/generated/dsh/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
  104. package/pack/generated/dsh/skills/devrites-lib/reference/standards/loop-operations.md +123 -0
  105. package/pack/generated/dsh/skills/devrites-lib/reference/standards/observability.md +90 -0
  106. package/pack/generated/dsh/skills/devrites-lib/reference/standards/one-shot-actions.md +105 -0
  107. package/pack/generated/dsh/skills/devrites-lib/reference/standards/patterns.md +70 -0
  108. package/pack/generated/dsh/skills/devrites-lib/reference/standards/performance.md +88 -0
  109. package/pack/generated/dsh/skills/devrites-lib/reference/standards/principles.md +56 -0
  110. package/pack/generated/dsh/skills/devrites-lib/reference/standards/prose-style.md +127 -0
  111. package/pack/generated/dsh/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
  112. package/pack/generated/dsh/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
  113. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/README.md +28 -0
  114. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  115. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/default.md +42 -0
  116. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/go.md +47 -0
  117. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/python.md +46 -0
  118. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/react.md +55 -0
  119. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  120. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  121. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ts-js.md +74 -0
  122. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
  123. package/pack/generated/dsh/skills/devrites-lib/reference/standards/security-checklist.md +30 -0
  124. package/pack/generated/dsh/skills/devrites-lib/reference/standards/security.md +283 -0
  125. package/pack/generated/dsh/skills/devrites-lib/reference/standards/skill-authoring.md +269 -0
  126. package/pack/generated/dsh/skills/devrites-lib/reference/standards/spec-grammar.md +214 -0
  127. package/pack/generated/dsh/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
  128. package/pack/generated/dsh/skills/devrites-lib/reference/standards/testing.md +295 -0
  129. package/pack/generated/dsh/skills/devrites-lib/reference/standards/tooling.md +125 -0
  130. package/pack/generated/dsh/skills/devrites-lib/reference/standards/verification-methods.md +143 -0
  131. package/pack/generated/dsh/skills/devrites-lib/reference/standards/windows.md +60 -0
  132. package/pack/generated/dsh/skills/devrites-lib/reference/standards/workflow-artifacts.md +435 -0
  133. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  134. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  135. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  136. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  137. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  138. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  139. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  140. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  141. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  142. package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +312 -0
  143. package/pack/generated/dsh/skills/devrites-prose-craft/SKILL.md +81 -0
  144. package/pack/generated/dsh/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  145. package/pack/generated/dsh/skills/devrites-prose-craft/reference/examples.md +136 -0
  146. package/pack/generated/dsh/skills/devrites-prose-craft/reference/structures.md +196 -0
  147. package/pack/generated/dsh/skills/devrites-source-driven/SKILL.md +54 -0
  148. package/pack/generated/dsh/skills/devrites-ux-shape/SKILL.md +135 -0
  149. package/pack/generated/dsh/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  150. package/pack/generated/dsh/skills/devrites-ux-shape/reference/visual-direction-probe.md +50 -0
  151. package/pack/generated/dsh/skills/overhaul/SKILL.md +221 -0
  152. package/pack/generated/dsh/skills/overhaul/references/audit-domains.md +390 -0
  153. package/pack/generated/dsh/skills/overhaul/references/lifecycle.md +314 -0
  154. package/pack/generated/dsh/skills/overhaul/references/orchestration.md +291 -0
  155. package/pack/generated/dsh/skills/overhaul/references/records.md +203 -0
  156. package/pack/generated/dsh/skills/overhaul/references/repair-and-measurement.md +310 -0
  157. package/pack/generated/dsh/skills/overhaul/references/review-and-report.md +139 -0
  158. package/pack/generated/dsh/skills/overhaul/references/scope-and-safety.md +233 -0
  159. package/pack/generated/dsh/skills/overhaul/references/scoring.md +261 -0
  160. package/pack/generated/dsh/skills/overhaul/references/stack-profiles.md +316 -0
  161. package/pack/generated/dsh/skills/rite/SKILL.md +157 -0
  162. package/pack/generated/dsh/skills/rite/reference/menu.md +49 -0
  163. package/pack/generated/dsh/skills/rite-adopt/SKILL.md +64 -0
  164. package/pack/generated/dsh/skills/rite-adopt/reference/adoption.md +25 -0
  165. package/pack/generated/dsh/skills/rite-adopt/reference/anti-patterns.md +19 -0
  166. package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +167 -0
  167. package/pack/generated/dsh/skills/rite-autocomplete/reference/decision-policy.md +44 -0
  168. package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +50 -0
  169. package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +164 -0
  170. package/pack/generated/dsh/skills/rite-autocomplete/reference/stop-conditions.md +118 -0
  171. package/pack/generated/dsh/skills/rite-build/SKILL.md +126 -0
  172. package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +153 -0
  173. package/pack/generated/dsh/skills/rite-build/reference/anti-patterns.md +27 -0
  174. package/pack/generated/dsh/skills/rite-build/reference/checkpoint-protocol.md +115 -0
  175. package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +79 -0
  176. package/pack/generated/dsh/skills/rite-build/reference/frontend-trigger.md +39 -0
  177. package/pack/generated/dsh/skills/rite-build/reference/one-slice-cycle.md +57 -0
  178. package/pack/generated/dsh/skills/rite-build/reference/output.md +29 -0
  179. package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +260 -0
  180. package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +130 -0
  181. package/pack/generated/dsh/skills/rite-build/reference/spec-drift-guard.md +91 -0
  182. package/pack/generated/dsh/skills/rite-build/reference/tdd.md +27 -0
  183. package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +198 -0
  184. package/pack/generated/dsh/skills/rite-clarify/SKILL.md +104 -0
  185. package/pack/generated/dsh/skills/rite-clarify/reference/anti-patterns.md +24 -0
  186. package/pack/generated/dsh/skills/rite-clarify/reference/decision-coverage.md +56 -0
  187. package/pack/generated/dsh/skills/rite-converge/SKILL.md +167 -0
  188. package/pack/generated/dsh/skills/rite-converge/reference/anti-patterns.md +35 -0
  189. package/pack/generated/dsh/skills/rite-converge/reference/convergence-assessment.md +70 -0
  190. package/pack/generated/dsh/skills/rite-customize/SKILL.md +64 -0
  191. package/pack/generated/dsh/skills/rite-define/SKILL.md +203 -0
  192. package/pack/generated/dsh/skills/rite-define/reference/anti-patterns.md +26 -0
  193. package/pack/generated/dsh/skills/rite-define/reference/gates.md +160 -0
  194. package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +153 -0
  195. package/pack/generated/dsh/skills/rite-doctor/SKILL.md +107 -0
  196. package/pack/generated/dsh/skills/rite-dogfood/SKILL.md +57 -0
  197. package/pack/generated/dsh/skills/rite-explain/SKILL.md +154 -0
  198. package/pack/generated/dsh/skills/rite-explain/reference/intake.md +89 -0
  199. package/pack/generated/dsh/skills/rite-fast/SKILL.md +185 -0
  200. package/pack/generated/dsh/skills/rite-fast/reference/artifacts.md +107 -0
  201. package/pack/generated/dsh/skills/rite-fast/reference/check-and-triage.md +51 -0
  202. package/pack/generated/dsh/skills/rite-frame/SKILL.md +119 -0
  203. package/pack/generated/dsh/skills/rite-frame/reference/failure-modes.md +66 -0
  204. package/pack/generated/dsh/skills/rite-handoff/SKILL.md +117 -0
  205. package/pack/generated/dsh/skills/rite-handoff/reference/handoff-template.md +56 -0
  206. package/pack/generated/dsh/skills/rite-harness/SKILL.md +76 -0
  207. package/pack/generated/dsh/skills/rite-harness/reference/feature-map.md +60 -0
  208. package/pack/generated/dsh/skills/rite-learn/SKILL.md +107 -0
  209. package/pack/generated/dsh/skills/rite-plan/SKILL.md +215 -0
  210. package/pack/generated/dsh/skills/rite-plan/reference/anti-patterns.md +34 -0
  211. package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +48 -0
  212. package/pack/generated/dsh/skills/rite-plan/reference/replan-and-repair.md +114 -0
  213. package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +187 -0
  214. package/pack/generated/dsh/skills/rite-plan/reference/task-breakdown.md +50 -0
  215. package/pack/generated/dsh/skills/rite-polish/SKILL.md +128 -0
  216. package/pack/generated/dsh/skills/rite-polish/reference/adr-promotion.md +11 -0
  217. package/pack/generated/dsh/skills/rite-polish/reference/anti-ai-slop.md +210 -0
  218. package/pack/generated/dsh/skills/rite-polish/reference/anti-patterns.md +30 -0
  219. package/pack/generated/dsh/skills/rite-polish/reference/backend-polish.md +80 -0
  220. package/pack/generated/dsh/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  221. package/pack/generated/dsh/skills/rite-polish/reference/code.md +87 -0
  222. package/pack/generated/dsh/skills/rite-polish/reference/design-memory.md +117 -0
  223. package/pack/generated/dsh/skills/rite-polish/reference/design-system-discovery.md +8 -0
  224. package/pack/generated/dsh/skills/rite-polish/reference/harden-checklist.md +110 -0
  225. package/pack/generated/dsh/skills/rite-polish/reference/ledger.md +67 -0
  226. package/pack/generated/dsh/skills/rite-polish/reference/ui.md +146 -0
  227. package/pack/generated/dsh/skills/rite-pov/SKILL.md +71 -0
  228. package/pack/generated/dsh/skills/rite-pr-feedback/SKILL.md +61 -0
  229. package/pack/generated/dsh/skills/rite-pressure-test/SKILL.md +76 -0
  230. package/pack/generated/dsh/skills/rite-prototype/SKILL.md +106 -0
  231. package/pack/generated/dsh/skills/rite-prove/SKILL.md +151 -0
  232. package/pack/generated/dsh/skills/rite-prove/reference/acceptance-proof.md +88 -0
  233. package/pack/generated/dsh/skills/rite-prove/reference/anti-patterns.md +25 -0
  234. package/pack/generated/dsh/skills/rite-prove/reference/browser-proof.md +51 -0
  235. package/pack/generated/dsh/skills/rite-prove/reference/failure-triage.md +53 -0
  236. package/pack/generated/dsh/skills/rite-prove/reference/proof-ladder.md +39 -0
  237. package/pack/generated/dsh/skills/rite-prove/reference/test-command-discovery.md +36 -0
  238. package/pack/generated/dsh/skills/rite-quick/SKILL.md +97 -0
  239. package/pack/generated/dsh/skills/rite-resolve/SKILL.md +113 -0
  240. package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +129 -0
  241. package/pack/generated/dsh/skills/rite-review/SKILL.md +190 -0
  242. package/pack/generated/dsh/skills/rite-review/reference/anti-patterns.md +32 -0
  243. package/pack/generated/dsh/skills/rite-review/reference/cognitive-load.md +90 -0
  244. package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +26 -0
  245. package/pack/generated/dsh/skills/rite-review/reference/five-axis-review.md +66 -0
  246. package/pack/generated/dsh/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  247. package/pack/generated/dsh/skills/rite-review/reference/performance-checklist.md +99 -0
  248. package/pack/generated/dsh/skills/rite-review/reference/performance-review.md +14 -0
  249. package/pack/generated/dsh/skills/rite-review/reference/security-review.md +44 -0
  250. package/pack/generated/dsh/skills/rite-seal/SKILL.md +99 -0
  251. package/pack/generated/dsh/skills/rite-seal/reference/anti-patterns.md +29 -0
  252. package/pack/generated/dsh/skills/rite-seal/reference/final-evidence.md +41 -0
  253. package/pack/generated/dsh/skills/rite-seal/reference/go-no-go.md +32 -0
  254. package/pack/generated/dsh/skills/rite-seal/reference/output.md +5 -0
  255. package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +56 -0
  256. package/pack/generated/dsh/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  257. package/pack/generated/dsh/skills/rite-seal/reference/seal-template.md +32 -0
  258. package/pack/generated/dsh/skills/rite-ship/SKILL.md +101 -0
  259. package/pack/generated/dsh/skills/rite-ship/reference/anti-patterns.md +28 -0
  260. package/pack/generated/dsh/skills/rite-ship/reference/close-out.md +69 -0
  261. package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +128 -0
  262. package/pack/generated/dsh/skills/rite-ship/reference/rollout.md +62 -0
  263. package/pack/generated/dsh/skills/rite-ship/reference/ship-template.md +40 -0
  264. package/pack/generated/dsh/skills/rite-spec/SKILL.md +169 -0
  265. package/pack/generated/dsh/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  266. package/pack/generated/dsh/skills/rite-spec/reference/ai-spec-template.md +40 -0
  267. package/pack/generated/dsh/skills/rite-spec/reference/anti-patterns.md +27 -0
  268. package/pack/generated/dsh/skills/rite-spec/reference/interview-patterns.md +56 -0
  269. package/pack/generated/dsh/skills/rite-spec/reference/investigation.md +83 -0
  270. package/pack/generated/dsh/skills/rite-spec/reference/question-protocol.md +36 -0
  271. package/pack/generated/dsh/skills/rite-spec/reference/references-intake.md +62 -0
  272. package/pack/generated/dsh/skills/rite-spec/reference/spec-checklists.md +89 -0
  273. package/pack/generated/dsh/skills/rite-spec/reference/spec-template.md +160 -0
  274. package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +240 -0
  275. package/pack/generated/dsh/skills/rite-status/SKILL.md +74 -0
  276. package/pack/generated/dsh/skills/rite-temper/SKILL.md +137 -0
  277. package/pack/generated/dsh/skills/rite-temper/reference/anti-patterns.md +30 -0
  278. package/pack/generated/dsh/skills/rite-temper/reference/review-dimensions.md +66 -0
  279. package/pack/generated/dsh/skills/rite-temper/reference/scope-modes.md +52 -0
  280. package/pack/generated/dsh/skills/rite-temper/reference/significance.md +55 -0
  281. package/pack/generated/dsh/skills/rite-temper/reference/strategy-template.md +101 -0
  282. package/pack/generated/dsh/skills/rite-upgrade/SKILL.md +142 -0
  283. package/pack/generated/dsh/skills/rite-vet/SKILL.md +242 -0
  284. package/pack/generated/dsh/skills/rite-vet/reference/anti-patterns.md +43 -0
  285. package/pack/generated/dsh/skills/rite-vet/reference/artifacts.md +248 -0
  286. package/pack/generated/dsh/skills/rite-vet/reference/cross-model.md +19 -0
  287. package/pack/generated/dsh/skills/rite-vet/reference/depth.md +59 -0
  288. package/pack/generated/dsh/skills/rite-vet/reference/eng-lenses.md +48 -0
  289. package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +210 -0
  290. package/pack/generated/dsh/skills/rite-watch-pr/SKILL.md +87 -0
  291. package/pack/generated/dsh/skills/rite-zoom-out/SKILL.md +76 -0
  292. package/package.json +3 -1
  293. package/scripts/build-host-artifacts.sh +6 -2
  294. package/scripts/dsh-generate.py +135 -0
  295. package/scripts/dsh-specialist.mjs +62 -0
  296. package/scripts/install-lib.sh +3 -1
@@ -0,0 +1,19 @@
1
+ # /rite-adopt: anti-patterns
2
+
3
+ Start with the universal table in [`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md).
4
+ Below are the rationalizations specific to onboarding an existing codebase.
5
+
6
+ ## Adoption-specific rationalizations
7
+
8
+ | Excuse | Rebuttal |
9
+ |---|---|
10
+ | "I'll improve this messy bit while I document it." | Adoption *documents* what exists; it changes nothing. A cleanup is the *next* feature through the normal lifecycle: recording it as a drive-by here hides the baseline and balloons the diff. |
11
+ | "This looks like the convention, so I'll seed it." | Seed only what the code *and consistently* follows. A guessed seed becomes a high-confidence-looking prior that steers the first slice wrong. Observe it in ≥2 places, with nonconforming sites counted per [`adoption.md`](adoption.md), or leave it out. |
12
+ | "I'll spec the ideal architecture, not the current one." | The spec's baseline is *current behavior*. Aspirations go in the next objective, not the baseline: otherwise every later slice drifts against a spec that never matched reality. |
13
+ | "Whole repo in one adopt." | Onboard the area you'll work in. A repo-wide adopt produces an unfocused spec and a ledger full of conventions no slice will touch. |
14
+
15
+ ## Red flags
16
+
17
+ - A seeded convention with no concrete code location behind it.
18
+ - `spec.md` describing behavior the code does **not** currently have (that's the next feature, not the baseline).
19
+ - Editing source during adoption: adoption writes `.devrites/` + the ledger, never project code.
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: rite-autocomplete
3
+ description: Run the full DevRites lifecycle unattended; --ship continues to the final Git approval boundary. Use for one-shot autonomous work; not for a single phase.
4
+ argument-hint: "[idea] [--ship|--yolo] [--max-slices N] [--parallel N] [--full] [--cross-model] [--lookahead]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/one-shot-actions.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/acceptance-preserving-reslice.md","rite-autocomplete/reference/decision-policy.md","rite-autocomplete/reference/loop.md","rite-autocomplete/reference/stop-conditions.md"],"triggers":{"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"],"lookahead":["rite-autocomplete/reference/lookahead.md"]},"workspace":["state.md","spec.md","plan.md","tasks.md","questions.md","decisions.md","drift.md","evidence.md","test-plan.md"],"rootOnly":["devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/workflow-artifacts.md","rite-autocomplete/reference/lookahead.md"]} -->
9
+ > Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase autocomplete` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
10
+
11
+
12
+ # /rite-autocomplete: full lifecycle, unattended
13
+
14
+ Run every phase after one clarification window. Irreversible-risk,
15
+ escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
16
+ access, unanswered blocking with no recommended option, and remaining NO-GO
17
+ still pause. Open blocking questions that already name a ranked recommended
18
+ option auto-resolve; they are not a user handoff, except a question whose answer
19
+ would add acceptance or product scope, which a recommended option never resolves.
20
+ Use the Standard native
21
+ profile by default and Full for high-risk scope or explicit `--full`; see
22
+ [`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
23
+
24
+ ## Required rules
25
+
26
+ Read [`core.md`](../devrites-lib/reference/standards/core.md) and [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md) first. Read
27
+ [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md) before any stop/continue or execution decision involving a
28
+ consumptive action. Before honoring a terminal cursor that names missing
29
+ executable controller/harness/bundle bytes or a missing writer, read
30
+ [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
31
+ (trigger `workflow-artifacts` — only when a workspace declares them). Before classifying any Reslice, read `.dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
32
+
33
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
34
+ - `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
35
+ - `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
36
+ - `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
37
+ <!-- END RESLICE ROUTE-TO-ACTION -->
38
+
39
+ ## Invariants
40
+
41
+ - Use one initial human window: Spec, topology-first Clarify, and
42
+ `Decision coverage: CLEAR`. Only then arm AFK. Record later reversible choices
43
+ under [decision policy](reference/decision-policy.md).
44
+ - Safety is not bypassable. `--ship`/`--yolo` reaches only the exact-plan
45
+ literal-GO and native-approval boundary; it never authorizes Git.
46
+ - **Treat technical readiness as routing, not completion.** `NEEDS REPLAN` is a backward edge
47
+ to Plan repair and narrow Vet. `NEEDS REPLAN` cold resume follows a valid
48
+ technical return cursor before forward work or any reply. Clarification is
49
+ likewise internal when current authority resolves it.
50
+ - Always follow agent-owned backward edges through repair, affected Vet,
51
+ correction, and proof. A nested `STOP`/`Next step` is not a user handoff.
52
+ Pause only for a shared human/safety/access condition.
53
+ - **Do not confuse an action budget with recovery exhaustion.** Spent action
54
+ authority blocks another real execution, not offline correction of retained
55
+ Critical/Important evidence. Stop for fresh GO only after changed conditions
56
+ and READY Vet.
57
+ - Every exact causal fingerprint gets three no-progress corrections per strategy.
58
+ A spent strategy escalates to a new correction class inline; after three
59
+ escalations it parks while independent work continues. Never ask permission to
60
+ retry. Closing one is progress; a distinct Critical/Important invariant has its
61
+ own budget. Lower severity cannot prolong recovery.
62
+ - Do not stop on `--max-slices`, sentinel `max_slices`, `max_agents`,
63
+ `max_minutes`, or `max_review_queue`. Count failed, malformed, and
64
+ unavailable leaf calls.
65
+ - Never end the turn with a progress note while a wave runs or a next step
66
+ exists: on a headless host a text-only reply ends the session and kills
67
+ running children. Wait with the host's wait tool and keep working; end only
68
+ at a recorded stop. A host reminder or rule notice (style rule, advisory) is
69
+ not a stop either: follow it in your next tool call, never in a text-only
70
+ acknowledgement.
71
+ - Parse flags only from this invocation. `--ship`, `--yolo`, `--max-slices`,
72
+ `--parallel`, `--full`, `--cross-model`, and `--lookahead` activate only as exact standalone
73
+ tokens in `$ARGUMENTS`; examples or earlier messages can never arm them.
74
+ `--max-slices` must occur once and be followed by a positive base-10 integer;
75
+ `--parallel` must occur once and be followed by a base-10 integer in `1`–`10`.
76
+ Missing, repeated, malformed, or conflicting values stop before any write.
77
+ - Temper always runs after Clarify. Auto-apply `hold-rigor`, `reduce-to-MVP` or a skip;
78
+ record the ADR and fold via Spec Drift Guard. `expand` and extra acceptance never
79
+ auto-apply: ask through `ask_user_question`, hold the fold, and stop until a human
80
+ resolves the qid. Irreversible-risk still pauses.
81
+ - Vet every plan. Cross-model is off unless the current invocation arms it.
82
+
83
+ ## Workflow
84
+
85
+ With `--lookahead` (trigger `lookahead`), follow
86
+ [`lookahead.md`](reference/lookahead.md) instead of the steps below: plan the
87
+ next sequence continuation through Vet in a second session, then stop.
88
+
89
+ 1. **Orient and parse.** Resolve the explicit or active slug; when a workspace exists,
90
+ require its `state.md` and read its cursor; a fresh idea starts empty at step 2.
91
+ Before honoring `blocked` with terminal `next_action`,
92
+ reconcile retained consumptive evidence and fingerprint attempts from
93
+ `drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
94
+ recovery, and this new invocation reopens each parked fingerprint.
95
+ <!-- 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"} -->
96
+ Reconstruct a missing return cursor only from
97
+ the current phase and exact approved action in `test-plan.md`/evidence, never
98
+ from chat. After compaction or a resumed session, always run `devrites-engine
99
+ handoff <slug> --resume` first (slug from `.devrites/ACTIVE`) and open only the
100
+ `read_next` artifacts it names, per [`context-hygiene.md`](../devrites-lib/reference/standards/context-hygiene.md) § Compaction fallback.
101
+ Normalize current arguments to idea, `ship_preflight: yes|no`,
102
+ `max_slices: unlimited`, `parallel: N|default`, `profile: standard|full`,
103
+ and `cross_model: yes|no`.
104
+ **Completion:** normalized state is unambiguous and no sentinel or workspace file has been written.
105
+ 2. **Specify and clarify.** Run `devrites-interview`, `/rite-spec`, and
106
+ `/rite-clarify` as one window. `open` material coverage never arms
107
+ AFK. **Completion:** `Decision coverage: CLEAR` is durable.
108
+ 3. **Arm AFK once.** Apply the loop's
109
+ [one-write AFK contract](reference/loop.md#arm-afk-once): preserve valid
110
+ existing bytes or create the sentinel once (`allow_gates: [advisory, validating]`); never
111
+ rewrite it after Vet except to write or replace only `max_parallel: N` when
112
+ this invocation contains `--parallel N`. Preserve an existing sentinel
113
+ byte-for-byte otherwise. **Failing case:** leftover `max_parallel: 1` keeps
114
+ the run serial after `--parallel 5`.
115
+ **Completion:** a valid read-only AFK sentinel exists.
116
+ 4. **Drive phases.** Follow [the loop](reference/loop.md): `/rite-spec` →
117
+ `/rite-clarify` → `/rite-temper` → `/rite-define` → `/rite-vet` →
118
+ `/rite-build` batch loop → `/rite-prove` → `/rite-polish` →
119
+ `/rite-review` → `/rite-seal`. Read and execute each skill; durable files, not
120
+ chat, carry state. Apply the mutable post-vet budget before first Build.
121
+ Build uses `parallel select --from-plan` (cap: explicit `--parallel N`, else
122
+ sentinel `max_parallel`, else 10), refilling per landing until none pending;
123
+ a one-slice round is serial for that round only; reselect afterward. Host
124
+ isolation may force serial. If `--parallel N` is explicit,
125
+ pass it into `/rite-build` and ignore leftover sentinel `max_parallel`.
126
+ Otherwise pass the resolved sentinel/default cap into `/rite-build` as
127
+ `--parallel N`, never bare `/rite-build`.
128
+ **Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
129
+ 5. **Apply stops.** At every gate use
130
+ [stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
131
+ route agent-owned red results through bounded recovery.
132
+ Red gates block forward advancement and enter caller-owned recovery. Stop on
133
+ hard risk, escalating, irreversible-risk, access, blocking with no
134
+ recommended option, remaining NO-GO, or parked fingerprints with no
135
+ independent work left. An open blocking question that already names a ranked recommended
136
+ option (`proposed` or option 1 labelled Recommended) auto-resolves through
137
+ `devrites-engine state resolve` and continues (a missing or failing resolver is
138
+ the bounded resolver-failure stop); do not emit `/rite-resolve` as
139
+ a user handoff. Exception: a question whose answer would add acceptance or
140
+ product scope is never auto-resolved by a recommended option; it stops for a human.
141
+ A spent strategy escalates; parked recovery records
142
+ `Next step: /rite-autocomplete`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
143
+ 6. **Seal boundary.** With or without a ship flag, leave intermediate sealed
144
+ workspaces unshipped and open the next recorded continuation
145
+ ([loop.md § Sequence continuation](reference/loop.md#sequence-continuation))
146
+ unless `continue_sequence: false`, the sequence budget is spent, or no entry
147
+ remains. At that boundary without a ship flag, stop at Seal GO with `/rite-ship`.
148
+ Report sequence position at every stop. Only at that boundary, with a ship flag, perform Ship preflight,
149
+ disclose the exact Git plan, and stop for fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
150
+
151
+ ## Reply and resume
152
+
153
+ HITL Build returns after one slice; Autocomplete ignores `--max-slices`, chaining
154
+ pending slices. Each Autocomplete invocation owns internal backtracking. Context pressure, compaction, or a nested completion footer does
155
+ not create a stop; persist and resume the cursor.
156
+
157
+ Reply only at final state: text-only turns end the run. Keep
158
+ calling tools after compaction or phase changes. Use one line:
159
+
160
+ ```text
161
+ Autocomplete: <slug>
162
+ spec <done|stopped> · clarify <clear|stopped> · temper <done|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>
163
+ ```
164
+
165
+ Final state: `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; no narrative
166
+ recap. Require clean or accepted baseline; land local unpushed checkpoints after
167
+ each green check; never auto-pass red gates.
@@ -0,0 +1,44 @@
1
+ # Decision policy: how autocomplete "chooses the best option"
2
+
3
+ Unattended ≠ careless. Every discretionary choice is made the way a senior engineer
4
+ would, then **recorded** so the seal can audit it. The difference from interactive mode
5
+ is only *who answers* a discretionary question, not whether it's reasoned.
6
+
7
+ Authority: `.dsh/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
+
15
+ ## The rule
16
+
17
+ For each non-trivial choice, pick the option the **relevant specialist favours**, and
18
+ write the choice + the one-line rationale to `decisions.md`. Do not coin-flip, and do
19
+ not pick the option that's merely easiest to implement.
20
+
21
+ | Choice type | Defer to | Then |
22
+ |---|---|---|
23
+ | Uncertain framework / library behaviour | `devrites-source-driven` (check the docs/source) | record the source in `evidence.md` |
24
+ | Risky boundary / data-model / API decision | `devrites-doubt` (+ `devrites-doubt-reviewer`) | record the trade-off in `decisions.md` |
25
+ | Cross-boundary contract (FE/BE split, API shape) | `devrites-api-interface` | contract-first slice |
26
+ | UI surface / states / a11y | `devrites-frontend-craft` | shape before code |
27
+ | Two reasonable designs, no clear winner | the simpler one that meets acceptance | note why in `decisions.md` |
28
+
29
+ ## Defaults autocomplete may assume (record them)
30
+
31
+ - Follow the project's existing conventions, components, and test commands: always.
32
+ - Prefer the smallest vertical slice that proves the acceptance criterion.
33
+ - Reuse → extend → build new, in that order ([`coding-style.md`](../../devrites-lib/reference/standards/coding-style.md)).
34
+ - When two options are equivalent on the evidence, choose the lower-risk / more
35
+ reversible one.
36
+
37
+ ## When a choice is NOT autocomplete's to make
38
+
39
+ Irreversible-risk, escalating, access, and blocking questions with no ranked
40
+ recommended option stay human. A blocking question that already names option 1
41
+ `(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
42
+ via `devrites-engine state resolve` and continue. Recommended temper
43
+ `expand` and extra acceptance are never auto-picked: they stop for a human through
44
+ `ask_user_question`; do not invent product intent.
@@ -0,0 +1,50 @@
1
+ # Sequence lookahead (`--lookahead`)
2
+
3
+ > Root-only: not inlined in --role bundles.
4
+
5
+ A second session plans the next sequence continuation while the active
6
+ workspace builds, so the child's Spec → Vet overlaps its predecessor's
7
+ Build → Seal. The main loop later resumes the planned child instead of
8
+ specifying it again.
9
+
10
+ ## Start and target
11
+
12
+ The operator starts the second host session with `/rite-autocomplete
13
+ --lookahead` once the `.devrites/ACTIVE` workspace is in Build or later. The
14
+ agent never launches a session itself. The target is the next recorded
15
+ continuation after the active workspace: the entry
16
+ [sequence continuation](loop.md#sequence-continuation) would open. Stop with
17
+ nothing to do when the active workspace is before Build, no entry remains,
18
+ `continue_sequence: false`, or the sequence budget is spent.
19
+
20
+ ## Lease
21
+
22
+ Before any write, take the workspace lease:
23
+ `devrites-engine claim add --session lookahead-<target> --ttl 240 --workspace <target> --reason lookahead`.
24
+ Exit 3 means another session holds the target: stop. Re-add the lease with the
25
+ same session at each phase start, and release it with `devrites-engine claim
26
+ release` on every stop. A crashed session's lease reads `dead` and frees itself.
27
+
28
+ ## Rules
29
+
30
+ - Never read or write `.devrites/ACTIVE`. Pass the target slug explicitly to every
31
+ skill and engine command, including `/rite-spec <target> "<objective>"` and
32
+ `devrites-engine handoff <target> --resume`.
33
+ - After the workspace exists, run `devrites-engine state set <target> sequence_lookahead=yes`.
34
+ - Run Spec → Clarify → Temper → Define → Plan → Vet as the main loop does.
35
+ Define and Plan read the predecessor's current tree and plan. Record an
36
+ assumption for each predecessor interface the plan relies on.
37
+ - At Vet, beside the readiness binding, record exactly one line
38
+ `Predecessor readiness: <active-slug> <digest>` in `eng-review.md`. `<digest>`
39
+ is the hex that `devrites-engine check readiness --emit-binding <active-slug>`
40
+ prints. When the predecessor later changes its planning inputs, the child's
41
+ readiness check blocks with `DRV-GATE-READINESS-STALE` and the main loop
42
+ re-vets the child before Build.
43
+ - Never Build, never write product source or tests, never commit, and never
44
+ arm or rewrite `.devrites/AFK`. Owner questions go to the target's
45
+ `questions.md` and stop the lookahead.
46
+ - Stop at Vet `READY` with `next_action: build after predecessor Seal GO`, at a
47
+ human gate, or when the target's lease is lost.
48
+
49
+ **Failing case:** the lookahead passes Vet and starts Build while the
50
+ predecessor is still sealing, so two root sessions write one tree.
@@ -0,0 +1,164 @@
1
+ # The autocomplete loop: arm AFK, drive every phase
2
+
3
+ Autocomplete chains existing `/rite-*` workflows without routine-phase pauses. Acceptance-preserving Reslice authority is
4
+ `.dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
5
+
6
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
7
+ - `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
8
+ - `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
9
+ - `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
10
+ <!-- END RESLICE ROUTE-TO-ACTION -->
11
+
12
+ ## Arm AFK once
13
+
14
+ ```yaml
15
+ allow_gates: [advisory, validating]
16
+ # max_slices / max_agents / max_minutes / max_review_queue omitted: unlimited
17
+ # continue_sequence: false # opt out; default chains after Seal GO
18
+ # max_workspaces: 5 # sequence budget when chaining
19
+ # max_parallel: 10 # default cap when this invocation omits `--parallel N`; `--parallel N` wins and rewrites only this field
20
+ # max_tokens: <N>
21
+ # max_cost_usd: <amount>
22
+ # notify: "<cmd>"
23
+ ```
24
+
25
+ Read existing sentinel first. Preserve valid bytes, except
26
+ when this invocation contains `--parallel N`: then write or replace only
27
+ `max_parallel: N` and leave every other key unchanged. Stop if the sentinel is
28
+ malformed. Do not stop because it names `max_slices` / `max_agents` /
29
+ `max_minutes` / `max_review_queue` or only `[advisory]`. If absent, write it
30
+ once after clarity, and include `max_parallel: N` when that flag is present.
31
+ Never write `max_slices` from `--max-slices`. It is otherwise read-only: never rewrite it after Vet or reset it on resume. Leftover `expires_at` is ignored
32
+ and never rewritten. **Failing case:** leftover `max_parallel: 1` keeps the run
33
+ serial after `--parallel 5`.
34
+
35
+ ### Derive the mutable post-vet budget
36
+
37
+ After Vet, seed `afk_slices_remaining` from the pending count so every pending
38
+ slice can run. Ignore `--max-slices`, sentinel `max_slices`, and leftover
39
+ remaining. AFK configuration itself stays unchanged.
40
+
41
+ ### Admit each unattended cycle
42
+
43
+ Before each phase, review fan-out, recovery, or writer dispatch: cheapest
44
+ readiness check first; reject overlap. Do not stop on `max_agents`,
45
+ `max_minutes`, or `max_review_queue`. Count every leaf result. New activations reset activation-local counters, retaining durable slice/recovery state.
46
+
47
+ [Build return](../../rite-build/reference/output.md#caller-owned-continuation).
48
+ Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
49
+ and `--max-slices` stops. Agent-invented dispatch, wait, tool-call, or turn budgets are not stop conditions.
50
+ An explicit human request to pause or run only a bounded subset still wins.
51
+ Path collisions serialize work; they do not end the run.
52
+ Resolve ranked validating/blocking picks via `devrites-engine state resolve`;
53
+ never hand `/rite-resolve` to the user. Escalating, irreversible-risk, access, blocking
54
+ without recommendations, and Seal judgment (`slice: seal`) still pause.
55
+
56
+ ## Phase arc
57
+
58
+ Workspace files, not chat, carry state. Read/execute each phase skill:
59
+
60
+ | Step | Phase | Completion / edge |
61
+ | --- | --- | --- |
62
+ | 1 | `/rite-spec` | investigate and write testable intent |
63
+ | 2 | `/rite-clarify` | topology-first scan; require `Decision coverage: CLEAR`, then arm AFK |
64
+ | 3 | `/rite-temper` | harden or reduce; `expand` and extra acceptance stop for a human; irreversible risk still pauses |
65
+ | 4 | `/rite-define` | approved plan/tasks/traceability |
66
+ | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
67
+ | 6 | `/rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; serial if <2 eligible); refill per landing; charge once per landed slice |
68
+ | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
69
+ | 8 | `/rite-polish` | re-prove after code edits |
70
+ | 9 | `/rite-review` | in-scope correction then fresh proof |
71
+ | 10 | `/rite-seal` | GO/NO-GO; no Git |
72
+ | 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
73
+
74
+ Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
75
+ pass evidence after source edits. Re-read active workspace before each phase. On a cold resume or
76
+ new activation, run `devrites-engine check regression <slug>`: `BLOCKED` names a
77
+ durable fact lost since the last checkpoint — restore or route it through its
78
+ owning phase before continuing; `unproven` does not block. After each phase's
79
+ durable advance lands (green check loop, checkpoint commit), run
80
+ `devrites-engine check regression <slug> --update` to ratchet the progress
81
+ floor; `--update` never excuses an unreconciled regression.
82
+
83
+ ## Sequence continuation
84
+
85
+ Unless `continue_sequence: false`, while sequence budget remains
86
+ ([sentinel](../../devrites-lib/reference/standards/afk-hitl.md#sequence-continuation-continue_sequence-max_workspaces)),
87
+ step 10 does not end the run: leave the sealed workspace unshipped with its
88
+ `Next step: /rite-ship`, then invoke the next recorded continuation
89
+ (`/rite-spec <parent>-<n> "<objective>"` from the parent's `decisions.md` sequence)
90
+ and re-enter step 1. Spend one workspace per opened continuation.
91
+
92
+ For a child already planned by [lookahead](lookahead.md), do not re-specify.
93
+ Wait while `devrites-engine claim check --workspace <child>` exits 3 (live
94
+ lookahead), then set `.devrites/ACTIVE` to the child and resume its cursor at
95
+ step 1. A predecessor replan since its Vet blocks child readiness with
96
+ `DRV-GATE-READINESS-STALE`; route to `/rite-vet` before Build.
97
+
98
+ Before invoking a continuation, require durable `state.md`
99
+ `sequence_workspaces_remaining > 0`; if absent, first write
100
+ `max_workspaces - 1` and `sequence_position: 1`. `/rite-spec` seeds the child's sequence cursor at creation per the
101
+ [continuation contract](../../rite-plan/reference/slicing.md#continuation-workspaces);
102
+ verify the created child's `state.md`: `sequence_parent` = current slug,
103
+ `sequence_position` = parent position + 1,
104
+ `sequence_workspaces_remaining` = parent remaining − 1, and — when the recorded
105
+ entry is the sequence's release milestone — `sequence_role: release` (gates then
106
+ require the union manifest). On resume, re-seed missing child fields from its `brief.md` parent/position and
107
+ parent counter (same values, no second charge). No recorded parent/position
108
+ means no sequence membership: stop the chain.
109
+
110
+ Stop sequence continuation when: `continue_sequence: false`; no recorded next
111
+ entry (the final milestone); the `max_workspaces` cap is reached; or a genuine
112
+ human-owned, safety, access, or parked-recovery stop fires. `max_review_queue`
113
+ never stops Autocomplete; agent-owned Seal `NO-GO` enters recovery, not a handoff.
114
+ Intermediate sealed milestones continue without `--ship` and without Git mutation. On stop, report sequence position, sealed/unshipped workspaces, and
115
+ one release command (`/rite-autocomplete <release milestone> --ship`, or
116
+ `/rite-ship` for the current sealed workspace when the sequence is complete).
117
+
118
+ ## Backtrack without handing off
119
+
120
+ Autocomplete remains caller for agent-owned earlier-phase gaps:
121
+
122
+ 1. Save the originating phase/action unless a valid native return cursor exists.
123
+ 2. On cold resume, reconcile the terminal cursor against durable fingerprint
124
+ accounting. Restore `return_next_action` only from the approved
125
+ `test-plan.md`/evidence action; ambiguity returns to Vet and never licenses
126
+ execution.
127
+ 3. Invoke required Plan repair, affected Vet, remediation, and proof inline.
128
+ Recovery Vet is a narrow Vet recheck of prior findings, changed paths/criteria,
129
+ and affected evidence; it never restarts unaffected axes. A nested `STOP`
130
+ ends that phase only; do not hand the intermediate command to the user.
131
+ 4. Re-read state after each nested phase. Reconcile exact causal fingerprints
132
+ from `drift.md`/`evidence.md`. A closed reproduction is progress. A different
133
+ Critical/Important invariant gets a separate budget; Suggestion/Nit/FYI does
134
+ not prolong the chain. Only a no-progress result charges the same fingerprint.
135
+ 5. For failed consumptive action, spent authorization blocks only another real
136
+ execution. Use retained evidence for offline diagnosis, repair, and narrow
137
+ Vet; after READY, pause for fresh authorization.
138
+ 6. Restore and consume the original cursor when prerequisites are green.
139
+
140
+ <!-- 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"} -->
141
+ Ask only for a human-owned decision or mandatory safety/access action. An open
142
+ blocking question with `proposed` or option 1 labelled Recommended is not that
143
+ decision: resolve it and continue. Three no-progress corrections of one exact
144
+ fingerprint spend only its strategy: escalate inline per the
145
+ [retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve),
146
+ and park it after three escalations while independent work continues.
147
+
148
+ ## Continuous caller obligation
149
+
150
+ Green slice/phase checkpoints consume their recorded `next_action` internally;
151
+ only the caller replies finally at completion or a genuine stop.
152
+ No user-facing reply is permitted while durable state contains agent-owned
153
+ `NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
154
+ Critical/Important fingerprint below its cap or with an escalation left, runnable
155
+ work independent of a parked fingerprint, or an open blocking question that
156
+ already names a ranked recommended option. Invoke the next internal repair or
157
+ `devrites-engine state resolve` immediately, unless that writer already hit the
158
+ [resolver-failure stop](stop-conditions.md#other-stop-classes). **Failing case:**
159
+ `state resolve` exits 1 on every call and the loop re-invokes it without end. A narrow reviewer closing one finding and exposing another
160
+ Critical/Important invariant is progress, not exhaustion.
161
+
162
+ The number of completed repair/Vet cycles, context pressure, compaction, session
163
+ duration, and nested completion never turn checkpoints into handoffs. Persist and
164
+ resume to the requested rest point or shared human/safety/access/parked-recovery stop.
@@ -0,0 +1,118 @@
1
+ # Stop conditions: when autocomplete pauses
2
+
3
+ On real stops, persist `state.md` `awaiting_human` or `blocked`, reason, and one
4
+ resume command. Agent-owned recovery never ends the run: spent strategies
5
+ escalate; fully escalated fingerprints park while other work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
6
+ `--ship` never bypasses a stop.
7
+
8
+ Authority: `.dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
9
+
10
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
11
+ - `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
12
+ - `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
13
+ - `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
14
+ <!-- END RESLICE ROUTE-TO-ACTION -->
15
+
16
+ ## Always stop
17
+
18
+ Flags/AFK ceiling never override:
19
+
20
+ - destructive data migration;
21
+ - auth/authz boundary change;
22
+ - public API break;
23
+ - external-service contract change; or
24
+ - filesystem destruction outside the workspace.
25
+
26
+ Red proof cannot advance. Run bounded Debug Recovery; escalate spent strategies.
27
+ Fully escalated fingerprints park unless remaining owner is human.
28
+
29
+ ## Not stops: internal technical routing
30
+
31
+ `NEEDS_REPLAN` is not a stop condition under active Autocomplete. It blocks
32
+ forward work, persists the return cursor, and invokes Plan repair plus Recovery
33
+ Vet inline. The same applies to nested `STOP`/`Next step` when its decision is
34
+ agent-owned.
35
+
36
+ Agent-owned backtracking is not a stop condition while its exact causal
37
+ fingerprint has budget: invoke earlier phase, affected Vet, remediation, proof;
38
+ resume origin. Three no-progress corrections spend only that fingerprint's current
39
+ strategy: escalate inline to the next class (shared root cause, diagnostic
40
+ amplification, boundary redesign) with fresh budget, without permission. After
41
+ three escalations per activation it parks; finish independent work, then stop once.
42
+ Preserve reproduction, attempts, and dead ends; never offer `/rite-plan unblock`
43
+ or another routine phase command. A new user-issued `/rite-autocomplete`
44
+ reopens parked fingerprints with fresh escalation; wakes and compaction do not.
45
+ Closure is progress; a separately evidenced Critical/Important invariant starts
46
+ its own cap and cannot extend the closed one.
47
+
48
+ Spent consumptive-action authorization is not technical-recovery exhaustion.
49
+ It blocks another execution; retained new Critical/Important evidence still
50
+ enters offline recovery. After affected Vet is READY, pause for fresh action
51
+ authorization and never reuse old GO.
52
+
53
+ Past evidence being irretrievable is not by itself terminal. If an in-scope trusted seam
54
+ uniquely discriminates the next failure, run diagnostic-amplification Plan repair
55
+ and narrow Vet inline; pause for fresh GO before one evidence-acquisition attempt.
56
+ Without a safe seam, escalate or park; only a real human/risk/scope gate stops for a human.
57
+
58
+ <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"escalate BLOCKED_EXHAUSTED; on WAIT_ACTIVE_OWNER run independent work and recheck; stop on exact BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
59
+ ## Other stop classes
60
+
61
+ - **Gate severity:** escalating always stops. Blocking with a ranked recommended
62
+ option (`proposed` or option 1 labelled Recommended): auto-pick via
63
+ `devrites-engine state resolve`, then continue internally (including Spec Drift
64
+ Guard when the answer changes ownership or acceptance). Exception: a question whose answer
65
+ would add acceptance or product scope is never auto-picked, even with a
66
+ recommended option; it stops for a human. Blocking with no
67
+ recommended option still stops. Validating: auto-pick the recommended option,
68
+ close the question, continue — except Seal's judgment-only acceptance question
69
+ (`slice: seal`), which only a human answers; it stops.
70
+ - **Temper:** `expand` and extra acceptance stop: ask through `ask_user_question`, hold the
71
+ fold, and continue only after a human resolves the qid (an ADR is not that answer).
72
+ Irreversible-risk still pauses. `hold-rigor`, `reduce-to-MVP`, and a skip do not pause.
73
+ - **Clarify:** material `open`/unowned decision coverage or a
74
+ low-confidence high-consequence assumption. Continue the initial interview;
75
+ never arm AFK early.
76
+ - **Seal:** report remaining NO-GO with every blocker/fix direction; never round
77
+ up to GO. Resolve recommended-option blocking questions internally; recover
78
+ agent-owned findings and re-enter Seal. A first NO-GO is not a stop:
79
+ recover every agent-owned blocker (missing or unbound proof, a reviewer gap root
80
+ can close, a finding with a fix direction, a missing `review.md` verdict), then
81
+ re-enter Seal. The unattended `N` to accepting Important risks means repair, not
82
+ stop. Stop only for blockers that need a human: accepting a risk, changing scope
83
+ or an acceptance criterion, or access. Record each one as a question.
84
+ - **Reslice:** execute its marked action before deciding continue/stop.
85
+ - **Slice budget:** do not stop on `--max-slices`. Leftover
86
+ pre-existing remaining value, explicit flag, sentinel cap, or post-vet pending count
87
+ does not stop. Zero with no pending slices is normal completion.
88
+ Malformed flag stops before any write.
89
+ - **Foreign writer:** a `live`/`expired` claim or `WAIT_ACTIVE_OWNER` held by
90
+ another session blocks only work on those paths; run independent work, re-check,
91
+ and stop only when nothing independent remains. `released`/`dead` claims are
92
+ reconciled per [§ Cancellation](../../devrites-lib/reference/parallel-dispatch.md#cancellation-and-terminal-reconciliation).
93
+ - **Resource envelope:** overlapping run or missing AFK after arm still stops.
94
+ Do not stop on `--max-slices`, `max_agents`, `max_minutes`, or `max_review_queue`.
95
+ - **Confidence:** intent still cannot become testable acceptance after interview.
96
+ - **Repeated failure:** not a stop. Escalate; fully escalated fingerprints park.
97
+ Stop only when no independent work remains.
98
+ - **Resolver failure:** `devrites-engine state resolve` missing or nonzero.
99
+ Never hand-edit `questions.md`/`state.md` instead. Missing stops immediately;
100
+ nonzero permits one identical re-run (fingerprint: command + exit code + decisive
101
+ stderr line; unchanged re-run is no correction, no further attempts). Then stop
102
+ `blocked`: exact command, exit code, stderr line; resume via `/rite-doctor`.
103
+
104
+ ## Final GO and durable stop
105
+
106
+ With a recorded continuation, no opt-out, and workspace budget, Seal GO stays
107
+ internal: continue without `--ship`, leaving milestones sealed/unshipped. Only the
108
+ final milestone, explicit `continue_sequence: false`, or exhausted sequence cap
109
+ ends green sequence continuation.
110
+
111
+ There, `--ship`/`--yolo` requires [Ship preflight](../../rite-ship/reference/git-ship.md#before-type-go):
112
+ disclose exact plan; stop for fresh literal `GO` plus native approval.
113
+ Without flags, stop at Seal GO with `/rite-ship`. Seal GO never authorizes Git
114
+ or satisfies Ship approval; neither do AFK, prior approval, or flags.
115
+
116
+ Record cold-resumable `state.md` stops: status, exact reason, one resume action
117
+ (human-owned or `/rite-autocomplete` to reopen parked fingerprints). Explain in
118
+ owning question/drift/seal entry. Tell user what stopped and any required human action.