devrites 7.2.8 → 7.3.1

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 (332) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +1 -1
  3. package/docs/candidate-integrity.md +10 -0
  4. package/docs/cli.md +7 -1
  5. package/docs/command-map.md +5 -2
  6. package/docs/engine/commands.md +34 -4
  7. package/docs/orchestration.md +26 -13
  8. package/docs/skills.md +5 -0
  9. package/engine/internal/acceptance/cli.go +27 -26
  10. package/engine/internal/acceptance/preconditions.go +1 -1
  11. package/engine/internal/acceptance/run.go +42 -16
  12. package/engine/internal/acceptance/transcript.go +236 -45
  13. package/engine/internal/devritespaths/paths.go +16 -3
  14. package/engine/internal/gate/gate.go +6 -0
  15. package/engine/internal/gate/readiness_binding.go +4 -3
  16. package/engine/internal/lib/candidate.go +20 -7
  17. package/engine/internal/lib/candidate_coverage.go +2 -19
  18. package/engine/internal/lib/closeout.go +16 -4
  19. package/engine/internal/lib/context.go +64 -45
  20. package/engine/internal/lib/context_io.go +171 -0
  21. package/engine/internal/lib/detect.go +8 -8
  22. package/engine/internal/lib/dispatch.go +2 -0
  23. package/engine/internal/lib/packet.go +37 -7
  24. package/engine/internal/lib/packet_freeze.go +60 -12
  25. package/engine/internal/lib/packet_integrity.go +179 -0
  26. package/engine/internal/lib/perturb.go +3 -3
  27. package/engine/internal/lib/slicecheck.go +7 -1
  28. package/engine/internal/lib/taskgraph.go +20 -36
  29. package/engine/internal/lib/triggers.go +28 -29
  30. package/engine/internal/lib/workspace_pool.go +330 -0
  31. package/engine/internal/parallel/cli.go +190 -49
  32. package/engine/internal/parallel/git.go +47 -14
  33. package/engine/internal/parallel/landing.go +232 -0
  34. package/engine/internal/parallel/lease.go +97 -18
  35. package/engine/internal/parallel/ops.go +312 -155
  36. package/engine/internal/parallel/pathdisjoint.go +48 -4
  37. package/engine/internal/parallel/prune.go +133 -0
  38. package/engine/internal/parallel/repository.go +239 -0
  39. package/engine/internal/parallel/select.go +64 -42
  40. package/engine/internal/state/observation.go +49 -2
  41. package/engine/main.go +2 -1
  42. package/pack/.claude/agents/devrites-proof-runner.md +16 -9
  43. package/pack/.claude/skills/devrites-lib/SKILL.md +2 -0
  44. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  45. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  46. package/pack/.claude/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  47. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  48. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +1 -1
  49. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  50. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +18 -9
  51. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  52. package/pack/.claude/skills/rite-autocomplete/SKILL.md +12 -10
  53. package/pack/.claude/skills/rite-autocomplete/reference/lookahead.md +4 -4
  54. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +20 -9
  55. package/pack/.claude/skills/rite-build/SKILL.md +13 -10
  56. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +1 -1
  57. package/pack/.claude/skills/rite-build/reference/checkpoint.md +1 -1
  58. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +57 -36
  59. package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -5
  60. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +7 -7
  61. package/pack/.claude/skills/rite-clarify/SKILL.md +2 -2
  62. package/pack/.claude/skills/rite-converge/SKILL.md +4 -4
  63. package/pack/.claude/skills/rite-define/SKILL.md +7 -3
  64. package/pack/.claude/skills/rite-define/reference/plan-template.md +4 -2
  65. package/pack/.claude/skills/rite-plan/SKILL.md +11 -8
  66. package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +9 -2
  67. package/pack/.claude/skills/rite-plan/reference/slicing.md +2 -0
  68. package/pack/.claude/skills/rite-polish/SKILL.md +3 -3
  69. package/pack/.claude/skills/rite-prove/SKILL.md +24 -12
  70. package/pack/.claude/skills/rite-resolve/SKILL.md +3 -3
  71. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -0
  72. package/pack/.claude/skills/rite-review/SKILL.md +11 -3
  73. package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  74. package/pack/.claude/skills/rite-seal/SKILL.md +1 -1
  75. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +1 -1
  76. package/pack/.claude/skills/rite-ship/SKILL.md +2 -2
  77. package/pack/.claude/skills/rite-ship/reference/git-ship.md +2 -2
  78. package/pack/.claude/skills/rite-spec/SKILL.md +8 -5
  79. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
  80. package/pack/.claude/skills/rite-temper/SKILL.md +3 -3
  81. package/pack/.claude/skills/rite-vet/SKILL.md +19 -6
  82. package/pack/.claude/skills/rite-vet/reference/review-axes.md +12 -5
  83. package/pack/generated/claude/agents/devrites-proof-runner.md +16 -9
  84. package/pack/generated/claude/skills/devrites-lib/SKILL.md +2 -0
  85. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  86. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  87. package/pack/generated/claude/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  88. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  89. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +1 -1
  90. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  91. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +18 -9
  92. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  93. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +12 -10
  94. package/pack/generated/claude/skills/rite-autocomplete/reference/lookahead.md +4 -4
  95. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +20 -9
  96. package/pack/generated/claude/skills/rite-build/SKILL.md +13 -10
  97. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +1 -1
  98. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +1 -1
  99. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +57 -36
  100. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -5
  101. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +7 -7
  102. package/pack/generated/claude/skills/rite-clarify/SKILL.md +2 -2
  103. package/pack/generated/claude/skills/rite-converge/SKILL.md +4 -4
  104. package/pack/generated/claude/skills/rite-define/SKILL.md +7 -3
  105. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +4 -2
  106. package/pack/generated/claude/skills/rite-plan/SKILL.md +11 -8
  107. package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +9 -2
  108. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +2 -0
  109. package/pack/generated/claude/skills/rite-polish/SKILL.md +3 -3
  110. package/pack/generated/claude/skills/rite-prove/SKILL.md +24 -12
  111. package/pack/generated/claude/skills/rite-resolve/SKILL.md +3 -3
  112. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +2 -0
  113. package/pack/generated/claude/skills/rite-review/SKILL.md +11 -3
  114. package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  115. package/pack/generated/claude/skills/rite-seal/SKILL.md +1 -1
  116. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +1 -1
  117. package/pack/generated/claude/skills/rite-ship/SKILL.md +2 -2
  118. package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +2 -2
  119. package/pack/generated/claude/skills/rite-spec/SKILL.md +8 -5
  120. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
  121. package/pack/generated/claude/skills/rite-temper/SKILL.md +3 -3
  122. package/pack/generated/claude/skills/rite-vet/SKILL.md +19 -6
  123. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +12 -5
  124. package/pack/generated/codex/agents/devrites-proof-runner.toml +16 -9
  125. package/pack/generated/codex/skills/devrites-lib/SKILL.md +2 -0
  126. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  127. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  128. package/pack/generated/codex/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  129. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  130. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +1 -1
  131. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  132. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +18 -9
  133. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  134. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +12 -10
  135. package/pack/generated/codex/skills/rite-autocomplete/reference/lookahead.md +4 -4
  136. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +20 -9
  137. package/pack/generated/codex/skills/rite-build/SKILL.md +13 -10
  138. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +1 -1
  139. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +1 -1
  140. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +57 -36
  141. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -5
  142. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +7 -7
  143. package/pack/generated/codex/skills/rite-clarify/SKILL.md +2 -2
  144. package/pack/generated/codex/skills/rite-converge/SKILL.md +4 -4
  145. package/pack/generated/codex/skills/rite-define/SKILL.md +7 -3
  146. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +4 -2
  147. package/pack/generated/codex/skills/rite-plan/SKILL.md +11 -8
  148. package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +9 -2
  149. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +2 -0
  150. package/pack/generated/codex/skills/rite-polish/SKILL.md +3 -3
  151. package/pack/generated/codex/skills/rite-prove/SKILL.md +24 -12
  152. package/pack/generated/codex/skills/rite-resolve/SKILL.md +3 -3
  153. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +2 -0
  154. package/pack/generated/codex/skills/rite-review/SKILL.md +11 -3
  155. package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
  156. package/pack/generated/codex/skills/rite-seal/SKILL.md +1 -1
  157. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +1 -1
  158. package/pack/generated/codex/skills/rite-ship/SKILL.md +2 -2
  159. package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +2 -2
  160. package/pack/generated/codex/skills/rite-spec/SKILL.md +8 -5
  161. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
  162. package/pack/generated/codex/skills/rite-temper/SKILL.md +3 -3
  163. package/pack/generated/codex/skills/rite-vet/SKILL.md +19 -6
  164. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +12 -5
  165. package/pack/generated/devin/agents/devrites-proof-runner.md +16 -9
  166. package/pack/generated/devin/skills/devrites-lib/SKILL.md +2 -0
  167. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  168. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  169. package/pack/generated/devin/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  170. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  171. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +1 -1
  172. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  173. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +18 -9
  174. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  175. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +12 -10
  176. package/pack/generated/devin/skills/rite-autocomplete/reference/lookahead.md +4 -4
  177. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +20 -9
  178. package/pack/generated/devin/skills/rite-build/SKILL.md +13 -10
  179. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +1 -1
  180. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +1 -1
  181. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +57 -36
  182. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +8 -5
  183. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +7 -7
  184. package/pack/generated/devin/skills/rite-clarify/SKILL.md +2 -2
  185. package/pack/generated/devin/skills/rite-converge/SKILL.md +4 -4
  186. package/pack/generated/devin/skills/rite-define/SKILL.md +7 -3
  187. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +4 -2
  188. package/pack/generated/devin/skills/rite-plan/SKILL.md +11 -8
  189. package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +9 -2
  190. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +2 -0
  191. package/pack/generated/devin/skills/rite-polish/SKILL.md +3 -3
  192. package/pack/generated/devin/skills/rite-prove/SKILL.md +24 -12
  193. package/pack/generated/devin/skills/rite-resolve/SKILL.md +3 -3
  194. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +2 -0
  195. package/pack/generated/devin/skills/rite-review/SKILL.md +11 -3
  196. package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +2 -2
  197. package/pack/generated/devin/skills/rite-seal/SKILL.md +1 -1
  198. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +1 -1
  199. package/pack/generated/devin/skills/rite-ship/SKILL.md +2 -2
  200. package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +2 -2
  201. package/pack/generated/devin/skills/rite-spec/SKILL.md +8 -5
  202. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +5 -0
  203. package/pack/generated/devin/skills/rite-temper/SKILL.md +3 -3
  204. package/pack/generated/devin/skills/rite-vet/SKILL.md +19 -6
  205. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +12 -5
  206. package/pack/generated/dsh/agents/devrites-proof-runner.md +16 -9
  207. package/pack/generated/dsh/runtime/cordis.patch.yml +1 -1
  208. package/pack/generated/dsh/skills/devrites-lib/SKILL.md +2 -0
  209. package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  210. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  211. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  212. package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  213. package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +1 -1
  214. package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  215. package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +18 -9
  216. package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  217. package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +12 -10
  218. package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +4 -4
  219. package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +20 -9
  220. package/pack/generated/dsh/skills/rite-build/SKILL.md +13 -10
  221. package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +1 -1
  222. package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +1 -1
  223. package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +57 -36
  224. package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +8 -5
  225. package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +7 -7
  226. package/pack/generated/dsh/skills/rite-clarify/SKILL.md +2 -2
  227. package/pack/generated/dsh/skills/rite-converge/SKILL.md +4 -4
  228. package/pack/generated/dsh/skills/rite-define/SKILL.md +7 -3
  229. package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +4 -2
  230. package/pack/generated/dsh/skills/rite-plan/SKILL.md +11 -8
  231. package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +9 -2
  232. package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +2 -0
  233. package/pack/generated/dsh/skills/rite-polish/SKILL.md +3 -3
  234. package/pack/generated/dsh/skills/rite-prove/SKILL.md +24 -12
  235. package/pack/generated/dsh/skills/rite-resolve/SKILL.md +3 -3
  236. package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +2 -0
  237. package/pack/generated/dsh/skills/rite-review/SKILL.md +11 -3
  238. package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +2 -2
  239. package/pack/generated/dsh/skills/rite-seal/SKILL.md +1 -1
  240. package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +1 -1
  241. package/pack/generated/dsh/skills/rite-ship/SKILL.md +2 -2
  242. package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +2 -2
  243. package/pack/generated/dsh/skills/rite-spec/SKILL.md +8 -5
  244. package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +5 -0
  245. package/pack/generated/dsh/skills/rite-temper/SKILL.md +3 -3
  246. package/pack/generated/dsh/skills/rite-vet/SKILL.md +19 -6
  247. package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +12 -5
  248. package/pack/generated/omp/agents/devrites-proof-runner.md +16 -9
  249. package/pack/generated/omp/commands/rite-build.md +1 -1
  250. package/pack/generated/omp/skills/devrites-lib/SKILL.md +2 -0
  251. package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  252. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  253. package/pack/generated/omp/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  254. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  255. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +1 -1
  256. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  257. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +18 -9
  258. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  259. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +12 -10
  260. package/pack/generated/omp/skills/rite-autocomplete/reference/lookahead.md +4 -4
  261. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +20 -9
  262. package/pack/generated/omp/skills/rite-build/SKILL.md +13 -10
  263. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +1 -1
  264. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +1 -1
  265. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +57 -36
  266. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -5
  267. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +7 -7
  268. package/pack/generated/omp/skills/rite-clarify/SKILL.md +2 -2
  269. package/pack/generated/omp/skills/rite-converge/SKILL.md +4 -4
  270. package/pack/generated/omp/skills/rite-define/SKILL.md +7 -3
  271. package/pack/generated/omp/skills/rite-define/reference/plan-template.md +4 -2
  272. package/pack/generated/omp/skills/rite-plan/SKILL.md +11 -8
  273. package/pack/generated/omp/skills/rite-plan/reference/dependency-graph.md +9 -2
  274. package/pack/generated/omp/skills/rite-plan/reference/slicing.md +2 -0
  275. package/pack/generated/omp/skills/rite-polish/SKILL.md +3 -3
  276. package/pack/generated/omp/skills/rite-prove/SKILL.md +24 -12
  277. package/pack/generated/omp/skills/rite-resolve/SKILL.md +3 -3
  278. package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +2 -0
  279. package/pack/generated/omp/skills/rite-review/SKILL.md +11 -3
  280. package/pack/generated/omp/skills/rite-review/reference/feature-scoped-review.md +2 -2
  281. package/pack/generated/omp/skills/rite-seal/SKILL.md +1 -1
  282. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +1 -1
  283. package/pack/generated/omp/skills/rite-ship/SKILL.md +2 -2
  284. package/pack/generated/omp/skills/rite-ship/reference/git-ship.md +2 -2
  285. package/pack/generated/omp/skills/rite-spec/SKILL.md +8 -5
  286. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
  287. package/pack/generated/omp/skills/rite-temper/SKILL.md +3 -3
  288. package/pack/generated/omp/skills/rite-vet/SKILL.md +19 -6
  289. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +12 -5
  290. package/pack/generated/pi/agents/devrites-proof-runner.md +16 -9
  291. package/pack/generated/pi/prompts/rite-build.md +1 -1
  292. package/pack/generated/pi/skills/devrites-lib/SKILL.md +2 -0
  293. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  294. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  295. package/pack/generated/pi/skills/devrites-lib/reference/parallel-workspaces.md +236 -0
  296. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  297. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +1 -1
  298. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  299. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +18 -9
  300. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  301. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +12 -10
  302. package/pack/generated/pi/skills/rite-autocomplete/reference/lookahead.md +4 -4
  303. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +20 -9
  304. package/pack/generated/pi/skills/rite-build/SKILL.md +13 -10
  305. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +1 -1
  306. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +1 -1
  307. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +57 -36
  308. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -5
  309. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +7 -7
  310. package/pack/generated/pi/skills/rite-clarify/SKILL.md +2 -2
  311. package/pack/generated/pi/skills/rite-converge/SKILL.md +4 -4
  312. package/pack/generated/pi/skills/rite-define/SKILL.md +7 -3
  313. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +4 -2
  314. package/pack/generated/pi/skills/rite-plan/SKILL.md +11 -8
  315. package/pack/generated/pi/skills/rite-plan/reference/dependency-graph.md +9 -2
  316. package/pack/generated/pi/skills/rite-plan/reference/slicing.md +2 -0
  317. package/pack/generated/pi/skills/rite-polish/SKILL.md +3 -3
  318. package/pack/generated/pi/skills/rite-prove/SKILL.md +24 -12
  319. package/pack/generated/pi/skills/rite-resolve/SKILL.md +3 -3
  320. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +2 -0
  321. package/pack/generated/pi/skills/rite-review/SKILL.md +11 -3
  322. package/pack/generated/pi/skills/rite-review/reference/feature-scoped-review.md +2 -2
  323. package/pack/generated/pi/skills/rite-seal/SKILL.md +1 -1
  324. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +1 -1
  325. package/pack/generated/pi/skills/rite-ship/SKILL.md +2 -2
  326. package/pack/generated/pi/skills/rite-ship/reference/git-ship.md +2 -2
  327. package/pack/generated/pi/skills/rite-spec/SKILL.md +8 -5
  328. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
  329. package/pack/generated/pi/skills/rite-temper/SKILL.md +3 -3
  330. package/pack/generated/pi/skills/rite-vet/SKILL.md +19 -6
  331. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +12 -5
  332. package/package.json +1 -1
@@ -4,6 +4,12 @@
4
4
 
5
5
  Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.md).
6
6
 
7
+ Autocomplete first executes shared
8
+ [`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md):
9
+ it owns global admission, authorized source discovery and controller routing.
10
+ The local selection below applies to standalone Build; mixed selection uses
11
+ that reference and then this same per-slice review/repair/integration lifecycle.
12
+
7
13
  ## Entry
8
14
 
9
15
  | Input | Behavior |
@@ -14,8 +20,9 @@ Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.
14
20
  | Autocomplete `--parallel N` | N is the cap for this run; leftover sentinel `max_parallel` is ignored, then `/rite-autocomplete` writes or replaces only `max_parallel: N` |
15
21
  | Autocomplete, no flag | Same path, cap from sentinel `max_parallel` else 10; serial only when ineligible |
16
22
 
17
- AFK caps `N`. Charge green siblings once after integrate; abort /
18
- integrate-failed → **0**. `parallel create` refuses while a lease exists.
23
+ AFK caps `N`. Charge each green sibling once after its successful landing;
24
+ rejected/unlanded work charges zero, without undoing prior landed accounting.
25
+ `parallel create` refuses another retained repository controller.
19
26
  Reconcile retained repair-round artifacts by exact causal fingerprint before honoring a stored blocked status/verdict. Blocked status, round count, or distinct finding alone cannot stop cold resume: establish missing or stale review coverage under step 4; repair unless a stop condition remains evidenced.
20
27
 
21
28
  ## Dynamic selection and re-batching
@@ -45,8 +52,10 @@ passes `--whole` so the other slices stay visible.
45
52
  `next` prints `eligible_now:`/`batch:`. `n_eff` counts new picks only.
46
53
  With a running lease, a single new pick still uses `parallel add`;
47
54
  `n_eff=0` with a running lease waits for siblings, not Prove. Without one:
48
- ≥2 → parallel batch, 1 → serial, none pending → Prove.
49
- Serial is this round only; a cap need not be filled.
55
+ ≥2 → parallel batch, 1 → standalone serial; Autocomplete cap>1 on a capable
56
+ host instead isolates that first writer for global refill. No pending work
57
+ returns to the caller's next phase; no ready local work does not exhaust its
58
+ authorized global frontier. A cap need not be filled.
50
59
 
51
60
  **Refill per landing; never wait for the batch.** Each sibling lands alone when
52
61
  green ([Lifecycle](#lifecycle) step 6). Re-read state, pending slices, and the
@@ -91,33 +100,36 @@ lands a broken lockfile.
91
100
 
92
101
  ## Control vs workers
93
102
 
94
- Control owns `.devrites/work/<slug>/` (lease + bookkeeping).
95
- Workers: `.scratch/parallel-wt/<batch>/<slice>/` on
96
- `devrites/parallel/<slug>/<batch>/<slice>` @ base `B`. Wrights never write
97
- `.devrites/**`.
103
+ Control owns the controller lease; source workspaces own their bookkeeping.
104
+ Use returned worker `worktree_path`/`branch`: controller-local siblings retain
105
+ `<batch>/<slice>`, foreign siblings use `<batch>/_workspaces/<source>/<slice>`.
106
+ Workers never write `.devrites/**`.
98
107
 
99
- Lease: `batch_id`, `created_at`, `base_sha`, `n`,
100
- `status` (`running|aborted|integrate-failed|complete`), `control_pid_or_session`,
101
- `slices[]` (`id`, `paths`, `worktree_path`, `branch`, `wright_status`,
102
- `transfer_commit`).
108
+ Lease includes `batch_id`, `created_at`, `base_sha`, `capacity`, `n`, `status`,
109
+ `control_pid_or_session` and `slices[]` (`id`, optional `workspace`, `paths`,
110
+ `worktree_path`, `branch`, `wright_status`, `transfer_commit`). Omitted workspace
111
+ means controller; CLI lease `--slice` uses source-qualified foreign keys.
103
112
 
104
113
  ## Lifecycle
105
114
 
106
115
  1. Orient/gate; parse the cap; compute `N_eff` and select the eligible set
107
116
  ([Dynamic selection and re-batching](#dynamic-selection-and-re-batching)) —
108
- `parallel select --slug <slug> --cap N --from-plan` (ready set, write paths,
109
- and pairwise disjointness are inside that verb).
117
+ local `parallel select --slug <slug> --cap N --from-plan`, or Autocomplete's
118
+ authorized mixed-source query from the shared controller reference.
110
119
  Preflight each selected slice with `devrites-engine check slice <slug>
111
120
  <id>`, plus `check preconditions <slug> --slice <id>` when it has a
112
121
  `pre-dispatch <id>` preflight row; a malformed contract or non-zero
113
122
  precondition is dropped from the batch and recorded as a gap, not dispatched.
114
- 2. Write lease; freeze `B=HEAD`; `parallel create` worktrees.
115
- 3. Dispatch ≤10 wrights in parallel (cwd=worktree; allowlist; prove `HEAD==B`).
116
- One wave, one role per sibling: `--role slice-wright.<SLICE-ID> --slice <SLICE-ID>`
117
- for each. `start` every role before waiting on any. One shared `slice-wright`
118
- role is refused: it has one handle, so the other slices never start.
119
- A linked worktree has no `.devrites`:
120
- tell each wright to run `gates precheck` with `DEVRITES_ROOT=<control>/.devrites`.
123
+ 2. Write lease with `parallel create --cap N`; freeze `B=HEAD`; create isolated
124
+ worktrees, including Autocomplete's first lone writer at cap>1.
125
+ 3. Dispatch ≤N active wrights globally (absolute cwd=returned worktree; exact
126
+ `devrites-slice-wright` native profile; source slug; allowlist; prove `HEAD==B`).
127
+ Source-local waves use one role per sibling:
128
+ `--role slice-wright.<SLICE-ID> --slice <SLICE-ID>`.
129
+ `start` every selected role across sources before waiting on any.
130
+ Shared `slice-wright` role is refused: one handle cannot track siblings.
131
+ Linked worktrees run source checks with `DEVRITES_ROOT=<control>/.devrites`;
132
+ source overrides never leak into controller lease mutations.
121
133
  4. Inspect each returned path list, cumulative diff from `B`, transfer identity,
122
134
  and required result fields against the immutable contract. Reject malformed,
123
135
  stale, or out-of-scope work. Freeze and probe the sibling in its worktree:
@@ -145,21 +157,30 @@ Lease: `batch_id`, `created_at`, `base_sha`, `n`,
145
157
  preserve completed and in-progress recoverable work and classify each result.
146
158
  6. `parallel integrate --slice <id> --apply-to-control` **only after its steps
147
159
  4–5 are green**: `transfer_commit` descends from the sibling's base and diffs
148
- path-exact vs it; apply as its own local `WIP(<slug>):` commit
149
- (imperative summary, never a slice id). Staging branch, then FF; the engine
150
- refuses (never rewinds) if anything but this lease moved control. Conflict →
151
- `integrate-failed`; classify under repair rounds (siblings stay in place).
160
+ path-exact vs it; apply as its own local `WIP(<source-slug>):` commit
161
+ (imperative summary, never a slice id). Staging branch, durable exact landing
162
+ intent, then FF; retry the same operation after interrupted persistence.
163
+ The engine reconciles only that recorded landing and refuses unrelated
164
+ HEAD/ref movement. Conflict → `integrate-failed`; classify under repair rounds
165
+ (siblings stay in place).
152
166
  Never integrate because a wright returned.
153
167
  7. Each landing: FF control (the branch that held `HEAD` when the batch started —
154
168
  often `main`/`master`, otherwise whatever the user was on) by one local commit,
155
- never pushed; union that sibling's paths into `touched-files.md`; update
156
- state/evidence; AFK +1; optional `check candidate`. Land every green sibling,
157
- refill ([Dynamic selection](#dynamic-selection-and-re-batching)), then run the
158
- feature gates once for the train
159
- ([Proof tiers](phase-contract.md#proof-tiers)); the next train waits, the
160
- refilled wrights do not.
161
- 8. Cleanup runs only after the last landing marks the lease `complete` — work
162
- landed in control, so `parallel cleanup` removes worktrees/branches.
169
+ never pushed; union only that sibling's paths into SOURCE `touched-files.md`;
170
+ update its checked BUILT state/evidence and regression floor; AFK +1 once.
171
+ Once every worker-bound reviewer/proof handle is terminal and source bookkeeping
172
+ is durable, run `parallel prune --root <repo> --slug <controller>` to release
173
+ clean integrated checkouts before refilling. It keeps transfer branches, proof
174
+ identities, lease rows and pending siblings. A dirty, ignored-data-bearing,
175
+ switched or unknown checkout stays untouched; record its recovery path and
176
+ continue safe independent work, never force-delete it to reclaim a slot.
177
+ Land every independently green sibling and refill globally immediately
178
+ ([Dynamic selection](#dynamic-selection-and-re-batching)), then run source-owned
179
+ feature gates for the train ([Proof tiers](phase-contract.md#proof-tiers));
180
+ refilled wrights do not wait for unrelated source proof.
181
+ 8. Whole cleanup runs only after the last landing marks the lease `complete`.
182
+ `parallel cleanup` removes verified disposable checkouts/branches; late edits,
183
+ ignored/untracked data and extra commits stay with reported recovery paths.
163
184
  Blocked/human-stopped batches keep lease, worktrees, branches — nothing is
164
185
  removed while the batch may resume. `parallel abort` + `cleanup --force`
165
186
  abandons the batch — the explicit human discard path; the single
@@ -225,9 +246,9 @@ Repair rejected work in place; never discard/rebuild while budget remains.
225
246
  ## Engine verbs
226
247
 
227
248
  ```text
228
- devrites-engine parallel select --cap <1-10> [--root <dir>] [--slug <slug>] [--from-plan | <json-file>|-]
229
- devrites-engine parallel create --root <repo> --slug <slug> --batch <id> --base <B> --json <file>|-
230
- devrites-engine parallel add --root <repo> --slug <slug> --json <file>|-
249
+ devrites-engine parallel select --cap <1-10> [--root <dir>] [--slug <controller>] [--from-plan [--workspaces <controller,authorized-source,...>] | <json-file>|-]
250
+ devrites-engine parallel create --root <repo> --slug <controller> --batch <id> --base <B> --cap <N> --json <file>|-
251
+ devrites-engine parallel add --root <repo> --slug <controller> --cap <N> --json <file>|-
231
252
  devrites-engine parallel record-green --root <repo> --slug <slug> --slice <id> --commit <sha>
232
253
  devrites-engine parallel integrate --root <repo> --slug <slug> --slice <id> --apply-to-control
233
254
  devrites-engine parallel integrate --root <repo> --slug <slug> --apply-to-control
@@ -4,11 +4,13 @@
4
4
 
5
5
  Apply [`one-slice-cycle.md`](one-slice-cycle.md) and
6
6
  [`candidate-integrity.md`](../../devrites-lib/reference/candidate-integrity.md).
7
- Opt-in `--parallel N` replaces steps 2–8 with [`parallel-batch.md`](parallel-batch.md);
7
+ `--parallel N` uses [`parallel-batch.md`](parallel-batch.md) for steps 2–8;
8
+ Autocomplete also executes the shared
9
+ [`workspace controller`](../../devrites-lib/reference/parallel-workspaces.md).
8
10
  Spec Drift Guard still applies.
9
11
 
10
- 1. **Gate.** Read core, `.devrites/ACTIVE`, then `devrites-engine orient <slug>`
11
- (`devrites-engine next <slug>` prints the minimal remaining path) and the
12
+ 1. **Gate.** Read core and ordered ACTIVE owner; use explicit SOURCE slug for
13
+ `devrites-engine orient <slug>` (`next <slug>` prints its minimal path) and the
12
14
  Build read-next in
13
15
  [`workspace-artifact-schema.md`](../../devrites-lib/reference/workspace-artifact-schema.md#read-next-by-phase):
14
16
  the selected slice via `devrites-engine observe slice <slug> <SLICE-ID>`, not whole
@@ -16,8 +18,9 @@ Spec Drift Guard still applies.
16
18
  `Implementation readiness: READY`, current `Readiness inputs SHA-256`, exact
17
19
  required accounts, ID/meaning traceability and green proof preflight.
18
20
  Run `devrites-engine check readiness <slug>`; any miss/nonzero blocks.
19
- Non-empty `orient` `inflight_waves` is reconciled first: `dispatch return` each
20
- role whose account is in hand, else `dispatch abandon --reason` and re-dispatch.
21
+ Non-empty `orient` `inflight_waves` is reconciled first: record accounts in
22
+ hand; retain running/unknown writer handles, claims and lease slots. Read-only
23
+ stale waves follow terminal reconciliation before re-dispatch, not blind abandon.
21
24
  2. **Select.** Pick the lowest pending slice whose `depends_on` are all built, using
22
25
  `orient` `task_graph.slices` plus the `state.md` built list — never by scanning
23
26
  `tasks.md`; then `observe slice` it. Restate its goal, ACs, exclusions and exact paths. Include
@@ -46,10 +46,10 @@ only per [`checkpoint.md`](checkpoint.md).
46
46
 
47
47
  Conflict, extra/missing commit, moved base, or cleanup failure is `gap`/STOP:
48
48
  preserve the worktree and commit. Without explicit reconciliation, use same-worktree serial.
49
- Parallel isolated-writer worktrees remain forbidden until this serial pilot measures
50
- transfer, conflict, proof, and review outcomes on both hosts; opt-in `/rite-build --parallel N`
51
- (2≤N≤10) path-disjoint fan-out is the only sanctioned parallel mode. Same-worktree multi-writer / root-emulated
52
- worktrees stay forbidden.
49
+ Parallel isolated writers use only [`parallel-batch.md`](parallel-batch.md) and,
50
+ under Autocomplete, the shared
51
+ [`workspace controller`](../../devrites-lib/reference/parallel-workspaces.md).
52
+ Same-worktree multi-writer / root-emulated worktrees stay forbidden.
53
53
 
54
54
  ## Prepare
55
55
 
@@ -131,9 +131,9 @@ a spec trace of the slice's obligations (hardening no AC/INV/PROH requires moves
131
131
  a sibling slice dependents do not need, still gated before Seal), and
132
132
  reopen with `--reslice-review <DRIFT-ID>`. Same-worktree stays one writer.
133
133
  Never run two writers in one worktree, mix isolated and same-worktree writers,
134
- or substitute a generic agent. Opt-in `/rite-build --parallel N` is the
135
- exception: one wright per worktree, each its own `slice-wright.<SLICE-ID>` role
136
- on one wave ([`parallel-batch.md`](parallel-batch.md)).
134
+ or substitute a generic agent. Sanctioned parallel dispatch uses one exact
135
+ wright per worktree, source-local `slice-wright.<SLICE-ID>` roles and starts
136
+ all selected sources before first wait ([`parallel-batch.md`](parallel-batch.md)).
137
137
 
138
138
  The `return` that completes the wave releases its claim; `dispatch abandon --release`
139
139
  releases it on any other host-confirmed terminal path (a stop, a launch refused with no
@@ -4,7 +4,7 @@ description: Audit a completed spec for missing decisions before strategy or arc
4
4
  argument-hint: "[feature-slug]"
5
5
  ---
6
6
 
7
- <!-- 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/afk-hitl.md","rite-clarify/reference/decision-coverage.md","rite-clarify/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md"],"workspaceByRole":{"evidence-scout":["brief.md","spec.md","state.md","questions.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
7
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md","rite-clarify/reference/decision-coverage.md","rite-clarify/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md"],"workspaceByRole":{"evidence-scout":["brief.md","spec.md","state.md","questions.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
8
8
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --phase clarify` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
9
9
 
10
10
 
@@ -39,7 +39,7 @@ dispatch uses
39
39
 
40
40
  ## Workflow
41
41
 
42
- 1. **Orient.** Read `.devrites/ACTIVE`, `state.md`, and `spec.md`. Require
42
+ 1. **Orient.** Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), then read its `state.md` and `spec.md`. Require
43
43
  `state.md` `spec_gate: passed` (legacy `Spec gate: passed` line accepted); otherwise stop at `/rite-spec`. Apply the native cursor
44
44
  protocol below before changing workspace artifacts.
45
45
  2. **Enumerate the topology.** From the spec, live code, contracts, references,
@@ -4,7 +4,7 @@ description: Converge intent and live code. Use when resuming a half-built featu
4
4
  argument-hint: "[feature-slug]"
5
5
  ---
6
6
 
7
- <!-- 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/spec-grammar.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/testing.md","rite-converge/reference/convergence-assessment.md","rite-converge/reference/anti-patterns.md","rite-build/reference/spec-drift-guard.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.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","evidence.md"],"workspaceByRole":{"evidence-scout":["spec.md","plan.md","tasks.md","state.md","evidence.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md"]} -->
7
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/testing.md","rite-converge/reference/convergence-assessment.md","rite-converge/reference/anti-patterns.md","rite-build/reference/spec-drift-guard.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.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","evidence.md"],"workspaceByRole":{"evidence-scout":["spec.md","plan.md","tasks.md","state.md","evidence.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md"]} -->
8
8
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --phase converge` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
9
9
 
10
10
 
@@ -15,7 +15,7 @@ Read `spec.md`, `plan.md`, and `tasks.md` as the **sole source of intent** (with
15
15
  implements, and **append every unmet piece as a new traceable `SLICE-###`** at the
16
16
  bottom of `tasks.md` so `/rite-build` can finish it. Use this for a resumed half-built
17
17
  feature, an adopted codebase that drifted from its derived spec, or a build that stalled
18
- mid-slice. **Read the active
18
+ mid-slice. **Read the selected source
19
19
  workspace first**; if there's no `spec.md`/`plan.md`/`tasks.md`, tell the user which
20
20
  prerequisite skill to run.
21
21
 
@@ -73,9 +73,9 @@ Pull on demand:
73
73
  ## Workflow
74
74
 
75
75
  0. **Read `.devin/skills/devrites-lib/reference/standards/core.md`** first (the always-on
76
- operating rules), then resolve the active slug, require its `state.md`, and
76
+ operating rules), then resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require its `state.md`, and
77
77
  read the cursor directly.
78
- 1. **Confirm the gate.** Require `spec.md` + `plan.md` + `tasks.md` in the active workspace. If
78
+ 1. **Confirm the gate.** Require `spec.md` + `plan.md` + `tasks.md` in that source workspace. If
79
79
  any is missing, **STOP** and name the prerequisite (`/rite-spec` for a missing spec,
80
80
  `/rite-define` for a missing plan/tasks, `/rite-adopt` to onboard existing code). Do not
81
81
  produce partial output.
@@ -4,7 +4,7 @@ description: "Define the first build plan from an approved spec: architecture, t
4
4
  argument-hint: "[feature-slug]"
5
5
  ---
6
6
 
7
- <!-- 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/spec-grammar.md","rite-define/reference/plan-template.md","rite-define/reference/gates.md","rite-define/reference/anti-patterns.md","rite-plan/reference/slicing.md","rite-plan/reference/task-breakdown.md","rite-spec/reference/acceptance-criteria.md","rite-spec/reference/state-workspace.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.md"],"agents":["devrites-lib/reference/standards/agents.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"documentation":["devrites-lib/reference/standards/documentation.md"],"elicitation":["devrites-lib/reference/standards/elicitation.md"],"frontend":["devrites-frontend-craft/reference/fullstack.md"],"principles":["devrites-lib/reference/standards/principles.md"],"visual":["devrites-lib/reference/visual-playbooks/index.md"],"workflow":["devrites-lib/reference/standards/development-workflow.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.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","strategy.md","design-brief.md","references.md"],"workspaceByRole":{"plan-drafter":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","architecture.md","strategy.md","design-brief.md","references.md","state.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
7
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/spec-grammar.md","rite-define/reference/plan-template.md","rite-define/reference/gates.md","rite-define/reference/anti-patterns.md","rite-plan/reference/slicing.md","rite-plan/reference/task-breakdown.md","rite-spec/reference/acceptance-criteria.md","rite-spec/reference/state-workspace.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.md"],"agents":["devrites-lib/reference/standards/agents.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"documentation":["devrites-lib/reference/standards/documentation.md"],"elicitation":["devrites-lib/reference/standards/elicitation.md"],"frontend":["devrites-frontend-craft/reference/fullstack.md"],"principles":["devrites-lib/reference/standards/principles.md"],"visual":["devrites-lib/reference/visual-playbooks/index.md"],"workflow":["devrites-lib/reference/standards/development-workflow.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.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","strategy.md","design-brief.md","references.md"],"workspaceByRole":{"plan-drafter":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","architecture.md","strategy.md","design-brief.md","references.md","state.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
8
8
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --phase define` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
9
9
 
10
10
 
@@ -58,9 +58,9 @@ Pull these via `Read` when shaping the plan:
58
58
  ## Workflow
59
59
 
60
60
  0. **Read `.devin/skills/devrites-lib/reference/standards/core.md`:** the always-on operating rules and anti-rationalizations.
61
- Resolve the active slug from `.devrites/ACTIVE`, require its `state.md`, and
61
+ Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require its `state.md`, and
62
62
  re-open `spec.md` and apply [`spec-grammar.md`](../devrites-lib/reference/standards/spec-grammar.md)'s Native grammar re-read
63
- checklist. If there is no active workspace, no `spec.md`, the checklist
63
+ checklist. If there is no selected workspace, no `spec.md`, the checklist
64
64
  fails, or its readiness gate hasn't passed →
65
65
  **STOP** and tell the user to run `/rite-spec <feature>` first.
66
66
  If `decision-coverage.md` is absent or does not say `Decision coverage: CLEAR`,
@@ -119,6 +119,10 @@ Pull these via `Read` when shaping the plan:
119
119
  capability end to end; first is the thinnest useful path, ordered by dependency then
120
120
  risk. Apply the slice-count and broad-refactor rules above plus
121
121
  [`slicing.md`](../rite-plan/reference/slicing.md) and [`task-breakdown.md`](../rite-plan/reference/task-breakdown.md).
122
+ Write explicit `Workspace dependencies` per
123
+ [canonical slice grammar](../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar)
124
+ after checking assumptions, consumed interfaces, runtime resources and proof
125
+ independence; Plan owns this declaration and Vet approves its current binding.
122
126
  Run `devrites-engine recall --paths <files likely touched>`; fold each relevant prior
123
127
  decision, carry-forward constraint, or finding into that slice's `Prior-slice learnings`.
124
128
  Mark per slice: **Frontend craft required**
@@ -95,9 +95,11 @@ artifact. Without boundary change write exactly:
95
95
  Shared contract impact: none — <specific justification>
96
96
 
97
97
  ## Dependency graph
98
- List slice prerequisites, non-code prerequisites, and deployable order:
98
+ List local prerequisites and explicit `Workspace dependencies` under the
99
+ [canonical slice grammar](../../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar),
100
+ non-code prerequisites and deployable order:
99
101
  contract/schema/config → old/new app/worker → migration/backfill → exposure → removal.
100
- Name shared mutable resources that force serialization.
102
+ Name shared mutable resources that force serialization or explicit isolation.
101
103
  Each temporary flag, shim/adapter, dual read/write, retained old column/endpoint, or deprecated
102
104
  alias the plan adds names its removal `SLICE-###` here, or a Non-goal continuation
103
105
  (`/rite-spec <slug>-N`) with measurable trigger + owner; otherwise Vet returns NEEDS REPLAN.
@@ -4,15 +4,15 @@ description: "Re-plan existing work when reality invalidates the plan: reslice a
4
4
  argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-correct|revise]"
5
5
  ---
6
6
 
7
- <!-- 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/acceptance-preserving-reslice.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/agents.md","rite-plan/reference/slicing.md","rite-plan/reference/replan-and-repair.md","rite-plan/reference/dependency-graph.md","rite-plan/reference/task-breakdown.md","rite-plan/reference/anti-patterns.md","rite-define/reference/plan-template.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"assumption-delta":["devrites-lib/reference/standards/assumption-checkpoints.md"],"workflow":["devrites-lib/reference/standards/development-workflow.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","drift.md"],"workspaceByRole":{"evidence-scout":["spec.md","architecture.md","decisions.md","state.md"],"plan-drafter":["brief.md","spec.md","plan.md","tasks.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","architecture.md","state.md","drift.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/workflow-artifacts.md"]} -->
7
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/acceptance-preserving-reslice.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/agents.md","rite-plan/reference/slicing.md","rite-plan/reference/replan-and-repair.md","rite-plan/reference/dependency-graph.md","rite-plan/reference/task-breakdown.md","rite-plan/reference/anti-patterns.md","rite-define/reference/plan-template.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"assumption-delta":["devrites-lib/reference/standards/assumption-checkpoints.md"],"workflow":["devrites-lib/reference/standards/development-workflow.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","drift.md"],"workspaceByRole":{"evidence-scout":["spec.md","architecture.md","decisions.md","state.md"],"plan-drafter":["brief.md","spec.md","plan.md","tasks.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","architecture.md","state.md","drift.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/workflow-artifacts.md"]} -->
8
8
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --phase plan` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
9
9
 
10
10
 
11
11
  # /rite-plan: (re)plan an active feature
12
12
 
13
- Update a plan invalidated by evidence, drift, or user decision. **Read the active workspace
14
- first.** Missing `.devrites/ACTIVE`/workspace stops to `/rite-spec <feature>`. **Revise is
15
- artifact-only**: reconcile
13
+ Update a plan invalidated by evidence, drift, or user decision. **Read the selected
14
+ source workspace first.** A missing selected workspace stops to `/rite-spec <feature>`.
15
+ **Revise is artifact-only**: reconcile
16
16
  `spec.md` / `architecture.md` / `plan.md` / `tasks.md` / `traceability.md` without
17
17
  editing source code.
18
18
 
@@ -39,8 +39,9 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
39
39
  [`slicing.md`](reference/slicing.md).
40
40
  - **Size by complexity, order by dependency.** A slice carries a `Complexity: N/5` score (from
41
41
  `/rite-define`); a slice scoring **>3** is a reslice trigger unless its inline reason justifies
42
- the irreducible complexity. Honor each slice's `depends_on:`: the next *buildable* slice is the
43
- lowest pending one whose dependencies are all built. This preserves one-slice-at-a-time execution.
42
+ the irreducible complexity. Honor local `depends_on` and explicit `Workspace
43
+ dependencies`; only built producer checkpoints unblock consumers. Ready
44
+ independent slices may run together under the controlling caller's cap.
44
45
  - **Root writes; drafter proposes.** Follow
45
46
  [`agents.md`](../devrites-lib/reference/standards/agents.md). The controlling chat owns
46
47
  human questions, decisions, reconciliation, and planning writes.
@@ -51,7 +52,7 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
51
52
 
52
53
  ## Workflow
53
54
  0. Read `.devin/skills/devrites-lib/reference/standards/core.md` (operating rules) before reshaping anything.
54
- Then resolve the explicit or active slug, require its `state.md`, and read
55
+ Then resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require its `state.md`, and read
55
56
  the cursor directly.
56
57
  1. Read `spec.md`, `decision-coverage.md`, `plan.md`, `tasks.md`, `state.md`, `drift.md`,
57
58
  `eng-review.md`, and the current `git diff` (if a repo). Read `decisions.md` and
@@ -83,6 +84,8 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
83
84
  affected artifacts, settled contract, and failure/drift; a slice-bound repair
84
85
  builds its bundle with `--slice <SLICE-ID>` per affected slice. Await one atomic, read-only
85
86
  the drafter's `candidate_files` bundle; human choices return separately.
87
+ For a capacity-driven repair, include the shared [serialization audit](../devrites-lib/reference/parallel-workspaces.md#recover-avoidable-serialization)
88
+ and its concrete blocked edges, independent cut, retained-worker impact and unchanged gates in that frozen scope.
86
89
  When the observed failure is missing or ambiguous consumptive-action evidence,
87
90
  require the drafter to apply [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md) and return the bounded
88
91
  diagnostic-amplification design, injective boundary map, per-seam fixtures, and
@@ -130,7 +133,7 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
130
133
  `/rite-clarify`. AFK records the suspect seam in `state.md` and continues
131
134
  within budgets — a coverage limitation is a product decision and is never
132
135
  auto-declared.
133
- Bind exact active `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
136
+ Bind exact source `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
134
137
  materializes the exact vetted workflow-artifact paths under
135
138
  [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
136
139
  without dispatching the product wright.
@@ -7,8 +7,15 @@ Order slices by what must exist before what. Keep it in `plan.md` as plain text.
7
7
  calls, a component it composes, a contract/schema/config it consumes, or a deployable
8
8
  version that must already tolerate the change).
9
9
  2. Draw edges prerequisite → dependent.
10
- 3. Topologically sort. Independent slices can be built in any order (or noted as
11
- parallelizable for the user).
10
+ 3. Topologically sort local and explicit `Workspace dependencies` producer edges.
11
+ Validate each qualified producer in its live/safely archived tasks graph.
12
+ Inspect assumptions, consumed interfaces, shared runtime resources and proof
13
+ independence before declaring `none`; disjoint paths alone prove neither.
14
+ Only durably BUILT/integrated producer checkpoints unblock consumers. Current
15
+ native Plan/Vet approves early future admission; absent legacy declarations
16
+ require narrow repair, not invented independence. Use the
17
+ [canonical field](../../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar),
18
+ not a second lane-policy artifact.
12
19
 
13
20
  ```
14
21
  SLICE-001 (schema) -> SLICE-002 (write API) -> SLICE-003 (UI form)
@@ -178,6 +178,8 @@ serializes: cut a slice that stands alone, or record `Serial rationale: <why>`.
178
178
  `check task-graph <slug> --strict` refuses a plan whose shared path carries `ADVISORY hub:`
179
179
  writers, so a contended plan must split disjointly instead of widening the cap.
180
180
  Never merge slices or drop acceptance to widen it.
181
+ Apply the shared [avoidable-serialization audit](../../devrites-lib/reference/parallel-workspaces.md#recover-avoidable-serialization)
182
+ before accepting a serial frontier; independent cuts must still pass this section's vertical sizing rules.
181
183
 
182
184
  ## Deferred slice
183
185
  A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
@@ -4,7 +4,7 @@ description: Polish the active feature's code and any touched UI before review.
4
4
  argument-hint: "[target | bolder | quieter | distill | harden | normalize-only]"
5
5
  ---
6
6
 
7
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","rite-polish/reference/code.md","rite-polish/reference/anti-patterns.md","rite-polish/reference/anti-ai-slop.md","rite-polish/reference/harden-checklist.md","rite-polish/reference/ledger.md","rite-build/reference/checkpoint.md"],"triggers":{"adr":["rite-polish/reference/adr-promotion.md"],"agents":["devrites-lib/reference/standards/agents.md"],"backend":["rite-polish/reference/backend-polish.md"],"coding":["devrites-lib/reference/standards/coding-style.md","devrites-lib/reference/standards/duplicate-code.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"ui":["rite-polish/reference/ui.md","rite-polish/reference/design-memory.md","rite-polish/reference/design-system-discovery.md","rite-polish/reference/browser-polish-evidence.md","devrites-lib/reference/standards/browser-proof-checklist.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","evidence.md","touched-files.md","design-brief.md","browser-evidence.md","polish-report.md"],"workspaceByRole":{"slice-wright":["spec.md","architecture.md","plan.md","tasks.md","test-plan.md","state.md","decisions.md","design-brief.md"]},"rootOnly":["rite-build/reference/checkpoint.md"]} -->
7
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","rite-polish/reference/code.md","rite-polish/reference/anti-patterns.md","rite-polish/reference/anti-ai-slop.md","rite-polish/reference/harden-checklist.md","rite-polish/reference/ledger.md","rite-build/reference/checkpoint.md"],"triggers":{"adr":["rite-polish/reference/adr-promotion.md"],"agents":["devrites-lib/reference/standards/agents.md"],"backend":["rite-polish/reference/backend-polish.md"],"coding":["devrites-lib/reference/standards/coding-style.md","devrites-lib/reference/standards/duplicate-code.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"ui":["rite-polish/reference/ui.md","rite-polish/reference/design-memory.md","rite-polish/reference/design-system-discovery.md","rite-polish/reference/browser-polish-evidence.md","devrites-lib/reference/standards/browser-proof-checklist.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","evidence.md","touched-files.md","design-brief.md","browser-evidence.md","polish-report.md"],"workspaceByRole":{"slice-wright":["spec.md","architecture.md","plan.md","tasks.md","test-plan.md","state.md","decisions.md","design-brief.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","rite-build/reference/checkpoint.md"]} -->
8
8
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --phase polish` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
9
9
 
10
10
 
@@ -59,9 +59,9 @@ Incomplete comparison is **not** agreement. Record axis deltas in `polish-report
59
59
  per-phase rule files ([`coding-style.md`](../devrites-lib/reference/standards/coding-style.md), [`error-handling.md`](../devrites-lib/reference/standards/error-handling.md), …) load on demand
60
60
  from `reference/code.md` / `reference/ui.md` when their phase runs; for UI scope also read
61
61
  `.devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md`.
62
- Then read the explicit or active workspace's `state.md` directly.
62
+ Then resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding) and read its `state.md` directly.
63
63
  1. **Read** `state.md`, `touched-files.md`, the current candidate digest, and the
64
- `git diff` for the active workspace (or `$ARGUMENTS` if a target was given).
64
+ `git diff` scoped to that source workspace and any requested target.
65
65
  2. **Detect UI scope:** UI is touched when the diff changes rendered output:
66
66
  markup, template, style, design token, client component, or a visible string
67
67
  (including an API error message shown in the UI). These paths are leads to
@@ -4,7 +4,7 @@ description: Prove a completed feature with tests and the full test suite, build
4
4
  argument-hint: "[feature-slug]"
5
5
  ---
6
6
 
7
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/standards/testing.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/test-proof-checklist.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/gates.md","devrites-lib/reference/standards/verification-methods.md","rite-prove/reference/acceptance-proof.md","rite-prove/reference/proof-ladder.md","rite-prove/reference/failure-triage.md","rite-prove/reference/test-command-discovery.md","rite-prove/reference/anti-patterns.md","rite-build/reference/checkpoint.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"browser":["devrites-lib/reference/standards/browser-proof-checklist.md","rite-prove/reference/browser-proof.md"],"devex":["devrites-lib/reference/standards/developer-experience.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"observability":["devrites-lib/reference/standards/observability.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"performance":["devrites-lib/reference/standards/performance.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","evidence.md","touched-files.md","browser-evidence.md"],"workspaceByRole":{"proof-runner":["spec.md","test-plan.md","tasks.md","gates.md","evidence.md","touched-files.md","browser-evidence.md","state.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md"]},"rootOnly":["rite-build/reference/checkpoint.md","devrites-lib/reference/standards/workflow-artifacts.md"]} -->
7
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/standards/testing.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/test-proof-checklist.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/gates.md","devrites-lib/reference/standards/verification-methods.md","rite-prove/reference/acceptance-proof.md","rite-prove/reference/proof-ladder.md","rite-prove/reference/failure-triage.md","rite-prove/reference/test-command-discovery.md","rite-prove/reference/anti-patterns.md","rite-build/reference/checkpoint.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"browser":["devrites-lib/reference/standards/browser-proof-checklist.md","rite-prove/reference/browser-proof.md"],"devex":["devrites-lib/reference/standards/developer-experience.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"observability":["devrites-lib/reference/standards/observability.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"performance":["devrites-lib/reference/standards/performance.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","evidence.md","touched-files.md","browser-evidence.md"],"workspaceByRole":{"proof-runner":["spec.md","test-plan.md","tasks.md","gates.md","evidence.md","touched-files.md","browser-evidence.md","state.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","rite-build/reference/checkpoint.md","devrites-lib/reference/standards/workflow-artifacts.md"]} -->
8
8
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --phase prove` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
9
9
 
10
10
 
@@ -34,8 +34,9 @@ TTHW, and exact signal-bearing errors; never assert DX (trigger `devex`).
34
34
  grammar/hashing. Spec Drift Guard owns revealed contract drift.
35
35
  - Root runs vetted gates/browser and records immutable evidence; proof runner
36
36
  validates it. Only the bounded wright fixes product source/tests.
37
- - **Prove remains the controlling caller** during technical backtracking. Save
38
- its cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
37
+ - **Prove remains the source-local controlling caller** during technical backtracking;
38
+ under Autocomplete, repository scheduling stays with Autocomplete. Save
39
+ Prove's cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
39
40
  consume nested boundaries; resume the failed rung. A strategy is spent after
40
41
  three no-progress attempts on the exact same fingerprint; escalate it per the
41
42
  [retry contract](../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)
@@ -58,13 +59,16 @@ test changes.
58
59
 
59
60
  ## Workflow
60
61
 
61
- 1. **Orient.** Read core, resolve active slug, require `state.md`, and read its
62
- cursor. On blocked Prove cold resume, reconcile retained consumptive evidence
63
- and no-progress corrections before accepting terminal none; a distinct
64
- fingerprint below cap resumes offline triage without another real action.
62
+ 1. **Orient.** Read core, resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require `state.md`, and read its
63
+ cursor. Under Autocomplete, return scheduling for its
64
+ [global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier)
65
+ before cold/local recovery; preserve Prove's source-local return cursor.
66
+ On blocked Prove cold resume, reconcile retained consumptive evidence and
67
+ no-progress corrections before accepting terminal none; a distinct fingerprint
68
+ below cap resumes offline triage without another real action.
65
69
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
66
- every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
- caller) and resumes here; it never authorizes ad hoc proof.
70
+ every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the source-local
71
+ controlling caller) and resumes here; it never authorizes ad hoc proof.
68
72
  3. **Approve commands.** If absent, use
69
73
  [test-command-discovery](reference/test-command-discovery.md) over repository
70
74
  manifests/CI. Discovery is evidence only: `test-plan.md` is the sole approved runtime
@@ -87,9 +91,13 @@ test changes.
87
91
  --transcripts` executes every unmet runnable gate against the same approved
88
92
  preflight rows, records definition-bound evidence, and writes one redacted,
89
93
  candidate-bound transcript per gate under `references/gates/<gate-id>/`;
90
- `gates reverify <slug> --transcripts` re-executes all of them when any prior
91
- pass is in doubt. Hand the proof runner those transcripts, never hand-built
92
- logs. Attest manual gates with `gates attest
94
+ `gates reverify <slug> --transcripts` refreshes prior passes, except valid
95
+ unchanged-`INPUTS` proof may reuse its complete executed origin. Missing origins
96
+ rerun affected approved checks; a reused log never counts as execution.
97
+ If non-file prerequisites changed or proof is doubtful, invalidate affected
98
+ automatic evidence through the workspace's single-writer protocol before rerun.
99
+ Hand the proof runner those transcripts, never hand-built logs.
100
+ Attest manual gates with `gates attest
93
101
  <slug> <id> <note>` only against observed judgment whose note cites the
94
102
  human's own words or source; placeholder notes are unmet and an AFK run never
95
103
  self-attests. Only gates manual at Vet are attested; runnable-to-manual
@@ -114,6 +122,10 @@ test changes.
114
122
  7. **Independent validation.** Fresh read-only `devrites-proof-runner` and
115
123
  `devrites-spec-reviewer`, in one parallel wave, judge the same candidate/commands/evidence/acceptance map.
116
124
  Neither runs commands; reject missing/stale, invented-ID, label-only or self-attested reports.
125
+ Under Autocomplete, before native wait return scheduling to its global frontier
126
+ pass, retaining both validator handles. Standalone Prove stays source-local.
127
+ Apply the shared protected validation window and recheck identities before
128
+ admitting accounts.
117
129
  8. **Map proof.** Reconcile verdicts under [acceptance-proof.md](reference/acceptance-proof.md).
118
130
  Every criterion/scenario/interaction/key link needs discriminating evidence or a
119
131
  blocker, including critical-path, observability, developer and wiring branches.
@@ -5,7 +5,7 @@ argument-hint: "<qid> \"<answer>\" | --drop <qid> [\"<reason>\"] | --batch <
5
5
  triggers:
6
6
  - user
7
7
  ---
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","rite-resolve/reference/answer-protocol.md"],"triggers":{"standards":["devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/documentation.md"]},"rootOnly":["devrites-lib/reference/standards/afk-hitl.md"]} -->
8
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","rite-resolve/reference/answer-protocol.md"],"triggers":{"standards":["devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/documentation.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
9
9
  > Read-set manifest: `devrites-engine context --skills-root .devin/skills <slug> --skill rite-resolve` (no workspace: `--out <path>`) bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
10
10
 
11
11
  # /rite-resolve: answer the human gate
@@ -31,8 +31,8 @@ Pull these via `Read` when shaping the resolve:
31
31
 
32
32
  ## Operating rules
33
33
 
34
- - **Requires an active workspace.** Read `.devrites/ACTIVE` first; if empty, **STOP** and
35
- tell the user to run `/rite-spec <feature>` first. If the slug has no `questions.md`,
34
+ - **Requires a selected source workspace.** Apply [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding); if none, **STOP** and
35
+ tell the user to run `/rite-spec <feature>` first. If that source has no `questions.md`,
36
36
  report the missing required artifact and stop.
37
37
  - **One mutation per call.** A single qid (or `--batch` file) per invocation; never
38
38
  silently coalesce multiple human decisions into one log entry.
@@ -4,6 +4,8 @@
4
4
  `state.md` `Awaiting human` clearance. This file is the reference for the three input
5
5
  shapes, the batch file format, and the `devrites-engine state resolve` rules.
6
6
 
7
+ Select the source with shared [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding) before applying these qid-only forms.
8
+
7
9
  ## Three input shapes
8
10
 
9
11
  Each form is an explicit local mutation command. Supplying it is the confirmation; the