devrites 6.9.6 → 7.0.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 (678) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +10 -5
  3. package/SECURITY.md +3 -3
  4. package/docs/adr/0038-engine-flags-unattributed-root-edits.md +67 -0
  5. package/docs/adr/README.md +2 -1
  6. package/docs/cli.md +19 -6
  7. package/docs/command-map.md +21 -19
  8. package/docs/engine/commands.md +22 -15
  9. package/docs/skills.md +1 -1
  10. package/docs/usage.md +3 -3
  11. package/engine/commands.go +8 -3
  12. package/engine/help.go +43 -16
  13. package/engine/internal/acceptance/approve.go +46 -7
  14. package/engine/internal/acceptance/cli.go +102 -0
  15. package/engine/internal/acceptance/exec.go +8 -6
  16. package/engine/internal/acceptance/ledger.go +16 -1
  17. package/engine/internal/acceptance/lint.go +9 -1
  18. package/engine/internal/acceptance/preconditions.go +201 -0
  19. package/engine/internal/anchor/anchor.go +76 -0
  20. package/engine/internal/gate/drivers.go +144 -0
  21. package/engine/internal/gate/gate.go +49 -13
  22. package/engine/internal/gate/preconditions.go +121 -0
  23. package/engine/internal/lib/anchors.go +270 -0
  24. package/engine/internal/lib/apply_bundle.go +2 -1
  25. package/engine/internal/lib/candidate.go +17 -8
  26. package/engine/internal/lib/claims.go +48 -33
  27. package/engine/internal/lib/context.go +337 -22
  28. package/engine/internal/lib/diffscope.go +201 -12
  29. package/engine/internal/lib/dispatch.go +393 -21
  30. package/engine/internal/lib/dispatch_contract.go +82 -2
  31. package/engine/internal/lib/dispatch_packet.go +224 -8
  32. package/engine/internal/lib/environment_report.go +2 -3
  33. package/engine/internal/lib/handoff.go +33 -3
  34. package/engine/internal/lib/metrics.go +119 -11
  35. package/engine/internal/lib/next.go +45 -5
  36. package/engine/internal/lib/observe_summary.go +2 -4
  37. package/engine/internal/lib/packet.go +319 -0
  38. package/engine/internal/lib/packet_freeze.go +227 -0
  39. package/engine/internal/lib/perturb.go +403 -0
  40. package/engine/internal/lib/questions_lint.go +99 -0
  41. package/engine/internal/lib/state_edit.go +396 -0
  42. package/engine/internal/lib/taskgraph.go +166 -0
  43. package/engine/internal/lib/treebaseline.go +331 -0
  44. package/engine/internal/lib/triggers.go +19 -0
  45. package/engine/internal/lib/windows.go +110 -5
  46. package/engine/internal/overhaul/admit/run.go +7 -30
  47. package/engine/internal/parallel/cli.go +27 -33
  48. package/engine/internal/parallel/git.go +10 -0
  49. package/engine/internal/parallel/select.go +36 -0
  50. package/engine/internal/state/budgets.go +60 -13
  51. package/engine/internal/state/observation.go +1 -1
  52. package/engine/main.go +61 -14
  53. package/pack/.claude/agents/devrites-code-reviewer.md +9 -5
  54. package/pack/.claude/agents/devrites-devex-reviewer.md +5 -4
  55. package/pack/.claude/agents/devrites-doubt-reviewer.md +4 -4
  56. package/pack/.claude/agents/devrites-evidence-scout.md +3 -2
  57. package/pack/.claude/agents/devrites-frontend-reviewer.md +5 -4
  58. package/pack/.claude/agents/devrites-performance-reviewer.md +5 -5
  59. package/pack/.claude/agents/devrites-plan-drafter.md +4 -2
  60. package/pack/.claude/agents/devrites-plan-reviewer.md +5 -5
  61. package/pack/.claude/agents/devrites-proof-runner.md +1 -1
  62. package/pack/.claude/agents/devrites-retrospector.md +1 -1
  63. package/pack/.claude/agents/devrites-security-auditor.md +4 -4
  64. package/pack/.claude/agents/devrites-simplifier-reviewer.md +5 -4
  65. package/pack/.claude/agents/devrites-slice-wright.md +18 -9
  66. package/pack/.claude/agents/devrites-spec-reviewer.md +4 -4
  67. package/pack/.claude/agents/devrites-strategy-reviewer.md +5 -6
  68. package/pack/.claude/agents/devrites-test-analyst.md +7 -4
  69. package/pack/.claude/agents/devrites-upgrade-planner.md +1 -1
  70. package/pack/.claude/agents/fast-builder.md +4 -2
  71. package/pack/.claude/agents/fast-checker.md +3 -2
  72. package/pack/.claude/agents/fast-critic.md +3 -2
  73. package/pack/.claude/agents/fast-planner.md +3 -3
  74. package/pack/.claude/agents/overhaul-recon.md +5 -4
  75. package/pack/.claude/settings.json +19 -7
  76. package/pack/.claude/skills/devrites-api-interface/SKILL.md +1 -1
  77. package/pack/.claude/skills/devrites-audit/SKILL.md +1 -1
  78. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +33 -13
  79. package/pack/.claude/skills/devrites-browser-proof/reference/browser-performance.md +2 -1
  80. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +1 -1
  81. package/pack/.claude/skills/devrites-doubt/SKILL.md +5 -5
  82. package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  83. package/pack/.claude/skills/devrites-interview/SKILL.md +1 -1
  84. package/pack/.claude/skills/devrites-lib/SKILL.md +11 -6
  85. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +2 -0
  86. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +25 -14
  87. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +2 -1
  88. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +11 -3
  89. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +43 -19
  90. package/pack/.claude/skills/devrites-lib/reference/standards/architecture-health.md +1 -1
  91. package/pack/.claude/skills/devrites-lib/reference/standards/code-index.md +111 -0
  92. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +13 -63
  93. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +8 -9
  94. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +14 -1
  95. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +1 -1
  96. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +10 -1
  97. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +4 -0
  98. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +3 -1
  99. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +9 -8
  100. package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +3 -2
  101. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  102. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +16 -16
  103. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +1 -1
  104. package/pack/.claude/skills/overhaul/references/orchestration.md +3 -2
  105. package/pack/.claude/skills/rite/SKILL.md +1 -1
  106. package/pack/.claude/skills/rite-adopt/SKILL.md +1 -1
  107. package/pack/.claude/skills/rite-adopt/reference/adoption.md +1 -1
  108. package/pack/.claude/skills/rite-autocomplete/SKILL.md +5 -4
  109. package/pack/.claude/skills/rite-build/SKILL.md +4 -3
  110. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +2 -0
  111. package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +4 -1
  112. package/pack/.claude/skills/rite-build/reference/checkpoint.md +2 -0
  113. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +1 -1
  114. package/pack/.claude/skills/rite-build/reference/output.md +2 -0
  115. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +22 -12
  116. package/pack/.claude/skills/rite-build/reference/phase-contract.md +13 -3
  117. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +42 -25
  118. package/pack/.claude/skills/rite-clarify/SKILL.md +1 -1
  119. package/pack/.claude/skills/rite-converge/SKILL.md +4 -4
  120. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +3 -3
  121. package/pack/.claude/skills/rite-define/SKILL.md +10 -5
  122. package/pack/.claude/skills/rite-doctor/SKILL.md +17 -2
  123. package/pack/.claude/skills/rite-dogfood/SKILL.md +1 -1
  124. package/pack/.claude/skills/rite-explain/SKILL.md +1 -1
  125. package/pack/.claude/skills/rite-explain/reference/intake.md +1 -1
  126. package/pack/.claude/skills/rite-fast/SKILL.md +1 -1
  127. package/pack/.claude/skills/rite-handoff/SKILL.md +3 -3
  128. package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +1 -1
  129. package/pack/.claude/skills/rite-harness/SKILL.md +2 -1
  130. package/pack/.claude/skills/rite-plan/SKILL.md +4 -4
  131. package/pack/.claude/skills/rite-plan/reference/slicing.md +3 -2
  132. package/pack/.claude/skills/rite-polish/SKILL.md +6 -3
  133. package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +1 -1
  134. package/pack/.claude/skills/rite-prove/SKILL.md +1 -1
  135. package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +1 -1
  136. package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +16 -5
  137. package/pack/.claude/skills/rite-quick/SKILL.md +1 -1
  138. package/pack/.claude/skills/rite-resolve/SKILL.md +1 -1
  139. package/pack/.claude/skills/rite-review/SKILL.md +4 -4
  140. package/pack/.claude/skills/rite-seal/SKILL.md +2 -2
  141. package/pack/.claude/skills/rite-ship/SKILL.md +1 -1
  142. package/pack/.claude/skills/rite-spec/SKILL.md +1 -1
  143. package/pack/.claude/skills/rite-spec/reference/investigation.md +5 -5
  144. package/pack/.claude/skills/rite-spec/reference/spec-template.md +1 -1
  145. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +6 -4
  146. package/pack/.claude/skills/rite-status/SKILL.md +1 -1
  147. package/pack/.claude/skills/rite-temper/SKILL.md +1 -1
  148. package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +2 -2
  149. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +2 -2
  150. package/pack/.claude/skills/rite-temper/reference/significance.md +2 -2
  151. package/pack/.claude/skills/rite-vet/SKILL.md +8 -4
  152. package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -3
  153. package/pack/.claude/skills/rite-vet/reference/depth.md +2 -2
  154. package/pack/.claude/skills/rite-vet/reference/review-axes.md +2 -2
  155. package/pack/.claude/skills/rite-zoom-out/SKILL.md +6 -6
  156. package/pack/generated/claude/agents/devrites-code-reviewer.md +9 -5
  157. package/pack/generated/claude/agents/devrites-devex-reviewer.md +5 -4
  158. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +4 -4
  159. package/pack/generated/claude/agents/devrites-evidence-scout.md +3 -2
  160. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +5 -4
  161. package/pack/generated/claude/agents/devrites-performance-reviewer.md +5 -5
  162. package/pack/generated/claude/agents/devrites-plan-drafter.md +4 -2
  163. package/pack/generated/claude/agents/devrites-plan-reviewer.md +5 -5
  164. package/pack/generated/claude/agents/devrites-proof-runner.md +1 -1
  165. package/pack/generated/claude/agents/devrites-retrospector.md +1 -1
  166. package/pack/generated/claude/agents/devrites-security-auditor.md +4 -4
  167. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +5 -4
  168. package/pack/generated/claude/agents/devrites-slice-wright.md +18 -9
  169. package/pack/generated/claude/agents/devrites-spec-reviewer.md +4 -4
  170. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +5 -6
  171. package/pack/generated/claude/agents/devrites-test-analyst.md +7 -4
  172. package/pack/generated/claude/agents/devrites-upgrade-planner.md +1 -1
  173. package/pack/generated/claude/agents/fast-builder.md +4 -2
  174. package/pack/generated/claude/agents/fast-checker.md +3 -2
  175. package/pack/generated/claude/agents/fast-critic.md +3 -2
  176. package/pack/generated/claude/agents/fast-planner.md +3 -3
  177. package/pack/generated/claude/agents/overhaul-recon.md +5 -4
  178. package/pack/generated/claude/settings.json +19 -7
  179. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +1 -1
  180. package/pack/generated/claude/skills/devrites-audit/SKILL.md +1 -1
  181. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +33 -13
  182. package/pack/generated/claude/skills/devrites-browser-proof/reference/browser-performance.md +2 -1
  183. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +1 -1
  184. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +5 -5
  185. package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  186. package/pack/generated/claude/skills/devrites-interview/SKILL.md +1 -1
  187. package/pack/generated/claude/skills/devrites-lib/SKILL.md +11 -6
  188. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +2 -0
  189. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +25 -14
  190. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +2 -1
  191. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +11 -3
  192. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +43 -19
  193. package/pack/generated/claude/skills/devrites-lib/reference/standards/architecture-health.md +1 -1
  194. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-index.md +111 -0
  195. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +13 -63
  196. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +8 -9
  197. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +14 -1
  198. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +1 -1
  199. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +10 -1
  200. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +4 -0
  201. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +3 -1
  202. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +9 -8
  203. package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +3 -2
  204. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  205. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +16 -16
  206. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +1 -1
  207. package/pack/generated/claude/skills/overhaul/references/orchestration.md +3 -2
  208. package/pack/generated/claude/skills/rite/SKILL.md +1 -1
  209. package/pack/generated/claude/skills/rite-adopt/SKILL.md +1 -1
  210. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +1 -1
  211. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +5 -4
  212. package/pack/generated/claude/skills/rite-build/SKILL.md +4 -3
  213. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +2 -0
  214. package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +4 -1
  215. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +2 -0
  216. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +1 -1
  217. package/pack/generated/claude/skills/rite-build/reference/output.md +2 -0
  218. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +22 -12
  219. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +13 -3
  220. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +42 -25
  221. package/pack/generated/claude/skills/rite-clarify/SKILL.md +1 -1
  222. package/pack/generated/claude/skills/rite-converge/SKILL.md +4 -4
  223. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +3 -3
  224. package/pack/generated/claude/skills/rite-define/SKILL.md +10 -5
  225. package/pack/generated/claude/skills/rite-doctor/SKILL.md +17 -2
  226. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +1 -1
  227. package/pack/generated/claude/skills/rite-explain/SKILL.md +1 -1
  228. package/pack/generated/claude/skills/rite-explain/reference/intake.md +1 -1
  229. package/pack/generated/claude/skills/rite-fast/SKILL.md +1 -1
  230. package/pack/generated/claude/skills/rite-handoff/SKILL.md +3 -3
  231. package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +1 -1
  232. package/pack/generated/claude/skills/rite-harness/SKILL.md +2 -1
  233. package/pack/generated/claude/skills/rite-plan/SKILL.md +4 -4
  234. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +3 -2
  235. package/pack/generated/claude/skills/rite-polish/SKILL.md +6 -3
  236. package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +1 -1
  237. package/pack/generated/claude/skills/rite-prove/SKILL.md +1 -1
  238. package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +1 -1
  239. package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +16 -5
  240. package/pack/generated/claude/skills/rite-quick/SKILL.md +1 -1
  241. package/pack/generated/claude/skills/rite-resolve/SKILL.md +1 -1
  242. package/pack/generated/claude/skills/rite-review/SKILL.md +4 -4
  243. package/pack/generated/claude/skills/rite-seal/SKILL.md +2 -2
  244. package/pack/generated/claude/skills/rite-ship/SKILL.md +1 -1
  245. package/pack/generated/claude/skills/rite-spec/SKILL.md +1 -1
  246. package/pack/generated/claude/skills/rite-spec/reference/investigation.md +5 -5
  247. package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +1 -1
  248. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +6 -4
  249. package/pack/generated/claude/skills/rite-status/SKILL.md +1 -1
  250. package/pack/generated/claude/skills/rite-temper/SKILL.md +1 -1
  251. package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +2 -2
  252. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +2 -2
  253. package/pack/generated/claude/skills/rite-temper/reference/significance.md +2 -2
  254. package/pack/generated/claude/skills/rite-vet/SKILL.md +8 -4
  255. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -3
  256. package/pack/generated/claude/skills/rite-vet/reference/depth.md +2 -2
  257. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +2 -2
  258. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +6 -6
  259. package/pack/generated/codex/agents/devrites-code-reviewer.toml +8 -4
  260. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +4 -3
  261. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +3 -3
  262. package/pack/generated/codex/agents/devrites-evidence-scout.toml +2 -1
  263. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +4 -3
  264. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +4 -4
  265. package/pack/generated/codex/agents/devrites-plan-drafter.toml +3 -1
  266. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +4 -4
  267. package/pack/generated/codex/agents/devrites-security-auditor.toml +3 -3
  268. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +4 -3
  269. package/pack/generated/codex/agents/devrites-slice-wright.toml +17 -8
  270. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +3 -3
  271. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +4 -5
  272. package/pack/generated/codex/agents/devrites-test-analyst.toml +6 -3
  273. package/pack/generated/codex/agents/fast-builder.toml +3 -1
  274. package/pack/generated/codex/agents/fast-checker.toml +2 -1
  275. package/pack/generated/codex/agents/fast-critic.toml +2 -1
  276. package/pack/generated/codex/agents/fast-planner.toml +2 -2
  277. package/pack/generated/codex/agents/overhaul-recon.toml +5 -4
  278. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +1 -1
  279. package/pack/generated/codex/skills/devrites-audit/SKILL.md +1 -1
  280. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +33 -13
  281. package/pack/generated/codex/skills/devrites-browser-proof/reference/browser-performance.md +2 -1
  282. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +1 -1
  283. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +5 -5
  284. package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  285. package/pack/generated/codex/skills/devrites-interview/SKILL.md +1 -1
  286. package/pack/generated/codex/skills/devrites-lib/SKILL.md +11 -6
  287. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +2 -0
  288. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +25 -14
  289. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +2 -1
  290. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +11 -3
  291. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +43 -19
  292. package/pack/generated/codex/skills/devrites-lib/reference/standards/architecture-health.md +1 -1
  293. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-index.md +111 -0
  294. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +13 -63
  295. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +8 -9
  296. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +14 -1
  297. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +1 -1
  298. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +10 -1
  299. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +4 -0
  300. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +3 -1
  301. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +9 -8
  302. package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +3 -2
  303. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  304. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +16 -16
  305. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +1 -1
  306. package/pack/generated/codex/skills/overhaul/references/orchestration.md +3 -2
  307. package/pack/generated/codex/skills/rite/SKILL.md +1 -1
  308. package/pack/generated/codex/skills/rite-adopt/SKILL.md +1 -1
  309. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +1 -1
  310. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +5 -4
  311. package/pack/generated/codex/skills/rite-build/SKILL.md +4 -3
  312. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +2 -0
  313. package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +4 -1
  314. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +2 -0
  315. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +1 -1
  316. package/pack/generated/codex/skills/rite-build/reference/output.md +2 -0
  317. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +22 -12
  318. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +13 -3
  319. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +42 -25
  320. package/pack/generated/codex/skills/rite-clarify/SKILL.md +1 -1
  321. package/pack/generated/codex/skills/rite-converge/SKILL.md +4 -4
  322. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +3 -3
  323. package/pack/generated/codex/skills/rite-define/SKILL.md +10 -5
  324. package/pack/generated/codex/skills/rite-doctor/SKILL.md +17 -2
  325. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +1 -1
  326. package/pack/generated/codex/skills/rite-explain/SKILL.md +1 -1
  327. package/pack/generated/codex/skills/rite-explain/reference/intake.md +1 -1
  328. package/pack/generated/codex/skills/rite-fast/SKILL.md +1 -1
  329. package/pack/generated/codex/skills/rite-handoff/SKILL.md +3 -3
  330. package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +1 -1
  331. package/pack/generated/codex/skills/rite-harness/SKILL.md +2 -1
  332. package/pack/generated/codex/skills/rite-plan/SKILL.md +4 -4
  333. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +3 -2
  334. package/pack/generated/codex/skills/rite-polish/SKILL.md +6 -3
  335. package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +1 -1
  336. package/pack/generated/codex/skills/rite-prove/SKILL.md +1 -1
  337. package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +1 -1
  338. package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +16 -5
  339. package/pack/generated/codex/skills/rite-quick/SKILL.md +1 -1
  340. package/pack/generated/codex/skills/rite-resolve/SKILL.md +1 -1
  341. package/pack/generated/codex/skills/rite-review/SKILL.md +4 -4
  342. package/pack/generated/codex/skills/rite-seal/SKILL.md +2 -2
  343. package/pack/generated/codex/skills/rite-ship/SKILL.md +1 -1
  344. package/pack/generated/codex/skills/rite-spec/SKILL.md +1 -1
  345. package/pack/generated/codex/skills/rite-spec/reference/investigation.md +5 -5
  346. package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +1 -1
  347. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +6 -4
  348. package/pack/generated/codex/skills/rite-status/SKILL.md +1 -1
  349. package/pack/generated/codex/skills/rite-temper/SKILL.md +1 -1
  350. package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +2 -2
  351. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +2 -2
  352. package/pack/generated/codex/skills/rite-temper/reference/significance.md +2 -2
  353. package/pack/generated/codex/skills/rite-vet/SKILL.md +8 -4
  354. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -3
  355. package/pack/generated/codex/skills/rite-vet/reference/depth.md +2 -2
  356. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +2 -2
  357. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +6 -6
  358. package/pack/generated/devin/agents/devrites-code-reviewer.md +8 -4
  359. package/pack/generated/devin/agents/devrites-devex-reviewer.md +4 -3
  360. package/pack/generated/devin/agents/devrites-doubt-reviewer.md +3 -3
  361. package/pack/generated/devin/agents/devrites-evidence-scout.md +2 -1
  362. package/pack/generated/devin/agents/devrites-frontend-reviewer.md +4 -3
  363. package/pack/generated/devin/agents/devrites-performance-reviewer.md +4 -4
  364. package/pack/generated/devin/agents/devrites-plan-drafter.md +3 -1
  365. package/pack/generated/devin/agents/devrites-plan-reviewer.md +4 -4
  366. package/pack/generated/devin/agents/devrites-security-auditor.md +3 -3
  367. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +4 -3
  368. package/pack/generated/devin/agents/devrites-slice-wright.md +17 -8
  369. package/pack/generated/devin/agents/devrites-spec-reviewer.md +3 -3
  370. package/pack/generated/devin/agents/devrites-strategy-reviewer.md +4 -5
  371. package/pack/generated/devin/agents/devrites-test-analyst.md +6 -3
  372. package/pack/generated/devin/agents/fast-builder.md +3 -1
  373. package/pack/generated/devin/agents/fast-checker.md +2 -1
  374. package/pack/generated/devin/agents/fast-critic.md +2 -1
  375. package/pack/generated/devin/agents/fast-planner.md +2 -2
  376. package/pack/generated/devin/agents/overhaul-recon.md +5 -4
  377. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +1 -1
  378. package/pack/generated/devin/skills/devrites-audit/SKILL.md +1 -1
  379. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +33 -13
  380. package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +2 -1
  381. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +1 -1
  382. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +5 -5
  383. package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  384. package/pack/generated/devin/skills/devrites-interview/SKILL.md +1 -1
  385. package/pack/generated/devin/skills/devrites-lib/SKILL.md +11 -6
  386. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +2 -0
  387. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +25 -14
  388. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +2 -1
  389. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +11 -3
  390. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +43 -19
  391. package/pack/generated/devin/skills/devrites-lib/reference/standards/architecture-health.md +1 -1
  392. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-index.md +111 -0
  393. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +13 -63
  394. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +8 -9
  395. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +14 -1
  396. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +1 -1
  397. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +10 -1
  398. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +4 -0
  399. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +3 -1
  400. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +9 -8
  401. package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +3 -2
  402. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  403. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +16 -16
  404. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +1 -1
  405. package/pack/generated/devin/skills/overhaul/references/orchestration.md +3 -2
  406. package/pack/generated/devin/skills/rite/SKILL.md +1 -1
  407. package/pack/generated/devin/skills/rite-adopt/SKILL.md +1 -1
  408. package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +1 -1
  409. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +5 -4
  410. package/pack/generated/devin/skills/rite-build/SKILL.md +4 -3
  411. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +2 -0
  412. package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +4 -1
  413. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +2 -0
  414. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +1 -1
  415. package/pack/generated/devin/skills/rite-build/reference/output.md +2 -0
  416. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +22 -12
  417. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +13 -3
  418. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +42 -25
  419. package/pack/generated/devin/skills/rite-clarify/SKILL.md +1 -1
  420. package/pack/generated/devin/skills/rite-converge/SKILL.md +4 -4
  421. package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +3 -3
  422. package/pack/generated/devin/skills/rite-define/SKILL.md +10 -5
  423. package/pack/generated/devin/skills/rite-doctor/SKILL.md +17 -2
  424. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +1 -1
  425. package/pack/generated/devin/skills/rite-explain/SKILL.md +1 -1
  426. package/pack/generated/devin/skills/rite-explain/reference/intake.md +1 -1
  427. package/pack/generated/devin/skills/rite-fast/SKILL.md +1 -1
  428. package/pack/generated/devin/skills/rite-handoff/SKILL.md +3 -3
  429. package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +1 -1
  430. package/pack/generated/devin/skills/rite-harness/SKILL.md +2 -1
  431. package/pack/generated/devin/skills/rite-plan/SKILL.md +4 -4
  432. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +3 -2
  433. package/pack/generated/devin/skills/rite-polish/SKILL.md +6 -3
  434. package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +1 -1
  435. package/pack/generated/devin/skills/rite-prove/SKILL.md +1 -1
  436. package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +1 -1
  437. package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +16 -5
  438. package/pack/generated/devin/skills/rite-quick/SKILL.md +1 -1
  439. package/pack/generated/devin/skills/rite-resolve/SKILL.md +1 -1
  440. package/pack/generated/devin/skills/rite-review/SKILL.md +4 -4
  441. package/pack/generated/devin/skills/rite-seal/SKILL.md +2 -2
  442. package/pack/generated/devin/skills/rite-ship/SKILL.md +1 -1
  443. package/pack/generated/devin/skills/rite-spec/SKILL.md +1 -1
  444. package/pack/generated/devin/skills/rite-spec/reference/investigation.md +5 -5
  445. package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +1 -1
  446. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +6 -4
  447. package/pack/generated/devin/skills/rite-status/SKILL.md +1 -1
  448. package/pack/generated/devin/skills/rite-temper/SKILL.md +1 -1
  449. package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +2 -2
  450. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +2 -2
  451. package/pack/generated/devin/skills/rite-temper/reference/significance.md +2 -2
  452. package/pack/generated/devin/skills/rite-vet/SKILL.md +8 -4
  453. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +10 -3
  454. package/pack/generated/devin/skills/rite-vet/reference/depth.md +2 -2
  455. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +2 -2
  456. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +6 -6
  457. package/pack/generated/omp/agents/devrites-code-reviewer.md +9 -5
  458. package/pack/generated/omp/agents/devrites-devex-reviewer.md +5 -4
  459. package/pack/generated/omp/agents/devrites-doubt-reviewer.md +4 -4
  460. package/pack/generated/omp/agents/devrites-evidence-scout.md +3 -2
  461. package/pack/generated/omp/agents/devrites-frontend-reviewer.md +5 -4
  462. package/pack/generated/omp/agents/devrites-performance-reviewer.md +5 -5
  463. package/pack/generated/omp/agents/devrites-plan-drafter.md +4 -2
  464. package/pack/generated/omp/agents/devrites-plan-reviewer.md +5 -5
  465. package/pack/generated/omp/agents/devrites-proof-runner.md +1 -1
  466. package/pack/generated/omp/agents/devrites-retrospector.md +1 -1
  467. package/pack/generated/omp/agents/devrites-security-auditor.md +4 -4
  468. package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +5 -4
  469. package/pack/generated/omp/agents/devrites-slice-wright.md +18 -9
  470. package/pack/generated/omp/agents/devrites-spec-reviewer.md +4 -4
  471. package/pack/generated/omp/agents/devrites-strategy-reviewer.md +5 -6
  472. package/pack/generated/omp/agents/devrites-test-analyst.md +7 -4
  473. package/pack/generated/omp/agents/devrites-upgrade-planner.md +1 -1
  474. package/pack/generated/omp/agents/fast-builder.md +4 -2
  475. package/pack/generated/omp/agents/fast-checker.md +3 -2
  476. package/pack/generated/omp/agents/fast-critic.md +3 -2
  477. package/pack/generated/omp/agents/fast-planner.md +3 -3
  478. package/pack/generated/omp/agents/overhaul-backend-engineer.md +1 -1
  479. package/pack/generated/omp/agents/overhaul-boundary.md +1 -1
  480. package/pack/generated/omp/agents/overhaul-craft.md +1 -1
  481. package/pack/generated/omp/agents/overhaul-frontend-engineer.md +1 -1
  482. package/pack/generated/omp/agents/overhaul-implementer.md +1 -1
  483. package/pack/generated/omp/agents/overhaul-recon.md +6 -5
  484. package/pack/generated/omp/agents/overhaul-specialist.md +1 -1
  485. package/pack/generated/omp/agents/overhaul-verifier.md +1 -1
  486. package/pack/generated/omp/skills/devrites-api-interface/SKILL.md +1 -1
  487. package/pack/generated/omp/skills/devrites-audit/SKILL.md +1 -1
  488. package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +33 -13
  489. package/pack/generated/omp/skills/devrites-browser-proof/reference/browser-performance.md +2 -1
  490. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +1 -1
  491. package/pack/generated/omp/skills/devrites-doubt/SKILL.md +5 -5
  492. package/pack/generated/omp/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  493. package/pack/generated/omp/skills/devrites-interview/SKILL.md +1 -1
  494. package/pack/generated/omp/skills/devrites-lib/SKILL.md +11 -6
  495. package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +2 -0
  496. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +25 -14
  497. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +2 -1
  498. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +11 -3
  499. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +43 -19
  500. package/pack/generated/omp/skills/devrites-lib/reference/standards/architecture-health.md +1 -1
  501. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-index.md +111 -0
  502. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +13 -63
  503. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +8 -9
  504. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +14 -1
  505. package/pack/generated/omp/skills/devrites-lib/reference/standards/deprecation.md +1 -1
  506. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +10 -1
  507. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +4 -0
  508. package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +3 -1
  509. package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +9 -8
  510. package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +3 -2
  511. package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  512. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +16 -16
  513. package/pack/generated/omp/skills/devrites-ux-shape/SKILL.md +1 -1
  514. package/pack/generated/omp/skills/overhaul/references/orchestration.md +3 -2
  515. package/pack/generated/omp/skills/rite/SKILL.md +1 -1
  516. package/pack/generated/omp/skills/rite-adopt/SKILL.md +1 -1
  517. package/pack/generated/omp/skills/rite-adopt/reference/adoption.md +1 -1
  518. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +5 -4
  519. package/pack/generated/omp/skills/rite-build/SKILL.md +4 -3
  520. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +2 -0
  521. package/pack/generated/omp/skills/rite-build/reference/checkpoint-protocol.md +4 -1
  522. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +2 -0
  523. package/pack/generated/omp/skills/rite-build/reference/one-slice-cycle.md +1 -1
  524. package/pack/generated/omp/skills/rite-build/reference/output.md +2 -0
  525. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +22 -12
  526. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +13 -3
  527. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +42 -25
  528. package/pack/generated/omp/skills/rite-clarify/SKILL.md +1 -1
  529. package/pack/generated/omp/skills/rite-converge/SKILL.md +4 -4
  530. package/pack/generated/omp/skills/rite-converge/reference/convergence-assessment.md +3 -3
  531. package/pack/generated/omp/skills/rite-define/SKILL.md +10 -5
  532. package/pack/generated/omp/skills/rite-doctor/SKILL.md +17 -2
  533. package/pack/generated/omp/skills/rite-dogfood/SKILL.md +1 -1
  534. package/pack/generated/omp/skills/rite-explain/SKILL.md +1 -1
  535. package/pack/generated/omp/skills/rite-explain/reference/intake.md +1 -1
  536. package/pack/generated/omp/skills/rite-fast/SKILL.md +1 -1
  537. package/pack/generated/omp/skills/rite-handoff/SKILL.md +3 -3
  538. package/pack/generated/omp/skills/rite-handoff/reference/handoff-template.md +1 -1
  539. package/pack/generated/omp/skills/rite-harness/SKILL.md +2 -1
  540. package/pack/generated/omp/skills/rite-plan/SKILL.md +4 -4
  541. package/pack/generated/omp/skills/rite-plan/reference/slicing.md +3 -2
  542. package/pack/generated/omp/skills/rite-polish/SKILL.md +6 -3
  543. package/pack/generated/omp/skills/rite-polish/reference/harden-checklist.md +1 -1
  544. package/pack/generated/omp/skills/rite-prove/SKILL.md +1 -1
  545. package/pack/generated/omp/skills/rite-prove/reference/anti-patterns.md +1 -1
  546. package/pack/generated/omp/skills/rite-prove/reference/proof-ladder.md +16 -5
  547. package/pack/generated/omp/skills/rite-quick/SKILL.md +1 -1
  548. package/pack/generated/omp/skills/rite-resolve/SKILL.md +1 -1
  549. package/pack/generated/omp/skills/rite-review/SKILL.md +4 -4
  550. package/pack/generated/omp/skills/rite-seal/SKILL.md +2 -2
  551. package/pack/generated/omp/skills/rite-ship/SKILL.md +1 -1
  552. package/pack/generated/omp/skills/rite-spec/SKILL.md +1 -1
  553. package/pack/generated/omp/skills/rite-spec/reference/investigation.md +5 -5
  554. package/pack/generated/omp/skills/rite-spec/reference/spec-template.md +1 -1
  555. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +6 -4
  556. package/pack/generated/omp/skills/rite-status/SKILL.md +1 -1
  557. package/pack/generated/omp/skills/rite-temper/SKILL.md +1 -1
  558. package/pack/generated/omp/skills/rite-temper/reference/review-dimensions.md +2 -2
  559. package/pack/generated/omp/skills/rite-temper/reference/scope-modes.md +2 -2
  560. package/pack/generated/omp/skills/rite-temper/reference/significance.md +2 -2
  561. package/pack/generated/omp/skills/rite-vet/SKILL.md +8 -4
  562. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +10 -3
  563. package/pack/generated/omp/skills/rite-vet/reference/depth.md +2 -2
  564. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +2 -2
  565. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +6 -6
  566. package/pack/generated/pi/agents/devrites-code-reviewer.md +9 -5
  567. package/pack/generated/pi/agents/devrites-devex-reviewer.md +5 -4
  568. package/pack/generated/pi/agents/devrites-doubt-reviewer.md +4 -4
  569. package/pack/generated/pi/agents/devrites-evidence-scout.md +3 -2
  570. package/pack/generated/pi/agents/devrites-frontend-reviewer.md +5 -4
  571. package/pack/generated/pi/agents/devrites-performance-reviewer.md +5 -5
  572. package/pack/generated/pi/agents/devrites-plan-drafter.md +4 -2
  573. package/pack/generated/pi/agents/devrites-plan-reviewer.md +5 -5
  574. package/pack/generated/pi/agents/devrites-proof-runner.md +1 -1
  575. package/pack/generated/pi/agents/devrites-retrospector.md +1 -1
  576. package/pack/generated/pi/agents/devrites-security-auditor.md +4 -4
  577. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +5 -4
  578. package/pack/generated/pi/agents/devrites-slice-wright.md +18 -9
  579. package/pack/generated/pi/agents/devrites-spec-reviewer.md +4 -4
  580. package/pack/generated/pi/agents/devrites-strategy-reviewer.md +5 -6
  581. package/pack/generated/pi/agents/devrites-test-analyst.md +7 -4
  582. package/pack/generated/pi/agents/devrites-upgrade-planner.md +1 -1
  583. package/pack/generated/pi/agents/fast-builder.md +4 -2
  584. package/pack/generated/pi/agents/fast-checker.md +3 -2
  585. package/pack/generated/pi/agents/fast-critic.md +3 -2
  586. package/pack/generated/pi/agents/fast-planner.md +3 -3
  587. package/pack/generated/pi/agents/overhaul-backend-engineer.md +1 -1
  588. package/pack/generated/pi/agents/overhaul-boundary.md +1 -1
  589. package/pack/generated/pi/agents/overhaul-craft.md +1 -1
  590. package/pack/generated/pi/agents/overhaul-frontend-engineer.md +1 -1
  591. package/pack/generated/pi/agents/overhaul-implementer.md +1 -1
  592. package/pack/generated/pi/agents/overhaul-recon.md +6 -5
  593. package/pack/generated/pi/agents/overhaul-specialist.md +1 -1
  594. package/pack/generated/pi/agents/overhaul-verifier.md +1 -1
  595. package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +1 -1
  596. package/pack/generated/pi/skills/devrites-audit/SKILL.md +1 -1
  597. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +33 -13
  598. package/pack/generated/pi/skills/devrites-browser-proof/reference/browser-performance.md +2 -1
  599. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +1 -1
  600. package/pack/generated/pi/skills/devrites-doubt/SKILL.md +5 -5
  601. package/pack/generated/pi/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  602. package/pack/generated/pi/skills/devrites-interview/SKILL.md +1 -1
  603. package/pack/generated/pi/skills/devrites-lib/SKILL.md +11 -6
  604. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +2 -0
  605. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +25 -14
  606. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +2 -1
  607. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +11 -3
  608. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +43 -19
  609. package/pack/generated/pi/skills/devrites-lib/reference/standards/architecture-health.md +1 -1
  610. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-index.md +111 -0
  611. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +13 -63
  612. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +8 -9
  613. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +14 -1
  614. package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +1 -1
  615. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +10 -1
  616. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +4 -0
  617. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +3 -1
  618. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +9 -8
  619. package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +3 -2
  620. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  621. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +16 -16
  622. package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +1 -1
  623. package/pack/generated/pi/skills/overhaul/references/orchestration.md +3 -2
  624. package/pack/generated/pi/skills/rite/SKILL.md +1 -1
  625. package/pack/generated/pi/skills/rite-adopt/SKILL.md +1 -1
  626. package/pack/generated/pi/skills/rite-adopt/reference/adoption.md +1 -1
  627. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +5 -4
  628. package/pack/generated/pi/skills/rite-build/SKILL.md +4 -3
  629. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +2 -0
  630. package/pack/generated/pi/skills/rite-build/reference/checkpoint-protocol.md +4 -1
  631. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +2 -0
  632. package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +1 -1
  633. package/pack/generated/pi/skills/rite-build/reference/output.md +2 -0
  634. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +22 -12
  635. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +13 -3
  636. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +42 -25
  637. package/pack/generated/pi/skills/rite-clarify/SKILL.md +1 -1
  638. package/pack/generated/pi/skills/rite-converge/SKILL.md +4 -4
  639. package/pack/generated/pi/skills/rite-converge/reference/convergence-assessment.md +3 -3
  640. package/pack/generated/pi/skills/rite-define/SKILL.md +10 -5
  641. package/pack/generated/pi/skills/rite-doctor/SKILL.md +17 -2
  642. package/pack/generated/pi/skills/rite-dogfood/SKILL.md +1 -1
  643. package/pack/generated/pi/skills/rite-explain/SKILL.md +1 -1
  644. package/pack/generated/pi/skills/rite-explain/reference/intake.md +1 -1
  645. package/pack/generated/pi/skills/rite-fast/SKILL.md +1 -1
  646. package/pack/generated/pi/skills/rite-handoff/SKILL.md +3 -3
  647. package/pack/generated/pi/skills/rite-handoff/reference/handoff-template.md +1 -1
  648. package/pack/generated/pi/skills/rite-harness/SKILL.md +2 -1
  649. package/pack/generated/pi/skills/rite-plan/SKILL.md +4 -4
  650. package/pack/generated/pi/skills/rite-plan/reference/slicing.md +3 -2
  651. package/pack/generated/pi/skills/rite-polish/SKILL.md +6 -3
  652. package/pack/generated/pi/skills/rite-polish/reference/harden-checklist.md +1 -1
  653. package/pack/generated/pi/skills/rite-prove/SKILL.md +1 -1
  654. package/pack/generated/pi/skills/rite-prove/reference/anti-patterns.md +1 -1
  655. package/pack/generated/pi/skills/rite-prove/reference/proof-ladder.md +16 -5
  656. package/pack/generated/pi/skills/rite-quick/SKILL.md +1 -1
  657. package/pack/generated/pi/skills/rite-resolve/SKILL.md +1 -1
  658. package/pack/generated/pi/skills/rite-review/SKILL.md +4 -4
  659. package/pack/generated/pi/skills/rite-seal/SKILL.md +2 -2
  660. package/pack/generated/pi/skills/rite-ship/SKILL.md +1 -1
  661. package/pack/generated/pi/skills/rite-spec/SKILL.md +1 -1
  662. package/pack/generated/pi/skills/rite-spec/reference/investigation.md +5 -5
  663. package/pack/generated/pi/skills/rite-spec/reference/spec-template.md +1 -1
  664. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +6 -4
  665. package/pack/generated/pi/skills/rite-status/SKILL.md +1 -1
  666. package/pack/generated/pi/skills/rite-temper/SKILL.md +1 -1
  667. package/pack/generated/pi/skills/rite-temper/reference/review-dimensions.md +2 -2
  668. package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +2 -2
  669. package/pack/generated/pi/skills/rite-temper/reference/significance.md +2 -2
  670. package/pack/generated/pi/skills/rite-vet/SKILL.md +8 -4
  671. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +10 -3
  672. package/pack/generated/pi/skills/rite-vet/reference/depth.md +2 -2
  673. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +2 -2
  674. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +6 -6
  675. package/package.json +1 -1
  676. package/scripts/build-host-artifacts.sh +5 -4
  677. package/scripts/omp-generate.sh +3 -12
  678. package/scripts/pi-generate.sh +5 -51
@@ -39,28 +39,49 @@ type loadsManifest struct {
39
39
 
40
40
  const loadsMarker = "<!-- loads:"
41
41
 
42
- const contextUsage = `usage: devrites-engine context [slug] (--phase <p> | --skill <name>) [--role <r>] [--slice <SLICE-###>] [--trigger a,b] [--skills-root <dir>] [--out <path>]
42
+ const contextUsage = `usage: devrites-engine context [slug] (--phase <p> | --skill <name>) [--role <r>] [--slice <SLICE-###>] [--recheck <inventory>] [--trigger a,b] [--inline-contract] [--whole] [--skills-root <dir>] [--out <path>]
43
43
 
44
44
  Emits one deduplicated context bundle for a phase or standalone skill
45
45
  (+ optional dispatch role) into .devrites/work/<slug>/ctx/ so an agent
46
- reads a single file. With --skill, slug may be omitted; then --out is
46
+ reads a single file. The bundle opens with a table of contents giving
47
+ each section's line range. A --role bundle leads with the role contract; when it
48
+ resolves under .claude/agents, .omp/agents, or .codex/agents (the host
49
+ loads it as the agent's system prompt) a one-line stub names its path,
50
+ size, and SHA-256 instead, unless --inline-contract is given.
51
+ With --skill, slug may be omitted; then --out is
47
52
  required and no workspace section is included. --slice scopes the
48
53
  workspace section to one slice: tasks.md contributes that slice's block,
49
54
  and an artifact over its line/byte budget or over 16 KiB (spec.md excepted)
50
55
  becomes a by-reference index (path, SHA-256, headings, and line hits for
51
56
  every ID the block cites).
52
- Repeat --slice for a recheck that spans several slices.
57
+ Repeat --slice for a recheck that spans several slices. In phase build a
58
+ --role bundle other than slice-wright requires --slice (exit 3). A root
59
+ build or autocomplete bundle (no --role, no --slice) defaults to --slice
60
+ <active_slice> when state.md names one present in tasks.md; --whole opts out.
61
+ --recheck <inventory> (phase build, with --role and --slice) builds a
62
+ bounded recheck bundle: the inventory file (relative to the workspace)
63
+ and core.md are inlined; every other pack file becomes a by-reference
64
+ index plus the sections the inventory cites as "<file>.md § <heading>".
53
65
  `
54
66
 
67
+ // coreStandard is the universal floor every bundle inlines whole.
68
+ const coreStandard = "devrites-lib/reference/standards/core.md"
69
+
55
70
  // RunContext emits one deduplicated context bundle for a phase (+ optional
56
71
  // dispatch role) so an agent reads a single file instead of selecting files.
57
72
  //
58
- // context <slug> --phase <p> [--role <r>] [--slice <SLICE-###>] [--trigger a,b] [--skills-root <dir>] [--out <path>]
73
+ // context <slug> --phase <p> [--role <r>] [--slice <SLICE-###>] [--recheck <inventory>] [--trigger a,b] [--skills-root <dir>] [--out <path>]
59
74
  func RunContext(root string, args []string, stdout, stderr io.Writer) int {
60
75
  opts, code := parseContextArgs(args, stderr)
61
76
  if code != 0 {
62
77
  return code
63
78
  }
79
+ // A Build reviewer judges one slice; an unscoped bundle inlines whole
80
+ // plan/tasks/architecture into every dispatch.
81
+ if opts.phase == "build" && opts.role != "" && opts.role != "slice-wright" && opts.slice == "" {
82
+ fmt.Fprintf(stderr, "context: BLOCKED: unscoped build reviewer bundle: --role %s in phase build needs --slice <SLICE-ID>\n", opts.role)
83
+ return 3
84
+ }
64
85
  var featureDir string
65
86
  if opts.slug != "" {
66
87
  var err error
@@ -70,11 +91,34 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
70
91
  return 2
71
92
  }
72
93
  }
94
+ // The root's own build/autocomplete bundle holds one slice at a time;
95
+ // whole tasks/plan/decisions ride every later turn otherwise.
96
+ autoScope := false
97
+ if featureDir != "" && opts.role == "" && opts.slice == "" && !opts.whole && (opts.phase == "build" || opts.phase == "autocomplete") {
98
+ if id := activeSliceScope(featureDir); id != "" {
99
+ opts.slices, opts.slice, autoScope = []string{id}, id, true
100
+ }
101
+ }
73
102
  skillsRoot, err := resolveSkillsRoot(root, opts.skillsRoot)
74
103
  if err != nil {
75
104
  fmt.Fprintf(stderr, "context: %v\n", err)
76
105
  return 2
77
106
  }
107
+ var inventory []byte
108
+ recheckPath := opts.recheck
109
+ if recheckPath != "" {
110
+ if !filepath.IsAbs(recheckPath) {
111
+ recheckPath = filepath.Join(featureDir, filepath.FromSlash(recheckPath))
112
+ }
113
+ inventory, err = os.ReadFile(recheckPath) // #nosec G304 -- the root names its own recheck inventory file
114
+ if err == nil && len(bytes.TrimSpace(inventory)) == 0 {
115
+ err = fmt.Errorf("%s is empty", opts.recheck)
116
+ }
117
+ if err != nil {
118
+ fmt.Fprintf(stderr, "context: --recheck: %v\n", err)
119
+ return 2
120
+ }
121
+ }
78
122
  skillDir := "rite-" + opts.phase
79
123
  if opts.skill != "" {
80
124
  skillDir = opts.skill
@@ -109,7 +153,9 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
109
153
  blocks = append(blocks, block)
110
154
  }
111
155
  sliceBlock = strings.Join(blocks, "\n")
112
- sliceIDs = citedIDs(sliceBlock)
156
+ // A recheck inventory may cite IDs outside the slice block (dependency or
157
+ // regression closure); index them too.
158
+ sliceIDs = citedIDs(sliceBlock + "\n" + string(inventory))
113
159
  }
114
160
 
115
161
  var files []string
@@ -139,7 +185,7 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
139
185
  } else {
140
186
  // No manifest: bundle the universal floor only. Agents still get a
141
187
  // correct (if incomplete) packet and a loud marker.
142
- files = []string{filepath.Join("devrites-lib", "reference", "standards", "core.md")}
188
+ files = []string{filepath.FromSlash(coreStandard)}
143
189
  fmt.Fprintf(stderr, "context: WARNING: %s declares no loads: manifest; bundle is core-only\n", skillDir)
144
190
  }
145
191
  if !hasManifest {
@@ -159,16 +205,26 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
159
205
  if opts.role != "" {
160
206
  rel := roleAgentPath(manifest, opts.role)
161
207
  abs, label := filepath.Join(skillsRoot, "..", "agents", filepath.FromSlash(rel)), "agents/"+rel
208
+ // Claude Code, omp, and Codex load a named agent's body as its system
209
+ // prompt, so those layouts get a stub, not a second copy. Other
210
+ // layouts (pi, devin, unknown) are unverified and keep the body.
211
+ native := slices.Contains([]string{".claude", ".omp"}, filepath.Base(filepath.Dir(filepath.Clean(skillsRoot))))
162
212
  // A Codex install has skills in .agents/skills but role agents at
163
213
  // <project>/.codex/agents/<name>.toml, with no Markdown sibling.
164
214
  if _, err := os.Stat(abs); err != nil {
165
215
  codex := strings.TrimSuffix(filepath.Base(filepath.FromSlash(rel)), ".md") + ".toml"
166
216
  candidate := filepath.Join(filepath.Dir(root), ".codex", "agents", codex)
167
217
  if info, err := os.Stat(candidate); err == nil && info.Mode().IsRegular() {
168
- abs, label = candidate, ".codex/agents/"+codex
218
+ abs, label, native = candidate, ".codex/agents/"+codex, true
169
219
  }
170
220
  }
171
- if writeContextEntry(&bundle, abs, label, seen, true) {
221
+ var wrote bool
222
+ if native && !opts.inlineContract {
223
+ wrote = writeContractStub(&bundle, filepath.Dir(root), abs, label, seen)
224
+ } else {
225
+ wrote = writeContextEntry(&bundle, abs, label, seen, true)
226
+ }
227
+ if wrote {
172
228
  loaded++
173
229
  } else {
174
230
  // The agent contract is a pack file, not a workspace artifact: a
@@ -177,7 +233,14 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
177
233
  missingRequired = append(missingRequired, "agents/"+rel)
178
234
  }
179
235
  }
236
+ // The open findings lead a recheck bundle, before any reference text.
237
+ if inventory != nil {
238
+ writeContextEntry(&bundle, recheckPath, "recheck inventory: "+opts.recheck, seen, false)
239
+ loaded++
240
+ }
180
241
  var rootOnly []string
242
+ citedSections, packByReference := 0, 0
243
+ keepModel := opts.role == "" || keepModelSurface(opts.role, gatherTriggerFacts(root, featureDir, opts.role))
181
244
  for _, rel := range files {
182
245
  abs := filepath.Join(skillsRoot, filepath.FromSlash(rel))
183
246
  if seen[abs] {
@@ -189,14 +252,31 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
189
252
  continue
190
253
  }
191
254
  data, err := os.ReadFile(abs) // #nosec G304 -- abs is resolved from the validated skills root
192
- fmt.Fprintf(&bundle, "===== %s =====\n", rel)
193
255
  if err != nil {
194
- fmt.Fprintf(&bundle, "MISSING: %s\n\n", rel)
256
+ fmt.Fprintf(&bundle, "===== %s =====\nMISSING: %s\n\n", rel, rel)
195
257
  missingRequired = append(missingRequired, rel)
196
258
  continue
197
259
  }
198
- bundle.Write(expandIncludes(abs, data))
199
- if len(data) > 0 && data[len(data)-1] != '\n' {
260
+ body := expandIncludes(abs, data)
261
+ if opts.role != "" {
262
+ if body, err = stripSections(body, rel, opts.role, keepModel); err != nil {
263
+ fmt.Fprintf(stderr, "context: %v\n", err)
264
+ return 2
265
+ }
266
+ }
267
+ // A recheck keeps every other triggered pack file one anchored Read
268
+ // away (fix-introduced defects may break rules no finding cites) and
269
+ // inlines only the sections the open findings cite.
270
+ if inventory != nil && rel != coreStandard {
271
+ writeAnchorIndex(&bundle, filepath.Dir(root), abs, rel, data, nil)
272
+ citedSections += writeCitedSections(&bundle, rel, body, inventory)
273
+ packByReference++
274
+ loaded++
275
+ continue
276
+ }
277
+ fmt.Fprintf(&bundle, "===== %s =====\n", rel)
278
+ bundle.Write(body)
279
+ if len(body) > 0 && body[len(body)-1] != '\n' {
200
280
  bundle.WriteByte('\n')
201
281
  }
202
282
  bundle.WriteByte('\n')
@@ -236,6 +316,9 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
236
316
  } else if hasManifest && len(workspaceList) > 0 {
237
317
  bundle.WriteString("===== workspace =====\nskipped: no feature workspace (slug omitted)\n\n")
238
318
  }
319
+ withTOC := insertSectionTOC(bundle.String())
320
+ bundle.Reset()
321
+ bundle.WriteString(withTOC)
239
322
  out := opts.out
240
323
  if out == "" {
241
324
  out = filepath.Join(featureDir, "ctx", bundleName(opts))
@@ -281,10 +364,17 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
281
364
  }
282
365
  fmt.Fprintln(stdout, ")")
283
366
  if opts.slice != "" {
284
- fmt.Fprintf(stdout, "scope: slice %s (%d whole, %d by-reference)\n", opts.slice, whole, byReference)
367
+ auto := ""
368
+ if autoScope {
369
+ auto = " (auto from state.md)"
370
+ }
371
+ fmt.Fprintf(stdout, "scope: slice %s%s (%d whole, %d by-reference)\n", opts.slice, auto, whole, byReference)
285
372
  } else if byReference > 0 {
286
373
  fmt.Fprintf(stdout, "scope: root (%d whole, %d by-reference over budget)\n", whole, byReference)
287
374
  }
375
+ if inventory != nil {
376
+ fmt.Fprintf(stdout, "recheck: %s (%d cited sections inlined, %d pack files by reference)\n", opts.recheck, citedSections, packByReference)
377
+ }
288
378
  if workspaceScoped {
289
379
  fmt.Fprintf(stdout, "workspace: role-scoped for %s (%d of %d declared artifacts)\n",
290
380
  opts.role, len(workspaceList), len(manifest.Workspace))
@@ -314,6 +404,43 @@ func RunContext(root string, args []string, stdout, stderr io.Writer) int {
314
404
  return 0
315
405
  }
316
406
 
407
+ // sectionHeaderRE matches a bundle section header line.
408
+ var sectionHeaderRE = regexp.MustCompile(`^===== (.+) =====$`)
409
+
410
+ // insertSectionTOC lists each ===== section's line range right after the
411
+ // bundle's header comments, so an agent reads a section by range instead of
412
+ // grepping for headers. Section order and content are unchanged.
413
+ // shortcut: an inlined artifact line shaped like a section header is listed too; record header offsets at write time if that shows up.
414
+ func insertSectionTOC(bundle string) string {
415
+ cut := strings.Index(bundle, "\n\n") + 2
416
+ head, body := bundle[:cut], bundle[cut:]
417
+ lines := strings.Split(strings.TrimSuffix(body, "\n"), "\n")
418
+ var labels []string
419
+ var starts []int
420
+ for i, line := range lines {
421
+ if m := sectionHeaderRE.FindStringSubmatch(line); m != nil {
422
+ labels, starts = append(labels, m[1]), append(starts, i)
423
+ }
424
+ }
425
+ if len(starts) == 0 {
426
+ return bundle
427
+ }
428
+ // Body line i lands after the header, the TOC comment, one line per
429
+ // section, and the TOC's blank line.
430
+ offset := strings.Count(head, "\n") + 1 + len(starts) + 1
431
+ var toc strings.Builder
432
+ toc.WriteString("<!-- sections: line ranges in this file; read a section by its range instead of searching for headers -->\n")
433
+ for i, start := range starts {
434
+ end := len(lines)
435
+ if i+1 < len(starts) {
436
+ end = starts[i+1]
437
+ }
438
+ fmt.Fprintf(&toc, "L%d-%d %s\n", offset+start+1, offset+end, clipRunes(labels[i], 120))
439
+ }
440
+ toc.WriteByte('\n')
441
+ return head + toc.String() + body
442
+ }
443
+
317
444
  // workspaceReadSet returns the workspace artifact list for this call. A role
318
445
  // key present in workspaceByRole fully replaces the flat workspace list for
319
446
  // that dispatch (empty list = the role reads no workspace artifacts). A role
@@ -349,6 +476,71 @@ func expandIncludes(abs string, data []byte) []byte {
349
476
  })
350
477
  }
351
478
 
479
+ // sectionMarkerRe matches a whole-line section marker in canonical source:
480
+ // <!-- root-only --> ... <!-- /root-only --> wraps rules only the controlling
481
+ // root executes; <!-- model-surface --> ... <!-- /model-surface --> wraps rules
482
+ // that apply only to a model, agent, RAG, or tool surface.
483
+ var sectionMarkerRe = regexp.MustCompile(`^<!--\s*(/?)(root-only|model-surface)\s*-->\s*$`)
484
+
485
+ // stripSections replaces each marked block a --role bundle omits with a
486
+ // one-line stub naming the omitted heading: root-only blocks always,
487
+ // model-surface blocks unless keepModel. Headings never move in the source, so
488
+ // anchors stay valid. A nested, unbalanced, or headingless block is an error
489
+ // so a pack bug never silently drops or leaks rules.
490
+ func stripSections(data []byte, rel, role string, keepModel bool) ([]byte, error) {
491
+ if !bytes.Contains(data, []byte("<!--")) {
492
+ return data, nil
493
+ }
494
+ lines := strings.SplitAfter(string(data), "\n")
495
+ structural := lines
496
+ if masked, err := markdowntext.Structural(data); err == nil {
497
+ structural = strings.SplitAfter(string(masked), "\n")
498
+ }
499
+ var out, block strings.Builder
500
+ kind, heading, stubHeading, ownHeading := "", "", "", false
501
+ for i, line := range lines {
502
+ text := strings.TrimRight(structural[i], "\r\n")
503
+ m := sectionMarkerRe.FindStringSubmatch(text)
504
+ switch {
505
+ case m == nil:
506
+ if anchorHeadingRE.MatchString(text) {
507
+ heading = strings.TrimSpace(strings.TrimLeft(text, "#"))
508
+ if kind != "" && !ownHeading {
509
+ stubHeading, ownHeading = heading, true
510
+ }
511
+ }
512
+ if kind == "" {
513
+ out.WriteString(line)
514
+ } else {
515
+ block.WriteString(line)
516
+ }
517
+ case m[1] == "" && kind == "":
518
+ kind, stubHeading, ownHeading = m[2], heading, false
519
+ block.Reset()
520
+ block.WriteString(line)
521
+ case m[1] == "/" && m[2] == kind:
522
+ block.WriteString(line)
523
+ switch {
524
+ case stubHeading == "":
525
+ return nil, fmt.Errorf("%s:%d: <!-- %s --> section has no heading to name in its stub", rel, i+1, kind)
526
+ case kind == "model-surface" && keepModel:
527
+ out.WriteString(block.String())
528
+ case kind == "model-surface":
529
+ fmt.Fprintf(&out, "[model-surface section %q omitted for role %s: spec/plan/tasks name no model, agent, RAG, or tool surface; if the change touches one, read %s § %s]\n", stubHeading, role, rel, stubHeading)
530
+ default:
531
+ fmt.Fprintf(&out, "[root-only section %q omitted for role %s; the controlling root executes it]\n", stubHeading, role)
532
+ }
533
+ kind = ""
534
+ default:
535
+ return nil, fmt.Errorf("%s:%d: unbalanced section marker %q", rel, i+1, text)
536
+ }
537
+ }
538
+ if kind != "" {
539
+ return nil, fmt.Errorf("%s: unclosed <!-- %s --> section", rel, kind)
540
+ }
541
+ return []byte(out.String()), nil
542
+ }
543
+
352
544
  // sliceInlineMaxBytes caps a workspace artifact inlined whole into a --slice
353
545
  // bundle. Planning budgets size a whole feature, not one slice's read; a
354
546
  // larger artifact goes by reference so the slice's agent reads only the
@@ -456,6 +648,70 @@ func writeAnchorIndex(bundle *strings.Builder, project, abs, label string, data
456
648
  bundle.WriteByte('\n')
457
649
  }
458
650
 
651
+ // standardCiteRE matches a "<file>.md § <heading>" citation, as a finding's
652
+ // "breaks <standard §>" field writes it; the heading text ends at a quote,
653
+ // pipe, semicolon, closing link bracket, or line end.
654
+ var standardCiteRE = regexp.MustCompile(`([\w.-]+\.md)\S*\s*§\s*([^"|;\n\]]+)`)
655
+
656
+ // writeCitedSections inlines each H1-H3 section of body (heading through the
657
+ // next heading of the same or higher level) that the inventory cites by
658
+ // "<file>.md § <heading>"; a citation may abbreviate the heading or name only
659
+ // its title before the colon. It returns the number of sections written.
660
+ // shortcut: a citation naming a heading by other words is missed and stays reachable through the anchor index; match the quoted line if reviewers cite that way.
661
+ func writeCitedSections(bundle *strings.Builder, rel string, body, inventory []byte) int {
662
+ var cites []string
663
+ for _, m := range standardCiteRE.FindAllStringSubmatch(string(inventory), -1) {
664
+ if m[1] == filepath.Base(rel) {
665
+ if c := strings.ToLower(strings.Trim(m[2], " \t.,:()`*")); c != "" {
666
+ cites = append(cites, c)
667
+ }
668
+ }
669
+ }
670
+ if len(cites) == 0 {
671
+ return 0
672
+ }
673
+ lines := strings.SplitAfter(string(body), "\n")
674
+ structural := lines
675
+ if masked, err := markdowntext.Structural(body); err == nil {
676
+ structural = strings.SplitAfter(string(masked), "\n")
677
+ }
678
+ level := func(i int) int {
679
+ text := strings.TrimRight(structural[i], "\r\n")
680
+ if !anchorHeadingRE.MatchString(text) {
681
+ return 0
682
+ }
683
+ return len(text) - len(strings.TrimLeft(text, "#"))
684
+ }
685
+ written, coveredTo := 0, 0
686
+ for i := range lines {
687
+ lvl := level(i)
688
+ if lvl == 0 || i < coveredTo {
689
+ continue
690
+ }
691
+ heading := strings.TrimSpace(strings.TrimLeft(strings.TrimRight(lines[i], "\r\n"), "#"))
692
+ lower := strings.ToLower(heading)
693
+ title, _, _ := strings.Cut(lower, ":")
694
+ title = strings.TrimSpace(title)
695
+ if !slices.ContainsFunc(cites, func(c string) bool {
696
+ // The title rule skips the H1: a one-word file title would match every citation.
697
+ return strings.HasPrefix(lower, c) || (lvl > 1 && title != "" && (c == title || strings.HasPrefix(c, title+" ")))
698
+ }) {
699
+ continue
700
+ }
701
+ end := len(lines)
702
+ for j := i + 1; j < len(lines); j++ {
703
+ if l := level(j); l > 0 && l <= lvl {
704
+ end = j
705
+ break
706
+ }
707
+ }
708
+ fmt.Fprintf(bundle, "===== %s § %s (cited by the recheck inventory) =====\n", rel, clipRunes(heading, 120))
709
+ bundle.WriteString(strings.TrimRight(strings.Join(lines[i:end], ""), "\r\n") + "\n\n")
710
+ written, coveredTo = written+1, end
711
+ }
712
+ return written
713
+ }
714
+
459
715
  func clipRunes(s string, n int) string {
460
716
  if r := []rune(s); len(r) > n {
461
717
  return string(r[:n]) + "…"
@@ -486,16 +742,38 @@ func writeContextEntry(bundle *strings.Builder, abs, label string, seen map[stri
486
742
  return true
487
743
  }
488
744
 
745
+ // writeContractStub names a role contract the host already loads as the
746
+ // agent's system prompt instead of inlining a second copy. A missing file
747
+ // still fails, as in writeContextEntry.
748
+ func writeContractStub(bundle *strings.Builder, project, abs, label string, seen map[string]bool) bool {
749
+ seen[abs] = true
750
+ data, err := os.ReadFile(abs) // #nosec G304 -- abs is resolved from the validated skills root or project
751
+ if err != nil {
752
+ fmt.Fprintf(bundle, "===== %s =====\nMISSING: %s\n\n", label, label)
753
+ return false
754
+ }
755
+ path := label
756
+ if r, err := filepath.Rel(project, abs); err == nil && !strings.HasPrefix(r, "..") {
757
+ path = filepath.ToSlash(r)
758
+ }
759
+ fmt.Fprintf(bundle, "===== %s (not inlined: your host loads this role contract as your system prompt; %d bytes, sha256 %x; read %s only if your system prompt lacks it) =====\n\n",
760
+ label, len(data), sha256.Sum256(data), path)
761
+ return true
762
+ }
763
+
489
764
  type contextOpts struct {
490
- slug string
491
- phase string
492
- skill string
493
- role string
494
- slice string // display label: slices joined with "+"
495
- slices []string
496
- triggers []string
497
- skillsRoot string
498
- out string
765
+ slug string
766
+ phase string
767
+ skill string
768
+ role string
769
+ slice string // display label: slices joined with "+"
770
+ slices []string
771
+ triggers []string
772
+ skillsRoot string
773
+ out string
774
+ recheck string
775
+ inlineContract bool
776
+ whole bool
499
777
  }
500
778
 
501
779
  func parseContextArgs(args []string, stderr io.Writer) (contextOpts, int) {
@@ -522,6 +800,14 @@ func parseContextArgs(args []string, stderr io.Writer) (contextOpts, int) {
522
800
  opts.skillsRoot = value
523
801
  case "--out":
524
802
  opts.out = value
803
+ case "--recheck":
804
+ opts.recheck = value
805
+ case "--inline-contract":
806
+ opts.inlineContract = true
807
+ continue
808
+ case "--whole":
809
+ opts.whole = true
810
+ continue
525
811
  default:
526
812
  if strings.HasPrefix(args[i], "-") {
527
813
  fmt.Fprintf(stderr, "context: unknown flag %q\n", args[i])
@@ -547,6 +833,14 @@ func parseContextArgs(args []string, stderr io.Writer) (contextOpts, int) {
547
833
  }
548
834
  }
549
835
  opts.slice = strings.Join(opts.slices, "+")
836
+ if opts.whole && opts.slice != "" {
837
+ fmt.Fprintf(stderr, "context: --whole conflicts with --slice\n")
838
+ return opts, 2
839
+ }
840
+ if opts.recheck != "" && (opts.phase != "build" || opts.role == "" || opts.slice == "") {
841
+ fmt.Fprintf(stderr, "context: --recheck needs --phase build, --role, and --slice\n")
842
+ return opts, 2
843
+ }
550
844
  if len(positional) == 1 {
551
845
  opts.slug = positional[0]
552
846
  } else if opts.out == "" {
@@ -623,6 +917,24 @@ func roleAgentPath(manifest loadsManifest, role string) string {
623
917
  return "devrites-" + role + ".md"
624
918
  }
625
919
 
920
+ // activeSliceScope is state.md's active_slice when it names a slice block in
921
+ // tasks.md, else "" (unset, "none", or stale cursors keep the whole bundle).
922
+ func activeSliceScope(featureDir string) string {
923
+ lines := strings.Split(string(readWorkspaceFile(featureDir, "state.md")), "\n")
924
+ // active_slice outlives Build; after it the root's autocomplete bundle stays whole.
925
+ if phase, _ := state.CursorField(lines, state.CursorPhase); strings.TrimSpace(phase) != "build" {
926
+ return ""
927
+ }
928
+ id, _ := state.CursorField(lines, state.CursorActiveSlice)
929
+ if id = strings.TrimSpace(id); !state.ValidSliceID(id) {
930
+ return ""
931
+ }
932
+ if _, ok := state.ExtractTaskSlice(readWorkspaceFile(featureDir, "tasks.md"), id); !ok {
933
+ return ""
934
+ }
935
+ return id
936
+ }
937
+
626
938
  func bundleName(opts contextOpts) string {
627
939
  name := opts.phase
628
940
  if name == "" {
@@ -634,6 +946,9 @@ func bundleName(opts contextOpts) string {
634
946
  if opts.slice != "" {
635
947
  name += "." + opts.slice
636
948
  }
949
+ if opts.recheck != "" {
950
+ name += ".recheck"
951
+ }
637
952
  return name + ".bundle.md"
638
953
  }
639
954