devrites 5.10.2 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1033) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +24 -10
  3. package/bin/devrites.mjs +2 -0
  4. package/docs/agents/issue-driven-rites.md +1 -1
  5. package/docs/agents/issue-tracker.md +3 -0
  6. package/docs/cli.md +90 -0
  7. package/docs/command-map.md +9 -6
  8. package/docs/engine/commands.md +21 -0
  9. package/docs/engine/state-schema.md +1 -1
  10. package/docs/engine/workspace-schema.md +10 -2
  11. package/docs/skills.md +10 -4
  12. package/docs/usage.md +2 -0
  13. package/engine/commands.go +11 -5
  14. package/engine/help.go +80 -3
  15. package/engine/help_test.go +7 -1
  16. package/engine/internal/acceptance/acceptance_test.go +655 -0
  17. package/engine/internal/acceptance/approve.go +142 -0
  18. package/engine/internal/acceptance/cli.go +426 -0
  19. package/engine/internal/acceptance/evidence.go +139 -0
  20. package/engine/internal/acceptance/exec.go +131 -0
  21. package/engine/internal/acceptance/exec_unix.go +22 -0
  22. package/engine/internal/acceptance/exec_windows.go +16 -0
  23. package/engine/internal/acceptance/ledger.go +259 -0
  24. package/engine/internal/acceptance/lint.go +115 -0
  25. package/engine/internal/acceptance/run.go +207 -0
  26. package/engine/internal/acceptance/scaffold.go +55 -0
  27. package/engine/internal/devritespaths/paths.go +2 -0
  28. package/engine/internal/gate/gate.go +12 -2
  29. package/engine/internal/gate/gate_test.go +17 -9
  30. package/engine/internal/gate/gates_ledger.go +76 -0
  31. package/engine/internal/gate/readiness_binding.go +39 -0
  32. package/engine/internal/gate/readiness_binding_test.go +4 -3
  33. package/engine/internal/hostpack/hostpack.go +39 -5
  34. package/engine/internal/hostpack/hostpack_test.go +27 -13
  35. package/engine/internal/install/apply.go +17 -4
  36. package/engine/internal/install/install.go +16 -3
  37. package/engine/internal/install/install_test.go +32 -6
  38. package/engine/internal/install/merge.go +82 -22
  39. package/engine/internal/install/preflight.go +8 -2
  40. package/engine/internal/install/update.go +8 -2
  41. package/engine/internal/install/workspace_advisory.go +46 -0
  42. package/engine/internal/install/workspace_advisory_test.go +54 -0
  43. package/engine/internal/lib/candidate_test.go +1 -1
  44. package/engine/internal/lib/claims.go +411 -0
  45. package/engine/internal/lib/claims_test.go +182 -0
  46. package/engine/internal/lib/closeout_test.go +3 -3
  47. package/engine/internal/lib/context.go +445 -0
  48. package/engine/internal/lib/context_next_test.go +521 -0
  49. package/engine/internal/lib/detect.go +346 -0
  50. package/engine/internal/lib/detect_test.go +105 -0
  51. package/engine/internal/lib/diffscope.go +189 -0
  52. package/engine/internal/lib/dispatch.go +302 -0
  53. package/engine/internal/lib/drift.go +219 -0
  54. package/engine/internal/lib/drift_test.go +106 -0
  55. package/engine/internal/lib/dup.go +1243 -0
  56. package/engine/internal/lib/dup_test.go +488 -0
  57. package/engine/internal/lib/environment_report.go +1 -0
  58. package/engine/internal/lib/environment_report_test.go +2 -2
  59. package/engine/internal/lib/handoff.go +194 -0
  60. package/engine/internal/lib/handoff_test.go +83 -0
  61. package/engine/internal/lib/manifest_union_test.go +1 -1
  62. package/engine/internal/lib/metrics.go +256 -0
  63. package/engine/internal/lib/migrate_test.go +6 -6
  64. package/engine/internal/lib/next.go +155 -0
  65. package/engine/internal/lib/observe_budgets_test.go +3 -3
  66. package/engine/internal/lib/regression.go +378 -0
  67. package/engine/internal/lib/regression_test.go +179 -0
  68. package/engine/internal/lib/resolve_remediation_test.go +1 -1
  69. package/engine/internal/lib/secretscan_test.go +1 -1
  70. package/engine/internal/lib/slicecheck.go +179 -0
  71. package/engine/internal/lib/slicecheck_test.go +111 -0
  72. package/engine/internal/lib/taskgraph_test.go +2 -2
  73. package/engine/internal/lib/triggers.go +133 -0
  74. package/engine/internal/lib/windows.go +353 -0
  75. package/engine/internal/lib/windows_test.go +237 -0
  76. package/engine/internal/notes/cli.go +349 -0
  77. package/engine/internal/notes/notes.go +384 -0
  78. package/engine/internal/notes/notes_test.go +173 -0
  79. package/engine/internal/parallel/lease.go +3 -8
  80. package/engine/internal/parallel/parallel_test.go +34 -0
  81. package/engine/internal/state/budgets.go +13 -8
  82. package/engine/internal/state/observation_test.go +1 -0
  83. package/engine/internal/state/schema.go +4 -3
  84. package/engine/internal/state/state_test.go +3 -3
  85. package/engine/internal/state/workflow_manifest.json +13 -4
  86. package/engine/internal/state/workspaceschema_test.go +2 -2
  87. package/engine/internal/testutil/testutil.go +4 -0
  88. package/engine/main.go +59 -0
  89. package/engine/note_routing_test.go +95 -0
  90. package/engine/observation_contract_test.go +1 -0
  91. package/engine/root_routing_test.go +13 -3
  92. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/gates.md +4 -0
  93. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/state.md +1 -1
  94. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +1 -1
  95. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
  96. package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +1 -1
  97. package/engine/tests/adr_0027_readiness_binding_test.go +1 -0
  98. package/engine/tests/gate_test.go +3 -0
  99. package/engine/tests/parity_closeout_test.go +3 -3
  100. package/engine/tests/parity_resolve_test.go +1 -1
  101. package/engine/tests/workspace_observation_migration_test.go +8 -4
  102. package/install.sh +4 -1
  103. package/pack/.claude/agents/_shared/composition-findings.md +1 -0
  104. package/pack/.claude/agents/_shared/composition-result.md +1 -0
  105. package/pack/.claude/agents/_shared/result-admission.md +3 -0
  106. package/pack/.claude/agents/_shared/untrusted-input-devex.md +1 -0
  107. package/pack/.claude/agents/_shared/untrusted-input-retrospector.md +1 -0
  108. package/pack/.claude/agents/_shared/untrusted-input.md +1 -0
  109. package/pack/.claude/agents/devrites-code-reviewer.md +19 -3
  110. package/pack/.claude/agents/devrites-devex-reviewer.md +3 -3
  111. package/pack/.claude/agents/devrites-doubt-reviewer.md +3 -3
  112. package/pack/.claude/agents/devrites-evidence-scout.md +3 -3
  113. package/pack/.claude/agents/devrites-frontend-reviewer.md +3 -3
  114. package/pack/.claude/agents/devrites-performance-reviewer.md +3 -3
  115. package/pack/.claude/agents/devrites-plan-drafter.md +3 -3
  116. package/pack/.claude/agents/devrites-plan-reviewer.md +3 -3
  117. package/pack/.claude/agents/devrites-proof-runner.md +3 -3
  118. package/pack/.claude/agents/devrites-retrospector.md +3 -3
  119. package/pack/.claude/agents/devrites-security-auditor.md +25 -3
  120. package/pack/.claude/agents/devrites-simplifier-reviewer.md +15 -5
  121. package/pack/.claude/agents/devrites-slice-wright.md +3 -3
  122. package/pack/.claude/agents/devrites-spec-reviewer.md +3 -3
  123. package/pack/.claude/agents/devrites-strategy-reviewer.md +3 -3
  124. package/pack/.claude/agents/devrites-test-analyst.md +3 -3
  125. package/pack/.claude/agents/devrites-upgrade-planner.md +3 -3
  126. package/pack/.claude/settings.json +39 -2
  127. package/pack/.claude/skills/devrites-api-interface/SKILL.md +2 -0
  128. package/pack/.claude/skills/devrites-audit/SKILL.md +9 -0
  129. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +2 -0
  130. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  131. package/pack/.claude/skills/devrites-doubt/SKILL.md +2 -0
  132. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  133. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  134. package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  135. package/pack/.claude/skills/devrites-interview/SKILL.md +5 -0
  136. package/pack/.claude/skills/devrites-lib/SKILL.md +40 -5
  137. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-autocomplete.md +3 -0
  138. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-plan.md +3 -0
  139. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-vet.md +3 -0
  140. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  141. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  142. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  143. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  144. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -0
  145. package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  146. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  147. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  148. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  149. package/pack/.claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  150. package/pack/.claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  151. package/pack/.claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  152. package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  153. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  154. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  155. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  156. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  157. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  158. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +10 -1
  159. package/pack/.claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  160. package/pack/.claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  161. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  162. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  163. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  164. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  165. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  166. package/pack/.claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  167. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  168. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  169. package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  170. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  171. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  172. package/pack/.claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  173. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  174. package/pack/.claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  175. package/pack/.claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  176. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  177. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  178. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  179. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  180. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  181. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  182. package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  183. package/pack/.claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  184. package/pack/.claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  185. package/pack/.claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  186. package/pack/.claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  187. package/pack/.claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  188. package/pack/.claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  189. package/pack/.claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  190. package/pack/.claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  191. package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  192. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  193. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +58 -6
  194. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  195. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  196. package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  197. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  198. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  199. package/pack/.claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  200. package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  201. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  202. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  203. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -1
  204. package/pack/.claude/skills/devrites-source-driven/SKILL.md +2 -0
  205. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +2 -0
  206. package/pack/.claude/skills/rite/SKILL.md +2 -0
  207. package/pack/.claude/skills/rite-adopt/SKILL.md +2 -0
  208. package/pack/.claude/skills/rite-autocomplete/SKILL.md +7 -4
  209. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +1 -3
  210. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +8 -4
  211. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -3
  212. package/pack/.claude/skills/rite-build/SKILL.md +28 -14
  213. package/pack/.claude/skills/rite-build/reference/checkpoint.md +6 -0
  214. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +11 -2
  215. package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -4
  216. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  217. package/pack/.claude/skills/rite-clarify/SKILL.md +4 -0
  218. package/pack/.claude/skills/rite-converge/SKILL.md +14 -2
  219. package/pack/.claude/skills/rite-customize/SKILL.md +2 -0
  220. package/pack/.claude/skills/rite-define/SKILL.md +8 -2
  221. package/pack/.claude/skills/rite-doctor/SKILL.md +6 -1
  222. package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -0
  223. package/pack/.claude/skills/rite-explain/SKILL.md +2 -0
  224. package/pack/.claude/skills/rite-frame/SKILL.md +4 -0
  225. package/pack/.claude/skills/rite-handoff/SKILL.md +8 -1
  226. package/pack/.claude/skills/rite-learn/SKILL.md +2 -0
  227. package/pack/.claude/skills/rite-plan/SKILL.md +7 -3
  228. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -3
  229. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +1 -3
  230. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  231. package/pack/.claude/skills/rite-polish/SKILL.md +13 -2
  232. package/pack/.claude/skills/rite-polish/reference/code.md +6 -1
  233. package/pack/.claude/skills/rite-polish/reference/ledger.md +3 -1
  234. package/pack/.claude/skills/rite-pov/SKILL.md +2 -0
  235. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -0
  236. package/pack/.claude/skills/rite-pressure-test/SKILL.md +2 -0
  237. package/pack/.claude/skills/rite-prototype/SKILL.md +2 -0
  238. package/pack/.claude/skills/rite-prove/SKILL.md +17 -3
  239. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  240. package/pack/.claude/skills/rite-quick/SKILL.md +7 -1
  241. package/pack/.claude/skills/rite-resolve/SKILL.md +2 -0
  242. package/pack/.claude/skills/rite-review/SKILL.md +5 -1
  243. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -3
  244. package/pack/.claude/skills/rite-seal/SKILL.md +27 -3
  245. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +1 -0
  246. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +3 -1
  247. package/pack/.claude/skills/rite-ship/SKILL.md +5 -1
  248. package/pack/.claude/skills/rite-spec/SKILL.md +10 -3
  249. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
  250. package/pack/.claude/skills/rite-status/SKILL.md +9 -0
  251. package/pack/.claude/skills/rite-temper/SKILL.md +5 -1
  252. package/pack/.claude/skills/rite-upgrade/SKILL.md +9 -1
  253. package/pack/.claude/skills/rite-vet/SKILL.md +29 -9
  254. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -3
  255. package/pack/.claude/skills/rite-vet/reference/artifacts.md +20 -3
  256. package/pack/.claude/skills/rite-vet/reference/depth.md +1 -3
  257. package/pack/.claude/skills/rite-vet/reference/review-axes.md +6 -3
  258. package/pack/.claude/skills/rite-watch-pr/SKILL.md +2 -0
  259. package/pack/.claude/skills/rite-zoom-out/SKILL.md +2 -0
  260. package/pack/generated/README.md +4 -2
  261. package/pack/generated/claude/agents/devrites-code-reviewer.md +17 -1
  262. package/pack/generated/claude/agents/devrites-devex-reviewer.md +1 -1
  263. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +1 -1
  264. package/pack/generated/claude/agents/devrites-evidence-scout.md +1 -1
  265. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +1 -1
  266. package/pack/generated/claude/agents/devrites-performance-reviewer.md +1 -1
  267. package/pack/generated/claude/agents/devrites-plan-drafter.md +1 -1
  268. package/pack/generated/claude/agents/devrites-plan-reviewer.md +1 -1
  269. package/pack/generated/claude/agents/devrites-proof-runner.md +1 -1
  270. package/pack/generated/claude/agents/devrites-retrospector.md +1 -1
  271. package/pack/generated/claude/agents/devrites-security-auditor.md +23 -1
  272. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +13 -3
  273. package/pack/generated/claude/agents/devrites-slice-wright.md +1 -1
  274. package/pack/generated/claude/agents/devrites-spec-reviewer.md +1 -1
  275. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +1 -1
  276. package/pack/generated/claude/agents/devrites-test-analyst.md +1 -1
  277. package/pack/generated/claude/agents/devrites-upgrade-planner.md +1 -1
  278. package/pack/generated/claude/settings.json +39 -2
  279. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +2 -0
  280. package/pack/generated/claude/skills/devrites-audit/SKILL.md +9 -0
  281. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +2 -0
  282. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  283. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +2 -0
  284. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  285. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  286. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  287. package/pack/generated/claude/skills/devrites-interview/SKILL.md +5 -0
  288. package/pack/generated/claude/skills/devrites-lib/SKILL.md +40 -5
  289. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  290. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  291. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  292. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  293. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -0
  294. package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  295. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  296. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  297. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  298. package/pack/generated/claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  299. package/pack/generated/claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  300. package/pack/generated/claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  301. package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  302. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  303. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  304. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  305. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  306. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  307. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +10 -1
  308. package/pack/generated/claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  309. package/pack/generated/claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  310. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  311. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  312. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  313. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  314. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  315. package/pack/generated/claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  316. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  317. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  318. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  319. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  320. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  321. package/pack/generated/claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  322. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  323. package/pack/generated/claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  324. package/pack/generated/claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  325. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  326. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  327. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  328. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  329. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  330. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  331. package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  332. package/pack/generated/claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  333. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  334. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  335. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  336. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  337. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  338. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  339. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  340. package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  341. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  342. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +58 -6
  343. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  344. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  345. package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  346. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  347. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  348. package/pack/generated/claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  349. package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  350. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  351. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  352. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -1
  353. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +2 -0
  354. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +2 -0
  355. package/pack/generated/claude/skills/rite/SKILL.md +2 -0
  356. package/pack/generated/claude/skills/rite-adopt/SKILL.md +2 -0
  357. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +6 -1
  358. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -1
  359. package/pack/generated/claude/skills/rite-build/SKILL.md +28 -14
  360. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +6 -0
  361. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +11 -2
  362. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -4
  363. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  364. package/pack/generated/claude/skills/rite-clarify/SKILL.md +4 -0
  365. package/pack/generated/claude/skills/rite-converge/SKILL.md +14 -2
  366. package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -0
  367. package/pack/generated/claude/skills/rite-define/SKILL.md +8 -2
  368. package/pack/generated/claude/skills/rite-doctor/SKILL.md +6 -1
  369. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -0
  370. package/pack/generated/claude/skills/rite-explain/SKILL.md +2 -0
  371. package/pack/generated/claude/skills/rite-frame/SKILL.md +4 -0
  372. package/pack/generated/claude/skills/rite-handoff/SKILL.md +8 -1
  373. package/pack/generated/claude/skills/rite-learn/SKILL.md +2 -0
  374. package/pack/generated/claude/skills/rite-plan/SKILL.md +6 -0
  375. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  376. package/pack/generated/claude/skills/rite-polish/SKILL.md +13 -2
  377. package/pack/generated/claude/skills/rite-polish/reference/code.md +6 -1
  378. package/pack/generated/claude/skills/rite-polish/reference/ledger.md +3 -1
  379. package/pack/generated/claude/skills/rite-pov/SKILL.md +2 -0
  380. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -0
  381. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +2 -0
  382. package/pack/generated/claude/skills/rite-prototype/SKILL.md +2 -0
  383. package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -3
  384. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  385. package/pack/generated/claude/skills/rite-quick/SKILL.md +7 -1
  386. package/pack/generated/claude/skills/rite-resolve/SKILL.md +2 -0
  387. package/pack/generated/claude/skills/rite-review/SKILL.md +5 -1
  388. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -3
  389. package/pack/generated/claude/skills/rite-seal/SKILL.md +27 -3
  390. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +1 -0
  391. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +3 -1
  392. package/pack/generated/claude/skills/rite-ship/SKILL.md +5 -1
  393. package/pack/generated/claude/skills/rite-spec/SKILL.md +10 -3
  394. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
  395. package/pack/generated/claude/skills/rite-status/SKILL.md +9 -0
  396. package/pack/generated/claude/skills/rite-temper/SKILL.md +5 -1
  397. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +9 -1
  398. package/pack/generated/claude/skills/rite-vet/SKILL.md +28 -6
  399. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +19 -0
  400. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +5 -0
  401. package/pack/generated/claude/skills/rite-watch-pr/SKILL.md +2 -0
  402. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +2 -0
  403. package/pack/generated/codex/agents/devrites-code-reviewer.toml +16 -0
  404. package/pack/generated/codex/agents/devrites-security-auditor.toml +22 -0
  405. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +12 -2
  406. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +2 -0
  407. package/pack/generated/codex/skills/devrites-audit/SKILL.md +9 -0
  408. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +2 -0
  409. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +2 -0
  410. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +2 -0
  411. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +2 -0
  412. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  413. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +5 -0
  414. package/pack/generated/codex/skills/devrites-interview/SKILL.md +5 -0
  415. package/pack/generated/codex/skills/devrites-lib/SKILL.md +40 -5
  416. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  417. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  418. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  419. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +24 -1
  420. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -0
  421. package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  422. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  423. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +21 -1
  424. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  425. package/pack/generated/codex/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  426. package/pack/generated/codex/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  427. package/pack/generated/codex/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  428. package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  429. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  430. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  431. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +67 -7
  432. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  433. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  434. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +10 -1
  435. package/pack/generated/codex/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  436. package/pack/generated/codex/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  437. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  438. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  439. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  440. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  441. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +12 -0
  442. package/pack/generated/codex/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  443. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  444. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  445. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  446. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +117 -0
  447. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  448. package/pack/generated/codex/skills/devrites-lib/reference/standards/glossary.md +40 -0
  449. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +16 -0
  450. package/pack/generated/codex/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  451. package/pack/generated/codex/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  452. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +2 -0
  453. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  454. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +2 -0
  455. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +8 -1
  456. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +14 -0
  457. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  458. package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  459. package/pack/generated/codex/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  460. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/README.md +23 -0
  461. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  462. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/default.md +42 -0
  463. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/go.md +47 -0
  464. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/python.md +46 -0
  465. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  466. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  467. package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  468. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  469. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +58 -6
  470. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  471. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  472. package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  473. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +19 -2
  474. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +12 -0
  475. package/pack/generated/codex/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  476. package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +51 -0
  477. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  478. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  479. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -1
  480. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +2 -0
  481. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +2 -0
  482. package/pack/generated/codex/skills/rite/SKILL.md +2 -0
  483. package/pack/generated/codex/skills/rite-adopt/SKILL.md +2 -0
  484. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +6 -1
  485. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -1
  486. package/pack/generated/codex/skills/rite-build/SKILL.md +28 -14
  487. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +6 -0
  488. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +11 -2
  489. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -4
  490. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +34 -8
  491. package/pack/generated/codex/skills/rite-clarify/SKILL.md +4 -0
  492. package/pack/generated/codex/skills/rite-converge/SKILL.md +14 -2
  493. package/pack/generated/codex/skills/rite-customize/SKILL.md +2 -0
  494. package/pack/generated/codex/skills/rite-define/SKILL.md +8 -2
  495. package/pack/generated/codex/skills/rite-doctor/SKILL.md +6 -1
  496. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +2 -0
  497. package/pack/generated/codex/skills/rite-explain/SKILL.md +2 -0
  498. package/pack/generated/codex/skills/rite-frame/SKILL.md +4 -0
  499. package/pack/generated/codex/skills/rite-handoff/SKILL.md +8 -1
  500. package/pack/generated/codex/skills/rite-learn/SKILL.md +2 -0
  501. package/pack/generated/codex/skills/rite-plan/SKILL.md +6 -0
  502. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -1
  503. package/pack/generated/codex/skills/rite-polish/SKILL.md +13 -2
  504. package/pack/generated/codex/skills/rite-polish/reference/code.md +6 -1
  505. package/pack/generated/codex/skills/rite-polish/reference/ledger.md +3 -1
  506. package/pack/generated/codex/skills/rite-pov/SKILL.md +2 -0
  507. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +2 -0
  508. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +2 -0
  509. package/pack/generated/codex/skills/rite-prototype/SKILL.md +2 -0
  510. package/pack/generated/codex/skills/rite-prove/SKILL.md +17 -3
  511. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +6 -0
  512. package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -1
  513. package/pack/generated/codex/skills/rite-resolve/SKILL.md +2 -0
  514. package/pack/generated/codex/skills/rite-review/SKILL.md +5 -1
  515. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -3
  516. package/pack/generated/codex/skills/rite-seal/SKILL.md +27 -3
  517. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +1 -0
  518. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +3 -1
  519. package/pack/generated/codex/skills/rite-ship/SKILL.md +5 -1
  520. package/pack/generated/codex/skills/rite-spec/SKILL.md +10 -3
  521. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
  522. package/pack/generated/codex/skills/rite-status/SKILL.md +9 -0
  523. package/pack/generated/codex/skills/rite-temper/SKILL.md +5 -1
  524. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +9 -1
  525. package/pack/generated/codex/skills/rite-vet/SKILL.md +28 -6
  526. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +19 -0
  527. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +5 -0
  528. package/pack/generated/codex/skills/rite-watch-pr/SKILL.md +2 -0
  529. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +2 -0
  530. package/pack/generated/devin/AGENTS.md +23 -0
  531. package/pack/generated/devin/agents/devrites-code-reviewer.md +161 -0
  532. package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
  533. package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
  534. package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
  535. package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
  536. package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
  537. package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
  538. package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
  539. package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
  540. package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
  541. package/pack/generated/devin/agents/devrites-security-auditor.md +134 -0
  542. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +107 -0
  543. package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
  544. package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
  545. package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
  546. package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
  547. package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
  548. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +66 -0
  549. package/pack/generated/devin/skills/devrites-audit/SKILL.md +60 -0
  550. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +79 -0
  551. package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  552. package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  553. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +99 -0
  554. package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  555. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
  556. package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  557. package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  558. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  559. package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
  560. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +82 -0
  561. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +89 -0
  562. package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
  563. package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +120 -0
  564. package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  565. package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
  566. package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  567. package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +61 -0
  568. package/pack/generated/devin/skills/devrites-interview/SKILL.md +108 -0
  569. package/pack/generated/devin/skills/devrites-lib/SKILL.md +92 -0
  570. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +59 -0
  571. package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
  572. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +47 -0
  573. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +105 -0
  574. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +111 -0
  575. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +70 -0
  576. package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
  577. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +417 -0
  578. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +119 -0
  579. package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
  580. package/pack/generated/devin/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  581. package/pack/generated/devin/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  582. package/pack/generated/devin/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  583. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +26 -0
  584. package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +61 -0
  585. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +110 -0
  586. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +168 -0
  587. package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +53 -0
  588. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +126 -0
  589. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +176 -0
  590. package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +140 -0
  591. package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
  592. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
  593. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +49 -0
  594. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +121 -0
  595. package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
  596. package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +55 -0
  597. package/pack/generated/devin/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  598. package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
  599. package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +114 -0
  600. package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +49 -0
  601. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +117 -0
  602. package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
  603. package/pack/generated/devin/skills/devrites-lib/reference/standards/glossary.md +40 -0
  604. package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +41 -0
  605. package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
  606. package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +116 -0
  607. package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +90 -0
  608. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +99 -0
  609. package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +70 -0
  610. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +58 -0
  611. package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +56 -0
  612. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +126 -0
  613. package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
  614. package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
  615. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/README.md +23 -0
  616. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  617. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/default.md +42 -0
  618. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/go.md +47 -0
  619. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/python.md +46 -0
  620. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  621. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  622. package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
  623. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +27 -0
  624. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +254 -0
  625. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +257 -0
  626. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +211 -0
  627. package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
  628. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +229 -0
  629. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +104 -0
  630. package/pack/generated/devin/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  631. package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +51 -0
  632. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +429 -0
  633. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  634. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  635. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  636. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  637. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  638. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  639. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  640. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  641. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  642. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +292 -0
  643. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +76 -0
  644. package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  645. package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
  646. package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
  647. package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +55 -0
  648. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +137 -0
  649. package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  650. package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  651. package/pack/generated/devin/skills/rite/SKILL.md +150 -0
  652. package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
  653. package/pack/generated/devin/skills/rite-adopt/SKILL.md +53 -0
  654. package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
  655. package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
  656. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +147 -0
  657. package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
  658. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +157 -0
  659. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
  660. package/pack/generated/devin/skills/rite-build/SKILL.md +116 -0
  661. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
  662. package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
  663. package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
  664. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +62 -0
  665. package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
  666. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
  667. package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
  668. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +223 -0
  669. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +93 -0
  670. package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
  671. package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
  672. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +122 -0
  673. package/pack/generated/devin/skills/rite-clarify/SKILL.md +102 -0
  674. package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
  675. package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
  676. package/pack/generated/devin/skills/rite-converge/SKILL.md +156 -0
  677. package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
  678. package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
  679. package/pack/generated/devin/skills/rite-customize/SKILL.md +62 -0
  680. package/pack/generated/devin/skills/rite-define/SKILL.md +174 -0
  681. package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
  682. package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
  683. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
  684. package/pack/generated/devin/skills/rite-doctor/SKILL.md +73 -0
  685. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +57 -0
  686. package/pack/generated/devin/skills/rite-explain/SKILL.md +154 -0
  687. package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
  688. package/pack/generated/devin/skills/rite-frame/SKILL.md +118 -0
  689. package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
  690. package/pack/generated/devin/skills/rite-handoff/SKILL.md +104 -0
  691. package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
  692. package/pack/generated/devin/skills/rite-learn/SKILL.md +74 -0
  693. package/pack/generated/devin/skills/rite-plan/SKILL.md +191 -0
  694. package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
  695. package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
  696. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
  697. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
  698. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +44 -0
  699. package/pack/generated/devin/skills/rite-polish/SKILL.md +116 -0
  700. package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
  701. package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
  702. package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
  703. package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
  704. package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  705. package/pack/generated/devin/skills/rite-polish/reference/code.md +87 -0
  706. package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
  707. package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
  708. package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
  709. package/pack/generated/devin/skills/rite-polish/reference/ledger.md +67 -0
  710. package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
  711. package/pack/generated/devin/skills/rite-pov/SKILL.md +59 -0
  712. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +56 -0
  713. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +68 -0
  714. package/pack/generated/devin/skills/rite-prototype/SKILL.md +106 -0
  715. package/pack/generated/devin/skills/rite-prove/SKILL.md +136 -0
  716. package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
  717. package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
  718. package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
  719. package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
  720. package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
  721. package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +36 -0
  722. package/pack/generated/devin/skills/rite-quick/SKILL.md +87 -0
  723. package/pack/generated/devin/skills/rite-resolve/SKILL.md +100 -0
  724. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
  725. package/pack/generated/devin/skills/rite-review/SKILL.md +175 -0
  726. package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
  727. package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
  728. package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
  729. package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
  730. package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  731. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +91 -0
  732. package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
  733. package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
  734. package/pack/generated/devin/skills/rite-seal/SKILL.md +98 -0
  735. package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
  736. package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
  737. package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +30 -0
  738. package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
  739. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +49 -0
  740. package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  741. package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
  742. package/pack/generated/devin/skills/rite-ship/SKILL.md +91 -0
  743. package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
  744. package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
  745. package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
  746. package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
  747. package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
  748. package/pack/generated/devin/skills/rite-spec/SKILL.md +156 -0
  749. package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  750. package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
  751. package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
  752. package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
  753. package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
  754. package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
  755. package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
  756. package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
  757. package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
  758. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +232 -0
  759. package/pack/generated/devin/skills/rite-status/SKILL.md +66 -0
  760. package/pack/generated/devin/skills/rite-temper/SKILL.md +133 -0
  761. package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
  762. package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
  763. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
  764. package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
  765. package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
  766. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +129 -0
  767. package/pack/generated/devin/skills/rite-vet/SKILL.md +214 -0
  768. package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
  769. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +221 -0
  770. package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
  771. package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
  772. package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
  773. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +206 -0
  774. package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +86 -0
  775. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +71 -0
  776. package/pack/generated/omp/agents/devrites-code-reviewer.md +16 -0
  777. package/pack/generated/omp/agents/devrites-security-auditor.md +22 -0
  778. package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +12 -2
  779. package/pack/generated/omp/skills/devrites-api-interface/SKILL.md +2 -0
  780. package/pack/generated/omp/skills/devrites-audit/SKILL.md +9 -0
  781. package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +2 -0
  782. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +2 -0
  783. package/pack/generated/omp/skills/devrites-doubt/SKILL.md +2 -0
  784. package/pack/generated/omp/skills/devrites-frontend-craft/SKILL.md +2 -0
  785. package/pack/generated/omp/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  786. package/pack/generated/omp/skills/devrites-frontend-craft/reference/shape.md +5 -0
  787. package/pack/generated/omp/skills/devrites-interview/SKILL.md +5 -0
  788. package/pack/generated/omp/skills/devrites-lib/SKILL.md +40 -5
  789. package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  790. package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  791. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  792. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +24 -1
  793. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +10 -0
  794. package/pack/generated/omp/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  795. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  796. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +21 -1
  797. package/pack/generated/omp/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  798. package/pack/generated/omp/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  799. package/pack/generated/omp/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  800. package/pack/generated/omp/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  801. package/pack/generated/omp/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  802. package/pack/generated/omp/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  803. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  804. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +67 -7
  805. package/pack/generated/omp/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  806. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  807. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +10 -1
  808. package/pack/generated/omp/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  809. package/pack/generated/omp/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  810. package/pack/generated/omp/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  811. package/pack/generated/omp/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  812. package/pack/generated/omp/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  813. package/pack/generated/omp/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  814. package/pack/generated/omp/skills/devrites-lib/reference/standards/documentation.md +12 -0
  815. package/pack/generated/omp/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  816. package/pack/generated/omp/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  817. package/pack/generated/omp/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  818. package/pack/generated/omp/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  819. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +117 -0
  820. package/pack/generated/omp/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  821. package/pack/generated/omp/skills/devrites-lib/reference/standards/glossary.md +40 -0
  822. package/pack/generated/omp/skills/devrites-lib/reference/standards/hooks.md +16 -0
  823. package/pack/generated/omp/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  824. package/pack/generated/omp/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  825. package/pack/generated/omp/skills/devrites-lib/reference/standards/observability.md +2 -0
  826. package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  827. package/pack/generated/omp/skills/devrites-lib/reference/standards/patterns.md +2 -0
  828. package/pack/generated/omp/skills/devrites-lib/reference/standards/performance.md +8 -1
  829. package/pack/generated/omp/skills/devrites-lib/reference/standards/principles.md +14 -0
  830. package/pack/generated/omp/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  831. package/pack/generated/omp/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  832. package/pack/generated/omp/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  833. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/README.md +23 -0
  834. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  835. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/default.md +42 -0
  836. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/go.md +47 -0
  837. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/python.md +46 -0
  838. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  839. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  840. package/pack/generated/omp/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  841. package/pack/generated/omp/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  842. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +58 -6
  843. package/pack/generated/omp/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  844. package/pack/generated/omp/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  845. package/pack/generated/omp/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  846. package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +19 -2
  847. package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +12 -0
  848. package/pack/generated/omp/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  849. package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +51 -0
  850. package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  851. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  852. package/pack/generated/omp/skills/devrites-prose-craft/SKILL.md +3 -1
  853. package/pack/generated/omp/skills/devrites-source-driven/SKILL.md +2 -0
  854. package/pack/generated/omp/skills/devrites-ux-shape/SKILL.md +2 -0
  855. package/pack/generated/omp/skills/rite/SKILL.md +2 -0
  856. package/pack/generated/omp/skills/rite-adopt/SKILL.md +2 -0
  857. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +6 -1
  858. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +7 -1
  859. package/pack/generated/omp/skills/rite-build/SKILL.md +28 -14
  860. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +6 -0
  861. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +11 -2
  862. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -4
  863. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +34 -8
  864. package/pack/generated/omp/skills/rite-clarify/SKILL.md +4 -0
  865. package/pack/generated/omp/skills/rite-converge/SKILL.md +14 -2
  866. package/pack/generated/omp/skills/rite-customize/SKILL.md +2 -0
  867. package/pack/generated/omp/skills/rite-define/SKILL.md +8 -2
  868. package/pack/generated/omp/skills/rite-doctor/SKILL.md +6 -1
  869. package/pack/generated/omp/skills/rite-dogfood/SKILL.md +2 -0
  870. package/pack/generated/omp/skills/rite-explain/SKILL.md +2 -0
  871. package/pack/generated/omp/skills/rite-frame/SKILL.md +4 -0
  872. package/pack/generated/omp/skills/rite-handoff/SKILL.md +8 -1
  873. package/pack/generated/omp/skills/rite-learn/SKILL.md +2 -0
  874. package/pack/generated/omp/skills/rite-plan/SKILL.md +6 -0
  875. package/pack/generated/omp/skills/rite-plan/reference/task-breakdown.md +3 -1
  876. package/pack/generated/omp/skills/rite-polish/SKILL.md +13 -2
  877. package/pack/generated/omp/skills/rite-polish/reference/code.md +6 -1
  878. package/pack/generated/omp/skills/rite-polish/reference/ledger.md +3 -1
  879. package/pack/generated/omp/skills/rite-pov/SKILL.md +2 -0
  880. package/pack/generated/omp/skills/rite-pr-feedback/SKILL.md +2 -0
  881. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +2 -0
  882. package/pack/generated/omp/skills/rite-prototype/SKILL.md +2 -0
  883. package/pack/generated/omp/skills/rite-prove/SKILL.md +17 -3
  884. package/pack/generated/omp/skills/rite-prove/reference/test-command-discovery.md +6 -0
  885. package/pack/generated/omp/skills/rite-quick/SKILL.md +7 -1
  886. package/pack/generated/omp/skills/rite-resolve/SKILL.md +2 -0
  887. package/pack/generated/omp/skills/rite-review/SKILL.md +5 -1
  888. package/pack/generated/omp/skills/rite-review/reference/performance-checklist.md +14 -3
  889. package/pack/generated/omp/skills/rite-seal/SKILL.md +27 -3
  890. package/pack/generated/omp/skills/rite-seal/reference/go-no-go.md +1 -0
  891. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +3 -1
  892. package/pack/generated/omp/skills/rite-ship/SKILL.md +5 -1
  893. package/pack/generated/omp/skills/rite-spec/SKILL.md +10 -3
  894. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
  895. package/pack/generated/omp/skills/rite-status/SKILL.md +9 -0
  896. package/pack/generated/omp/skills/rite-temper/SKILL.md +5 -1
  897. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +9 -1
  898. package/pack/generated/omp/skills/rite-vet/SKILL.md +28 -6
  899. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +19 -0
  900. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +5 -0
  901. package/pack/generated/omp/skills/rite-watch-pr/SKILL.md +2 -0
  902. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +2 -0
  903. package/pack/generated/pi/agents/devrites-code-reviewer.md +16 -0
  904. package/pack/generated/pi/agents/devrites-security-auditor.md +22 -0
  905. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +12 -2
  906. package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +2 -0
  907. package/pack/generated/pi/skills/devrites-audit/SKILL.md +9 -0
  908. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +2 -0
  909. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +2 -0
  910. package/pack/generated/pi/skills/devrites-doubt/SKILL.md +2 -0
  911. package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +2 -0
  912. package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  913. package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +5 -0
  914. package/pack/generated/pi/skills/devrites-interview/SKILL.md +5 -0
  915. package/pack/generated/pi/skills/devrites-lib/SKILL.md +40 -5
  916. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  917. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  918. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  919. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +24 -1
  920. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +10 -0
  921. package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  922. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  923. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +21 -1
  924. package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  925. package/pack/generated/pi/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  926. package/pack/generated/pi/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  927. package/pack/generated/pi/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  928. package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  929. package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  930. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  931. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +67 -7
  932. package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  933. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  934. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +10 -1
  935. package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  936. package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  937. package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  938. package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  939. package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  940. package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  941. package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +12 -0
  942. package/pack/generated/pi/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  943. package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  944. package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  945. package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  946. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +117 -0
  947. package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  948. package/pack/generated/pi/skills/devrites-lib/reference/standards/glossary.md +40 -0
  949. package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +16 -0
  950. package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  951. package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  952. package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +2 -0
  953. package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  954. package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +2 -0
  955. package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +8 -1
  956. package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +14 -0
  957. package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  958. package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  959. package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  960. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/README.md +23 -0
  961. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  962. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/default.md +42 -0
  963. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/go.md +47 -0
  964. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/python.md +46 -0
  965. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  966. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  967. package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  968. package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  969. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +58 -6
  970. package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  971. package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  972. package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  973. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +19 -2
  974. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +12 -0
  975. package/pack/generated/pi/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  976. package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +51 -0
  977. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  978. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  979. package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +3 -1
  980. package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +2 -0
  981. package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +2 -0
  982. package/pack/generated/pi/skills/rite/SKILL.md +2 -0
  983. package/pack/generated/pi/skills/rite-adopt/SKILL.md +2 -0
  984. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +6 -1
  985. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +7 -1
  986. package/pack/generated/pi/skills/rite-build/SKILL.md +28 -14
  987. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +6 -0
  988. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +11 -2
  989. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -4
  990. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +34 -8
  991. package/pack/generated/pi/skills/rite-clarify/SKILL.md +4 -0
  992. package/pack/generated/pi/skills/rite-converge/SKILL.md +14 -2
  993. package/pack/generated/pi/skills/rite-customize/SKILL.md +2 -0
  994. package/pack/generated/pi/skills/rite-define/SKILL.md +8 -2
  995. package/pack/generated/pi/skills/rite-doctor/SKILL.md +6 -1
  996. package/pack/generated/pi/skills/rite-dogfood/SKILL.md +2 -0
  997. package/pack/generated/pi/skills/rite-explain/SKILL.md +2 -0
  998. package/pack/generated/pi/skills/rite-frame/SKILL.md +4 -0
  999. package/pack/generated/pi/skills/rite-handoff/SKILL.md +8 -1
  1000. package/pack/generated/pi/skills/rite-learn/SKILL.md +2 -0
  1001. package/pack/generated/pi/skills/rite-plan/SKILL.md +6 -0
  1002. package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +3 -1
  1003. package/pack/generated/pi/skills/rite-polish/SKILL.md +13 -2
  1004. package/pack/generated/pi/skills/rite-polish/reference/code.md +6 -1
  1005. package/pack/generated/pi/skills/rite-polish/reference/ledger.md +3 -1
  1006. package/pack/generated/pi/skills/rite-pov/SKILL.md +2 -0
  1007. package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +2 -0
  1008. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +2 -0
  1009. package/pack/generated/pi/skills/rite-prototype/SKILL.md +2 -0
  1010. package/pack/generated/pi/skills/rite-prove/SKILL.md +17 -3
  1011. package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +6 -0
  1012. package/pack/generated/pi/skills/rite-quick/SKILL.md +7 -1
  1013. package/pack/generated/pi/skills/rite-resolve/SKILL.md +2 -0
  1014. package/pack/generated/pi/skills/rite-review/SKILL.md +5 -1
  1015. package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +14 -3
  1016. package/pack/generated/pi/skills/rite-seal/SKILL.md +27 -3
  1017. package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +1 -0
  1018. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +3 -1
  1019. package/pack/generated/pi/skills/rite-ship/SKILL.md +5 -1
  1020. package/pack/generated/pi/skills/rite-spec/SKILL.md +10 -3
  1021. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
  1022. package/pack/generated/pi/skills/rite-status/SKILL.md +9 -0
  1023. package/pack/generated/pi/skills/rite-temper/SKILL.md +5 -1
  1024. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +9 -1
  1025. package/pack/generated/pi/skills/rite-vet/SKILL.md +28 -6
  1026. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +19 -0
  1027. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +5 -0
  1028. package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +2 -0
  1029. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +2 -0
  1030. package/package.json +4 -2
  1031. package/scripts/build-host-artifacts.sh +96 -7
  1032. package/scripts/devin-generate.sh +222 -0
  1033. package/update.sh +2 -1
@@ -0,0 +1,353 @@
1
+ package lib
2
+
3
+ import (
4
+ "fmt"
5
+ "io"
6
+ "os"
7
+ "path/filepath"
8
+ "regexp"
9
+ "strconv"
10
+ "strings"
11
+
12
+ "github.com/devrites/devrites/internal/devritespaths"
13
+ )
14
+
15
+ // windows.go — the broken-windows check. Review prose flags a new TODO, stub, or
16
+ // skipped test as a finding; this gate makes the register countable instead: any
17
+ // deferral marker the change *introduces* must carry a recorded waiver row in the
18
+ // workspace's windows.md, or the check fails. A silent deferral is the bug.
19
+ //
20
+ // devrites-engine check windows <slug> [--worktree|--staged|--base <ref>] [--cwd <dir>]
21
+ //
22
+ // 0 no unwaived markers 2 usage error 3 unwaived markers or blocked
23
+ //
24
+ // Only added lines count: a marker already on the baseline is pre-existing debt,
25
+ // never attributable to this change. Each windows.md row waives exactly one hit —
26
+ // one blanket row cannot cover a file's five new TODOs.
27
+ //
28
+ // windows.md row grammar (one waiver per line):
29
+ //
30
+ // - <project-relative path> | <marker token> | <reason>
31
+ //
32
+ // A row waives one hit at that path carrying that marker; empty reasons do not
33
+ // waive. Rows never suppress coverage — they explain it.
34
+
35
+ const windowsUsage = `usage: devrites-engine check windows <slug> [--worktree|--staged|--base <ref>] [--cwd <dir>]
36
+
37
+ Reports deferral markers introduced by the change (added lines only) and requires
38
+ each to be waived by a row in .devrites/work/<slug>/windows.md:
39
+ - <path> | <marker> | <reason>
40
+ Each row waives one hit at that path with that marker token.
41
+ Exit 0 clean or fully waived, 3 unwaived markers or blocked.`
42
+
43
+ // deferralTokenRe catches uppercase comment markers: TODO, FIXME, XXX, HACK.
44
+ var deferralTokenRe = regexp.MustCompile(`(?:^|[^A-Za-z0-9_])(TODO|FIXME|XXX|HACK)(?:[^A-Za-z0-9_]|$)`)
45
+
46
+ // deferralIdioms are substring signals for skipped tests and stub bodies.
47
+ var deferralIdioms = []string{
48
+ "t.Skip(", "t.Skipf(",
49
+ "test.skip(", "it.skip(", "describe.skip(", "context.skip(",
50
+ "xit(", "xdescribe(", "xtest(", "xcontext(", "fit(", "fdescribe(",
51
+ "pytest.mark.skip", "unittest.skip", "SkipTest",
52
+ "@Disabled", "#[ignore]",
53
+ "todo!(", "unimplemented!(",
54
+ "NotImplementedError",
55
+ "panic(\"TODO", "panic(\"unimplemented", "panic(\"not implemented",
56
+ "throw new Error(\"unimplemented", "throw new Error(\"not implemented",
57
+ "TODO: implement", "not yet implemented",
58
+ }
59
+
60
+ type windowHit struct {
61
+ Path string
62
+ Line int
63
+ Marker string
64
+ Text string
65
+ }
66
+
67
+ type windowWaiver struct {
68
+ Path string
69
+ Marker string
70
+ }
71
+
72
+ // windowsMarkers returns the deferral markers present on one added line. An
73
+ // idiom that already contains a token ("panic(\"TODO...") supersedes the bare
74
+ // token, so one line does not demand two waiver rows for a single marker.
75
+ func windowsMarkers(line string) []string {
76
+ var idioms []string
77
+ for _, idiom := range deferralIdioms {
78
+ if strings.Contains(line, idiom) {
79
+ idioms = append(idioms, idiom)
80
+ }
81
+ }
82
+ var out []string
83
+ for _, m := range deferralTokenRe.FindAllStringSubmatch(line, -1) {
84
+ superseded := false
85
+ for _, idiom := range idioms {
86
+ if strings.Contains(idiom, m[1]) {
87
+ superseded = true
88
+ break
89
+ }
90
+ }
91
+ if !superseded {
92
+ out = append(out, m[1])
93
+ }
94
+ }
95
+ return append(out, idioms...)
96
+ }
97
+
98
+ // addedLinesFromDiff parses a `git diff -U0` stream into added (path, line,
99
+ // text) rows and returns the set of paths the diff touched. Deleted files
100
+ // (+++ /dev/null) contribute nothing; binary hunks carry no + lines and pass
101
+ // through harmlessly.
102
+ func addedLinesFromDiff(diff string) ([]windowHit, map[string]bool) {
103
+ var hits []windowHit
104
+ diffPaths := map[string]bool{}
105
+ var path string
106
+ newLine := 0
107
+ inHunk := false
108
+ for _, line := range strings.Split(diff, "\n") {
109
+ switch {
110
+ case strings.HasPrefix(line, "+++ "):
111
+ p := strings.TrimSpace(strings.TrimPrefix(line, "+++ "))
112
+ p = strings.Trim(p, `"`)
113
+ if p == "/dev/null" {
114
+ path = ""
115
+ continue
116
+ }
117
+ path = strings.TrimPrefix(p, "b/")
118
+ diffPaths[path] = true
119
+ case strings.HasPrefix(line, "@@"):
120
+ inHunk = false
121
+ // @@ -a,b +c,d @@ — the +c side is the new-file start.
122
+ if i := strings.Index(line, "+"); i >= 0 {
123
+ rest := line[i+1:]
124
+ end := strings.IndexAny(rest, " ,@")
125
+ if end < 0 {
126
+ end = len(rest)
127
+ }
128
+ if n, err := strconv.Atoi(strings.TrimSuffix(rest[:end], ",")); err == nil {
129
+ newLine = n
130
+ inHunk = path != ""
131
+ }
132
+ }
133
+ case inHunk && strings.HasPrefix(line, "+"):
134
+ text := line[1:]
135
+ for _, marker := range windowsMarkers(text) {
136
+ hits = append(hits, windowHit{Path: path, Line: newLine, Marker: marker, Text: strings.TrimSpace(text)})
137
+ }
138
+ newLine++
139
+ case inHunk && strings.HasPrefix(line, "-"):
140
+ // removed line: new-file line number does not advance
141
+ case inHunk && strings.HasPrefix(line, `\`):
142
+ // ""
143
+ default:
144
+ newLine++
145
+ }
146
+ }
147
+ return hits, diffPaths
148
+ }
149
+
150
+ // scanWholeFile treats every line of an untracked file as added.
151
+ func scanWholeFile(root, rel string, hits []windowHit) []windowHit {
152
+ full := filepath.Join(root, filepath.FromSlash(rel))
153
+ info, err := os.Stat(full)
154
+ if err != nil || !info.Mode().IsRegular() || info.Size() > workspaceArtifactLimit {
155
+ return hits
156
+ }
157
+ // #nosec G304 -- project-relative path from git status, stat'd regular file
158
+ raw, err := os.ReadFile(full)
159
+ if err != nil {
160
+ return hits
161
+ }
162
+ if strings.ContainsRune(string(raw[:min(len(raw), 512)]), '\x00') {
163
+ return hits // binary
164
+ }
165
+ for i, line := range strings.Split(string(raw), "\n") {
166
+ for _, marker := range windowsMarkers(line) {
167
+ hits = append(hits, windowHit{Path: rel, Line: i + 1, Marker: marker, Text: strings.TrimSpace(line)})
168
+ }
169
+ }
170
+ return hits
171
+ }
172
+
173
+ // windowsHits collects introduced deferral markers for the requested diff mode.
174
+ func windowsHits(opts diffScopeOpts) ([]windowHit, error) {
175
+ dir := opts.cwd
176
+ if dir == "" {
177
+ dir = opts.root
178
+ }
179
+ var hits []windowHit
180
+ var diffArgs []string
181
+ switch opts.mode {
182
+ case "staged":
183
+ diffArgs = []string{"diff", "--cached", "-U0", "--"}
184
+ case "base":
185
+ diffArgs = []string{"diff", opts.base, "-U0", "--"}
186
+ default:
187
+ diffArgs = []string{"diff", "HEAD", "-U0", "--"}
188
+ }
189
+ diff, err := runGitCommand(dir, nil, diffArgs...)
190
+ var diffPaths map[string]bool
191
+ switch {
192
+ case err == nil:
193
+ hits, diffPaths = addedLinesFromDiff(string(diff))
194
+ case opts.mode == "worktree" && isUnbornHEAD(dir):
195
+ // No commits yet: every changed file is wholly new.
196
+ diffPaths = map[string]bool{}
197
+ default:
198
+ return nil, err
199
+ }
200
+ if opts.mode == "worktree" {
201
+ // Whole files whose diff produced no hunks: staged additions land in
202
+ // `git diff HEAD`, untracked files never do — scan those in full.
203
+ // Status paths are repo-root-relative, so reads anchor at toplevel.
204
+ repoRoot, rerr := runGitCommand(dir, nil, "rev-parse", "--show-toplevel")
205
+ status, serr := gitStatusPaths(dir)
206
+ if serr == nil && rerr == nil {
207
+ repo := strings.TrimSpace(string(repoRoot))
208
+ for _, p := range status {
209
+ if diffPaths[p] || strings.HasPrefix(p, ".devrites/") {
210
+ continue
211
+ }
212
+ hits = scanWholeFile(repo, p, hits)
213
+ }
214
+ }
215
+ }
216
+ var kept []windowHit
217
+ for _, h := range hits {
218
+ if !strings.HasPrefix(h.Path, ".devrites/") {
219
+ kept = append(kept, h)
220
+ }
221
+ }
222
+ return kept, nil
223
+ }
224
+
225
+ func isUnbornHEAD(dir string) bool {
226
+ _, err := runGitCommand(dir, nil, "rev-parse", "--verify", "HEAD")
227
+ return err != nil
228
+ }
229
+
230
+ // parseWindowsWaivers reads windows.md waiver rows: `- path | marker | reason`.
231
+ // Rows missing fields or with an empty reason are reported as warnings and
232
+ // waive nothing.
233
+ func parseWindowsWaivers(raw string) (map[windowWaiver]int, []string) {
234
+ waivers := map[windowWaiver]int{}
235
+ var warnings []string
236
+ for _, line := range strings.Split(string(raw), "\n") {
237
+ trimmed := strings.TrimSpace(line)
238
+ if !strings.HasPrefix(trimmed, "-") && !strings.HasPrefix(trimmed, "*") {
239
+ continue
240
+ }
241
+ body := strings.TrimSpace(strings.TrimPrefix(strings.TrimPrefix(trimmed, "-"), "*"))
242
+ parts := strings.Split(body, "|")
243
+ if len(parts) < 3 {
244
+ if strings.Contains(body, "|") {
245
+ warnings = append(warnings, fmt.Sprintf("windows.md: malformed waiver row %q (want `path | marker | reason`)", body))
246
+ }
247
+ continue
248
+ }
249
+ w := windowWaiver{
250
+ Path: strings.Trim(strings.TrimSpace(parts[0]), "`'\""),
251
+ Marker: strings.Trim(strings.TrimSpace(parts[1]), "`'\""),
252
+ }
253
+ if strings.TrimSpace(parts[2]) == "" {
254
+ warnings = append(warnings, fmt.Sprintf("windows.md: waiver for %s %s has no reason — does not waive", w.Path, w.Marker))
255
+ continue
256
+ }
257
+ waivers[w]++
258
+ }
259
+ return waivers, warnings
260
+ }
261
+
262
+ // parseWindowsArgs accepts the diff-scope mode flags plus a slug; the allowlist
263
+ // flags do not apply to marker scanning.
264
+ func parseWindowsArgs(root string, args []string, stderr io.Writer) (diffScopeOpts, int) {
265
+ opts := diffScopeOpts{mode: "worktree", phase: "seal", root: root}
266
+ var positional []string
267
+ for i := 0; i < len(args); i++ {
268
+ switch args[i] {
269
+ case "--phase":
270
+ opts.phase = argAt(args, i+1)
271
+ i++
272
+ case "--staged":
273
+ opts.mode = "staged"
274
+ case "--worktree":
275
+ opts.mode = "worktree"
276
+ case "--base":
277
+ opts.mode = "base"
278
+ opts.base = argAt(args, i+1)
279
+ i++
280
+ case "--cwd":
281
+ opts.cwd = argAt(args, i+1)
282
+ i++
283
+ default:
284
+ if strings.HasPrefix(args[i], "-") {
285
+ fmt.Fprintf(stderr, "windows: unknown flag %q\n", args[i])
286
+ return opts, 2
287
+ }
288
+ positional = append(positional, args[i])
289
+ }
290
+ }
291
+ if len(positional) != 1 || opts.mode == "base" && opts.base == "" {
292
+ fmt.Fprint(stderr, windowsUsage)
293
+ return opts, 2
294
+ }
295
+ opts.slug = positional[0]
296
+ return opts, 0
297
+ }
298
+
299
+ // RunCheckWindows reports deferral markers the change introduced and fails when
300
+ // any lacks a recorded waiver in the workspace's windows.md.
301
+ func RunCheckWindows(root string, args []string, stdout, stderr io.Writer) int {
302
+ opts, code := parseWindowsArgs(root, args, stderr)
303
+ if code != 0 {
304
+ return code
305
+ }
306
+ hits, err := windowsHits(opts)
307
+ if err != nil {
308
+ fmt.Fprintf(stderr, "windows: %v\n", err)
309
+ return 2
310
+ }
311
+ var waivers map[windowWaiver]int
312
+ var warnings []string
313
+ workspace, werr := devritespaths.ExistingFeatureDirChecked(root, opts.slug)
314
+ if werr != nil {
315
+ fmt.Fprintf(stderr, "windows: workspace unavailable: %v\n", werr)
316
+ return 3
317
+ }
318
+ if raw, rerr := os.ReadFile(filepath.Join(workspace, "windows.md")); rerr == nil { // #nosec G304 -- workspace is validated and filename is fixed
319
+ waivers, warnings = parseWindowsWaivers(string(raw))
320
+ } else if !os.IsNotExist(rerr) {
321
+ fmt.Fprintf(stderr, "windows: cannot read windows.md: %v\n", rerr)
322
+ return 3
323
+ }
324
+ for _, w := range warnings {
325
+ fmt.Fprintf(stdout, "windows: %s\n", w)
326
+ }
327
+ var unwaived, waived int
328
+ for _, h := range hits {
329
+ w := windowWaiver{Path: h.Path, Marker: h.Marker}
330
+ if waivers[w] > 0 {
331
+ waivers[w]--
332
+ waived++
333
+ fmt.Fprintf(stdout, "windows: waived: %s:%d %s\n", h.Path, h.Line, h.Marker)
334
+ continue
335
+ }
336
+ unwaived++
337
+ fmt.Fprintf(stdout, "windows: unwaived: %s:%d %s — %s\n", h.Path, h.Line, h.Marker, h.Text)
338
+ }
339
+ switch {
340
+ case len(hits) == 0:
341
+ fmt.Fprintln(stdout, "windows: ok (no deferral markers introduced)")
342
+ recordMetric(root, opts.slug, opts.phase, "windows", "", 0)
343
+ return 0
344
+ case unwaived == 0:
345
+ fmt.Fprintf(stdout, "windows: ok (%d marker(s), all waived in windows.md)\n", len(hits))
346
+ recordMetric(root, opts.slug, opts.phase, "windows", "", int64(len(hits)))
347
+ return 0
348
+ default:
349
+ fmt.Fprintf(stdout, "windows: BLOCKED: %d unwaived deferral marker(s) introduced — remove them or record waivers in windows.md\n", unwaived)
350
+ recordMetric(root, opts.slug, opts.phase, "windows", "", int64(unwaived))
351
+ return 3
352
+ }
353
+ }
@@ -0,0 +1,237 @@
1
+ package lib
2
+
3
+ import (
4
+ "bytes"
5
+ "os"
6
+ "path/filepath"
7
+ "strings"
8
+ "testing"
9
+
10
+ "github.com/devrites/devrites/internal/testutil"
11
+ )
12
+
13
+ func windowsWorkspace(t *testing.T, project, slug string) string {
14
+ t.Helper()
15
+ root := filepath.Join(project, ".devrites")
16
+ ws := filepath.Join(root, "work", slug)
17
+ if err := os.MkdirAll(ws, 0o755); err != nil {
18
+ t.Fatal(err)
19
+ }
20
+ return root
21
+ }
22
+
23
+ func initWindowsRepo(t *testing.T, project string) {
24
+ t.Helper()
25
+ runSecretScanGit(t, project, "init", "-q")
26
+ runSecretScanGit(t, project, "config", "user.email", "tests@example.invalid")
27
+ runSecretScanGit(t, project, "config", "user.name", "DevRites Tests")
28
+ }
29
+
30
+ func TestWindowsMarkersTokensAndIdioms(t *testing.T) {
31
+ cases := []struct {
32
+ line string
33
+ want []string
34
+ }{
35
+ {"// TODO: backfill index", []string{"TODO"}},
36
+ {"x := 1 //FIXME", []string{"FIXME"}},
37
+ {"ATODOX is not a marker", nil},
38
+ {"t.Skip(\"flaky\")", []string{"t.Skip("}},
39
+ {"describe.skip(\"x\", fn)", []string{"describe.skip("}},
40
+ {"raise NotImplementedError", []string{"NotImplementedError"}},
41
+ {"panic(\"TODO wire cache\")", []string{"panic(\"TODO"}},
42
+ {"plain line", nil},
43
+ }
44
+ for _, tc := range cases {
45
+ got := windowsMarkers(tc.line)
46
+ if len(got) != len(tc.want) {
47
+ t.Fatalf("%q: markers=%v want %v", tc.line, got, tc.want)
48
+ }
49
+ for i := range got {
50
+ if got[i] != tc.want[i] {
51
+ t.Fatalf("%q: marker[%d]=%q want %q", tc.line, i, got[i], tc.want[i])
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ func TestAddedLinesFromDiffTracksPathsWithoutHits(t *testing.T) {
58
+ diff := "diff --git a/a.go b/a.go\nindex 1..2 100644\n--- a/a.go\n+++ b/a.go\n@@ -1 +1,2 @@\n+fmt.Println(\"hi\")\ndiff --git a/b.go b/b.go\nindex 3..4 100644\n--- a/b.go\n+++ b/b.go\n@@ -5 +6 @@\n+\t// TODO later\n"
59
+ hits, paths := addedLinesFromDiff(diff)
60
+ if len(hits) != 1 || hits[0].Path != "b.go" || hits[0].Line != 6 || hits[0].Marker != "TODO" {
61
+ t.Fatalf("hits=%v", hits)
62
+ }
63
+ if !paths["a.go"] || !paths["b.go"] {
64
+ t.Fatalf("diffPaths=%v", paths)
65
+ }
66
+ }
67
+
68
+ func TestAddedLinesFromDiffSkipsDeletedAndBinary(t *testing.T) {
69
+ diff := "diff --git a/gone.go b/gone.go\nindex 1..2 100644\n--- a/gone.go\n+++ /dev/null\n@@ -1 +0,0 @@\n-// TODO removed\ndiff --git a/bin b/bin\nindex 1..2 100644\nBinary files a/bin and b/bin differ\n"
70
+ hits, paths := addedLinesFromDiff(diff)
71
+ if len(hits) != 0 {
72
+ t.Fatalf("hits=%v", hits)
73
+ }
74
+ if paths["gone.go"] {
75
+ t.Fatal("deleted path recorded as new-side path")
76
+ }
77
+ }
78
+
79
+ func TestCheckWindowsBlocksUnwaivedWorktreeMarker(t *testing.T) {
80
+ project := t.TempDir()
81
+ initWindowsRepo(t, project)
82
+ root := windowsWorkspace(t, project, "feat")
83
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n\nfunc A() {}\n")
84
+ runSecretScanGit(t, project, "add", "--", "a.go")
85
+ runSecretScanGit(t, project, "commit", "-qm", "baseline")
86
+ testutil.AppendFile(t, filepath.Join(project, "a.go"), "\n// TODO: wire retry\n")
87
+
88
+ var out, errBuf bytes.Buffer
89
+ code := RunCheckWindows(root, []string{"feat"}, &out, &errBuf)
90
+ if code != 3 {
91
+ t.Fatalf("code=%d out=%q err=%q", code, out.String(), errBuf.String())
92
+ }
93
+ if !strings.Contains(out.String(), "unwaived: a.go:5 TODO") {
94
+ t.Fatalf("out=%q", out.String())
95
+ }
96
+ }
97
+
98
+ func TestCheckWindowsWaivedRowPasses(t *testing.T) {
99
+ project := t.TempDir()
100
+ initWindowsRepo(t, project)
101
+ root := windowsWorkspace(t, project, "feat")
102
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n")
103
+ runSecretScanGit(t, project, "add", "--", "a.go")
104
+ runSecretScanGit(t, project, "commit", "-qm", "baseline")
105
+ testutil.AppendFile(t, filepath.Join(project, "a.go"), "// HACK: hotfix until v2\n")
106
+ testutil.WriteFile(t, filepath.Join(root, "work", "feat", "windows.md"),
107
+ "# Deferred\n\n- a.go | HACK | follow-up tracked in next slice\n")
108
+
109
+ var out, errBuf bytes.Buffer
110
+ if code := RunCheckWindows(root, []string{"feat"}, &out, &errBuf); code != 0 {
111
+ t.Fatalf("code=%d out=%q err=%q", code, out.String(), errBuf.String())
112
+ }
113
+ if !strings.Contains(out.String(), "all waived") {
114
+ t.Fatalf("out=%q", out.String())
115
+ }
116
+ }
117
+
118
+ func TestCheckWindowsIgnoresPreexistingMarkers(t *testing.T) {
119
+ project := t.TempDir()
120
+ initWindowsRepo(t, project)
121
+ root := windowsWorkspace(t, project, "feat")
122
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n\n// TODO: pre-existing debt\n")
123
+ runSecretScanGit(t, project, "add", "--", "a.go")
124
+ runSecretScanGit(t, project, "commit", "-qm", "baseline")
125
+ testutil.AppendFile(t, filepath.Join(project, "a.go"), "\nfunc Clean() {}\n")
126
+
127
+ var out, errBuf bytes.Buffer
128
+ if code := RunCheckWindows(root, []string{"feat"}, &out, &errBuf); code != 0 {
129
+ t.Fatalf("pre-existing marker flagged: code=%d out=%q", code, out.String())
130
+ }
131
+ }
132
+
133
+ func TestCheckWindowsScansUntrackedAndSkipsDevrites(t *testing.T) {
134
+ project := t.TempDir()
135
+ initWindowsRepo(t, project)
136
+ root := windowsWorkspace(t, project, "feat")
137
+ testutil.WriteFile(t, filepath.Join(project, "b.go"), "package b\n\n// FIXME: fresh file\n")
138
+ testutil.WriteFile(t, filepath.Join(project, ".devrites", "scratch.md"), "TODO: not product code\n")
139
+
140
+ var out, errBuf bytes.Buffer
141
+ code := RunCheckWindows(root, []string{"feat"}, &out, &errBuf)
142
+ if code != 3 {
143
+ t.Fatalf("code=%d out=%q", code, out.String())
144
+ }
145
+ if !strings.Contains(out.String(), "unwaived: b.go:3 FIXME") {
146
+ t.Fatalf("out=%q", out.String())
147
+ }
148
+ if strings.Contains(out.String(), "scratch.md") {
149
+ t.Fatalf(".devrites path flagged: %q", out.String())
150
+ }
151
+ }
152
+
153
+ func TestCheckWindowsStagedMode(t *testing.T) {
154
+ project := t.TempDir()
155
+ initWindowsRepo(t, project)
156
+ root := windowsWorkspace(t, project, "feat")
157
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n")
158
+ runSecretScanGit(t, project, "add", "--", "a.go")
159
+ runSecretScanGit(t, project, "commit", "-qm", "baseline")
160
+ testutil.AppendFile(t, filepath.Join(project, "a.go"), "// XXX: staged stub\n")
161
+ runSecretScanGit(t, project, "add", "--", "a.go")
162
+
163
+ var out, errBuf bytes.Buffer
164
+ if code := RunCheckWindows(root, []string{"feat", "--staged"}, &out, &errBuf); code != 3 {
165
+ t.Fatalf("code=%d out=%q", code, out.String())
166
+ }
167
+ }
168
+
169
+ func TestCheckWindowsUnbornHEADScansAll(t *testing.T) {
170
+ project := t.TempDir()
171
+ initWindowsRepo(t, project)
172
+ root := windowsWorkspace(t, project, "feat")
173
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n\n// TODO: first commit pending\n")
174
+
175
+ var out, errBuf bytes.Buffer
176
+ if code := RunCheckWindows(root, []string{"feat"}, &out, &errBuf); code != 3 {
177
+ t.Fatalf("unborn HEAD: code=%d out=%q err=%q", code, out.String(), errBuf.String())
178
+ }
179
+ }
180
+
181
+ func TestCheckWindowsMalformedWaiverWarnsAndBlocks(t *testing.T) {
182
+ project := t.TempDir()
183
+ initWindowsRepo(t, project)
184
+ root := windowsWorkspace(t, project, "feat")
185
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n")
186
+ runSecretScanGit(t, project, "add", "--", "a.go")
187
+ runSecretScanGit(t, project, "commit", "-qm", "baseline")
188
+ testutil.AppendFile(t, filepath.Join(project, "a.go"), "// TODO: needs waiver\n")
189
+ testutil.WriteFile(t, filepath.Join(root, "work", "feat", "windows.md"), "- a.go | TODO |\n")
190
+
191
+ var out, errBuf bytes.Buffer
192
+ code := RunCheckWindows(root, []string{"feat"}, &out, &errBuf)
193
+ if code != 3 {
194
+ t.Fatalf("code=%d out=%q", code, out.String())
195
+ }
196
+ if !strings.Contains(out.String(), "no reason") {
197
+ t.Fatalf("missing empty-reason warning: %q", out.String())
198
+ }
199
+ }
200
+
201
+ func TestCheckWindowsBaseModeScopesToFeatureDiff(t *testing.T) {
202
+ project := t.TempDir()
203
+ initWindowsRepo(t, project)
204
+ root := windowsWorkspace(t, project, "feat")
205
+ testutil.WriteFile(t, filepath.Join(project, "a.go"), "package a\n")
206
+ runSecretScanGit(t, project, "add", "--", "a.go")
207
+ runSecretScanGit(t, project, "commit", "-qm", "base")
208
+ runSecretScanGit(t, project, "rev-parse", "HEAD")
209
+ testutil.WriteFile(t, filepath.Join(project, "feat.go"), "package feat\n\n// TODO: slice 2\n")
210
+ runSecretScanGit(t, project, "add", "--", "feat.go")
211
+ runSecretScanGit(t, project, "commit", "-qm", "feature commit")
212
+ // `git diff <base>` is base→worktree: an uncommitted marker still flags.
213
+ testutil.AppendFile(t, filepath.Join(project, "a.go"), "// FIXME: uncommitted follow-up\n")
214
+
215
+ var out, errBuf bytes.Buffer
216
+ code := RunCheckWindows(root, []string{"feat", "--base", "HEAD~1"}, &out, &errBuf)
217
+ if code != 3 {
218
+ t.Fatalf("code=%d out=%q err=%q", code, out.String(), errBuf.String())
219
+ }
220
+ if !strings.Contains(out.String(), "unwaived: feat.go:3 TODO") ||
221
+ !strings.Contains(out.String(), "unwaived: a.go:2 FIXME") {
222
+ t.Fatalf("out=%q", out.String())
223
+ }
224
+ }
225
+
226
+ func TestCheckWindowsUsageErrors(t *testing.T) {
227
+ project := t.TempDir()
228
+ root := windowsWorkspace(t, project, "feat")
229
+ var out, errBuf bytes.Buffer
230
+ if code := RunCheckWindows(root, nil, &out, &errBuf); code != 2 {
231
+ t.Fatalf("no slug: code=%d", code)
232
+ }
233
+ errBuf.Reset()
234
+ if code := RunCheckWindows(root, []string{"feat", "--base"}, &out, &errBuf); code != 2 {
235
+ t.Fatalf("missing base ref: code=%d", code)
236
+ }
237
+ }