devrites 5.10.2 → 5.12.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 (1033) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +24 -10
  3. package/bin/devrites.mjs +2 -0
  4. package/docs/agents/issue-driven-rites.md +1 -1
  5. package/docs/agents/issue-tracker.md +3 -0
  6. package/docs/cli.md +90 -0
  7. package/docs/command-map.md +9 -6
  8. package/docs/engine/commands.md +21 -0
  9. package/docs/engine/state-schema.md +1 -1
  10. package/docs/engine/workspace-schema.md +10 -2
  11. package/docs/skills.md +10 -4
  12. package/docs/usage.md +2 -0
  13. package/engine/commands.go +11 -5
  14. package/engine/help.go +80 -3
  15. package/engine/help_test.go +7 -1
  16. package/engine/internal/acceptance/acceptance_test.go +655 -0
  17. package/engine/internal/acceptance/approve.go +142 -0
  18. package/engine/internal/acceptance/cli.go +426 -0
  19. package/engine/internal/acceptance/evidence.go +139 -0
  20. package/engine/internal/acceptance/exec.go +131 -0
  21. package/engine/internal/acceptance/exec_unix.go +22 -0
  22. package/engine/internal/acceptance/exec_windows.go +16 -0
  23. package/engine/internal/acceptance/ledger.go +259 -0
  24. package/engine/internal/acceptance/lint.go +115 -0
  25. package/engine/internal/acceptance/run.go +207 -0
  26. package/engine/internal/acceptance/scaffold.go +55 -0
  27. package/engine/internal/devritespaths/paths.go +2 -0
  28. package/engine/internal/gate/gate.go +12 -2
  29. package/engine/internal/gate/gate_test.go +17 -9
  30. package/engine/internal/gate/gates_ledger.go +76 -0
  31. package/engine/internal/gate/readiness_binding.go +39 -0
  32. package/engine/internal/gate/readiness_binding_test.go +4 -3
  33. package/engine/internal/hostpack/hostpack.go +39 -5
  34. package/engine/internal/hostpack/hostpack_test.go +27 -13
  35. package/engine/internal/install/apply.go +17 -4
  36. package/engine/internal/install/install.go +16 -3
  37. package/engine/internal/install/install_test.go +32 -6
  38. package/engine/internal/install/merge.go +82 -22
  39. package/engine/internal/install/preflight.go +8 -2
  40. package/engine/internal/install/update.go +8 -2
  41. package/engine/internal/install/workspace_advisory.go +46 -0
  42. package/engine/internal/install/workspace_advisory_test.go +54 -0
  43. package/engine/internal/lib/candidate_test.go +1 -1
  44. package/engine/internal/lib/claims.go +411 -0
  45. package/engine/internal/lib/claims_test.go +182 -0
  46. package/engine/internal/lib/closeout_test.go +3 -3
  47. package/engine/internal/lib/context.go +445 -0
  48. package/engine/internal/lib/context_next_test.go +521 -0
  49. package/engine/internal/lib/detect.go +346 -0
  50. package/engine/internal/lib/detect_test.go +105 -0
  51. package/engine/internal/lib/diffscope.go +189 -0
  52. package/engine/internal/lib/dispatch.go +302 -0
  53. package/engine/internal/lib/drift.go +219 -0
  54. package/engine/internal/lib/drift_test.go +106 -0
  55. package/engine/internal/lib/dup.go +1243 -0
  56. package/engine/internal/lib/dup_test.go +488 -0
  57. package/engine/internal/lib/environment_report.go +1 -0
  58. package/engine/internal/lib/environment_report_test.go +2 -2
  59. package/engine/internal/lib/handoff.go +194 -0
  60. package/engine/internal/lib/handoff_test.go +83 -0
  61. package/engine/internal/lib/manifest_union_test.go +1 -1
  62. package/engine/internal/lib/metrics.go +256 -0
  63. package/engine/internal/lib/migrate_test.go +6 -6
  64. package/engine/internal/lib/next.go +155 -0
  65. package/engine/internal/lib/observe_budgets_test.go +3 -3
  66. package/engine/internal/lib/regression.go +378 -0
  67. package/engine/internal/lib/regression_test.go +179 -0
  68. package/engine/internal/lib/resolve_remediation_test.go +1 -1
  69. package/engine/internal/lib/secretscan_test.go +1 -1
  70. package/engine/internal/lib/slicecheck.go +179 -0
  71. package/engine/internal/lib/slicecheck_test.go +111 -0
  72. package/engine/internal/lib/taskgraph_test.go +2 -2
  73. package/engine/internal/lib/triggers.go +133 -0
  74. package/engine/internal/lib/windows.go +353 -0
  75. package/engine/internal/lib/windows_test.go +237 -0
  76. package/engine/internal/notes/cli.go +349 -0
  77. package/engine/internal/notes/notes.go +384 -0
  78. package/engine/internal/notes/notes_test.go +173 -0
  79. package/engine/internal/parallel/lease.go +3 -8
  80. package/engine/internal/parallel/parallel_test.go +34 -0
  81. package/engine/internal/state/budgets.go +13 -8
  82. package/engine/internal/state/observation_test.go +1 -0
  83. package/engine/internal/state/schema.go +4 -3
  84. package/engine/internal/state/state_test.go +3 -3
  85. package/engine/internal/state/workflow_manifest.json +13 -4
  86. package/engine/internal/state/workspaceschema_test.go +2 -2
  87. package/engine/internal/testutil/testutil.go +4 -0
  88. package/engine/main.go +59 -0
  89. package/engine/note_routing_test.go +95 -0
  90. package/engine/observation_contract_test.go +1 -0
  91. package/engine/root_routing_test.go +13 -3
  92. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/gates.md +4 -0
  93. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/state.md +1 -1
  94. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +1 -1
  95. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
  96. package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +1 -1
  97. package/engine/tests/adr_0027_readiness_binding_test.go +1 -0
  98. package/engine/tests/gate_test.go +3 -0
  99. package/engine/tests/parity_closeout_test.go +3 -3
  100. package/engine/tests/parity_resolve_test.go +1 -1
  101. package/engine/tests/workspace_observation_migration_test.go +8 -4
  102. package/install.sh +4 -1
  103. package/pack/.claude/agents/_shared/composition-findings.md +1 -0
  104. package/pack/.claude/agents/_shared/composition-result.md +1 -0
  105. package/pack/.claude/agents/_shared/result-admission.md +3 -0
  106. package/pack/.claude/agents/_shared/untrusted-input-devex.md +1 -0
  107. package/pack/.claude/agents/_shared/untrusted-input-retrospector.md +1 -0
  108. package/pack/.claude/agents/_shared/untrusted-input.md +1 -0
  109. package/pack/.claude/agents/devrites-code-reviewer.md +19 -3
  110. package/pack/.claude/agents/devrites-devex-reviewer.md +3 -3
  111. package/pack/.claude/agents/devrites-doubt-reviewer.md +3 -3
  112. package/pack/.claude/agents/devrites-evidence-scout.md +3 -3
  113. package/pack/.claude/agents/devrites-frontend-reviewer.md +3 -3
  114. package/pack/.claude/agents/devrites-performance-reviewer.md +3 -3
  115. package/pack/.claude/agents/devrites-plan-drafter.md +3 -3
  116. package/pack/.claude/agents/devrites-plan-reviewer.md +3 -3
  117. package/pack/.claude/agents/devrites-proof-runner.md +3 -3
  118. package/pack/.claude/agents/devrites-retrospector.md +3 -3
  119. package/pack/.claude/agents/devrites-security-auditor.md +25 -3
  120. package/pack/.claude/agents/devrites-simplifier-reviewer.md +15 -5
  121. package/pack/.claude/agents/devrites-slice-wright.md +3 -3
  122. package/pack/.claude/agents/devrites-spec-reviewer.md +3 -3
  123. package/pack/.claude/agents/devrites-strategy-reviewer.md +3 -3
  124. package/pack/.claude/agents/devrites-test-analyst.md +3 -3
  125. package/pack/.claude/agents/devrites-upgrade-planner.md +3 -3
  126. package/pack/.claude/settings.json +39 -2
  127. package/pack/.claude/skills/devrites-api-interface/SKILL.md +2 -0
  128. package/pack/.claude/skills/devrites-audit/SKILL.md +9 -0
  129. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +2 -0
  130. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  131. package/pack/.claude/skills/devrites-doubt/SKILL.md +2 -0
  132. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  133. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  134. package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  135. package/pack/.claude/skills/devrites-interview/SKILL.md +5 -0
  136. package/pack/.claude/skills/devrites-lib/SKILL.md +40 -5
  137. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-autocomplete.md +3 -0
  138. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-plan.md +3 -0
  139. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-vet.md +3 -0
  140. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  141. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  142. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  143. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  144. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -0
  145. package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  146. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  147. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  148. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  149. package/pack/.claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  150. package/pack/.claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  151. package/pack/.claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  152. package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  153. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  154. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  155. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  156. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  157. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  158. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +10 -1
  159. package/pack/.claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  160. package/pack/.claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  161. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  162. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  163. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  164. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  165. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  166. package/pack/.claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  167. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  168. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  169. package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  170. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  171. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  172. package/pack/.claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  173. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  174. package/pack/.claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  175. package/pack/.claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  176. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  177. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  178. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  179. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  180. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  181. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  182. package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  183. package/pack/.claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  184. package/pack/.claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  185. package/pack/.claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  186. package/pack/.claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  187. package/pack/.claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  188. package/pack/.claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  189. package/pack/.claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  190. package/pack/.claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  191. package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  192. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  193. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +58 -6
  194. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  195. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  196. package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  197. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  198. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  199. package/pack/.claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  200. package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  201. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  202. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  203. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -1
  204. package/pack/.claude/skills/devrites-source-driven/SKILL.md +2 -0
  205. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +2 -0
  206. package/pack/.claude/skills/rite/SKILL.md +2 -0
  207. package/pack/.claude/skills/rite-adopt/SKILL.md +2 -0
  208. package/pack/.claude/skills/rite-autocomplete/SKILL.md +7 -4
  209. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +1 -3
  210. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +8 -4
  211. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -3
  212. package/pack/.claude/skills/rite-build/SKILL.md +28 -14
  213. package/pack/.claude/skills/rite-build/reference/checkpoint.md +6 -0
  214. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +11 -2
  215. package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -4
  216. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  217. package/pack/.claude/skills/rite-clarify/SKILL.md +4 -0
  218. package/pack/.claude/skills/rite-converge/SKILL.md +14 -2
  219. package/pack/.claude/skills/rite-customize/SKILL.md +2 -0
  220. package/pack/.claude/skills/rite-define/SKILL.md +8 -2
  221. package/pack/.claude/skills/rite-doctor/SKILL.md +6 -1
  222. package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -0
  223. package/pack/.claude/skills/rite-explain/SKILL.md +2 -0
  224. package/pack/.claude/skills/rite-frame/SKILL.md +4 -0
  225. package/pack/.claude/skills/rite-handoff/SKILL.md +8 -1
  226. package/pack/.claude/skills/rite-learn/SKILL.md +2 -0
  227. package/pack/.claude/skills/rite-plan/SKILL.md +7 -3
  228. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -3
  229. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +1 -3
  230. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  231. package/pack/.claude/skills/rite-polish/SKILL.md +13 -2
  232. package/pack/.claude/skills/rite-polish/reference/code.md +6 -1
  233. package/pack/.claude/skills/rite-polish/reference/ledger.md +3 -1
  234. package/pack/.claude/skills/rite-pov/SKILL.md +2 -0
  235. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -0
  236. package/pack/.claude/skills/rite-pressure-test/SKILL.md +2 -0
  237. package/pack/.claude/skills/rite-prototype/SKILL.md +2 -0
  238. package/pack/.claude/skills/rite-prove/SKILL.md +17 -3
  239. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  240. package/pack/.claude/skills/rite-quick/SKILL.md +7 -1
  241. package/pack/.claude/skills/rite-resolve/SKILL.md +2 -0
  242. package/pack/.claude/skills/rite-review/SKILL.md +5 -1
  243. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -3
  244. package/pack/.claude/skills/rite-seal/SKILL.md +27 -3
  245. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +1 -0
  246. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +3 -1
  247. package/pack/.claude/skills/rite-ship/SKILL.md +5 -1
  248. package/pack/.claude/skills/rite-spec/SKILL.md +10 -3
  249. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
  250. package/pack/.claude/skills/rite-status/SKILL.md +9 -0
  251. package/pack/.claude/skills/rite-temper/SKILL.md +5 -1
  252. package/pack/.claude/skills/rite-upgrade/SKILL.md +9 -1
  253. package/pack/.claude/skills/rite-vet/SKILL.md +29 -9
  254. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -3
  255. package/pack/.claude/skills/rite-vet/reference/artifacts.md +20 -3
  256. package/pack/.claude/skills/rite-vet/reference/depth.md +1 -3
  257. package/pack/.claude/skills/rite-vet/reference/review-axes.md +6 -3
  258. package/pack/.claude/skills/rite-watch-pr/SKILL.md +2 -0
  259. package/pack/.claude/skills/rite-zoom-out/SKILL.md +2 -0
  260. package/pack/generated/README.md +4 -2
  261. package/pack/generated/claude/agents/devrites-code-reviewer.md +17 -1
  262. package/pack/generated/claude/agents/devrites-devex-reviewer.md +1 -1
  263. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +1 -1
  264. package/pack/generated/claude/agents/devrites-evidence-scout.md +1 -1
  265. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +1 -1
  266. package/pack/generated/claude/agents/devrites-performance-reviewer.md +1 -1
  267. package/pack/generated/claude/agents/devrites-plan-drafter.md +1 -1
  268. package/pack/generated/claude/agents/devrites-plan-reviewer.md +1 -1
  269. package/pack/generated/claude/agents/devrites-proof-runner.md +1 -1
  270. package/pack/generated/claude/agents/devrites-retrospector.md +1 -1
  271. package/pack/generated/claude/agents/devrites-security-auditor.md +23 -1
  272. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +13 -3
  273. package/pack/generated/claude/agents/devrites-slice-wright.md +1 -1
  274. package/pack/generated/claude/agents/devrites-spec-reviewer.md +1 -1
  275. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +1 -1
  276. package/pack/generated/claude/agents/devrites-test-analyst.md +1 -1
  277. package/pack/generated/claude/agents/devrites-upgrade-planner.md +1 -1
  278. package/pack/generated/claude/settings.json +39 -2
  279. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +2 -0
  280. package/pack/generated/claude/skills/devrites-audit/SKILL.md +9 -0
  281. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +2 -0
  282. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  283. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +2 -0
  284. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  285. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  286. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  287. package/pack/generated/claude/skills/devrites-interview/SKILL.md +5 -0
  288. package/pack/generated/claude/skills/devrites-lib/SKILL.md +40 -5
  289. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  290. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  291. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  292. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  293. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -0
  294. package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  295. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  296. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  297. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  298. package/pack/generated/claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  299. package/pack/generated/claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  300. package/pack/generated/claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  301. package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  302. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  303. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  304. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  305. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  306. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  307. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +10 -1
  308. package/pack/generated/claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  309. package/pack/generated/claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  310. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  311. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  312. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  313. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  314. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  315. package/pack/generated/claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  316. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  317. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  318. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  319. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  320. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  321. package/pack/generated/claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  322. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  323. package/pack/generated/claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  324. package/pack/generated/claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  325. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  326. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  327. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  328. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  329. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  330. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  331. package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  332. package/pack/generated/claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  333. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  334. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  335. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  336. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  337. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  338. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  339. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  340. package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  341. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  342. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +58 -6
  343. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  344. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  345. package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  346. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  347. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  348. package/pack/generated/claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  349. package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  350. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  351. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  352. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -1
  353. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +2 -0
  354. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +2 -0
  355. package/pack/generated/claude/skills/rite/SKILL.md +2 -0
  356. package/pack/generated/claude/skills/rite-adopt/SKILL.md +2 -0
  357. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +6 -1
  358. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -1
  359. package/pack/generated/claude/skills/rite-build/SKILL.md +28 -14
  360. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +6 -0
  361. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +11 -2
  362. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -4
  363. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  364. package/pack/generated/claude/skills/rite-clarify/SKILL.md +4 -0
  365. package/pack/generated/claude/skills/rite-converge/SKILL.md +14 -2
  366. package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -0
  367. package/pack/generated/claude/skills/rite-define/SKILL.md +8 -2
  368. package/pack/generated/claude/skills/rite-doctor/SKILL.md +6 -1
  369. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -0
  370. package/pack/generated/claude/skills/rite-explain/SKILL.md +2 -0
  371. package/pack/generated/claude/skills/rite-frame/SKILL.md +4 -0
  372. package/pack/generated/claude/skills/rite-handoff/SKILL.md +8 -1
  373. package/pack/generated/claude/skills/rite-learn/SKILL.md +2 -0
  374. package/pack/generated/claude/skills/rite-plan/SKILL.md +6 -0
  375. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  376. package/pack/generated/claude/skills/rite-polish/SKILL.md +13 -2
  377. package/pack/generated/claude/skills/rite-polish/reference/code.md +6 -1
  378. package/pack/generated/claude/skills/rite-polish/reference/ledger.md +3 -1
  379. package/pack/generated/claude/skills/rite-pov/SKILL.md +2 -0
  380. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -0
  381. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +2 -0
  382. package/pack/generated/claude/skills/rite-prototype/SKILL.md +2 -0
  383. package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -3
  384. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  385. package/pack/generated/claude/skills/rite-quick/SKILL.md +7 -1
  386. package/pack/generated/claude/skills/rite-resolve/SKILL.md +2 -0
  387. package/pack/generated/claude/skills/rite-review/SKILL.md +5 -1
  388. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -3
  389. package/pack/generated/claude/skills/rite-seal/SKILL.md +27 -3
  390. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +1 -0
  391. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +3 -1
  392. package/pack/generated/claude/skills/rite-ship/SKILL.md +5 -1
  393. package/pack/generated/claude/skills/rite-spec/SKILL.md +10 -3
  394. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
  395. package/pack/generated/claude/skills/rite-status/SKILL.md +9 -0
  396. package/pack/generated/claude/skills/rite-temper/SKILL.md +5 -1
  397. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +9 -1
  398. package/pack/generated/claude/skills/rite-vet/SKILL.md +28 -6
  399. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +19 -0
  400. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +5 -0
  401. package/pack/generated/claude/skills/rite-watch-pr/SKILL.md +2 -0
  402. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +2 -0
  403. package/pack/generated/codex/agents/devrites-code-reviewer.toml +16 -0
  404. package/pack/generated/codex/agents/devrites-security-auditor.toml +22 -0
  405. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +12 -2
  406. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +2 -0
  407. package/pack/generated/codex/skills/devrites-audit/SKILL.md +9 -0
  408. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +2 -0
  409. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +2 -0
  410. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +2 -0
  411. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +2 -0
  412. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  413. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +5 -0
  414. package/pack/generated/codex/skills/devrites-interview/SKILL.md +5 -0
  415. package/pack/generated/codex/skills/devrites-lib/SKILL.md +40 -5
  416. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  417. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  418. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  419. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +24 -1
  420. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -0
  421. package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  422. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  423. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +21 -1
  424. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  425. package/pack/generated/codex/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  426. package/pack/generated/codex/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  427. package/pack/generated/codex/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  428. package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  429. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  430. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  431. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +67 -7
  432. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  433. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  434. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +10 -1
  435. package/pack/generated/codex/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  436. package/pack/generated/codex/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  437. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  438. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  439. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  440. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  441. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +12 -0
  442. package/pack/generated/codex/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  443. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  444. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  445. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  446. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +117 -0
  447. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  448. package/pack/generated/codex/skills/devrites-lib/reference/standards/glossary.md +40 -0
  449. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +16 -0
  450. package/pack/generated/codex/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  451. package/pack/generated/codex/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  452. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +2 -0
  453. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  454. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +2 -0
  455. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +8 -1
  456. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +14 -0
  457. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  458. package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  459. package/pack/generated/codex/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  460. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/README.md +23 -0
  461. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  462. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/default.md +42 -0
  463. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/go.md +47 -0
  464. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/python.md +46 -0
  465. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  466. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  467. package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  468. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  469. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +58 -6
  470. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  471. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  472. package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  473. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +19 -2
  474. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +12 -0
  475. package/pack/generated/codex/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  476. package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +51 -0
  477. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  478. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  479. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -1
  480. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +2 -0
  481. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +2 -0
  482. package/pack/generated/codex/skills/rite/SKILL.md +2 -0
  483. package/pack/generated/codex/skills/rite-adopt/SKILL.md +2 -0
  484. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +6 -1
  485. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -1
  486. package/pack/generated/codex/skills/rite-build/SKILL.md +28 -14
  487. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +6 -0
  488. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +11 -2
  489. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -4
  490. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +34 -8
  491. package/pack/generated/codex/skills/rite-clarify/SKILL.md +4 -0
  492. package/pack/generated/codex/skills/rite-converge/SKILL.md +14 -2
  493. package/pack/generated/codex/skills/rite-customize/SKILL.md +2 -0
  494. package/pack/generated/codex/skills/rite-define/SKILL.md +8 -2
  495. package/pack/generated/codex/skills/rite-doctor/SKILL.md +6 -1
  496. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +2 -0
  497. package/pack/generated/codex/skills/rite-explain/SKILL.md +2 -0
  498. package/pack/generated/codex/skills/rite-frame/SKILL.md +4 -0
  499. package/pack/generated/codex/skills/rite-handoff/SKILL.md +8 -1
  500. package/pack/generated/codex/skills/rite-learn/SKILL.md +2 -0
  501. package/pack/generated/codex/skills/rite-plan/SKILL.md +6 -0
  502. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -1
  503. package/pack/generated/codex/skills/rite-polish/SKILL.md +13 -2
  504. package/pack/generated/codex/skills/rite-polish/reference/code.md +6 -1
  505. package/pack/generated/codex/skills/rite-polish/reference/ledger.md +3 -1
  506. package/pack/generated/codex/skills/rite-pov/SKILL.md +2 -0
  507. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +2 -0
  508. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +2 -0
  509. package/pack/generated/codex/skills/rite-prototype/SKILL.md +2 -0
  510. package/pack/generated/codex/skills/rite-prove/SKILL.md +17 -3
  511. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +6 -0
  512. package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -1
  513. package/pack/generated/codex/skills/rite-resolve/SKILL.md +2 -0
  514. package/pack/generated/codex/skills/rite-review/SKILL.md +5 -1
  515. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -3
  516. package/pack/generated/codex/skills/rite-seal/SKILL.md +27 -3
  517. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +1 -0
  518. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +3 -1
  519. package/pack/generated/codex/skills/rite-ship/SKILL.md +5 -1
  520. package/pack/generated/codex/skills/rite-spec/SKILL.md +10 -3
  521. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
  522. package/pack/generated/codex/skills/rite-status/SKILL.md +9 -0
  523. package/pack/generated/codex/skills/rite-temper/SKILL.md +5 -1
  524. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +9 -1
  525. package/pack/generated/codex/skills/rite-vet/SKILL.md +28 -6
  526. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +19 -0
  527. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +5 -0
  528. package/pack/generated/codex/skills/rite-watch-pr/SKILL.md +2 -0
  529. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +2 -0
  530. package/pack/generated/devin/AGENTS.md +23 -0
  531. package/pack/generated/devin/agents/devrites-code-reviewer.md +161 -0
  532. package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
  533. package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
  534. package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
  535. package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
  536. package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
  537. package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
  538. package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
  539. package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
  540. package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
  541. package/pack/generated/devin/agents/devrites-security-auditor.md +134 -0
  542. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +107 -0
  543. package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
  544. package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
  545. package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
  546. package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
  547. package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
  548. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +66 -0
  549. package/pack/generated/devin/skills/devrites-audit/SKILL.md +60 -0
  550. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +79 -0
  551. package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  552. package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  553. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +99 -0
  554. package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  555. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
  556. package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  557. package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  558. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  559. package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
  560. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +82 -0
  561. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +89 -0
  562. package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
  563. package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +120 -0
  564. package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  565. package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
  566. package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  567. package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +61 -0
  568. package/pack/generated/devin/skills/devrites-interview/SKILL.md +108 -0
  569. package/pack/generated/devin/skills/devrites-lib/SKILL.md +92 -0
  570. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +59 -0
  571. package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
  572. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +47 -0
  573. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +105 -0
  574. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +111 -0
  575. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +70 -0
  576. package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
  577. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +417 -0
  578. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +119 -0
  579. package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
  580. package/pack/generated/devin/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  581. package/pack/generated/devin/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  582. package/pack/generated/devin/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  583. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +26 -0
  584. package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +61 -0
  585. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +110 -0
  586. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +168 -0
  587. package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +53 -0
  588. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +126 -0
  589. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +176 -0
  590. package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +140 -0
  591. package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
  592. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
  593. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +49 -0
  594. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +121 -0
  595. package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
  596. package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +55 -0
  597. package/pack/generated/devin/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  598. package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
  599. package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +114 -0
  600. package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +49 -0
  601. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +117 -0
  602. package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
  603. package/pack/generated/devin/skills/devrites-lib/reference/standards/glossary.md +40 -0
  604. package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +41 -0
  605. package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
  606. package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +116 -0
  607. package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +90 -0
  608. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +99 -0
  609. package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +70 -0
  610. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +58 -0
  611. package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +56 -0
  612. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +126 -0
  613. package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
  614. package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
  615. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/README.md +23 -0
  616. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  617. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/default.md +42 -0
  618. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/go.md +47 -0
  619. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/python.md +46 -0
  620. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  621. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  622. package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
  623. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +27 -0
  624. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +254 -0
  625. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +257 -0
  626. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +211 -0
  627. package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
  628. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +229 -0
  629. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +104 -0
  630. package/pack/generated/devin/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  631. package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +51 -0
  632. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +429 -0
  633. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  634. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  635. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  636. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  637. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  638. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  639. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  640. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  641. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  642. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +292 -0
  643. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +76 -0
  644. package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  645. package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
  646. package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
  647. package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +55 -0
  648. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +137 -0
  649. package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  650. package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  651. package/pack/generated/devin/skills/rite/SKILL.md +150 -0
  652. package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
  653. package/pack/generated/devin/skills/rite-adopt/SKILL.md +53 -0
  654. package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
  655. package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
  656. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +147 -0
  657. package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
  658. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +157 -0
  659. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
  660. package/pack/generated/devin/skills/rite-build/SKILL.md +116 -0
  661. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
  662. package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
  663. package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
  664. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +62 -0
  665. package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
  666. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
  667. package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
  668. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +223 -0
  669. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +93 -0
  670. package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
  671. package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
  672. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +122 -0
  673. package/pack/generated/devin/skills/rite-clarify/SKILL.md +102 -0
  674. package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
  675. package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
  676. package/pack/generated/devin/skills/rite-converge/SKILL.md +156 -0
  677. package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
  678. package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
  679. package/pack/generated/devin/skills/rite-customize/SKILL.md +62 -0
  680. package/pack/generated/devin/skills/rite-define/SKILL.md +174 -0
  681. package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
  682. package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
  683. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
  684. package/pack/generated/devin/skills/rite-doctor/SKILL.md +73 -0
  685. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +57 -0
  686. package/pack/generated/devin/skills/rite-explain/SKILL.md +154 -0
  687. package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
  688. package/pack/generated/devin/skills/rite-frame/SKILL.md +118 -0
  689. package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
  690. package/pack/generated/devin/skills/rite-handoff/SKILL.md +104 -0
  691. package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
  692. package/pack/generated/devin/skills/rite-learn/SKILL.md +74 -0
  693. package/pack/generated/devin/skills/rite-plan/SKILL.md +191 -0
  694. package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
  695. package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
  696. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
  697. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
  698. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +44 -0
  699. package/pack/generated/devin/skills/rite-polish/SKILL.md +116 -0
  700. package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
  701. package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
  702. package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
  703. package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
  704. package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  705. package/pack/generated/devin/skills/rite-polish/reference/code.md +87 -0
  706. package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
  707. package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
  708. package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
  709. package/pack/generated/devin/skills/rite-polish/reference/ledger.md +67 -0
  710. package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
  711. package/pack/generated/devin/skills/rite-pov/SKILL.md +59 -0
  712. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +56 -0
  713. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +68 -0
  714. package/pack/generated/devin/skills/rite-prototype/SKILL.md +106 -0
  715. package/pack/generated/devin/skills/rite-prove/SKILL.md +136 -0
  716. package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
  717. package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
  718. package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
  719. package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
  720. package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
  721. package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +36 -0
  722. package/pack/generated/devin/skills/rite-quick/SKILL.md +87 -0
  723. package/pack/generated/devin/skills/rite-resolve/SKILL.md +100 -0
  724. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
  725. package/pack/generated/devin/skills/rite-review/SKILL.md +175 -0
  726. package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
  727. package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
  728. package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
  729. package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
  730. package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  731. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +91 -0
  732. package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
  733. package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
  734. package/pack/generated/devin/skills/rite-seal/SKILL.md +98 -0
  735. package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
  736. package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
  737. package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +30 -0
  738. package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
  739. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +49 -0
  740. package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  741. package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
  742. package/pack/generated/devin/skills/rite-ship/SKILL.md +91 -0
  743. package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
  744. package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
  745. package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
  746. package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
  747. package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
  748. package/pack/generated/devin/skills/rite-spec/SKILL.md +156 -0
  749. package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  750. package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
  751. package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
  752. package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
  753. package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
  754. package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
  755. package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
  756. package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
  757. package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
  758. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +232 -0
  759. package/pack/generated/devin/skills/rite-status/SKILL.md +66 -0
  760. package/pack/generated/devin/skills/rite-temper/SKILL.md +133 -0
  761. package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
  762. package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
  763. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
  764. package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
  765. package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
  766. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +129 -0
  767. package/pack/generated/devin/skills/rite-vet/SKILL.md +214 -0
  768. package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
  769. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +221 -0
  770. package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
  771. package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
  772. package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
  773. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +206 -0
  774. package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +86 -0
  775. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +71 -0
  776. package/pack/generated/omp/agents/devrites-code-reviewer.md +16 -0
  777. package/pack/generated/omp/agents/devrites-security-auditor.md +22 -0
  778. package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +12 -2
  779. package/pack/generated/omp/skills/devrites-api-interface/SKILL.md +2 -0
  780. package/pack/generated/omp/skills/devrites-audit/SKILL.md +9 -0
  781. package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +2 -0
  782. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +2 -0
  783. package/pack/generated/omp/skills/devrites-doubt/SKILL.md +2 -0
  784. package/pack/generated/omp/skills/devrites-frontend-craft/SKILL.md +2 -0
  785. package/pack/generated/omp/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  786. package/pack/generated/omp/skills/devrites-frontend-craft/reference/shape.md +5 -0
  787. package/pack/generated/omp/skills/devrites-interview/SKILL.md +5 -0
  788. package/pack/generated/omp/skills/devrites-lib/SKILL.md +40 -5
  789. package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  790. package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  791. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  792. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +24 -1
  793. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +10 -0
  794. package/pack/generated/omp/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  795. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  796. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +21 -1
  797. package/pack/generated/omp/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  798. package/pack/generated/omp/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  799. package/pack/generated/omp/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  800. package/pack/generated/omp/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  801. package/pack/generated/omp/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  802. package/pack/generated/omp/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  803. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  804. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +67 -7
  805. package/pack/generated/omp/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  806. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  807. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +10 -1
  808. package/pack/generated/omp/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  809. package/pack/generated/omp/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  810. package/pack/generated/omp/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  811. package/pack/generated/omp/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  812. package/pack/generated/omp/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  813. package/pack/generated/omp/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  814. package/pack/generated/omp/skills/devrites-lib/reference/standards/documentation.md +12 -0
  815. package/pack/generated/omp/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  816. package/pack/generated/omp/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  817. package/pack/generated/omp/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  818. package/pack/generated/omp/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  819. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +117 -0
  820. package/pack/generated/omp/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  821. package/pack/generated/omp/skills/devrites-lib/reference/standards/glossary.md +40 -0
  822. package/pack/generated/omp/skills/devrites-lib/reference/standards/hooks.md +16 -0
  823. package/pack/generated/omp/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  824. package/pack/generated/omp/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  825. package/pack/generated/omp/skills/devrites-lib/reference/standards/observability.md +2 -0
  826. package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  827. package/pack/generated/omp/skills/devrites-lib/reference/standards/patterns.md +2 -0
  828. package/pack/generated/omp/skills/devrites-lib/reference/standards/performance.md +8 -1
  829. package/pack/generated/omp/skills/devrites-lib/reference/standards/principles.md +14 -0
  830. package/pack/generated/omp/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  831. package/pack/generated/omp/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  832. package/pack/generated/omp/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  833. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/README.md +23 -0
  834. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  835. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/default.md +42 -0
  836. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/go.md +47 -0
  837. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/python.md +46 -0
  838. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  839. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  840. package/pack/generated/omp/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  841. package/pack/generated/omp/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  842. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +58 -6
  843. package/pack/generated/omp/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  844. package/pack/generated/omp/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  845. package/pack/generated/omp/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  846. package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +19 -2
  847. package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +12 -0
  848. package/pack/generated/omp/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  849. package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +51 -0
  850. package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  851. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  852. package/pack/generated/omp/skills/devrites-prose-craft/SKILL.md +3 -1
  853. package/pack/generated/omp/skills/devrites-source-driven/SKILL.md +2 -0
  854. package/pack/generated/omp/skills/devrites-ux-shape/SKILL.md +2 -0
  855. package/pack/generated/omp/skills/rite/SKILL.md +2 -0
  856. package/pack/generated/omp/skills/rite-adopt/SKILL.md +2 -0
  857. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +6 -1
  858. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +7 -1
  859. package/pack/generated/omp/skills/rite-build/SKILL.md +28 -14
  860. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +6 -0
  861. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +11 -2
  862. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -4
  863. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +34 -8
  864. package/pack/generated/omp/skills/rite-clarify/SKILL.md +4 -0
  865. package/pack/generated/omp/skills/rite-converge/SKILL.md +14 -2
  866. package/pack/generated/omp/skills/rite-customize/SKILL.md +2 -0
  867. package/pack/generated/omp/skills/rite-define/SKILL.md +8 -2
  868. package/pack/generated/omp/skills/rite-doctor/SKILL.md +6 -1
  869. package/pack/generated/omp/skills/rite-dogfood/SKILL.md +2 -0
  870. package/pack/generated/omp/skills/rite-explain/SKILL.md +2 -0
  871. package/pack/generated/omp/skills/rite-frame/SKILL.md +4 -0
  872. package/pack/generated/omp/skills/rite-handoff/SKILL.md +8 -1
  873. package/pack/generated/omp/skills/rite-learn/SKILL.md +2 -0
  874. package/pack/generated/omp/skills/rite-plan/SKILL.md +6 -0
  875. package/pack/generated/omp/skills/rite-plan/reference/task-breakdown.md +3 -1
  876. package/pack/generated/omp/skills/rite-polish/SKILL.md +13 -2
  877. package/pack/generated/omp/skills/rite-polish/reference/code.md +6 -1
  878. package/pack/generated/omp/skills/rite-polish/reference/ledger.md +3 -1
  879. package/pack/generated/omp/skills/rite-pov/SKILL.md +2 -0
  880. package/pack/generated/omp/skills/rite-pr-feedback/SKILL.md +2 -0
  881. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +2 -0
  882. package/pack/generated/omp/skills/rite-prototype/SKILL.md +2 -0
  883. package/pack/generated/omp/skills/rite-prove/SKILL.md +17 -3
  884. package/pack/generated/omp/skills/rite-prove/reference/test-command-discovery.md +6 -0
  885. package/pack/generated/omp/skills/rite-quick/SKILL.md +7 -1
  886. package/pack/generated/omp/skills/rite-resolve/SKILL.md +2 -0
  887. package/pack/generated/omp/skills/rite-review/SKILL.md +5 -1
  888. package/pack/generated/omp/skills/rite-review/reference/performance-checklist.md +14 -3
  889. package/pack/generated/omp/skills/rite-seal/SKILL.md +27 -3
  890. package/pack/generated/omp/skills/rite-seal/reference/go-no-go.md +1 -0
  891. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +3 -1
  892. package/pack/generated/omp/skills/rite-ship/SKILL.md +5 -1
  893. package/pack/generated/omp/skills/rite-spec/SKILL.md +10 -3
  894. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
  895. package/pack/generated/omp/skills/rite-status/SKILL.md +9 -0
  896. package/pack/generated/omp/skills/rite-temper/SKILL.md +5 -1
  897. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +9 -1
  898. package/pack/generated/omp/skills/rite-vet/SKILL.md +28 -6
  899. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +19 -0
  900. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +5 -0
  901. package/pack/generated/omp/skills/rite-watch-pr/SKILL.md +2 -0
  902. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +2 -0
  903. package/pack/generated/pi/agents/devrites-code-reviewer.md +16 -0
  904. package/pack/generated/pi/agents/devrites-security-auditor.md +22 -0
  905. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +12 -2
  906. package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +2 -0
  907. package/pack/generated/pi/skills/devrites-audit/SKILL.md +9 -0
  908. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +2 -0
  909. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +2 -0
  910. package/pack/generated/pi/skills/devrites-doubt/SKILL.md +2 -0
  911. package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +2 -0
  912. package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  913. package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +5 -0
  914. package/pack/generated/pi/skills/devrites-interview/SKILL.md +5 -0
  915. package/pack/generated/pi/skills/devrites-lib/SKILL.md +40 -5
  916. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  917. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  918. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  919. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +24 -1
  920. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +10 -0
  921. package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  922. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  923. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +21 -1
  924. package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  925. package/pack/generated/pi/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  926. package/pack/generated/pi/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  927. package/pack/generated/pi/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  928. package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  929. package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  930. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  931. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +67 -7
  932. package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  933. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  934. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +10 -1
  935. package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  936. package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  937. package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  938. package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  939. package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  940. package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  941. package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +12 -0
  942. package/pack/generated/pi/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  943. package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  944. package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  945. package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  946. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +117 -0
  947. package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  948. package/pack/generated/pi/skills/devrites-lib/reference/standards/glossary.md +40 -0
  949. package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +16 -0
  950. package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  951. package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  952. package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +2 -0
  953. package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  954. package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +2 -0
  955. package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +8 -1
  956. package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +14 -0
  957. package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  958. package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  959. package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  960. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/README.md +23 -0
  961. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  962. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/default.md +42 -0
  963. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/go.md +47 -0
  964. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/python.md +46 -0
  965. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  966. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  967. package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  968. package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  969. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +58 -6
  970. package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  971. package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  972. package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  973. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +19 -2
  974. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +12 -0
  975. package/pack/generated/pi/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  976. package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +51 -0
  977. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  978. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  979. package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +3 -1
  980. package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +2 -0
  981. package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +2 -0
  982. package/pack/generated/pi/skills/rite/SKILL.md +2 -0
  983. package/pack/generated/pi/skills/rite-adopt/SKILL.md +2 -0
  984. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +6 -1
  985. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +7 -1
  986. package/pack/generated/pi/skills/rite-build/SKILL.md +28 -14
  987. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +6 -0
  988. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +11 -2
  989. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -4
  990. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +34 -8
  991. package/pack/generated/pi/skills/rite-clarify/SKILL.md +4 -0
  992. package/pack/generated/pi/skills/rite-converge/SKILL.md +14 -2
  993. package/pack/generated/pi/skills/rite-customize/SKILL.md +2 -0
  994. package/pack/generated/pi/skills/rite-define/SKILL.md +8 -2
  995. package/pack/generated/pi/skills/rite-doctor/SKILL.md +6 -1
  996. package/pack/generated/pi/skills/rite-dogfood/SKILL.md +2 -0
  997. package/pack/generated/pi/skills/rite-explain/SKILL.md +2 -0
  998. package/pack/generated/pi/skills/rite-frame/SKILL.md +4 -0
  999. package/pack/generated/pi/skills/rite-handoff/SKILL.md +8 -1
  1000. package/pack/generated/pi/skills/rite-learn/SKILL.md +2 -0
  1001. package/pack/generated/pi/skills/rite-plan/SKILL.md +6 -0
  1002. package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +3 -1
  1003. package/pack/generated/pi/skills/rite-polish/SKILL.md +13 -2
  1004. package/pack/generated/pi/skills/rite-polish/reference/code.md +6 -1
  1005. package/pack/generated/pi/skills/rite-polish/reference/ledger.md +3 -1
  1006. package/pack/generated/pi/skills/rite-pov/SKILL.md +2 -0
  1007. package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +2 -0
  1008. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +2 -0
  1009. package/pack/generated/pi/skills/rite-prototype/SKILL.md +2 -0
  1010. package/pack/generated/pi/skills/rite-prove/SKILL.md +17 -3
  1011. package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +6 -0
  1012. package/pack/generated/pi/skills/rite-quick/SKILL.md +7 -1
  1013. package/pack/generated/pi/skills/rite-resolve/SKILL.md +2 -0
  1014. package/pack/generated/pi/skills/rite-review/SKILL.md +5 -1
  1015. package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +14 -3
  1016. package/pack/generated/pi/skills/rite-seal/SKILL.md +27 -3
  1017. package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +1 -0
  1018. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +3 -1
  1019. package/pack/generated/pi/skills/rite-ship/SKILL.md +5 -1
  1020. package/pack/generated/pi/skills/rite-spec/SKILL.md +10 -3
  1021. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
  1022. package/pack/generated/pi/skills/rite-status/SKILL.md +9 -0
  1023. package/pack/generated/pi/skills/rite-temper/SKILL.md +5 -1
  1024. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +9 -1
  1025. package/pack/generated/pi/skills/rite-vet/SKILL.md +28 -6
  1026. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +19 -0
  1027. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +5 -0
  1028. package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +2 -0
  1029. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +2 -0
  1030. package/package.json +4 -2
  1031. package/scripts/build-host-artifacts.sh +96 -7
  1032. package/scripts/devin-generate.sh +222 -0
  1033. package/update.sh +2 -1
@@ -0,0 +1,302 @@
1
+ package lib
2
+
3
+ import (
4
+ "encoding/json"
5
+ "fmt"
6
+ "io"
7
+ "os"
8
+ "path/filepath"
9
+ "strings"
10
+ "time"
11
+
12
+ "github.com/devrites/devrites/internal/devritespaths"
13
+ )
14
+
15
+ // dispatch.go: launch-wave barrier for host-native agent dispatch. Hosts own
16
+ // the actual agent sessions; this command owns the wave state machine so a
17
+ // fan-out cannot silently degrade to serial (open -> every role started ->
18
+ // seal -> returns -> complete). start/return also auto-record metrics events.
19
+ //
20
+ // devrites-engine dispatch <slug> <sub> [--phase p] [--wave w] [--role r] [--handle h] [--reason s]
21
+
22
+ const dispatchUsage = `usage: devrites-engine dispatch <slug> <open|start|seal|return|status|abandon> [--phase p] [--wave w] [--role r] [--handle h] [--reason s]
23
+
24
+ Wave barrier for parallel agent dispatch: seal fails until every declared
25
+ role has a distinct handle; return fails before seal; status exits nonzero
26
+ while a wave is open, sealed, or abandoned.
27
+ `
28
+
29
+ type dispatchFile struct {
30
+ Waves map[string]*dispatchWave `json:"waves"`
31
+ }
32
+
33
+ type dispatchWave struct {
34
+ Phase string `json:"phase"`
35
+ State string `json:"state"` // open, sealed, abandoned, complete
36
+ Roles map[string]*dispatchRole `json:"roles"`
37
+ }
38
+
39
+ type dispatchRole struct {
40
+ Handle string `json:"handle,omitempty"`
41
+ StartedAt string `json:"started,omitempty"`
42
+ Returned bool `json:"returned,omitempty"`
43
+ }
44
+
45
+ func dispatchPath(root, slug string) string {
46
+ return filepath.Join(devritespaths.FeatureDir(root, slug), "dispatch.json")
47
+ }
48
+
49
+ func loadDispatch(root, slug string) (*dispatchFile, string, error) {
50
+ path := dispatchPath(root, slug)
51
+ f := &dispatchFile{Waves: map[string]*dispatchWave{}}
52
+ data, err := os.ReadFile(path) // #nosec G304 -- path is a validated feature workspace artifact
53
+ if os.IsNotExist(err) {
54
+ return f, path, nil
55
+ }
56
+ if err != nil {
57
+ return nil, path, err
58
+ }
59
+ if err := json.Unmarshal(data, f); err != nil {
60
+ return nil, path, fmt.Errorf("dispatch.json is not valid JSON: %w", err)
61
+ }
62
+ if f.Waves == nil {
63
+ f.Waves = map[string]*dispatchWave{}
64
+ }
65
+ // Fail closed on hand-edited impossible state.
66
+ for name, w := range f.Waves {
67
+ if w.Roles == nil || w.State == "" {
68
+ return nil, path, fmt.Errorf("wave %q is malformed (missing state or roles)", name)
69
+ }
70
+ }
71
+ return f, path, nil
72
+ }
73
+
74
+ func saveDispatch(path string, f *dispatchFile) error {
75
+ data, err := json.MarshalIndent(f, "", " ")
76
+ if err != nil {
77
+ return err
78
+ }
79
+ if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil {
80
+ return err
81
+ }
82
+ return os.WriteFile(path, data, 0o600)
83
+ }
84
+
85
+ func nowStamp() string { return time.Now().UTC().Format(time.RFC3339) }
86
+
87
+ // RunDispatch implements the dispatch wave state machine.
88
+ func RunDispatch(root string, args []string, stdout, stderr io.Writer) int {
89
+ var slug, sub, phase, wave, role, handle, reason string
90
+ var roles []string
91
+ var positional []string
92
+ for i := 0; i < len(args); i++ {
93
+ value := argAt(args, i+1)
94
+ switch args[i] {
95
+ case "--phase":
96
+ phase = value
97
+ case "--wave":
98
+ wave = value
99
+ case "--role":
100
+ roles = append(roles, value)
101
+ role = value
102
+ case "--handle":
103
+ handle = value
104
+ case "--reason":
105
+ reason = value
106
+ default:
107
+ if strings.HasPrefix(args[i], "-") {
108
+ fmt.Fprintf(stderr, "dispatch: unknown flag %q\n", args[i])
109
+ return 2
110
+ }
111
+ positional = append(positional, args[i])
112
+ continue
113
+ }
114
+ i++
115
+ }
116
+ if len(positional) != 2 {
117
+ fmt.Fprint(stderr, dispatchUsage)
118
+ return 2
119
+ }
120
+ slug, sub = positional[0], positional[1]
121
+ if _, err := devritespaths.ExistingFeatureDirChecked(root, slug); err != nil {
122
+ fmt.Fprintf(stderr, "dispatch: %v\n", err)
123
+ return 2
124
+ }
125
+ f, path, err := loadDispatch(root, slug)
126
+ if err != nil {
127
+ fmt.Fprintf(stderr, "dispatch: %v\n", err)
128
+ return 3
129
+ }
130
+
131
+ fail := func(format string, a ...any) int {
132
+ fmt.Fprintf(stderr, "dispatch: "+format+"\n", a...)
133
+ return 3
134
+ }
135
+ getWave := func() *dispatchWave {
136
+ w := f.Waves[wave]
137
+ if w == nil {
138
+ return nil
139
+ }
140
+ return w
141
+ }
142
+
143
+ switch sub {
144
+ case "open":
145
+ if phase == "" || wave == "" || len(roles) == 0 {
146
+ fmt.Fprint(stderr, dispatchUsage)
147
+ return 2
148
+ }
149
+ if w := getWave(); w != nil && w.State != "abandoned" {
150
+ return fail("wave %q already exists (state %s)", wave, w.State)
151
+ }
152
+ w := &dispatchWave{Phase: phase, State: "open", Roles: map[string]*dispatchRole{}}
153
+ for _, r := range roles {
154
+ if w.Roles[r] != nil {
155
+ return fail("duplicate role %q in wave", r)
156
+ }
157
+ w.Roles[r] = &dispatchRole{}
158
+ }
159
+ f.Waves[wave] = w
160
+ if err := saveDispatch(path, f); err != nil {
161
+ return fail("%v", err)
162
+ }
163
+ fmt.Fprintf(stdout, "dispatch: wave %s open, %d roles declared\n", wave, len(roles))
164
+ return 0
165
+
166
+ case "start":
167
+ w := getWave()
168
+ if w == nil || w.State != "open" {
169
+ return fail("wave %q is not open (state %s)", wave, waveState(w))
170
+ }
171
+ r := w.Roles[role]
172
+ if r == nil {
173
+ return fail("role %q not declared in wave %q", role, wave)
174
+ }
175
+ if handle == "" {
176
+ return fail("--handle is required (host agent id)")
177
+ }
178
+ for name, other := range w.Roles {
179
+ if name != role && other.Handle == handle {
180
+ return fail("handle %q already used by role %q — distinct handle required", handle, name)
181
+ }
182
+ }
183
+ if r.Handle != "" {
184
+ return fail("role %q already started (handle %q)", role, r.Handle)
185
+ }
186
+ r.Handle = handle
187
+ r.StartedAt = nowStamp()
188
+ if err := saveDispatch(path, f); err != nil {
189
+ return fail("%v", err)
190
+ }
191
+ recordMetric(root, slug, w.Phase, "dispatch", role, 0)
192
+ fmt.Fprintf(stdout, "dispatch: %s started (handle %s)\n", role, handle)
193
+ return 0
194
+
195
+ case "seal":
196
+ w := getWave()
197
+ if w == nil || w.State != "open" {
198
+ return fail("wave %q is not open (state %s)", wave, waveState(w))
199
+ }
200
+ var missing []string
201
+ for name, r := range w.Roles {
202
+ if r.Handle == "" {
203
+ missing = append(missing, name)
204
+ }
205
+ }
206
+ if len(missing) > 0 {
207
+ return fail("wave %q cannot seal: no start handle for %s", wave, strings.Join(missing, ","))
208
+ }
209
+ w.State = "sealed"
210
+ if err := saveDispatch(path, f); err != nil {
211
+ return fail("%v", err)
212
+ }
213
+ fmt.Fprintf(stdout, "dispatch: wave %s sealed (%d roles)\n", wave, len(w.Roles))
214
+ return 0
215
+
216
+ case "return":
217
+ w := getWave()
218
+ if w == nil || w.State != "sealed" {
219
+ return fail("wave %q is not sealed (state %s)", wave, waveState(w))
220
+ }
221
+ r := w.Roles[role]
222
+ if r == nil {
223
+ return fail("role %q not declared in wave %q", role, wave)
224
+ }
225
+ if r.Returned {
226
+ return fail("role %q already returned", role)
227
+ }
228
+ r.Returned = true
229
+ all := true
230
+ for _, o := range w.Roles {
231
+ if !o.Returned {
232
+ all = false
233
+ }
234
+ }
235
+ if all {
236
+ w.State = "complete"
237
+ }
238
+ if err := saveDispatch(path, f); err != nil {
239
+ return fail("%v", err)
240
+ }
241
+ recordMetric(root, slug, w.Phase, "return", role, 0)
242
+ fmt.Fprintf(stdout, "dispatch: %s returned (wave %s %s)\n", role, wave, w.State)
243
+ return 0
244
+
245
+ case "status":
246
+ if wave == "" {
247
+ for name, w := range f.Waves {
248
+ fmt.Fprintf(stdout, "dispatch: wave %s state=%s roles=%d\n", name, w.State, len(w.Roles))
249
+ }
250
+ if len(f.Waves) == 0 {
251
+ fmt.Fprintln(stdout, "dispatch: no waves")
252
+ }
253
+ return 0
254
+ }
255
+ w := getWave()
256
+ if w == nil {
257
+ return fail("no wave %q", wave)
258
+ }
259
+ var pending []string
260
+ for name, r := range w.Roles {
261
+ mark := "declared"
262
+ if r.Handle != "" {
263
+ mark = "started"
264
+ }
265
+ if r.Returned {
266
+ mark = "returned"
267
+ } else {
268
+ pending = append(pending, name)
269
+ }
270
+ fmt.Fprintf(stdout, "dispatch: %s %s=%s\n", wave, name, mark)
271
+ }
272
+ if w.State != "complete" {
273
+ return fail("wave %q state=%s pending=%s", wave, w.State, strings.Join(pending, ","))
274
+ }
275
+ fmt.Fprintf(stdout, "dispatch: wave %s complete\n", wave)
276
+ return 0
277
+
278
+ case "abandon":
279
+ w := getWave()
280
+ if w == nil {
281
+ return fail("no wave %q", wave)
282
+ }
283
+ if strings.TrimSpace(reason) == "" {
284
+ return fail("--reason is required (non-empty, surfaced in handoff)")
285
+ }
286
+ w.State = "abandoned"
287
+ if err := saveDispatch(path, f); err != nil {
288
+ return fail("%v", err)
289
+ }
290
+ fmt.Fprintf(stdout, "dispatch: wave %s abandoned: %s\n", wave, reason)
291
+ return fail("wave %q is abandoned — HANDOFF REQUIRED: %s", wave, reason)
292
+ }
293
+ fmt.Fprint(stderr, dispatchUsage)
294
+ return 2
295
+ }
296
+
297
+ func waveState(w *dispatchWave) string {
298
+ if w == nil {
299
+ return "absent"
300
+ }
301
+ return w.State
302
+ }
@@ -0,0 +1,219 @@
1
+ package lib
2
+
3
+ import (
4
+ "encoding/json"
5
+ "fmt"
6
+ "io"
7
+ "os"
8
+ "path/filepath"
9
+ "sort"
10
+ "strings"
11
+ "time"
12
+
13
+ "github.com/devrites/devrites/internal/devritespaths"
14
+ "github.com/devrites/devrites/internal/gate"
15
+ "github.com/devrites/devrites/internal/state"
16
+ )
17
+
18
+ // drift.go: readiness-input drift diagnosis. Vet records one aggregate
19
+ // "Readiness inputs SHA-256" line in eng-review.md; readiness/seal refuse when
20
+ // it no longer matches. That answer is binary — the agent learns the inputs
21
+ // changed but not which artifact did, so repair starts by re-reading eleven
22
+ // files. This check keeps a per-input digest baseline and attributes drift to
23
+ // the exact artifact, so the Spec Drift Guard or a re-vet starts at the right
24
+ // file.
25
+ //
26
+ // devrites-engine check drift <slug> compare vs recorded digests
27
+ // devrites-engine check drift <slug> --record write the digest baseline
28
+ //
29
+ // 0 always — drift is advisory: a dated delta through the owning rite is
30
+ // legal, so this command reports rather than blocks
31
+ // 2 usage error or workspace unreadable
32
+ // 3 baseline exists but cannot be parsed (fail closed on corrupt state)
33
+ //
34
+ // Without a baseline the check falls back to the aggregate binding recorded in
35
+ // eng-review.md; attribution then lists inputs whose mtime is newer than
36
+ // eng-review.md as candidates.
37
+
38
+ const driftBaselineFile = "readiness-inputs.json"
39
+
40
+ // driftBaseline is the recorded per-input digest set for one workspace.
41
+ type driftBaseline struct {
42
+ Version int `json:"version"`
43
+ RecordedAt string `json:"recorded_at"`
44
+ Binding string `json:"binding"`
45
+ Inputs []gate.ReadinessInputDigest `json:"inputs"`
46
+ }
47
+
48
+ // driftDiff is one input whose state differs from the baseline.
49
+ type driftDiff struct {
50
+ Path string `json:"path"`
51
+ Kind string `json:"kind"` // changed | missing | added
52
+ }
53
+
54
+ // RunCheckDrift implements `devrites-engine check drift`.
55
+ func RunCheckDrift(root string, args []string, stdout, stderr io.Writer) int {
56
+ if len(args) < 1 || len(args) > 2 {
57
+ fmt.Fprintln(stderr, driftUsage)
58
+ return 2
59
+ }
60
+ slug := args[0]
61
+ record := false
62
+ if len(args) == 2 {
63
+ if args[1] != "--record" {
64
+ fmt.Fprintln(stderr, driftUsage)
65
+ return 2
66
+ }
67
+ record = true
68
+ }
69
+ workspace, err := devritespaths.ExistingFeatureDirChecked(root, slug)
70
+ if err != nil {
71
+ fmt.Fprintf(stderr, "check drift: %v\n", err)
72
+ return 2
73
+ }
74
+ digests, binding, err := gate.ReadinessInputDigests(root, slug)
75
+ if err != nil {
76
+ fmt.Fprintf(stderr, "check drift: %v\n", err)
77
+ return 2
78
+ }
79
+ baselinePath := filepath.Join(workspace, driftBaselineFile)
80
+ if record {
81
+ return recordDriftBaseline(root, slug, baselinePath, digests, binding, stdout, stderr)
82
+ }
83
+ return compareDrift(workspace, baselinePath, digests, binding, stdout, stderr)
84
+ }
85
+
86
+ // recordDriftBaseline writes the current per-input digests as the baseline.
87
+ func recordDriftBaseline(root, slug, baselinePath string, digests []gate.ReadinessInputDigest, binding string, stdout, stderr io.Writer) int {
88
+ baseline := driftBaseline{
89
+ Version: 1,
90
+ RecordedAt: time.Now().UTC().Format(time.RFC3339),
91
+ Binding: binding,
92
+ Inputs: digests,
93
+ }
94
+ payload, err := json.MarshalIndent(baseline, "", " ")
95
+ if err != nil {
96
+ fmt.Fprintf(stderr, "check drift: marshal baseline: %v\n", err)
97
+ return 2
98
+ }
99
+ writeErr := state.WithFeatureLock(root, slug, func() error {
100
+ return state.AtomicWrite(baselinePath, append(payload, '\n'), 0o644)
101
+ })
102
+ if writeErr != nil {
103
+ fmt.Fprintf(stderr, "check drift: write baseline: %v\n", writeErr)
104
+ return 2
105
+ }
106
+ fmt.Fprintf(stdout, "check drift: baseline recorded (%d inputs, %s)\n", len(digests), binding)
107
+ recordMetric(root, slug, "", "drift-baseline", "", 0)
108
+ return 0
109
+ }
110
+
111
+ // compareDrift diffs current inputs against the baseline, or falls back to the
112
+ // aggregate binding recorded in eng-review.md when no baseline exists.
113
+ func compareDrift(workspace, baselinePath string, digests []gate.ReadinessInputDigest, binding string, stdout, stderr io.Writer) int {
114
+ baseline, hasBaseline, err := readDriftBaseline(baselinePath)
115
+ if err != nil {
116
+ fmt.Fprintf(stdout, "DRIFT: baseline %s unreadable: %v\ncheck drift: BLOCKED\n", driftBaselineFile, err)
117
+ return 3
118
+ }
119
+ if !hasBaseline {
120
+ return compareDriftFallback(workspace, binding, stdout)
121
+ }
122
+ diffs := diffInputs(baseline.Inputs, digests)
123
+ if len(diffs) == 0 && baseline.Binding == binding {
124
+ fmt.Fprintf(stdout, "check drift: none (baseline %s)\n", baseline.RecordedAt)
125
+ return 0
126
+ }
127
+ for _, d := range diffs {
128
+ fmt.Fprintf(stdout, "DRIFT: %s %s since baseline %s\n", d.Path, d.Kind, baseline.RecordedAt)
129
+ }
130
+ if baseline.Binding != binding && len(diffs) == 0 {
131
+ fmt.Fprintln(stdout, "DRIFT: aggregate binding changed without a recorded input diff; re-record the baseline")
132
+ }
133
+ fmt.Fprintf(stdout, "check drift: %d input(s) differ — a change is legal only as a dated delta through the owning rite; otherwise restore the input or rerun /rite-vet and --record\n", len(diffs))
134
+ return 0
135
+ }
136
+
137
+ // compareDriftFallback compares the aggregate binding recorded in eng-review.md
138
+ // and attributes candidates by modification time.
139
+ func compareDriftFallback(workspace, binding string, stdout io.Writer) int {
140
+ engReview := filepath.Join(workspace, "eng-review.md")
141
+ raw, err := os.ReadFile(engReview) // #nosec G304 -- workspace artifact
142
+ if err != nil {
143
+ fmt.Fprintf(stdout, "check drift: unproven — no %s baseline and no readable eng-review.md; run `check drift <slug> --record` after Vet writes the binding\n", driftBaselineFile)
144
+ return 0
145
+ }
146
+ recorded := ""
147
+ for _, line := range strings.Split(string(raw), "\n") {
148
+ if strings.Contains(line, "Readiness inputs SHA-256: ") {
149
+ recorded = strings.TrimSpace(line)
150
+ }
151
+ }
152
+ if recorded == "" {
153
+ fmt.Fprintf(stdout, "check drift: unproven — eng-review.md carries no readiness binding; run `check drift <slug> --record` after Vet writes it\n")
154
+ return 0
155
+ }
156
+ if recorded == binding {
157
+ fmt.Fprintln(stdout, "check drift: none (eng-review.md binding current)")
158
+ return 0
159
+ }
160
+ fmt.Fprintf(stdout, "DRIFT: readiness inputs changed since the eng-review.md binding\nrecorded: %s\ncurrent: %s\n", recorded, binding)
161
+ reviewInfo, err := os.Stat(engReview)
162
+ if err == nil {
163
+ for _, name := range []string{"spec.md", "decision-coverage.md", "architecture.md", "plan.md", "tasks.md", "traceability.md", "test-plan.md", "strategy.md", "design-brief.md", "ai-spec.md"} {
164
+ if info, err := os.Stat(filepath.Join(workspace, name)); err == nil && info.ModTime().After(reviewInfo.ModTime()) {
165
+ fmt.Fprintf(stdout, "candidate: %s modified after eng-review.md\n", name)
166
+ }
167
+ }
168
+ }
169
+ fmt.Fprintln(stdout, "check drift: route through the Spec Drift Guard or rerun /rite-vet")
170
+ return 0
171
+ }
172
+
173
+ // diffInputs compares baseline digests against current digests.
174
+ func diffInputs(base, current []gate.ReadinessInputDigest) []driftDiff {
175
+ cur := make(map[string]gate.ReadinessInputDigest, len(current))
176
+ for _, d := range current {
177
+ cur[d.Path] = d
178
+ }
179
+ var diffs []driftDiff
180
+ for _, b := range base {
181
+ c, ok := cur[b.Path]
182
+ switch {
183
+ case !ok:
184
+ diffs = append(diffs, driftDiff{Path: b.Path, Kind: "missing"})
185
+ case b.Present != c.Present:
186
+ kind := "missing"
187
+ if c.Present {
188
+ kind = "added"
189
+ }
190
+ diffs = append(diffs, driftDiff{Path: b.Path, Kind: kind})
191
+ case b.Present && b.SHA256 != c.SHA256:
192
+ diffs = append(diffs, driftDiff{Path: b.Path, Kind: "changed"})
193
+ }
194
+ }
195
+ sort.Slice(diffs, func(i, j int) bool { return diffs[i].Path < diffs[j].Path })
196
+ return diffs
197
+ }
198
+
199
+ // readDriftBaseline loads the digest baseline; hasBaseline is false when it
200
+ // does not exist.
201
+ func readDriftBaseline(path string) (driftBaseline, bool, error) {
202
+ raw, err := os.ReadFile(path) // #nosec G304 -- workspace artifact
203
+ if err != nil {
204
+ if os.IsNotExist(err) {
205
+ return driftBaseline{}, false, nil
206
+ }
207
+ return driftBaseline{}, false, err
208
+ }
209
+ var baseline driftBaseline
210
+ if err := json.Unmarshal(raw, &baseline); err != nil {
211
+ return driftBaseline{}, false, fmt.Errorf("corrupt baseline: %w", err)
212
+ }
213
+ if baseline.Version != 1 {
214
+ return driftBaseline{}, false, fmt.Errorf("unsupported baseline version %d", baseline.Version)
215
+ }
216
+ return baseline, true, nil
217
+ }
218
+
219
+ const driftUsage = "usage: devrites-engine check drift <slug> [--record]"
@@ -0,0 +1,106 @@
1
+ package lib
2
+
3
+ import (
4
+ "bytes"
5
+ "os"
6
+ "path/filepath"
7
+ "strings"
8
+ "testing"
9
+ "time"
10
+
11
+ "github.com/devrites/devrites/internal/gate"
12
+ )
13
+
14
+ // driftWorkspace builds a workspace with every required readiness input.
15
+ func driftWorkspace(t *testing.T) (root, featureDir string) {
16
+ t.Helper()
17
+ root, featureDir = newWorkspace(t, "vet")
18
+ for _, name := range []string{
19
+ "spec.md", "decision-coverage.md", "architecture.md",
20
+ "plan.md", "tasks.md", "traceability.md", "test-plan.md",
21
+ } {
22
+ writeFile(t, filepath.Join(featureDir, name), "# "+name+"\n\ncontent\n")
23
+ }
24
+ return root, featureDir
25
+ }
26
+
27
+ func checkDrift(t *testing.T, root string, args ...string) (int, string) {
28
+ t.Helper()
29
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
30
+ code := RunCheckDrift(root, args, stdout, stderr)
31
+ return code, stdout.String() + stderr.String()
32
+ }
33
+
34
+ func TestDriftUnprovenWithoutBaselineOrBinding(t *testing.T) {
35
+ root, _ := driftWorkspace(t)
36
+ code, out := checkDrift(t, root, "feat")
37
+ if code != 0 || !strings.Contains(out, "unproven") {
38
+ t.Fatalf("code=%d out=%s", code, out)
39
+ }
40
+ }
41
+
42
+ func TestDriftRecordThenCleanPass(t *testing.T) {
43
+ root, _ := driftWorkspace(t)
44
+ code, out := checkDrift(t, root, "feat", "--record")
45
+ if code != 0 || !strings.Contains(out, "baseline recorded") {
46
+ t.Fatalf("record code=%d out=%s", code, out)
47
+ }
48
+ code, out = checkDrift(t, root, "feat")
49
+ if code != 0 || !strings.Contains(out, "drift: none") {
50
+ t.Fatalf("compare code=%d out=%s", code, out)
51
+ }
52
+ }
53
+
54
+ func TestDriftAttributesChangedFile(t *testing.T) {
55
+ root, featureDir := driftWorkspace(t)
56
+ if code, out := checkDrift(t, root, "feat", "--record"); code != 0 {
57
+ t.Fatalf("record code=%d out=%s", code, out)
58
+ }
59
+ writeFile(t, filepath.Join(featureDir, "plan.md"), "# plan.md\n\nrewritten\n")
60
+ writeFile(t, filepath.Join(featureDir, "strategy.md"), "# strategy\n\nnew optional input\n")
61
+ code, out := checkDrift(t, root, "feat")
62
+ if code != 0 {
63
+ t.Fatalf("code=%d out=%s", code, out)
64
+ }
65
+ if !strings.Contains(out, "plan.md changed") || !strings.Contains(out, "strategy.md added") {
66
+ t.Fatalf("expected per-file attribution:\n%s", out)
67
+ }
68
+ if strings.Contains(out, "spec.md changed") {
69
+ t.Fatalf("spec.md did not change:\n%s", out)
70
+ }
71
+ }
72
+
73
+ func TestDriftFallbackEngReviewBinding(t *testing.T) {
74
+ root, featureDir := driftWorkspace(t)
75
+ _, binding, err := gate.ReadinessInputDigests(root, "feat")
76
+ if err != nil {
77
+ t.Fatal(err)
78
+ }
79
+ writeFile(t, filepath.Join(featureDir, "eng-review.md"), "# Eng review\n\n"+binding+"\n")
80
+ code, out := checkDrift(t, root, "feat")
81
+ if code != 0 || !strings.Contains(out, "drift: none") {
82
+ t.Fatalf("code=%d out=%s", code, out)
83
+ }
84
+ writeFile(t, filepath.Join(featureDir, "tasks.md"), "# tasks\n\ndrifted\n")
85
+ // eng-review must predate the drifted file for the mtime heuristic.
86
+ old := time.Now().Add(-time.Hour)
87
+ if err := os.Chtimes(filepath.Join(featureDir, "eng-review.md"), old, old); err != nil {
88
+ t.Fatal(err)
89
+ }
90
+ code, out = checkDrift(t, root, "feat")
91
+ if code != 0 {
92
+ t.Fatalf("code=%d out=%s", code, out)
93
+ }
94
+ if !strings.Contains(out, "DRIFT: readiness inputs changed") || !strings.Contains(out, "tasks.md") {
95
+ t.Fatalf("expected aggregate drift + candidate:\n%s", out)
96
+ }
97
+ }
98
+
99
+ func TestDriftCorruptBaselineBlocks(t *testing.T) {
100
+ root, featureDir := driftWorkspace(t)
101
+ writeFile(t, filepath.Join(featureDir, driftBaselineFile), "{not json")
102
+ code, out := checkDrift(t, root, "feat")
103
+ if code != 3 || !strings.Contains(out, "BLOCKED") {
104
+ t.Fatalf("code=%d out=%s", code, out)
105
+ }
106
+ }