devrites 7.2.7 → 7.3.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 (340) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +6 -1
  3. package/docs/candidate-integrity.md +10 -0
  4. package/docs/cli.md +7 -1
  5. package/docs/command-map.md +9 -2
  6. package/docs/engine/commands.md +50 -4
  7. package/docs/orchestration.md +35 -13
  8. package/docs/skills.md +5 -0
  9. package/engine/internal/acceptance/cli.go +35 -30
  10. package/engine/internal/acceptance/preconditions.go +1 -1
  11. package/engine/internal/acceptance/run.go +138 -53
  12. package/engine/internal/acceptance/transcript.go +236 -45
  13. package/engine/internal/devritespaths/paths.go +23 -5
  14. package/engine/internal/gate/gate.go +6 -0
  15. package/engine/internal/install/apply.go +5 -0
  16. package/engine/internal/install/merge.go +48 -6
  17. package/engine/internal/install/preflight.go +21 -3
  18. package/engine/internal/install/uninstall.go +9 -10
  19. package/engine/internal/lib/apply_bundle.go +7 -1
  20. package/engine/internal/lib/candidate.go +20 -7
  21. package/engine/internal/lib/candidate_coverage.go +2 -19
  22. package/engine/internal/lib/closeout.go +22 -10
  23. package/engine/internal/lib/context.go +67 -47
  24. package/engine/internal/lib/context_io.go +171 -0
  25. package/engine/internal/lib/detect.go +8 -8
  26. package/engine/internal/lib/dispatch.go +6 -0
  27. package/engine/internal/lib/packet.go +37 -7
  28. package/engine/internal/lib/packet_freeze.go +60 -12
  29. package/engine/internal/lib/packet_integrity.go +179 -0
  30. package/engine/internal/lib/perturb.go +3 -3
  31. package/engine/internal/lib/resolve.go +10 -5
  32. package/engine/internal/lib/slicecheck.go +7 -1
  33. package/engine/internal/lib/state_edit.go +9 -2
  34. package/engine/internal/lib/taskgraph.go +20 -36
  35. package/engine/internal/lib/triggers.go +30 -31
  36. package/engine/internal/lib/workspace_pool.go +330 -0
  37. package/engine/internal/parallel/cli.go +190 -49
  38. package/engine/internal/parallel/git.go +47 -14
  39. package/engine/internal/parallel/landing.go +232 -0
  40. package/engine/internal/parallel/lease.go +97 -18
  41. package/engine/internal/parallel/ops.go +312 -155
  42. package/engine/internal/parallel/pathdisjoint.go +48 -4
  43. package/engine/internal/parallel/prune.go +133 -0
  44. package/engine/internal/parallel/repository.go +239 -0
  45. package/engine/internal/parallel/select.go +64 -42
  46. package/engine/internal/state/cursor.go +5 -5
  47. package/engine/main.go +2 -1
  48. package/pack/.claude/agents/devrites-proof-runner.md +16 -9
  49. package/pack/.claude/skills/devrites-lib/SKILL.md +2 -0
  50. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  51. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  52. package/pack/.claude/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  53. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  54. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +7 -3
  55. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  56. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +18 -9
  57. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  58. package/pack/.claude/skills/rite-autocomplete/SKILL.md +13 -10
  59. package/pack/.claude/skills/rite-autocomplete/reference/lookahead.md +4 -4
  60. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +13 -9
  61. package/pack/.claude/skills/rite-build/SKILL.md +13 -10
  62. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +1 -1
  63. package/pack/.claude/skills/rite-build/reference/checkpoint.md +1 -1
  64. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +60 -39
  65. package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -5
  66. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +7 -7
  67. package/pack/.claude/skills/rite-clarify/SKILL.md +2 -2
  68. package/pack/.claude/skills/rite-converge/SKILL.md +4 -4
  69. package/pack/.claude/skills/rite-define/SKILL.md +7 -3
  70. package/pack/.claude/skills/rite-define/reference/plan-template.md +4 -2
  71. package/pack/.claude/skills/rite-plan/SKILL.md +11 -8
  72. package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +9 -2
  73. package/pack/.claude/skills/rite-plan/reference/slicing.md +2 -0
  74. package/pack/.claude/skills/rite-polish/SKILL.md +3 -3
  75. package/pack/.claude/skills/rite-prove/SKILL.md +9 -5
  76. package/pack/.claude/skills/rite-resolve/SKILL.md +3 -3
  77. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -0
  78. package/pack/.claude/skills/rite-review/SKILL.md +4 -3
  79. package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  80. package/pack/.claude/skills/rite-seal/SKILL.md +1 -1
  81. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +1 -1
  82. package/pack/.claude/skills/rite-ship/SKILL.md +2 -2
  83. package/pack/.claude/skills/rite-ship/reference/git-ship.md +2 -2
  84. package/pack/.claude/skills/rite-spec/SKILL.md +8 -5
  85. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
  86. package/pack/.claude/skills/rite-temper/SKILL.md +3 -3
  87. package/pack/.claude/skills/rite-vet/SKILL.md +9 -5
  88. package/pack/.claude/skills/rite-vet/reference/review-axes.md +12 -5
  89. package/pack/generated/claude/agents/devrites-proof-runner.md +16 -9
  90. package/pack/generated/claude/skills/devrites-lib/SKILL.md +2 -0
  91. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  92. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  93. package/pack/generated/claude/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  94. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  95. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +7 -3
  96. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  97. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +18 -9
  98. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  99. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +13 -10
  100. package/pack/generated/claude/skills/rite-autocomplete/reference/lookahead.md +4 -4
  101. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +13 -9
  102. package/pack/generated/claude/skills/rite-build/SKILL.md +13 -10
  103. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +1 -1
  104. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +1 -1
  105. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +60 -39
  106. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -5
  107. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +7 -7
  108. package/pack/generated/claude/skills/rite-clarify/SKILL.md +2 -2
  109. package/pack/generated/claude/skills/rite-converge/SKILL.md +4 -4
  110. package/pack/generated/claude/skills/rite-define/SKILL.md +7 -3
  111. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +4 -2
  112. package/pack/generated/claude/skills/rite-plan/SKILL.md +11 -8
  113. package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +9 -2
  114. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +2 -0
  115. package/pack/generated/claude/skills/rite-polish/SKILL.md +3 -3
  116. package/pack/generated/claude/skills/rite-prove/SKILL.md +9 -5
  117. package/pack/generated/claude/skills/rite-resolve/SKILL.md +3 -3
  118. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +2 -0
  119. package/pack/generated/claude/skills/rite-review/SKILL.md +4 -3
  120. package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  121. package/pack/generated/claude/skills/rite-seal/SKILL.md +1 -1
  122. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +1 -1
  123. package/pack/generated/claude/skills/rite-ship/SKILL.md +2 -2
  124. package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +2 -2
  125. package/pack/generated/claude/skills/rite-spec/SKILL.md +8 -5
  126. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
  127. package/pack/generated/claude/skills/rite-temper/SKILL.md +3 -3
  128. package/pack/generated/claude/skills/rite-vet/SKILL.md +9 -5
  129. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +12 -5
  130. package/pack/generated/codex/agents/devrites-proof-runner.toml +16 -9
  131. package/pack/generated/codex/skills/devrites-lib/SKILL.md +2 -0
  132. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  133. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  134. package/pack/generated/codex/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  135. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  136. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +7 -3
  137. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  138. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +18 -9
  139. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  140. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +13 -10
  141. package/pack/generated/codex/skills/rite-autocomplete/reference/lookahead.md +4 -4
  142. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +13 -9
  143. package/pack/generated/codex/skills/rite-build/SKILL.md +13 -10
  144. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +1 -1
  145. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +1 -1
  146. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +60 -39
  147. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -5
  148. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +7 -7
  149. package/pack/generated/codex/skills/rite-clarify/SKILL.md +2 -2
  150. package/pack/generated/codex/skills/rite-converge/SKILL.md +4 -4
  151. package/pack/generated/codex/skills/rite-define/SKILL.md +7 -3
  152. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +4 -2
  153. package/pack/generated/codex/skills/rite-plan/SKILL.md +11 -8
  154. package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +9 -2
  155. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +2 -0
  156. package/pack/generated/codex/skills/rite-polish/SKILL.md +3 -3
  157. package/pack/generated/codex/skills/rite-prove/SKILL.md +9 -5
  158. package/pack/generated/codex/skills/rite-resolve/SKILL.md +3 -3
  159. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +2 -0
  160. package/pack/generated/codex/skills/rite-review/SKILL.md +4 -3
  161. package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
  162. package/pack/generated/codex/skills/rite-seal/SKILL.md +1 -1
  163. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +1 -1
  164. package/pack/generated/codex/skills/rite-ship/SKILL.md +2 -2
  165. package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +2 -2
  166. package/pack/generated/codex/skills/rite-spec/SKILL.md +8 -5
  167. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
  168. package/pack/generated/codex/skills/rite-temper/SKILL.md +3 -3
  169. package/pack/generated/codex/skills/rite-vet/SKILL.md +9 -5
  170. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +12 -5
  171. package/pack/generated/devin/agents/devrites-proof-runner.md +16 -9
  172. package/pack/generated/devin/skills/devrites-lib/SKILL.md +2 -0
  173. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  174. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  175. package/pack/generated/devin/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  176. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  177. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +7 -3
  178. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  179. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +18 -9
  180. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  181. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +13 -10
  182. package/pack/generated/devin/skills/rite-autocomplete/reference/lookahead.md +4 -4
  183. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +13 -9
  184. package/pack/generated/devin/skills/rite-build/SKILL.md +13 -10
  185. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +1 -1
  186. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +1 -1
  187. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +60 -39
  188. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +8 -5
  189. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +7 -7
  190. package/pack/generated/devin/skills/rite-clarify/SKILL.md +2 -2
  191. package/pack/generated/devin/skills/rite-converge/SKILL.md +4 -4
  192. package/pack/generated/devin/skills/rite-define/SKILL.md +7 -3
  193. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +4 -2
  194. package/pack/generated/devin/skills/rite-plan/SKILL.md +11 -8
  195. package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +9 -2
  196. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +2 -0
  197. package/pack/generated/devin/skills/rite-polish/SKILL.md +3 -3
  198. package/pack/generated/devin/skills/rite-prove/SKILL.md +9 -5
  199. package/pack/generated/devin/skills/rite-resolve/SKILL.md +3 -3
  200. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +2 -0
  201. package/pack/generated/devin/skills/rite-review/SKILL.md +4 -3
  202. package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +2 -2
  203. package/pack/generated/devin/skills/rite-seal/SKILL.md +1 -1
  204. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +1 -1
  205. package/pack/generated/devin/skills/rite-ship/SKILL.md +2 -2
  206. package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +2 -2
  207. package/pack/generated/devin/skills/rite-spec/SKILL.md +8 -5
  208. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +5 -0
  209. package/pack/generated/devin/skills/rite-temper/SKILL.md +3 -3
  210. package/pack/generated/devin/skills/rite-vet/SKILL.md +9 -5
  211. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +12 -5
  212. package/pack/generated/dsh/agents/devrites-proof-runner.md +16 -9
  213. package/pack/generated/dsh/runtime/cordis.patch.yml +1 -1
  214. package/pack/generated/dsh/skills/devrites-lib/SKILL.md +2 -0
  215. package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  216. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  217. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  218. package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  219. package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +7 -3
  220. package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  221. package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +18 -9
  222. package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  223. package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +13 -10
  224. package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +4 -4
  225. package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +13 -9
  226. package/pack/generated/dsh/skills/rite-build/SKILL.md +13 -10
  227. package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +1 -1
  228. package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +1 -1
  229. package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +60 -39
  230. package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +8 -5
  231. package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +7 -7
  232. package/pack/generated/dsh/skills/rite-clarify/SKILL.md +2 -2
  233. package/pack/generated/dsh/skills/rite-converge/SKILL.md +4 -4
  234. package/pack/generated/dsh/skills/rite-define/SKILL.md +7 -3
  235. package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +4 -2
  236. package/pack/generated/dsh/skills/rite-plan/SKILL.md +11 -8
  237. package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +9 -2
  238. package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +2 -0
  239. package/pack/generated/dsh/skills/rite-polish/SKILL.md +3 -3
  240. package/pack/generated/dsh/skills/rite-prove/SKILL.md +9 -5
  241. package/pack/generated/dsh/skills/rite-resolve/SKILL.md +3 -3
  242. package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +2 -0
  243. package/pack/generated/dsh/skills/rite-review/SKILL.md +4 -3
  244. package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +2 -2
  245. package/pack/generated/dsh/skills/rite-seal/SKILL.md +1 -1
  246. package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +1 -1
  247. package/pack/generated/dsh/skills/rite-ship/SKILL.md +2 -2
  248. package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +2 -2
  249. package/pack/generated/dsh/skills/rite-spec/SKILL.md +8 -5
  250. package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +5 -0
  251. package/pack/generated/dsh/skills/rite-temper/SKILL.md +3 -3
  252. package/pack/generated/dsh/skills/rite-vet/SKILL.md +9 -5
  253. package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +12 -5
  254. package/pack/generated/omp/agents/devrites-proof-runner.md +16 -9
  255. package/pack/generated/omp/commands/rite-build.md +1 -1
  256. package/pack/generated/omp/skills/devrites-lib/SKILL.md +2 -0
  257. package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  258. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  259. package/pack/generated/omp/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  260. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  261. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +11 -3
  262. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  263. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +18 -9
  264. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  265. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +13 -10
  266. package/pack/generated/omp/skills/rite-autocomplete/reference/lookahead.md +4 -4
  267. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +13 -9
  268. package/pack/generated/omp/skills/rite-build/SKILL.md +13 -10
  269. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +1 -1
  270. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +1 -1
  271. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +60 -39
  272. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -5
  273. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +7 -7
  274. package/pack/generated/omp/skills/rite-clarify/SKILL.md +2 -2
  275. package/pack/generated/omp/skills/rite-converge/SKILL.md +4 -4
  276. package/pack/generated/omp/skills/rite-define/SKILL.md +7 -3
  277. package/pack/generated/omp/skills/rite-define/reference/plan-template.md +4 -2
  278. package/pack/generated/omp/skills/rite-plan/SKILL.md +11 -8
  279. package/pack/generated/omp/skills/rite-plan/reference/dependency-graph.md +9 -2
  280. package/pack/generated/omp/skills/rite-plan/reference/slicing.md +2 -0
  281. package/pack/generated/omp/skills/rite-polish/SKILL.md +3 -3
  282. package/pack/generated/omp/skills/rite-prove/SKILL.md +9 -5
  283. package/pack/generated/omp/skills/rite-resolve/SKILL.md +3 -3
  284. package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +2 -0
  285. package/pack/generated/omp/skills/rite-review/SKILL.md +4 -3
  286. package/pack/generated/omp/skills/rite-review/reference/feature-scoped-review.md +2 -2
  287. package/pack/generated/omp/skills/rite-seal/SKILL.md +1 -1
  288. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +1 -1
  289. package/pack/generated/omp/skills/rite-ship/SKILL.md +2 -2
  290. package/pack/generated/omp/skills/rite-ship/reference/git-ship.md +2 -2
  291. package/pack/generated/omp/skills/rite-spec/SKILL.md +8 -5
  292. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
  293. package/pack/generated/omp/skills/rite-temper/SKILL.md +3 -3
  294. package/pack/generated/omp/skills/rite-vet/SKILL.md +9 -5
  295. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +12 -5
  296. package/pack/generated/pi/agents/devrites-proof-runner.md +16 -9
  297. package/pack/generated/pi/prompts/rite-build.md +1 -1
  298. package/pack/generated/pi/skills/devrites-lib/SKILL.md +2 -0
  299. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +7 -3
  300. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
  301. package/pack/generated/pi/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
  302. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
  303. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +7 -3
  304. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
  305. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +18 -9
  306. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
  307. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +13 -10
  308. package/pack/generated/pi/skills/rite-autocomplete/reference/lookahead.md +4 -4
  309. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +13 -9
  310. package/pack/generated/pi/skills/rite-build/SKILL.md +13 -10
  311. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +1 -1
  312. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +1 -1
  313. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +60 -39
  314. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -5
  315. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +7 -7
  316. package/pack/generated/pi/skills/rite-clarify/SKILL.md +2 -2
  317. package/pack/generated/pi/skills/rite-converge/SKILL.md +4 -4
  318. package/pack/generated/pi/skills/rite-define/SKILL.md +7 -3
  319. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +4 -2
  320. package/pack/generated/pi/skills/rite-plan/SKILL.md +11 -8
  321. package/pack/generated/pi/skills/rite-plan/reference/dependency-graph.md +9 -2
  322. package/pack/generated/pi/skills/rite-plan/reference/slicing.md +2 -0
  323. package/pack/generated/pi/skills/rite-polish/SKILL.md +3 -3
  324. package/pack/generated/pi/skills/rite-prove/SKILL.md +9 -5
  325. package/pack/generated/pi/skills/rite-resolve/SKILL.md +3 -3
  326. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +2 -0
  327. package/pack/generated/pi/skills/rite-review/SKILL.md +4 -3
  328. package/pack/generated/pi/skills/rite-review/reference/feature-scoped-review.md +2 -2
  329. package/pack/generated/pi/skills/rite-seal/SKILL.md +1 -1
  330. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +1 -1
  331. package/pack/generated/pi/skills/rite-ship/SKILL.md +2 -2
  332. package/pack/generated/pi/skills/rite-ship/reference/git-ship.md +2 -2
  333. package/pack/generated/pi/skills/rite-spec/SKILL.md +8 -5
  334. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
  335. package/pack/generated/pi/skills/rite-temper/SKILL.md +3 -3
  336. package/pack/generated/pi/skills/rite-vet/SKILL.md +9 -5
  337. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +12 -5
  338. package/package.json +1 -1
  339. package/scripts/build-host-artifacts.sh +5 -6
  340. package/scripts/omp-generate.sh +24 -14
@@ -5,13 +5,13 @@ argument-hint: "[scope: slice N | feature] [--full]"
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","rite-review/reference/feature-scoped-review.md","rite-review/reference/five-axis-review.md","rite-review/reference/anti-patterns.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"code-review":["devrites-lib/reference/standards/code-review.md","devrites-lib/reference/standards/review-checklist.md","devrites-lib/reference/standards/review/README.md","devrites-lib/reference/standards/duplicate-code.md"],"performance":["devrites-lib/reference/standards/performance.md","rite-review/reference/performance-review.md","rite-review/reference/performance-checklist.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md","devrites-lib/reference/standards/security-checklist.md","rite-review/reference/security-review.md"],"testing":["devrites-lib/reference/standards/testing.md"],"ui":["rite-review/reference/nielsen-heuristics.md","rite-review/reference/cognitive-load.md","rite-review/reference/performance-checklist.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","touched-files.md","design-brief.md","browser-evidence.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md","evidence.md","touched-files.md"],"devex-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md"],"frontend-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","design-brief.md"],"performance-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md"],"plan-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","decision-coverage.md","architecture.md","state.md"],"security-auditor":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md"],"simplifier-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md"],"test-analyst":["spec.md","tasks.md","test-plan.md","state.md","evidence.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md"]} -->
8
+ <!-- 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/candidate-integrity.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","rite-review/reference/feature-scoped-review.md","rite-review/reference/five-axis-review.md","rite-review/reference/anti-patterns.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"code-review":["devrites-lib/reference/standards/code-review.md","devrites-lib/reference/standards/review-checklist.md","devrites-lib/reference/standards/review/README.md","devrites-lib/reference/standards/duplicate-code.md"],"performance":["devrites-lib/reference/standards/performance.md","rite-review/reference/performance-review.md","rite-review/reference/performance-checklist.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md","devrites-lib/reference/standards/security-checklist.md","rite-review/reference/security-review.md"],"testing":["devrites-lib/reference/standards/testing.md"],"ui":["rite-review/reference/nielsen-heuristics.md","rite-review/reference/cognitive-load.md","rite-review/reference/performance-checklist.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","touched-files.md","design-brief.md","browser-evidence.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md","evidence.md","touched-files.md"],"devex-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md"],"frontend-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","design-brief.md"],"performance-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md"],"plan-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","decision-coverage.md","architecture.md","state.md"],"security-auditor":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md"],"simplifier-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md"],"test-analyst":["spec.md","tasks.md","test-plan.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","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md"]} -->
9
9
  > Read-set manifest: `devrites-engine context --skills-root .pi/skills <slug> --phase review` 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
 
12
12
  # /rite-review: feature-scoped review
13
13
 
14
- Review the **active feature scope only**. **Read the active workspace first**; if none,
14
+ Review the **selected source feature scope only**. **Read that workspace first**; if none,
15
15
  tell the user to run `/rite-spec <feature>`.
16
16
 
17
17
  > **Scope:** `/code-review` is a generic diff review with no workspace context.
@@ -61,6 +61,7 @@ Pull these via `Read` when the diff demands them:
61
61
 
62
62
  0. Read `.pi/skills/devrites-lib/reference/standards/core.md` first (the always-on operating rules); pull the
63
63
  on-demand rules above as the diff demands them.
64
+ Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding) before loading workspace artifacts.
64
65
  1. Read `spec.md`, `tasks.md`, `state.md`, `decisions.md`,
65
66
  `touched-files.md`, `.devrites/principles.md` (if present: the binding invariants to score
66
67
  the diff against), and the `git diff`. For "what would this change break"
@@ -101,7 +102,7 @@ Pull these via `Read` when the diff demands them:
101
102
  and performance (step 6) dispatch conditions from this same diff now,
102
103
  joining the cohort when applicable rather than dispatching later waves:
103
104
  - **Spec axis** → `devrites-spec-reviewer`: "Apply your documented discipline on
104
- the active feature workspace + diff. Report (a) criteria the spec asked for that
105
+ the selected source feature workspace + diff. Report (a) criteria the spec asked for that
105
106
  are missing or partial, (b) behaviour in the diff the spec did not ask for
106
107
  (scope creep / drift), (c) criteria implemented incorrectly. Quote the spec
107
108
  line per finding. If the spec is missing or unreadable, report `Review gap:
@@ -1,7 +1,7 @@
1
1
  # Feature-scoped review
2
2
 
3
- The review boundary is the **active feature**: the files in `touched-files.md` and the
4
- current diff. This is a hard rule, not a guideline.
3
+ The review boundary is the **selected source feature** per [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding):
4
+ its `touched-files.md` and current diff. This is a hard rule, not a guideline.
5
5
 
6
6
  ## In scope
7
7
  - Code added/changed by this feature.
@@ -5,7 +5,7 @@ argument-hint: "[feature-slug] [--full]"
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/verification-methods.md","rite-seal/reference/phase-contract.md","rite-seal/reference/final-evidence.md","rite-seal/reference/go-no-go.md","rite-seal/reference/risk-and-rollback.md","rite-seal/reference/seal-template.md","rite-seal/reference/output.md","rite-seal/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"],"browser":["devrites-lib/reference/standards/browser-proof-checklist.md"],"code-review":["devrites-lib/reference/standards/code-review.md"],"deprecation":["devrites-lib/reference/standards/deprecation.md"],"documentation":["devrites-lib/reference/standards/documentation.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"observability":["devrites-lib/reference/standards/observability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md"],"testing":["devrites-lib/reference/standards/testing.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","review.md","seal.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md","evidence.md","touched-files.md","review.md"],"devex-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","devex.md","review.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md","review.md"],"frontend-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","review.md"],"performance-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","review.md"],"proof-runner":["spec.md","test-plan.md","tasks.md","gates.md","evidence.md","state.md"],"security-auditor":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","review.md"],"simplifier-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","review.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md","review.md"],"test-analyst":["spec.md","tasks.md","test-plan.md","state.md","evidence.md","review.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md"]} -->
8
+ <!-- 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/candidate-integrity.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/verification-methods.md","rite-seal/reference/phase-contract.md","rite-seal/reference/final-evidence.md","rite-seal/reference/go-no-go.md","rite-seal/reference/risk-and-rollback.md","rite-seal/reference/seal-template.md","rite-seal/reference/output.md","rite-seal/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"],"browser":["devrites-lib/reference/standards/browser-proof-checklist.md"],"code-review":["devrites-lib/reference/standards/code-review.md"],"deprecation":["devrites-lib/reference/standards/deprecation.md"],"documentation":["devrites-lib/reference/standards/documentation.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"observability":["devrites-lib/reference/standards/observability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md"],"testing":["devrites-lib/reference/standards/testing.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","review.md","seal.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md","evidence.md","touched-files.md","review.md"],"devex-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","devex.md","review.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md","review.md"],"frontend-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","review.md"],"performance-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","review.md"],"proof-runner":["spec.md","test-plan.md","tasks.md","gates.md","evidence.md","state.md"],"security-auditor":["spec.md","plan.md","tasks.md","state.md","touched-files.md","evidence.md","review.md"],"simplifier-reviewer":["spec.md","plan.md","tasks.md","state.md","touched-files.md","review.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md","review.md"],"test-analyst":["spec.md","tasks.md","test-plan.md","state.md","evidence.md","review.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md"]} -->
9
9
  > Read-set manifest: `devrites-engine context --skills-root .pi/skills <slug> --phase seal` 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
 
@@ -1,6 +1,6 @@
1
1
  # rite-seal phase contract
2
2
 
3
- 1. **Read.** Resolve the explicit slug or `.devrites/ACTIVE`, require its
3
+ 1. **Read.** Resolve source per [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require its
4
4
  `state.md`, then read required workspace artifacts, conditional
5
5
  browser/design/devex evidence, and final diff.
6
6
  2. **Recheck identity and real proof.** Run
@@ -5,13 +5,13 @@ argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/standards/git-workflow.md","devrites-lib/reference/standards/definition-of-done.md","devrites-lib/reference/standards/release/ship-checklist.md","rite-ship/reference/git-ship.md","rite-ship/reference/rollout.md","rite-ship/reference/close-out.md","rite-ship/reference/ship-template.md","rite-ship/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.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","review.md","seal.md"],"rootOnly":["devrites-lib/reference/standards/afk-hitl.md"]} -->
8
+ <!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/standards/git-workflow.md","devrites-lib/reference/standards/definition-of-done.md","devrites-lib/reference/standards/release/ship-checklist.md","rite-ship/reference/git-ship.md","rite-ship/reference/rollout.md","rite-ship/reference/close-out.md","rite-ship/reference/ship-template.md","rite-ship/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.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","review.md","seal.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 .pi/skills <slug> --phase ship` 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
 
12
12
  # /rite-ship: ship + close the task
13
13
 
14
- `/rite-seal` decides; `/rite-ship` mutates Git and closes. Read the active workspace;
14
+ `/rite-seal` decides; `/rite-ship` mutates Git and closes. Read the source workspace per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding);
15
15
  if absent, route to `/rite-spec <feature>`. Ship only with current **GO** in `seal.md`.
16
16
 
17
17
  ## Rules consulted (read on demand from `.pi/skills/devrites-lib/reference/standards/`)
@@ -12,7 +12,7 @@ Acceptance criteria proven: <n / total>
12
12
  Branch: <target branch>
13
13
  Candidate paths: <exact project-relative paths>
14
14
  Checkpoint collapse: <exact `git reset --soft '<merge-base>'` command | skip>
15
- Collapse slugs: <active slug plus every recorded sequence slug in the range | n/a>
15
+ Collapse slugs: <selected source slug plus every recorded sequence slug in the range | n/a>
16
16
  Stage plan: <exact argv-safe `git add -- '<path>'` command for every manifest row>
17
17
  Commit: <exact git commit command>
18
18
  Push: <exact git push command | skip>
@@ -47,7 +47,7 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
47
47
  1. **Analyze checkpoint history without mutating it.** Read the upstream, merge
48
48
  base, commit OIDs, and full subjects. If no checkpoint commit exists, disclose
49
49
  `skip`. A collapse is eligible only when every commit in its range has the exact
50
- `WIP(<slug>):` prefix for the validated active slug — or, for a release ship of a
50
+ `WIP(<slug>):` prefix for the validated source slug — or, for a release ship of a
51
51
  deferred-ship sequence, for a slug recorded in the parent's `decisions.md`
52
52
  sequence whose workspace is sealed in this run
53
53
  ([afk-hitl.md § Sequence continuation](../../devrites-lib/reference/standards/afk-hitl.md#sequence-continuation-continue_sequence-max_workspaces));
@@ -5,7 +5,7 @@ argument-hint: "<feature or idea>"
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/elicitation.md","devrites-lib/reference/standards/agents.md","rite-spec/reference/investigation.md","rite-spec/reference/question-protocol.md","rite-spec/reference/spec-template.md","rite-spec/reference/spec-checklists.md","rite-spec/reference/state-workspace.md","rite-spec/reference/acceptance-criteria.md","rite-spec/reference/interview-patterns.md","rite-spec/reference/ai-spec-template.md","rite-spec/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.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"],"edge-cases":["devrites-lib/reference/standards/edge-case-trace.md"],"frontend":["rite-build/reference/frontend-trigger.md"],"grammar":["devrites-lib/reference/standards/spec-grammar.md"],"principles":["devrites-lib/reference/standards/principles.md"],"references":["rite-spec/reference/references-intake.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.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"]} -->
8
+ <!-- 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/elicitation.md","devrites-lib/reference/standards/agents.md","rite-spec/reference/investigation.md","rite-spec/reference/question-protocol.md","rite-spec/reference/spec-template.md","rite-spec/reference/spec-checklists.md","rite-spec/reference/state-workspace.md","rite-spec/reference/acceptance-criteria.md","rite-spec/reference/interview-patterns.md","rite-spec/reference/ai-spec-template.md","rite-spec/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.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"],"edge-cases":["devrites-lib/reference/standards/edge-case-trace.md"],"frontend":["rite-build/reference/frontend-trigger.md"],"grammar":["devrites-lib/reference/standards/spec-grammar.md"],"principles":["devrites-lib/reference/standards/principles.md"],"references":["rite-spec/reference/references-intake.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.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"]} -->
9
9
  > Read-set manifest: `devrites-engine context --skills-root .pi/skills <slug> --phase spec` 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
 
@@ -38,7 +38,7 @@ load a routed standard to discover required behavior, not to prescribe implement
38
38
  [`elicitation.md`](../devrites-lib/reference/standards/elicitation.md) before continuing.
39
39
 
40
40
  ## Workflow
41
- 0. Read core; if `.devrites/ACTIVE` exists, require its `state.md`.
41
+ 0. Read core; apply shared [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding). If `.devrites/ACTIVE` exists, require its owner's `state.md`; it is not the target when the controller explicitly prepares a recorded future continuation.
42
42
  0a. **Adoption check.** For a never-adopted existing codebase, route first to
43
43
  `/rite-adopt` with `$ARGUMENTS`; it derives baseline spec/principles. HITL
44
44
  offers ranked adopt-first and spec-only choices; permitted AFK adopts.
@@ -123,9 +123,12 @@ load a routed standard to discover required behavior, not to prescribe implement
123
123
  product/acceptance ambiguity, irreversible/external approval, or human-only access. Record
124
124
  owned prerequisites. Keep a build checkpoint only for unavailable pre-code evidence or a
125
125
  mandatory action-time approval. **Completion:** no foreseeable human choice is deferred.
126
- 5. **Create or update the workspace** + set `.devrites/ACTIVE` from
127
- [state-workspace](reference/state-workspace.md); a `--lookahead` run
128
- leaves `.devrites/ACTIVE` unchanged. If the slug already exists,
126
+ 5. **Create or update the workspace** per
127
+ [state-workspace](reference/state-workspace.md). Ordinary standalone Spec sets
128
+ `.devrites/ACTIVE`; explicit `--lookahead` and main-controller preparation of
129
+ an authorized recorded future continuation preserve the ordered owner's ACTIVE.
130
+ Pass the target slug explicitly to every phase; no new flag or global workspace
131
+ override. If the slug already exists,
129
132
  update the existing workspace rather than overwrite it; preserve history and
130
133
  unrelated settled content. Write every required artifact and conditional
131
134
  annex exactly from [spec-template](reference/spec-template.md)
@@ -66,6 +66,11 @@ Before any HTML:
66
66
  - Create or reuse the slug exactly under the canonical schema's
67
67
  [Slug identity](../../devrites-lib/reference/workspace-artifact-schema.md#slug-identity)
68
68
  contract.
69
+ - Standalone Spec sets ACTIVE to its target. Explicit lookahead and the existing
70
+ Autocomplete controller's recorded-future preparation leave ACTIVE on the
71
+ ordered owner; pass source slug explicitly, preserve claims and opening budget,
72
+ and use the shared [controller workflow](../../devrites-lib/reference/parallel-workspaces.md).
73
+ A new directory alone never authorizes future enrollment.
69
74
  - `/rite-spec` creates the workspace map, `brief.md`, `spec.md`, `decisions.md`,
70
75
  `assumptions.md`, `questions.md`, `state.md`, optional `references.md` /
71
76
  `references/`, optional `flows.md` when a diagram already clarifies investigation,
@@ -5,7 +5,7 @@ argument-hint: "[feature-slug] [--mode expand|selective|hold-rigor|reduce-to-MVP
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/agents.md","rite-temper/reference/significance.md","rite-temper/reference/scope-modes.md","rite-temper/reference/review-dimensions.md","rite-temper/reference/strategy-template.md","rite-temper/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.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"],"yagni":["devrites-lib/reference/standards/patterns.md","devrites-lib/reference/standards/coding-style.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","strategy.md","design-brief.md"],"workspaceByRole":{"strategy-reviewer":["brief.md","spec.md","decision-coverage.md","decisions.md","strategy.md","state.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
8
+ <!-- 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/orchestration-profiles.md","devrites-lib/reference/standards/agents.md","rite-temper/reference/significance.md","rite-temper/reference/scope-modes.md","rite-temper/reference/review-dimensions.md","rite-temper/reference/strategy-template.md","rite-temper/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.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"],"yagni":["devrites-lib/reference/standards/patterns.md","devrites-lib/reference/standards/coding-style.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","strategy.md","design-brief.md"],"workspaceByRole":{"strategy-reviewer":["brief.md","spec.md","decision-coverage.md","decisions.md","strategy.md","state.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
9
9
  > Read-set manifest: `devrites-engine context --skills-root .pi/skills <slug> --phase temper` 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
 
@@ -14,7 +14,7 @@ user-invocable: true
14
14
  Review readied spec ambition, scope, pre-mortem risk, and excess surface. Fold
15
15
  accepted decisions into the canonical contract before `/rite-define`. Optional for
16
16
  small work; skips low-stakes specs; `/rite-autocomplete` always invokes it.
17
- **Read active workspace first**; no readied `spec.md` → `/rite-spec`. Depth follows
17
+ **Read the selected source workspace first**; no readied `spec.md` → `/rite-spec`. Depth follows
18
18
  [`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md);
19
19
  the required exact strategy reviewer never changes with profile.
20
20
 
@@ -49,7 +49,7 @@ the spec applicability map triggers that risk family.
49
49
 
50
50
  ## Workflow
51
51
  0. **Read `.pi/skills/devrites-lib/reference/standards/core.md`**, then
52
- resolve the active slug, require its `state.md`, and read the cursor directly.
52
+ resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require its `state.md`, and read the cursor directly.
53
53
  Then read the workspace: `spec.md`, `decision-coverage.md` (+ `decisions.md`,
54
54
  `assumptions.md`, `design-brief.md` if UI), `state.md`. Require `state.md` `spec_gate: passed` (legacy `Spec gate:` accepted): else
55
55
  STOP → `/rite-spec`. Require `Decision coverage: CLEAR`: else STOP →
@@ -5,7 +5,7 @@ argument-hint: "[slug] [--cross-model] [--full]"
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- <!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/gates.md","rite-vet/reference/review-axes.md","rite-vet/reference/artifacts.md","rite-vet/reference/depth.md","rite-vet/reference/eng-lenses.md","rite-vet/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"assumption-delta":["devrites-lib/reference/standards/assumption-checkpoints.md"],"cross-model":["rite-vet/reference/cross-model.md"],"devex":["devrites-lib/reference/standards/developer-experience.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"elicitation":["devrites-lib/reference/standards/elicitation.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"grammar":["devrites-lib/reference/standards/spec-grammar.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"performance":["devrites-lib/reference/standards/performance.md"],"principles":["devrites-lib/reference/standards/principles.md"],"reslice":["devrites-lib/reference/standards/acceptance-preserving-reslice.md"],"testing":["devrites-lib/reference/standards/testing.md"],"workflow":["devrites-lib/reference/standards/development-workflow.md"],"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"],"yagni":["devrites-lib/reference/standards/patterns.md","devrites-lib/reference/standards/coding-style.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","strategy.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md"],"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/elicitation.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/workflow-artifacts.md"],"workspaceByRole":{"doubt-reviewer":["spec.md","architecture.md","plan.md","tasks.md","test-plan.md","decisions.md","state.md"],"devex-reviewer":["spec.md","plan.md","tasks.md","decisions.md","state.md"],"plan-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","decision-coverage.md","architecture.md","decisions.md","state.md"],"strategy-reviewer":["brief.md","spec.md","plan.md","decisions.md","decision-coverage.md","strategy.md","state.md"]}} -->
8
+ <!-- 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/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/gates.md","rite-vet/reference/review-axes.md","rite-vet/reference/artifacts.md","rite-vet/reference/depth.md","rite-vet/reference/eng-lenses.md","rite-vet/reference/anti-patterns.md"],"triggers":{"afk":["devrites-lib/reference/standards/afk-hitl.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"assumption-delta":["devrites-lib/reference/standards/assumption-checkpoints.md"],"cross-model":["rite-vet/reference/cross-model.md"],"devex":["devrites-lib/reference/standards/developer-experience.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"elicitation":["devrites-lib/reference/standards/elicitation.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"grammar":["devrites-lib/reference/standards/spec-grammar.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"performance":["devrites-lib/reference/standards/performance.md"],"principles":["devrites-lib/reference/standards/principles.md"],"reslice":["devrites-lib/reference/standards/acceptance-preserving-reslice.md"],"testing":["devrites-lib/reference/standards/testing.md"],"workflow":["devrites-lib/reference/standards/development-workflow.md"],"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"],"yagni":["devrites-lib/reference/standards/patterns.md","devrites-lib/reference/standards/coding-style.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","strategy.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md"],"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/elicitation.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-dispatch.md","devrites-lib/reference/standards/workflow-artifacts.md"],"workspaceByRole":{"doubt-reviewer":["spec.md","architecture.md","plan.md","tasks.md","test-plan.md","decisions.md","state.md"],"devex-reviewer":["spec.md","plan.md","tasks.md","decisions.md","state.md"],"plan-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","decision-coverage.md","architecture.md","decisions.md","state.md"],"strategy-reviewer":["brief.md","spec.md","plan.md","decisions.md","decision-coverage.md","strategy.md","state.md"]}} -->
9
9
  > Read-set manifest: `devrites-engine context --skills-root .pi/skills <slug> --phase vet` 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
 
@@ -73,7 +73,7 @@ plan declares a root-authored executable workflow file, read
73
73
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"plan declares root-authored executable workflow file","action":"emit exact admission; stale/missing authority uses PLAN_VET_REPAIR","return":"Vet READY cursor or exact technical replan"} -->
74
74
  ## Workflow
75
75
 
76
- 0. **Orient.** Read core. Resolve active slug, require state, and read plan,
76
+ 0. **Orient.** Read core. Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require state, and read plan,
77
77
  tasks, spec, decision coverage, optional strategy/design brief, decisions,
78
78
  assumptions, and state. Require approved Plan and `Decision coverage: CLEAR`;
79
79
  otherwise stop for Define or Clarify. Check placement (`get_architecture`),
@@ -221,9 +221,13 @@ plan declares a root-authored executable workflow file, read
221
221
  READY needs each to pass (fix failures in `/rite-plan`). READY also needs every
222
222
  unbuilt slice's write set closed against the live tree (plan-reviewer
223
223
  dimension 6), so frontier gaps fold in one Plan repair, not one per slice; an
224
- affected recheck also closes every unbuilt slice and never defers a closure row. A `sequence_lookahead: yes` workspace also records one
225
- `Predecessor readiness: <predecessor> <digest>` line from the predecessor's
226
- `--emit-binding` hex; readiness re-checks it. Record the per-input drift baseline alongside it:
224
+ affected recheck also closes every unbuilt slice and never defers a closure row.
225
+ A future sequence workspace prepared by lookahead or the main controller records
226
+ `Predecessor readiness: <predecessor> <digest>` from the predecessor's
227
+ `--emit-binding` hex; readiness re-checks it. Apply the native dependency-safety
228
+ axis to its explicit workspace declarations before early admission; stale
229
+ assumptions need affected re-Vet, never automatic rebinding.
230
+ Record the per-input drift baseline alongside it:
227
231
  `devrites-engine check drift <slug> --record` — a later stale binding then
228
232
  names the exact artifact that moved instead of "something changed". An `ADVISORY
229
233
  proportion:` line names a slice whose proof outgrew its ACs: move its rows without a
@@ -31,6 +31,8 @@ Before implementation review, check for work beyond the settled spec.
31
31
  `Budget override`: route to `/rite-plan course-correct` (`MVP cut`) with the
32
32
  continuation sequence named; do not vet the whole epic. An `ADVISORY size:`
33
33
  or `hub:` line without its rationale is a non-blocking Suggestion to split or seam it.
34
+ Before READY, apply the shared [serialization audit](../../devrites-lib/reference/parallel-workspaces.md#recover-avoidable-serialization):
35
+ verify independent cuts and retained producer/proof/authority gates, or the concrete serial rationale.
34
36
  4. **Built-in check.** For each new pattern/infra/concurrency approach, invoke
35
37
  `devrites-source-driven` inline to verify current framework/runtime support and cite it. Custom
36
38
  work where a built-in suffices is a scope-reduction finding.
@@ -197,11 +199,16 @@ Use standard `AskUserQuestion`:
197
199
  3. **Failure-mode table:** per new codepath: realistic failure, partial/unknown effect,
198
200
  recovery owner, test, handling, and user-visible/silent result. No test + no handling +
199
201
  silent = **Critical** (`artifacts.md`).
200
- 4. **Dependency safety:** verify graph/order and shared file/state/contract/lock/port/queue/env
201
- conflicts. Each `Dependencies` edge must genuinely gate its slice (consumes an
202
- output, interface, or state the predecessor produces); remove an ordering-only
203
- edge, since it silently shrinks the parallel set. Correct the plan; native host
204
- scheduling needs no lane artifact.
202
+ 4. **Dependency safety:** verify local and qualified workspace graph/order,
203
+ assumptions, consumed interfaces, shared file/state/contract/lock/port/queue/env
204
+ conflicts and independent proof. Verify Plan's explicit `Workspace dependencies`
205
+ for each future-admission slice under the
206
+ [canonical grammar](../../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar);
207
+ `none` needs native judgment, not disjoint-path inference. Real producer edges
208
+ remain until durably BUILT/integrated; green unlanded work is not a producer
209
+ checkpoint. Remove ordering-only edges, never genuine interface/runtime/proof
210
+ dependencies. Missing legacy future declarations route narrow Plan repair/Vet;
211
+ current local execution stays compatible. Native scheduling needs no lane artifact.
205
212
  5. **Build-entry preflight:** commands/cwds, tools, package state, parser/browser smoke,
206
213
  prerequisites, and provenance ([`artifacts.md`](artifacts.md)).
207
214
  6. **Implementation readiness:** goal-backward coverage, wiring, dependency simulation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "7.2.7",
3
+ "version": "7.3.0",
4
4
  "description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code, Codex, omp, pi, and Devin CLI",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",
@@ -100,7 +100,6 @@ render_codex_skill_tree() {
100
100
  ;;
101
101
  esac
102
102
  done < <(find "$_sd" -type f)
103
- pin_context_skills_root "$_dest" .agents/skills
104
103
  }
105
104
 
106
105
  render_omp_skill_tree() {
@@ -114,18 +113,15 @@ render_omp_skill_tree() {
114
113
  case "$_r" in
115
114
  SKILL.md)
116
115
  gen_omp_skill_file "$f" "$_out"
117
- omp_rewrite_skill_refs "$_out" "$(basename "$_dest")/$_r"
118
116
  ;;
119
117
  *.md)
120
118
  gen_omp_markdown_file "$f" "$_out"
121
- omp_rewrite_skill_refs "$_out" "$(basename "$_dest")/$_r"
122
119
  ;;
123
120
  *)
124
121
  cp "$f" "$_out"
125
122
  ;;
126
123
  esac
127
124
  done < <(find "$_sd" -type f)
128
- pin_context_skills_root "$_dest" .omp/skills
129
125
  }
130
126
 
131
127
  render_pi_skill_tree() {
@@ -148,7 +144,6 @@ render_pi_skill_tree() {
148
144
  ;;
149
145
  esac
150
146
  done < <(find "$_sd" -type f)
151
- pin_context_skills_root "$_dest" .pi/skills
152
147
  }
153
148
 
154
149
  render_devin_skill_tree() {
@@ -171,7 +166,6 @@ render_devin_skill_tree() {
171
166
  ;;
172
167
  esac
173
168
  done < <(find "$_sd" -type f)
174
- pin_context_skills_root "$_dest" .devin/skills
175
169
  }
176
170
 
177
171
  mkdir -p "$OUT_ROOT/claude" "$OUT_ROOT/codex" "$OUT_ROOT/omp" "$OUT_ROOT/pi" "$OUT_ROOT/devin"
@@ -204,6 +198,7 @@ while IFS= read -r d; do
204
198
  [ "$name" = ".impeccable" ] && continue
205
199
  render_codex_skill_tree "$d" "$OUT_ROOT/codex/skills/$name"
206
200
  done < <(find "$PACK_SRC/skills" -mindepth 1 -maxdepth 1 -type d)
201
+ pin_context_skills_root "$OUT_ROOT/codex/skills" .agents/skills
207
202
 
208
203
  while IFS= read -r f; do
209
204
  name="$(basename "$f" .md)"
@@ -225,6 +220,8 @@ while IFS= read -r d; do
225
220
  ;;
226
221
  esac
227
222
  done < <(find "$PACK_SRC/skills" -mindepth 1 -maxdepth 1 -type d)
223
+ omp_rewrite_skill_refs "$OUT_ROOT/omp/skills"
224
+ pin_context_skills_root "$OUT_ROOT/omp/skills" .omp/skills
228
225
 
229
226
  while IFS= read -r f; do
230
227
  name="$(basename "$f" .md)"
@@ -248,6 +245,7 @@ while IFS= read -r d; do
248
245
  ;;
249
246
  esac
250
247
  done < <(find "$PACK_SRC/skills" -mindepth 1 -maxdepth 1 -type d)
248
+ pin_context_skills_root "$OUT_ROOT/pi/skills" .pi/skills
251
249
 
252
250
  while IFS= read -r f; do
253
251
  name="$(basename "$f" .md)"
@@ -265,6 +263,7 @@ while IFS= read -r d; do
265
263
  [ "$name" = ".impeccable" ] && continue
266
264
  render_devin_skill_tree "$d" "$OUT_ROOT/devin/skills/$name"
267
265
  done < <(find "$PACK_SRC/skills" -mindepth 1 -maxdepth 1 -type d)
266
+ pin_context_skills_root "$OUT_ROOT/devin/skills" .devin/skills
268
267
 
269
268
  while IFS= read -r f; do
270
269
  name="$(basename "$f" .md)"
@@ -44,6 +44,7 @@ gen_omp_markdown_file() {
44
44
  -e '/Rules in scope/{N;s#;\n[[:space:]]*`[^`]+` mirror on Codex##;}' \
45
45
  -e '/On Codex, use the/{N;s# On Codex, use the mirrors under\n`[^`]+`\.##;s# On Codex, use the\nmirrors under `[^`]+`\.##;s# On Codex, use the\nmirror under `[^`]+`\.##;}' \
46
46
  -e 's#Host mapping: Claude Code uses `Agent` \(`Task` is its legacy alias\); Codex uses#Host mapping: omp fresh-context dispatch uses the `task` tool (`tasks[]` batch); hosts use#g' \
47
+ -e 's#Skills name exact fresh roles; hosts select matching native profiles and#On omp, every `task` item (each `tasks[]` member) sets `agent` to the exact native profile;\nuse `agent: "devrites-code-reviewer"`, `agent: "devrites-test-analyst"`, or\n`agent: "devrites-slice-wright"` for those roles, including rechecks and repairs.\nKeep `.frontend`, `.backend`, and `.SLICE-001` on dispatch labels, not `agent`.\nAn omitted `agent` selects the default worker; `agent: "reviewer"` is generic. Hosts#' \
47
48
  -e 's#`Agent` call#`task` call#g' \
48
49
  -e 's#Claude: N concurrent Task wrights \(`acceptEdits`, cwd=worktree\)\.#omp: one `tasks[]` batch of N wrights; `task` has no `cwd` or `acceptEdits`, so each task names its absolute worktree path and the wright works only there.#g' \
49
50
  -e 's#^Claude grants only the exact wright `acceptEdits`;#omp has no permission modes: only the wright'"'"'s `tools` allowlist has `edit`/`write`, and the root stays source-read-only by instruction. Claude grants only the exact wright `acceptEdits`;#' \
@@ -62,24 +63,33 @@ gen_omp_markdown_file() {
62
63
  "$_src" > "$_out"
63
64
  }
64
65
 
65
- # Rewrite one installed omp skill file in place. $2 is its path under the skills
66
- # root (<skill>/<path>).
66
+ # Rewrite installed omp skill Markdown in place. $1 is the complete skills root.
67
67
  # - omp loads skill files as skill://<skill>/<path> and cannot climb above a
68
68
  # skill root, so each `../` link target or backtick path becomes an absolute
69
69
  # skill:// URL.
70
70
  omp_rewrite_skill_refs() {
71
- python3 - "$1" "$2" <<'PY'
72
- import posixpath, re, sys
73
- path, rel = sys.argv[1], sys.argv[2]
74
- here = posixpath.dirname(rel)
75
- def fix(m):
76
- target = posixpath.normpath(posixpath.join(here, m.group(2)))
77
- return m.group(0) if target.startswith("..") else m.group(1) + "skill://" + target
78
- with open(path, encoding="utf-8") as fh:
79
- text = fh.read()
80
- text = re.sub(r"(\]\(|`)((?:\.\./)+[A-Za-z0-9._/-]+)", fix, text)
81
- with open(path, "w", encoding="utf-8") as fh:
82
- fh.write(text)
71
+ python3 - "$1" <<'PY'
72
+ import os, posixpath, re, sys
73
+ root = sys.argv[1]
74
+ def fail(error):
75
+ raise error
76
+ for directory, _, names in os.walk(root, onerror=fail):
77
+ for name in names:
78
+ if not name.endswith(".md"):
79
+ continue
80
+ path = os.path.join(directory, name)
81
+ if os.path.islink(path):
82
+ continue
83
+ rel = os.path.relpath(path, root).replace(os.sep, "/")
84
+ here = posixpath.dirname(rel)
85
+ def fix(m):
86
+ target = posixpath.normpath(posixpath.join(here, m.group(2)))
87
+ return m.group(0) if target.startswith("..") else m.group(1) + "skill://" + target
88
+ with open(path, encoding="utf-8") as fh:
89
+ text = fh.read()
90
+ text = re.sub(r"(\]\(|`)((?:\.\./)+[A-Za-z0-9._/-]+)", fix, text)
91
+ with open(path, "w", encoding="utf-8") as fh:
92
+ fh.write(text)
83
93
  PY
84
94
  }
85
95