devrites 5.13.1 → 5.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +333 -335
  3. package/bin/devrites.mjs +1 -1
  4. package/docs/adr/0031-overhaul-agents-keep-every-tool.md +52 -0
  5. package/docs/adr/0032-single-lint-gate-and-cached-pr-tests.md +60 -0
  6. package/docs/adr/0033-rite-fast-own-agents.md +45 -0
  7. package/docs/adr/README.md +5 -2
  8. package/docs/architecture.md +7 -4
  9. package/docs/command-map.md +3 -2
  10. package/docs/engine/commands.md +11 -1
  11. package/docs/flow.md +3 -2
  12. package/docs/orchestration.md +6 -1
  13. package/docs/quick-reference.md +2 -1
  14. package/docs/skills.md +16 -8
  15. package/docs/usage.md +2 -2
  16. package/engine/.golangci.yml +56 -4
  17. package/engine/AGENTS.md +3 -3
  18. package/engine/Makefile +7 -23
  19. package/engine/go.mod +1 -1
  20. package/engine/internal/devritespaths/paths.go +2 -0
  21. package/engine/internal/hostpack/hostpack.go +6 -1
  22. package/engine/internal/hostpack/hostpack_test.go +2 -0
  23. package/engine/internal/install/apply.go +5 -3
  24. package/engine/internal/install/binary.go +3 -1
  25. package/engine/internal/install/install.go +0 -25
  26. package/engine/internal/install/install_test.go +1 -0
  27. package/engine/internal/lib/claims.go +15 -0
  28. package/engine/internal/lib/claims_test.go +28 -0
  29. package/engine/internal/lib/context_next_test.go +53 -0
  30. package/engine/internal/lib/dispatch.go +28 -7
  31. package/engine/internal/lib/manifest_union.go +14 -0
  32. package/engine/internal/overhaul/admit/admit_test.go +34 -0
  33. package/engine/internal/overhaul/admit/run.go +22 -1
  34. package/engine/internal/overhaul/bench/run.go +327 -38
  35. package/engine/internal/overhaul/bench/run_test.go +131 -0
  36. package/engine/internal/overhaul/bench/stats.go +154 -0
  37. package/engine/internal/overhaul/overhaul.go +1 -0
  38. package/engine/internal/overhaul/ovio/ovio.go +4 -0
  39. package/engine/internal/overhaul/records/check.go +27 -0
  40. package/engine/internal/overhaul/records/consistency.go +217 -0
  41. package/engine/internal/overhaul/records/init.go +132 -0
  42. package/engine/internal/overhaul/records/init_test.go +96 -0
  43. package/engine/internal/overhaul/records/records_test.go +116 -1
  44. package/engine/internal/overhaul/records/run.go +9 -1
  45. package/engine/internal/overhaul/render/run.go +520 -60
  46. package/engine/internal/overhaul/render/run_test.go +181 -8
  47. package/engine/internal/overhaul/render/visual.go +617 -0
  48. package/engine/internal/overhaul/score/run.go +58 -9
  49. package/engine/internal/overhaul/score/run_test.go +84 -8
  50. package/engine/internal/overhaul/snapshot/run.go +52 -5
  51. package/engine/internal/overhaul/snapshot/run_test.go +24 -2
  52. package/engine/internal/parallel/ops.go +5 -0
  53. package/engine/internal/state/write.go +8 -2
  54. package/engine/internal/version/version_test.go +27 -0
  55. package/engine/main.go +2 -2
  56. package/pack/.claude/agents/_shared/composition-overhaul.md +1 -0
  57. package/pack/.claude/agents/_shared/result-admission.md +3 -1
  58. package/pack/.claude/agents/devrites-code-reviewer.md +17 -7
  59. package/pack/.claude/agents/devrites-devex-reviewer.md +5 -5
  60. package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -3
  61. package/pack/.claude/agents/devrites-evidence-scout.md +10 -0
  62. package/pack/.claude/agents/devrites-frontend-reviewer.md +34 -20
  63. package/pack/.claude/agents/devrites-performance-reviewer.md +29 -11
  64. package/pack/.claude/agents/devrites-plan-reviewer.md +8 -5
  65. package/pack/.claude/agents/devrites-proof-runner.md +20 -4
  66. package/pack/.claude/agents/devrites-retrospector.md +18 -3
  67. package/pack/.claude/agents/devrites-security-auditor.md +32 -26
  68. package/pack/.claude/agents/devrites-simplifier-reviewer.md +4 -4
  69. package/pack/.claude/agents/devrites-spec-reviewer.md +4 -2
  70. package/pack/.claude/agents/devrites-strategy-reviewer.md +11 -8
  71. package/pack/.claude/agents/devrites-test-analyst.md +8 -5
  72. package/pack/.claude/agents/devrites-upgrade-planner.md +3 -0
  73. package/pack/.claude/agents/fast-builder.md +90 -0
  74. package/pack/.claude/agents/fast-checker.md +60 -0
  75. package/pack/.claude/agents/fast-critic.md +70 -0
  76. package/pack/.claude/agents/fast-planner.md +95 -0
  77. package/pack/{generated/codex/skills/overhaul/roles/backend-engineer.md → .claude/agents/overhaul-backend-engineer.md} +18 -11
  78. package/pack/{generated/codex/skills/overhaul/roles/boundary.md → .claude/agents/overhaul-boundary.md} +13 -7
  79. package/pack/{generated/codex/skills/overhaul/roles/craft.md → .claude/agents/overhaul-craft.md} +13 -7
  80. package/pack/.claude/{skills/overhaul/roles/frontend-engineer.md → agents/overhaul-frontend-engineer.md} +18 -10
  81. package/pack/{generated/codex/skills/overhaul/roles/implementer.md → .claude/agents/overhaul-implementer.md} +20 -10
  82. package/pack/{generated/codex/skills/overhaul/roles/recon.md → .claude/agents/overhaul-recon.md} +26 -12
  83. package/pack/{generated/codex/skills/overhaul/roles/specialist.md → .claude/agents/overhaul-specialist.md} +20 -11
  84. package/pack/{generated/claude/skills/overhaul/roles/verifier.md → .claude/agents/overhaul-verifier.md} +18 -7
  85. package/pack/.claude/settings.json +1 -1
  86. package/pack/.claude/skills/devrites-audit/SKILL.md +2 -1
  87. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +13 -2
  88. package/pack/.claude/skills/devrites-browser-proof/reference/browser-performance.md +7 -4
  89. package/pack/.claude/skills/devrites-browser-proof/reference/visual-verdict.md +14 -10
  90. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +4 -3
  91. package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +22 -32
  92. package/pack/.claude/skills/devrites-lib/reference/intent-map.md +27 -5
  93. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +1 -2
  94. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +60 -8
  95. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +21 -6
  96. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +0 -1
  97. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -16
  98. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +34 -2
  99. package/pack/.claude/skills/devrites-lib/reference/standards/audit-coverage.md +5 -1
  100. package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +14 -3
  101. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +8 -2
  102. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +11 -4
  103. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +17 -6
  104. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +16 -7
  105. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  106. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +3 -1
  107. package/pack/.claude/skills/devrites-lib/reference/standards/duplicate-code.md +11 -0
  108. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +16 -1
  109. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +11 -0
  110. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +4 -3
  111. package/pack/.claude/skills/devrites-lib/reference/standards/review/README.md +6 -1
  112. package/pack/.claude/skills/devrites-lib/reference/standards/review/react.md +55 -0
  113. package/pack/.claude/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  114. package/pack/.claude/skills/devrites-lib/reference/standards/review/ts-js.md +22 -2
  115. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +6 -3
  116. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +35 -17
  117. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +8 -12
  118. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +4 -1
  119. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +36 -0
  120. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +22 -2
  121. package/pack/.claude/skills/devrites-lib/reference/standards/verification-methods.md +33 -0
  122. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +1 -1
  123. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +9 -3
  124. package/pack/.claude/skills/devrites-prose-craft/reference/examples.md +11 -6
  125. package/pack/.claude/skills/overhaul/SKILL.md +55 -35
  126. package/pack/.claude/skills/overhaul/references/audit-domains.md +141 -14
  127. package/pack/.claude/skills/overhaul/references/lifecycle.md +8 -2
  128. package/pack/.claude/skills/overhaul/references/orchestration.md +49 -29
  129. package/pack/.claude/skills/overhaul/references/records.md +28 -6
  130. package/pack/.claude/skills/overhaul/references/repair-and-measurement.md +108 -5
  131. package/pack/.claude/skills/overhaul/references/review-and-report.md +3 -1
  132. package/pack/.claude/skills/overhaul/references/scope-and-safety.md +62 -20
  133. package/pack/.claude/skills/overhaul/references/scoring.md +36 -7
  134. package/pack/.claude/skills/overhaul/references/stack-profiles.md +52 -0
  135. package/pack/.claude/skills/rite/SKILL.md +4 -1
  136. package/pack/.claude/skills/rite-adopt/SKILL.md +5 -2
  137. package/pack/.claude/skills/rite-adopt/reference/adoption.md +6 -0
  138. package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +1 -1
  139. package/pack/.claude/skills/rite-autocomplete/SKILL.md +2 -1
  140. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +3 -1
  141. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +6 -0
  142. package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +8 -16
  143. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +9 -0
  144. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +5 -1
  145. package/pack/.claude/skills/rite-clarify/SKILL.md +1 -1
  146. package/pack/.claude/skills/rite-converge/SKILL.md +9 -2
  147. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +5 -0
  148. package/pack/.claude/skills/rite-define/SKILL.md +6 -1
  149. package/pack/.claude/skills/rite-define/reference/plan-template.md +4 -0
  150. package/pack/.claude/skills/rite-doctor/SKILL.md +8 -2
  151. package/pack/.claude/skills/rite-fast/SKILL.md +183 -0
  152. package/pack/.claude/skills/rite-fast/reference/artifacts.md +107 -0
  153. package/pack/.claude/skills/rite-fast/reference/check-and-triage.md +51 -0
  154. package/pack/.claude/skills/rite-handoff/SKILL.md +14 -2
  155. package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +16 -4
  156. package/pack/.claude/skills/rite-learn/SKILL.md +34 -4
  157. package/pack/.claude/skills/rite-plan/SKILL.md +2 -1
  158. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +6 -0
  159. package/pack/.claude/skills/rite-polish/SKILL.md +10 -4
  160. package/pack/.claude/skills/rite-polish/reference/anti-ai-slop.md +59 -36
  161. package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +2 -1
  162. package/pack/.claude/skills/rite-polish/reference/ui.md +12 -3
  163. package/pack/.claude/skills/rite-pov/SKILL.md +14 -3
  164. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +5 -1
  165. package/pack/.claude/skills/rite-pressure-test/SKILL.md +5 -3
  166. package/pack/.claude/skills/rite-prove/SKILL.md +12 -4
  167. package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +1 -1
  168. package/pack/.claude/skills/rite-prove/reference/failure-triage.md +12 -3
  169. package/pack/.claude/skills/rite-quick/SKILL.md +4 -0
  170. package/pack/.claude/skills/rite-resolve/SKILL.md +7 -1
  171. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +1 -1
  172. package/pack/.claude/skills/rite-review/SKILL.md +4 -1
  173. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +9 -1
  174. package/pack/.claude/skills/rite-seal/SKILL.md +5 -3
  175. package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +1 -1
  176. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +1 -1
  177. package/pack/.claude/skills/rite-spec/SKILL.md +12 -4
  178. package/pack/.claude/skills/rite-spec/reference/spec-template.md +4 -2
  179. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +3 -0
  180. package/pack/.claude/skills/rite-status/SKILL.md +11 -3
  181. package/pack/.claude/skills/rite-upgrade/SKILL.md +7 -1
  182. package/pack/.claude/skills/rite-vet/SKILL.md +4 -2
  183. package/pack/.claude/skills/rite-zoom-out/SKILL.md +5 -0
  184. package/pack/generated/README.md +2 -2
  185. package/pack/generated/claude/agents/devrites-code-reviewer.md +19 -5
  186. package/pack/generated/claude/agents/devrites-devex-reviewer.md +7 -3
  187. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +8 -1
  188. package/pack/generated/claude/agents/devrites-evidence-scout.md +14 -0
  189. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +36 -18
  190. package/pack/generated/claude/agents/devrites-performance-reviewer.md +31 -9
  191. package/pack/generated/claude/agents/devrites-plan-reviewer.md +10 -3
  192. package/pack/generated/claude/agents/devrites-proof-runner.md +24 -4
  193. package/pack/generated/claude/agents/devrites-retrospector.md +22 -3
  194. package/pack/generated/claude/agents/devrites-security-auditor.md +34 -24
  195. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +6 -2
  196. package/pack/generated/claude/agents/devrites-spec-reviewer.md +8 -2
  197. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +13 -6
  198. package/pack/generated/claude/agents/devrites-test-analyst.md +10 -3
  199. package/pack/generated/claude/agents/devrites-upgrade-planner.md +7 -0
  200. package/pack/generated/claude/agents/fast-builder.md +90 -0
  201. package/pack/generated/claude/agents/fast-checker.md +60 -0
  202. package/pack/generated/claude/agents/fast-critic.md +70 -0
  203. package/pack/generated/claude/agents/fast-planner.md +95 -0
  204. package/pack/{.claude/skills/overhaul/roles/backend-engineer.md → generated/claude/agents/overhaul-backend-engineer.md} +18 -11
  205. package/pack/generated/claude/{skills/overhaul/roles/boundary.md → agents/overhaul-boundary.md} +13 -7
  206. package/pack/generated/claude/{skills/overhaul/roles/craft.md → agents/overhaul-craft.md} +13 -7
  207. package/pack/generated/{codex/skills/overhaul/roles/frontend-engineer.md → claude/agents/overhaul-frontend-engineer.md} +18 -10
  208. package/pack/generated/claude/{skills/overhaul/roles/implementer.md → agents/overhaul-implementer.md} +20 -10
  209. package/pack/generated/claude/{skills/overhaul/roles/recon.md → agents/overhaul-recon.md} +26 -12
  210. package/pack/generated/claude/{skills/overhaul/roles/specialist.md → agents/overhaul-specialist.md} +20 -11
  211. package/pack/generated/{codex/skills/overhaul/roles/verifier.md → claude/agents/overhaul-verifier.md} +18 -7
  212. package/pack/generated/claude/settings.json +1 -1
  213. package/pack/generated/claude/skills/devrites-audit/SKILL.md +2 -1
  214. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +13 -2
  215. package/pack/generated/claude/skills/devrites-browser-proof/reference/browser-performance.md +7 -4
  216. package/pack/generated/claude/skills/devrites-browser-proof/reference/visual-verdict.md +14 -10
  217. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +4 -3
  218. package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +22 -32
  219. package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +27 -5
  220. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +1 -2
  221. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +60 -8
  222. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +21 -6
  223. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +0 -1
  224. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -16
  225. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +34 -2
  226. package/pack/generated/claude/skills/devrites-lib/reference/standards/audit-coverage.md +5 -1
  227. package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +14 -3
  228. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +8 -2
  229. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +11 -4
  230. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +17 -6
  231. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +16 -7
  232. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  233. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +3 -1
  234. package/pack/generated/claude/skills/devrites-lib/reference/standards/duplicate-code.md +11 -0
  235. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +16 -1
  236. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +11 -0
  237. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +4 -3
  238. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/README.md +6 -1
  239. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/react.md +55 -0
  240. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  241. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ts-js.md +22 -2
  242. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +6 -3
  243. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +35 -17
  244. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +8 -12
  245. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +4 -1
  246. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +36 -0
  247. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +22 -2
  248. package/pack/generated/claude/skills/devrites-lib/reference/standards/verification-methods.md +33 -0
  249. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +1 -1
  250. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +9 -3
  251. package/pack/generated/claude/skills/devrites-prose-craft/reference/examples.md +11 -6
  252. package/pack/generated/claude/skills/overhaul/SKILL.md +55 -35
  253. package/pack/generated/claude/skills/overhaul/references/audit-domains.md +141 -14
  254. package/pack/generated/claude/skills/overhaul/references/lifecycle.md +8 -2
  255. package/pack/generated/claude/skills/overhaul/references/orchestration.md +49 -29
  256. package/pack/generated/claude/skills/overhaul/references/records.md +28 -6
  257. package/pack/generated/claude/skills/overhaul/references/repair-and-measurement.md +108 -5
  258. package/pack/generated/claude/skills/overhaul/references/review-and-report.md +3 -1
  259. package/pack/generated/claude/skills/overhaul/references/scope-and-safety.md +62 -20
  260. package/pack/generated/claude/skills/overhaul/references/scoring.md +36 -7
  261. package/pack/generated/claude/skills/overhaul/references/stack-profiles.md +52 -0
  262. package/pack/generated/claude/skills/rite/SKILL.md +4 -1
  263. package/pack/generated/claude/skills/rite-adopt/SKILL.md +5 -2
  264. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +6 -0
  265. package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +1 -1
  266. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +2 -1
  267. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +3 -1
  268. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +6 -0
  269. package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +8 -16
  270. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +9 -0
  271. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +5 -1
  272. package/pack/generated/claude/skills/rite-clarify/SKILL.md +1 -1
  273. package/pack/generated/claude/skills/rite-converge/SKILL.md +9 -2
  274. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +5 -0
  275. package/pack/generated/claude/skills/rite-define/SKILL.md +6 -1
  276. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +4 -0
  277. package/pack/generated/claude/skills/rite-doctor/SKILL.md +8 -2
  278. package/pack/generated/claude/skills/rite-fast/SKILL.md +183 -0
  279. package/pack/generated/claude/skills/rite-fast/reference/artifacts.md +107 -0
  280. package/pack/generated/claude/skills/rite-fast/reference/check-and-triage.md +51 -0
  281. package/pack/generated/claude/skills/rite-handoff/SKILL.md +14 -2
  282. package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +16 -4
  283. package/pack/generated/claude/skills/rite-learn/SKILL.md +34 -4
  284. package/pack/generated/claude/skills/rite-plan/SKILL.md +2 -1
  285. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +6 -0
  286. package/pack/generated/claude/skills/rite-polish/SKILL.md +10 -4
  287. package/pack/generated/claude/skills/rite-polish/reference/anti-ai-slop.md +59 -36
  288. package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +2 -1
  289. package/pack/generated/claude/skills/rite-polish/reference/ui.md +12 -3
  290. package/pack/generated/claude/skills/rite-pov/SKILL.md +14 -3
  291. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +5 -1
  292. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +5 -3
  293. package/pack/generated/claude/skills/rite-prove/SKILL.md +12 -4
  294. package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +1 -1
  295. package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +12 -3
  296. package/pack/generated/claude/skills/rite-quick/SKILL.md +4 -0
  297. package/pack/generated/claude/skills/rite-resolve/SKILL.md +7 -1
  298. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +1 -1
  299. package/pack/generated/claude/skills/rite-review/SKILL.md +4 -1
  300. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +9 -1
  301. package/pack/generated/claude/skills/rite-seal/SKILL.md +5 -3
  302. package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +1 -1
  303. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +1 -1
  304. package/pack/generated/claude/skills/rite-spec/SKILL.md +12 -4
  305. package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +4 -2
  306. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +3 -0
  307. package/pack/generated/claude/skills/rite-status/SKILL.md +11 -3
  308. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +7 -1
  309. package/pack/generated/claude/skills/rite-vet/SKILL.md +4 -2
  310. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +5 -0
  311. package/pack/generated/codex/AGENTS.md +2 -0
  312. package/pack/generated/codex/agents/devrites-code-reviewer.toml +19 -5
  313. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +7 -3
  314. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +8 -1
  315. package/pack/generated/codex/agents/devrites-evidence-scout.toml +14 -0
  316. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +36 -18
  317. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +31 -9
  318. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +10 -3
  319. package/pack/generated/codex/agents/devrites-proof-runner.toml +24 -4
  320. package/pack/generated/codex/agents/devrites-retrospector.toml +22 -3
  321. package/pack/generated/codex/agents/devrites-security-auditor.toml +34 -24
  322. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +6 -2
  323. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +8 -2
  324. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +13 -6
  325. package/pack/generated/codex/agents/devrites-test-analyst.toml +10 -3
  326. package/pack/generated/codex/agents/devrites-upgrade-planner.toml +7 -0
  327. package/pack/generated/codex/agents/fast-builder.toml +90 -0
  328. package/pack/generated/codex/agents/fast-checker.toml +60 -0
  329. package/pack/generated/codex/agents/fast-critic.toml +70 -0
  330. package/pack/generated/codex/agents/fast-planner.toml +95 -0
  331. package/pack/generated/{devin/skills/overhaul/roles/backend-engineer.md → codex/agents/overhaul-backend-engineer.toml} +20 -11
  332. package/pack/{.claude/skills/overhaul/roles/boundary.md → generated/codex/agents/overhaul-boundary.toml} +15 -7
  333. package/pack/generated/{devin/skills/overhaul/roles/craft.md → codex/agents/overhaul-craft.toml} +15 -7
  334. package/pack/generated/{claude/skills/overhaul/roles/frontend-engineer.md → codex/agents/overhaul-frontend-engineer.toml} +20 -10
  335. package/pack/generated/{devin/skills/overhaul/roles/implementer.md → codex/agents/overhaul-implementer.toml} +22 -10
  336. package/pack/generated/{devin/skills/overhaul/roles/recon.md → codex/agents/overhaul-recon.toml} +28 -12
  337. package/pack/generated/{devin/skills/overhaul/roles/specialist.md → codex/agents/overhaul-specialist.toml} +22 -11
  338. package/pack/{.claude/skills/overhaul/roles/verifier.md → generated/codex/agents/overhaul-verifier.toml} +20 -7
  339. package/pack/generated/codex/skills/devrites-audit/SKILL.md +2 -1
  340. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +13 -2
  341. package/pack/generated/codex/skills/devrites-browser-proof/reference/browser-performance.md +7 -4
  342. package/pack/generated/codex/skills/devrites-browser-proof/reference/visual-verdict.md +14 -10
  343. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +4 -3
  344. package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +22 -32
  345. package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +27 -5
  346. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +1 -2
  347. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +60 -8
  348. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +21 -6
  349. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +0 -1
  350. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +9 -16
  351. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +34 -2
  352. package/pack/generated/codex/skills/devrites-lib/reference/standards/audit-coverage.md +5 -1
  353. package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +14 -3
  354. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +8 -2
  355. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +11 -4
  356. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +17 -6
  357. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +16 -7
  358. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  359. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +3 -1
  360. package/pack/generated/codex/skills/devrites-lib/reference/standards/duplicate-code.md +11 -0
  361. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +16 -1
  362. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +11 -0
  363. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +4 -3
  364. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/README.md +6 -1
  365. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/react.md +55 -0
  366. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  367. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ts-js.md +22 -2
  368. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +6 -3
  369. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +35 -17
  370. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +8 -12
  371. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +4 -1
  372. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +36 -0
  373. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +22 -2
  374. package/pack/generated/codex/skills/devrites-lib/reference/standards/verification-methods.md +33 -0
  375. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +1 -1
  376. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +9 -3
  377. package/pack/generated/codex/skills/devrites-prose-craft/reference/examples.md +11 -6
  378. package/pack/generated/codex/skills/overhaul/SKILL.md +55 -35
  379. package/pack/generated/codex/skills/overhaul/references/audit-domains.md +141 -14
  380. package/pack/generated/codex/skills/overhaul/references/lifecycle.md +8 -2
  381. package/pack/generated/codex/skills/overhaul/references/orchestration.md +49 -29
  382. package/pack/generated/codex/skills/overhaul/references/records.md +28 -6
  383. package/pack/generated/codex/skills/overhaul/references/repair-and-measurement.md +108 -5
  384. package/pack/generated/codex/skills/overhaul/references/review-and-report.md +3 -1
  385. package/pack/generated/codex/skills/overhaul/references/scope-and-safety.md +62 -20
  386. package/pack/generated/codex/skills/overhaul/references/scoring.md +36 -7
  387. package/pack/generated/codex/skills/overhaul/references/stack-profiles.md +52 -0
  388. package/pack/generated/codex/skills/rite/SKILL.md +4 -1
  389. package/pack/generated/codex/skills/rite-adopt/SKILL.md +5 -2
  390. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +6 -0
  391. package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +1 -1
  392. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +2 -1
  393. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +3 -1
  394. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +6 -0
  395. package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +8 -16
  396. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +9 -0
  397. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +5 -1
  398. package/pack/generated/codex/skills/rite-clarify/SKILL.md +1 -1
  399. package/pack/generated/codex/skills/rite-converge/SKILL.md +9 -2
  400. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +5 -0
  401. package/pack/generated/codex/skills/rite-define/SKILL.md +6 -1
  402. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +4 -0
  403. package/pack/generated/codex/skills/rite-doctor/SKILL.md +8 -2
  404. package/pack/generated/codex/skills/rite-fast/SKILL.md +183 -0
  405. package/pack/generated/codex/skills/rite-fast/agents/openai.yaml +2 -0
  406. package/pack/generated/codex/skills/rite-fast/reference/artifacts.md +107 -0
  407. package/pack/generated/codex/skills/rite-fast/reference/check-and-triage.md +51 -0
  408. package/pack/generated/codex/skills/rite-handoff/SKILL.md +14 -2
  409. package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +16 -4
  410. package/pack/generated/codex/skills/rite-learn/SKILL.md +34 -4
  411. package/pack/generated/codex/skills/rite-plan/SKILL.md +2 -1
  412. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +6 -0
  413. package/pack/generated/codex/skills/rite-polish/SKILL.md +10 -4
  414. package/pack/generated/codex/skills/rite-polish/reference/anti-ai-slop.md +59 -36
  415. package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +2 -1
  416. package/pack/generated/codex/skills/rite-polish/reference/ui.md +12 -3
  417. package/pack/generated/codex/skills/rite-pov/SKILL.md +14 -3
  418. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -1
  419. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +5 -3
  420. package/pack/generated/codex/skills/rite-prove/SKILL.md +12 -4
  421. package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +1 -1
  422. package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +12 -3
  423. package/pack/generated/codex/skills/rite-quick/SKILL.md +4 -0
  424. package/pack/generated/codex/skills/rite-resolve/SKILL.md +7 -1
  425. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +1 -1
  426. package/pack/generated/codex/skills/rite-review/SKILL.md +4 -1
  427. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +9 -1
  428. package/pack/generated/codex/skills/rite-seal/SKILL.md +5 -3
  429. package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +1 -1
  430. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +1 -1
  431. package/pack/generated/codex/skills/rite-spec/SKILL.md +12 -4
  432. package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +4 -2
  433. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +3 -0
  434. package/pack/generated/codex/skills/rite-status/SKILL.md +11 -3
  435. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +7 -1
  436. package/pack/generated/codex/skills/rite-vet/SKILL.md +4 -2
  437. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +5 -0
  438. package/pack/generated/devin/AGENTS.md +2 -0
  439. package/pack/generated/devin/agents/devrites-code-reviewer.md +19 -4
  440. package/pack/generated/devin/agents/devrites-devex-reviewer.md +7 -2
  441. package/pack/generated/devin/agents/devrites-doubt-reviewer.md +8 -0
  442. package/pack/generated/devin/agents/devrites-evidence-scout.md +14 -0
  443. package/pack/generated/devin/agents/devrites-frontend-reviewer.md +36 -17
  444. package/pack/generated/devin/agents/devrites-performance-reviewer.md +31 -8
  445. package/pack/generated/devin/agents/devrites-plan-reviewer.md +10 -2
  446. package/pack/generated/devin/agents/devrites-proof-runner.md +24 -4
  447. package/pack/generated/devin/agents/devrites-retrospector.md +22 -3
  448. package/pack/generated/devin/agents/devrites-security-auditor.md +34 -23
  449. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +6 -1
  450. package/pack/generated/devin/agents/devrites-spec-reviewer.md +8 -2
  451. package/pack/generated/devin/agents/devrites-strategy-reviewer.md +13 -5
  452. package/pack/generated/devin/agents/devrites-test-analyst.md +10 -2
  453. package/pack/generated/devin/agents/devrites-upgrade-planner.md +7 -0
  454. package/pack/generated/devin/agents/fast-builder.md +96 -0
  455. package/pack/generated/devin/agents/fast-checker.md +63 -0
  456. package/pack/generated/devin/agents/fast-critic.md +73 -0
  457. package/pack/generated/devin/agents/fast-planner.md +98 -0
  458. package/pack/generated/{claude/skills/overhaul/roles/backend-engineer.md → devin/agents/overhaul-backend-engineer.md} +26 -11
  459. package/pack/generated/devin/{skills/overhaul/roles/boundary.md → agents/overhaul-boundary.md} +21 -7
  460. package/pack/{.claude/skills/overhaul/roles/craft.md → generated/devin/agents/overhaul-craft.md} +21 -7
  461. package/pack/generated/devin/{skills/overhaul/roles/frontend-engineer.md → agents/overhaul-frontend-engineer.md} +26 -10
  462. package/pack/{.claude/skills/overhaul/roles/implementer.md → generated/devin/agents/overhaul-implementer.md} +28 -10
  463. package/pack/{.claude/skills/overhaul/roles/recon.md → generated/devin/agents/overhaul-recon.md} +34 -12
  464. package/pack/{.claude/skills/overhaul/roles/specialist.md → generated/devin/agents/overhaul-specialist.md} +28 -11
  465. package/pack/generated/devin/{skills/overhaul/roles/verifier.md → agents/overhaul-verifier.md} +26 -7
  466. package/pack/generated/devin/skills/devrites-audit/SKILL.md +2 -1
  467. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +13 -2
  468. package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +7 -4
  469. package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +14 -10
  470. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +4 -3
  471. package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +22 -32
  472. package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +27 -5
  473. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +1 -2
  474. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +60 -8
  475. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +21 -6
  476. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +0 -1
  477. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +9 -16
  478. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +34 -2
  479. package/pack/generated/devin/skills/devrites-lib/reference/standards/audit-coverage.md +5 -1
  480. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +14 -3
  481. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +8 -2
  482. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +11 -4
  483. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +17 -6
  484. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +16 -7
  485. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  486. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +3 -1
  487. package/pack/generated/devin/skills/devrites-lib/reference/standards/duplicate-code.md +11 -0
  488. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +16 -1
  489. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +11 -0
  490. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +4 -3
  491. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/README.md +6 -1
  492. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/react.md +55 -0
  493. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  494. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ts-js.md +22 -2
  495. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +6 -3
  496. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +35 -17
  497. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +8 -12
  498. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +4 -1
  499. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +36 -0
  500. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +22 -2
  501. package/pack/generated/devin/skills/devrites-lib/reference/standards/verification-methods.md +33 -0
  502. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +1 -1
  503. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +9 -3
  504. package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +11 -6
  505. package/pack/generated/devin/skills/overhaul/SKILL.md +55 -35
  506. package/pack/generated/devin/skills/overhaul/references/audit-domains.md +141 -14
  507. package/pack/generated/devin/skills/overhaul/references/lifecycle.md +8 -2
  508. package/pack/generated/devin/skills/overhaul/references/orchestration.md +49 -29
  509. package/pack/generated/devin/skills/overhaul/references/records.md +28 -6
  510. package/pack/generated/devin/skills/overhaul/references/repair-and-measurement.md +108 -5
  511. package/pack/generated/devin/skills/overhaul/references/review-and-report.md +3 -1
  512. package/pack/generated/devin/skills/overhaul/references/scope-and-safety.md +62 -20
  513. package/pack/generated/devin/skills/overhaul/references/scoring.md +36 -7
  514. package/pack/generated/devin/skills/overhaul/references/stack-profiles.md +52 -0
  515. package/pack/generated/devin/skills/rite/SKILL.md +4 -1
  516. package/pack/generated/devin/skills/rite-adopt/SKILL.md +5 -2
  517. package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +6 -0
  518. package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +1 -1
  519. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +2 -1
  520. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +3 -1
  521. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +6 -0
  522. package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +8 -16
  523. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +9 -0
  524. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +5 -1
  525. package/pack/generated/devin/skills/rite-clarify/SKILL.md +1 -1
  526. package/pack/generated/devin/skills/rite-converge/SKILL.md +9 -2
  527. package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +5 -0
  528. package/pack/generated/devin/skills/rite-define/SKILL.md +6 -1
  529. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +4 -0
  530. package/pack/generated/devin/skills/rite-doctor/SKILL.md +8 -2
  531. package/pack/generated/devin/skills/rite-fast/SKILL.md +183 -0
  532. package/pack/generated/devin/skills/rite-fast/reference/artifacts.md +107 -0
  533. package/pack/generated/devin/skills/rite-fast/reference/check-and-triage.md +51 -0
  534. package/pack/generated/devin/skills/rite-handoff/SKILL.md +14 -2
  535. package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +16 -4
  536. package/pack/generated/devin/skills/rite-learn/SKILL.md +34 -4
  537. package/pack/generated/devin/skills/rite-plan/SKILL.md +2 -1
  538. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +6 -0
  539. package/pack/generated/devin/skills/rite-polish/SKILL.md +10 -4
  540. package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +59 -36
  541. package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +2 -1
  542. package/pack/generated/devin/skills/rite-polish/reference/ui.md +12 -3
  543. package/pack/generated/devin/skills/rite-pov/SKILL.md +14 -3
  544. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +5 -1
  545. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +5 -3
  546. package/pack/generated/devin/skills/rite-prove/SKILL.md +12 -4
  547. package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +1 -1
  548. package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +12 -3
  549. package/pack/generated/devin/skills/rite-quick/SKILL.md +4 -0
  550. package/pack/generated/devin/skills/rite-resolve/SKILL.md +7 -1
  551. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +1 -1
  552. package/pack/generated/devin/skills/rite-review/SKILL.md +4 -1
  553. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +9 -1
  554. package/pack/generated/devin/skills/rite-seal/SKILL.md +5 -3
  555. package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +1 -1
  556. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +1 -1
  557. package/pack/generated/devin/skills/rite-spec/SKILL.md +12 -4
  558. package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +4 -2
  559. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +3 -0
  560. package/pack/generated/devin/skills/rite-status/SKILL.md +11 -3
  561. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +7 -1
  562. package/pack/generated/devin/skills/rite-vet/SKILL.md +4 -2
  563. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +5 -0
  564. package/pack/generated/omp/agents/devrites-code-reviewer.md +19 -4
  565. package/pack/generated/omp/agents/devrites-devex-reviewer.md +7 -2
  566. package/pack/generated/omp/agents/devrites-doubt-reviewer.md +8 -0
  567. package/pack/generated/omp/agents/devrites-evidence-scout.md +15 -1
  568. package/pack/generated/omp/agents/devrites-frontend-reviewer.md +37 -17
  569. package/pack/generated/omp/agents/devrites-performance-reviewer.md +31 -8
  570. package/pack/generated/omp/agents/devrites-plan-reviewer.md +10 -2
  571. package/pack/generated/omp/agents/devrites-proof-runner.md +24 -4
  572. package/pack/generated/omp/agents/devrites-retrospector.md +22 -3
  573. package/pack/generated/omp/agents/devrites-security-auditor.md +34 -23
  574. package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +6 -1
  575. package/pack/generated/omp/agents/devrites-slice-wright.md +6 -6
  576. package/pack/generated/omp/agents/devrites-spec-reviewer.md +8 -2
  577. package/pack/generated/omp/agents/devrites-strategy-reviewer.md +13 -5
  578. package/pack/generated/omp/agents/devrites-test-analyst.md +10 -2
  579. package/pack/generated/omp/agents/devrites-upgrade-planner.md +7 -0
  580. package/pack/generated/omp/agents/fast-builder.md +89 -0
  581. package/pack/generated/omp/agents/fast-checker.md +59 -0
  582. package/pack/generated/omp/agents/fast-critic.md +69 -0
  583. package/pack/generated/omp/agents/fast-planner.md +94 -0
  584. package/pack/generated/omp/agents/overhaul-backend-engineer.md +69 -0
  585. package/pack/generated/omp/agents/overhaul-boundary.md +63 -0
  586. package/pack/generated/omp/agents/overhaul-craft.md +84 -0
  587. package/pack/generated/omp/agents/overhaul-frontend-engineer.md +72 -0
  588. package/pack/generated/omp/agents/overhaul-implementer.md +70 -0
  589. package/pack/generated/omp/agents/overhaul-recon.md +75 -0
  590. package/pack/generated/omp/agents/overhaul-specialist.md +66 -0
  591. package/pack/generated/omp/agents/overhaul-verifier.md +72 -0
  592. package/pack/generated/omp/commands/rite-adopt.md +5 -0
  593. package/pack/generated/omp/commands/rite-autocomplete.md +5 -0
  594. package/pack/generated/omp/commands/rite-build.md +5 -0
  595. package/pack/generated/omp/commands/rite-clarify.md +5 -0
  596. package/pack/generated/omp/commands/rite-converge.md +5 -0
  597. package/pack/generated/omp/commands/rite-customize.md +5 -0
  598. package/pack/generated/omp/commands/rite-define.md +5 -0
  599. package/pack/generated/omp/commands/rite-doctor.md +5 -0
  600. package/pack/generated/omp/commands/rite-dogfood.md +5 -0
  601. package/pack/generated/omp/commands/rite-explain.md +5 -0
  602. package/pack/generated/omp/commands/rite-fast.md +5 -0
  603. package/pack/generated/omp/commands/rite-frame.md +5 -0
  604. package/pack/generated/omp/commands/rite-handoff.md +5 -0
  605. package/pack/generated/omp/commands/rite-learn.md +5 -0
  606. package/pack/generated/omp/commands/rite-plan.md +5 -0
  607. package/pack/generated/omp/commands/rite-polish.md +5 -0
  608. package/pack/generated/omp/commands/rite-pov.md +5 -0
  609. package/pack/generated/omp/commands/rite-pr-feedback.md +5 -0
  610. package/pack/generated/omp/commands/rite-pressure-test.md +5 -0
  611. package/pack/generated/omp/commands/rite-prototype.md +5 -0
  612. package/pack/generated/omp/commands/rite-prove.md +5 -0
  613. package/pack/generated/omp/commands/rite-quick.md +5 -0
  614. package/pack/generated/omp/commands/rite-resolve.md +5 -0
  615. package/pack/generated/omp/commands/rite-review.md +5 -0
  616. package/pack/generated/omp/commands/rite-seal.md +5 -0
  617. package/pack/generated/omp/commands/rite-ship.md +5 -0
  618. package/pack/generated/omp/commands/rite-spec.md +5 -0
  619. package/pack/generated/omp/commands/rite-status.md +5 -0
  620. package/pack/generated/omp/commands/rite-temper.md +5 -0
  621. package/pack/generated/omp/commands/rite-upgrade.md +5 -0
  622. package/pack/generated/omp/commands/rite-vet.md +5 -0
  623. package/pack/generated/omp/commands/rite-watch-pr.md +5 -0
  624. package/pack/generated/omp/commands/rite-zoom-out.md +5 -0
  625. package/pack/generated/omp/commands/rite.md +5 -0
  626. package/pack/generated/omp/skills/devrites-audit/SKILL.md +2 -1
  627. package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +13 -2
  628. package/pack/generated/omp/skills/devrites-browser-proof/reference/browser-performance.md +7 -4
  629. package/pack/generated/omp/skills/devrites-browser-proof/reference/visual-verdict.md +14 -10
  630. package/pack/generated/omp/skills/devrites-frontend-craft/SKILL.md +4 -3
  631. package/pack/generated/omp/skills/devrites-frontend-craft/reference/quality-standards.md +22 -32
  632. package/pack/generated/omp/skills/devrites-interview/SKILL.md +1 -1
  633. package/pack/generated/omp/skills/devrites-lib/reference/intent-map.md +27 -5
  634. package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +1 -2
  635. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +60 -8
  636. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +21 -6
  637. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +0 -1
  638. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +11 -18
  639. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +35 -3
  640. package/pack/generated/omp/skills/devrites-lib/reference/standards/audit-coverage.md +5 -1
  641. package/pack/generated/omp/skills/devrites-lib/reference/standards/browser-proof-checklist.md +14 -3
  642. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +8 -2
  643. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +11 -4
  644. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +17 -6
  645. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +16 -7
  646. package/pack/generated/omp/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  647. package/pack/generated/omp/skills/devrites-lib/reference/standards/developer-experience.md +3 -1
  648. package/pack/generated/omp/skills/devrites-lib/reference/standards/duplicate-code.md +11 -0
  649. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +16 -1
  650. package/pack/generated/omp/skills/devrites-lib/reference/standards/performance.md +11 -0
  651. package/pack/generated/omp/skills/devrites-lib/reference/standards/prose-style.md +4 -3
  652. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/README.md +6 -1
  653. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/react.md +55 -0
  654. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  655. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ts-js.md +22 -2
  656. package/pack/generated/omp/skills/devrites-lib/reference/standards/security-checklist.md +6 -3
  657. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +35 -17
  658. package/pack/generated/omp/skills/devrites-lib/reference/standards/skill-authoring.md +8 -12
  659. package/pack/generated/omp/skills/devrites-lib/reference/standards/spec-grammar.md +4 -1
  660. package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +36 -0
  661. package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +22 -2
  662. package/pack/generated/omp/skills/devrites-lib/reference/standards/verification-methods.md +33 -0
  663. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +1 -1
  664. package/pack/generated/omp/skills/devrites-prose-craft/SKILL.md +9 -3
  665. package/pack/generated/omp/skills/devrites-prose-craft/reference/examples.md +11 -6
  666. package/pack/generated/omp/skills/overhaul/SKILL.md +55 -35
  667. package/pack/generated/omp/skills/overhaul/references/audit-domains.md +141 -14
  668. package/pack/generated/omp/skills/overhaul/references/lifecycle.md +8 -2
  669. package/pack/generated/omp/skills/overhaul/references/orchestration.md +49 -29
  670. package/pack/generated/omp/skills/overhaul/references/records.md +28 -6
  671. package/pack/generated/omp/skills/overhaul/references/repair-and-measurement.md +108 -5
  672. package/pack/generated/omp/skills/overhaul/references/review-and-report.md +3 -1
  673. package/pack/generated/omp/skills/overhaul/references/scope-and-safety.md +62 -20
  674. package/pack/generated/omp/skills/overhaul/references/scoring.md +36 -7
  675. package/pack/generated/omp/skills/overhaul/references/stack-profiles.md +52 -0
  676. package/pack/generated/omp/skills/rite/SKILL.md +4 -1
  677. package/pack/generated/omp/skills/rite-adopt/SKILL.md +5 -2
  678. package/pack/generated/omp/skills/rite-adopt/reference/adoption.md +6 -0
  679. package/pack/generated/omp/skills/rite-adopt/reference/anti-patterns.md +1 -1
  680. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +2 -1
  681. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +3 -1
  682. package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +6 -0
  683. package/pack/generated/omp/skills/rite-build/reference/checkpoint-protocol.md +10 -18
  684. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +10 -1
  685. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +6 -2
  686. package/pack/generated/omp/skills/rite-clarify/SKILL.md +1 -1
  687. package/pack/generated/omp/skills/rite-converge/SKILL.md +9 -2
  688. package/pack/generated/omp/skills/rite-converge/reference/convergence-assessment.md +5 -0
  689. package/pack/generated/omp/skills/rite-define/SKILL.md +6 -1
  690. package/pack/generated/omp/skills/rite-define/reference/plan-template.md +4 -0
  691. package/pack/generated/omp/skills/rite-doctor/SKILL.md +8 -2
  692. package/pack/generated/omp/skills/rite-explain/SKILL.md +2 -2
  693. package/pack/generated/omp/skills/rite-explain/reference/intake.md +1 -1
  694. package/pack/generated/omp/skills/rite-fast/SKILL.md +183 -0
  695. package/pack/generated/omp/skills/rite-fast/reference/artifacts.md +107 -0
  696. package/pack/generated/omp/skills/rite-fast/reference/check-and-triage.md +51 -0
  697. package/pack/generated/omp/skills/rite-handoff/SKILL.md +14 -2
  698. package/pack/generated/omp/skills/rite-handoff/reference/handoff-template.md +16 -4
  699. package/pack/generated/omp/skills/rite-learn/SKILL.md +34 -4
  700. package/pack/generated/omp/skills/rite-plan/SKILL.md +2 -1
  701. package/pack/generated/omp/skills/rite-plan/reference/task-breakdown.md +6 -0
  702. package/pack/generated/omp/skills/rite-polish/SKILL.md +10 -4
  703. package/pack/generated/omp/skills/rite-polish/reference/anti-ai-slop.md +59 -36
  704. package/pack/generated/omp/skills/rite-polish/reference/harden-checklist.md +2 -1
  705. package/pack/generated/omp/skills/rite-polish/reference/ui.md +12 -3
  706. package/pack/generated/omp/skills/rite-pov/SKILL.md +14 -3
  707. package/pack/generated/omp/skills/rite-pr-feedback/SKILL.md +5 -1
  708. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +5 -3
  709. package/pack/generated/omp/skills/rite-prove/SKILL.md +12 -4
  710. package/pack/generated/omp/skills/rite-prove/reference/anti-patterns.md +1 -1
  711. package/pack/generated/omp/skills/rite-prove/reference/failure-triage.md +12 -3
  712. package/pack/generated/omp/skills/rite-quick/SKILL.md +4 -0
  713. package/pack/generated/omp/skills/rite-resolve/SKILL.md +8 -2
  714. package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +1 -1
  715. package/pack/generated/omp/skills/rite-review/SKILL.md +4 -1
  716. package/pack/generated/omp/skills/rite-review/reference/performance-checklist.md +9 -1
  717. package/pack/generated/omp/skills/rite-seal/SKILL.md +5 -3
  718. package/pack/generated/omp/skills/rite-seal/reference/anti-patterns.md +1 -1
  719. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +1 -1
  720. package/pack/generated/omp/skills/rite-spec/SKILL.md +12 -4
  721. package/pack/generated/omp/skills/rite-spec/reference/investigation.md +1 -1
  722. package/pack/generated/omp/skills/rite-spec/reference/spec-template.md +4 -2
  723. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +3 -0
  724. package/pack/generated/omp/skills/rite-status/SKILL.md +11 -3
  725. package/pack/generated/omp/skills/rite-temper/SKILL.md +1 -1
  726. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +7 -1
  727. package/pack/generated/omp/skills/rite-vet/SKILL.md +4 -2
  728. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +2 -2
  729. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +5 -0
  730. package/pack/generated/pi/AGENTS.md +2 -0
  731. package/pack/generated/pi/agents/devrites-code-reviewer.md +19 -4
  732. package/pack/generated/pi/agents/devrites-devex-reviewer.md +7 -2
  733. package/pack/generated/pi/agents/devrites-doubt-reviewer.md +8 -0
  734. package/pack/generated/pi/agents/devrites-evidence-scout.md +14 -0
  735. package/pack/generated/pi/agents/devrites-frontend-reviewer.md +36 -17
  736. package/pack/generated/pi/agents/devrites-performance-reviewer.md +31 -8
  737. package/pack/generated/pi/agents/devrites-plan-reviewer.md +10 -2
  738. package/pack/generated/pi/agents/devrites-proof-runner.md +24 -4
  739. package/pack/generated/pi/agents/devrites-retrospector.md +22 -3
  740. package/pack/generated/pi/agents/devrites-security-auditor.md +34 -23
  741. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +6 -1
  742. package/pack/generated/pi/agents/devrites-spec-reviewer.md +8 -2
  743. package/pack/generated/pi/agents/devrites-strategy-reviewer.md +13 -5
  744. package/pack/generated/pi/agents/devrites-test-analyst.md +10 -2
  745. package/pack/generated/pi/agents/devrites-upgrade-planner.md +7 -0
  746. package/pack/generated/pi/agents/fast-builder.md +90 -0
  747. package/pack/generated/pi/agents/fast-checker.md +60 -0
  748. package/pack/generated/pi/agents/fast-critic.md +70 -0
  749. package/pack/generated/pi/agents/fast-planner.md +95 -0
  750. package/pack/generated/pi/agents/overhaul-backend-engineer.md +70 -0
  751. package/pack/generated/pi/agents/overhaul-boundary.md +64 -0
  752. package/pack/generated/pi/agents/overhaul-craft.md +85 -0
  753. package/pack/generated/pi/agents/overhaul-frontend-engineer.md +73 -0
  754. package/pack/generated/pi/agents/overhaul-implementer.md +71 -0
  755. package/pack/generated/pi/agents/overhaul-recon.md +76 -0
  756. package/pack/generated/pi/agents/overhaul-specialist.md +67 -0
  757. package/pack/generated/pi/agents/overhaul-verifier.md +73 -0
  758. package/pack/generated/pi/prompts/rite-adopt.md +1 -1
  759. package/pack/generated/pi/prompts/rite-autocomplete.md +1 -1
  760. package/pack/generated/pi/prompts/rite-build.md +1 -1
  761. package/pack/generated/pi/prompts/rite-clarify.md +1 -1
  762. package/pack/generated/pi/prompts/rite-converge.md +2 -2
  763. package/pack/generated/pi/prompts/rite-customize.md +1 -1
  764. package/pack/generated/pi/prompts/rite-define.md +1 -1
  765. package/pack/generated/pi/prompts/rite-doctor.md +1 -1
  766. package/pack/generated/pi/prompts/rite-dogfood.md +1 -1
  767. package/pack/generated/pi/prompts/rite-explain.md +1 -1
  768. package/pack/generated/pi/prompts/rite-fast.md +5 -0
  769. package/pack/generated/pi/prompts/rite-frame.md +1 -1
  770. package/pack/generated/pi/prompts/rite-handoff.md +1 -1
  771. package/pack/generated/pi/prompts/rite-learn.md +1 -1
  772. package/pack/generated/pi/prompts/rite-plan.md +1 -1
  773. package/pack/generated/pi/prompts/rite-polish.md +1 -1
  774. package/pack/generated/pi/prompts/rite-pov.md +1 -1
  775. package/pack/generated/pi/prompts/rite-pr-feedback.md +1 -1
  776. package/pack/generated/pi/prompts/rite-pressure-test.md +1 -1
  777. package/pack/generated/pi/prompts/rite-prototype.md +1 -1
  778. package/pack/generated/pi/prompts/rite-prove.md +1 -1
  779. package/pack/generated/pi/prompts/rite-quick.md +1 -1
  780. package/pack/generated/pi/prompts/rite-resolve.md +1 -1
  781. package/pack/generated/pi/prompts/rite-review.md +1 -1
  782. package/pack/generated/pi/prompts/rite-seal.md +1 -1
  783. package/pack/generated/pi/prompts/rite-ship.md +1 -1
  784. package/pack/generated/pi/prompts/rite-spec.md +1 -1
  785. package/pack/generated/pi/prompts/rite-status.md +1 -1
  786. package/pack/generated/pi/prompts/rite-temper.md +1 -1
  787. package/pack/generated/pi/prompts/rite-upgrade.md +1 -1
  788. package/pack/generated/pi/prompts/rite-vet.md +1 -1
  789. package/pack/generated/pi/prompts/rite-watch-pr.md +1 -1
  790. package/pack/generated/pi/prompts/rite-zoom-out.md +1 -1
  791. package/pack/generated/pi/prompts/rite.md +1 -1
  792. package/pack/generated/pi/skills/devrites-audit/SKILL.md +2 -1
  793. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +13 -2
  794. package/pack/generated/pi/skills/devrites-browser-proof/reference/browser-performance.md +7 -4
  795. package/pack/generated/pi/skills/devrites-browser-proof/reference/visual-verdict.md +14 -10
  796. package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +4 -3
  797. package/pack/generated/pi/skills/devrites-frontend-craft/reference/quality-standards.md +22 -32
  798. package/pack/generated/pi/skills/devrites-lib/reference/intent-map.md +27 -5
  799. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +1 -2
  800. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +60 -8
  801. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +21 -6
  802. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +0 -1
  803. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +9 -16
  804. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +34 -2
  805. package/pack/generated/pi/skills/devrites-lib/reference/standards/audit-coverage.md +5 -1
  806. package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +14 -3
  807. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +8 -2
  808. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +11 -4
  809. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +17 -6
  810. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +16 -7
  811. package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  812. package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +3 -1
  813. package/pack/generated/pi/skills/devrites-lib/reference/standards/duplicate-code.md +11 -0
  814. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +16 -1
  815. package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +11 -0
  816. package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +4 -3
  817. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/README.md +6 -1
  818. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/react.md +55 -0
  819. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
  820. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ts-js.md +22 -2
  821. package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +6 -3
  822. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +35 -17
  823. package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +8 -12
  824. package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +4 -1
  825. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +36 -0
  826. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +22 -2
  827. package/pack/generated/pi/skills/devrites-lib/reference/standards/verification-methods.md +33 -0
  828. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +1 -1
  829. package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +9 -3
  830. package/pack/generated/pi/skills/devrites-prose-craft/reference/examples.md +11 -6
  831. package/pack/generated/pi/skills/overhaul/SKILL.md +55 -35
  832. package/pack/generated/pi/skills/overhaul/references/audit-domains.md +141 -14
  833. package/pack/generated/pi/skills/overhaul/references/lifecycle.md +8 -2
  834. package/pack/generated/pi/skills/overhaul/references/orchestration.md +49 -29
  835. package/pack/generated/pi/skills/overhaul/references/records.md +28 -6
  836. package/pack/generated/pi/skills/overhaul/references/repair-and-measurement.md +108 -5
  837. package/pack/generated/pi/skills/overhaul/references/review-and-report.md +3 -1
  838. package/pack/generated/pi/skills/overhaul/references/scope-and-safety.md +62 -20
  839. package/pack/generated/pi/skills/overhaul/references/scoring.md +36 -7
  840. package/pack/generated/pi/skills/overhaul/references/stack-profiles.md +52 -0
  841. package/pack/generated/pi/skills/rite/SKILL.md +4 -1
  842. package/pack/generated/pi/skills/rite-adopt/SKILL.md +5 -2
  843. package/pack/generated/pi/skills/rite-adopt/reference/adoption.md +6 -0
  844. package/pack/generated/pi/skills/rite-adopt/reference/anti-patterns.md +1 -1
  845. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +2 -1
  846. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +3 -1
  847. package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +6 -0
  848. package/pack/generated/pi/skills/rite-build/reference/checkpoint-protocol.md +8 -16
  849. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +9 -0
  850. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +5 -1
  851. package/pack/generated/pi/skills/rite-clarify/SKILL.md +1 -1
  852. package/pack/generated/pi/skills/rite-converge/SKILL.md +9 -2
  853. package/pack/generated/pi/skills/rite-converge/reference/convergence-assessment.md +5 -0
  854. package/pack/generated/pi/skills/rite-define/SKILL.md +6 -1
  855. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +4 -0
  856. package/pack/generated/pi/skills/rite-doctor/SKILL.md +8 -2
  857. package/pack/generated/pi/skills/rite-fast/SKILL.md +183 -0
  858. package/pack/generated/pi/skills/rite-fast/reference/artifacts.md +107 -0
  859. package/pack/generated/pi/skills/rite-fast/reference/check-and-triage.md +51 -0
  860. package/pack/generated/pi/skills/rite-handoff/SKILL.md +14 -2
  861. package/pack/generated/pi/skills/rite-handoff/reference/handoff-template.md +16 -4
  862. package/pack/generated/pi/skills/rite-learn/SKILL.md +34 -4
  863. package/pack/generated/pi/skills/rite-plan/SKILL.md +2 -1
  864. package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +6 -0
  865. package/pack/generated/pi/skills/rite-polish/SKILL.md +10 -4
  866. package/pack/generated/pi/skills/rite-polish/reference/anti-ai-slop.md +59 -36
  867. package/pack/generated/pi/skills/rite-polish/reference/harden-checklist.md +2 -1
  868. package/pack/generated/pi/skills/rite-polish/reference/ui.md +12 -3
  869. package/pack/generated/pi/skills/rite-pov/SKILL.md +14 -3
  870. package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +5 -1
  871. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +5 -3
  872. package/pack/generated/pi/skills/rite-prove/SKILL.md +12 -4
  873. package/pack/generated/pi/skills/rite-prove/reference/anti-patterns.md +1 -1
  874. package/pack/generated/pi/skills/rite-prove/reference/failure-triage.md +12 -3
  875. package/pack/generated/pi/skills/rite-quick/SKILL.md +4 -0
  876. package/pack/generated/pi/skills/rite-resolve/SKILL.md +7 -1
  877. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +1 -1
  878. package/pack/generated/pi/skills/rite-review/SKILL.md +4 -1
  879. package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +9 -1
  880. package/pack/generated/pi/skills/rite-seal/SKILL.md +5 -3
  881. package/pack/generated/pi/skills/rite-seal/reference/anti-patterns.md +1 -1
  882. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +1 -1
  883. package/pack/generated/pi/skills/rite-spec/SKILL.md +12 -4
  884. package/pack/generated/pi/skills/rite-spec/reference/spec-template.md +4 -2
  885. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +3 -0
  886. package/pack/generated/pi/skills/rite-status/SKILL.md +11 -3
  887. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +7 -1
  888. package/pack/generated/pi/skills/rite-vet/SKILL.md +4 -2
  889. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +5 -0
  890. package/package.json +13 -10
  891. package/scripts/build-host-artifacts.sh +8 -3
  892. package/scripts/codex-generate.sh +3 -1
  893. package/scripts/devin-generate.sh +5 -3
  894. package/scripts/omp-generate.sh +39 -6
  895. package/scripts/pi-generate.sh +10 -4
  896. package/engine/.gosec.json +0 -5
  897. package/pack/generated/omp/skills/overhaul/roles/backend-engineer.md +0 -61
  898. package/pack/generated/omp/skills/overhaul/roles/boundary.md +0 -56
  899. package/pack/generated/omp/skills/overhaul/roles/craft.md +0 -77
  900. package/pack/generated/omp/skills/overhaul/roles/frontend-engineer.md +0 -63
  901. package/pack/generated/omp/skills/overhaul/roles/implementer.md +0 -59
  902. package/pack/generated/omp/skills/overhaul/roles/recon.md +0 -60
  903. package/pack/generated/omp/skills/overhaul/roles/specialist.md +0 -56
  904. package/pack/generated/omp/skills/overhaul/roles/verifier.md +0 -60
  905. package/pack/generated/pi/skills/overhaul/roles/backend-engineer.md +0 -61
  906. package/pack/generated/pi/skills/overhaul/roles/boundary.md +0 -56
  907. package/pack/generated/pi/skills/overhaul/roles/craft.md +0 -77
  908. package/pack/generated/pi/skills/overhaul/roles/frontend-engineer.md +0 -63
  909. package/pack/generated/pi/skills/overhaul/roles/implementer.md +0 -59
  910. package/pack/generated/pi/skills/overhaul/roles/recon.md +0 -60
  911. package/pack/generated/pi/skills/overhaul/roles/specialist.md +0 -56
  912. package/pack/generated/pi/skills/overhaul/roles/verifier.md +0 -60
@@ -0,0 +1,154 @@
1
+ package bench
2
+
3
+ import (
4
+ "math"
5
+ "sort"
6
+ )
7
+
8
+ // uNull returns P(U = u) for u = 0..n*m under the Mann-Whitney null with arm
9
+ // sizes n and m, from the generating function prod_i (1-q^(m+i))/(1-q^i).
10
+ // Cancellation leaves the upper half inaccurate; only the lower tail is read.
11
+ func uNull(n, m int) []float64 {
12
+ c := make([]float64, n*m+1)
13
+ c[0] = 1
14
+ for i := 1; i <= n; i++ {
15
+ for u := len(c) - 1; u >= m+i; u-- {
16
+ c[u] -= c[u-m-i]
17
+ }
18
+ for u := i; u < len(c); u++ {
19
+ c[u] += c[u-i]
20
+ }
21
+ }
22
+ total := 0.0
23
+ for _, v := range c {
24
+ total += v
25
+ }
26
+ for i := range c {
27
+ c[i] /= total
28
+ }
29
+ return c
30
+ }
31
+
32
+ // exactLimit bounds the arm sizes for the exact null distribution, well inside
33
+ // float64 range and cheap to compute; beyond it the (slightly conservative)
34
+ // normal approximation takes over.
35
+ const exactLimit = 400
36
+
37
+ // maxPairs caps n*m for the pairwise differences, which are held in memory.
38
+ const maxPairs = 4_000_000
39
+
40
+ // tailCount returns the largest k with P(U <= k-1) <= alpha/2: the pairwise
41
+ // differences D_(1..k-1) and D_(nm-k+2..nm) fall outside a (1-alpha) interval,
42
+ // whose endpoints are D_(k) and D_(nm+1-k). Zero means no finite interval.
43
+ func tailCount(n, m int, alpha float64) int {
44
+ if n+m <= exactLimit {
45
+ p, cum, k := uNull(n, m), 0.0, 0
46
+ for u := range p {
47
+ if cum += p[u]; cum > alpha/2 {
48
+ break
49
+ }
50
+ k = u + 1
51
+ }
52
+ return k
53
+ }
54
+ mean := float64(n*m) / 2
55
+ sd := math.Sqrt(float64(n*m*(n+m+1)) / 12)
56
+ return max(0, int(math.Floor(mean-normalQuantile(1-alpha/2)*sd-0.5))+1)
57
+ }
58
+
59
+ // hlRatio is the Hodges-Lehmann ratio estimate exp(median(ln x_i - ln y_j))
60
+ // with its distribution-free (1-alpha) bounds. ok is false when a sample is
61
+ // not positive or the arms are too small for a finite interval.
62
+ func hlRatio(x, y []float64, alpha float64) (est, lo, hi float64, ok bool) {
63
+ if len(x)*len(y) > maxPairs {
64
+ return 0, 0, 0, false
65
+ }
66
+ z := make([]float64, 0, len(x)*len(y))
67
+ for _, a := range x {
68
+ for _, b := range y {
69
+ if a <= 0 || b <= 0 {
70
+ return 0, 0, 0, false
71
+ }
72
+ z = append(z, math.Log(a)-math.Log(b))
73
+ }
74
+ }
75
+ k := tailCount(len(x), len(y), alpha)
76
+ if k == 0 {
77
+ return 0, 0, 0, false
78
+ }
79
+ sort.Float64s(z)
80
+ return math.Exp(median(z)), math.Exp(z[k-1]), math.Exp(z[len(z)-k]), true
81
+ }
82
+
83
+ // quantileBounds returns one-sided (1-alpha) distribution-free bounds for the
84
+ // p-quantile of xs from its order statistics; a missing bound is ±Inf. With
85
+ // F(j) = P(Bin(n, p) <= j), the upper bound is x_(k) for the smallest k with
86
+ // F(k-1) >= 1-alpha and the lower bound x_(j) for the largest j with
87
+ // F(j-1) <= alpha.
88
+ func quantileBounds(xs []float64, p, alpha float64) (lcb, ucb float64) {
89
+ s := append([]float64(nil), xs...)
90
+ sort.Float64s(s)
91
+ n := len(s)
92
+ lcb, ucb = math.Inf(-1), math.Inf(1)
93
+ lg := func(k int) float64 { v, _ := math.Lgamma(float64(k) + 1); return v }
94
+ cdf := 0.0
95
+ for i := 0; i < n; i++ { // cdf = F(i) after this step
96
+ cdf += math.Exp(lg(n) - lg(i) - lg(n-i) + float64(i)*math.Log(p) + float64(n-i)*math.Log1p(-p))
97
+ if cdf <= alpha {
98
+ lcb = s[i] // j = i+1
99
+ }
100
+ if cdf >= 1-alpha {
101
+ ucb = s[i] // k = i+1
102
+ break
103
+ }
104
+ }
105
+ return lcb, ucb
106
+ }
107
+
108
+ // quantile7 is the linearly interpolated sample quantile (Hyndman-Fan type 7).
109
+ func quantile7(xs []float64, p float64) float64 {
110
+ s := append([]float64(nil), xs...)
111
+ sort.Float64s(s)
112
+ h := p * float64(len(s)-1)
113
+ i := int(math.Floor(h))
114
+ if i+1 >= len(s) {
115
+ return s[len(s)-1]
116
+ }
117
+ return s[i] + (h-float64(i))*(s[i+1]-s[i])
118
+ }
119
+
120
+ // wilson returns the Wilson score interval for e events in n trials.
121
+ func wilson(p float64, n, z float64) (lo, hi float64) {
122
+ d := 1 + z*z/n
123
+ c := (p + z*z/(2*n)) / d
124
+ h := z * math.Sqrt(p*(1-p)/n+z*z/(4*n*n)) / d
125
+ return max(0, c-h), min(1, c+h)
126
+ }
127
+
128
+ // newcombe returns the hybrid score interval (Newcombe 1998, method 10) for
129
+ // p1 - p2 from proportions over n1 and n2 trials.
130
+ func newcombe(p1, n1, p2, n2, z float64) (lo, hi float64) {
131
+ l1, u1 := wilson(p1, n1, z)
132
+ l2, u2 := wilson(p2, n2, z)
133
+ d := p1 - p2
134
+ return d - math.Sqrt((p1-l1)*(p1-l1)+(u2-p2)*(u2-p2)), d + math.Sqrt((u1-p1)*(u1-p1)+(p2-l2)*(p2-l2))
135
+ }
136
+
137
+ // normalQuantile is the standard normal inverse CDF (Acklam's rational
138
+ // approximation, relative error below 1.2e-9).
139
+ func normalQuantile(p float64) float64 {
140
+ a := []float64{-3.969683028665376e+01, 2.209460984245205e+02, -2.759285104469687e+02, 1.383577518672690e+02, -3.066479806614716e+01, 2.506628277459239e+00}
141
+ b := []float64{-5.447609879822406e+01, 1.615858368580409e+02, -1.556989798598866e+02, 6.680131188771972e+01, -1.328068155288572e+01}
142
+ c := []float64{-7.784894002430293e-03, -3.223964580411365e-01, -2.400758277161838e+00, -2.549732539343734e+00, 4.374664141464968e+00, 2.938163982698783e+00}
143
+ d := []float64{7.784695709041462e-03, 3.224671290700398e-01, 2.445134137142996e+00, 3.754408661907416e+00}
144
+ switch {
145
+ case p < 0.02425:
146
+ q := math.Sqrt(-2 * math.Log(p))
147
+ return (((((c[0]*q+c[1])*q+c[2])*q+c[3])*q+c[4])*q + c[5]) / ((((d[0]*q+d[1])*q+d[2])*q+d[3])*q + 1)
148
+ case p > 1-0.02425:
149
+ return -normalQuantile(1 - p)
150
+ }
151
+ q := p - 0.5
152
+ r := q * q
153
+ return (((((a[0]*r+a[1])*r+a[2])*r+a[3])*r+a[4])*r + a[5]) * q / (((((b[0]*r+b[1])*r+b[2])*r+b[3])*r+b[4])*r + 1)
154
+ }
@@ -19,6 +19,7 @@ import (
19
19
  // Usage is the command-family help text.
20
20
  const Usage = `usage: devrites-engine overhaul <tool> ...
21
21
 
22
+ overhaul records init <repo> <run-id>
22
23
  overhaul records digest <file>
23
24
  overhaul records stage <run>
24
25
  overhaul records publish <run>
@@ -156,3 +156,7 @@ func Truthy(v any) bool {
156
156
  }
157
157
  return true
158
158
  }
159
+
160
+ // Domains is the fixed set of score domains in their documented order. Findings,
161
+ // receipts, the applicability matrix and the rubric all use these keys.
162
+ var Domains = []string{"correctness", "security", "reliability", "performance", "tests", "architecture", "ux", "operations"}
@@ -12,6 +12,7 @@ import (
12
12
  "strings"
13
13
 
14
14
  "github.com/devrites/devrites/internal/overhaul/ovio"
15
+ "github.com/devrites/devrites/internal/overhaul/snapshot"
15
16
  )
16
17
 
17
18
  func set(vals ...string) map[string]bool {
@@ -199,6 +200,9 @@ func BadPath(p any, repo string) string {
199
200
  return "names a directory or git metadata"
200
201
  }
201
202
  }
203
+ if strings.HasPrefix(s, snapshot.RunAreaDir) {
204
+ return "names the overhaul run area"
205
+ }
202
206
  if isDir(join(repo, s)) {
203
207
  return "names a directory or git metadata"
204
208
  }
@@ -576,6 +580,9 @@ func Check(run, genDir, prevDir string) ([]string, error) {
576
580
  add("run.json: readiness_verdict differs from scorecard.json")
577
581
  }
578
582
  }
583
+ if err := consistency(run, genDir, R, add); err != nil {
584
+ return nil, err
585
+ }
579
586
  ap := ovio.List(R["approval.json"]["events"])
580
587
  uniq(ap, idKey, "approval", add)
581
588
  stopAt := -1
@@ -820,6 +827,26 @@ func Check(run, genDir, prevDir string) ([]string, error) {
820
827
  }
821
828
  }
822
829
  }
830
+ // Views are how the user reads a stop: every stop carries the report, and a
831
+ // pending approval carries the review page and the plan it approves.
832
+ if outcome := str(rj, "execution_outcome"); outcome != "" && outcome != "RUNNING" {
833
+ for _, v := range []string{"report.html", "report.md"} {
834
+ if !isFile(join(vdir, v)) {
835
+ add("views/%s is required once the run stops (execution_outcome %s)", v, outcome)
836
+ }
837
+ }
838
+ }
839
+ if str(rj, "phase") == "AWAITING_APPROVAL" {
840
+ need := []string{"review.html", "review.md"}
841
+ if hasPR {
842
+ need = append(need, "plan.md")
843
+ }
844
+ for _, v := range need {
845
+ if !isFile(join(vdir, v)) {
846
+ add("views/%s is required while awaiting approval", v)
847
+ }
848
+ }
849
+ }
823
850
  return errs, nil
824
851
  }
825
852
 
@@ -0,0 +1,217 @@
1
+ package records
2
+
3
+ import (
4
+ "encoding/json"
5
+ "slices"
6
+
7
+ "github.com/devrites/devrites/internal/overhaul/ovio"
8
+ )
9
+
10
+ var (
11
+ jsonZero = any(json.Number("0"))
12
+ domains = set(ovio.Domains...)
13
+ cellStates = set("applicable", "not-applicable", "blocked")
14
+ rangeStates = set("inventoried", "tool-scanned", "semantically-reviewed", "cross-boundary-reviewed", "verified", "excluded", "blocked")
15
+ reviewedRange = set("semantically-reviewed", "cross-boundary-reviewed", "verified", "excluded")
16
+ openFinding = set("confirmed", "approved-for-fix", "in-progress", "fixed-unverified", "deferred", "accepted-risk")
17
+ serious = set("critical", "high")
18
+ )
19
+
20
+ // consistency checks that findings, the coverage ledger, the applicability
21
+ // matrix, the control results and the recorded gates agree with each other, so
22
+ // a gate or control cannot claim PASS against the run's own records.
23
+ func consistency(run, genDir string, R map[string]map[string]any, add func(string, ...any)) error {
24
+ controls, err := rubricControls(run, R["run.json"])
25
+ if err != nil {
26
+ return err
27
+ }
28
+ fs := ovio.List(R["findings.json"]["findings"])
29
+ for _, it := range fs {
30
+ f := ovio.Obj(it)
31
+ fid := PyStr(f["id"])
32
+ if !domains[str(f, "domain")] {
33
+ add("finding %s: domain must be one of %s", fid, Repr(ovio.Domains))
34
+ }
35
+ if controls == nil {
36
+ continue
37
+ }
38
+ cs := ovio.List(f["controls"])
39
+ if len(cs) == 0 && severityOK[str(f, "status")] {
40
+ add("finding %s: a confirmed finding names the rubric controls it fails", fid)
41
+ }
42
+ for _, c := range cs {
43
+ if !controls.has(c) {
44
+ add("finding %s: unknown control %s", fid, PyStr(c))
45
+ }
46
+ }
47
+ }
48
+
49
+ cov := R["coverage.json"]
50
+ cells := ovio.List(cov["applicability"])
51
+ seen := vset{}
52
+ for _, it := range cells {
53
+ c := ovio.Obj(it)
54
+ key := Repr([]any{c["domain"], c["component"], c["lane"]})
55
+ if seen.has(key) {
56
+ add("applicability %s: duplicate cell", key)
57
+ }
58
+ seen.add(key)
59
+ if !domains[str(c, "domain")] || str(c, "component") == "" || str(c, "lane") == "" {
60
+ add("applicability %s: needs a known domain, a component and a lane", key)
61
+ }
62
+ st := str(c, "state")
63
+ if !cellStates[st] {
64
+ add("applicability %s: state must be applicable, not-applicable or blocked", key)
65
+ }
66
+ if st != "applicable" && !ovio.Truthy(c["reason"]) {
67
+ add("applicability %s: %s needs a reason", key, st)
68
+ }
69
+ for _, r := range ovio.List(c["receipts"]) {
70
+ if p := ovio.Str(r); p == "" || !inside(run, p) || !isFile(join(run, p)) {
71
+ add("applicability %s: receipt %s missing or outside the run dir", key, PyStr(r))
72
+ }
73
+ }
74
+ }
75
+ for _, it := range ovio.List(cov["files"]) {
76
+ for _, r := range ovio.List(ovio.Obj(it)["ranges"]) {
77
+ if st := str(ovio.Obj(r), "state"); !rangeStates[st] {
78
+ add("coverage %s: range state %s is not a coverage state", PyStr(ovio.Obj(it)["path"]), Repr(st))
79
+ }
80
+ }
81
+ }
82
+
83
+ results := ""
84
+ for _, name := range []string{"results-candidate.json", "results-baseline.json"} {
85
+ if isFile(join(genDir, name)) {
86
+ results = name
87
+ break
88
+ }
89
+ }
90
+ if results != "" {
91
+ doc, err := ovio.LoadObject(join(genDir, results))
92
+ if err != nil {
93
+ return err
94
+ }
95
+ res := ovio.Obj(doc["results"])
96
+ for _, it := range fs {
97
+ f := ovio.Obj(it)
98
+ if !openFinding[str(f, "status")] {
99
+ continue
100
+ }
101
+ for _, c := range ovio.List(f["controls"]) {
102
+ if str(ovio.Obj(res[ovio.Str(c)]), "status") == "PASS" {
103
+ add("finding %s: control %s is PASS in %s while the finding is %s",
104
+ PyStr(f["id"]), PyStr(c), results, str(f, "status"))
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ scp := join(genDir, "scorecard.json")
111
+ if !isFile(scp) {
112
+ return nil
113
+ }
114
+ sc, err := ovio.LoadObject(scp)
115
+ if err != nil {
116
+ return err
117
+ }
118
+ gates := ovio.Obj(sc["gates"])
119
+ claims := func(g string) bool { return str(gates, g) == "PASS" }
120
+ for _, it := range fs {
121
+ f := ovio.Obj(it)
122
+ fid, status := PyStr(f["id"]), str(f, "status")
123
+ if claims("G-NO-CRITICAL-HIGH") && openFinding[status] && serious[str(f, "severity")] {
124
+ add("scorecard: G-NO-CRITICAL-HIGH is PASS but finding %s is %s %s", fid, status, str(f, "severity"))
125
+ }
126
+ if claims("G-NO-OPEN-SERIOUS-LEAD") && (status == "candidate" || status == "needs-validation") &&
127
+ serious[str(f, "potential_impact")] {
128
+ add("scorecard: G-NO-OPEN-SERIOUS-LEAD is PASS but lead %s is open with potential impact %s", fid, str(f, "potential_impact"))
129
+ }
130
+ }
131
+ if !claims("G-COVERAGE") {
132
+ return nil
133
+ }
134
+ admitted := map[string]bool{}
135
+ for _, it := range ovio.List(R["dispatch.json"]["attempts"]) {
136
+ if x := ovio.Obj(it); str(x, "status") == "admitted" {
137
+ admitted[str(x, "receipt")] = true
138
+ }
139
+ }
140
+ if len(cells) == 0 {
141
+ add("scorecard: G-COVERAGE is PASS without an applicability matrix in coverage.json")
142
+ }
143
+ for _, it := range cells {
144
+ c := ovio.Obj(it)
145
+ key := Repr([]any{c["domain"], c["component"], c["lane"]})
146
+ switch str(c, "state") {
147
+ case "blocked":
148
+ add("scorecard: G-COVERAGE is PASS but applicability %s is blocked", key)
149
+ case "applicable":
150
+ if !checkedBy(run, str(c, "domain"), ovio.List(c["receipts"]), admitted) {
151
+ add("scorecard: G-COVERAGE is PASS but no admitted, non-gap receipt of applicability %s lists %s in domains_checked", key, str(c, "domain"))
152
+ }
153
+ }
154
+ }
155
+ for _, it := range ovio.List(cov["files"]) {
156
+ f := ovio.Obj(it)
157
+ if !ovio.Truthy(f["eligible"]) {
158
+ continue
159
+ }
160
+ rs := ovio.List(f["ranges"])
161
+ done := len(rs) > 0 || eq(f["lines"], jsonZero)
162
+ for _, r := range rs {
163
+ done = done && reviewedRange[str(ovio.Obj(r), "state")]
164
+ }
165
+ if !done {
166
+ add("scorecard: G-COVERAGE is PASS but eligible file %s has unreviewed ranges", PyStr(f["path"]))
167
+ }
168
+ }
169
+ return nil
170
+ }
171
+
172
+ // checkedBy reports whether any admitted, non-gap receipt records domain in
173
+ // domains_checked.
174
+ func checkedBy(run, domain string, receipts []any, admitted map[string]bool) bool {
175
+ for _, r := range receipts {
176
+ p := ovio.Str(r)
177
+ if !admitted[p] || !inside(run, p) || !isFile(join(run, p)) {
178
+ continue
179
+ }
180
+ rc, err := ovio.LoadObject(join(run, p))
181
+ if err != nil || str(rc, "outcome") == "gap" {
182
+ continue
183
+ }
184
+ if slices.ContainsFunc(ovio.List(rc["domains_checked"]), func(d any) bool { return d == any(domain) }) {
185
+ return true
186
+ }
187
+ }
188
+ return false
189
+ }
190
+
191
+ // rubricControls returns the control IDs of the run's rubric (revisions.rubric,
192
+ // else the plan's pinned rubric), or nil when no rubric is frozen yet.
193
+ func rubricControls(run string, rj map[string]any) (vset, error) {
194
+ revs := ovio.Obj(rj["revisions"])
195
+ rf := str(ovio.Obj(revs["rubric"]), "file")
196
+ if rf == "" {
197
+ if pf := str(ovio.Obj(revs["plan"]), "file"); pf != "" && inside(run, pf) && isFile(join(run, pf)) {
198
+ plan, err := ovio.LoadObject(join(run, pf))
199
+ if err != nil {
200
+ return nil, err
201
+ }
202
+ rf = str(ovio.Obj(plan["rubric"]), "file")
203
+ }
204
+ }
205
+ if rf == "" || !inside(run, rf) || !isFile(join(run, rf)) {
206
+ return nil, nil
207
+ }
208
+ doc, err := ovio.LoadObject(join(run, rf))
209
+ if err != nil {
210
+ return nil, err
211
+ }
212
+ ids := vset{}
213
+ for _, c := range ovio.List(doc["controls"]) {
214
+ ids.add(ovio.Obj(c)["id"])
215
+ }
216
+ return ids, nil
217
+ }
@@ -0,0 +1,132 @@
1
+ package records
2
+
3
+ import (
4
+ "encoding/json"
5
+ "errors"
6
+ "fmt"
7
+ "io"
8
+ "os"
9
+ "os/exec"
10
+ "path/filepath"
11
+ "regexp"
12
+ "strings"
13
+
14
+ "github.com/devrites/devrites/internal/gitenv"
15
+ "github.com/devrites/devrites/internal/overhaul/snapshot"
16
+ )
17
+
18
+ var runIDPattern = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$`)
19
+
20
+ // excludeLine is what init adds to the local .git/info/exclude when git does
21
+ // not already ignore the run area. It never edits the shared .gitignore.
22
+ const excludeLine = "/" + snapshot.RunAreaDir
23
+
24
+ // initRun creates <repo>/.devrites/overhaul/<run-id>/ owner-only and makes
25
+ // sure git ignores it, so run records never show up as repository changes.
26
+ func initRun(repo, runID string, stdout io.Writer) error {
27
+ if !runIDPattern.MatchString(runID) {
28
+ return fmt.Errorf("run id %q: use 1-64 letters, digits, '.', '_' or '-', starting with a letter or digit", runID)
29
+ }
30
+ top, err := gitText(repo, "rev-parse", "--show-toplevel")
31
+ if err != nil {
32
+ return fmt.Errorf("%s is not a git repository: %v", repo, err)
33
+ }
34
+ runDir := filepath.Join(filepath.FromSlash(top), filepath.FromSlash(snapshot.RunAreaDir), runID)
35
+ if _, err := os.Lstat(runDir); err == nil {
36
+ return fmt.Errorf("run area %s already exists; resume it or pick a new run id", runDir)
37
+ }
38
+ probe := snapshot.RunAreaDir + runID + "/probe"
39
+ how := "already-ignored"
40
+ ignored, err := gitIgnores(top, probe)
41
+ if err != nil {
42
+ return err
43
+ }
44
+ if !ignored {
45
+ if err := addExclude(top); err != nil {
46
+ return err
47
+ }
48
+ if ignored, err = gitIgnores(top, probe); err != nil {
49
+ return err
50
+ }
51
+ if !ignored {
52
+ return fmt.Errorf("git still does not ignore %s after adding %s to info/exclude; a negated rule may re-include it", snapshot.RunAreaDir, excludeLine)
53
+ }
54
+ how = "added-to-info-exclude"
55
+ }
56
+ if err := os.MkdirAll(filepath.Dir(runDir), 0o700); err != nil {
57
+ return err
58
+ }
59
+ if err := os.Mkdir(runDir, 0o700); err != nil {
60
+ return err
61
+ }
62
+ b, err := json.Marshal(struct {
63
+ Run string `json:"run"`
64
+ Ignore string `json:"ignore"`
65
+ }{runDir, how})
66
+ if err != nil {
67
+ return err
68
+ }
69
+ _, err = fmt.Fprintln(stdout, string(b))
70
+ return err
71
+ }
72
+
73
+ func addExclude(top string) error {
74
+ p, err := gitText(top, "rev-parse", "--git-path", "info/exclude")
75
+ if err != nil {
76
+ return err
77
+ }
78
+ path := filepath.FromSlash(p)
79
+ if !filepath.IsAbs(path) {
80
+ path = filepath.Join(top, path)
81
+ }
82
+ // #nosec G304 -- exclude file inside the repo's own resolved git dir
83
+ if data, err := os.ReadFile(path); err == nil {
84
+ for _, l := range strings.Split(string(data), "\n") {
85
+ if strings.TrimSpace(l) == excludeLine {
86
+ return nil
87
+ }
88
+ }
89
+ }
90
+ if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil {
91
+ return err
92
+ }
93
+ // #nosec G304 -- exclude file inside the repo's own resolved git dir
94
+ f, err := os.OpenFile(path, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0o644)
95
+ if err != nil {
96
+ return err
97
+ }
98
+ _, werr := fmt.Fprintf(f, "\n# /overhaul run records (local only)\n%s\n", excludeLine)
99
+ if cerr := f.Close(); werr == nil {
100
+ werr = cerr
101
+ }
102
+ return werr
103
+ }
104
+
105
+ // gitIgnores reports whether git's ignore rules match rel (tracked or not).
106
+ func gitIgnores(top, rel string) (bool, error) {
107
+ cmd := gitCmd(top, "check-ignore", "-q", "--no-index", rel)
108
+ err := cmd.Run()
109
+ var ee *exec.ExitError
110
+ switch {
111
+ case err == nil:
112
+ return true, nil
113
+ case errors.As(err, &ee) && ee.ExitCode() == 1:
114
+ return false, nil
115
+ default:
116
+ return false, fmt.Errorf("git check-ignore: %v", err)
117
+ }
118
+ }
119
+
120
+ func gitText(dir string, args ...string) (string, error) {
121
+ out, err := gitCmd(dir, args...).Output()
122
+ if err != nil {
123
+ return "", err
124
+ }
125
+ return strings.TrimSpace(string(out)), nil
126
+ }
127
+
128
+ func gitCmd(dir string, args ...string) *exec.Cmd {
129
+ cmd := exec.Command("git", append([]string{"-C", dir}, args...)...) // #nosec G204 -- fixed git binary; arguments passed as argv, no shell
130
+ cmd.Env = append(gitenv.Sanitize(os.Environ()), "GIT_OPTIONAL_LOCKS=0", "GIT_TERMINAL_PROMPT=0")
131
+ return cmd
132
+ }
@@ -0,0 +1,96 @@
1
+ package records
2
+
3
+ import (
4
+ "bytes"
5
+ "encoding/json"
6
+ "os"
7
+ "os/exec"
8
+ "path/filepath"
9
+ "runtime"
10
+ "strings"
11
+ "testing"
12
+ )
13
+
14
+ func gitRepo(t *testing.T) string {
15
+ t.Helper()
16
+ root := t.TempDir()
17
+ cmd := exec.Command("git", "init", "-q", root)
18
+ cmd.Env = append(os.Environ(), "GIT_CONFIG_GLOBAL="+os.DevNull, "GIT_CONFIG_NOSYSTEM=1")
19
+ if out, err := cmd.CombinedOutput(); err != nil {
20
+ t.Fatalf("git init: %v %s", err, out)
21
+ }
22
+ return root
23
+ }
24
+
25
+ func initRunCmd(args ...string) (int, string, string) {
26
+ var o, e bytes.Buffer
27
+ code := Run(append([]string{"init"}, args...), &o, &e)
28
+ return code, o.String(), e.String()
29
+ }
30
+
31
+ func TestInitCreatesIgnoredRunArea(t *testing.T) {
32
+ repo := gitRepo(t)
33
+ code, out, errs := initRunCmd(repo, "ov-1")
34
+ if code != 0 {
35
+ t.Fatalf("init: %d %s", code, errs)
36
+ }
37
+ var got struct{ Run, Ignore string }
38
+ if err := json.Unmarshal([]byte(out), &got); err != nil {
39
+ t.Fatalf("output %q: %v", out, err)
40
+ }
41
+ want := filepath.Join(repo, ".devrites", "overhaul", "ov-1")
42
+ if r1, _ := filepath.EvalSymlinks(got.Run); r1 != mustEval(t, want) || got.Ignore != "added-to-info-exclude" {
43
+ t.Fatalf("got %+v, want run %s added-to-info-exclude", got, want)
44
+ }
45
+ if fi, err := os.Stat(want); err != nil || !fi.IsDir() || (runtime.GOOS != "windows" && fi.Mode().Perm() != 0o700) {
46
+ t.Fatalf("run dir: %v %v", fi, err)
47
+ }
48
+ b, _ := os.ReadFile(filepath.Join(repo, ".git", "info", "exclude"))
49
+ if !strings.Contains(string(b), "/.devrites/overhaul/\n") {
50
+ t.Fatalf("exclude file: %q", b)
51
+ }
52
+ // Idempotent exclude, refused reuse of an existing run id.
53
+ if code, _, _ := initRunCmd(repo, "ov-2"); code != 0 {
54
+ t.Fatal("second run id refused")
55
+ }
56
+ b2, _ := os.ReadFile(filepath.Join(repo, ".git", "info", "exclude"))
57
+ if strings.Count(string(b2), "/.devrites/overhaul/") != 1 {
58
+ t.Fatalf("exclude line duplicated: %q", b2)
59
+ }
60
+ if code, _, errs := initRunCmd(repo, "ov-1"); code != 2 || !strings.Contains(errs, "already exists") {
61
+ t.Fatalf("reuse: %d %s", code, errs)
62
+ }
63
+ }
64
+
65
+ func TestInitRespectsExistingIgnore(t *testing.T) {
66
+ repo := gitRepo(t)
67
+ write(t, filepath.Join(repo, ".gitignore"), ".devrites/\n")
68
+ code, out, errs := initRunCmd(repo, "ov-1")
69
+ if code != 0 || !strings.Contains(out, `"already-ignored"`) {
70
+ t.Fatalf("init: %d %s %s", code, out, errs)
71
+ }
72
+ if b, err := os.ReadFile(filepath.Join(repo, ".git", "info", "exclude")); err == nil && strings.Contains(string(b), "overhaul") {
73
+ t.Fatalf("exclude touched although already ignored: %q", b)
74
+ }
75
+ }
76
+
77
+ func TestInitRejectsBadInput(t *testing.T) {
78
+ repo := gitRepo(t)
79
+ for _, id := range []string{"", "../x", "a/b", ".hidden", "x y"} {
80
+ if code, _, _ := initRunCmd(repo, id); code != 2 {
81
+ t.Errorf("run id %q accepted", id)
82
+ }
83
+ }
84
+ if code, _, _ := initRunCmd(t.TempDir(), "ov-1"); code != 2 {
85
+ t.Error("non-repository accepted")
86
+ }
87
+ }
88
+
89
+ func mustEval(t *testing.T, p string) string {
90
+ t.Helper()
91
+ r, err := filepath.EvalSymlinks(p)
92
+ if err != nil {
93
+ t.Fatal(err)
94
+ }
95
+ return r
96
+ }