devrites 5.10.1 → 5.11.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 +13 -0
  2. package/README.md +24 -10
  3. package/bin/devrites.mjs +2 -0
  4. package/docs/cli.md +4 -1
  5. package/docs/command-map.md +7 -5
  6. package/docs/engine/commands.md +7 -5
  7. package/docs/orchestration.md +5 -2
  8. package/docs/skills.md +10 -4
  9. package/docs/usage.md +3 -1
  10. package/engine/commands.go +3 -0
  11. package/engine/help.go +190 -0
  12. package/engine/help_test.go +98 -0
  13. package/engine/internal/devritespaths/paths.go +2 -0
  14. package/engine/internal/hostpack/hostpack.go +39 -5
  15. package/engine/internal/hostpack/hostpack_test.go +27 -13
  16. package/engine/internal/install/apply.go +17 -4
  17. package/engine/internal/install/install.go +9 -2
  18. package/engine/internal/install/install_test.go +15 -2
  19. package/engine/internal/install/preflight.go +8 -2
  20. package/engine/internal/install/update.go +1 -1
  21. package/engine/internal/parallel/cli.go +90 -32
  22. package/engine/internal/parallel/cli_test.go +32 -0
  23. package/engine/main.go +15 -8
  24. package/engine/root_routing_test.go +4 -0
  25. package/install.sh +4 -1
  26. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  27. package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -5
  28. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +12 -7
  29. package/pack/.claude/skills/rite-build/SKILL.md +3 -1
  30. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +4 -3
  31. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +3 -1
  32. package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
  33. package/pack/generated/README.md +4 -2
  34. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  35. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -5
  36. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +12 -7
  37. package/pack/generated/claude/skills/rite-build/SKILL.md +3 -1
  38. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +4 -3
  39. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +3 -1
  40. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
  41. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  42. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -5
  43. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +12 -7
  44. package/pack/generated/codex/skills/rite-build/SKILL.md +3 -1
  45. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +4 -3
  46. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +3 -1
  47. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
  48. package/pack/generated/devin/AGENTS.md +23 -0
  49. package/pack/generated/devin/agents/devrites-code-reviewer.md +145 -0
  50. package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
  51. package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
  52. package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
  53. package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
  54. package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
  55. package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
  56. package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
  57. package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
  58. package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
  59. package/pack/generated/devin/agents/devrites-security-auditor.md +112 -0
  60. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +97 -0
  61. package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
  62. package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
  63. package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
  64. package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
  65. package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
  66. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +64 -0
  67. package/pack/generated/devin/skills/devrites-audit/SKILL.md +51 -0
  68. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +77 -0
  69. package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  70. package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  71. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +97 -0
  72. package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  73. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
  74. package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  75. package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  76. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  77. package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
  78. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +80 -0
  79. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +87 -0
  80. package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
  81. package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +116 -0
  82. package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  83. package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
  84. package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  85. package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +56 -0
  86. package/pack/generated/devin/skills/devrites-interview/SKILL.md +103 -0
  87. package/pack/generated/devin/skills/devrites-lib/SKILL.md +57 -0
  88. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +42 -0
  89. package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
  90. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
  91. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
  92. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +88 -0
  93. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +60 -0
  94. package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  95. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +415 -0
  96. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +99 -0
  97. package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
  98. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
  99. package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
  100. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
  101. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +108 -0
  102. package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +48 -0
  103. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
  104. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +167 -0
  105. package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
  106. package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
  107. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
  108. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +31 -0
  109. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
  110. package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
  111. package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +43 -0
  112. package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
  113. package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +85 -0
  114. package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +47 -0
  115. package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
  116. package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +25 -0
  117. package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
  118. package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
  119. package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +88 -0
  120. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
  121. package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +68 -0
  122. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +51 -0
  123. package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +42 -0
  124. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +123 -0
  125. package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
  126. package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
  127. package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
  128. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
  129. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +202 -0
  130. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
  131. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
  132. package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
  133. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +212 -0
  134. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +92 -0
  135. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
  136. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  137. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  138. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  139. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  140. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  141. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  142. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  143. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  144. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  145. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
  146. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +74 -0
  147. package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  148. package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
  149. package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
  150. package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +53 -0
  151. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +135 -0
  152. package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  153. package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  154. package/pack/generated/devin/skills/rite/SKILL.md +148 -0
  155. package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
  156. package/pack/generated/devin/skills/rite-adopt/SKILL.md +51 -0
  157. package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
  158. package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
  159. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +142 -0
  160. package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
  161. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +151 -0
  162. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
  163. package/pack/generated/devin/skills/rite-build/SKILL.md +102 -0
  164. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
  165. package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
  166. package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
  167. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +56 -0
  168. package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
  169. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
  170. package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
  171. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +214 -0
  172. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +89 -0
  173. package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
  174. package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
  175. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +96 -0
  176. package/pack/generated/devin/skills/rite-clarify/SKILL.md +98 -0
  177. package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
  178. package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
  179. package/pack/generated/devin/skills/rite-converge/SKILL.md +144 -0
  180. package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
  181. package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
  182. package/pack/generated/devin/skills/rite-customize/SKILL.md +60 -0
  183. package/pack/generated/devin/skills/rite-define/SKILL.md +168 -0
  184. package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
  185. package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
  186. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
  187. package/pack/generated/devin/skills/rite-doctor/SKILL.md +68 -0
  188. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +55 -0
  189. package/pack/generated/devin/skills/rite-explain/SKILL.md +152 -0
  190. package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
  191. package/pack/generated/devin/skills/rite-frame/SKILL.md +114 -0
  192. package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
  193. package/pack/generated/devin/skills/rite-handoff/SKILL.md +97 -0
  194. package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
  195. package/pack/generated/devin/skills/rite-learn/SKILL.md +72 -0
  196. package/pack/generated/devin/skills/rite-plan/SKILL.md +185 -0
  197. package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
  198. package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
  199. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
  200. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
  201. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +42 -0
  202. package/pack/generated/devin/skills/rite-polish/SKILL.md +105 -0
  203. package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
  204. package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
  205. package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
  206. package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
  207. package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  208. package/pack/generated/devin/skills/rite-polish/reference/code.md +82 -0
  209. package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
  210. package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
  211. package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
  212. package/pack/generated/devin/skills/rite-polish/reference/ledger.md +65 -0
  213. package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
  214. package/pack/generated/devin/skills/rite-pov/SKILL.md +57 -0
  215. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +54 -0
  216. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +66 -0
  217. package/pack/generated/devin/skills/rite-prototype/SKILL.md +104 -0
  218. package/pack/generated/devin/skills/rite-prove/SKILL.md +122 -0
  219. package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
  220. package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
  221. package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
  222. package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
  223. package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
  224. package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +30 -0
  225. package/pack/generated/devin/skills/rite-quick/SKILL.md +81 -0
  226. package/pack/generated/devin/skills/rite-resolve/SKILL.md +98 -0
  227. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
  228. package/pack/generated/devin/skills/rite-review/SKILL.md +171 -0
  229. package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
  230. package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
  231. package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
  232. package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
  233. package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  234. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +80 -0
  235. package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
  236. package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
  237. package/pack/generated/devin/skills/rite-seal/SKILL.md +74 -0
  238. package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
  239. package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
  240. package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +29 -0
  241. package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
  242. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +47 -0
  243. package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  244. package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
  245. package/pack/generated/devin/skills/rite-ship/SKILL.md +87 -0
  246. package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
  247. package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
  248. package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
  249. package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
  250. package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
  251. package/pack/generated/devin/skills/rite-spec/SKILL.md +149 -0
  252. package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  253. package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
  254. package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
  255. package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
  256. package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
  257. package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
  258. package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
  259. package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
  260. package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
  261. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +227 -0
  262. package/pack/generated/devin/skills/rite-status/SKILL.md +57 -0
  263. package/pack/generated/devin/skills/rite-temper/SKILL.md +129 -0
  264. package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
  265. package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
  266. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
  267. package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
  268. package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
  269. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +121 -0
  270. package/pack/generated/devin/skills/rite-vet/SKILL.md +192 -0
  271. package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
  272. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +202 -0
  273. package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
  274. package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
  275. package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
  276. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +201 -0
  277. package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +84 -0
  278. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +69 -0
  279. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  280. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -5
  281. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +12 -7
  282. package/pack/generated/omp/skills/rite-build/SKILL.md +3 -1
  283. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +4 -3
  284. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +3 -1
  285. package/pack/generated/omp/skills/rite-define/reference/plan-template.md +1 -1
  286. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  287. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -5
  288. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +12 -7
  289. package/pack/generated/pi/skills/rite-build/SKILL.md +3 -1
  290. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +4 -3
  291. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +3 -1
  292. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +1 -1
  293. package/package.json +4 -2
  294. package/scripts/build-host-artifacts.sh +48 -5
  295. package/scripts/devin-generate.sh +222 -0
  296. package/update.sh +2 -1
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: rite-prototype
3
+ description: User-invoked throwaway prototype for one logic or UI design question; delete or absorb after the answer.
4
+ argument-hint: "[the question the prototype is answering]"
5
+ triggers:
6
+ - user
7
+ ---
8
+
9
+ # /rite-prototype: answer one question with throwaway code
10
+
11
+ A prototype is throwaway code for exactly one question. Choose its shape from that
12
+ question.
13
+
14
+ ## 0. Read core rules
15
+
16
+ Read `.devin/skills/devrites-lib/reference/standards/core.md` first: the operating rules and the Persistence-before-stopping
17
+ discipline apply even to throwaway code. The other rule files load on demand.
18
+
19
+ ## 1. Name the question
20
+
21
+ If the user did not give the question explicitly, ask **one** short question to pin it
22
+ down. Examples that count as "the question":
23
+
24
+ - "Does this reducer correctly model add / undo / re-add of the same item?"
25
+ - "Which of these three settings layouts feels right?"
26
+ - "Will the proposed state machine deadlock when X overlaps Y?"
27
+
28
+ A vague request such as "explore this feature" is not enough. Ask once for a specific
29
+ question.
30
+
31
+ ## 2. Pick the branch
32
+
33
+ Read the user's prompt and surrounding code, then choose one branch:
34
+
35
+ | Question shape | Branch | Artifact |
36
+ |---|---|---|
37
+ | "Does this **logic / state / data model** behave right?" | **Logic** | Smallest runnable harness (terminal script / REPL / mini node or python file) that pushes the model through the hard cases. |
38
+ | "What should this **look like / which UX wins**?" | **UI** | 2-4 **radically different** UI variations on a single route, switchable via a query param + a small floating selector bar. |
39
+
40
+ If genuinely ambiguous and the user is AFK: pick by the surrounding code (backend module
41
+ → Logic; page / component → UI) and state the assumption in a comment at the top.
42
+
43
+ **Variations must differ in structure.** Colour or padding changes alone do not answer
44
+ a design question. Give each variation a different information architecture or
45
+ interaction model.
46
+
47
+ ## 3. Rules that apply to both branches
48
+
49
+ 1. **Mark it as throwaway.** Place the prototype near its eventual use, but use a name
50
+ that clearly identifies it: `prototype/`, `__prototype__`, `.scratch/`, etc. Obey the project's
51
+ existing routing / module convention; don't invent a new top-level structure.
52
+ 2. **Provide one run command.** Use the project's existing task runner: `pnpm
53
+ <name>`, `python <path>`, or `bun <path>`.
54
+ 3. **No persistence by default.** State lives in memory. Persistence is usually the
55
+ thing the prototype is *checking*, not a dependency. If the question explicitly
56
+ involves a DB, hit a scratch DB or a local file with a name like
57
+ `PROTOTYPE — wipe me`.
58
+ 4. **Skip polish.** Add no tests, abstractions, or error handling beyond what is needed
59
+ to run and answer the question.
60
+ 5. **Surface state.** After every action (Logic) or on every variant switch (UI), print
61
+ or render the full relevant state so the user can see what changed.
62
+ 6. **Delete or absorb when done.** After answering the question, delete the prototype
63
+ or fold the validated decision into production code.
64
+
65
+ ## 4. Capture the answer
66
+
67
+ The answer is the only durable output. Before declaring the prototype done, write
68
+ one of:
69
+
70
+ - An entry in the active feature's `decisions.md` (`.devrites/work/<slug>/decisions.md`)
71
+ with the question and the answer.
72
+ - A `NOTES.md` next to the prototype if no active feature exists.
73
+
74
+ If the user is present, ask for the verdict directly. In AFK, the prototype remains
75
+ incomplete until the verdict is filled in. A blank `VERDICT: ___` is not an answer.
76
+ Mark it **not yet complete**. Queue the question and do not delete the prototype until
77
+ a later pass records the verdict.
78
+
79
+ ## Where this slots in
80
+
81
+ `/rite-prototype` is a scoped detour, not a separate phase. Typical uses:
82
+
83
+ - **During `/rite-clarify` (between spec and define):** a product/constraint question is
84
+ undecidable on paper; prototype it, capture the answer, return to `/rite-clarify`.
85
+ - **Mid-build:** `/rite-build` hit a state-model ambiguity that the spec doesn't
86
+ resolve. Drop into a Logic prototype, capture the answer, return.
87
+
88
+ After the prototype answers the question and the answer is recorded, return to the
89
+ calling phase. The prototype itself does **not** ship.
90
+
91
+ ## Output
92
+
93
+ ```
94
+ Done: prototype answered <question>.
95
+ Changed: <prototype path | deleted after absorption>; decisions.md or NOTES.md
96
+ Evidence: run command <cmd -> result>; verdict <one line>
97
+ Open: <none | non-blocking delete/absorb follow-up>
98
+ Next: <single command returning to the calling phase>
99
+ Record: <.devrites/work/<slug>/decisions.md | NOTES.md path>
100
+ ↻ Hygiene: /clear after the answer is recorded; delete or absorb throwaway code before shipping
101
+ ```
102
+
103
+ If the verdict is missing, use the shared `Awaiting human` form. The prototype is
104
+ not `Done`, and `Resume:` points to the queued verdict question.
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: rite-prove
3
+ description: Prove a completed feature with tests and the full test suite, build/typecheck/lint, end-to-end/browser evidence, screenshots, commands, and outputs for seal. Not for single-slice proof.
4
+ argument-hint: "[feature-slug]"
5
+ ---
6
+
7
+ # /rite-prove: prove the completed feature
8
+
9
+ Prove the assembled feature once. No workspace: use `/verify` or `/run`;
10
+ pending tasks: stop for `/rite-build`.
11
+ Never assert unobserved passes. After Polish/Review edits, repeat affected
12
+ criteria/dependencies and bind under
13
+ [evidence validity](../devrites-lib/reference/candidate-integrity.md#evidence-validity).
14
+ Initial full feature proof and required mutable observations still run.
15
+
16
+ ## Rules
17
+
18
+ Read the applicable standards: [`testing.md`](../devrites-lib/reference/standards/testing.md), [`test-proof-checklist.md`](../devrites-lib/reference/standards/test-proof-checklist.md),
19
+ [`browser-proof-checklist.md`](../devrites-lib/reference/standards/browser-proof-checklist.md) for UI, [`spec-grammar.md`](../devrites-lib/reference/standards/spec-grammar.md), [`performance.md`](../devrites-lib/reference/standards/performance.md),
20
+ [`observability.md`](../devrites-lib/reference/standards/observability.md), topology/data/integration rules named by the plan,
21
+ [`developer-experience.md`](../devrites-lib/reference/standards/developer-experience.md), [`definition-of-done.md`](../devrites-lib/reference/standards/definition-of-done.md), [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md), and
22
+ [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md). Developer surfaces require an observed flow, measured
23
+ TTHW, and exact signal-bearing errors; never assert DX.
24
+
25
+ - Each claim needs an executed positive, discriminating assertion and decisive
26
+ signal; green commands alone are unproven.
27
+ - Follow [`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md). Prove owns proof binding, not candidate
28
+ grammar/hashing. Spec Drift Guard owns revealed contract drift.
29
+ - Root runs vetted gates/browser and records immutable evidence; proof runner
30
+ validates it. Only the bounded wright fixes product source/tests.
31
+ - **Prove remains the controlling caller** during technical backtracking. Save
32
+ its cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
33
+ consume nested boundaries; resume the failed rung. Recovery exhausts after
34
+ three no-progress attempts on the exact same fingerprint. Closing one or exposing a distinct
35
+ Critical/Important invariant is progress, not a reason to hand work off.
36
+ <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Prove consumes installed Workflow Artifact or CLEANED rerun","action":"VERIFY_EXISTING or admitted proof path ending PROVE_AND_RETURN","return":"saved Prove cursor; stop before real action"} -->
37
+ ## Released-workspace refresh
38
+
39
+ Only an admitted `/rite-upgrade` assessment proving a released-format candidate
40
+ defect enters. Require legacy touched-file scope, live diff, tasks, and traceability agree unambiguously
41
+ on every candidate path/state. Missing or
42
+ ambiguous scope stops; never guess from Git. Preserve unrelated manifest content
43
+ and refresh only the strict manifest from observed bytes.
44
+
45
+ Discard old passes. Run all current approved real proof from scratch. Establish
46
+ pre-proof and post-proof engine digest with `devrites-engine check candidate
47
+ <slug>` and require equality, then write one fresh exact binding in evidence and
48
+ browser evidence. Current failure blocks; Upgrade does not authorize source or
49
+ test changes.
50
+
51
+ ## Workflow
52
+
53
+ 1. **Orient.** Read core, resolve active slug, require `state.md`, and read its
54
+ cursor. On blocked Prove cold resume, reconcile retained consumptive evidence
55
+ and no-progress corrections before accepting terminal none; a distinct
56
+ fingerprint below cap resumes offline triage without another real action.
57
+ 2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
58
+ every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
59
+ caller) and resumes here; it never authorizes ad hoc proof.
60
+ 3. **Approve commands.** If absent, use
61
+ [test-command-discovery](reference/test-command-discovery.md) over repository
62
+ manifests/CI. Discovery is evidence only: `test-plan.md` is the sole approved runtime
63
+ command list. A newly found command must return to the current Vet contract,
64
+ refresh readiness, then resume without user handoff.
65
+ 4. **Execute a frozen candidate.** Run `devrites-engine check candidate <slug>` and retain its digest.
66
+ The root runs only commands declared by `test-plan.md`, with exact approved
67
+ command, cwd, prerequisites, exit, and sanitized
68
+ decisive output. Run relevant suite plus build/typecheck/lint. Recheck the
69
+ candidate and require identical digest/no source mutation. Reject substituted
70
+ commands, malformed manifests, zero-test/skipped/filtered behavioral claims,
71
+ exit-status-only claims, and source drift. Static gates prove only their named
72
+ static criterion.
73
+ 5. **Gate consumptive actions.** Immediately before execution, apply
74
+ [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md): current retained identity, bounds/sanitization,
75
+ injective boundary map, per-seam fault fixtures, collision mutant, terminal
76
+ fixtures, and cleanup-survival proof must be green. Missing/stale/disposable-
77
+ only evidence returns to Vet without spending an attempt. Record the admitted artifact identity before execution.
78
+ After failure, retained evidence is the
79
+ reproduction; never rerun for diagnosis. Spent authorization blocks another
80
+ action, but when action budget is zero it does not exhaust a newly identified
81
+ offline fingerprint.
82
+ 6. **Prove UI when applicable.** Use design brief/references, browser harness,
83
+ allowed scratch path, [proof ladder](reference/proof-ladder.md), and
84
+ [browser proof](reference/browser-proof.md): routes, viewports, opened and
85
+ described screenshots, console/network, interaction, target comparisons, and
86
+ every required state. Material mismatch fails.
87
+ 7. **Independent validation.** Fresh read-only `devrites-proof-runner` and
88
+ `devrites-spec-reviewer` judge the same candidate/commands/evidence/acceptance map.
89
+ Neither runs commands; reject missing/stale, invented-ID, label-only or self-attested reports.
90
+ 8. **Map proof.** Reconcile verdicts under [acceptance-proof.md](reference/acceptance-proof.md).
91
+ Every criterion/scenario/interaction/key link needs discriminating evidence or a
92
+ blocker, including critical-path, observability, developer and wiring branches.
93
+ 9. **Recover red.** Use [failure triage](reference/failure-triage.md) and Debug
94
+ Recovery. Reconcile reproduction; send accepted in-scope source/test correction
95
+ to the sole wright; update actual manifest; rerun affected proof, both candidate
96
+ checks, and fresh proof runner. Recheck affected acceptance with the exact spec
97
+ reviewer; reconcile both validators under evidence validity. Scope growth blocks.
98
+
99
+ Agent-owned durable-plan errors run Spec Drift Guard, Plan, and Vet inline,
100
+ preserving Prove as origin. Consumptive failures use retained fixtures, repair,
101
+ and Vet, then stop for fresh GO after changed conditions. Ambiguous retained
102
+ evidence does not prove that no safe future acquisition design exists: treat
103
+ an in-scope discriminator as diagnostic-amplification Plan gap, repair its
104
+ finite map/collision proof, narrow-Vet, then seek fresh GO before one evidence
105
+ attempt. Never guess the runtime fix or reuse old GO.
106
+ 10. **Record.** Root updates `evidence.md`, optional `browser-evidence.md`,
107
+ traceability, and state, with exactly one observed candidate binding.
108
+ After independent validators are green, checkpoint remaining candidate
109
+ diffs per [`checkpoint.md`](../rite-build/reference/checkpoint.md). A wright
110
+ correction during Recover red does not commit on control until this step.
111
+
112
+ > Do not claim an unobserved pass, skip browser proof, or proceed with pending
113
+ > slices. Load `reference/anti-patterns.md` when tempted to do so.
114
+
115
+ ## Phase exit
116
+
117
+ **Complete when:** every criterion in `acceptance-proof.md` has discriminating
118
+ evidence bound to the current candidate digest, both independent validators admit
119
+ accounts, and `state.md` records Prove complete with no open `cannot_verify` rows.
120
+
121
+ **Failing case:** narrative "all tests passed" without `evidence.md` binding and
122
+ proof-runner admission → phase not complete; Seal blocks.
@@ -0,0 +1,88 @@
1
+ # Acceptance proof
2
+
3
+ Map each `spec.md` criterion to `test | command | browser | judgment` evidence
4
+ and one-line reason. Run [`spec-grammar.md`](../../devrites-lib/reference/standards/spec-grammar.md)'s Native grammar re-read on the saved
5
+ spec before mapping; reopen after corrections. No parser/script may replace it.
6
+
7
+ Every structured WHEN/THEN scenario needs a passing asserting test. When
8
+ `test-plan.md` exists, every acceptance/gap requirement, interactive element, and
9
+ user flow needs a passing result. Missing coverage blocks.
10
+
11
+ Apply [[`testing.md`](../../devrites-lib/reference/standards/testing.md)'s positive, discriminating proof](../../devrites-lib/reference/standards/testing.md#positive-discriminating-proof),
12
+ including invalid-result exclusions and static/textual criterion boundaries.
13
+ Unsupported behavioral claims are `cannot_verify` and block proof.
14
+
15
+ ## Silent-failure probe
16
+
17
+ When tests pass but error paths, dropped results, or partial success could hide
18
+ failure, require at least one **discriminating** check that would fail if the silent
19
+ path regressed (assert the failure surface, not only the happy path).
20
+
21
+ **Failing case:** handler returns success while logging or swallowing internally; the
22
+ suite stays green → map `cannot_verify` unless a test asserts the user-visible or
23
+ contract failure outcome.
24
+
25
+ ## Backstop disposition
26
+
27
+ A `backstop` passes only on its spec-named independent held-out,
28
+ property/metamorphic, or direct behavioral check plus discriminating observed
29
+ output. Presence, test names without results, author judgment, or an expectation
30
+ copied from the same implementation logic fails.
31
+
32
+ Undefined/unavailable signal: `cannot_verify`, evidence
33
+ `insufficient_spec: <missing fact or evidence surface>`, then Spec Drift; never
34
+ judgment or pass.
35
+
36
+ ## Applicable system-risk proof
37
+
38
+ Reconcile `spec.md`'s applicability map with the final diff. For each triggered owner:
39
+
40
+ - [`repository-topology.md`](../../devrites-lib/reference/standards/repository-topology.md): prove commands ran at every affected root and both provider
41
+ and consumer used the same canonical contract; identify generated/vendor sources.
42
+ - [`data-integrity.md`](../../devrites-lib/reference/standards/data-integrity.md): prove declared invariants plus relevant duplicate/retry,
43
+ concurrency, interruption/resume, old/new coexistence, tenant isolation, and
44
+ rollback/forward-recovery cases with recorded scale/counts.
45
+ - [`integration-reliability.md`](../../devrites-lib/reference/standards/integration-reliability.md): prove relevant invalid/partial response, auth failure,
46
+ timeout/unknown outcome, rate limit/outage, duplicate/order, poison/backlog, cache/partition,
47
+ degradation, and recovery behavior.
48
+
49
+ An evidence-backed dismissal is valid for an irrelevant case. An applicable case with no
50
+ executable proof surface is `cannot_verify`; do not infer it from an implementation review
51
+ or a mock that cannot produce the risk.
52
+
53
+ ## Critical-path assertion strength
54
+
55
+ For regression-Critical, irreversible, and data-loss paths, require
56
+ [[`testing.md`](../../devrites-lib/reference/standards/testing.md)'s safe perturbation](../../devrites-lib/reference/standards/testing.md#safe-perturbation).
57
+ Missing evidence is `cannot_verify`; a green test on broken code is unproven.
58
+ Pure transforms also get a round-trip or
59
+ metamorphic property check when applicable.
60
+
61
+ ## Runtime observability branch
62
+
63
+ For endpoints, jobs, consumers, integrations, user flows, or new error paths,
64
+ trigger failure and observe the required log/metric/trace per [`observability.md`](../../devrites-lib/reference/standards/observability.md);
65
+ record it. Skip pure internal, docs, config, and type-only changes.
66
+
67
+ ## Developer-facing branch
68
+
69
+ For public API/CLI/SDK/webhook/config/error/onboarding, execute the real entry on
70
+ clean state, measure time-to-hello-world, and capture verbatim failure output.
71
+ Browser-capture docs/quickstarts when applicable. Write the scorecard to
72
+ `devex.md` and headline evidence to `evidence.md`.
73
+
74
+ ## Wiring branch
75
+
76
+ Exercise/follow every key `plan.md` link in the assembled feature; record each as
77
+ `EVID-###`, or record none declared. An unwired link blocks.
78
+
79
+ For every critical link, apply safe perturbation to the load-bearing input/link and observe the
80
+ promised surface fail. Existence/registration/spy-call evidence is insufficient when a
81
+ different path can coincidentally produce the expected result.
82
+
83
+ ## Baseline and environment claims
84
+
85
+ Classify a failure as pre-existing or environment-specific only with a dated
86
+ before-candidate result for the same command, working directory, prerequisites, and
87
+ material environment. Otherwise record it as an unresolved candidate result. For time/local
88
+ behavior, bind the instant, time zone, locale, and relevant old/new configuration.
@@ -0,0 +1,25 @@
1
+ # rite-prove: anti-patterns
2
+
3
+ Load this when standing a non-trivial proof decision, or when tempted to
4
+ report a pass you didn't observe, skip a rung of the browser-proof ladder,
5
+ or proceed without all slices built.
6
+
7
+ Pack-wide rationalizations + red flags (incl. observed-but-not-recorded):
8
+ see [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-patterns.md).
9
+
10
+ ## Phase-specific rationalizations
11
+
12
+ | Excuse | Rebuttal |
13
+ |---|---|
14
+ | "Tests passed during build; that's enough." | Build = per-slice sanity check. Prove = whole-feature suite + build/typecheck/lint + browser. |
15
+ | "Browser proof is overkill for this UI change." | If it's UI and a browser can run, the ladder applies. If you can't, document which rung and why. |
16
+ | "Failure is in pre-existing code, not in this feature." | Still surfaces as a blocker. Feature scope = fix in scope or record + halt. |
17
+ | "Some slices are still pending but the rest can be proved." | No: `/rite-prove` runs once, when every slice is built. Otherwise you're proving a partial system. |
18
+
19
+ ## Red Flags
20
+
21
+ - Reporting "pass" for a command you didn't run.
22
+ - Skipping browser-proof rungs 1-3 because rung 4 (project E2E) was easier.
23
+ - An acceptance criterion left "unproven" without a corresponding blocker note.
24
+ - Tests recorded green but the diff shows the test file wasn't touched (stale run).
25
+ - About to write `evidence.md` without command + output.
@@ -0,0 +1,51 @@
1
+ # Browser proof: evidence schema
2
+
3
+ What `browser-evidence.md` must capture for a UI slice. Delegates to
4
+ `devrites-browser-proof`; this is the record contract.
5
+
6
+ ```markdown
7
+ # Browser Evidence
8
+
9
+ ## Browser evidence
10
+ | Evidence ID | Route | State/input | Viewport | Compared with | Tooling | Result | Related IDs | Limitation |
11
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- |
12
+ | EVID-003 | <route> | empty/keyboard | 375 | brief Proof targets + target reference 1 | playwright-mcp | <observed result> | AC-002, SLICE-002 | <none / exact gap> |
13
+
14
+ ## Visual Verdict
15
+ | State | Result | Notes |
16
+ | --- | --- | --- |
17
+ | default | PASS / FAIL | <what is visible> |
18
+ | loading | PASS / FAIL | <what is visible> |
19
+ | error | PASS / FAIL | <what is visible> |
20
+
21
+ ## Comparison deltas
22
+ | State / viewport | Target | Material delta observed | Disposition | Result |
23
+ | --- | --- | --- | --- | --- |
24
+ | empty / 375 | design-brief.md + R1 | <hierarchy/layout/spacing/type/behavior difference> | fixed + re-rendered / accepted with reason | PASS / FAIL |
25
+
26
+ ## Run notes
27
+ - Screenshots: <path(s)> — opened and described above.
28
+ - Console: <errors/warnings, or "clean">.
29
+ - Network: <failures, or "no failures">.
30
+ - Interaction path: <clicks/inputs performed and result>.
31
+ - Accessibility: <focus order / labels / contrast spot-check>.
32
+ - Responsive: <what changed across viewports; any breakage>.
33
+ ```
34
+
35
+ ## Rules
36
+ - Open every screenshot path and describe it: never assert from the filename.
37
+ - Read `design-brief.md` + `references.md` first. Compare fidelity only with references
38
+ classified **target**; check constraints as rules and never pixel-match inspiration.
39
+ - Render every proof target named by the brief/slice using the canonical viewport
40
+ set and state coverage in [quality-standards.md](../../devrites-frontend-craft/reference/quality-standards.md).
41
+ Apply [capture admissibility](../../devrites-lib/reference/standards/browser-proof-checklist.md)
42
+ before assigning a visual verdict; invalid captures leave proof `cannot_verify`.
43
+ - Compare structure before decoration: hierarchy/layout → responsive/state behavior →
44
+ type/spacing/color → polish. Record each material delta, fix it, and re-render. A visual
45
+ PASS requires zero unresolved material deltas; an accepted departure needs its reason in
46
+ the design brief's build-time refinements.
47
+ - A clean console + no layout shift are part of the evidence, not extras.
48
+ - If no browser can run, write the manual verification steps a human would follow and
49
+ mark the slice's browser proof as **pending (manual)**.
50
+ - Every browser evidence row uses `EVID-###` and names the related `AC-###` and
51
+ `SLICE-###`; `/rite-prove` mirrors the evidence ID in `traceability.md`.
@@ -0,0 +1,43 @@
1
+ # Failure triage
2
+
3
+ When a test/build/runtime/browser check fails, triage before fixing. Delegates the deep
4
+ loop to `devrites-debug-recovery`.
5
+
6
+ ## Triage ladder
7
+ 1. **Reproduce:** for a repeatable command, run it again and capture the exact
8
+ error (quote it). For a consumptive action under
9
+ [`one-shot-actions.md`](../../devrites-lib/reference/standards/one-shot-actions.md),
10
+ never rerun it: use the retained bounded artifact as the reproduction input.
11
+ 2. **Classify** the failure:
12
+ - test is right, code is wrong → fix the code (in scope).
13
+ - test is wrong/outdated → that may be **spec drift** (acceptance criteria wrong).
14
+ - environment/setup (missing dep, wrong node/ruby) → fix it when agent-owned;
15
+ record a blocker only for human/access ownership, scope overflow, or exhausted
16
+ fingerprint recovery.
17
+ - flaky (passes on re-run, timing/order) → note it; don't paper over with retries.
18
+ - external dependency down → record blocker; don't fake the result.
19
+ 3. **Isolate:** minimize to the smallest failing case; bisect the diff if needed.
20
+ If consumptive evidence maps to multiple causal seams, this is a
21
+ diagnostic-amplification plan gap: design and Vet an injective boundary
22
+ discriminator offline instead of guessing a runtime correction or declaring
23
+ the cleaned-away past state terminal.
24
+ 4. **Fix within scope:** the current slice/feature only. If the fix reaches outside
25
+ scope, stop and record a blocker in `state.md` (then `/rite-plan unblock`).
26
+ 5. **Re-run** the same command when it is repeatable; confirm green and record both
27
+ attempts in `evidence.md`. A consumptive action needs re-vetted evidence
28
+ completeness and any fresh authorization before a new attempt. Its spent
29
+ action authorization does not stop offline recovery: a retained new fingerprint
30
+ enters caller-owned diagnosis, correction, fixtures, and narrow Vet immediately.
31
+ A separately authorized diagnostic-amplification attempt may acquire the missing
32
+ discriminator after its evidence design passes Vet; it is not a blind rerun.
33
+
34
+ ## Rules
35
+ - Quote the real error text; don't paraphrase it away.
36
+ - Don't loosen/delete a failing assertion to get green: investigate whether it's drift.
37
+ - Don't add blanket retries/sleeps to hide flakiness.
38
+ - Three no-progress attempts on the exact same causal fingerprint consume the
39
+ shared recovery cap. A recheck that closes the reproduction is progress; a
40
+ different evidenced Critical/Important invariant gets its own fingerprint.
41
+ Preserve the reproduction and dead ends, then stop once as a technical blocker.
42
+ Ask only when the remaining decision is human-owned.
43
+ - A failure you can't fix in scope is a recorded **blocker**, not a silent skip.
@@ -0,0 +1,28 @@
1
+ # Proof ladder
2
+
3
+ Prefer real runtime evidence. For UI/browser work, try tools top-down and record which
4
+ rung you used. Detect, don't install: browser tooling setup is the user's call.
5
+
6
+ 1. **Playwright MCP** (preferred when configured)
7
+ - Detect: the Playwright MCP `browser_*` tools are available (e.g. `browser_navigate`).
8
+ Capabilities: navigation, accessibility-tree snapshots, screenshots, ref-based
9
+ clicks/typing, console messages, network requests, `browser_evaluate`. Drives a
10
+ Playwright-managed browser; detect, don't install.
11
+ 2. **Chrome DevTools MCP** (when configured). Pair it with Playwright MCP for Lighthouse, the
12
+ perf trace, deeper DOM inspection, screenshots, console, network, performance, and the
13
+ accessibility tree.
14
+ 3. **Claude Code `/run` and `/verify`** (if available): launch and observe the app;
15
+ prefer a project-specific run/verify skill if one exists.
16
+ 4. **Project-native E2E** (only if already present). Playwright, Cypress, Capybara,
17
+ Selenium. Use the project's existing commands; don't add a new framework.
18
+ 5. **Manual fallback:** no tooling available: record the limitation and write exact
19
+ manual steps (route, action, expected result).
20
+
21
+ ## Non-UI scope
22
+ The "ladder" for backend/CLI/data scope is just: targeted tests → build/typecheck/lint
23
+ → runtime observation (a real request/response or CLI run). Same evidence rules apply.
24
+
25
+ ## Stop conditions
26
+ - Auth wall reached → stop, ask the user; never type credentials from a screenshot.
27
+ - Destructive action required to prove → confirm with the user first.
28
+ - A screenshot tool returns a path → **open and describe it**; a path is not proof.
@@ -0,0 +1,30 @@
1
+ # Test / build command discovery
2
+
3
+ Use project commands. Never invent a test runner or build step.
4
+ Repository files are discovery evidence, not authorization. `test-plan.md` is
5
+ the sole approved runtime command list.
6
+
7
+ | Discovery source | Look for |
8
+ |---|---|
9
+ | `package.json` `scripts` | `test`, `build`, `typecheck`, `lint`, `dev`, `e2e` |
10
+ | `Makefile` / `Justfile` / `Taskfile` | `test`, `build`, `check`, `lint` targets |
11
+ | `Gemfile` / `Rakefile` | `rake test`, `rspec`, `bin/rails test` |
12
+ | `pyproject.toml` / `tox.ini` / `noxfile.py` | `pytest`, `tox`, `nox` |
13
+ | `go.mod` | `go test ./...`, `go build ./...`, `go vet` |
14
+ | `Cargo.toml` | `cargo test`, `cargo build`, `cargo clippy` |
15
+ | CI configs (`.github/workflows`, `.gitlab-ci.yml`, `circleci`) | commands CI runs |
16
+ | README / CONTRIBUTING | documented dev/test workflow |
17
+ | framework conventions | Rails/Django/Next/etc. defaults when nothing else is set |
18
+
19
+ ## Vet before execution
20
+
21
+ Compare every discovered candidate, including a narrower target, with
22
+ `test-plan.md`. If it is absent, do not run it or add it silently. Return to the
23
+ current Vet contract to add and vet the command, refresh readiness, then return
24
+ to Prove. A command may run only when its exact command, cwd, and prerequisites
25
+ are approved in `test-plan.md`.
26
+
27
+ ## If nothing exists
28
+ No tests in the project: say so. Propose the minimal test setup as a
29
+ **follow-up** (ask before adding a framework); any runtime observation command
30
+ still needs Vet approval in `test-plan.md`.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: rite-quick
3
+ description: "Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix."
4
+ argument-hint: "<what to change>"
5
+ ---
6
+
7
+ # /rite-quick: express lane for small changes
8
+
9
+ The full DevRites lifecycle is right for real features; it is **ceremony** for a typo, a
10
+ copy tweak, a one-function fix, or a small config change. `/rite-quick` keeps the
11
+ discipline that matters (idiom, TDD, evidence, escape-to-full-lifecycle) and drops the
12
+ artifacts that don't, in a **single pass**. Senior-engineer "right step, right time" made
13
+ executable, not advisory. This lane uses the **Quick** depth profile from
14
+ [`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
15
+
16
+ ## The significance gate (the whole safety story)
17
+
18
+ **Run this first. If ANY of these holds, STOP and route to `/rite-spec`. Do NOT use the
19
+ express lane:**
20
+ - Touches **auth / authz**, a **data migration**, a **public API contract**, or any
21
+ **destructive / data-loss** path in the irreversible-risk list. See `../devrites-lib/reference/standards/afk-hitl.md`.
22
+ - Spans **more than one vertical slice**, or more than a couple of files of real logic.
23
+ - **Ambiguous scope:** you'd have to guess what "done" means, or the ask hides a design
24
+ decision (data model, new dependency, second design system).
25
+ - Security-sensitive input handling, or a measurable performance-critical path.
26
+ - Would **break a declared project principle** (`.devrites/principles.md`) with no recorded,
27
+ human-approved exception: the express lane never relaxes a project gate; a needed exception is
28
+ a deliberate human decision, so route it to `/rite-spec`.
29
+
30
+ If none hold, the change is small + reversible + unambiguous → proceed. **When in doubt,
31
+ escalate**: the cost of the full lifecycle on a small change is minutes; the cost of the
32
+ express lane on a risky one is the failure mode the lifecycle exists to prevent.
33
+
34
+ ## Rules consulted (read on demand from `.devin/skills/devrites-lib/reference/standards/`)
35
+ Load this lane's conditional standards when needed:
36
+ - [`coding-style.md`](../devrites-lib/reference/standards/coding-style.md): naming, guard clauses, reuse-first.
37
+ - [`testing.md`](../devrites-lib/reference/standards/testing.md): TDD, **completeness** (every touched behavior/element asserted) +
38
+ **assertion strength** (no tautological tests; see it fail first), scaled to the change.
39
+ - [`error-handling.md`](../devrites-lib/reference/standards/error-handling.md) / [`security.md`](../devrites-lib/reference/standards/security.md): only if the change touches input/errors.
40
+ - [`principles.md`](../devrites-lib/reference/standards/principles.md): when `.devrites/principles.md` exists; a change that breaks an invariant is a gate, not a quick fix.
41
+ - [`definition-of-done.md`](../devrites-lib/reference/standards/definition-of-done.md): standing Done bar: acceptance mapped, fresh proof, no open hard gates, scoped edits, rollback/docs where needed.
42
+
43
+
44
+ ## Workflow
45
+ 0. **Orient.** Read [`core.md`](../devrites-lib/reference/standards/core.md). If a `.devrites/` workspace is active, read its
46
+ `state.md` directly; `/rite-quick` does **not** require
47
+ a workspace and does **not** create the full tree.
48
+ 1. **Significance gate** (above). Fail → STOP, tell the user to run `/rite-spec <feature>`.
49
+ 2. **One-line contract.** Restate in 1-3 lines: the change, its **acceptance** (how you'll
50
+ know it works), and the **scope boundary** (what you will NOT touch). This is the entire
51
+ "spec + plan" for a quick change: keep it in the chat; optionally drop a `brief.md` +
52
+ `evidence.md` under an unused `.devrites/work/<slug>/` (no `state.md`; not a workspace
53
+ cursor) if the user wants a record. This is the
54
+ `/rite-frame` FRAME move: if the acceptance won't reduce to a check that could be *false*,
55
+ the ask is ambiguous → escalate per the significance gate. Its AUDIT pass is the diff
56
+ self-review in step 5.
57
+ 3. **Build with TDD.** Failing test first when behavior changes (see it fail for the right
58
+ reason) → smallest complete change in the **project's idiom** (reuse before you write,
59
+ anti-AI-slop) → cover every touched behavior / interactive element with a **real**
60
+ assertion. UI → check the states + a browser glance.
61
+ 4. **Prove (scoped).** Run the **targeted** tests + typecheck / lint for what changed (not
62
+ the whole suite) → green. Record the command + output. A tautological test that can't
63
+ fail is not proof.
64
+ 5. **Review-lite + ship.** Self-review the diff for correctness, scope, and idiom. If
65
+ `.devrites/principles.md` exists, confirm that no declared invariant is broken. This is
66
+ `/rite-frame`'s AUDIT pass: one pass, no subagent fan-out. Show the diff, then on the user's confirm commit it
67
+ (Conventional Commits, atomic), or hand to `/rite-ship` only when the change belongs to the active
68
+ feature's candidate; otherwise commit standalone. **Never push
69
+ without the user asking.**
70
+
71
+ ## Escalation (mid-flight): the Spec Drift Guard still applies
72
+ If the "small" change turns out to be not small: a second slice appears, a real design
73
+ decision surfaces, scope grows past the boundary, or you hit an irreversible-risk item:
74
+ **STOP, say so, and route to `/rite-spec` / `/rite-define`**. Don't quietly grow a quick
75
+ fix into an unreviewed feature; that's the exact drift the lifecycle guards against.
76
+
77
+ If the quick boundary does not hold or an escalation remains, use `Stopped / blocked`
78
+ and route to the full lifecycle; do not render `Done`.
79
+
80
+ **DO NOT** use this lane to dodge the gate: the express lane is for changes that are
81
+ genuinely small, not for shipping risky work faster.