devrites 5.11.0 → 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 (903) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/docs/agents/issue-driven-rites.md +1 -1
  4. package/docs/agents/issue-tracker.md +3 -0
  5. package/docs/cli.md +90 -0
  6. package/docs/command-map.md +4 -2
  7. package/docs/engine/commands.md +21 -0
  8. package/docs/engine/state-schema.md +1 -1
  9. package/docs/engine/workspace-schema.md +10 -2
  10. package/docs/usage.md +2 -0
  11. package/engine/commands.go +11 -5
  12. package/engine/help.go +80 -3
  13. package/engine/help_test.go +7 -1
  14. package/engine/internal/acceptance/acceptance_test.go +655 -0
  15. package/engine/internal/acceptance/approve.go +142 -0
  16. package/engine/internal/acceptance/cli.go +426 -0
  17. package/engine/internal/acceptance/evidence.go +139 -0
  18. package/engine/internal/acceptance/exec.go +131 -0
  19. package/engine/internal/acceptance/exec_unix.go +22 -0
  20. package/engine/internal/acceptance/exec_windows.go +16 -0
  21. package/engine/internal/acceptance/ledger.go +259 -0
  22. package/engine/internal/acceptance/lint.go +115 -0
  23. package/engine/internal/acceptance/run.go +207 -0
  24. package/engine/internal/acceptance/scaffold.go +55 -0
  25. package/engine/internal/gate/gate.go +12 -2
  26. package/engine/internal/gate/gate_test.go +17 -9
  27. package/engine/internal/gate/gates_ledger.go +76 -0
  28. package/engine/internal/gate/readiness_binding.go +39 -0
  29. package/engine/internal/gate/readiness_binding_test.go +4 -3
  30. package/engine/internal/install/install.go +7 -1
  31. package/engine/internal/install/install_test.go +17 -4
  32. package/engine/internal/install/merge.go +82 -22
  33. package/engine/internal/install/update.go +7 -1
  34. package/engine/internal/install/workspace_advisory.go +46 -0
  35. package/engine/internal/install/workspace_advisory_test.go +54 -0
  36. package/engine/internal/lib/candidate_test.go +1 -1
  37. package/engine/internal/lib/claims.go +411 -0
  38. package/engine/internal/lib/claims_test.go +182 -0
  39. package/engine/internal/lib/closeout_test.go +3 -3
  40. package/engine/internal/lib/context.go +445 -0
  41. package/engine/internal/lib/context_next_test.go +521 -0
  42. package/engine/internal/lib/detect.go +346 -0
  43. package/engine/internal/lib/detect_test.go +105 -0
  44. package/engine/internal/lib/diffscope.go +189 -0
  45. package/engine/internal/lib/dispatch.go +302 -0
  46. package/engine/internal/lib/drift.go +219 -0
  47. package/engine/internal/lib/drift_test.go +106 -0
  48. package/engine/internal/lib/dup.go +1243 -0
  49. package/engine/internal/lib/dup_test.go +488 -0
  50. package/engine/internal/lib/environment_report.go +1 -0
  51. package/engine/internal/lib/environment_report_test.go +2 -2
  52. package/engine/internal/lib/handoff.go +194 -0
  53. package/engine/internal/lib/handoff_test.go +83 -0
  54. package/engine/internal/lib/manifest_union_test.go +1 -1
  55. package/engine/internal/lib/metrics.go +256 -0
  56. package/engine/internal/lib/migrate_test.go +6 -6
  57. package/engine/internal/lib/next.go +155 -0
  58. package/engine/internal/lib/observe_budgets_test.go +3 -3
  59. package/engine/internal/lib/regression.go +378 -0
  60. package/engine/internal/lib/regression_test.go +179 -0
  61. package/engine/internal/lib/resolve_remediation_test.go +1 -1
  62. package/engine/internal/lib/secretscan_test.go +1 -1
  63. package/engine/internal/lib/slicecheck.go +179 -0
  64. package/engine/internal/lib/slicecheck_test.go +111 -0
  65. package/engine/internal/lib/taskgraph_test.go +2 -2
  66. package/engine/internal/lib/triggers.go +133 -0
  67. package/engine/internal/lib/windows.go +353 -0
  68. package/engine/internal/lib/windows_test.go +237 -0
  69. package/engine/internal/notes/cli.go +349 -0
  70. package/engine/internal/notes/notes.go +384 -0
  71. package/engine/internal/notes/notes_test.go +173 -0
  72. package/engine/internal/parallel/lease.go +3 -8
  73. package/engine/internal/parallel/parallel_test.go +34 -0
  74. package/engine/internal/state/budgets.go +13 -8
  75. package/engine/internal/state/observation_test.go +1 -0
  76. package/engine/internal/state/schema.go +4 -3
  77. package/engine/internal/state/state_test.go +3 -3
  78. package/engine/internal/state/workflow_manifest.json +13 -4
  79. package/engine/internal/state/workspaceschema_test.go +2 -2
  80. package/engine/internal/testutil/testutil.go +4 -0
  81. package/engine/main.go +59 -0
  82. package/engine/note_routing_test.go +95 -0
  83. package/engine/observation_contract_test.go +1 -0
  84. package/engine/root_routing_test.go +13 -3
  85. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/gates.md +4 -0
  86. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/state.md +1 -1
  87. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +1 -1
  88. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
  89. package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +1 -1
  90. package/engine/tests/adr_0027_readiness_binding_test.go +1 -0
  91. package/engine/tests/gate_test.go +3 -0
  92. package/engine/tests/parity_closeout_test.go +3 -3
  93. package/engine/tests/parity_resolve_test.go +1 -1
  94. package/engine/tests/workspace_observation_migration_test.go +8 -4
  95. package/pack/.claude/agents/_shared/composition-findings.md +1 -0
  96. package/pack/.claude/agents/_shared/composition-result.md +1 -0
  97. package/pack/.claude/agents/_shared/result-admission.md +3 -0
  98. package/pack/.claude/agents/_shared/untrusted-input-devex.md +1 -0
  99. package/pack/.claude/agents/_shared/untrusted-input-retrospector.md +1 -0
  100. package/pack/.claude/agents/_shared/untrusted-input.md +1 -0
  101. package/pack/.claude/agents/devrites-code-reviewer.md +19 -3
  102. package/pack/.claude/agents/devrites-devex-reviewer.md +3 -3
  103. package/pack/.claude/agents/devrites-doubt-reviewer.md +3 -3
  104. package/pack/.claude/agents/devrites-evidence-scout.md +3 -3
  105. package/pack/.claude/agents/devrites-frontend-reviewer.md +3 -3
  106. package/pack/.claude/agents/devrites-performance-reviewer.md +3 -3
  107. package/pack/.claude/agents/devrites-plan-drafter.md +3 -3
  108. package/pack/.claude/agents/devrites-plan-reviewer.md +3 -3
  109. package/pack/.claude/agents/devrites-proof-runner.md +3 -3
  110. package/pack/.claude/agents/devrites-retrospector.md +3 -3
  111. package/pack/.claude/agents/devrites-security-auditor.md +25 -3
  112. package/pack/.claude/agents/devrites-simplifier-reviewer.md +15 -5
  113. package/pack/.claude/agents/devrites-slice-wright.md +3 -3
  114. package/pack/.claude/agents/devrites-spec-reviewer.md +3 -3
  115. package/pack/.claude/agents/devrites-strategy-reviewer.md +3 -3
  116. package/pack/.claude/agents/devrites-test-analyst.md +3 -3
  117. package/pack/.claude/agents/devrites-upgrade-planner.md +3 -3
  118. package/pack/.claude/settings.json +39 -2
  119. package/pack/.claude/skills/devrites-api-interface/SKILL.md +2 -0
  120. package/pack/.claude/skills/devrites-audit/SKILL.md +9 -0
  121. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +2 -0
  122. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  123. package/pack/.claude/skills/devrites-doubt/SKILL.md +2 -0
  124. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  125. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  126. package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  127. package/pack/.claude/skills/devrites-interview/SKILL.md +5 -0
  128. package/pack/.claude/skills/devrites-lib/SKILL.md +40 -5
  129. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-autocomplete.md +3 -0
  130. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-plan.md +3 -0
  131. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-vet.md +3 -0
  132. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  133. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  134. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  135. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  136. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -0
  137. package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  138. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  139. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  140. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  141. package/pack/.claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  142. package/pack/.claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  143. package/pack/.claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  144. package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  145. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  146. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  147. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  148. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  149. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  150. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +10 -1
  151. package/pack/.claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  152. package/pack/.claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  153. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  154. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  155. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  156. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  157. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  158. package/pack/.claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  159. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  160. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  161. package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  162. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  163. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  164. package/pack/.claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  165. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  166. package/pack/.claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  167. package/pack/.claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  168. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  169. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  170. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  171. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  172. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  173. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  174. package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  175. package/pack/.claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  176. package/pack/.claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  177. package/pack/.claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  178. package/pack/.claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  179. package/pack/.claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  180. package/pack/.claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  181. package/pack/.claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  182. package/pack/.claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  183. package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  184. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  185. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +58 -6
  186. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  187. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  188. package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  189. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  190. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  191. package/pack/.claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  192. package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  193. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  194. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  195. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -1
  196. package/pack/.claude/skills/devrites-source-driven/SKILL.md +2 -0
  197. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +2 -0
  198. package/pack/.claude/skills/rite/SKILL.md +2 -0
  199. package/pack/.claude/skills/rite-adopt/SKILL.md +2 -0
  200. package/pack/.claude/skills/rite-autocomplete/SKILL.md +7 -4
  201. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +1 -3
  202. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +8 -4
  203. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -3
  204. package/pack/.claude/skills/rite-build/SKILL.md +28 -14
  205. package/pack/.claude/skills/rite-build/reference/checkpoint.md +6 -0
  206. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +11 -2
  207. package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -4
  208. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  209. package/pack/.claude/skills/rite-clarify/SKILL.md +4 -0
  210. package/pack/.claude/skills/rite-converge/SKILL.md +14 -2
  211. package/pack/.claude/skills/rite-customize/SKILL.md +2 -0
  212. package/pack/.claude/skills/rite-define/SKILL.md +8 -2
  213. package/pack/.claude/skills/rite-doctor/SKILL.md +6 -1
  214. package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -0
  215. package/pack/.claude/skills/rite-explain/SKILL.md +2 -0
  216. package/pack/.claude/skills/rite-frame/SKILL.md +4 -0
  217. package/pack/.claude/skills/rite-handoff/SKILL.md +8 -1
  218. package/pack/.claude/skills/rite-learn/SKILL.md +2 -0
  219. package/pack/.claude/skills/rite-plan/SKILL.md +7 -3
  220. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -3
  221. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +1 -3
  222. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  223. package/pack/.claude/skills/rite-polish/SKILL.md +13 -2
  224. package/pack/.claude/skills/rite-polish/reference/code.md +6 -1
  225. package/pack/.claude/skills/rite-polish/reference/ledger.md +3 -1
  226. package/pack/.claude/skills/rite-pov/SKILL.md +2 -0
  227. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -0
  228. package/pack/.claude/skills/rite-pressure-test/SKILL.md +2 -0
  229. package/pack/.claude/skills/rite-prototype/SKILL.md +2 -0
  230. package/pack/.claude/skills/rite-prove/SKILL.md +17 -3
  231. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  232. package/pack/.claude/skills/rite-quick/SKILL.md +7 -1
  233. package/pack/.claude/skills/rite-resolve/SKILL.md +2 -0
  234. package/pack/.claude/skills/rite-review/SKILL.md +5 -1
  235. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -3
  236. package/pack/.claude/skills/rite-seal/SKILL.md +27 -3
  237. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +1 -0
  238. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +3 -1
  239. package/pack/.claude/skills/rite-ship/SKILL.md +5 -1
  240. package/pack/.claude/skills/rite-spec/SKILL.md +10 -3
  241. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
  242. package/pack/.claude/skills/rite-status/SKILL.md +9 -0
  243. package/pack/.claude/skills/rite-temper/SKILL.md +5 -1
  244. package/pack/.claude/skills/rite-upgrade/SKILL.md +9 -1
  245. package/pack/.claude/skills/rite-vet/SKILL.md +29 -9
  246. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -3
  247. package/pack/.claude/skills/rite-vet/reference/artifacts.md +20 -3
  248. package/pack/.claude/skills/rite-vet/reference/depth.md +1 -3
  249. package/pack/.claude/skills/rite-vet/reference/review-axes.md +6 -3
  250. package/pack/.claude/skills/rite-watch-pr/SKILL.md +2 -0
  251. package/pack/.claude/skills/rite-zoom-out/SKILL.md +2 -0
  252. package/pack/generated/claude/agents/devrites-code-reviewer.md +17 -1
  253. package/pack/generated/claude/agents/devrites-devex-reviewer.md +1 -1
  254. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +1 -1
  255. package/pack/generated/claude/agents/devrites-evidence-scout.md +1 -1
  256. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +1 -1
  257. package/pack/generated/claude/agents/devrites-performance-reviewer.md +1 -1
  258. package/pack/generated/claude/agents/devrites-plan-drafter.md +1 -1
  259. package/pack/generated/claude/agents/devrites-plan-reviewer.md +1 -1
  260. package/pack/generated/claude/agents/devrites-proof-runner.md +1 -1
  261. package/pack/generated/claude/agents/devrites-retrospector.md +1 -1
  262. package/pack/generated/claude/agents/devrites-security-auditor.md +23 -1
  263. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +13 -3
  264. package/pack/generated/claude/agents/devrites-slice-wright.md +1 -1
  265. package/pack/generated/claude/agents/devrites-spec-reviewer.md +1 -1
  266. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +1 -1
  267. package/pack/generated/claude/agents/devrites-test-analyst.md +1 -1
  268. package/pack/generated/claude/agents/devrites-upgrade-planner.md +1 -1
  269. package/pack/generated/claude/settings.json +39 -2
  270. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +2 -0
  271. package/pack/generated/claude/skills/devrites-audit/SKILL.md +9 -0
  272. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +2 -0
  273. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  274. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +2 -0
  275. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  276. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  277. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  278. package/pack/generated/claude/skills/devrites-interview/SKILL.md +5 -0
  279. package/pack/generated/claude/skills/devrites-lib/SKILL.md +40 -5
  280. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  281. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  282. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  283. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  284. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -0
  285. package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  286. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  287. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  288. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  289. package/pack/generated/claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  290. package/pack/generated/claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  291. package/pack/generated/claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  292. package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  293. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  294. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  295. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  296. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  297. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  298. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +10 -1
  299. package/pack/generated/claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  300. package/pack/generated/claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  301. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  302. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  303. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  304. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  305. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  306. package/pack/generated/claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  307. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  308. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  309. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  310. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  311. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  312. package/pack/generated/claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  313. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  314. package/pack/generated/claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  315. package/pack/generated/claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  316. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  317. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  318. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  319. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  320. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  321. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  322. package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  323. package/pack/generated/claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  324. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  325. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  326. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  327. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  328. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  329. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  330. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  331. package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  332. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  333. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +58 -6
  334. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  335. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  336. package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  337. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  338. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  339. package/pack/generated/claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  340. package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  341. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  342. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  343. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -1
  344. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +2 -0
  345. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +2 -0
  346. package/pack/generated/claude/skills/rite/SKILL.md +2 -0
  347. package/pack/generated/claude/skills/rite-adopt/SKILL.md +2 -0
  348. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +6 -1
  349. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -1
  350. package/pack/generated/claude/skills/rite-build/SKILL.md +28 -14
  351. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +6 -0
  352. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +11 -2
  353. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -4
  354. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  355. package/pack/generated/claude/skills/rite-clarify/SKILL.md +4 -0
  356. package/pack/generated/claude/skills/rite-converge/SKILL.md +14 -2
  357. package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -0
  358. package/pack/generated/claude/skills/rite-define/SKILL.md +8 -2
  359. package/pack/generated/claude/skills/rite-doctor/SKILL.md +6 -1
  360. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -0
  361. package/pack/generated/claude/skills/rite-explain/SKILL.md +2 -0
  362. package/pack/generated/claude/skills/rite-frame/SKILL.md +4 -0
  363. package/pack/generated/claude/skills/rite-handoff/SKILL.md +8 -1
  364. package/pack/generated/claude/skills/rite-learn/SKILL.md +2 -0
  365. package/pack/generated/claude/skills/rite-plan/SKILL.md +6 -0
  366. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  367. package/pack/generated/claude/skills/rite-polish/SKILL.md +13 -2
  368. package/pack/generated/claude/skills/rite-polish/reference/code.md +6 -1
  369. package/pack/generated/claude/skills/rite-polish/reference/ledger.md +3 -1
  370. package/pack/generated/claude/skills/rite-pov/SKILL.md +2 -0
  371. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -0
  372. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +2 -0
  373. package/pack/generated/claude/skills/rite-prototype/SKILL.md +2 -0
  374. package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -3
  375. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  376. package/pack/generated/claude/skills/rite-quick/SKILL.md +7 -1
  377. package/pack/generated/claude/skills/rite-resolve/SKILL.md +2 -0
  378. package/pack/generated/claude/skills/rite-review/SKILL.md +5 -1
  379. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -3
  380. package/pack/generated/claude/skills/rite-seal/SKILL.md +27 -3
  381. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +1 -0
  382. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +3 -1
  383. package/pack/generated/claude/skills/rite-ship/SKILL.md +5 -1
  384. package/pack/generated/claude/skills/rite-spec/SKILL.md +10 -3
  385. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
  386. package/pack/generated/claude/skills/rite-status/SKILL.md +9 -0
  387. package/pack/generated/claude/skills/rite-temper/SKILL.md +5 -1
  388. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +9 -1
  389. package/pack/generated/claude/skills/rite-vet/SKILL.md +28 -6
  390. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +19 -0
  391. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +5 -0
  392. package/pack/generated/claude/skills/rite-watch-pr/SKILL.md +2 -0
  393. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +2 -0
  394. package/pack/generated/codex/agents/devrites-code-reviewer.toml +16 -0
  395. package/pack/generated/codex/agents/devrites-security-auditor.toml +22 -0
  396. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +12 -2
  397. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +2 -0
  398. package/pack/generated/codex/skills/devrites-audit/SKILL.md +9 -0
  399. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +2 -0
  400. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +2 -0
  401. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +2 -0
  402. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +2 -0
  403. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  404. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +5 -0
  405. package/pack/generated/codex/skills/devrites-interview/SKILL.md +5 -0
  406. package/pack/generated/codex/skills/devrites-lib/SKILL.md +40 -5
  407. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  408. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  409. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  410. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +24 -1
  411. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -0
  412. package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  413. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  414. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +21 -1
  415. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  416. package/pack/generated/codex/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  417. package/pack/generated/codex/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  418. package/pack/generated/codex/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  419. package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  420. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  421. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  422. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +67 -7
  423. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  424. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  425. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +10 -1
  426. package/pack/generated/codex/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  427. package/pack/generated/codex/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  428. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  429. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  430. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  431. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  432. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +12 -0
  433. package/pack/generated/codex/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  434. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  435. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  436. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  437. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +117 -0
  438. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  439. package/pack/generated/codex/skills/devrites-lib/reference/standards/glossary.md +40 -0
  440. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +16 -0
  441. package/pack/generated/codex/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  442. package/pack/generated/codex/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  443. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +2 -0
  444. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  445. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +2 -0
  446. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +8 -1
  447. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +14 -0
  448. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  449. package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  450. package/pack/generated/codex/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  451. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/README.md +23 -0
  452. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  453. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/default.md +42 -0
  454. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/go.md +47 -0
  455. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/python.md +46 -0
  456. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  457. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  458. package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  459. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  460. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +58 -6
  461. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  462. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  463. package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  464. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +19 -2
  465. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +12 -0
  466. package/pack/generated/codex/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  467. package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +51 -0
  468. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  469. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  470. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -1
  471. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +2 -0
  472. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +2 -0
  473. package/pack/generated/codex/skills/rite/SKILL.md +2 -0
  474. package/pack/generated/codex/skills/rite-adopt/SKILL.md +2 -0
  475. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +6 -1
  476. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -1
  477. package/pack/generated/codex/skills/rite-build/SKILL.md +28 -14
  478. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +6 -0
  479. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +11 -2
  480. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -4
  481. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +34 -8
  482. package/pack/generated/codex/skills/rite-clarify/SKILL.md +4 -0
  483. package/pack/generated/codex/skills/rite-converge/SKILL.md +14 -2
  484. package/pack/generated/codex/skills/rite-customize/SKILL.md +2 -0
  485. package/pack/generated/codex/skills/rite-define/SKILL.md +8 -2
  486. package/pack/generated/codex/skills/rite-doctor/SKILL.md +6 -1
  487. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +2 -0
  488. package/pack/generated/codex/skills/rite-explain/SKILL.md +2 -0
  489. package/pack/generated/codex/skills/rite-frame/SKILL.md +4 -0
  490. package/pack/generated/codex/skills/rite-handoff/SKILL.md +8 -1
  491. package/pack/generated/codex/skills/rite-learn/SKILL.md +2 -0
  492. package/pack/generated/codex/skills/rite-plan/SKILL.md +6 -0
  493. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -1
  494. package/pack/generated/codex/skills/rite-polish/SKILL.md +13 -2
  495. package/pack/generated/codex/skills/rite-polish/reference/code.md +6 -1
  496. package/pack/generated/codex/skills/rite-polish/reference/ledger.md +3 -1
  497. package/pack/generated/codex/skills/rite-pov/SKILL.md +2 -0
  498. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +2 -0
  499. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +2 -0
  500. package/pack/generated/codex/skills/rite-prototype/SKILL.md +2 -0
  501. package/pack/generated/codex/skills/rite-prove/SKILL.md +17 -3
  502. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +6 -0
  503. package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -1
  504. package/pack/generated/codex/skills/rite-resolve/SKILL.md +2 -0
  505. package/pack/generated/codex/skills/rite-review/SKILL.md +5 -1
  506. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -3
  507. package/pack/generated/codex/skills/rite-seal/SKILL.md +27 -3
  508. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +1 -0
  509. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +3 -1
  510. package/pack/generated/codex/skills/rite-ship/SKILL.md +5 -1
  511. package/pack/generated/codex/skills/rite-spec/SKILL.md +10 -3
  512. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
  513. package/pack/generated/codex/skills/rite-status/SKILL.md +9 -0
  514. package/pack/generated/codex/skills/rite-temper/SKILL.md +5 -1
  515. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +9 -1
  516. package/pack/generated/codex/skills/rite-vet/SKILL.md +28 -6
  517. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +19 -0
  518. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +5 -0
  519. package/pack/generated/codex/skills/rite-watch-pr/SKILL.md +2 -0
  520. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +2 -0
  521. package/pack/generated/devin/agents/devrites-code-reviewer.md +16 -0
  522. package/pack/generated/devin/agents/devrites-security-auditor.md +22 -0
  523. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +12 -2
  524. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +2 -0
  525. package/pack/generated/devin/skills/devrites-audit/SKILL.md +9 -0
  526. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +2 -0
  527. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +2 -0
  528. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +2 -0
  529. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +2 -0
  530. package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  531. package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +5 -0
  532. package/pack/generated/devin/skills/devrites-interview/SKILL.md +5 -0
  533. package/pack/generated/devin/skills/devrites-lib/SKILL.md +40 -5
  534. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  535. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  536. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  537. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +24 -1
  538. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +10 -0
  539. package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  540. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  541. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +21 -1
  542. package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  543. package/pack/generated/devin/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  544. package/pack/generated/devin/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  545. package/pack/generated/devin/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  546. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  547. package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  548. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  549. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +67 -7
  550. package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  551. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  552. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +10 -1
  553. package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  554. package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  555. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  556. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  557. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  558. package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  559. package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +12 -0
  560. package/pack/generated/devin/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  561. package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  562. package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  563. package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  564. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +117 -0
  565. package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  566. package/pack/generated/devin/skills/devrites-lib/reference/standards/glossary.md +40 -0
  567. package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +16 -0
  568. package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  569. package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  570. package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +2 -0
  571. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  572. package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +2 -0
  573. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +8 -1
  574. package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +14 -0
  575. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  576. package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  577. package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  578. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/README.md +23 -0
  579. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  580. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/default.md +42 -0
  581. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/go.md +47 -0
  582. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/python.md +46 -0
  583. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  584. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  585. package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  586. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  587. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +58 -6
  588. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  589. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  590. package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  591. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +19 -2
  592. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +12 -0
  593. package/pack/generated/devin/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  594. package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +51 -0
  595. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  596. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  597. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +3 -1
  598. package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +2 -0
  599. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +2 -0
  600. package/pack/generated/devin/skills/rite/SKILL.md +2 -0
  601. package/pack/generated/devin/skills/rite-adopt/SKILL.md +2 -0
  602. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +6 -1
  603. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +7 -1
  604. package/pack/generated/devin/skills/rite-build/SKILL.md +28 -14
  605. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +6 -0
  606. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +11 -2
  607. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +8 -4
  608. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +34 -8
  609. package/pack/generated/devin/skills/rite-clarify/SKILL.md +4 -0
  610. package/pack/generated/devin/skills/rite-converge/SKILL.md +14 -2
  611. package/pack/generated/devin/skills/rite-customize/SKILL.md +2 -0
  612. package/pack/generated/devin/skills/rite-define/SKILL.md +8 -2
  613. package/pack/generated/devin/skills/rite-doctor/SKILL.md +6 -1
  614. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +2 -0
  615. package/pack/generated/devin/skills/rite-explain/SKILL.md +2 -0
  616. package/pack/generated/devin/skills/rite-frame/SKILL.md +4 -0
  617. package/pack/generated/devin/skills/rite-handoff/SKILL.md +8 -1
  618. package/pack/generated/devin/skills/rite-learn/SKILL.md +2 -0
  619. package/pack/generated/devin/skills/rite-plan/SKILL.md +6 -0
  620. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +3 -1
  621. package/pack/generated/devin/skills/rite-polish/SKILL.md +13 -2
  622. package/pack/generated/devin/skills/rite-polish/reference/code.md +6 -1
  623. package/pack/generated/devin/skills/rite-polish/reference/ledger.md +3 -1
  624. package/pack/generated/devin/skills/rite-pov/SKILL.md +2 -0
  625. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +2 -0
  626. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +2 -0
  627. package/pack/generated/devin/skills/rite-prototype/SKILL.md +2 -0
  628. package/pack/generated/devin/skills/rite-prove/SKILL.md +17 -3
  629. package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +6 -0
  630. package/pack/generated/devin/skills/rite-quick/SKILL.md +7 -1
  631. package/pack/generated/devin/skills/rite-resolve/SKILL.md +2 -0
  632. package/pack/generated/devin/skills/rite-review/SKILL.md +5 -1
  633. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +14 -3
  634. package/pack/generated/devin/skills/rite-seal/SKILL.md +27 -3
  635. package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +1 -0
  636. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +3 -1
  637. package/pack/generated/devin/skills/rite-ship/SKILL.md +5 -1
  638. package/pack/generated/devin/skills/rite-spec/SKILL.md +10 -3
  639. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +5 -0
  640. package/pack/generated/devin/skills/rite-status/SKILL.md +9 -0
  641. package/pack/generated/devin/skills/rite-temper/SKILL.md +5 -1
  642. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +9 -1
  643. package/pack/generated/devin/skills/rite-vet/SKILL.md +28 -6
  644. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +19 -0
  645. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +5 -0
  646. package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +2 -0
  647. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +2 -0
  648. package/pack/generated/omp/agents/devrites-code-reviewer.md +16 -0
  649. package/pack/generated/omp/agents/devrites-security-auditor.md +22 -0
  650. package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +12 -2
  651. package/pack/generated/omp/skills/devrites-api-interface/SKILL.md +2 -0
  652. package/pack/generated/omp/skills/devrites-audit/SKILL.md +9 -0
  653. package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +2 -0
  654. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +2 -0
  655. package/pack/generated/omp/skills/devrites-doubt/SKILL.md +2 -0
  656. package/pack/generated/omp/skills/devrites-frontend-craft/SKILL.md +2 -0
  657. package/pack/generated/omp/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  658. package/pack/generated/omp/skills/devrites-frontend-craft/reference/shape.md +5 -0
  659. package/pack/generated/omp/skills/devrites-interview/SKILL.md +5 -0
  660. package/pack/generated/omp/skills/devrites-lib/SKILL.md +40 -5
  661. package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  662. package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  663. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  664. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +24 -1
  665. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +10 -0
  666. package/pack/generated/omp/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  667. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  668. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +21 -1
  669. package/pack/generated/omp/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  670. package/pack/generated/omp/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  671. package/pack/generated/omp/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  672. package/pack/generated/omp/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  673. package/pack/generated/omp/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  674. package/pack/generated/omp/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  675. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  676. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +67 -7
  677. package/pack/generated/omp/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  678. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  679. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +10 -1
  680. package/pack/generated/omp/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  681. package/pack/generated/omp/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  682. package/pack/generated/omp/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  683. package/pack/generated/omp/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  684. package/pack/generated/omp/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  685. package/pack/generated/omp/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  686. package/pack/generated/omp/skills/devrites-lib/reference/standards/documentation.md +12 -0
  687. package/pack/generated/omp/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  688. package/pack/generated/omp/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  689. package/pack/generated/omp/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  690. package/pack/generated/omp/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  691. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +117 -0
  692. package/pack/generated/omp/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  693. package/pack/generated/omp/skills/devrites-lib/reference/standards/glossary.md +40 -0
  694. package/pack/generated/omp/skills/devrites-lib/reference/standards/hooks.md +16 -0
  695. package/pack/generated/omp/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  696. package/pack/generated/omp/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  697. package/pack/generated/omp/skills/devrites-lib/reference/standards/observability.md +2 -0
  698. package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  699. package/pack/generated/omp/skills/devrites-lib/reference/standards/patterns.md +2 -0
  700. package/pack/generated/omp/skills/devrites-lib/reference/standards/performance.md +8 -1
  701. package/pack/generated/omp/skills/devrites-lib/reference/standards/principles.md +14 -0
  702. package/pack/generated/omp/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  703. package/pack/generated/omp/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  704. package/pack/generated/omp/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  705. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/README.md +23 -0
  706. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  707. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/default.md +42 -0
  708. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/go.md +47 -0
  709. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/python.md +46 -0
  710. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  711. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  712. package/pack/generated/omp/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  713. package/pack/generated/omp/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  714. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +58 -6
  715. package/pack/generated/omp/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  716. package/pack/generated/omp/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  717. package/pack/generated/omp/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  718. package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +19 -2
  719. package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +12 -0
  720. package/pack/generated/omp/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  721. package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +51 -0
  722. package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  723. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  724. package/pack/generated/omp/skills/devrites-prose-craft/SKILL.md +3 -1
  725. package/pack/generated/omp/skills/devrites-source-driven/SKILL.md +2 -0
  726. package/pack/generated/omp/skills/devrites-ux-shape/SKILL.md +2 -0
  727. package/pack/generated/omp/skills/rite/SKILL.md +2 -0
  728. package/pack/generated/omp/skills/rite-adopt/SKILL.md +2 -0
  729. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +6 -1
  730. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +7 -1
  731. package/pack/generated/omp/skills/rite-build/SKILL.md +28 -14
  732. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +6 -0
  733. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +11 -2
  734. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -4
  735. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +34 -8
  736. package/pack/generated/omp/skills/rite-clarify/SKILL.md +4 -0
  737. package/pack/generated/omp/skills/rite-converge/SKILL.md +14 -2
  738. package/pack/generated/omp/skills/rite-customize/SKILL.md +2 -0
  739. package/pack/generated/omp/skills/rite-define/SKILL.md +8 -2
  740. package/pack/generated/omp/skills/rite-doctor/SKILL.md +6 -1
  741. package/pack/generated/omp/skills/rite-dogfood/SKILL.md +2 -0
  742. package/pack/generated/omp/skills/rite-explain/SKILL.md +2 -0
  743. package/pack/generated/omp/skills/rite-frame/SKILL.md +4 -0
  744. package/pack/generated/omp/skills/rite-handoff/SKILL.md +8 -1
  745. package/pack/generated/omp/skills/rite-learn/SKILL.md +2 -0
  746. package/pack/generated/omp/skills/rite-plan/SKILL.md +6 -0
  747. package/pack/generated/omp/skills/rite-plan/reference/task-breakdown.md +3 -1
  748. package/pack/generated/omp/skills/rite-polish/SKILL.md +13 -2
  749. package/pack/generated/omp/skills/rite-polish/reference/code.md +6 -1
  750. package/pack/generated/omp/skills/rite-polish/reference/ledger.md +3 -1
  751. package/pack/generated/omp/skills/rite-pov/SKILL.md +2 -0
  752. package/pack/generated/omp/skills/rite-pr-feedback/SKILL.md +2 -0
  753. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +2 -0
  754. package/pack/generated/omp/skills/rite-prototype/SKILL.md +2 -0
  755. package/pack/generated/omp/skills/rite-prove/SKILL.md +17 -3
  756. package/pack/generated/omp/skills/rite-prove/reference/test-command-discovery.md +6 -0
  757. package/pack/generated/omp/skills/rite-quick/SKILL.md +7 -1
  758. package/pack/generated/omp/skills/rite-resolve/SKILL.md +2 -0
  759. package/pack/generated/omp/skills/rite-review/SKILL.md +5 -1
  760. package/pack/generated/omp/skills/rite-review/reference/performance-checklist.md +14 -3
  761. package/pack/generated/omp/skills/rite-seal/SKILL.md +27 -3
  762. package/pack/generated/omp/skills/rite-seal/reference/go-no-go.md +1 -0
  763. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +3 -1
  764. package/pack/generated/omp/skills/rite-ship/SKILL.md +5 -1
  765. package/pack/generated/omp/skills/rite-spec/SKILL.md +10 -3
  766. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
  767. package/pack/generated/omp/skills/rite-status/SKILL.md +9 -0
  768. package/pack/generated/omp/skills/rite-temper/SKILL.md +5 -1
  769. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +9 -1
  770. package/pack/generated/omp/skills/rite-vet/SKILL.md +28 -6
  771. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +19 -0
  772. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +5 -0
  773. package/pack/generated/omp/skills/rite-watch-pr/SKILL.md +2 -0
  774. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +2 -0
  775. package/pack/generated/pi/agents/devrites-code-reviewer.md +16 -0
  776. package/pack/generated/pi/agents/devrites-security-auditor.md +22 -0
  777. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +12 -2
  778. package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +2 -0
  779. package/pack/generated/pi/skills/devrites-audit/SKILL.md +9 -0
  780. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +2 -0
  781. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +2 -0
  782. package/pack/generated/pi/skills/devrites-doubt/SKILL.md +2 -0
  783. package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +2 -0
  784. package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  785. package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +5 -0
  786. package/pack/generated/pi/skills/devrites-interview/SKILL.md +5 -0
  787. package/pack/generated/pi/skills/devrites-lib/SKILL.md +40 -5
  788. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  789. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  790. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  791. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +24 -1
  792. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +10 -0
  793. package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  794. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  795. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +21 -1
  796. package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  797. package/pack/generated/pi/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  798. package/pack/generated/pi/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  799. package/pack/generated/pi/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  800. package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  801. package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  802. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  803. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +67 -7
  804. package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  805. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  806. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +10 -1
  807. package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  808. package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  809. package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  810. package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  811. package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  812. package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  813. package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +12 -0
  814. package/pack/generated/pi/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  815. package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  816. package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  817. package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  818. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +117 -0
  819. package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  820. package/pack/generated/pi/skills/devrites-lib/reference/standards/glossary.md +40 -0
  821. package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +16 -0
  822. package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  823. package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  824. package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +2 -0
  825. package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  826. package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +2 -0
  827. package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +8 -1
  828. package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +14 -0
  829. package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  830. package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  831. package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  832. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/README.md +23 -0
  833. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  834. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/default.md +42 -0
  835. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/go.md +47 -0
  836. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/python.md +46 -0
  837. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  838. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  839. package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  840. package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  841. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +58 -6
  842. package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  843. package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  844. package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  845. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +19 -2
  846. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +12 -0
  847. package/pack/generated/pi/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  848. package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +51 -0
  849. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  850. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  851. package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +3 -1
  852. package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +2 -0
  853. package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +2 -0
  854. package/pack/generated/pi/skills/rite/SKILL.md +2 -0
  855. package/pack/generated/pi/skills/rite-adopt/SKILL.md +2 -0
  856. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +6 -1
  857. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +7 -1
  858. package/pack/generated/pi/skills/rite-build/SKILL.md +28 -14
  859. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +6 -0
  860. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +11 -2
  861. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -4
  862. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +34 -8
  863. package/pack/generated/pi/skills/rite-clarify/SKILL.md +4 -0
  864. package/pack/generated/pi/skills/rite-converge/SKILL.md +14 -2
  865. package/pack/generated/pi/skills/rite-customize/SKILL.md +2 -0
  866. package/pack/generated/pi/skills/rite-define/SKILL.md +8 -2
  867. package/pack/generated/pi/skills/rite-doctor/SKILL.md +6 -1
  868. package/pack/generated/pi/skills/rite-dogfood/SKILL.md +2 -0
  869. package/pack/generated/pi/skills/rite-explain/SKILL.md +2 -0
  870. package/pack/generated/pi/skills/rite-frame/SKILL.md +4 -0
  871. package/pack/generated/pi/skills/rite-handoff/SKILL.md +8 -1
  872. package/pack/generated/pi/skills/rite-learn/SKILL.md +2 -0
  873. package/pack/generated/pi/skills/rite-plan/SKILL.md +6 -0
  874. package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +3 -1
  875. package/pack/generated/pi/skills/rite-polish/SKILL.md +13 -2
  876. package/pack/generated/pi/skills/rite-polish/reference/code.md +6 -1
  877. package/pack/generated/pi/skills/rite-polish/reference/ledger.md +3 -1
  878. package/pack/generated/pi/skills/rite-pov/SKILL.md +2 -0
  879. package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +2 -0
  880. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +2 -0
  881. package/pack/generated/pi/skills/rite-prototype/SKILL.md +2 -0
  882. package/pack/generated/pi/skills/rite-prove/SKILL.md +17 -3
  883. package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +6 -0
  884. package/pack/generated/pi/skills/rite-quick/SKILL.md +7 -1
  885. package/pack/generated/pi/skills/rite-resolve/SKILL.md +2 -0
  886. package/pack/generated/pi/skills/rite-review/SKILL.md +5 -1
  887. package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +14 -3
  888. package/pack/generated/pi/skills/rite-seal/SKILL.md +27 -3
  889. package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +1 -0
  890. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +3 -1
  891. package/pack/generated/pi/skills/rite-ship/SKILL.md +5 -1
  892. package/pack/generated/pi/skills/rite-spec/SKILL.md +10 -3
  893. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
  894. package/pack/generated/pi/skills/rite-status/SKILL.md +9 -0
  895. package/pack/generated/pi/skills/rite-temper/SKILL.md +5 -1
  896. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +9 -1
  897. package/pack/generated/pi/skills/rite-vet/SKILL.md +28 -6
  898. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +19 -0
  899. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +5 -0
  900. package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +2 -0
  901. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +2 -0
  902. package/package.json +1 -1
  903. package/scripts/build-host-artifacts.sh +48 -2
@@ -0,0 +1,155 @@
1
+ package lib
2
+
3
+ import (
4
+ "fmt"
5
+ "io"
6
+ "os"
7
+ "path/filepath"
8
+ "regexp"
9
+ "strings"
10
+
11
+ "github.com/devrites/devrites/internal/devritespaths"
12
+ "github.com/devrites/devrites/internal/state"
13
+ "github.com/devrites/devrites/internal/workflow"
14
+ )
15
+
16
+ // RunNext prints the minimal remaining lifecycle path: the first phase whose
17
+ // required artifacts are not all present, plus advisory skips for phases whose
18
+ // remaining work is vacuous (e.g. clarify with zero open questions). Advisory
19
+ // only — the rite still owns the decision to advance.
20
+ func RunNext(root string, args []string, stdout, stderr io.Writer) int {
21
+ slug, code, err := ActiveSlug(root, args)
22
+ if err != nil {
23
+ fmt.Fprintf(stderr, "next: %v\n", err)
24
+ if code == 0 {
25
+ code = 2
26
+ }
27
+ return code
28
+ }
29
+ featureDir, err := devritespaths.ExistingFeatureDirChecked(root, slug)
30
+ if err != nil {
31
+ fmt.Fprintf(stderr, "next: %v\n", err)
32
+ return 2
33
+ }
34
+ report, err := state.Status(root, slug)
35
+ if err != nil {
36
+ fmt.Fprintf(stderr, "next: %v\n", err)
37
+ return 2
38
+ }
39
+ openQuestions := countOpenQuestions(filepath.Join(featureDir, "questions.md"))
40
+
41
+ policies := state.PhasePolicies()
42
+ currentIdx := -1
43
+ for i, policy := range policies {
44
+ if policy.Target == report.Phase {
45
+ currentIdx = i
46
+ break
47
+ }
48
+ }
49
+ if currentIdx < 0 {
50
+ fmt.Fprintf(stderr, "next: unknown phase %q in state.md\n", report.Phase)
51
+ return 2
52
+ }
53
+
54
+ fmt.Fprintf(stdout, "current: %s\n", report.Phase)
55
+ if report.Complete() {
56
+ fmt.Fprintln(stdout, "current-status: complete")
57
+ } else {
58
+ fmt.Fprintln(stdout, "current-status: incomplete")
59
+ }
60
+ fmt.Fprintf(stdout, "open-questions: %d\n", openQuestions)
61
+
62
+ if report.Phase == state.PhaseDone {
63
+ fmt.Fprintln(stdout, "next-phase: done")
64
+ return 0
65
+ }
66
+
67
+ // Walk from the current phase to the first incomplete one. Vacuous phases
68
+ // are reported as advisory skips, not silently dropped.
69
+ var skips []string
70
+ for i := currentIdx; i < len(policies); i++ {
71
+ policy := policies[i]
72
+ if policy.Target == state.PhaseDone {
73
+ fmt.Fprintln(stdout, "next-phase: done")
74
+ printSkips(stdout, skips)
75
+ return 0
76
+ }
77
+ var missing []string
78
+ if i == currentIdx {
79
+ if report.Complete() {
80
+ continue
81
+ }
82
+ missing = report.MissingFiles
83
+ } else {
84
+ if policy.Target == state.PhaseClarify && openQuestions == 0 {
85
+ skips = append(skips, "clarify (0 open questions)")
86
+ continue
87
+ }
88
+ missing = missingArtifacts(featureDir, policy.RequiredArtifacts)
89
+ if len(missing) == 0 {
90
+ skips = append(skips, fmt.Sprintf("%s (artifacts complete)", policy.Target))
91
+ continue
92
+ }
93
+ }
94
+ fmt.Fprintf(stdout, "next-phase: %s\n", policy.Target)
95
+ fmt.Fprintf(stdout, "next-command: %s\n", renderNextCommand(policy))
96
+ if policy.BlocksOpenQuestions && openQuestions > 0 && policy.Target != state.PhaseClarify {
97
+ fmt.Fprintf(stdout, "blocked: %d open question(s) gate this phase\n", openQuestions)
98
+ }
99
+ if len(missing) > 0 {
100
+ fmt.Fprintf(stdout, "missing: %s\n", strings.Join(missing, ","))
101
+ }
102
+ printSkips(stdout, skips)
103
+ return 0
104
+ }
105
+ fmt.Fprintln(stdout, "next-phase: done")
106
+ printSkips(stdout, skips)
107
+ return 0
108
+ }
109
+
110
+ func renderNextCommand(policy state.PhasePolicy) string {
111
+ verb := policy.ResumeVerb
112
+ if verb == "" {
113
+ return "(no resume command)"
114
+ }
115
+ return workflow.ForVerb(verb).Claude
116
+ }
117
+
118
+ func printSkips(stdout io.Writer, skips []string) {
119
+ for _, skip := range skips {
120
+ fmt.Fprintf(stdout, "skip: %s\n", skip)
121
+ }
122
+ }
123
+
124
+ func missingArtifacts(featureDir string, required []state.ArtifactPath) []string {
125
+ var missing []string
126
+ for _, artifact := range required {
127
+ path := filepath.Join(featureDir, filepath.FromSlash(string(artifact)))
128
+ info, err := os.Stat(path)
129
+ if err != nil || info.Size() == 0 {
130
+ missing = append(missing, string(artifact))
131
+ }
132
+ }
133
+ return missing
134
+ }
135
+
136
+ var (
137
+ openStatusLine = regexp.MustCompile(`(?i)^\s*status:\s*open\s*$`)
138
+ openTableCell = regexp.MustCompile(`(?i)\|\s*open\s*\|`)
139
+ )
140
+
141
+ // countOpenQuestions tolerates both the block form ("status: open") and the
142
+ // register table form ("| Q-001 | open | ... |").
143
+ func countOpenQuestions(path string) int {
144
+ data, err := os.ReadFile(path) // #nosec G304 -- path is a validated workspace artifact
145
+ if err != nil {
146
+ return 0
147
+ }
148
+ count := 0
149
+ for _, line := range strings.Split(string(data), "\n") {
150
+ if openStatusLine.MatchString(line) || openTableCell.MatchString(line) {
151
+ count++
152
+ }
153
+ }
154
+ return count
155
+ }
@@ -88,7 +88,7 @@ func TestRunObserveSlicePrintsOneSection(t *testing.T) {
88
88
  func TestObserveSummaryReportsBudgetsAndBulkFiles(t *testing.T) {
89
89
  longLine := strings.Repeat("x", 60_000) + "\n"
90
90
  root, _ := writeBudgetWorkspace(t, map[string]string{
91
- "state.md": "| phase | build |\n| schema | 3 |\n" + longLine,
91
+ "state.md": "| phase | build |\n| schema | 4 |\n" + longLine,
92
92
  "tasks.md": budgetTasks,
93
93
  "vet-review-input-1.json": strings.Repeat("{}", 40_000),
94
94
  "small-note.json": "{}",
@@ -119,7 +119,7 @@ func TestObserveSummaryReportsBudgetsAndBulkFiles(t *testing.T) {
119
119
 
120
120
  func TestObserveSummaryReportsSequenceCursor(t *testing.T) {
121
121
  root, _ := writeBudgetWorkspace(t, map[string]string{
122
- "state.md": "| phase | build |\n| schema | 3 |\n| sequence_parent | feat-1 |\n| sequence_position | 2 |\n| sequence_workspaces_remaining | 3 |\n",
122
+ "state.md": "| phase | build |\n| schema | 4 |\n| sequence_parent | feat-1 |\n| sequence_position | 2 |\n| sequence_workspaces_remaining | 3 |\n",
123
123
  })
124
124
  summary, err := ObserveSummaryFor(root, "feature")
125
125
  if err != nil {
@@ -130,7 +130,7 @@ func TestObserveSummaryReportsSequenceCursor(t *testing.T) {
130
130
  t.Fatalf("sequence=%+v", seq)
131
131
  }
132
132
  root, _ = writeBudgetWorkspace(t, map[string]string{
133
- "state.md": "| phase | build |\n| schema | 3 |\n",
133
+ "state.md": "| phase | build |\n| schema | 4 |\n",
134
134
  })
135
135
  summary, err = ObserveSummaryFor(root, "feature")
136
136
  if err != nil {
@@ -0,0 +1,378 @@
1
+ package lib
2
+
3
+ import (
4
+ "encoding/json"
5
+ "fmt"
6
+ "io"
7
+ "os"
8
+ "path/filepath"
9
+ "regexp"
10
+ "sort"
11
+ "strings"
12
+ "time"
13
+
14
+ "github.com/devrites/devrites/internal/acceptance"
15
+ "github.com/devrites/devrites/internal/devritespaths"
16
+ "github.com/devrites/devrites/internal/markdowntext"
17
+ "github.com/devrites/devrites/internal/state"
18
+ )
19
+
20
+ // regression.go: progress-monotonicity check. A workspace that once recorded a
21
+ // fact — a built slice, a checked acceptance criterion, a met or abandoned
22
+ // gate, a resolved question, a present artifact, a later phase — must not
23
+ // quietly lose it. Sessions overlap, contexts compact, tools rewrite files;
24
+ // the regression baseline is the durable high-water mark each durable
25
+ // checkpoint ratchets forward and each review/seal compares against.
26
+ //
27
+ // devrites-engine check regression <slug> compare vs baseline
28
+ // devrites-engine check regression <slug> --update ratchet baseline to now
29
+ //
30
+ // 0 clean / no baseline yet
31
+ // 2 usage error or workspace unreadable
32
+ // 3 blocked: regressions listed
33
+
34
+ const regressionBaselineFile = "regression-baseline.json"
35
+
36
+ // doneSliceStates are the tasks.md slice Status values that count as closed.
37
+ var doneSliceStates = map[string]bool{
38
+ "built": true,
39
+ "proven": true,
40
+ "sealed": true,
41
+ "done": true,
42
+ "complete": true,
43
+ "completed": true,
44
+ }
45
+
46
+ var (
47
+ regressACRe = regexp.MustCompile(`(?im)^[ \t]*- \[([xX ])\] (AC-\d+)`)
48
+ regressSliceRe = regexp.MustCompile(`(?m)^## (SLICE-\d+)\b[^\n]*`)
49
+ regressStatusRe = regexp.MustCompile(`(?im)^Status:[ \t]*([^\s]+)`)
50
+ regressQHeaderRe = regexp.MustCompile(`(?im)^## (q-\d{4}-\d{2}-\d{2}-\d+)\b`)
51
+ regressQStatusRe = regexp.MustCompile(`(?im)^status:[ \t]*([^\s]+)`)
52
+ regressH2Re = regexp.MustCompile(`(?m)^## `)
53
+ )
54
+
55
+ // progressFingerprint is the structural state one baseline records. Sets are
56
+ // sorted for deterministic output and diffing.
57
+ type progressFingerprint struct {
58
+ Phase string `json:"phase,omitempty"`
59
+ PhaseOrdinal int `json:"phase_ordinal"`
60
+ CheckedAC []string `json:"checked_ac,omitempty"`
61
+ MetGates []string `json:"met_gates,omitempty"`
62
+ AbandonedGates []string `json:"abandoned_gates,omitempty"`
63
+ DoneSlices []string `json:"done_slices,omitempty"`
64
+ ResolvedQuestions []string `json:"resolved_questions,omitempty"`
65
+ PresentArtifacts []string `json:"present_artifacts,omitempty"`
66
+ }
67
+
68
+ // regressionBaseline is the durable high-water mark for one workspace.
69
+ type regressionBaseline struct {
70
+ Version int `json:"version"`
71
+ UpdatedAt string `json:"updated_at"`
72
+ progressFingerprint
73
+ }
74
+
75
+ // RunCheckRegression compares the workspace against its recorded progress
76
+ // baseline, or ratchets that baseline forward with --update.
77
+ func RunCheckRegression(root string, args []string, stdout, stderr io.Writer) int {
78
+ if len(args) < 1 || len(args) > 2 {
79
+ fmt.Fprintln(stderr, regressionUsage)
80
+ return 2
81
+ }
82
+ slug := args[0]
83
+ update := false
84
+ if len(args) == 2 {
85
+ if args[1] != "--update" {
86
+ fmt.Fprintln(stderr, regressionUsage)
87
+ return 2
88
+ }
89
+ update = true
90
+ }
91
+ workspace, err := devritespaths.ExistingFeatureDirChecked(root, slug)
92
+ if err != nil {
93
+ fmt.Fprintf(stderr, "check regression: %v\n", err)
94
+ return 2
95
+ }
96
+ current, err := fingerprintWorkspace(root, slug, workspace)
97
+ if err != nil {
98
+ fmt.Fprintf(stderr, "check regression: %v\n", err)
99
+ return 2
100
+ }
101
+ baselinePath := filepath.Join(workspace, regressionBaselineFile)
102
+ baseline, hasBaseline, err := readRegressionBaseline(baselinePath)
103
+ if err != nil {
104
+ fmt.Fprintf(stdout, "REGRESSION: baseline %s unreadable: %v\ncheck regression: BLOCKED\n", regressionBaselineFile, err)
105
+ return 3
106
+ }
107
+ if !update {
108
+ if !hasBaseline {
109
+ fmt.Fprintf(stdout, "check regression: unproven — no baseline recorded; run `devrites-engine check regression %s --update` at the next durable checkpoint\n", slug)
110
+ return 0
111
+ }
112
+ regressions := compareProgress(baseline.progressFingerprint, current)
113
+ if len(regressions) == 0 {
114
+ fmt.Fprintf(stdout, "check regression: PASS (baseline %s; %s)\n", baseline.UpdatedAt, fingerprintSummary(current))
115
+ return 0
116
+ }
117
+ for _, line := range regressions {
118
+ fmt.Fprintf(stdout, "REGRESSION: %s\n", line)
119
+ }
120
+ fmt.Fprintf(stdout, "check regression: BLOCKED: %d regression(s) vs baseline %s\n", len(regressions), baseline.UpdatedAt)
121
+ return 3
122
+ }
123
+ return updateRegressionBaseline(root, slug, baselinePath, baseline, hasBaseline, current, stdout, stderr)
124
+ }
125
+
126
+ // fingerprintWorkspace computes the current structural progress facts.
127
+ func fingerprintWorkspace(root, slug, workspace string) (progressFingerprint, error) {
128
+ fp := progressFingerprint{PhaseOrdinal: -1}
129
+
130
+ if report, err := state.Status(root, slug); err == nil && report != nil {
131
+ fp.Phase = string(report.Phase)
132
+ for i, policy := range state.PhasePolicies() {
133
+ if policy.Target == report.Phase {
134
+ fp.PhaseOrdinal = i
135
+ break
136
+ }
137
+ }
138
+ }
139
+
140
+ if masked, err := maskedArtifact(workspace, "spec.md"); err == nil {
141
+ for _, m := range regressACRe.FindAllStringSubmatch(masked, -1) {
142
+ if strings.EqualFold(m[1], "x") {
143
+ fp.CheckedAC = append(fp.CheckedAC, m[2])
144
+ }
145
+ }
146
+ }
147
+
148
+ if raw, err := os.ReadFile(filepath.Join(workspace, "tasks.md")); err == nil { // #nosec G304 -- workspace artifact
149
+ if masked, maskErr := markdowntext.Structural(raw); maskErr == nil {
150
+ fp.DoneSlices = doneSlices(string(masked))
151
+ }
152
+ }
153
+
154
+ if raw, err := os.ReadFile(filepath.Join(workspace, acceptance.GatesFile)); err == nil { // #nosec G304 -- workspace artifact
155
+ doc := acceptance.ParseLedger(string(raw))
156
+ for _, g := range doc.Gates {
157
+ if g.Checked {
158
+ fp.MetGates = append(fp.MetGates, g.ID)
159
+ }
160
+ }
161
+ for id := range doc.Abandoned {
162
+ fp.AbandonedGates = append(fp.AbandonedGates, id)
163
+ }
164
+ }
165
+
166
+ if masked, err := maskedArtifact(workspace, "questions.md"); err == nil {
167
+ fp.ResolvedQuestions = resolvedQuestions(masked)
168
+ }
169
+
170
+ fp.PresentArtifacts = presentArtifacts(workspace)
171
+ sortSets(&fp)
172
+ return fp, nil
173
+ }
174
+
175
+ // maskedArtifact returns the artifact text with fenced code blocks masked out,
176
+ // so fenced examples never count as real checkboxes, statuses, or question rows.
177
+ func maskedArtifact(workspace, name string) (string, error) {
178
+ raw, err := os.ReadFile(filepath.Join(workspace, name)) // #nosec G304 -- workspace artifact
179
+ if err != nil {
180
+ return "", err
181
+ }
182
+ masked, err := markdowntext.Structural(raw)
183
+ if err != nil {
184
+ return "", err
185
+ }
186
+ return string(masked), nil
187
+ }
188
+
189
+ // doneSlices returns SLICE ids whose block carries a done-state Status line.
190
+ func doneSlices(masked string) []string {
191
+ var done []string
192
+ headers := regressSliceRe.FindAllStringSubmatchIndex(masked, -1)
193
+ for i, m := range headers {
194
+ end := len(masked)
195
+ if i+1 < len(headers) {
196
+ end = headers[i+1][0]
197
+ }
198
+ block := masked[m[0]:end]
199
+ if sm := regressStatusRe.FindStringSubmatch(block); sm != nil &&
200
+ doneSliceStates[strings.ToLower(sm[1])] {
201
+ done = append(done, masked[m[2]:m[3]])
202
+ }
203
+ }
204
+ return done
205
+ }
206
+
207
+ // resolvedQuestions returns question ids whose block status is anything but open.
208
+ func resolvedQuestions(masked string) []string {
209
+ var resolved []string
210
+ headers := regressQHeaderRe.FindAllStringSubmatchIndex(masked, -1)
211
+ for i, m := range headers {
212
+ end := len(masked)
213
+ if next := regressH2Re.FindStringIndex(masked[m[1]:]); next != nil {
214
+ end = m[1] + next[0]
215
+ }
216
+ if i+1 < len(headers) && headers[i+1][0] < end {
217
+ end = headers[i+1][0]
218
+ }
219
+ block := masked[m[0]:end]
220
+ if sm := regressQStatusRe.FindStringSubmatch(block); sm != nil &&
221
+ !strings.EqualFold(sm[1], "open") {
222
+ resolved = append(resolved, masked[m[2]:m[3]])
223
+ }
224
+ }
225
+ return resolved
226
+ }
227
+
228
+ // presentArtifacts lists the canonical workspace artifacts that exist and are
229
+ // non-empty, derived from every phase policy's required set so the check tracks
230
+ // the schema instead of duplicating it.
231
+ func presentArtifacts(workspace string) []string {
232
+ seen := map[string]bool{}
233
+ var names []string
234
+ for _, policy := range state.PhasePolicies() {
235
+ for _, artifact := range policy.RequiredArtifacts {
236
+ name := string(artifact)
237
+ if seen[name] {
238
+ continue
239
+ }
240
+ seen[name] = true
241
+ info, err := os.Stat(filepath.Join(workspace, name))
242
+ if err != nil || info.IsDir() || info.Size() == 0 {
243
+ continue
244
+ }
245
+ names = append(names, name)
246
+ }
247
+ }
248
+ return names
249
+ }
250
+
251
+ // compareProgress lists every baseline fact the current fingerprint lost.
252
+ func compareProgress(base, current progressFingerprint) []string {
253
+ var out []string
254
+ curAC := toSet(current.CheckedAC)
255
+ for _, id := range base.CheckedAC {
256
+ if !curAC[id] {
257
+ out = append(out, fmt.Sprintf("acceptance criterion %s was checked, now unchecked or removed", id))
258
+ }
259
+ }
260
+ curMet := toSet(current.MetGates)
261
+ for _, id := range base.MetGates {
262
+ if !curMet[id] {
263
+ out = append(out, fmt.Sprintf("gate %s was met, now unmet or removed", id))
264
+ }
265
+ }
266
+ curAbandoned := toSet(current.AbandonedGates)
267
+ for _, id := range base.AbandonedGates {
268
+ if !curAbandoned[id] && !curMet[id] {
269
+ out = append(out, fmt.Sprintf("abandoned gate %s disappeared (its handoff record is gone)", id))
270
+ }
271
+ }
272
+ curSlices := toSet(current.DoneSlices)
273
+ for _, id := range base.DoneSlices {
274
+ if !curSlices[id] {
275
+ out = append(out, fmt.Sprintf("slice %s was in a done state, now reopened or removed", id))
276
+ }
277
+ }
278
+ curResolved := toSet(current.ResolvedQuestions)
279
+ for _, id := range base.ResolvedQuestions {
280
+ if !curResolved[id] {
281
+ out = append(out, fmt.Sprintf("question %s was resolved, now open or removed", id))
282
+ }
283
+ }
284
+ curArtifacts := toSet(current.PresentArtifacts)
285
+ for _, name := range base.PresentArtifacts {
286
+ if !curArtifacts[name] {
287
+ out = append(out, fmt.Sprintf("artifact %s was present and non-empty, now missing or empty", name))
288
+ }
289
+ }
290
+ if base.PhaseOrdinal >= 0 && current.PhaseOrdinal >= 0 && current.PhaseOrdinal < base.PhaseOrdinal {
291
+ out = append(out, fmt.Sprintf("phase moved backward: %s -> %s", base.Phase, current.Phase))
292
+ }
293
+ sort.Strings(out)
294
+ return out
295
+ }
296
+
297
+ // updateRegressionBaseline replaces the baseline with the current fingerprint.
298
+ // Regressions being blessed are printed, never hidden — a ratchet is the
299
+ // recorded acknowledgment that the current state is the new floor.
300
+ func updateRegressionBaseline(root, slug, baselinePath string, base regressionBaseline, hasBaseline bool, current progressFingerprint, stdout, stderr io.Writer) int {
301
+ var blessed []string
302
+ if hasBaseline {
303
+ blessed = compareProgress(base.progressFingerprint, current)
304
+ }
305
+ // Keep the phase high-water mark: a baseline never forgets the furthest phase.
306
+ if hasBaseline && base.PhaseOrdinal > current.PhaseOrdinal {
307
+ current.PhaseOrdinal = base.PhaseOrdinal
308
+ current.Phase = base.Phase
309
+ }
310
+ next := regressionBaseline{
311
+ Version: 1,
312
+ UpdatedAt: time.Now().UTC().Format(time.RFC3339),
313
+ progressFingerprint: current,
314
+ }
315
+ payload, err := json.MarshalIndent(next, "", " ")
316
+ if err != nil {
317
+ fmt.Fprintf(stderr, "check regression: marshal baseline: %v\n", err)
318
+ return 2
319
+ }
320
+ writeErr := state.WithFeatureLock(root, slug, func() error {
321
+ return state.AtomicWrite(baselinePath, append(payload, '\n'), 0o644)
322
+ })
323
+ if writeErr != nil {
324
+ fmt.Fprintf(stderr, "check regression: write baseline: %v\n", writeErr)
325
+ return 2
326
+ }
327
+ for _, line := range blessed {
328
+ fmt.Fprintf(stdout, "REGRESSION-BLESSED: %s\n", line)
329
+ }
330
+ fmt.Fprintf(stdout, "check regression: baseline updated (%s; %s)\n", next.UpdatedAt, fingerprintSummary(current))
331
+ recordMetric(root, slug, current.Phase, "regression-baseline", "", 0)
332
+ return 0
333
+ }
334
+
335
+ // readRegressionBaseline loads the baseline file; hasBaseline is false when it
336
+ // does not exist.
337
+ func readRegressionBaseline(path string) (regressionBaseline, bool, error) {
338
+ raw, err := os.ReadFile(path) // #nosec G304 -- workspace artifact
339
+ if err != nil {
340
+ if os.IsNotExist(err) {
341
+ return regressionBaseline{}, false, nil
342
+ }
343
+ return regressionBaseline{}, false, err
344
+ }
345
+ var baseline regressionBaseline
346
+ if err := json.Unmarshal(raw, &baseline); err != nil {
347
+ return regressionBaseline{}, false, fmt.Errorf("corrupt baseline: %w", err)
348
+ }
349
+ if baseline.Version != 1 {
350
+ return regressionBaseline{}, false, fmt.Errorf("unsupported baseline version %d", baseline.Version)
351
+ }
352
+ sortSets(&baseline.progressFingerprint)
353
+ return baseline, true, nil
354
+ }
355
+
356
+ func fingerprintSummary(fp progressFingerprint) string {
357
+ return fmt.Sprintf("phase=%s ac=%d gates-met=%d slices-done=%d questions-resolved=%d artifacts=%d",
358
+ orDash(fp.Phase), len(fp.CheckedAC), len(fp.MetGates), len(fp.DoneSlices), len(fp.ResolvedQuestions), len(fp.PresentArtifacts))
359
+ }
360
+
361
+ func toSet(items []string) map[string]bool {
362
+ set := make(map[string]bool, len(items))
363
+ for _, item := range items {
364
+ set[item] = true
365
+ }
366
+ return set
367
+ }
368
+
369
+ func sortSets(fp *progressFingerprint) {
370
+ sort.Strings(fp.CheckedAC)
371
+ sort.Strings(fp.MetGates)
372
+ sort.Strings(fp.AbandonedGates)
373
+ sort.Strings(fp.DoneSlices)
374
+ sort.Strings(fp.ResolvedQuestions)
375
+ sort.Strings(fp.PresentArtifacts)
376
+ }
377
+
378
+ const regressionUsage = "usage: devrites-engine check regression <slug> [--update]"