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,521 @@
1
+ package lib
2
+
3
+ import (
4
+ "bytes"
5
+ "os"
6
+ "path/filepath"
7
+ "strings"
8
+ "testing"
9
+ )
10
+
11
+ func newWorkspace(t *testing.T, phase string) (root, featureDir string) {
12
+ t.Helper()
13
+ root = t.TempDir()
14
+ featureDir = filepath.Join(root, "work", "feat")
15
+ state := "# State\n\n## Cursor\n| Key | Value |\n| --- | --- |\n| phase | " + phase + " |\n| status | running |\n"
16
+ writeFile(t, filepath.Join(featureDir, "state.md"), state)
17
+ return root, featureDir
18
+ }
19
+
20
+ func TestMetricsRecordAndSummary(t *testing.T) {
21
+ root, _ := newWorkspace(t, "build")
22
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
23
+ code := RunMetrics(root, []string{"record", "feat", "--phase", "build", "--event", "context", "--role", "wright", "--bytes", "1234"}, stdout, stderr)
24
+ if code != 0 {
25
+ t.Fatalf("record code=%d out=%s", code, stderr.String())
26
+ }
27
+ stdout.Reset()
28
+ code = RunMetrics(root, []string{"summary", "feat"}, stdout, stderr)
29
+ if code != 0 {
30
+ t.Fatalf("summary code=%d out=%s", code, stderr.String())
31
+ }
32
+ out := stdout.String()
33
+ if !strings.Contains(out, "build") || !strings.Contains(out, "context=1") || !strings.Contains(out, "bytes=1234") {
34
+ t.Fatalf("summary missing aggregates:\n%s", out)
35
+ }
36
+ }
37
+
38
+ func newSkillsRoot(t *testing.T) string {
39
+ t.Helper()
40
+ skills := t.TempDir()
41
+ writeFile(t, filepath.Join(skills, "devrites-lib", "reference", "standards", "core.md"), "# core\nrules\n")
42
+ writeFile(t, filepath.Join(skills, "devrites-lib", "reference", "standards", "testing.md"), "# testing\n")
43
+ writeFile(t, filepath.Join(skills, "rite-build", "SKILL.md"), "---\nname: rite-build\n---\n<!-- loads: {\"always\":[\"devrites-lib/reference/standards/core.md\"],\"triggers\":{\"tdd\":[\"devrites-lib/reference/standards/testing.md\"]},\"workspace\":[\"spec.md\",\"missing.md\"]} -->\n# build\n")
44
+ writeFile(t, filepath.Join(skills, "..", "agents", "devrites-slice-wright.md"), "# wright\n")
45
+ writeFile(t, filepath.Join(skills, "..", "agents", "devrites-code-reviewer.md"), "# reviewer\n")
46
+ writeFile(t, filepath.Join(skills, "..", "agents", "devrites-proof-runner.md"), "# runner\n")
47
+ return skills
48
+ }
49
+
50
+ func TestContextEmitsDedupedBundle(t *testing.T) {
51
+ root, featureDir := newWorkspace(t, "build")
52
+ writeFile(t, filepath.Join(featureDir, "spec.md"), "# spec\n")
53
+ skills := newSkillsRoot(t)
54
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
55
+ args := []string{"feat", "--phase", "build", "--role", "slice-wright", "--trigger", "tdd", "--skills-root", skills}
56
+ code := RunContext(root, args, stdout, stderr)
57
+ out := stdout.String() + stderr.String()
58
+ if code != 0 {
59
+ t.Fatalf("code=%d want 0\n%s", code, out)
60
+ }
61
+ bundle, err := os.ReadFile(filepath.Join(featureDir, "ctx", "build-slice-wright.bundle.md"))
62
+ if err != nil {
63
+ t.Fatalf("bundle: %v", err)
64
+ }
65
+ text := string(bundle)
66
+ if !strings.Contains(text, "MISSING: workspace/missing.md") {
67
+ t.Fatalf("missing marker absent from bundle:\n%s", text)
68
+ }
69
+ for _, want := range []string{"===== devrites-lib/reference/standards/core.md =====", "# core", "# testing", "# wright", "# spec"} {
70
+ if !strings.Contains(text, want) {
71
+ t.Fatalf("bundle missing %q:\n%s", want, text)
72
+ }
73
+ }
74
+ if strings.Count(text, "core.md") < 1 {
75
+ t.Fatal("core not bundled")
76
+ }
77
+ // metrics auto-recorded
78
+ stdout.Reset()
79
+ if code := RunMetrics(root, []string{"summary", "feat"}, stdout, stderr); code != 0 || !strings.Contains(stdout.String(), "context=1") {
80
+ t.Fatalf("context metric not recorded: code=%d\n%s", code, stdout.String())
81
+ }
82
+ }
83
+
84
+ func TestContextRejectsUnknownTrigger(t *testing.T) {
85
+ root, _ := newWorkspace(t, "build")
86
+ skills := newSkillsRoot(t)
87
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
88
+ code := RunContext(root, []string{"feat", "--phase", "build", "--trigger", "nope", "--skills-root", skills}, stdout, stderr)
89
+ if code != 2 || !strings.Contains(stderr.String(), "unknown trigger") {
90
+ t.Fatalf("code=%d stderr=%s", code, stderr.String())
91
+ }
92
+ }
93
+
94
+ func TestContextSkillModeAndTriggerVisibility(t *testing.T) {
95
+ root, featureDir := newWorkspace(t, "build")
96
+ skills := newSkillsRoot(t)
97
+ writeFile(t, filepath.Join(skills, "devrites-audit", "SKILL.md"),
98
+ "---\nname: devrites-audit\n---\n<!-- loads: {\"always\":[\"devrites-lib/reference/standards/core.md\"],\"triggers\":{\"sec\":[\"devrites-lib/reference/standards/testing.md\"]}} -->\n# audit\n")
99
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
100
+ code := RunContext(root, []string{"feat", "--skill", "devrites-audit", "--skills-root", skills}, stdout, stderr)
101
+ if code != 0 {
102
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
103
+ }
104
+ if !strings.Contains(stdout.String(), "unselected=[sec]") {
105
+ t.Fatalf("unselected triggers not reported:\n%s", stdout)
106
+ }
107
+ if _, err := os.Stat(filepath.Join(featureDir, "ctx", "devrites-audit.bundle.md")); err != nil {
108
+ t.Fatalf("skill bundle not written: %v", err)
109
+ }
110
+ }
111
+
112
+ func TestContextSkillWithoutSlugNeedsOut(t *testing.T) {
113
+ root, _ := newWorkspace(t, "build")
114
+ skills := newSkillsRoot(t)
115
+ writeFile(t, filepath.Join(skills, "devrites-audit", "SKILL.md"),
116
+ "---\nname: devrites-audit\n---\n<!-- loads: {\"always\":[\"devrites-lib/reference/standards/core.md\"],\"workspace\":[\"spec.md\"]} -->\n# audit\n")
117
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
118
+ if code := RunContext(root, []string{"--skill", "devrites-audit", "--skills-root", skills}, stdout, stderr); code != 2 {
119
+ t.Fatalf("no-slug no-out: want 2\n%s", stderr)
120
+ }
121
+ out := filepath.Join(t.TempDir(), "audit.bundle.md")
122
+ stdout.Reset()
123
+ stderr.Reset()
124
+ if code := RunContext(root, []string{"--skill", "devrites-audit", "--out", out, "--skills-root", skills}, stdout, stderr); code != 0 {
125
+ t.Fatalf("no-slug with out: code=%d\n%s%s", code, stdout, stderr)
126
+ }
127
+ bundle, err := os.ReadFile(out)
128
+ if err != nil {
129
+ t.Fatal(err)
130
+ }
131
+ if !strings.Contains(string(bundle), "skipped: no feature workspace") {
132
+ t.Fatalf("workspace skip marker missing:\n%s", bundle)
133
+ }
134
+ }
135
+
136
+ func TestDispatchWaveBarrier(t *testing.T) {
137
+ root, _ := newWorkspace(t, "build")
138
+ run := func(args ...string) (int, *bytes.Buffer, *bytes.Buffer) {
139
+ out, err := &bytes.Buffer{}, &bytes.Buffer{}
140
+ return RunDispatch(root, args, out, err), out, err
141
+ }
142
+ if c, _, _ := run("feat", "open", "--phase", "review", "--wave", "w1", "--role", "a", "--role", "b"); c != 0 {
143
+ t.Fatal("open failed")
144
+ }
145
+ if c, _, e := run("feat", "seal", "--wave", "w1"); c == 0 {
146
+ t.Fatalf("seal before all starts should fail: %s", e)
147
+ }
148
+ if c, _, e := run("feat", "return", "--wave", "w1", "--role", "a"); c == 0 {
149
+ t.Fatalf("return before seal should fail: %s", e)
150
+ }
151
+ if c, _, _ := run("feat", "start", "--wave", "w1", "--role", "a", "--handle", "h1"); c != 0 {
152
+ t.Fatal("start a failed")
153
+ }
154
+ if c, _, e := run("feat", "start", "--wave", "w1", "--role", "b", "--handle", "h1"); c == 0 {
155
+ t.Fatalf("duplicate handle accepted: %s", e)
156
+ }
157
+ if c, _, _ := run("feat", "start", "--wave", "w1", "--role", "b", "--handle", "h2"); c != 0 {
158
+ t.Fatal("start b failed")
159
+ }
160
+ if c, _, _ := run("feat", "seal", "--wave", "w1"); c != 0 {
161
+ t.Fatal("seal failed after all starts")
162
+ }
163
+ if c, _, _ := run("feat", "return", "--wave", "w1", "--role", "a"); c != 0 {
164
+ t.Fatal("return a failed")
165
+ }
166
+ if c, _, e := run("feat", "status", "--wave", "w1"); c == 0 {
167
+ t.Fatalf("status should fail while b pending: %s", e)
168
+ }
169
+ if c, _, _ := run("feat", "return", "--wave", "w1", "--role", "b"); c != 0 {
170
+ t.Fatal("return b failed")
171
+ }
172
+ if c, o, _ := run("feat", "status", "--wave", "w1"); c != 0 || !strings.Contains(o.String(), "complete") {
173
+ t.Fatalf("status should report complete: %d %s", c, o)
174
+ }
175
+ // metrics auto-recorded for start+return
176
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
177
+ if code := RunMetrics(root, []string{"summary", "feat"}, stdout, stderr); code != 0 ||
178
+ !strings.Contains(stdout.String(), "dispatch=2") || !strings.Contains(stdout.String(), "return=2") {
179
+ t.Fatalf("dispatch metrics missing:\n%s", stdout)
180
+ }
181
+ }
182
+
183
+ func TestDispatchReopenAndAbandon(t *testing.T) {
184
+ root, _ := newWorkspace(t, "build")
185
+ run := func(args ...string) int {
186
+ out, err := &bytes.Buffer{}, &bytes.Buffer{}
187
+ return RunDispatch(root, args, out, err)
188
+ }
189
+ if c := run("feat", "open", "--phase", "build", "--wave", "w", "--role", "x"); c != 0 {
190
+ t.Fatal("open")
191
+ }
192
+ if c := run("feat", "open", "--phase", "build", "--wave", "w", "--role", "x"); c == 0 {
193
+ t.Fatal("reopen of open wave should fail")
194
+ }
195
+ if c := run("feat", "abandon", "--wave", "w", "--reason", "host limit"); c == 0 {
196
+ t.Fatal("abandon must signal handoff (nonzero)")
197
+ }
198
+ if c := run("feat", "return", "--wave", "w", "--role", "x"); c == 0 {
199
+ t.Fatal("return into abandoned wave should fail")
200
+ }
201
+ }
202
+
203
+ func TestContextWorkspaceByRoleScopes(t *testing.T) {
204
+ root, featureDir := newWorkspace(t, "build")
205
+ writeFile(t, filepath.Join(featureDir, "spec.md"), "# spec\n")
206
+ writeFile(t, filepath.Join(featureDir, "plan.md"), "# plan\n")
207
+ writeFile(t, filepath.Join(featureDir, "eng-review.md"), "# review\n")
208
+ skills := newSkillsRoot(t)
209
+ writeFile(t, filepath.Join(skills, "rite-build", "SKILL.md"),
210
+ "---\nname: rite-build\n---\n<!-- loads: {\"always\":[\"devrites-lib/reference/standards/core.md\"],\"workspace\":[\"spec.md\",\"plan.md\",\"eng-review.md\"],\"workspaceByRole\":{\"slice-wright\":[\"spec.md\",\"tasks.md\"],\"proof-runner\":[]}} -->\n# build\n")
211
+ writeFile(t, filepath.Join(featureDir, "tasks.md"), "## SLICE-001 x\n")
212
+
213
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
214
+ code := RunContext(root, []string{"feat", "--phase", "build", "--role", "slice-wright", "--skills-root", skills}, stdout, stderr)
215
+ if code != 0 {
216
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
217
+ }
218
+ bundle, err := os.ReadFile(filepath.Join(featureDir, "ctx", "build-slice-wright.bundle.md"))
219
+ if err != nil {
220
+ t.Fatal(err)
221
+ }
222
+ text := string(bundle)
223
+ if !strings.Contains(text, "workspace/spec.md") || !strings.Contains(text, "workspace/tasks.md") {
224
+ t.Fatalf("scoped bundle missing role files:\n%s", text)
225
+ }
226
+ if strings.Contains(text, "eng-review.md") {
227
+ t.Fatalf("scoped bundle leaked excluded artifact:\n%s", text)
228
+ }
229
+ if !strings.Contains(stdout.String(), "role-scoped") {
230
+ t.Fatalf("role-scope not reported:\n%s", stdout)
231
+ }
232
+
233
+ // Role absent from workspaceByRole keeps the flat list.
234
+ stdout.Reset()
235
+ stderr.Reset()
236
+ code = RunContext(root, []string{"feat", "--phase", "build", "--role", "code-reviewer", "--skills-root", skills}, stdout, stderr)
237
+ if code != 0 {
238
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
239
+ }
240
+ bundle, err = os.ReadFile(filepath.Join(featureDir, "ctx", "build-code-reviewer.bundle.md"))
241
+ if err != nil {
242
+ t.Fatal(err)
243
+ }
244
+ if !strings.Contains(string(bundle), "eng-review.md") {
245
+ t.Fatal("unmapped role should get the flat workspace list")
246
+ }
247
+
248
+ // Empty role list bundles no workspace artifacts.
249
+ stdout.Reset()
250
+ stderr.Reset()
251
+ code = RunContext(root, []string{"feat", "--phase", "build", "--role", "proof-runner", "--skills-root", skills}, stdout, stderr)
252
+ if code != 0 {
253
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
254
+ }
255
+ bundle, err = os.ReadFile(filepath.Join(featureDir, "ctx", "build-proof-runner.bundle.md"))
256
+ if err != nil {
257
+ t.Fatal(err)
258
+ }
259
+ if !strings.Contains(string(bundle), "role-scoped read-set declares no workspace artifacts") {
260
+ t.Fatalf("empty role list should emit the skip marker:\n%s", bundle)
261
+ }
262
+ if strings.Contains(string(bundle), "workspace/spec.md") {
263
+ t.Fatal("empty role list still bundled workspace files")
264
+ }
265
+ }
266
+
267
+ func TestContextRoleAutoFiresAgentsTrigger(t *testing.T) {
268
+ root, featureDir := newWorkspace(t, "build")
269
+ skills := newSkillsRoot(t)
270
+ writeFile(t, filepath.Join(skills, "devrites-lib", "reference", "standards", "core.md"), "# core\n")
271
+ writeFile(t, filepath.Join(skills, "devrites-lib", "reference", "standards", "agents.md"), "# agents contract\n")
272
+ writeFile(t, filepath.Join(skills, "devrites-lib", "reference", "standards", "testing.md"), "# testing\n")
273
+ writeFile(t, filepath.Join(skills, "rite-build", "SKILL.md"),
274
+ "---\nname: rite-build\n---\n<!-- loads: {\"always\":[\"devrites-lib/reference/standards/core.md\"],\"triggers\":{\"agents\":[\"devrites-lib/reference/standards/agents.md\"],\"testing\":[\"devrites-lib/reference/standards/testing.md\"]},\"workspace\":[]} -->\n# build\n")
275
+
276
+ // A role call is a dispatch: the declared agents trigger auto-fires.
277
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
278
+ code := RunContext(root, []string{"feat", "--phase", "build", "--role", "slice-wright", "--skills-root", skills}, stdout, stderr)
279
+ if code != 0 {
280
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
281
+ }
282
+ bundle, err := os.ReadFile(filepath.Join(featureDir, "ctx", "build-slice-wright.bundle.md"))
283
+ if err != nil {
284
+ t.Fatal(err)
285
+ }
286
+ if !strings.Contains(string(bundle), "agents contract") {
287
+ t.Fatalf("auto-fired agents trigger missing from bundle:\n%s", bundle)
288
+ }
289
+ out := stdout.String()
290
+ if !strings.Contains(out, "auto=[agents]") {
291
+ t.Fatalf("auto-fire not reported:\n%s", out)
292
+ }
293
+ for _, line := range strings.Split(out, "\n") {
294
+ if strings.HasPrefix(line, "triggers: applied=") {
295
+ unsel := line[strings.Index(line, "unselected=["):]
296
+ if strings.Contains(unsel, "agents") {
297
+ t.Fatalf("agents listed as unselected:\n%s", line)
298
+ }
299
+ }
300
+ }
301
+
302
+ // Without --role the trigger stays unselected (no auto-fire).
303
+ stdout.Reset()
304
+ stderr.Reset()
305
+ code = RunContext(root, []string{"feat", "--phase", "build", "--skills-root", skills}, stdout, stderr)
306
+ if code != 0 {
307
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
308
+ }
309
+ if strings.Contains(stdout.String(), "auto=[agents]") {
310
+ t.Fatalf("auto-fire without --role:\n%s", stdout)
311
+ }
312
+ if !strings.Contains(stdout.String(), "agents") {
313
+ t.Fatalf("agents should appear in unselected list:\n%s", stdout)
314
+ }
315
+
316
+ // Explicit --trigger agents with --role does not double-report.
317
+ stdout.Reset()
318
+ stderr.Reset()
319
+ code = RunContext(root, []string{"feat", "--phase", "build", "--role", "slice-wright", "--trigger", "agents", "--skills-root", skills}, stdout, stderr)
320
+ if code != 0 {
321
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
322
+ }
323
+ if strings.Contains(stdout.String(), "auto=[agents]") {
324
+ t.Fatalf("explicit trigger also reported as auto:\n%s", stdout)
325
+ }
326
+
327
+ // A role with no agent contract file hard-fails: a dispatch packet
328
+ // without its contract is a bug, not a soft omission.
329
+ stdout.Reset()
330
+ stderr.Reset()
331
+ code = RunContext(root, []string{"feat", "--phase", "build", "--role", "ghost", "--skills-root", skills}, stdout, stderr)
332
+ if code != 3 {
333
+ t.Fatalf("missing agent contract should exit 3, got %d\n%s%s", code, stdout, stderr)
334
+ }
335
+ if !strings.Contains(stdout.String(), "MISSING: agents/devrites-ghost.md") {
336
+ t.Fatalf("missing agent not reported:\n%s", stdout)
337
+ }
338
+ }
339
+
340
+ func TestContextSuggestsTriggersFromFacts(t *testing.T) {
341
+ root, featureDir := newWorkspace(t, "build")
342
+ writeFile(t, filepath.Join(featureDir, "spec.md"), "# spec\nA React component with auth token handling.\n")
343
+ writeFile(t, filepath.Join(root, "AFK"), "max_parallel: 4\n")
344
+ writeFile(t, filepath.Join(root, "principles.md"), "# principles\n")
345
+ skills := newSkillsRoot(t)
346
+ writeFile(t, filepath.Join(skills, "rite-build", "SKILL.md"),
347
+ "---\nname: rite-build\n---\n<!-- loads: {\"always\":[\"devrites-lib/reference/standards/core.md\"],\"triggers\":{\"afk\":[\"devrites-lib/reference/standards/testing.md\"],\"parallel\":[\"devrites-lib/reference/standards/testing.md\"],\"frontend\":[\"devrites-lib/reference/standards/testing.md\"],\"security\":[\"devrites-lib/reference/standards/testing.md\"],\"principles\":[\"devrites-lib/reference/standards/testing.md\"],\"coding\":[\"devrites-lib/reference/standards/testing.md\"],\"cross-model\":[\"devrites-lib/reference/standards/testing.md\"]},\"workspace\":[]} -->\n# build\n")
348
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
349
+ code := RunContext(root, []string{"feat", "--phase", "build", "--role", "slice-wright", "--skills-root", skills}, stdout, stderr)
350
+ if code != 0 {
351
+ t.Fatalf("code=%d\n%s%s", code, stdout, stderr)
352
+ }
353
+ out := stdout.String()
354
+ for _, want := range []string{"afk", "parallel", "frontend", "security", "principles", "coding"} {
355
+ if !strings.Contains(out, want) {
356
+ t.Fatalf("suggestion %q missing:\n%s", want, out)
357
+ }
358
+ }
359
+ if !strings.Contains(out, "suggested=[") {
360
+ t.Fatalf("suggested line absent:\n%s", out)
361
+ }
362
+ if strings.Contains(out, "cross-model") && strings.Contains(out[strings.Index(out, "suggested="):], "cross-model") {
363
+ t.Fatalf("flag-only trigger must not be suggested:\n%s", out)
364
+ }
365
+ }
366
+
367
+ func TestContextUnchangedDigestSkipsRewrite(t *testing.T) {
368
+ root, featureDir := newWorkspace(t, "build")
369
+ writeFile(t, filepath.Join(featureDir, "spec.md"), "# spec\n")
370
+ skills := newSkillsRoot(t)
371
+ args := []string{"feat", "--phase", "build", "--role", "slice-wright", "--trigger", "tdd", "--skills-root", skills}
372
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
373
+ if code := RunContext(root, args, stdout, stderr); code != 0 {
374
+ t.Fatalf("first run code=%d\n%s", code, stderr)
375
+ }
376
+ bundlePath := filepath.Join(featureDir, "ctx", "build-slice-wright.bundle.md")
377
+ info1, err := os.Stat(bundlePath)
378
+ if err != nil {
379
+ t.Fatal(err)
380
+ }
381
+ stdout.Reset()
382
+ if code := RunContext(root, args, stdout, stderr); code != 0 {
383
+ t.Fatalf("second run code=%d\n%s", code, stderr)
384
+ }
385
+ if !strings.Contains(stdout.String(), "unchanged") {
386
+ t.Fatalf("unchanged marker absent:\n%s", stdout)
387
+ }
388
+ info2, err := os.Stat(bundlePath)
389
+ if err != nil {
390
+ t.Fatal(err)
391
+ }
392
+ if !info1.ModTime().Equal(info2.ModTime()) {
393
+ t.Fatal("unchanged bundle was rewritten")
394
+ }
395
+ writeFile(t, filepath.Join(featureDir, "spec.md"), "# spec v2\n")
396
+ stdout.Reset()
397
+ if code := RunContext(root, args, stdout, stderr); code != 0 {
398
+ t.Fatalf("third run code=%d\n%s", code, stderr)
399
+ }
400
+ if strings.Contains(stdout.String(), "unchanged") {
401
+ t.Fatal("changed input still reported unchanged")
402
+ }
403
+ }
404
+
405
+ func TestMetricsSummaryReportsRoles(t *testing.T) {
406
+ root, _ := newWorkspace(t, "build")
407
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
408
+ for _, args := range [][]string{
409
+ {"record", "feat", "--phase", "build", "--event", "context", "--role", "slice-wright", "--bytes", "100"},
410
+ {"record", "feat", "--phase", "build", "--event", "context", "--role", "slice-wright", "--bytes", "50"},
411
+ {"record", "feat", "--phase", "review", "--event", "context", "--role", "code-reviewer", "--bytes", "200"},
412
+ } {
413
+ if code := RunMetrics(root, args, stdout, stderr); code != 0 {
414
+ t.Fatalf("record %v code=%d\n%s", args, code, stderr)
415
+ }
416
+ }
417
+ stdout.Reset()
418
+ if code := RunMetrics(root, []string{"summary", "feat"}, stdout, stderr); code != 0 {
419
+ t.Fatalf("summary code=%d\n%s", code, stderr)
420
+ }
421
+ out := stdout.String()
422
+ if !strings.Contains(out, "roles:") || !strings.Contains(out, "slice-wright") || !strings.Contains(out, "bytes=150") {
423
+ t.Fatalf("role rollup missing:\n%s", out)
424
+ }
425
+ }
426
+
427
+ func TestContextPhaseAndSkillMutuallyExclusive(t *testing.T) {
428
+ root, _ := newWorkspace(t, "build")
429
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
430
+ for _, args := range [][]string{
431
+ {"feat", "--skills-root", "x"},
432
+ {"feat", "--phase", "build", "--skill", "devrites-audit"},
433
+ {"feat", "--skill", "../escape"},
434
+ } {
435
+ stdout.Reset()
436
+ stderr.Reset()
437
+ if code := RunContext(root, args, stdout, stderr); code != 2 {
438
+ t.Fatalf("args %v: code=%d want 2", args, code)
439
+ }
440
+ }
441
+ }
442
+
443
+ func TestNextReportsPhasePath(t *testing.T) {
444
+ root, featureDir := newWorkspace(t, "spec")
445
+ // spec requires: brief, spec, state, decisions, assumptions, questions
446
+ for _, name := range []string{"brief.md", "spec.md", "decisions.md", "questions.md"} {
447
+ writeFile(t, filepath.Join(featureDir, name), "x\n")
448
+ }
449
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
450
+ code := RunNext(root, []string{"feat"}, stdout, stderr)
451
+ out := stdout.String()
452
+ if code != 0 {
453
+ t.Fatalf("code=%d err=%s", code, stderr.String())
454
+ }
455
+ if !strings.Contains(out, "next-phase: spec") {
456
+ t.Fatalf("expected incomplete spec as next:\n%s", out)
457
+ }
458
+ if !strings.Contains(out, "missing: assumptions.md") {
459
+ t.Fatalf("assumptions.md should be missing:\n%s", out)
460
+ }
461
+ }
462
+
463
+ func TestNextBlocksOnOpenQuestions(t *testing.T) {
464
+ root, featureDir := newWorkspace(t, "spec")
465
+ for _, name := range []string{"brief.md", "spec.md", "decisions.md", "assumptions.md"} {
466
+ writeFile(t, filepath.Join(featureDir, name), "x\n")
467
+ }
468
+ writeFile(t, filepath.Join(featureDir, "questions.md"), "# Questions\n\n| Q-001 | open | g | q | | i |\n")
469
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
470
+ code := RunNext(root, []string{"feat"}, stdout, stderr)
471
+ out := stdout.String()
472
+ if code != 0 {
473
+ t.Fatalf("code=%d err=%s", code, stderr.String())
474
+ }
475
+ if !strings.Contains(out, "next-phase: clarify") {
476
+ t.Fatalf("expected clarify next:\n%s", out)
477
+ }
478
+ if !strings.Contains(out, "missing: decision-coverage.md") {
479
+ t.Fatalf("decision-coverage.md should be missing:\n%s", out)
480
+ }
481
+ }
482
+
483
+ func TestNextSkipsVacuousClarify(t *testing.T) {
484
+ root, featureDir := newWorkspace(t, "spec")
485
+ for _, name := range []string{"brief.md", "spec.md", "decisions.md", "assumptions.md"} {
486
+ writeFile(t, filepath.Join(featureDir, name), "x\n")
487
+ }
488
+ writeFile(t, filepath.Join(featureDir, "questions.md"), "# Questions\n\nNo open questions remain.\n")
489
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
490
+ code := RunNext(root, []string{"feat"}, stdout, stderr)
491
+ out := stdout.String()
492
+ if code != 0 {
493
+ t.Fatalf("code=%d err=%s", code, stderr.String())
494
+ }
495
+ if !strings.Contains(out, "skip: clarify (0 open questions)") {
496
+ t.Fatalf("expected clarify skip advisory:\n%s", out)
497
+ }
498
+ if !strings.Contains(out, "next-phase: temper") {
499
+ t.Fatalf("expected temper next:\n%s", out)
500
+ }
501
+ }
502
+
503
+ func TestDiffScopeAllowlist(t *testing.T) {
504
+ root, _ := newWorkspace(t, "build")
505
+ repo := t.TempDir()
506
+ initGitRepository(t, repo)
507
+ writeFile(t, filepath.Join(repo, "src", "ok.go"), "package ok\n")
508
+ writeFile(t, filepath.Join(repo, "src", "evil.go"), "package evil\n")
509
+ stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{}
510
+ args := []string{"feat", "--allow", "src/ok.go", "--cwd", repo}
511
+ code := RunCheckDiffScope(root, args, stdout, stderr)
512
+ out := stdout.String()
513
+ if code != 3 || !strings.Contains(out, "src/evil.go outside allowlist") {
514
+ t.Fatalf("code=%d want violation\n%s", code, out)
515
+ }
516
+ stdout.Reset()
517
+ code = RunCheckDiffScope(root, []string{"feat", "--allow", "src", "--cwd", repo}, stdout, stderr)
518
+ if code != 0 || !strings.Contains(stdout.String(), "2 changed") {
519
+ t.Fatalf("code=%d\n%s", code, stdout.String())
520
+ }
521
+ }