devrites 5.11.0 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (903) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/docs/agents/issue-driven-rites.md +1 -1
  4. package/docs/agents/issue-tracker.md +3 -0
  5. package/docs/cli.md +90 -0
  6. package/docs/command-map.md +4 -2
  7. package/docs/engine/commands.md +21 -0
  8. package/docs/engine/state-schema.md +1 -1
  9. package/docs/engine/workspace-schema.md +10 -2
  10. package/docs/usage.md +2 -0
  11. package/engine/commands.go +11 -5
  12. package/engine/help.go +80 -3
  13. package/engine/help_test.go +7 -1
  14. package/engine/internal/acceptance/acceptance_test.go +655 -0
  15. package/engine/internal/acceptance/approve.go +142 -0
  16. package/engine/internal/acceptance/cli.go +426 -0
  17. package/engine/internal/acceptance/evidence.go +139 -0
  18. package/engine/internal/acceptance/exec.go +131 -0
  19. package/engine/internal/acceptance/exec_unix.go +22 -0
  20. package/engine/internal/acceptance/exec_windows.go +16 -0
  21. package/engine/internal/acceptance/ledger.go +259 -0
  22. package/engine/internal/acceptance/lint.go +115 -0
  23. package/engine/internal/acceptance/run.go +207 -0
  24. package/engine/internal/acceptance/scaffold.go +55 -0
  25. package/engine/internal/gate/gate.go +12 -2
  26. package/engine/internal/gate/gate_test.go +17 -9
  27. package/engine/internal/gate/gates_ledger.go +76 -0
  28. package/engine/internal/gate/readiness_binding.go +39 -0
  29. package/engine/internal/gate/readiness_binding_test.go +4 -3
  30. package/engine/internal/install/install.go +7 -1
  31. package/engine/internal/install/install_test.go +17 -4
  32. package/engine/internal/install/merge.go +82 -22
  33. package/engine/internal/install/update.go +7 -1
  34. package/engine/internal/install/workspace_advisory.go +46 -0
  35. package/engine/internal/install/workspace_advisory_test.go +54 -0
  36. package/engine/internal/lib/candidate_test.go +1 -1
  37. package/engine/internal/lib/claims.go +411 -0
  38. package/engine/internal/lib/claims_test.go +182 -0
  39. package/engine/internal/lib/closeout_test.go +3 -3
  40. package/engine/internal/lib/context.go +445 -0
  41. package/engine/internal/lib/context_next_test.go +521 -0
  42. package/engine/internal/lib/detect.go +346 -0
  43. package/engine/internal/lib/detect_test.go +105 -0
  44. package/engine/internal/lib/diffscope.go +189 -0
  45. package/engine/internal/lib/dispatch.go +302 -0
  46. package/engine/internal/lib/drift.go +219 -0
  47. package/engine/internal/lib/drift_test.go +106 -0
  48. package/engine/internal/lib/dup.go +1243 -0
  49. package/engine/internal/lib/dup_test.go +488 -0
  50. package/engine/internal/lib/environment_report.go +1 -0
  51. package/engine/internal/lib/environment_report_test.go +2 -2
  52. package/engine/internal/lib/handoff.go +194 -0
  53. package/engine/internal/lib/handoff_test.go +83 -0
  54. package/engine/internal/lib/manifest_union_test.go +1 -1
  55. package/engine/internal/lib/metrics.go +256 -0
  56. package/engine/internal/lib/migrate_test.go +6 -6
  57. package/engine/internal/lib/next.go +155 -0
  58. package/engine/internal/lib/observe_budgets_test.go +3 -3
  59. package/engine/internal/lib/regression.go +378 -0
  60. package/engine/internal/lib/regression_test.go +179 -0
  61. package/engine/internal/lib/resolve_remediation_test.go +1 -1
  62. package/engine/internal/lib/secretscan_test.go +1 -1
  63. package/engine/internal/lib/slicecheck.go +179 -0
  64. package/engine/internal/lib/slicecheck_test.go +111 -0
  65. package/engine/internal/lib/taskgraph_test.go +2 -2
  66. package/engine/internal/lib/triggers.go +133 -0
  67. package/engine/internal/lib/windows.go +353 -0
  68. package/engine/internal/lib/windows_test.go +237 -0
  69. package/engine/internal/notes/cli.go +349 -0
  70. package/engine/internal/notes/notes.go +384 -0
  71. package/engine/internal/notes/notes_test.go +173 -0
  72. package/engine/internal/parallel/lease.go +3 -8
  73. package/engine/internal/parallel/parallel_test.go +34 -0
  74. package/engine/internal/state/budgets.go +13 -8
  75. package/engine/internal/state/observation_test.go +1 -0
  76. package/engine/internal/state/schema.go +4 -3
  77. package/engine/internal/state/state_test.go +3 -3
  78. package/engine/internal/state/workflow_manifest.json +13 -4
  79. package/engine/internal/state/workspaceschema_test.go +2 -2
  80. package/engine/internal/testutil/testutil.go +4 -0
  81. package/engine/main.go +59 -0
  82. package/engine/note_routing_test.go +95 -0
  83. package/engine/observation_contract_test.go +1 -0
  84. package/engine/root_routing_test.go +13 -3
  85. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/gates.md +4 -0
  86. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/state.md +1 -1
  87. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +1 -1
  88. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
  89. package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +1 -1
  90. package/engine/tests/adr_0027_readiness_binding_test.go +1 -0
  91. package/engine/tests/gate_test.go +3 -0
  92. package/engine/tests/parity_closeout_test.go +3 -3
  93. package/engine/tests/parity_resolve_test.go +1 -1
  94. package/engine/tests/workspace_observation_migration_test.go +8 -4
  95. package/pack/.claude/agents/_shared/composition-findings.md +1 -0
  96. package/pack/.claude/agents/_shared/composition-result.md +1 -0
  97. package/pack/.claude/agents/_shared/result-admission.md +3 -0
  98. package/pack/.claude/agents/_shared/untrusted-input-devex.md +1 -0
  99. package/pack/.claude/agents/_shared/untrusted-input-retrospector.md +1 -0
  100. package/pack/.claude/agents/_shared/untrusted-input.md +1 -0
  101. package/pack/.claude/agents/devrites-code-reviewer.md +19 -3
  102. package/pack/.claude/agents/devrites-devex-reviewer.md +3 -3
  103. package/pack/.claude/agents/devrites-doubt-reviewer.md +3 -3
  104. package/pack/.claude/agents/devrites-evidence-scout.md +3 -3
  105. package/pack/.claude/agents/devrites-frontend-reviewer.md +3 -3
  106. package/pack/.claude/agents/devrites-performance-reviewer.md +3 -3
  107. package/pack/.claude/agents/devrites-plan-drafter.md +3 -3
  108. package/pack/.claude/agents/devrites-plan-reviewer.md +3 -3
  109. package/pack/.claude/agents/devrites-proof-runner.md +3 -3
  110. package/pack/.claude/agents/devrites-retrospector.md +3 -3
  111. package/pack/.claude/agents/devrites-security-auditor.md +25 -3
  112. package/pack/.claude/agents/devrites-simplifier-reviewer.md +15 -5
  113. package/pack/.claude/agents/devrites-slice-wright.md +3 -3
  114. package/pack/.claude/agents/devrites-spec-reviewer.md +3 -3
  115. package/pack/.claude/agents/devrites-strategy-reviewer.md +3 -3
  116. package/pack/.claude/agents/devrites-test-analyst.md +3 -3
  117. package/pack/.claude/agents/devrites-upgrade-planner.md +3 -3
  118. package/pack/.claude/settings.json +39 -2
  119. package/pack/.claude/skills/devrites-api-interface/SKILL.md +2 -0
  120. package/pack/.claude/skills/devrites-audit/SKILL.md +9 -0
  121. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +2 -0
  122. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  123. package/pack/.claude/skills/devrites-doubt/SKILL.md +2 -0
  124. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  125. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  126. package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  127. package/pack/.claude/skills/devrites-interview/SKILL.md +5 -0
  128. package/pack/.claude/skills/devrites-lib/SKILL.md +40 -5
  129. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-autocomplete.md +3 -0
  130. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-plan.md +3 -0
  131. package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-vet.md +3 -0
  132. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  133. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  134. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  135. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  136. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -0
  137. package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  138. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  139. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  140. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  141. package/pack/.claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  142. package/pack/.claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  143. package/pack/.claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  144. package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  145. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  146. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  147. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  148. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  149. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  150. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +10 -1
  151. package/pack/.claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  152. package/pack/.claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  153. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  154. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  155. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  156. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  157. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  158. package/pack/.claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  159. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  160. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  161. package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  162. package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  163. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  164. package/pack/.claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  165. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  166. package/pack/.claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  167. package/pack/.claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  168. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  169. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  170. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  171. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  172. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  173. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  174. package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  175. package/pack/.claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  176. package/pack/.claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  177. package/pack/.claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  178. package/pack/.claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  179. package/pack/.claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  180. package/pack/.claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  181. package/pack/.claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  182. package/pack/.claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  183. package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  184. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  185. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +58 -6
  186. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  187. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  188. package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  189. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  190. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  191. package/pack/.claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  192. package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  193. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  194. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  195. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -1
  196. package/pack/.claude/skills/devrites-source-driven/SKILL.md +2 -0
  197. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +2 -0
  198. package/pack/.claude/skills/rite/SKILL.md +2 -0
  199. package/pack/.claude/skills/rite-adopt/SKILL.md +2 -0
  200. package/pack/.claude/skills/rite-autocomplete/SKILL.md +7 -4
  201. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +1 -3
  202. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +8 -4
  203. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -3
  204. package/pack/.claude/skills/rite-build/SKILL.md +28 -14
  205. package/pack/.claude/skills/rite-build/reference/checkpoint.md +6 -0
  206. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +11 -2
  207. package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -4
  208. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  209. package/pack/.claude/skills/rite-clarify/SKILL.md +4 -0
  210. package/pack/.claude/skills/rite-converge/SKILL.md +14 -2
  211. package/pack/.claude/skills/rite-customize/SKILL.md +2 -0
  212. package/pack/.claude/skills/rite-define/SKILL.md +8 -2
  213. package/pack/.claude/skills/rite-doctor/SKILL.md +6 -1
  214. package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -0
  215. package/pack/.claude/skills/rite-explain/SKILL.md +2 -0
  216. package/pack/.claude/skills/rite-frame/SKILL.md +4 -0
  217. package/pack/.claude/skills/rite-handoff/SKILL.md +8 -1
  218. package/pack/.claude/skills/rite-learn/SKILL.md +2 -0
  219. package/pack/.claude/skills/rite-plan/SKILL.md +7 -3
  220. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -3
  221. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +1 -3
  222. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  223. package/pack/.claude/skills/rite-polish/SKILL.md +13 -2
  224. package/pack/.claude/skills/rite-polish/reference/code.md +6 -1
  225. package/pack/.claude/skills/rite-polish/reference/ledger.md +3 -1
  226. package/pack/.claude/skills/rite-pov/SKILL.md +2 -0
  227. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -0
  228. package/pack/.claude/skills/rite-pressure-test/SKILL.md +2 -0
  229. package/pack/.claude/skills/rite-prototype/SKILL.md +2 -0
  230. package/pack/.claude/skills/rite-prove/SKILL.md +17 -3
  231. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  232. package/pack/.claude/skills/rite-quick/SKILL.md +7 -1
  233. package/pack/.claude/skills/rite-resolve/SKILL.md +2 -0
  234. package/pack/.claude/skills/rite-review/SKILL.md +5 -1
  235. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -3
  236. package/pack/.claude/skills/rite-seal/SKILL.md +27 -3
  237. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +1 -0
  238. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +3 -1
  239. package/pack/.claude/skills/rite-ship/SKILL.md +5 -1
  240. package/pack/.claude/skills/rite-spec/SKILL.md +10 -3
  241. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
  242. package/pack/.claude/skills/rite-status/SKILL.md +9 -0
  243. package/pack/.claude/skills/rite-temper/SKILL.md +5 -1
  244. package/pack/.claude/skills/rite-upgrade/SKILL.md +9 -1
  245. package/pack/.claude/skills/rite-vet/SKILL.md +29 -9
  246. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -3
  247. package/pack/.claude/skills/rite-vet/reference/artifacts.md +20 -3
  248. package/pack/.claude/skills/rite-vet/reference/depth.md +1 -3
  249. package/pack/.claude/skills/rite-vet/reference/review-axes.md +6 -3
  250. package/pack/.claude/skills/rite-watch-pr/SKILL.md +2 -0
  251. package/pack/.claude/skills/rite-zoom-out/SKILL.md +2 -0
  252. package/pack/generated/claude/agents/devrites-code-reviewer.md +17 -1
  253. package/pack/generated/claude/agents/devrites-devex-reviewer.md +1 -1
  254. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +1 -1
  255. package/pack/generated/claude/agents/devrites-evidence-scout.md +1 -1
  256. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +1 -1
  257. package/pack/generated/claude/agents/devrites-performance-reviewer.md +1 -1
  258. package/pack/generated/claude/agents/devrites-plan-drafter.md +1 -1
  259. package/pack/generated/claude/agents/devrites-plan-reviewer.md +1 -1
  260. package/pack/generated/claude/agents/devrites-proof-runner.md +1 -1
  261. package/pack/generated/claude/agents/devrites-retrospector.md +1 -1
  262. package/pack/generated/claude/agents/devrites-security-auditor.md +23 -1
  263. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +13 -3
  264. package/pack/generated/claude/agents/devrites-slice-wright.md +1 -1
  265. package/pack/generated/claude/agents/devrites-spec-reviewer.md +1 -1
  266. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +1 -1
  267. package/pack/generated/claude/agents/devrites-test-analyst.md +1 -1
  268. package/pack/generated/claude/agents/devrites-upgrade-planner.md +1 -1
  269. package/pack/generated/claude/settings.json +39 -2
  270. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +2 -0
  271. package/pack/generated/claude/skills/devrites-audit/SKILL.md +9 -0
  272. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +2 -0
  273. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +2 -0
  274. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +2 -0
  275. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +2 -0
  276. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  277. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
  278. package/pack/generated/claude/skills/devrites-interview/SKILL.md +5 -0
  279. package/pack/generated/claude/skills/devrites-lib/SKILL.md +40 -5
  280. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  281. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  282. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  283. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +24 -1
  284. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -0
  285. package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  286. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  287. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +21 -1
  288. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  289. package/pack/generated/claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  290. package/pack/generated/claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  291. package/pack/generated/claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  292. package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  293. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  294. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  295. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
  296. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  297. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  298. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +10 -1
  299. package/pack/generated/claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  300. package/pack/generated/claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  301. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  302. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  303. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  304. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  305. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
  306. package/pack/generated/claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  307. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  308. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  309. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  310. package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +117 -0
  311. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  312. package/pack/generated/claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
  313. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
  314. package/pack/generated/claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  315. package/pack/generated/claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  316. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +2 -0
  317. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  318. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
  319. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +8 -1
  320. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +14 -0
  321. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  322. package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  323. package/pack/generated/claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  324. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
  325. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  326. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
  327. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
  328. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
  329. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  330. package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  331. package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  332. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  333. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +58 -6
  334. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  335. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  336. package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  337. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +19 -2
  338. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
  339. package/pack/generated/claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  340. package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +51 -0
  341. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  342. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  343. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -1
  344. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +2 -0
  345. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +2 -0
  346. package/pack/generated/claude/skills/rite/SKILL.md +2 -0
  347. package/pack/generated/claude/skills/rite-adopt/SKILL.md +2 -0
  348. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +6 -1
  349. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -1
  350. package/pack/generated/claude/skills/rite-build/SKILL.md +28 -14
  351. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +6 -0
  352. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +11 -2
  353. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -4
  354. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +34 -8
  355. package/pack/generated/claude/skills/rite-clarify/SKILL.md +4 -0
  356. package/pack/generated/claude/skills/rite-converge/SKILL.md +14 -2
  357. package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -0
  358. package/pack/generated/claude/skills/rite-define/SKILL.md +8 -2
  359. package/pack/generated/claude/skills/rite-doctor/SKILL.md +6 -1
  360. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -0
  361. package/pack/generated/claude/skills/rite-explain/SKILL.md +2 -0
  362. package/pack/generated/claude/skills/rite-frame/SKILL.md +4 -0
  363. package/pack/generated/claude/skills/rite-handoff/SKILL.md +8 -1
  364. package/pack/generated/claude/skills/rite-learn/SKILL.md +2 -0
  365. package/pack/generated/claude/skills/rite-plan/SKILL.md +6 -0
  366. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -1
  367. package/pack/generated/claude/skills/rite-polish/SKILL.md +13 -2
  368. package/pack/generated/claude/skills/rite-polish/reference/code.md +6 -1
  369. package/pack/generated/claude/skills/rite-polish/reference/ledger.md +3 -1
  370. package/pack/generated/claude/skills/rite-pov/SKILL.md +2 -0
  371. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -0
  372. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +2 -0
  373. package/pack/generated/claude/skills/rite-prototype/SKILL.md +2 -0
  374. package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -3
  375. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
  376. package/pack/generated/claude/skills/rite-quick/SKILL.md +7 -1
  377. package/pack/generated/claude/skills/rite-resolve/SKILL.md +2 -0
  378. package/pack/generated/claude/skills/rite-review/SKILL.md +5 -1
  379. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -3
  380. package/pack/generated/claude/skills/rite-seal/SKILL.md +27 -3
  381. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +1 -0
  382. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +3 -1
  383. package/pack/generated/claude/skills/rite-ship/SKILL.md +5 -1
  384. package/pack/generated/claude/skills/rite-spec/SKILL.md +10 -3
  385. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
  386. package/pack/generated/claude/skills/rite-status/SKILL.md +9 -0
  387. package/pack/generated/claude/skills/rite-temper/SKILL.md +5 -1
  388. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +9 -1
  389. package/pack/generated/claude/skills/rite-vet/SKILL.md +28 -6
  390. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +19 -0
  391. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +5 -0
  392. package/pack/generated/claude/skills/rite-watch-pr/SKILL.md +2 -0
  393. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +2 -0
  394. package/pack/generated/codex/agents/devrites-code-reviewer.toml +16 -0
  395. package/pack/generated/codex/agents/devrites-security-auditor.toml +22 -0
  396. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +12 -2
  397. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +2 -0
  398. package/pack/generated/codex/skills/devrites-audit/SKILL.md +9 -0
  399. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +2 -0
  400. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +2 -0
  401. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +2 -0
  402. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +2 -0
  403. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  404. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +5 -0
  405. package/pack/generated/codex/skills/devrites-interview/SKILL.md +5 -0
  406. package/pack/generated/codex/skills/devrites-lib/SKILL.md +40 -5
  407. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  408. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  409. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  410. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +24 -1
  411. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -0
  412. package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  413. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  414. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +21 -1
  415. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  416. package/pack/generated/codex/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  417. package/pack/generated/codex/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  418. package/pack/generated/codex/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  419. package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  420. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  421. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  422. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +67 -7
  423. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  424. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  425. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +10 -1
  426. package/pack/generated/codex/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  427. package/pack/generated/codex/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  428. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  429. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  430. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  431. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  432. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +12 -0
  433. package/pack/generated/codex/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  434. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  435. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  436. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  437. package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +117 -0
  438. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  439. package/pack/generated/codex/skills/devrites-lib/reference/standards/glossary.md +40 -0
  440. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +16 -0
  441. package/pack/generated/codex/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  442. package/pack/generated/codex/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  443. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +2 -0
  444. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  445. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +2 -0
  446. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +8 -1
  447. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +14 -0
  448. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  449. package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  450. package/pack/generated/codex/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  451. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/README.md +23 -0
  452. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  453. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/default.md +42 -0
  454. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/go.md +47 -0
  455. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/python.md +46 -0
  456. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  457. package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  458. package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  459. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  460. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +58 -6
  461. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  462. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  463. package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  464. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +19 -2
  465. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +12 -0
  466. package/pack/generated/codex/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  467. package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +51 -0
  468. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  469. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  470. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -1
  471. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +2 -0
  472. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +2 -0
  473. package/pack/generated/codex/skills/rite/SKILL.md +2 -0
  474. package/pack/generated/codex/skills/rite-adopt/SKILL.md +2 -0
  475. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +6 -1
  476. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -1
  477. package/pack/generated/codex/skills/rite-build/SKILL.md +28 -14
  478. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +6 -0
  479. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +11 -2
  480. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -4
  481. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +34 -8
  482. package/pack/generated/codex/skills/rite-clarify/SKILL.md +4 -0
  483. package/pack/generated/codex/skills/rite-converge/SKILL.md +14 -2
  484. package/pack/generated/codex/skills/rite-customize/SKILL.md +2 -0
  485. package/pack/generated/codex/skills/rite-define/SKILL.md +8 -2
  486. package/pack/generated/codex/skills/rite-doctor/SKILL.md +6 -1
  487. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +2 -0
  488. package/pack/generated/codex/skills/rite-explain/SKILL.md +2 -0
  489. package/pack/generated/codex/skills/rite-frame/SKILL.md +4 -0
  490. package/pack/generated/codex/skills/rite-handoff/SKILL.md +8 -1
  491. package/pack/generated/codex/skills/rite-learn/SKILL.md +2 -0
  492. package/pack/generated/codex/skills/rite-plan/SKILL.md +6 -0
  493. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -1
  494. package/pack/generated/codex/skills/rite-polish/SKILL.md +13 -2
  495. package/pack/generated/codex/skills/rite-polish/reference/code.md +6 -1
  496. package/pack/generated/codex/skills/rite-polish/reference/ledger.md +3 -1
  497. package/pack/generated/codex/skills/rite-pov/SKILL.md +2 -0
  498. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +2 -0
  499. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +2 -0
  500. package/pack/generated/codex/skills/rite-prototype/SKILL.md +2 -0
  501. package/pack/generated/codex/skills/rite-prove/SKILL.md +17 -3
  502. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +6 -0
  503. package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -1
  504. package/pack/generated/codex/skills/rite-resolve/SKILL.md +2 -0
  505. package/pack/generated/codex/skills/rite-review/SKILL.md +5 -1
  506. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -3
  507. package/pack/generated/codex/skills/rite-seal/SKILL.md +27 -3
  508. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +1 -0
  509. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +3 -1
  510. package/pack/generated/codex/skills/rite-ship/SKILL.md +5 -1
  511. package/pack/generated/codex/skills/rite-spec/SKILL.md +10 -3
  512. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
  513. package/pack/generated/codex/skills/rite-status/SKILL.md +9 -0
  514. package/pack/generated/codex/skills/rite-temper/SKILL.md +5 -1
  515. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +9 -1
  516. package/pack/generated/codex/skills/rite-vet/SKILL.md +28 -6
  517. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +19 -0
  518. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +5 -0
  519. package/pack/generated/codex/skills/rite-watch-pr/SKILL.md +2 -0
  520. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +2 -0
  521. package/pack/generated/devin/agents/devrites-code-reviewer.md +16 -0
  522. package/pack/generated/devin/agents/devrites-security-auditor.md +22 -0
  523. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +12 -2
  524. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +2 -0
  525. package/pack/generated/devin/skills/devrites-audit/SKILL.md +9 -0
  526. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +2 -0
  527. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +2 -0
  528. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +2 -0
  529. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +2 -0
  530. package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  531. package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +5 -0
  532. package/pack/generated/devin/skills/devrites-interview/SKILL.md +5 -0
  533. package/pack/generated/devin/skills/devrites-lib/SKILL.md +40 -5
  534. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  535. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  536. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  537. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +24 -1
  538. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +10 -0
  539. package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  540. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  541. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +21 -1
  542. package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  543. package/pack/generated/devin/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  544. package/pack/generated/devin/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  545. package/pack/generated/devin/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  546. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  547. package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  548. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  549. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +67 -7
  550. package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  551. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  552. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +10 -1
  553. package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  554. package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  555. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  556. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  557. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  558. package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  559. package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +12 -0
  560. package/pack/generated/devin/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  561. package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  562. package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  563. package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  564. package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +117 -0
  565. package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  566. package/pack/generated/devin/skills/devrites-lib/reference/standards/glossary.md +40 -0
  567. package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +16 -0
  568. package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  569. package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  570. package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +2 -0
  571. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  572. package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +2 -0
  573. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +8 -1
  574. package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +14 -0
  575. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  576. package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  577. package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  578. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/README.md +23 -0
  579. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  580. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/default.md +42 -0
  581. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/go.md +47 -0
  582. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/python.md +46 -0
  583. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  584. package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  585. package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  586. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  587. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +58 -6
  588. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  589. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  590. package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  591. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +19 -2
  592. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +12 -0
  593. package/pack/generated/devin/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  594. package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +51 -0
  595. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  596. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  597. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +3 -1
  598. package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +2 -0
  599. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +2 -0
  600. package/pack/generated/devin/skills/rite/SKILL.md +2 -0
  601. package/pack/generated/devin/skills/rite-adopt/SKILL.md +2 -0
  602. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +6 -1
  603. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +7 -1
  604. package/pack/generated/devin/skills/rite-build/SKILL.md +28 -14
  605. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +6 -0
  606. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +11 -2
  607. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +8 -4
  608. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +34 -8
  609. package/pack/generated/devin/skills/rite-clarify/SKILL.md +4 -0
  610. package/pack/generated/devin/skills/rite-converge/SKILL.md +14 -2
  611. package/pack/generated/devin/skills/rite-customize/SKILL.md +2 -0
  612. package/pack/generated/devin/skills/rite-define/SKILL.md +8 -2
  613. package/pack/generated/devin/skills/rite-doctor/SKILL.md +6 -1
  614. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +2 -0
  615. package/pack/generated/devin/skills/rite-explain/SKILL.md +2 -0
  616. package/pack/generated/devin/skills/rite-frame/SKILL.md +4 -0
  617. package/pack/generated/devin/skills/rite-handoff/SKILL.md +8 -1
  618. package/pack/generated/devin/skills/rite-learn/SKILL.md +2 -0
  619. package/pack/generated/devin/skills/rite-plan/SKILL.md +6 -0
  620. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +3 -1
  621. package/pack/generated/devin/skills/rite-polish/SKILL.md +13 -2
  622. package/pack/generated/devin/skills/rite-polish/reference/code.md +6 -1
  623. package/pack/generated/devin/skills/rite-polish/reference/ledger.md +3 -1
  624. package/pack/generated/devin/skills/rite-pov/SKILL.md +2 -0
  625. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +2 -0
  626. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +2 -0
  627. package/pack/generated/devin/skills/rite-prototype/SKILL.md +2 -0
  628. package/pack/generated/devin/skills/rite-prove/SKILL.md +17 -3
  629. package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +6 -0
  630. package/pack/generated/devin/skills/rite-quick/SKILL.md +7 -1
  631. package/pack/generated/devin/skills/rite-resolve/SKILL.md +2 -0
  632. package/pack/generated/devin/skills/rite-review/SKILL.md +5 -1
  633. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +14 -3
  634. package/pack/generated/devin/skills/rite-seal/SKILL.md +27 -3
  635. package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +1 -0
  636. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +3 -1
  637. package/pack/generated/devin/skills/rite-ship/SKILL.md +5 -1
  638. package/pack/generated/devin/skills/rite-spec/SKILL.md +10 -3
  639. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +5 -0
  640. package/pack/generated/devin/skills/rite-status/SKILL.md +9 -0
  641. package/pack/generated/devin/skills/rite-temper/SKILL.md +5 -1
  642. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +9 -1
  643. package/pack/generated/devin/skills/rite-vet/SKILL.md +28 -6
  644. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +19 -0
  645. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +5 -0
  646. package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +2 -0
  647. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +2 -0
  648. package/pack/generated/omp/agents/devrites-code-reviewer.md +16 -0
  649. package/pack/generated/omp/agents/devrites-security-auditor.md +22 -0
  650. package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +12 -2
  651. package/pack/generated/omp/skills/devrites-api-interface/SKILL.md +2 -0
  652. package/pack/generated/omp/skills/devrites-audit/SKILL.md +9 -0
  653. package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +2 -0
  654. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +2 -0
  655. package/pack/generated/omp/skills/devrites-doubt/SKILL.md +2 -0
  656. package/pack/generated/omp/skills/devrites-frontend-craft/SKILL.md +2 -0
  657. package/pack/generated/omp/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  658. package/pack/generated/omp/skills/devrites-frontend-craft/reference/shape.md +5 -0
  659. package/pack/generated/omp/skills/devrites-interview/SKILL.md +5 -0
  660. package/pack/generated/omp/skills/devrites-lib/SKILL.md +40 -5
  661. package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  662. package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  663. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  664. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +24 -1
  665. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +10 -0
  666. package/pack/generated/omp/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  667. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  668. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +21 -1
  669. package/pack/generated/omp/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  670. package/pack/generated/omp/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  671. package/pack/generated/omp/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  672. package/pack/generated/omp/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  673. package/pack/generated/omp/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  674. package/pack/generated/omp/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  675. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  676. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +67 -7
  677. package/pack/generated/omp/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  678. package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  679. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +10 -1
  680. package/pack/generated/omp/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  681. package/pack/generated/omp/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  682. package/pack/generated/omp/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  683. package/pack/generated/omp/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  684. package/pack/generated/omp/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  685. package/pack/generated/omp/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  686. package/pack/generated/omp/skills/devrites-lib/reference/standards/documentation.md +12 -0
  687. package/pack/generated/omp/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  688. package/pack/generated/omp/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  689. package/pack/generated/omp/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  690. package/pack/generated/omp/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  691. package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +117 -0
  692. package/pack/generated/omp/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  693. package/pack/generated/omp/skills/devrites-lib/reference/standards/glossary.md +40 -0
  694. package/pack/generated/omp/skills/devrites-lib/reference/standards/hooks.md +16 -0
  695. package/pack/generated/omp/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  696. package/pack/generated/omp/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  697. package/pack/generated/omp/skills/devrites-lib/reference/standards/observability.md +2 -0
  698. package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  699. package/pack/generated/omp/skills/devrites-lib/reference/standards/patterns.md +2 -0
  700. package/pack/generated/omp/skills/devrites-lib/reference/standards/performance.md +8 -1
  701. package/pack/generated/omp/skills/devrites-lib/reference/standards/principles.md +14 -0
  702. package/pack/generated/omp/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  703. package/pack/generated/omp/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  704. package/pack/generated/omp/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  705. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/README.md +23 -0
  706. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  707. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/default.md +42 -0
  708. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/go.md +47 -0
  709. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/python.md +46 -0
  710. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  711. package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  712. package/pack/generated/omp/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  713. package/pack/generated/omp/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  714. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +58 -6
  715. package/pack/generated/omp/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  716. package/pack/generated/omp/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  717. package/pack/generated/omp/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  718. package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +19 -2
  719. package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +12 -0
  720. package/pack/generated/omp/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  721. package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +51 -0
  722. package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  723. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  724. package/pack/generated/omp/skills/devrites-prose-craft/SKILL.md +3 -1
  725. package/pack/generated/omp/skills/devrites-source-driven/SKILL.md +2 -0
  726. package/pack/generated/omp/skills/devrites-ux-shape/SKILL.md +2 -0
  727. package/pack/generated/omp/skills/rite/SKILL.md +2 -0
  728. package/pack/generated/omp/skills/rite-adopt/SKILL.md +2 -0
  729. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +6 -1
  730. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +7 -1
  731. package/pack/generated/omp/skills/rite-build/SKILL.md +28 -14
  732. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +6 -0
  733. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +11 -2
  734. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -4
  735. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +34 -8
  736. package/pack/generated/omp/skills/rite-clarify/SKILL.md +4 -0
  737. package/pack/generated/omp/skills/rite-converge/SKILL.md +14 -2
  738. package/pack/generated/omp/skills/rite-customize/SKILL.md +2 -0
  739. package/pack/generated/omp/skills/rite-define/SKILL.md +8 -2
  740. package/pack/generated/omp/skills/rite-doctor/SKILL.md +6 -1
  741. package/pack/generated/omp/skills/rite-dogfood/SKILL.md +2 -0
  742. package/pack/generated/omp/skills/rite-explain/SKILL.md +2 -0
  743. package/pack/generated/omp/skills/rite-frame/SKILL.md +4 -0
  744. package/pack/generated/omp/skills/rite-handoff/SKILL.md +8 -1
  745. package/pack/generated/omp/skills/rite-learn/SKILL.md +2 -0
  746. package/pack/generated/omp/skills/rite-plan/SKILL.md +6 -0
  747. package/pack/generated/omp/skills/rite-plan/reference/task-breakdown.md +3 -1
  748. package/pack/generated/omp/skills/rite-polish/SKILL.md +13 -2
  749. package/pack/generated/omp/skills/rite-polish/reference/code.md +6 -1
  750. package/pack/generated/omp/skills/rite-polish/reference/ledger.md +3 -1
  751. package/pack/generated/omp/skills/rite-pov/SKILL.md +2 -0
  752. package/pack/generated/omp/skills/rite-pr-feedback/SKILL.md +2 -0
  753. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +2 -0
  754. package/pack/generated/omp/skills/rite-prototype/SKILL.md +2 -0
  755. package/pack/generated/omp/skills/rite-prove/SKILL.md +17 -3
  756. package/pack/generated/omp/skills/rite-prove/reference/test-command-discovery.md +6 -0
  757. package/pack/generated/omp/skills/rite-quick/SKILL.md +7 -1
  758. package/pack/generated/omp/skills/rite-resolve/SKILL.md +2 -0
  759. package/pack/generated/omp/skills/rite-review/SKILL.md +5 -1
  760. package/pack/generated/omp/skills/rite-review/reference/performance-checklist.md +14 -3
  761. package/pack/generated/omp/skills/rite-seal/SKILL.md +27 -3
  762. package/pack/generated/omp/skills/rite-seal/reference/go-no-go.md +1 -0
  763. package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +3 -1
  764. package/pack/generated/omp/skills/rite-ship/SKILL.md +5 -1
  765. package/pack/generated/omp/skills/rite-spec/SKILL.md +10 -3
  766. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
  767. package/pack/generated/omp/skills/rite-status/SKILL.md +9 -0
  768. package/pack/generated/omp/skills/rite-temper/SKILL.md +5 -1
  769. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +9 -1
  770. package/pack/generated/omp/skills/rite-vet/SKILL.md +28 -6
  771. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +19 -0
  772. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +5 -0
  773. package/pack/generated/omp/skills/rite-watch-pr/SKILL.md +2 -0
  774. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +2 -0
  775. package/pack/generated/pi/agents/devrites-code-reviewer.md +16 -0
  776. package/pack/generated/pi/agents/devrites-security-auditor.md +22 -0
  777. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +12 -2
  778. package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +2 -0
  779. package/pack/generated/pi/skills/devrites-audit/SKILL.md +9 -0
  780. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +2 -0
  781. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +2 -0
  782. package/pack/generated/pi/skills/devrites-doubt/SKILL.md +2 -0
  783. package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +2 -0
  784. package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +4 -0
  785. package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +5 -0
  786. package/pack/generated/pi/skills/devrites-interview/SKILL.md +5 -0
  787. package/pack/generated/pi/skills/devrites-lib/SKILL.md +40 -5
  788. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +17 -0
  789. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
  790. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
  791. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +24 -1
  792. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +10 -0
  793. package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
  794. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  795. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +21 -1
  796. package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
  797. package/pack/generated/pi/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
  798. package/pack/generated/pi/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
  799. package/pack/generated/pi/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
  800. package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
  801. package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
  802. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
  803. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +67 -7
  804. package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +9 -4
  805. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
  806. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +10 -1
  807. package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
  808. package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
  809. package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
  810. package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +18 -0
  811. package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
  812. package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
  813. package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +12 -0
  814. package/pack/generated/pi/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
  815. package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
  816. package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +29 -0
  817. package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +2 -0
  818. package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +117 -0
  819. package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
  820. package/pack/generated/pi/skills/devrites-lib/reference/standards/glossary.md +40 -0
  821. package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +16 -0
  822. package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
  823. package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
  824. package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +2 -0
  825. package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
  826. package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +2 -0
  827. package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +8 -1
  828. package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +14 -0
  829. package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +3 -0
  830. package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
  831. package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
  832. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/README.md +23 -0
  833. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
  834. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/default.md +42 -0
  835. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/go.md +47 -0
  836. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/python.md +46 -0
  837. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/shell.md +40 -0
  838. package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
  839. package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
  840. package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
  841. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +58 -6
  842. package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
  843. package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
  844. package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
  845. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +19 -2
  846. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +12 -0
  847. package/pack/generated/pi/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
  848. package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +51 -0
  849. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
  850. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
  851. package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +3 -1
  852. package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +2 -0
  853. package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +2 -0
  854. package/pack/generated/pi/skills/rite/SKILL.md +2 -0
  855. package/pack/generated/pi/skills/rite-adopt/SKILL.md +2 -0
  856. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +6 -1
  857. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +7 -1
  858. package/pack/generated/pi/skills/rite-build/SKILL.md +28 -14
  859. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +6 -0
  860. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +11 -2
  861. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -4
  862. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +34 -8
  863. package/pack/generated/pi/skills/rite-clarify/SKILL.md +4 -0
  864. package/pack/generated/pi/skills/rite-converge/SKILL.md +14 -2
  865. package/pack/generated/pi/skills/rite-customize/SKILL.md +2 -0
  866. package/pack/generated/pi/skills/rite-define/SKILL.md +8 -2
  867. package/pack/generated/pi/skills/rite-doctor/SKILL.md +6 -1
  868. package/pack/generated/pi/skills/rite-dogfood/SKILL.md +2 -0
  869. package/pack/generated/pi/skills/rite-explain/SKILL.md +2 -0
  870. package/pack/generated/pi/skills/rite-frame/SKILL.md +4 -0
  871. package/pack/generated/pi/skills/rite-handoff/SKILL.md +8 -1
  872. package/pack/generated/pi/skills/rite-learn/SKILL.md +2 -0
  873. package/pack/generated/pi/skills/rite-plan/SKILL.md +6 -0
  874. package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +3 -1
  875. package/pack/generated/pi/skills/rite-polish/SKILL.md +13 -2
  876. package/pack/generated/pi/skills/rite-polish/reference/code.md +6 -1
  877. package/pack/generated/pi/skills/rite-polish/reference/ledger.md +3 -1
  878. package/pack/generated/pi/skills/rite-pov/SKILL.md +2 -0
  879. package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +2 -0
  880. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +2 -0
  881. package/pack/generated/pi/skills/rite-prototype/SKILL.md +2 -0
  882. package/pack/generated/pi/skills/rite-prove/SKILL.md +17 -3
  883. package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +6 -0
  884. package/pack/generated/pi/skills/rite-quick/SKILL.md +7 -1
  885. package/pack/generated/pi/skills/rite-resolve/SKILL.md +2 -0
  886. package/pack/generated/pi/skills/rite-review/SKILL.md +5 -1
  887. package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +14 -3
  888. package/pack/generated/pi/skills/rite-seal/SKILL.md +27 -3
  889. package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +1 -0
  890. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +3 -1
  891. package/pack/generated/pi/skills/rite-ship/SKILL.md +5 -1
  892. package/pack/generated/pi/skills/rite-spec/SKILL.md +10 -3
  893. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
  894. package/pack/generated/pi/skills/rite-status/SKILL.md +9 -0
  895. package/pack/generated/pi/skills/rite-temper/SKILL.md +5 -1
  896. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +9 -1
  897. package/pack/generated/pi/skills/rite-vet/SKILL.md +28 -6
  898. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +19 -0
  899. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +5 -0
  900. package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +2 -0
  901. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +2 -0
  902. package/package.json +1 -1
  903. package/scripts/build-host-artifacts.sh +48 -2
@@ -0,0 +1,411 @@
1
+ package lib
2
+
3
+ import (
4
+ "bufio"
5
+ "crypto/rand"
6
+ "encoding/hex"
7
+ "encoding/json"
8
+ "fmt"
9
+ "io"
10
+ "os"
11
+ "path/filepath"
12
+ "sort"
13
+ "strconv"
14
+ "strings"
15
+ "time"
16
+
17
+ "github.com/devrites/devrites/internal/parallel"
18
+ )
19
+
20
+ // ClaimsFile is the repo-level append-only claim ledger under .devrites.
21
+ // Advisory, session-scoped file claims let concurrent agent sessions sharing
22
+ // one working tree see each other's write intent before overlapping edits
23
+ // collide. A claim never blocks a writer by force — it surfaces the conflict
24
+ // so the second session can route around it or stop for the human.
25
+ const ClaimsFile = "claims.jsonl"
26
+
27
+ const (
28
+ claimDefaultTTL = 30
29
+ claimMinTTL = 1
30
+ claimMaxTTL = 240
31
+ )
32
+
33
+ const claimUsage = `usage: devrites-engine claim <add|release|list|check> ...
34
+
35
+ claim add --session <id> [--ttl <minutes>] [--reason <s>] <path>...
36
+ claim release --session <id> --id <claim-id>
37
+ claim list [--session <id>] [--all]
38
+ claim check [--session <id>] <path>...
39
+ `
40
+
41
+ type claimRecord struct {
42
+ ID string `json:"id"`
43
+ Session string `json:"session"`
44
+ Paths []string `json:"paths"`
45
+ Reason string `json:"reason,omitempty"`
46
+ ClaimedAt string `json:"claimed_at"`
47
+ ExpiresAt string `json:"expires_at"`
48
+ Released bool `json:"released,omitempty"`
49
+ }
50
+
51
+ // RunClaim manages the advisory file-claim ledger.
52
+ func RunClaim(root string, args []string, stdout, stderr io.Writer) int {
53
+ if len(args) == 0 {
54
+ fmt.Fprint(stderr, claimUsage)
55
+ return 2
56
+ }
57
+ sub, rest := args[0], args[1:]
58
+ switch sub {
59
+ case "add":
60
+ return claimAdd(root, rest, stdout, stderr)
61
+ case "release":
62
+ return claimRelease(root, rest, stdout, stderr)
63
+ case "list":
64
+ return claimList(root, rest, stdout, stderr)
65
+ case "check":
66
+ return claimCheck(root, rest, stdout, stderr)
67
+ default:
68
+ fmt.Fprintf(stderr, "devrites: unknown claim command %q\n", sub)
69
+ return 2
70
+ }
71
+ }
72
+
73
+ func claimsPath(root string) string {
74
+ return filepath.Join(root, ClaimsFile)
75
+ }
76
+
77
+ func readClaims(path string) (latest map[string]*claimRecord, order []string, bad int, err error) {
78
+ latest = map[string]*claimRecord{}
79
+ f, err := os.Open(path) // #nosec G304 -- path is the validated project claims ledger
80
+ if err != nil {
81
+ if os.IsNotExist(err) {
82
+ return latest, nil, 0, nil
83
+ }
84
+ return nil, nil, 0, err
85
+ }
86
+ defer func() { _ = f.Close() }()
87
+ scanner := bufio.NewScanner(f)
88
+ scanner.Buffer(make([]byte, 64<<10), 1<<20)
89
+ for scanner.Scan() {
90
+ line := strings.TrimSpace(scanner.Text())
91
+ if line == "" {
92
+ continue
93
+ }
94
+ var rec claimRecord
95
+ if json.Unmarshal([]byte(line), &rec) != nil || rec.ID == "" || rec.Session == "" {
96
+ bad++
97
+ continue
98
+ }
99
+ if _, seen := latest[rec.ID]; !seen {
100
+ order = append(order, rec.ID)
101
+ }
102
+ r := rec
103
+ latest[rec.ID] = &r
104
+ }
105
+ return latest, order, bad, scanner.Err()
106
+ }
107
+
108
+ func liveClaims(latest map[string]*claimRecord, order []string, now time.Time) []*claimRecord {
109
+ var out []*claimRecord
110
+ for _, id := range order {
111
+ rec := latest[id]
112
+ if rec == nil || rec.Released {
113
+ continue
114
+ }
115
+ expires, err := time.Parse(time.RFC3339, rec.ExpiresAt)
116
+ if err != nil || !expires.After(now) {
117
+ continue
118
+ }
119
+ out = append(out, rec)
120
+ }
121
+ return out
122
+ }
123
+
124
+ func appendClaim(path string, rec *claimRecord) error {
125
+ line, err := json.Marshal(rec)
126
+ if err != nil {
127
+ return err
128
+ }
129
+ f, err := os.OpenFile(path, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0o600) // #nosec G304 -- path is the validated project claims ledger
130
+ if err != nil {
131
+ return err
132
+ }
133
+ _, werr := f.Write(append(line, '\n'))
134
+ cerr := f.Close()
135
+ if werr != nil {
136
+ return werr
137
+ }
138
+ return cerr
139
+ }
140
+
141
+ func normalizeClaimPaths(raw []string) ([]string, error) {
142
+ if len(raw) == 0 {
143
+ return nil, fmt.Errorf("at least one path is required")
144
+ }
145
+ seen := map[string]struct{}{}
146
+ out := make([]string, 0, len(raw))
147
+ for _, p := range raw {
148
+ norm, err := parallel.NormalizePath(p)
149
+ if err != nil {
150
+ return nil, err
151
+ }
152
+ if norm == ".devrites" || strings.HasPrefix(norm, ".devrites/") ||
153
+ norm == ".git" || strings.HasPrefix(norm, ".git/") {
154
+ return nil, fmt.Errorf("path must not claim control-tree or git internals: %q", norm)
155
+ }
156
+ if _, dup := seen[norm]; dup {
157
+ return nil, fmt.Errorf("duplicate path %q", norm)
158
+ }
159
+ seen[norm] = struct{}{}
160
+ out = append(out, norm)
161
+ }
162
+ sort.Strings(out)
163
+ return out, nil
164
+ }
165
+
166
+ func validSession(s string) bool {
167
+ if s == "" || len(s) > 128 {
168
+ return false
169
+ }
170
+ for _, r := range s {
171
+ if !(r >= 'a' && r <= 'z' || r >= 'A' && r <= 'Z' || r >= '0' && r <= '9' ||
172
+ r == '-' || r == '_' || r == '.' || r == ':' || r == '/') {
173
+ return false
174
+ }
175
+ }
176
+ return true
177
+ }
178
+
179
+ // claimConflicts returns live claims by other sessions covering any path.
180
+ func claimConflicts(live []*claimRecord, session string, paths []string) []*claimRecord {
181
+ want := map[string]struct{}{}
182
+ for _, p := range paths {
183
+ want[p] = struct{}{}
184
+ }
185
+ var out []*claimRecord
186
+ for _, rec := range live {
187
+ if rec.Session == session {
188
+ continue
189
+ }
190
+ for _, p := range rec.Paths {
191
+ if _, hit := want[p]; hit {
192
+ out = append(out, rec)
193
+ break
194
+ }
195
+ }
196
+ }
197
+ return out
198
+ }
199
+
200
+ func printConflicts(w io.Writer, conflicts []*claimRecord) {
201
+ for _, rec := range conflicts {
202
+ fmt.Fprintf(w, "claim: BLOCKED: %s held by session %q until %s", strings.Join(rec.Paths, ","), rec.Session, rec.ExpiresAt)
203
+ if rec.Reason != "" {
204
+ fmt.Fprintf(w, " (%s)", rec.Reason)
205
+ }
206
+ fmt.Fprintln(w)
207
+ }
208
+ }
209
+
210
+ func newClaimID() string {
211
+ var b [4]byte
212
+ if _, err := rand.Read(b[:]); err != nil {
213
+ return fmt.Sprintf("cl-%d", time.Now().UnixNano())
214
+ }
215
+ return fmt.Sprintf("cl-%d-%s", time.Now().UnixNano(), hex.EncodeToString(b[:]))
216
+ }
217
+
218
+ func claimAdd(root string, args []string, stdout, stderr io.Writer) int {
219
+ session, reason := "", ""
220
+ ttl := claimDefaultTTL
221
+ var raw []string
222
+ for i := 0; i < len(args); i++ {
223
+ switch args[i] {
224
+ case "--session":
225
+ session = argAt(args, i+1)
226
+ i++
227
+ case "--reason":
228
+ reason = argAt(args, i+1)
229
+ i++
230
+ case "--ttl":
231
+ n, err := strconv.Atoi(argAt(args, i+1))
232
+ if err != nil {
233
+ fmt.Fprintf(stderr, "claim: --ttl expects minutes, got %q\n", argAt(args, i+1))
234
+ return 2
235
+ }
236
+ ttl = min(max(n, claimMinTTL), claimMaxTTL)
237
+ i++
238
+ default:
239
+ raw = append(raw, args[i])
240
+ }
241
+ }
242
+ if !validSession(session) {
243
+ fmt.Fprintln(stderr, "claim: --session is required (1-128 chars: letters, digits, - _ . : /)")
244
+ return 2
245
+ }
246
+ paths, err := normalizeClaimPaths(raw)
247
+ if err != nil {
248
+ fmt.Fprintf(stderr, "claim: %v\n", err)
249
+ return 2
250
+ }
251
+ path := claimsPath(root)
252
+ latest, order, _, err := readClaims(path)
253
+ if err != nil {
254
+ fmt.Fprintf(stderr, "claim: %v\n", err)
255
+ return 2
256
+ }
257
+ now := time.Now().UTC()
258
+ conflicts := claimConflicts(liveClaims(latest, order, now), session, paths)
259
+ if len(conflicts) > 0 {
260
+ printConflicts(stderr, conflicts)
261
+ return 3
262
+ }
263
+ rec := &claimRecord{
264
+ ID: newClaimID(),
265
+ Session: session,
266
+ Paths: paths,
267
+ Reason: reason,
268
+ ClaimedAt: now.Format(time.RFC3339),
269
+ ExpiresAt: now.Add(time.Duration(ttl) * time.Minute).Format(time.RFC3339),
270
+ }
271
+ if err := appendClaim(path, rec); err != nil {
272
+ fmt.Fprintf(stderr, "claim: %v\n", err)
273
+ return 2
274
+ }
275
+ fmt.Fprintf(stdout, "claim: %s claimed %d path(s) until %s\n", rec.ID, len(paths), rec.ExpiresAt)
276
+ return 0
277
+ }
278
+
279
+ func claimRelease(root string, args []string, stdout, stderr io.Writer) int {
280
+ session, id := "", ""
281
+ for i := 0; i < len(args); i++ {
282
+ switch args[i] {
283
+ case "--session":
284
+ session = argAt(args, i+1)
285
+ i++
286
+ case "--id":
287
+ id = argAt(args, i+1)
288
+ i++
289
+ default:
290
+ fmt.Fprintf(stderr, "claim: unknown flag %q\n", args[i])
291
+ return 2
292
+ }
293
+ }
294
+ if session == "" || id == "" {
295
+ fmt.Fprintln(stderr, "claim: release requires --session and --id")
296
+ return 2
297
+ }
298
+ path := claimsPath(root)
299
+ latest, _, _, err := readClaims(path)
300
+ if err != nil {
301
+ fmt.Fprintf(stderr, "claim: %v\n", err)
302
+ return 2
303
+ }
304
+ rec, ok := latest[id]
305
+ if !ok {
306
+ fmt.Fprintf(stderr, "claim: unknown claim %q\n", id)
307
+ return 2
308
+ }
309
+ if rec.Session != session {
310
+ fmt.Fprintf(stderr, "claim: %q belongs to session %q, not %q\n", id, rec.Session, session)
311
+ return 2
312
+ }
313
+ if rec.Released {
314
+ fmt.Fprintf(stderr, "claim: %q already released\n", id)
315
+ return 2
316
+ }
317
+ released := *rec
318
+ released.Released = true
319
+ if err := appendClaim(path, &released); err != nil {
320
+ fmt.Fprintf(stderr, "claim: %v\n", err)
321
+ return 2
322
+ }
323
+ fmt.Fprintf(stdout, "claim: %s released %d path(s)\n", id, len(rec.Paths))
324
+ return 0
325
+ }
326
+
327
+ func claimList(root string, args []string, stdout, stderr io.Writer) int {
328
+ session := ""
329
+ all := false
330
+ for i := 0; i < len(args); i++ {
331
+ switch args[i] {
332
+ case "--session":
333
+ session = argAt(args, i+1)
334
+ i++
335
+ case "--all":
336
+ all = true
337
+ default:
338
+ fmt.Fprintf(stderr, "claim: unknown flag %q\n", args[i])
339
+ return 2
340
+ }
341
+ }
342
+ latest, order, bad, err := readClaims(claimsPath(root))
343
+ if err != nil {
344
+ fmt.Fprintf(stderr, "claim: %v\n", err)
345
+ return 2
346
+ }
347
+ now := time.Now().UTC()
348
+ rows := liveClaims(latest, order, now)
349
+ if all {
350
+ rows = rows[:0]
351
+ for _, id := range order {
352
+ rows = append(rows, latest[id])
353
+ }
354
+ }
355
+ printed := 0
356
+ for _, rec := range rows {
357
+ if rec == nil || (session != "" && rec.Session != session) {
358
+ continue
359
+ }
360
+ state := "live"
361
+ if rec.Released {
362
+ state = "released"
363
+ } else if exp, err := time.Parse(time.RFC3339, rec.ExpiresAt); err != nil || !exp.After(now) {
364
+ state = "expired"
365
+ }
366
+ fmt.Fprintf(stdout, "%s %-8s session=%s paths=%s until=%s", rec.ID, state, rec.Session, strings.Join(rec.Paths, ","), rec.ExpiresAt)
367
+ if rec.Reason != "" {
368
+ fmt.Fprintf(stdout, " reason=%q", rec.Reason)
369
+ }
370
+ fmt.Fprintln(stdout)
371
+ printed++
372
+ }
373
+ if printed == 0 {
374
+ fmt.Fprintln(stdout, "claim: no claims")
375
+ }
376
+ if bad > 0 {
377
+ fmt.Fprintf(stdout, "claim: %d unparsed ledger line(s)\n", bad)
378
+ }
379
+ return 0
380
+ }
381
+
382
+ func claimCheck(root string, args []string, stdout, stderr io.Writer) int {
383
+ session := ""
384
+ var raw []string
385
+ for i := 0; i < len(args); i++ {
386
+ switch args[i] {
387
+ case "--session":
388
+ session = argAt(args, i+1)
389
+ i++
390
+ default:
391
+ raw = append(raw, args[i])
392
+ }
393
+ }
394
+ paths, err := normalizeClaimPaths(raw)
395
+ if err != nil {
396
+ fmt.Fprintf(stderr, "claim: %v\n", err)
397
+ return 2
398
+ }
399
+ latest, order, _, err := readClaims(claimsPath(root))
400
+ if err != nil {
401
+ fmt.Fprintf(stderr, "claim: %v\n", err)
402
+ return 2
403
+ }
404
+ conflicts := claimConflicts(liveClaims(latest, order, time.Now().UTC()), session, paths)
405
+ if len(conflicts) > 0 {
406
+ printConflicts(stdout, conflicts)
407
+ return 3
408
+ }
409
+ fmt.Fprintf(stdout, "claim: %d path(s) free\n", len(paths))
410
+ return 0
411
+ }
@@ -0,0 +1,182 @@
1
+ package lib
2
+
3
+ import (
4
+ "bytes"
5
+ "encoding/json"
6
+ "os"
7
+ "path/filepath"
8
+ "strings"
9
+ "testing"
10
+ "time"
11
+ )
12
+
13
+ func claimTestRoot(t *testing.T) string {
14
+ t.Helper()
15
+ root := filepath.Join(t.TempDir(), ".devrites")
16
+ if err := os.MkdirAll(root, 0o755); err != nil {
17
+ t.Fatal(err)
18
+ }
19
+ return root
20
+ }
21
+
22
+ func runClaim(t *testing.T, root string, args ...string) (int, string, string) {
23
+ t.Helper()
24
+ var out, errOut bytes.Buffer
25
+ code := RunClaim(root, args, &out, &errOut)
26
+ return code, out.String(), errOut.String()
27
+ }
28
+
29
+ func TestClaimAddAndList(t *testing.T) {
30
+ root := claimTestRoot(t)
31
+ code, out, errOut := runClaim(t, root, "add", "--session", "s1", "--reason", "slice work", "pkg/a.go", "pkg/b.go")
32
+ if code != 0 {
33
+ t.Fatalf("add: code=%d stderr=%s", code, errOut)
34
+ }
35
+ if !strings.Contains(out, "cl-") || !strings.Contains(out, "2 path(s)") {
36
+ t.Fatalf("add output missing claim id/paths: %q", out)
37
+ }
38
+ code, out, _ = runClaim(t, root, "list")
39
+ if code != 0 || !strings.Contains(out, "session=s1") || !strings.Contains(out, "pkg/a.go") {
40
+ t.Fatalf("list: code=%d out=%q", code, out)
41
+ }
42
+ }
43
+
44
+ func TestClaimConflictBlocks(t *testing.T) {
45
+ root := claimTestRoot(t)
46
+ if code, _, e := runClaim(t, root, "add", "--session", "s1", "pkg/a.go"); code != 0 {
47
+ t.Fatalf("first add: %d %s", code, e)
48
+ }
49
+ code, _, errOut := runClaim(t, root, "add", "--session", "s2", "pkg/a.go")
50
+ if code != 3 {
51
+ t.Fatalf("conflicting add should exit 3, got %d", code)
52
+ }
53
+ if !strings.Contains(errOut, "BLOCKED") || !strings.Contains(errOut, "s1") {
54
+ t.Fatalf("conflict output should name holder: %q", errOut)
55
+ }
56
+ // Same session re-claim is allowed.
57
+ if code, _, e := runClaim(t, root, "add", "--session", "s1", "pkg/a.go"); code != 0 {
58
+ t.Fatalf("same-session re-claim: %d %s", code, e)
59
+ }
60
+ // Disjoint path is fine for another session.
61
+ if code, _, e := runClaim(t, root, "add", "--session", "s2", "pkg/c.go"); code != 0 {
62
+ t.Fatalf("disjoint add: %d %s", code, e)
63
+ }
64
+ }
65
+
66
+ func TestClaimCheck(t *testing.T) {
67
+ root := claimTestRoot(t)
68
+ code, out, _ := runClaim(t, root, "check", "pkg/a.go")
69
+ if code != 0 || !strings.Contains(out, "free") {
70
+ t.Fatalf("check free: %d %q", code, out)
71
+ }
72
+ if code, _, e := runClaim(t, root, "add", "--session", "s1", "pkg/a.go"); code != 0 {
73
+ t.Fatalf("add: %d %s", code, e)
74
+ }
75
+ code, out, _ = runClaim(t, root, "check", "--session", "s2", "pkg/a.go", "pkg/z.go")
76
+ if code != 3 || !strings.Contains(out, "s1") {
77
+ t.Fatalf("check conflict: %d %q", code, out)
78
+ }
79
+ // Holder's own check is free.
80
+ code, out, _ = runClaim(t, root, "check", "--session", "s1", "pkg/a.go")
81
+ if code != 0 {
82
+ t.Fatalf("check own: %d %q", code, out)
83
+ }
84
+ }
85
+
86
+ func TestClaimRelease(t *testing.T) {
87
+ root := claimTestRoot(t)
88
+ code, out, _ := runClaim(t, root, "add", "--session", "s1", "pkg/a.go")
89
+ if code != 0 {
90
+ t.Fatalf("add: %d", code)
91
+ }
92
+ id := strings.Fields(out)[1]
93
+ // Wrong session cannot release.
94
+ if code, _, e := runClaim(t, root, "release", "--session", "s2", "--id", id); code != 2 {
95
+ t.Fatalf("release by wrong session: %d %s", code, e)
96
+ }
97
+ if code, _, e := runClaim(t, root, "release", "--session", "s1", "--id", id); code != 0 {
98
+ t.Fatalf("release: %d %s", code, e)
99
+ }
100
+ // Released claim no longer conflicts.
101
+ code, _, _ = runClaim(t, root, "check", "--session", "s2", "pkg/a.go")
102
+ if code != 0 {
103
+ t.Fatalf("check after release: %d", code)
104
+ }
105
+ // Double release is a usage error.
106
+ if code, _, _ := runClaim(t, root, "release", "--session", "s1", "--id", id); code != 2 {
107
+ t.Fatalf("double release: %d", code)
108
+ }
109
+ // Unknown id.
110
+ if code, _, _ := runClaim(t, root, "release", "--session", "s1", "--id", "cl-nope"); code != 2 {
111
+ t.Fatalf("unknown release: %d", code)
112
+ }
113
+ }
114
+
115
+ func TestClaimExpiry(t *testing.T) {
116
+ root := claimTestRoot(t)
117
+ path := filepath.Join(root, ClaimsFile)
118
+ old := claimRecord{
119
+ ID: "cl-old",
120
+ Session: "s1",
121
+ Paths: []string{"pkg/a.go"},
122
+ ClaimedAt: time.Now().UTC().Add(-time.Hour).Format(time.RFC3339),
123
+ ExpiresAt: time.Now().UTC().Add(-time.Minute).Format(time.RFC3339),
124
+ }
125
+ line, _ := json.Marshal(old)
126
+ if err := os.WriteFile(path, append(line, '\n'), 0o600); err != nil {
127
+ t.Fatal(err)
128
+ }
129
+ // Expired claims do not conflict and do not list by default.
130
+ code, _, errOut := runClaim(t, root, "add", "--session", "s2", "pkg/a.go")
131
+ if code != 0 {
132
+ t.Fatalf("add over expired: %d %s", code, errOut)
133
+ }
134
+ code, out, _ := runClaim(t, root, "list")
135
+ if code != 0 || strings.Contains(out, "cl-old") {
136
+ t.Fatalf("list should hide expired: %d %q", code, out)
137
+ }
138
+ code, out, _ = runClaim(t, root, "list", "--all")
139
+ if code != 0 || !strings.Contains(out, "cl-old") || !strings.Contains(out, "expired") {
140
+ t.Fatalf("list --all should show expired: %d %q", code, out)
141
+ }
142
+ }
143
+
144
+ func TestClaimRejectsBadInput(t *testing.T) {
145
+ root := claimTestRoot(t)
146
+ cases := [][]string{
147
+ {"add", "pkg/a.go"}, // no session
148
+ {"add", "--session", "s1"}, // no paths
149
+ {"add", "--session", "s1", "/abs/path.go"}, // absolute
150
+ {"add", "--session", "s1", "../escape.go"}, // traversal
151
+ {"add", "--session", "s1", ".devrites/work/x/f.md"}, // control tree
152
+ {"add", "--session", "s1", "a.go", "a.go"}, // duplicate
153
+ {"add", "--session", "bad session!", "a.go"}, // bad session
154
+ {"add", "--session", "s1", "--ttl", "x", "a.go"}, // bad ttl
155
+ }
156
+ for _, c := range cases {
157
+ if code, _, _ := runClaim(t, root, c...); code != 2 {
158
+ t.Fatalf("args %v: expected exit 2, got %d", c, code)
159
+ }
160
+ }
161
+ // TTL clamps rather than fails.
162
+ code, _, _ := runClaim(t, root, "add", "--session", "s1", "--ttl", "0", "pkg/a.go")
163
+ if code != 0 {
164
+ t.Fatalf("ttl clamp low: %d", code)
165
+ }
166
+ code, _, _ = runClaim(t, root, "add", "--session", "s1", "--ttl", "9999", "pkg/b.go")
167
+ if code != 0 {
168
+ t.Fatalf("ttl clamp high: %d", code)
169
+ }
170
+ }
171
+
172
+ func TestClaimLedgerToleratesMalformedLines(t *testing.T) {
173
+ root := claimTestRoot(t)
174
+ path := filepath.Join(root, ClaimsFile)
175
+ if err := os.WriteFile(path, []byte("not json\n{\"id\":\"x\"}\n"), 0o600); err != nil {
176
+ t.Fatal(err)
177
+ }
178
+ code, out, _ := runClaim(t, root, "list")
179
+ if code != 0 || !strings.Contains(out, "unparsed") {
180
+ t.Fatalf("malformed ledger: %d %q", code, out)
181
+ }
182
+ }
@@ -28,7 +28,7 @@ func runCloseOut(t *testing.T, root string, args ...string) (int, string) {
28
28
 
29
29
  func TestCloseOutRejectsRootOverrideArgument(t *testing.T) {
30
30
  root := t.TempDir()
31
- writeFile(t, filepath.Join(root, "work", "feat", "state.md"), "inside\n- Schema: 3\n")
31
+ writeFile(t, filepath.Join(root, "work", "feat", "state.md"), "inside\n- Schema: 4\n")
32
32
 
33
33
  code, out := runCloseOut(t, root, "feat", t.TempDir())
34
34
  if code != 4 || !strings.Contains(out, "usage: devrites-engine state close <slug>") {
@@ -65,7 +65,7 @@ func TestCloseOutRejectsWorkspaceSymlinkEscape(t *testing.T) {
65
65
  func TestCloseOutRejectsArchiveSymlinkEscape(t *testing.T) {
66
66
  root := t.TempDir()
67
67
  outside := t.TempDir()
68
- writeFile(t, filepath.Join(root, "work", "feat", "state.md"), "inside\n- Schema: 3\n")
68
+ writeFile(t, filepath.Join(root, "work", "feat", "state.md"), "inside\n- Schema: 4\n")
69
69
  if err := os.Symlink(outside, filepath.Join(root, "archive")); err != nil {
70
70
  t.Skipf("symlinks unavailable: %v", err)
71
71
  }
@@ -92,7 +92,7 @@ func TestCloseOutRollsBackArchiveWhenActiveCannotBeCleared(t *testing.T) {
92
92
  t.Skip("permission model differs on Windows")
93
93
  }
94
94
  root := t.TempDir()
95
- writeFile(t, filepath.Join(root, "work", "feat", "state.md"), "inside\n- Schema: 3\n")
95
+ writeFile(t, filepath.Join(root, "work", "feat", "state.md"), "inside\n- Schema: 4\n")
96
96
  writeFile(t, filepath.Join(root, "ACTIVE"), "feat\n")
97
97
  if err := os.MkdirAll(filepath.Join(root, "archive"), 0o755); err != nil {
98
98
  t.Fatal(err)