devrites 7.1.1 → 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 (440) hide show
  1. package/CHANGELOG.md +13 -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/.claude/agents/devrites-upgrade-planner.md +12 -4
  13. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -4
  14. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  15. package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  16. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -11
  17. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  18. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -1
  19. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +41 -40
  20. package/pack/.claude/skills/rite-autocomplete/SKILL.md +12 -14
  21. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +34 -38
  22. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  23. package/pack/.claude/skills/rite-define/SKILL.md +28 -27
  24. package/pack/.claude/skills/rite-plan/SKILL.md +7 -2
  25. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
  26. package/pack/.claude/skills/rite-resolve/SKILL.md +17 -10
  27. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
  28. package/pack/.claude/skills/rite-review/SKILL.md +4 -4
  29. package/pack/.claude/skills/rite-review/reference/security-review.md +4 -2
  30. package/pack/.claude/skills/rite-seal/SKILL.md +28 -33
  31. package/pack/.claude/skills/rite-ship/SKILL.md +14 -7
  32. package/pack/.claude/skills/rite-temper/SKILL.md +18 -18
  33. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +6 -7
  34. package/pack/.claude/skills/rite-upgrade/SKILL.md +7 -2
  35. package/pack/.claude/skills/rite-vet/SKILL.md +33 -34
  36. package/pack/generated/README.md +3 -1
  37. package/pack/generated/claude/agents/devrites-upgrade-planner.md +12 -4
  38. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -4
  39. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  40. package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  41. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -11
  42. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  43. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -1
  44. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +41 -40
  45. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +12 -14
  46. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +34 -38
  47. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  48. package/pack/generated/claude/skills/rite-define/SKILL.md +28 -27
  49. package/pack/generated/claude/skills/rite-plan/SKILL.md +7 -2
  50. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
  51. package/pack/generated/claude/skills/rite-resolve/SKILL.md +17 -10
  52. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
  53. package/pack/generated/claude/skills/rite-review/SKILL.md +4 -4
  54. package/pack/generated/claude/skills/rite-review/reference/security-review.md +4 -2
  55. package/pack/generated/claude/skills/rite-seal/SKILL.md +28 -33
  56. package/pack/generated/claude/skills/rite-ship/SKILL.md +14 -7
  57. package/pack/generated/claude/skills/rite-temper/SKILL.md +18 -18
  58. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +6 -7
  59. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +7 -2
  60. package/pack/generated/claude/skills/rite-vet/SKILL.md +33 -34
  61. package/pack/generated/codex/agents/devrites-upgrade-planner.toml +12 -4
  62. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -4
  63. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  64. package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  65. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -11
  66. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  67. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -1
  68. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +41 -40
  69. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +12 -14
  70. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +34 -38
  71. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  72. package/pack/generated/codex/skills/rite-define/SKILL.md +28 -27
  73. package/pack/generated/codex/skills/rite-plan/SKILL.md +7 -2
  74. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +5 -2
  75. package/pack/generated/codex/skills/rite-resolve/SKILL.md +17 -10
  76. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +18 -6
  77. package/pack/generated/codex/skills/rite-review/SKILL.md +4 -4
  78. package/pack/generated/codex/skills/rite-review/reference/security-review.md +4 -2
  79. package/pack/generated/codex/skills/rite-seal/SKILL.md +28 -33
  80. package/pack/generated/codex/skills/rite-ship/SKILL.md +14 -7
  81. package/pack/generated/codex/skills/rite-temper/SKILL.md +18 -18
  82. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +6 -7
  83. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +7 -2
  84. package/pack/generated/codex/skills/rite-vet/SKILL.md +33 -34
  85. package/pack/generated/devin/agents/devrites-upgrade-planner.md +12 -4
  86. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +21 -4
  87. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  88. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  89. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +11 -11
  90. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  91. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +11 -1
  92. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +41 -40
  93. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +12 -14
  94. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +34 -38
  95. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  96. package/pack/generated/devin/skills/rite-define/SKILL.md +28 -27
  97. package/pack/generated/devin/skills/rite-plan/SKILL.md +7 -2
  98. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +5 -2
  99. package/pack/generated/devin/skills/rite-resolve/SKILL.md +17 -10
  100. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +18 -6
  101. package/pack/generated/devin/skills/rite-review/SKILL.md +4 -4
  102. package/pack/generated/devin/skills/rite-review/reference/security-review.md +4 -2
  103. package/pack/generated/devin/skills/rite-seal/SKILL.md +28 -33
  104. package/pack/generated/devin/skills/rite-ship/SKILL.md +14 -7
  105. package/pack/generated/devin/skills/rite-temper/SKILL.md +18 -18
  106. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +6 -7
  107. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +7 -2
  108. package/pack/generated/devin/skills/rite-vet/SKILL.md +33 -34
  109. package/pack/generated/dsh/AGENTS.md +20 -0
  110. package/pack/generated/dsh/agents/devrites-code-reviewer.md +180 -0
  111. package/pack/generated/dsh/agents/devrites-devex-reviewer.md +137 -0
  112. package/pack/generated/dsh/agents/devrites-doubt-reviewer.md +100 -0
  113. package/pack/generated/dsh/agents/devrites-evidence-scout.md +93 -0
  114. package/pack/generated/dsh/agents/devrites-frontend-reviewer.md +139 -0
  115. package/pack/generated/dsh/agents/devrites-performance-reviewer.md +142 -0
  116. package/pack/generated/dsh/agents/devrites-plan-drafter.md +113 -0
  117. package/pack/generated/dsh/agents/devrites-plan-reviewer.md +167 -0
  118. package/pack/generated/dsh/agents/devrites-proof-runner.md +101 -0
  119. package/pack/generated/dsh/agents/devrites-retrospector.md +82 -0
  120. package/pack/generated/dsh/agents/devrites-security-auditor.md +146 -0
  121. package/pack/generated/dsh/agents/devrites-simplifier-reviewer.md +113 -0
  122. package/pack/generated/dsh/agents/devrites-slice-wright.md +240 -0
  123. package/pack/generated/dsh/agents/devrites-spec-reviewer.md +105 -0
  124. package/pack/generated/dsh/agents/devrites-strategy-reviewer.md +109 -0
  125. package/pack/generated/dsh/agents/devrites-test-analyst.md +110 -0
  126. package/pack/generated/dsh/agents/devrites-upgrade-planner.md +107 -0
  127. package/pack/generated/dsh/agents/fast-builder.md +92 -0
  128. package/pack/generated/dsh/agents/fast-checker.md +61 -0
  129. package/pack/generated/dsh/agents/fast-critic.md +71 -0
  130. package/pack/generated/dsh/agents/fast-planner.md +95 -0
  131. package/pack/generated/dsh/agents/overhaul-backend-engineer.md +70 -0
  132. package/pack/generated/dsh/agents/overhaul-boundary.md +64 -0
  133. package/pack/generated/dsh/agents/overhaul-craft.md +85 -0
  134. package/pack/generated/dsh/agents/overhaul-frontend-engineer.md +73 -0
  135. package/pack/generated/dsh/agents/overhaul-implementer.md +72 -0
  136. package/pack/generated/dsh/agents/overhaul-recon.md +77 -0
  137. package/pack/generated/dsh/agents/overhaul-specialist.md +67 -0
  138. package/pack/generated/dsh/agents/overhaul-verifier.md +73 -0
  139. package/pack/generated/dsh/runtime/cordis.patch.yml +1450 -0
  140. package/pack/generated/dsh/runtime/specialist.mjs +62 -0
  141. package/pack/generated/dsh/skills/devrites-api-interface/SKILL.md +65 -0
  142. package/pack/generated/dsh/skills/devrites-audit/SKILL.md +60 -0
  143. package/pack/generated/dsh/skills/devrites-browser-proof/SKILL.md +109 -0
  144. package/pack/generated/dsh/skills/devrites-browser-proof/reference/browser-performance.md +19 -0
  145. package/pack/generated/dsh/skills/devrites-browser-proof/reference/visual-verdict.md +38 -0
  146. package/pack/generated/dsh/skills/devrites-debug-recovery/SKILL.md +119 -0
  147. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  148. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +41 -0
  149. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/hypotheses.md +23 -0
  150. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  151. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/regression-test.md +33 -0
  152. package/pack/generated/dsh/skills/devrites-debug-recovery/reference/trace.md +25 -0
  153. package/pack/generated/dsh/skills/devrites-doubt/SKILL.md +83 -0
  154. package/pack/generated/dsh/skills/devrites-frontend-craft/SKILL.md +89 -0
  155. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/craft.md +63 -0
  156. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/design-references.md +120 -0
  157. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  158. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/quality-standards.md +286 -0
  159. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  160. package/pack/generated/dsh/skills/devrites-frontend-craft/reference/shape.md +61 -0
  161. package/pack/generated/dsh/skills/devrites-interview/SKILL.md +107 -0
  162. package/pack/generated/dsh/skills/devrites-lib/SKILL.md +98 -0
  163. package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +59 -0
  164. package/pack/generated/dsh/skills/devrites-lib/reference/intent-map.md +86 -0
  165. package/pack/generated/dsh/skills/devrites-lib/reference/orchestration-profiles.md +48 -0
  166. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +184 -0
  167. package/pack/generated/dsh/skills/devrites-lib/reference/reply-contract.md +123 -0
  168. package/pack/generated/dsh/skills/devrites-lib/reference/standards/README.md +70 -0
  169. package/pack/generated/dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
  170. package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +467 -0
  171. package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +231 -0
  172. package/pack/generated/dsh/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
  173. package/pack/generated/dsh/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  174. package/pack/generated/dsh/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  175. package/pack/generated/dsh/skills/devrites-lib/reference/standards/audit-coverage.md +107 -0
  176. package/pack/generated/dsh/skills/devrites-lib/reference/standards/browser-proof-checklist.md +37 -0
  177. package/pack/generated/dsh/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
  178. package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-index.md +111 -0
  179. package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-navigation.md +69 -0
  180. package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-review.md +178 -0
  181. package/pack/generated/dsh/skills/devrites-lib/reference/standards/coding-style.md +53 -0
  182. package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +136 -0
  183. package/pack/generated/dsh/skills/devrites-lib/reference/standards/core.md +202 -0
  184. package/pack/generated/dsh/skills/devrites-lib/reference/standards/data-integrity.md +144 -0
  185. package/pack/generated/dsh/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
  186. package/pack/generated/dsh/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
  187. package/pack/generated/dsh/skills/devrites-lib/reference/standards/deprecation.md +49 -0
  188. package/pack/generated/dsh/skills/devrites-lib/reference/standards/developer-experience.md +128 -0
  189. package/pack/generated/dsh/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
  190. package/pack/generated/dsh/skills/devrites-lib/reference/standards/documentation.md +55 -0
  191. package/pack/generated/dsh/skills/devrites-lib/reference/standards/duplicate-code.md +129 -0
  192. package/pack/generated/dsh/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
  193. package/pack/generated/dsh/skills/devrites-lib/reference/standards/elicitation.md +114 -0
  194. package/pack/generated/dsh/skills/devrites-lib/reference/standards/error-handling.md +49 -0
  195. package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +159 -0
  196. package/pack/generated/dsh/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
  197. package/pack/generated/dsh/skills/devrites-lib/reference/standards/glossary.md +40 -0
  198. package/pack/generated/dsh/skills/devrites-lib/reference/standards/hooks.md +41 -0
  199. package/pack/generated/dsh/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
  200. package/pack/generated/dsh/skills/devrites-lib/reference/standards/loop-operations.md +123 -0
  201. package/pack/generated/dsh/skills/devrites-lib/reference/standards/observability.md +90 -0
  202. package/pack/generated/dsh/skills/devrites-lib/reference/standards/one-shot-actions.md +105 -0
  203. package/pack/generated/dsh/skills/devrites-lib/reference/standards/patterns.md +70 -0
  204. package/pack/generated/dsh/skills/devrites-lib/reference/standards/performance.md +88 -0
  205. package/pack/generated/dsh/skills/devrites-lib/reference/standards/principles.md +56 -0
  206. package/pack/generated/dsh/skills/devrites-lib/reference/standards/prose-style.md +127 -0
  207. package/pack/generated/dsh/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
  208. package/pack/generated/dsh/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
  209. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/README.md +28 -0
  210. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  211. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/default.md +42 -0
  212. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/go.md +47 -0
  213. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/python.md +46 -0
  214. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/react.md +55 -0
  215. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  216. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  217. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ts-js.md +74 -0
  218. package/pack/generated/dsh/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
  219. package/pack/generated/dsh/skills/devrites-lib/reference/standards/security-checklist.md +30 -0
  220. package/pack/generated/dsh/skills/devrites-lib/reference/standards/security.md +283 -0
  221. package/pack/generated/dsh/skills/devrites-lib/reference/standards/skill-authoring.md +269 -0
  222. package/pack/generated/dsh/skills/devrites-lib/reference/standards/spec-grammar.md +214 -0
  223. package/pack/generated/dsh/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
  224. package/pack/generated/dsh/skills/devrites-lib/reference/standards/testing.md +295 -0
  225. package/pack/generated/dsh/skills/devrites-lib/reference/standards/tooling.md +125 -0
  226. package/pack/generated/dsh/skills/devrites-lib/reference/standards/verification-methods.md +143 -0
  227. package/pack/generated/dsh/skills/devrites-lib/reference/standards/windows.md +60 -0
  228. package/pack/generated/dsh/skills/devrites-lib/reference/standards/workflow-artifacts.md +435 -0
  229. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  230. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  231. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  232. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  233. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  234. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  235. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  236. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  237. package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  238. package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +312 -0
  239. package/pack/generated/dsh/skills/devrites-prose-craft/SKILL.md +81 -0
  240. package/pack/generated/dsh/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  241. package/pack/generated/dsh/skills/devrites-prose-craft/reference/examples.md +136 -0
  242. package/pack/generated/dsh/skills/devrites-prose-craft/reference/structures.md +196 -0
  243. package/pack/generated/dsh/skills/devrites-source-driven/SKILL.md +54 -0
  244. package/pack/generated/dsh/skills/devrites-ux-shape/SKILL.md +135 -0
  245. package/pack/generated/dsh/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  246. package/pack/generated/dsh/skills/devrites-ux-shape/reference/visual-direction-probe.md +50 -0
  247. package/pack/generated/dsh/skills/overhaul/SKILL.md +221 -0
  248. package/pack/generated/dsh/skills/overhaul/references/audit-domains.md +390 -0
  249. package/pack/generated/dsh/skills/overhaul/references/lifecycle.md +314 -0
  250. package/pack/generated/dsh/skills/overhaul/references/orchestration.md +291 -0
  251. package/pack/generated/dsh/skills/overhaul/references/records.md +203 -0
  252. package/pack/generated/dsh/skills/overhaul/references/repair-and-measurement.md +310 -0
  253. package/pack/generated/dsh/skills/overhaul/references/review-and-report.md +139 -0
  254. package/pack/generated/dsh/skills/overhaul/references/scope-and-safety.md +233 -0
  255. package/pack/generated/dsh/skills/overhaul/references/scoring.md +261 -0
  256. package/pack/generated/dsh/skills/overhaul/references/stack-profiles.md +316 -0
  257. package/pack/generated/dsh/skills/rite/SKILL.md +157 -0
  258. package/pack/generated/dsh/skills/rite/reference/menu.md +49 -0
  259. package/pack/generated/dsh/skills/rite-adopt/SKILL.md +64 -0
  260. package/pack/generated/dsh/skills/rite-adopt/reference/adoption.md +25 -0
  261. package/pack/generated/dsh/skills/rite-adopt/reference/anti-patterns.md +19 -0
  262. package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +167 -0
  263. package/pack/generated/dsh/skills/rite-autocomplete/reference/decision-policy.md +44 -0
  264. package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +50 -0
  265. package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +164 -0
  266. package/pack/generated/dsh/skills/rite-autocomplete/reference/stop-conditions.md +118 -0
  267. package/pack/generated/dsh/skills/rite-build/SKILL.md +126 -0
  268. package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +153 -0
  269. package/pack/generated/dsh/skills/rite-build/reference/anti-patterns.md +27 -0
  270. package/pack/generated/dsh/skills/rite-build/reference/checkpoint-protocol.md +115 -0
  271. package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +79 -0
  272. package/pack/generated/dsh/skills/rite-build/reference/frontend-trigger.md +39 -0
  273. package/pack/generated/dsh/skills/rite-build/reference/one-slice-cycle.md +57 -0
  274. package/pack/generated/dsh/skills/rite-build/reference/output.md +29 -0
  275. package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +260 -0
  276. package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +130 -0
  277. package/pack/generated/dsh/skills/rite-build/reference/spec-drift-guard.md +91 -0
  278. package/pack/generated/dsh/skills/rite-build/reference/tdd.md +27 -0
  279. package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +198 -0
  280. package/pack/generated/dsh/skills/rite-clarify/SKILL.md +104 -0
  281. package/pack/generated/dsh/skills/rite-clarify/reference/anti-patterns.md +24 -0
  282. package/pack/generated/dsh/skills/rite-clarify/reference/decision-coverage.md +56 -0
  283. package/pack/generated/dsh/skills/rite-converge/SKILL.md +167 -0
  284. package/pack/generated/dsh/skills/rite-converge/reference/anti-patterns.md +35 -0
  285. package/pack/generated/dsh/skills/rite-converge/reference/convergence-assessment.md +70 -0
  286. package/pack/generated/dsh/skills/rite-customize/SKILL.md +64 -0
  287. package/pack/generated/dsh/skills/rite-define/SKILL.md +203 -0
  288. package/pack/generated/dsh/skills/rite-define/reference/anti-patterns.md +26 -0
  289. package/pack/generated/dsh/skills/rite-define/reference/gates.md +160 -0
  290. package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +153 -0
  291. package/pack/generated/dsh/skills/rite-doctor/SKILL.md +107 -0
  292. package/pack/generated/dsh/skills/rite-dogfood/SKILL.md +57 -0
  293. package/pack/generated/dsh/skills/rite-explain/SKILL.md +154 -0
  294. package/pack/generated/dsh/skills/rite-explain/reference/intake.md +89 -0
  295. package/pack/generated/dsh/skills/rite-fast/SKILL.md +185 -0
  296. package/pack/generated/dsh/skills/rite-fast/reference/artifacts.md +107 -0
  297. package/pack/generated/dsh/skills/rite-fast/reference/check-and-triage.md +51 -0
  298. package/pack/generated/dsh/skills/rite-frame/SKILL.md +119 -0
  299. package/pack/generated/dsh/skills/rite-frame/reference/failure-modes.md +66 -0
  300. package/pack/generated/dsh/skills/rite-handoff/SKILL.md +117 -0
  301. package/pack/generated/dsh/skills/rite-handoff/reference/handoff-template.md +56 -0
  302. package/pack/generated/dsh/skills/rite-harness/SKILL.md +76 -0
  303. package/pack/generated/dsh/skills/rite-harness/reference/feature-map.md +60 -0
  304. package/pack/generated/dsh/skills/rite-learn/SKILL.md +107 -0
  305. package/pack/generated/dsh/skills/rite-plan/SKILL.md +215 -0
  306. package/pack/generated/dsh/skills/rite-plan/reference/anti-patterns.md +34 -0
  307. package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +48 -0
  308. package/pack/generated/dsh/skills/rite-plan/reference/replan-and-repair.md +114 -0
  309. package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +187 -0
  310. package/pack/generated/dsh/skills/rite-plan/reference/task-breakdown.md +50 -0
  311. package/pack/generated/dsh/skills/rite-polish/SKILL.md +128 -0
  312. package/pack/generated/dsh/skills/rite-polish/reference/adr-promotion.md +11 -0
  313. package/pack/generated/dsh/skills/rite-polish/reference/anti-ai-slop.md +210 -0
  314. package/pack/generated/dsh/skills/rite-polish/reference/anti-patterns.md +30 -0
  315. package/pack/generated/dsh/skills/rite-polish/reference/backend-polish.md +80 -0
  316. package/pack/generated/dsh/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  317. package/pack/generated/dsh/skills/rite-polish/reference/code.md +87 -0
  318. package/pack/generated/dsh/skills/rite-polish/reference/design-memory.md +117 -0
  319. package/pack/generated/dsh/skills/rite-polish/reference/design-system-discovery.md +8 -0
  320. package/pack/generated/dsh/skills/rite-polish/reference/harden-checklist.md +110 -0
  321. package/pack/generated/dsh/skills/rite-polish/reference/ledger.md +67 -0
  322. package/pack/generated/dsh/skills/rite-polish/reference/ui.md +146 -0
  323. package/pack/generated/dsh/skills/rite-pov/SKILL.md +71 -0
  324. package/pack/generated/dsh/skills/rite-pr-feedback/SKILL.md +61 -0
  325. package/pack/generated/dsh/skills/rite-pressure-test/SKILL.md +76 -0
  326. package/pack/generated/dsh/skills/rite-prototype/SKILL.md +106 -0
  327. package/pack/generated/dsh/skills/rite-prove/SKILL.md +151 -0
  328. package/pack/generated/dsh/skills/rite-prove/reference/acceptance-proof.md +88 -0
  329. package/pack/generated/dsh/skills/rite-prove/reference/anti-patterns.md +25 -0
  330. package/pack/generated/dsh/skills/rite-prove/reference/browser-proof.md +51 -0
  331. package/pack/generated/dsh/skills/rite-prove/reference/failure-triage.md +53 -0
  332. package/pack/generated/dsh/skills/rite-prove/reference/proof-ladder.md +39 -0
  333. package/pack/generated/dsh/skills/rite-prove/reference/test-command-discovery.md +36 -0
  334. package/pack/generated/dsh/skills/rite-quick/SKILL.md +97 -0
  335. package/pack/generated/dsh/skills/rite-resolve/SKILL.md +113 -0
  336. package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +129 -0
  337. package/pack/generated/dsh/skills/rite-review/SKILL.md +190 -0
  338. package/pack/generated/dsh/skills/rite-review/reference/anti-patterns.md +32 -0
  339. package/pack/generated/dsh/skills/rite-review/reference/cognitive-load.md +90 -0
  340. package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +26 -0
  341. package/pack/generated/dsh/skills/rite-review/reference/five-axis-review.md +66 -0
  342. package/pack/generated/dsh/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  343. package/pack/generated/dsh/skills/rite-review/reference/performance-checklist.md +99 -0
  344. package/pack/generated/dsh/skills/rite-review/reference/performance-review.md +14 -0
  345. package/pack/generated/dsh/skills/rite-review/reference/security-review.md +44 -0
  346. package/pack/generated/dsh/skills/rite-seal/SKILL.md +99 -0
  347. package/pack/generated/dsh/skills/rite-seal/reference/anti-patterns.md +29 -0
  348. package/pack/generated/dsh/skills/rite-seal/reference/final-evidence.md +41 -0
  349. package/pack/generated/dsh/skills/rite-seal/reference/go-no-go.md +32 -0
  350. package/pack/generated/dsh/skills/rite-seal/reference/output.md +5 -0
  351. package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +56 -0
  352. package/pack/generated/dsh/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  353. package/pack/generated/dsh/skills/rite-seal/reference/seal-template.md +32 -0
  354. package/pack/generated/dsh/skills/rite-ship/SKILL.md +101 -0
  355. package/pack/generated/dsh/skills/rite-ship/reference/anti-patterns.md +28 -0
  356. package/pack/generated/dsh/skills/rite-ship/reference/close-out.md +69 -0
  357. package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +128 -0
  358. package/pack/generated/dsh/skills/rite-ship/reference/rollout.md +62 -0
  359. package/pack/generated/dsh/skills/rite-ship/reference/ship-template.md +40 -0
  360. package/pack/generated/dsh/skills/rite-spec/SKILL.md +169 -0
  361. package/pack/generated/dsh/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  362. package/pack/generated/dsh/skills/rite-spec/reference/ai-spec-template.md +40 -0
  363. package/pack/generated/dsh/skills/rite-spec/reference/anti-patterns.md +27 -0
  364. package/pack/generated/dsh/skills/rite-spec/reference/interview-patterns.md +56 -0
  365. package/pack/generated/dsh/skills/rite-spec/reference/investigation.md +83 -0
  366. package/pack/generated/dsh/skills/rite-spec/reference/question-protocol.md +36 -0
  367. package/pack/generated/dsh/skills/rite-spec/reference/references-intake.md +62 -0
  368. package/pack/generated/dsh/skills/rite-spec/reference/spec-checklists.md +89 -0
  369. package/pack/generated/dsh/skills/rite-spec/reference/spec-template.md +160 -0
  370. package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +240 -0
  371. package/pack/generated/dsh/skills/rite-status/SKILL.md +74 -0
  372. package/pack/generated/dsh/skills/rite-temper/SKILL.md +137 -0
  373. package/pack/generated/dsh/skills/rite-temper/reference/anti-patterns.md +30 -0
  374. package/pack/generated/dsh/skills/rite-temper/reference/review-dimensions.md +66 -0
  375. package/pack/generated/dsh/skills/rite-temper/reference/scope-modes.md +52 -0
  376. package/pack/generated/dsh/skills/rite-temper/reference/significance.md +55 -0
  377. package/pack/generated/dsh/skills/rite-temper/reference/strategy-template.md +101 -0
  378. package/pack/generated/dsh/skills/rite-upgrade/SKILL.md +142 -0
  379. package/pack/generated/dsh/skills/rite-vet/SKILL.md +242 -0
  380. package/pack/generated/dsh/skills/rite-vet/reference/anti-patterns.md +43 -0
  381. package/pack/generated/dsh/skills/rite-vet/reference/artifacts.md +248 -0
  382. package/pack/generated/dsh/skills/rite-vet/reference/cross-model.md +19 -0
  383. package/pack/generated/dsh/skills/rite-vet/reference/depth.md +59 -0
  384. package/pack/generated/dsh/skills/rite-vet/reference/eng-lenses.md +48 -0
  385. package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +210 -0
  386. package/pack/generated/dsh/skills/rite-watch-pr/SKILL.md +87 -0
  387. package/pack/generated/dsh/skills/rite-zoom-out/SKILL.md +76 -0
  388. package/pack/generated/omp/agents/devrites-upgrade-planner.md +12 -4
  389. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +21 -4
  390. package/pack/generated/omp/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  391. package/pack/generated/omp/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  392. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +11 -11
  393. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  394. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +11 -1
  395. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +41 -40
  396. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +12 -14
  397. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +34 -38
  398. package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  399. package/pack/generated/omp/skills/rite-define/SKILL.md +28 -27
  400. package/pack/generated/omp/skills/rite-plan/SKILL.md +7 -2
  401. package/pack/generated/omp/skills/rite-plan/reference/replan-and-repair.md +5 -2
  402. package/pack/generated/omp/skills/rite-resolve/SKILL.md +17 -10
  403. package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +18 -6
  404. package/pack/generated/omp/skills/rite-review/SKILL.md +4 -4
  405. package/pack/generated/omp/skills/rite-review/reference/security-review.md +4 -2
  406. package/pack/generated/omp/skills/rite-seal/SKILL.md +28 -33
  407. package/pack/generated/omp/skills/rite-ship/SKILL.md +14 -7
  408. package/pack/generated/omp/skills/rite-temper/SKILL.md +18 -18
  409. package/pack/generated/omp/skills/rite-temper/reference/scope-modes.md +6 -7
  410. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +7 -2
  411. package/pack/generated/omp/skills/rite-vet/SKILL.md +33 -34
  412. package/pack/generated/pi/agents/devrites-upgrade-planner.md +12 -4
  413. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +21 -4
  414. package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  415. package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  416. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +11 -11
  417. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  418. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +11 -1
  419. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +41 -40
  420. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +12 -14
  421. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +34 -38
  422. package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  423. package/pack/generated/pi/skills/rite-define/SKILL.md +28 -27
  424. package/pack/generated/pi/skills/rite-plan/SKILL.md +7 -2
  425. package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +5 -2
  426. package/pack/generated/pi/skills/rite-resolve/SKILL.md +17 -10
  427. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +18 -6
  428. package/pack/generated/pi/skills/rite-review/SKILL.md +4 -4
  429. package/pack/generated/pi/skills/rite-review/reference/security-review.md +4 -2
  430. package/pack/generated/pi/skills/rite-seal/SKILL.md +28 -33
  431. package/pack/generated/pi/skills/rite-ship/SKILL.md +14 -7
  432. package/pack/generated/pi/skills/rite-temper/SKILL.md +18 -18
  433. package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +6 -7
  434. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +7 -2
  435. package/pack/generated/pi/skills/rite-vet/SKILL.md +33 -34
  436. package/package.json +3 -1
  437. package/scripts/build-host-artifacts.sh +6 -2
  438. package/scripts/dsh-generate.py +135 -0
  439. package/scripts/dsh-specialist.mjs +62 -0
  440. package/scripts/install-lib.sh +3 -1
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: rite-build
3
+ description: Build the next approved vertical slice with evidence. HITL one-slice default; AFK/autocomplete chain serially or in eligible path-disjoint batches (dynamic size, cap 10); `--parallel N` caps a batch.
4
+ argument-hint: "[--parallel N] [slice number or name]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/agents.md","rite-build/reference/phase-contract.md","rite-build/reference/one-slice-cycle.md","rite-build/reference/wright-dispatch.md","rite-build/reference/checkpoint.md","rite-build/reference/spec-drift-guard.md","rite-build/reference/output.md","rite-build/reference/anti-patterns.md"],"rootOnly":["devrites-lib/reference/standards/code-index.md","rite-build/reference/phase-contract.md","rite-build/reference/wright-dispatch.md","rite-build/reference/checkpoint.md","rite-build/reference/output.md","rite-build/reference/afk-discipline.md","rite-build/reference/checkpoint-protocol.md","rite-build/reference/parallel-batch.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/workflow-artifacts.md"],"triggers":{"afk":["rite-build/reference/afk-discipline.md","devrites-lib/reference/standards/afk-hitl.md","rite-build/reference/checkpoint-protocol.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"coding":["devrites-lib/reference/standards/coding-style.md"],"debug-recovery":["devrites-lib/reference/standards/debug-recovery.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"frontend":["rite-build/reference/frontend-trigger.md"],"parallel":["rite-build/reference/parallel-batch.md"],"patterns":["devrites-lib/reference/standards/patterns.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md"],"tdd":["rite-build/reference/tdd.md","devrites-lib/reference/standards/testing.md"],"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md","strategy.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md"],"slice-wright":["brief.md","spec.md","architecture.md","plan.md","tasks.md","test-plan.md","state.md","decisions.md","assumptions.md","questions.md"],"test-analyst":["spec.md","tasks.md","test-plan.md","state.md"]}} -->
9
+ > Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase build` 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-build: one verified slice
13
+
14
+ Active caller takes precedence per [output.md](reference/output.md#caller-owned-continuation).
15
+ Standalone HITL stops; standalone AFK chains under green proof, caps and pause
16
+ rules. Every wright returns after one slice.
17
+ **HITL:** `/rite-build --parallel N` (2≤N≤10; N=1≡serial) follows
18
+ [`reference/parallel-batch.md`](reference/parallel-batch.md)
19
+ ([`one-slice-cycle.md`](reference/one-slice-cycle.md)).
20
+
21
+ Root owns gates/bookkeeping; fresh
22
+ [`devrites-slice-wright`](../../agents/devrites-slice-wright.md) writes source/tests.
23
+ Workflow Artifacts use
24
+ [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
25
+ (trigger `workflow-artifacts` — only when the plan declares them).
26
+ Execute [`reference/phase-contract.md`](reference/phase-contract.md)
27
+ ([`one-slice-cycle.md`](reference/one-slice-cycle.md),
28
+ [`afk-discipline.md`](reference/afk-discipline.md)); dispatch uses
29
+ [`reference/wright-dispatch.md`](reference/wright-dispatch.md).
30
+ Every wright contract names the writer-safe checks the wright runs (syntax/type/lint,
31
+ unit and self-check suites, a narrow local smoke) and never forbids them; only
32
+ artifact-producing, consumptive, or full canonical gates stay root-owned, and a
33
+ `RUN: writer` gate adds `gates precheck` to them;
34
+ `dispatch open --contract` refuses a contract that breaks this. Prior contracts in `evidence.md` are not a template for this. **Failing case:** the
35
+ contract says "skip tests mid-flight; root runs them after return", and the wright
36
+ returns three unit failures that a 20 s `go test` would have caught in-round.
37
+
38
+ ## Required rules
39
+
40
+ Read `.dsh/skills/devrites-lib/reference/standards/core.md` first. Load only triggered rules:
41
+ coding/error/testing/[`tdd.md`](reference/tdd.md)/patterns/DoD; binding
42
+ `.devrites/principles.md`; security; topology; data integrity; integration reliability.
43
+ Wright applies anti-slop; root verifies returns and never patches source. Refuse the rationalizations in
44
+ [`anti-patterns`](reference/anti-patterns.md).
45
+
46
+ ## Invariants
47
+
48
+ - Standalone HITL default: serial on control (core.md #5). AFK/`--parallel N`
49
+ uses [`parallel-batch.md`](reference/parallel-batch.md).
50
+ Same-worktree multi-writer / root-emulated concurrency forbidden.
51
+ Native-worktree pilot = single-slice isolation when `wright-dispatch.md`
52
+ preflight + reconcile hold.
53
+ - Exact feature scope only (core.md #7); reject out-of-allowlist diffs
54
+ (`devrites-engine check diff-scope <slug> --allow <contract-paths>`); record
55
+ adjacent issues. An adjacent issue or non-obvious rationale bound to specific
56
+ code anchors as a note — `devrites-engine note add <slug> <file> "<verbatim
57
+ quote>" <title>` — so refactors regrade it instead of losing it
58
+ ([`notes.md`](../devrites-lib/reference/workspace-artifact-schema.md#anchored-notes)).
59
+ - Re-prove affected behavior after edits (core.md #6); reuse observations only
60
+ under [evidence validity](../devrites-lib/reference/candidate-integrity.md#evidence-validity).
61
+ - Unplanned dependency/design-system/gap/repair → Vet/Spec Drift Guard batch
62
+ sweep: every contract-assumption violation recorded before one folded
63
+ repair+vet. Ask only for licensing/cost/security/product or explicit
64
+ architecture-policy decisions (core.md #8).
65
+ - Root never edits product source/tests (`.devrites/` + Workflow Artifact only;
66
+ [agents.md](../devrites-lib/reference/standards/agents.md) source-writing
67
+ boundary). Wright is sole product writer; extras in returned paths/`git diff
68
+ --name-only` hard-stop via `check diff-scope`.
69
+ - Principles bind; irreversible conflict needs human exception or stop.
70
+ - Evidence beats confidence (core.md #6). Never weaken tests, skip TDD, widen
71
+ writers, or self-approve. Drift →
72
+ [`spec-drift-guard.md`](reference/spec-drift-guard.md); checkpoint →
73
+ [`checkpoint.md`](reference/checkpoint.md).
74
+ - Async readiness waits during slice work follow
75
+ [`debug-recovery.md`](../devrites-lib/reference/standards/debug-recovery.md)
76
+ (bounded poll + last-signal artifact; no blind sleep as primary strategy).
77
+
78
+ ## Workflow Artifact branch
79
+
80
+ <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Vet-ready admitted bytes require root authorship outside product wright","action":"ROOT_TRANSACTION; root writes only admitted .devrites/** targets","return":"saved Build slice cursor; wright product allowlist unchanged"} -->
81
+ ## `--parallel N` (opt-in)
82
+
83
+ HITL default/explicit `1` ≡ serial; AFK inherits cap.
84
+ `2`–`10` is a **cap** — the root runs an eligible
85
+ path-disjoint set it can start now (`N_eff`, from `parallel select --from-plan`), takes fewer when the cap cannot be
86
+ filled, and refills a slot per landing (serial slice or one sibling) until
87
+ no pending slice remains
88
+ ([`parallel-batch.md` § Dynamic selection](reference/parallel-batch.md#dynamic-selection-and-re-batching)).
89
+ Unattended runs (`/rite-autocomplete`, `.devrites/AFK` `max_parallel`) refill
90
+ inside the same run; HITL stops after each landing. This invocation's `--parallel N`
91
+ is the cap: leftover sentinel `max_parallel` is not consulted. Autocomplete with
92
+ that flag also writes or replaces only `max_parallel: N`. Non-integer/`N≤0`/`N>10` hard refuse.
93
+ Each sibling lands alone when its review + proof are green (`integrate --slice`):
94
+ one local `WIP(<slug>):` commit onto the control branch (never pushed). Do not
95
+ integrate a sibling because the wright returned. A red/gap sibling gets a bounded repair
96
+ round in its own worktree — never rebuilt from scratch while budget remains.
97
+ Post-writer inventory and affected rechecks follow `phase-contract.md` § Independent
98
+ Build review; fold accounts before one repair-all wright.
99
+ Plan-owned gaps still route through Spec Drift Guard
100
+ (batch sweep, one folded plan repair + one vet recheck inline); do not emit
101
+ a human `Fix`. Exhausted repair blocks and preserves everything;
102
+ `cleanup --force` salvages slice branches before removing worktrees —
103
+ human-gated to abandon a batch, orchestrator-emitted only as the salvage
104
+ step of an automatic frozen-lease re-batch.
105
+ AFK charges per landed sibling only. Running lease blocks another
106
+ `/rite-build`. Details: `parallel-batch.md`.
107
+
108
+ ## Execute and reply
109
+
110
+ Run every step in `reference/phase-contract.md`: readiness, one target, dispatch
111
+ or canonical transaction, return inspection, independent code/doubt/test analysis,
112
+ approved fail-on-red proof, record, and applicable accounting. Continue/reply via
113
+ [`reference/output.md`](reference/output.md) plus the shared
114
+ [`reply contract`](../devrites-lib/reference/reply-contract.md). Standalone AFK obeys remaining budget; Prove requires every slice built except a
115
+ [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
116
+
117
+ ## Phase exit
118
+
119
+ **Complete when:** Independent Build review and fail-on-red proof are green,
120
+ `git diff --name-only` ⊆ allowlist, no open Critical/Important, `state.md` cursor
121
+ advances with recorded evidence, and the control-branch checkpoint has landed
122
+ per [`checkpoint.md`](reference/checkpoint.md).
123
+
124
+ **Failing case:** wright reports "done" but independent review or proof was
125
+ skipped, red, or followed by an uncommitted repair → slice incomplete; do not
126
+ advance cursor or commit on control.
@@ -0,0 +1,153 @@
1
+ # AFK discipline for unattended `/rite-build`
2
+
3
+ > Root-only: not inlined in --role bundles.
4
+
5
+ `.devrites/AFK` enables unattended slice chaining. Load the shared
6
+ [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md#the-sentinel-devritesafk)
7
+ for sentinel schema, defaults, gate ceiling, and mutable-counter ownership.
8
+ This file owns Build dispatch, charging, and red paths.
9
+
10
+ Rules: green before `built`; gates before their action; irreversible work
11
+ (destructive/auth/public API) pauses; no tick ends with an open/sealed wave —
12
+ wait for returns or `dispatch abandon --reason`.
13
+
14
+ ## Iteration cap
15
+
16
+ Under active `/rite-autocomplete`, skip the slice-cap checks, charges, and cap-stop message below;
17
+ use its [admission rules](../../rite-autocomplete/reference/loop.md#admit-each-unattended-cycle).
18
+ Otherwise root owns cap:
19
+
20
+ 1. **Before every dispatch**, re-read `.devrites/AFK`, `state.md`, and the
21
+ selected slice. This invocation's `--parallel N` is the cap when present;
22
+ leftover sentinel `max_parallel` is not consulted in that case. When that
23
+ flag or sentinel `max_parallel` is greater than 1, recompute `N_eff` via
24
+ `parallel select` before the next dispatch — a prior one-slice round does not keep the run serial. A configured `max_slices` and any existing
25
+ `afk_slices_remaining` value, including its released bullet form, must each
26
+ be a decimal nonnegative integer. A missing
27
+ `state.md` or malformed configured value fails closed; an omitted cap is the
28
+ documented unlimited default only when no remaining counter exists. If the
29
+ effective remaining value is zero, stop before dispatching another slice.
30
+ 2. **After proof is green**, combine the pending → built record and budget
31
+ charge in one `state.md` rewrite. If the remaining field is absent, add
32
+ `afk_slices_remaining` to a cursor table or `AFK slices remaining` to a
33
+ legacy bullet cursor, seed it from `max_slices`, and write
34
+ `max_slices - 1`; otherwise preserve its spelling and write `remaining - 1`.
35
+ The counter is never below zero: a value that would go negative is an invariant failure and
36
+ stops. A missing `max_slices` means unlimited and no remaining field is
37
+ created.
38
+ A controlling orchestrator may pre-seed the remaining field from a validated
39
+ post-plan budget before the first dispatch; never increase or reinitialize an
40
+ existing value.
41
+ 3. **Charge exactly once after each green built slice.** On the control tree, a slice
42
+ already marked built is not charged again after retry, resume, or
43
+ compaction. Re-read the saved cursor; if it is zero, report the cap and stop
44
+ before the next dispatch.
45
+ - **Serial:** charge when fail-on-red is green and the built record is written
46
+ (same rewrite as step 2).
47
+ - **Parallel `--parallel`:** charge only after **successful integrate**
48
+ — once per landed green sibling. Abort / integrate-failed → charge **0**.
49
+ Do not charge on worktree-green before integrate. See
50
+ [`parallel-batch.md`](parallel-batch.md).
51
+
52
+ Use this stop message:
53
+
54
+ ```text
55
+ AFK cap reached. Raise `state.md` `afk_slices_remaining`/`AFK slices remaining` or remove the sentinel to continue.
56
+ ```
57
+
58
+ `max_slices` itself is read-only and never rewritten. No exit-code command
59
+ enforces this policy.
60
+
61
+ Choose caps deliberately (≈5–10 small, ≈30–50 larger). Avoid `unlimited` until HITL
62
+ has succeeded for the work.
63
+
64
+ ## Fail-on-red
65
+
66
+ The **fail-on-red step** refuses `built` when targeted tests/types/lint are red. Red means
67
+ wrong contract or proof path — agent-owned recovery; never advance on broken state.
68
+
69
+ The fail-on-red path:
70
+
71
+ 1. Continue the same wright under `devrites-debug-recovery`, carrying exact output and dead
72
+ ends; cap writer + recovery at three no-progress attempts per exact causal fingerprint
73
+ and strategy.
74
+ A correction that closes the reproduction is progress; a different evidenced
75
+ Critical/Important invariant starts a separate fingerprint.
76
+ 2. Green → record the slice. Product-contract/irreversible ambiguity → write the genuine
77
+ human gate. Missing human-only credential/permission → write a human-intervention gate.
78
+ 3. Any other spent strategy → escalate inline to the next correction class; after three
79
+ escalations park the fingerprint and build every slice that does not depend on it,
80
+ per the [retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
81
+ Never ask a qid or permission to retry; never hand back a routine phase command.
82
+ 4. Fire `notify:` only for an actual `awaiting_human` transition.
83
+
84
+ AFK never starts the next slice while checks are red and never asks the human to approve
85
+ agent-owned diagnosis or parser/test repair.
86
+
87
+ ## Irreversible-risk list (always pause)
88
+
89
+ Regardless of `allow_gates`, AFK invokes the checkpoint protocol when the slice touches
90
+ any of:
91
+
92
+ - Destructive data migration (drop column, drop table, irreversible backfill).
93
+ - Auth / authz boundary change (new role, changed permission check, new public auth endpoint).
94
+ - Public API break (response shape change, removed endpoint, changed status code semantics).
95
+ - External-service contract change (webhook payload, partner-facing schema).
96
+ - Filesystem destructive operation outside the workspace (`rm -rf` of project paths,
97
+ rewriting `.gitignore`-listed paths, deleting fixtures).
98
+ - Anything the slice's `Gate: blocking` plus its `Checkpoint:` line in `tasks.md` flags as irreversible.
99
+
100
+ This is the Claude Code auto-mode transcript classifier list adapted to the DevRites
101
+ workspace.
102
+
103
+ ## The `notify:` hook contract
104
+
105
+ The hook is a single shell command run on the `awaiting_human` transition. Environment
106
+ the hook receives:
107
+
108
+ | Var | Value |
109
+ | --- | --- |
110
+ | `DEVRITES_QID` | the new qid (e.g. `q-2026-05-28-001`) |
111
+ | `DEVRITES_GATE` | `advisory` / `validating` / `blocking` / `escalating` |
112
+ | `DEVRITES_SLICE` | `<N — name>` |
113
+ | `DEVRITES_SLUG` | active feature slug |
114
+ | `DEVRITES_QUESTION` | the checkpoint text |
115
+ | `DEVRITES_PROPOSED` | the proposed answer |
116
+
117
+ The hook is best effort: a non-zero exit does **not** roll back the pause. Failures are
118
+ logged to `evidence.md` so the user sees them on return.
119
+
120
+ Example targets:
121
+
122
+ - `curl -fsS -m 10 -d "$DEVRITES_QID: $DEVRITES_QUESTION" ntfy.sh/my-topic`
123
+ - `osascript -e "display notification \"$DEVRITES_QUESTION\" with title \"DevRites: $DEVRITES_GATE\""`
124
+ - `pb push "$DEVRITES_SLUG: $DEVRITES_QUESTION"` (via pushbullet CLI)
125
+
126
+ DevRites does not implement notifications; the configured hook does.
127
+
128
+ ## When to leave AFK
129
+
130
+ Drop the sentinel before:
131
+
132
+ - A new feature when `/rite-build` has not yet completed successfully on this codebase
133
+ in HITL.
134
+ - A risky slice you marked `Mode: HITL` and want to walk through interactively even if
135
+ the gate is technically `validating`.
136
+ - Any time you'd rather review per-slice than batch-resolve afterwards.
137
+
138
+ AFK allows routine work to continue automatically. Re-enable it for another batch of
139
+ low-stakes work.
140
+
141
+ ## What AFK does NOT do
142
+
143
+ - It does not bypass `/rite-prove`, `/rite-review`, or `/rite-seal`. Those gates are
144
+ feature-scoped and always run when their phase runs.
145
+ - It does not skip `/rite-plan repair` when the Spec Drift Guard finds that the
146
+ durable plan is wrong. Objective implementation and tool failures stay in
147
+ bounded recovery instead.
148
+ - It does not skip `devrites-source-driven` checks. Uncertain framework behavior still
149
+ triggers the doc lookup.
150
+ - It does not skip `evidence.md` writes. AFK runs that don't record evidence are
151
+ unproven and get rejected at `/rite-prove` regardless.
152
+
153
+ The sentinel widens *human pauses*, nothing else.
@@ -0,0 +1,27 @@
1
+ # rite-build: anti-patterns
2
+
3
+ Load when a non-trivial decision stands or stopping, TDD, or doubt discipline
4
+ feels inconvenient.
5
+
6
+ Pack-wide rationalizations and red flags live in
7
+ [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-patterns.md).
8
+
9
+ ## Phase-specific rationalizations
10
+
11
+ | Excuse | Rebuttal |
12
+ |---|---|
13
+ | "Slices 1 and 2 are related; let me do both." | Caller first: [output.md](output.md#caller-owned-continuation). Standalone HITL stops; standalone AFK chains after green proof and cap/pause gates; each wright returns after one. |
14
+ | "It's faster to skip `devrites-doubt` for this small change." | Doubt is cheapest *before* the decision is standing. After is debugging. |
15
+
16
+ ## Red Flags
17
+
18
+ - Next slice violates caller/standalone routing or proof/cap/pause gates.
19
+ - Skipping `devrites-doubt` on a branching, boundary, data-model, auth, public-API, or migration decision.
20
+ - Adding a dependency or a second design system without recording rationale in `decisions.md`.
21
+ - Writing a `try/catch` block wider than what you handle.
22
+ - A comment that restates what the next line does.
23
+ - Touching files that aren't in `touched-files.md` for "tidiness".
24
+ - A comment, filename, test name, or commit subject that mentions `SLICE-###`,
25
+ a slice number, or "this slice".
26
+ - Committing onto control when the wright returns, or before Independent Build
27
+ review and fail-on-red proof are green.
@@ -0,0 +1,115 @@
1
+ # Checkpoint protocol: what `/rite-build` does when a slice is HITL
2
+
3
+ > Root-only: not inlined in --role bundles.
4
+
5
+ HITL slices pause **pre-action** as a ranked **option set** before any code:
6
+
7
+ - **Interactive:** `ask_user_question`; record to `questions.md`/`decisions.md`; clear gate;
8
+ continue in place (no `/rite-resolve` round-trip).
9
+ - **Absent / AFK / notify-only:** persist open question + `Awaiting human`, notify, **stop**.
10
+ Resume via `/rite-resolve` (or `--batch`).
11
+
12
+ ## Render contract
13
+
14
+ Render the checkpoint in user-facing output **and** persist it for the next session / AFK
15
+ observer.
16
+
17
+ ### User-facing render: the option set
18
+
19
+ Present as `ask_user_question` ranked **option set** ([`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md)): 2–4 options,
20
+ recommended first + `(Recommended)`, dimension-tagged trade-offs, plus escape hatch.
21
+ Header names slice + gate:
22
+
23
+ ```
24
+ Slice <N — name> — HITL (<gate>, SLA <SLA>). <Checkpoint text from tasks.md>
25
+
26
+ ▸ 1. <recommended> (Recommended)
27
+ logic: … · infra: … · business: … · architecture: … (+ security/UX/risk if in scope)
28
+ 2. <alternative> — <rationale + the trade-off it accepts>
29
+ 3. <alternative> — <rationale>
30
+ 4. Something else — I'll describe it
31
+ ```
32
+
33
+ Option #1 (recommended) is **required** and must reflect *this* project. Interactive pick →
34
+ resolve in place; pause → persist the same set to `questions.md` `options:` with resume
35
+ `/rite-resolve <qid> "<answer>"` (or `--drop <qid> "<reason>"`).
36
+
37
+ ### Workspace mutations
38
+
39
+ In one bounded root-owned update (one `questions.md` append and one `state.md`
40
+ rewrite; do not claim cross-file atomicity):
41
+
42
+ 1. **`questions.md` append:**
43
+
44
+ ```markdown
45
+ ## q-<YYYY-MM-DD>-<NNN>
46
+ status: open
47
+ slice: <N — name>
48
+ gate: <gate from tasks.md>
49
+ question: <Checkpoint text from tasks.md>
50
+ options: | # the ranked set, recommended first (matches the render)
51
+ 1. <recommended> (Recommended) — logic: … · infra: … · business: … · architecture: …
52
+ 2. <alternative> — <rationale>
53
+ 3. Something else — describe it
54
+ proposed: <the recommended option restated; matches option 1>
55
+ raised_at: <full RFC 3339 timestamp, e.g. 2026-10-19T08:17:08Z>
56
+ ```
57
+
58
+ 2. **`state.md` updates:** cursor `status` = `awaiting_human`, `active_slice` =
59
+ `<N — name>`, `slice_mode` = `HITL`, `next_action` = `/rite-resolve <qid> "<answer>"`;
60
+ then the `Awaiting human` table (`question_id`, `gate`, `blocking_slices` from
61
+ `Blocked by` lookups) per its owner,
62
+ [`state-workspace.md`](../../rite-spec/reference/state-workspace.md#statemd-template) § state.md template.
63
+ Question text, `proposed`, and `raised_at` stay in the step 1 entry. Legacy
64
+ `- Status:`/`- Next step:`/`- qid:` bullets are engine-accepted aliases, not the
65
+ authoring format.
66
+
67
+ 3. **`notify:` hook (if `.devrites/AFK` defines one):** export all six env vars from the
68
+ canonical contract in [`afk-discipline.md`](afk-discipline.md) (the `notify:` hook
69
+ contract table is the source of truth):
70
+
71
+ ```bash
72
+ DEVRITES_QID="$qid" \
73
+ DEVRITES_GATE="$gate" \
74
+ DEVRITES_SLICE="$slice_id" \
75
+ DEVRITES_SLUG="$slug" \
76
+ DEVRITES_QUESTION="$question" \
77
+ DEVRITES_PROPOSED="$proposed" \
78
+ sh -c "$notify_cmd"
79
+ ```
80
+
81
+ Fire after workspace write under a bounded tool timeout (e.g. 30 s). Hook failure does **not** roll back the pause (best-effort); append the exit code to `evidence.md`.
82
+
83
+ ## qid generation
84
+
85
+ Format: `q-YYYY-MM-DD-NNN`, where `NNN` is the next sequential integer for that date in
86
+ `questions.md`. The controlling root must scan every question header matching
87
+ today's prefix, collect its numeric suffixes, and select one above the highest
88
+ observed suffix (or `001` when none exist), advancing until it is unused. Then
89
+ re-read `questions.md` immediately before the append and repeat the scan. Append only if
90
+ the same candidate is still the next unused id; otherwise recompute. There is no
91
+ reservation or engine command for qids.
92
+
93
+ ## When AFK is active
94
+
95
+ If `.devrites/AFK` exists and the slice `Gate` is in `allow_gates`, skip this protocol and
96
+ auto-pick recommended option 1:
97
+
98
+ - `advisory`: log `gate: advisory` + `decisions.md`, then dispatch wright.
99
+ - `validating` (only if allowed): dispatch wright; on return log `gate: validating`, mark
100
+ `built (pending review)`, continue. Slice states remain `pending|built`; feature
101
+ acceptance is `/rite-prove`. Open `validating` is NO-GO at seal until `/rite-resolve`.
102
+
103
+ `blocking` / `escalating` / irreversible-risk always use this protocol (`afk-discipline.md`).
104
+
105
+ ## Multi-question pauses
106
+
107
+ **One question per pause.** Multiple HITL checkpoints → `/rite-plan reslice`.
108
+
109
+ ## What NOT to do
110
+
111
+ - Don't write code then pause — pre-action only.
112
+ - Don't render without persisting `state.md` + `questions.md`.
113
+ - Don't self-answer a human pause via `proposed:` — `/rite-resolve` needs an explicit
114
+ answer (distinct from interactive pick / AFK auto-pick on `allow_gates`).
115
+ - Don't put `notify:` output in chat; don't fire `notify:` on advisory-only entries.
@@ -0,0 +1,79 @@
1
+ # Checkpoint: land local WIP only after the check loop is green
2
+
3
+ > Root-only: not inlined in --role bundles.
4
+
5
+ The wright does not commit onto the control/primary branch. Independent review
6
+ and fail-on-red proof run first; a red or gap finding dispatches another wright.
7
+ Only when that loop is green does the orchestrator land the local unpushed
8
+ `WIP(<slug>):` commit. Same rule for `/rite-build`, `/rite-prove`, `/rite-polish`,
9
+ `/rite-review`, and `/rite-autocomplete`. Never push. `.devrites/CHECKPOINT` is
10
+ not a gate.
11
+
12
+ The checkpoint stays local, unpushed scratch folded at `/rite-ship`; where the
13
+ host repository's own agent contract requires approval before commits — an
14
+ ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
15
+ the orchestrator pauses for approval before landing it. The DevRites-generated
16
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
17
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
18
+
19
+ ## When (and when not)
20
+
21
+ - **Do:** after Independent Build review (or the phase's independent validators)
22
+ and fail-on-red proof are green, with no open Critical/Important and no repair
23
+ wright still in flight. Serial: git recipe below (skip empty index) or isolated
24
+ FF of a matching `transfer_commit`. Parallel: `devrites-engine parallel
25
+ integrate --slice <id> --apply-to-control` (no second control `git commit`).
26
+ - **Do not:** when a wright returns; before review/proof; with red/gap findings;
27
+ fast-forward an isolated transfer onto control before those checks.
28
+
29
+ A native-worktree `transfer_commit` is transport on the worker branch only.
30
+
31
+ ## The commit
32
+ Stage the exact candidate paths from the manifest, each as its own argv.
33
+ Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
34
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
35
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
36
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
37
+ commit locally.
38
+
39
+ Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
40
+ goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
41
+ (`WIP(admin-report): add CSV export for usage rows`, not `SLICE-003` or
42
+ `complete slice 3`). Product source, tests, comments, and filenames omit the
43
+ same marks; they stay in `.devrites/` only.
44
+
45
+ ```bash
46
+ git commit -m "WIP(<slug>): <imperative summary>" -m "$(cat <<'BODY'
47
+ [devrites-context]
48
+ decisions: <one-line delta this work added to decisions.md>
49
+ remaining: <pending count>
50
+ dead-ends: <approaches ruled out, if any>
51
+ BODY
52
+ )"
53
+ ```
54
+
55
+ **Local-only:** never push or let scratch work trigger CI.
56
+
57
+ After green landing (parallel: successful integrate), check `state.md`
58
+ outside fences before reselecting:
59
+
60
+ ```text
61
+ - [x] SLICE-004 built — <proof/checkpoint reference>
62
+ ```
63
+
64
+ A cursor `built_slices` value or a tasks.md `Status: built` field is not a substitute.
65
+ After landing: `devrites-engine check regression <slug> --update`. Before landing,
66
+ restore or route `BLOCKED` lost facts.
67
+
68
+ ## Restore
69
+ After a crash, a fresh session may read the last `WIP(<slug>)` body as crash context.
70
+ Authoritative state remains in `.devrites/`: validate the body against that workspace;
71
+ never reconstruct or advance state from the commit body. Reload per
72
+ [`context-hygiene.md`](../../devrites-lib/reference/standards/context-hygiene.md)
73
+ (`.devrites/ACTIVE`, `state.md`, `questions.md`, `decisions.md`, `test-plan.md`/`evidence.md`).
74
+
75
+ ## Collapse at ship
76
+ WIP commits are scratch and never reach shared history. `/rite-ship` folds them into the
77
+ one atomic feature commit before the Conventional-Commit ladder: see the collapse step in
78
+ [git-ship.md](../../rite-ship/reference/git-ship.md). Result: one clean commit, bisect
79
+ stays green.
@@ -0,0 +1,39 @@
1
+ # Frontend trigger
2
+
3
+ A slice is **frontend/UI** if it touches or plans to touch any of:
4
+
5
+ - React / TSX / JSX; Vue, Svelte, Astro, Angular;
6
+ - Rails Slim / Haml / ERB views; any server-rendered template;
7
+ - CSS, SCSS, Tailwind, design tokens, theme files;
8
+ - components, forms, layout, navigation, dashboard, landing/marketing page;
9
+ - UI copy, empty states, error states, onboarding, settings;
10
+ - screenshots, mockups, visual direction;
11
+ - browser behavior, responsive behavior, accessibility, frontend performance.
12
+
13
+ ## When triggered
14
+ - `/rite-spec` applies **`devrites-ux-shape`** (spec step 3a) to write the feature-level
15
+ **`design-brief.md`** before any code: design direction, key states, interaction model,
16
+ optional Figma/image visual-direction probe.
17
+ - `/rite-build` applies **`devrites-frontend-craft`** to the vetted `design-brief.md`
18
+ (register, system, states, anti-AI-slop). If missing or materially changed, shape it
19
+ and return through `/rite-vet` before code.
20
+ - `/rite-prove` applies **`devrites-browser-proof`** (proof ladder + evidence schema).
21
+ - `/rite-polish` runs the full **normalize + polish** workflow.
22
+ - `/rite-review` and `/rite-seal` include frontend UX / a11y / responsive / design-
23
+ system checks.
24
+
25
+ ## Fullstack (UI slice that also needs backend)
26
+ If the slice spans both layers, it's both a frontend **and** a backend slice. Define the
27
+ **API/data contract first** (`devrites-api-interface`), build it as one **vertical slice**
28
+ (DB → service → API → UI), apply the engineering rules to the backend and
29
+ `devrites-frontend-craft` to the UI, map each contract error to a real UI state, and
30
+ **prove both layers** (contract tests + browser proof). See
31
+ [`fullstack.md`](../../devrites-frontend-craft/reference/fullstack.md).
32
+
33
+ ## When NOT triggered
34
+ Pure backend/data/CLI/infra slices skip craft and browser proof, but still get tests
35
+ and evidence. If unsure whether a slice is "UI enough", treat copy/empty/error states
36
+ and any rendered output as UI.
37
+
38
+ Mark `Frontend craft required: yes/no` and `Browser proof required: yes/no` on the
39
+ slice in `tasks.md` so the trigger is explicit, not rediscovered each cycle.
@@ -0,0 +1,57 @@
1
+ # One-slice cycle
2
+
3
+ Each wright returns after one proven slice. Root follows
4
+ [`output.md`](output.md#caller-owned-continuation); standalone AFK uses
5
+ `afk-discipline.md`.
6
+ This serial cycle is the default `/rite-build`. Opt-in fan-out: [`parallel-batch.md`](parallel-batch.md) (`--parallel N`).
7
+
8
+ ## The cycle
9
+
10
+ The orchestrator (`/rite-build`) gates and records; the **wright** writes. See
11
+ [`wright-dispatch.md`](wright-dispatch.md).
12
+
13
+ ```text
14
+ SELECT → orchestrator: restate slice goal + acceptance + scope boundary; HITL gate (pause pre-code)
15
+ (SHAPE) → orchestrator: missing UI design-brief.md → shape it, then /rite-vet before dispatch
16
+ DISPATCH → hand the slice contract to devrites-slice-wright (fresh context). Inside the wright:
17
+ ORIENT → load only the files this slice touches; learn the project's idiom; reuse-first; affected set via `trace_path` (`../../devrites-lib/reference/standards/code-navigation.md`)
18
+ (RED) → if behavior change: write the failing test first
19
+ IMPLEMENT → smallest complete version; match conventions; devrites-frontend-craft for UI
20
+ VERIFY → writer-safe tests/types/lint; return code + tests (no control-branch commit)
21
+ (DOUBT) → orchestrator, on return: devrites-doubt each non-trivial decision the wright stood up
22
+ — dispatch the initial read-only reviews of distinct decisions in parallel
23
+ (independent claims, fresh contexts); wright fixes stay serial — writers share files
24
+ PROVE → root, concurrent with the reviews on the same frozen candidate:
25
+ required build/browser/E2E (narrow self-check/smoke first, full gate only
26
+ after it is green, long runs in the background; cancel one still running once
27
+ review or proof sends the candidate back, keeping its partial output as
28
+ diagnostics), then returned-diff/path recheck; fail-on-red
29
+ (red/gap → repair wright, then re-review and re-prove; do not commit yet)
30
+ RECORD → orchestrator: after green verification, update state.md/evidence.md and
31
+ upsert the authoritative candidate manifest from the actual scoped diff
32
+ (CHECKPOINT) → only now, with review+proof green: local WIP(<slug>): <imperative summary>
33
+ on the control branch (no slice id) → checkpoint.md
34
+ NEXT → controlling caller first: return internally via output.md; no user-facing reply.
35
+ HITL stops. Standalone AFK with parallel cap>1:
36
+ return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
37
+ ```
38
+
39
+ ## Why the boundary matters
40
+
41
+ Reviewable diffs, early drift signal, HITL decision point, no unproven pile-ups.
42
+
43
+ ## Restate the scope boundary
44
+
45
+ Before coding, write what this slice will and will **not** touch. This is the contract
46
+ you check yourself against: anything outside it is scope creep or a drift event.
47
+
48
+ ## When the slice can't be completed cleanly
49
+
50
+ - Discovered the plan is wrong → **Spec Drift Guard** (record, classify;
51
+ sweep every remaining contract assumption, then one folded repair+vet inline;
52
+ ask only for product/policy/irreversible-risk).
53
+ - Slice is bigger than one cycle → `/rite-plan reslice` inline when AC is
54
+ preserved; do not emit a human Fix.
55
+ - Blocked on a failing dependency → record in `state.md`, `/rite-plan unblock`
56
+ inline when the reroute is technical.
57
+ Never power through by guessing.
@@ -0,0 +1,29 @@
1
+ # rite-build output
2
+
3
+ > Root-only: not inlined in --role bundles.
4
+
5
+ ## Caller-owned continuation
6
+
7
+ Before standalone replies, return internally to active `/rite-autocomplete` or
8
+ another controlling rite after green proof, checkpoint, and accounting:
9
+ - Slices remain: re-read durable state and reselect/refill; no user-facing reply.
10
+ - All built: return internally to the caller to invoke `/rite-prove` under its own contract.
11
+
12
+ Human/safety/access/Git stops still use the shared reply contract.
13
+
14
+ ## Standalone response
15
+
16
+ HITL returns after one green slice; AFK chains per `afk-discipline.md`.
17
+ Every wright returns after one slice. Build alone never invokes Prove.
18
+
19
+ ```text
20
+ Done: built slice <n> — <name>[; all slices built].
21
+ Changed: <files>; state.md, touched-files.md, evidence.md
22
+ Evidence: acceptance met; tests <cmd> → pass; browser <summary|n/a>; drift <none|handled>
23
+ Open: <none|blockers|questions>
24
+ Next: /rite-build [all built: /rite-prove]
25
+ Record: .devrites/work/<slug>/evidence.md
26
+ ↻ Hygiene: /clear between slices (none in `orient` `inflight_waves`); /rite-handoff if away > a few hours
27
+ ```
28
+
29
+ Awaiting-human or stopped states use the shared reply contract.