devrites 3.0.4 → 3.0.6

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 (752) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/README.md +280 -521
  3. package/SECURITY.md +91 -77
  4. package/docs/adr/README.md +7 -9
  5. package/docs/agents/domain.md +5 -5
  6. package/docs/agents/issue-driven-rites.md +5 -5
  7. package/docs/agents/issue-tracker.md +1 -1
  8. package/docs/agents/triage-labels.md +2 -2
  9. package/docs/architecture.md +101 -85
  10. package/docs/capability-surface-selection.md +3 -1
  11. package/docs/cli.md +20 -13
  12. package/docs/command-map.md +39 -35
  13. package/docs/engine/agent-contract.md +11 -9
  14. package/docs/engine/commands.md +92 -78
  15. package/docs/engine/state-schema.md +23 -19
  16. package/docs/engine/workspace-schema.md +12 -11
  17. package/docs/extensions.md +17 -17
  18. package/docs/flow.md +34 -23
  19. package/docs/harness-compliance.md +2 -2
  20. package/docs/orchestration.md +21 -20
  21. package/docs/porting-to-a-new-harness.md +6 -2
  22. package/docs/release.md +30 -12
  23. package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
  24. package/docs/skills.md +77 -52
  25. package/docs/templates/CRITIC_REVIEW_PACKET_TEMPLATE.md +35 -0
  26. package/docs/usage.md +56 -45
  27. package/engine/Makefile +2 -2
  28. package/engine/commands.go +3 -3
  29. package/engine/harnessmatrix.go +2 -2
  30. package/engine/hookpolicy.go +9 -9
  31. package/engine/hooks.go +11 -11
  32. package/engine/hooks_workspace.go +11 -11
  33. package/engine/internal/doctor/doctor.go +7 -7
  34. package/engine/internal/gate/gate.go +11 -11
  35. package/engine/internal/harness/compliance.go +1 -1
  36. package/engine/internal/harness/harness.go +7 -7
  37. package/engine/internal/install/install.go +2 -0
  38. package/engine/internal/install/install_test.go +3 -3
  39. package/engine/internal/iohooks/detach_unix.go +1 -1
  40. package/engine/internal/iohooks/iohooks.go +8 -8
  41. package/engine/internal/lib/adoption.go +1 -1
  42. package/engine/internal/lib/analyze.go +15 -15
  43. package/engine/internal/lib/archivesearch.go +3 -3
  44. package/engine/internal/lib/budget.go +3 -3
  45. package/engine/internal/lib/buildreadiness.go +6 -6
  46. package/engine/internal/lib/checkacceptance.go +10 -10
  47. package/engine/internal/lib/closeout.go +5 -5
  48. package/engine/internal/lib/conventions.go +3 -3
  49. package/engine/internal/lib/coverage.go +4 -4
  50. package/engine/internal/lib/doubtcoverage.go +9 -9
  51. package/engine/internal/lib/evidencefresh.go +6 -6
  52. package/engine/internal/lib/extensions.go +9 -9
  53. package/engine/internal/lib/footprint.go +13 -13
  54. package/engine/internal/lib/jsonout.go +2 -2
  55. package/engine/internal/lib/lanes.go +2 -2
  56. package/engine/internal/lib/learnings.go +9 -9
  57. package/engine/internal/lib/ledger.go +8 -8
  58. package/engine/internal/lib/ledger_test.go +5 -5
  59. package/engine/internal/lib/mutationgate.go +4 -4
  60. package/engine/internal/lib/overrides.go +9 -9
  61. package/engine/internal/lib/overrides_test.go +2 -2
  62. package/engine/internal/lib/packageexistence.go +732 -55
  63. package/engine/internal/lib/packageexistence_test.go +343 -0
  64. package/engine/internal/lib/preamble.go +6 -6
  65. package/engine/internal/lib/progress.go +5 -5
  66. package/engine/internal/lib/reconcile.go +80 -20
  67. package/engine/internal/lib/reconcile_test.go +13 -5
  68. package/engine/internal/lib/resolve.go +3 -3
  69. package/engine/internal/lib/reviewerstats.go +2 -2
  70. package/engine/internal/lib/reviewintegrity.go +13 -13
  71. package/engine/internal/lib/reviewintegrity_test.go +6 -6
  72. package/engine/internal/lib/runbook.go +1 -1
  73. package/engine/internal/lib/session.go +1 -1
  74. package/engine/internal/lib/session_test.go +2 -2
  75. package/engine/internal/lib/specparse.go +4 -4
  76. package/engine/internal/lib/specskeleton.go +2 -2
  77. package/engine/internal/lib/specvalidate.go +13 -13
  78. package/engine/internal/lib/stuck.go +13 -13
  79. package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
  80. package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
  81. package/engine/internal/lib/testintegrity.go +9 -9
  82. package/engine/internal/lib/tickafk.go +4 -4
  83. package/engine/internal/lib/util.go +1 -1
  84. package/engine/internal/migrate/migrate.go +2 -2
  85. package/engine/internal/migrate/migrate_test.go +1 -0
  86. package/engine/internal/orient/firstrun.go +8 -8
  87. package/engine/internal/orient/orient.go +5 -5
  88. package/engine/internal/state/concurrency_test.go +4 -4
  89. package/engine/internal/state/feature.go +6 -6
  90. package/engine/internal/state/lock_unix.go +1 -1
  91. package/engine/internal/state/schema.go +1 -1
  92. package/engine/internal/state/snapshot.go +2 -2
  93. package/engine/internal/state/write.go +1 -1
  94. package/engine/internal/version/version.go +1 -1
  95. package/engine/main.go +5 -5
  96. package/engine/subagent_orient_context.txt +4 -4
  97. package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
  98. package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
  99. package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
  100. package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
  101. package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
  102. package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
  103. package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
  104. package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
  105. package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
  106. package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
  107. package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
  108. package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
  109. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
  110. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
  111. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
  112. package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
  113. package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
  114. package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
  115. package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
  116. package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
  117. package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
  118. package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
  119. package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
  120. package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
  121. package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
  122. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
  123. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
  124. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
  125. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
  126. package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
  127. package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
  128. package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
  129. package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
  130. package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
  131. package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
  132. package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
  133. package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
  134. package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
  135. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
  136. package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
  137. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
  138. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
  139. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
  140. package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
  141. package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
  142. package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
  143. package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
  144. package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
  145. package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
  146. package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
  147. package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
  148. package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
  149. package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
  150. package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
  151. package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
  152. package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
  153. package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
  154. package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
  155. package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
  156. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
  157. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
  158. package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
  159. package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
  160. package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
  161. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
  162. package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
  163. package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
  164. package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
  165. package/engine/tests/adr_0006_clock_seam_test.go +1 -1
  166. package/engine/tests/budget_test.go +1 -1
  167. package/engine/tests/canonical_ac_ids_test.go +2 -2
  168. package/engine/tests/cli_test.go +1 -1
  169. package/engine/tests/concurrency_cli_test.go +1 -1
  170. package/engine/tests/gate_test.go +4 -4
  171. package/engine/tests/hook_test.go +3 -3
  172. package/engine/tests/hooks_io_test.go +1 -1
  173. package/engine/tests/lib_parity_test.go +29 -29
  174. package/engine/tests/meta_test.go +2 -2
  175. package/engine/tests/parity_closeout_test.go +1 -1
  176. package/engine/tests/parity_learnings_test.go +2 -2
  177. package/engine/tests/parity_mutationgate_test.go +2 -2
  178. package/engine/tests/parity_resolve_test.go +1 -1
  179. package/engine/tests/parity_test.go +3 -3
  180. package/engine/tests/parity_tickafk_test.go +1 -1
  181. package/engine/validatepack.go +5 -5
  182. package/engine/validatepackskills.go +9 -9
  183. package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
  184. package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
  185. package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
  186. package/pack/.claude/agents/devrites-forge-judge.md +26 -26
  187. package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
  188. package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
  189. package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
  190. package/pack/.claude/agents/devrites-retrospector.md +19 -19
  191. package/pack/.claude/agents/devrites-security-auditor.md +15 -15
  192. package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
  193. package/pack/.claude/agents/devrites-slice-wright.md +52 -51
  194. package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
  195. package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
  196. package/pack/.claude/agents/devrites-test-analyst.md +13 -13
  197. package/pack/.claude/settings.json +1 -1
  198. package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
  199. package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
  200. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
  201. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
  202. package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
  203. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
  204. package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
  205. package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
  206. package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
  207. package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
  208. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
  209. package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
  210. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
  211. package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
  212. package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
  213. package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
  214. package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
  215. package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
  216. package/pack/.claude/skills/devrites-lib/SKILL.md +25 -27
  217. package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
  218. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
  219. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -3
  220. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
  221. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
  222. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
  223. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
  224. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
  225. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
  226. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
  227. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
  228. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
  229. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  230. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
  231. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
  232. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +12 -13
  233. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
  234. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
  235. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
  236. package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
  237. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
  238. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
  239. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
  240. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
  241. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
  242. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
  243. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
  244. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
  245. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
  246. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
  247. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
  248. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
  249. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
  250. package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
  251. package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
  252. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
  253. package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
  254. package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
  255. package/pack/.claude/skills/rite/SKILL.md +13 -14
  256. package/pack/.claude/skills/rite/reference/menu.md +10 -10
  257. package/pack/.claude/skills/rite-adopt/SKILL.md +17 -18
  258. package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
  259. package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
  260. package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
  261. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
  262. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
  263. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
  264. package/pack/.claude/skills/rite-build/SKILL.md +22 -22
  265. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
  266. package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
  267. package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
  268. package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
  269. package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
  270. package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
  271. package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
  272. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
  273. package/pack/.claude/skills/rite-build/reference/output.md +1 -1
  274. package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
  275. package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
  276. package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
  277. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
  278. package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
  279. package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
  280. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
  281. package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
  282. package/pack/.claude/skills/rite-define/SKILL.md +25 -25
  283. package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
  284. package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
  285. package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
  286. package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
  287. package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
  288. package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
  289. package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
  290. package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
  291. package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
  292. package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
  293. package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
  294. package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
  295. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
  296. package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
  297. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
  298. package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
  299. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
  300. package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
  301. package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
  302. package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
  303. package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
  304. package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
  305. package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
  306. package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
  307. package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
  308. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
  309. package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
  310. package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
  311. package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
  312. package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
  313. package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
  314. package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
  315. package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
  316. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
  317. package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
  318. package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
  319. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
  320. package/pack/.claude/skills/rite-review/SKILL.md +34 -34
  321. package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
  322. package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
  323. package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  324. package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
  325. package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
  326. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
  327. package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
  328. package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
  329. package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
  330. package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
  331. package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
  332. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
  333. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
  334. package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
  335. package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
  336. package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
  337. package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
  338. package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
  339. package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
  340. package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
  341. package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
  342. package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
  343. package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
  344. package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
  345. package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
  346. package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
  347. package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
  348. package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
  349. package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
  350. package/pack/.claude/skills/rite-status/SKILL.md +13 -13
  351. package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
  352. package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
  353. package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
  354. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
  355. package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
  356. package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
  357. package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
  358. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
  359. package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
  360. package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
  361. package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
  362. package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
  363. package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
  364. package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
  365. package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
  366. package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
  367. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
  368. package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
  369. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
  370. package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
  371. package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
  372. package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
  373. package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
  374. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
  375. package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
  376. package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
  377. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
  378. package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
  379. package/pack/generated/claude/settings.json +1 -1
  380. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
  381. package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
  382. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
  383. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
  384. package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
  385. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
  386. package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
  387. package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
  388. package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
  389. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
  390. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
  391. package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
  392. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
  393. package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
  394. package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
  395. package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
  396. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
  397. package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
  398. package/pack/generated/claude/skills/devrites-lib/SKILL.md +25 -27
  399. package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
  400. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
  401. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -3
  402. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
  403. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
  404. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
  405. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
  406. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
  407. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
  408. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
  409. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
  410. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
  411. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  412. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
  413. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
  414. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +12 -13
  415. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
  416. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
  417. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
  418. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
  419. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
  420. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
  421. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
  422. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
  423. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
  424. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
  425. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
  426. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
  427. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
  428. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
  429. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
  430. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
  431. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
  432. package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
  433. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
  434. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
  435. package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
  436. package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
  437. package/pack/generated/claude/skills/rite/SKILL.md +13 -14
  438. package/pack/generated/claude/skills/rite/reference/menu.md +10 -10
  439. package/pack/generated/claude/skills/rite-adopt/SKILL.md +17 -18
  440. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
  441. package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
  442. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
  443. package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
  444. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
  445. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
  446. package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
  447. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
  448. package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
  449. package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
  450. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
  451. package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
  452. package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
  453. package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
  454. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
  455. package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
  456. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
  457. package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
  458. package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
  459. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
  460. package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
  461. package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
  462. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
  463. package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
  464. package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
  465. package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
  466. package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
  467. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
  468. package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
  469. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
  470. package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
  471. package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
  472. package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
  473. package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
  474. package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
  475. package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
  476. package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
  477. package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
  478. package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
  479. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
  480. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
  481. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
  482. package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
  483. package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
  484. package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
  485. package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
  486. package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
  487. package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
  488. package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
  489. package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
  490. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
  491. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
  492. package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
  493. package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
  494. package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
  495. package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
  496. package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
  497. package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
  498. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
  499. package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
  500. package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
  501. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
  502. package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
  503. package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
  504. package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
  505. package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  506. package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
  507. package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
  508. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
  509. package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
  510. package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
  511. package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
  512. package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
  513. package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
  514. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
  515. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
  516. package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
  517. package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
  518. package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
  519. package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
  520. package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
  521. package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
  522. package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
  523. package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
  524. package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
  525. package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
  526. package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
  527. package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
  528. package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
  529. package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
  530. package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
  531. package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
  532. package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
  533. package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
  534. package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
  535. package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
  536. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
  537. package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
  538. package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
  539. package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
  540. package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
  541. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
  542. package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
  543. package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
  544. package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
  545. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
  546. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
  547. package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
  548. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
  549. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
  550. package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
  551. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
  552. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
  553. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
  554. package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
  555. package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
  556. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
  557. package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
  558. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
  559. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
  560. package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
  561. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
  562. package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
  563. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
  564. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
  565. package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
  566. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
  567. package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
  568. package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
  569. package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
  570. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
  571. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
  572. package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
  573. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
  574. package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
  575. package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
  576. package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
  577. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
  578. package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
  579. package/pack/generated/codex/skills/devrites-lib/SKILL.md +28 -30
  580. package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
  581. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
  582. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -3
  583. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
  584. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
  585. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
  586. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
  587. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
  588. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
  589. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
  590. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
  591. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
  592. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  593. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
  594. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
  595. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +12 -13
  596. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
  597. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
  598. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
  599. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
  600. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
  601. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
  602. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
  603. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
  604. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
  605. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
  606. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
  607. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
  608. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
  609. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
  610. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
  611. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
  612. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
  613. package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
  614. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
  615. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
  616. package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
  617. package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
  618. package/pack/generated/codex/skills/rite/SKILL.md +16 -17
  619. package/pack/generated/codex/skills/rite/reference/menu.md +10 -10
  620. package/pack/generated/codex/skills/rite-adopt/SKILL.md +20 -21
  621. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
  622. package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
  623. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
  624. package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
  625. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
  626. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
  627. package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
  628. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
  629. package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
  630. package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
  631. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
  632. package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
  633. package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
  634. package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
  635. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
  636. package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
  637. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
  638. package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
  639. package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
  640. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
  641. package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
  642. package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
  643. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
  644. package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
  645. package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
  646. package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
  647. package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
  648. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
  649. package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
  650. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
  651. package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
  652. package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
  653. package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
  654. package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
  655. package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
  656. package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
  657. package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
  658. package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
  659. package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
  660. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
  661. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
  662. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
  663. package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
  664. package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
  665. package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
  666. package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
  667. package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
  668. package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
  669. package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
  670. package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
  671. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
  672. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
  673. package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
  674. package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
  675. package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
  676. package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
  677. package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
  678. package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
  679. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
  680. package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
  681. package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
  682. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
  683. package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
  684. package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
  685. package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
  686. package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
  687. package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
  688. package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
  689. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
  690. package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
  691. package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
  692. package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
  693. package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
  694. package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
  695. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
  696. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
  697. package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
  698. package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
  699. package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
  700. package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
  701. package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
  702. package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
  703. package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
  704. package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
  705. package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
  706. package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
  707. package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
  708. package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
  709. package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
  710. package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
  711. package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
  712. package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
  713. package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
  714. package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
  715. package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
  716. package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
  717. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
  718. package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
  719. package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
  720. package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
  721. package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
  722. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
  723. package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
  724. package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
  725. package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
  726. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
  727. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
  728. package/package.json +2 -2
  729. package/scripts/build-binaries.sh +1 -1
  730. package/scripts/build-host-artifacts.sh +1 -1
  731. package/scripts/build-release-tarball.sh +1 -1
  732. package/scripts/check-cross-refs.py +8 -8
  733. package/scripts/check-invocation-integrity.py +4 -4
  734. package/scripts/check-no-global-writes.sh +2 -2
  735. package/scripts/check-reply-contract.sh +1 -1
  736. package/scripts/check-rule-uniqueness.sh +2 -2
  737. package/scripts/codex-generate.sh +5 -5
  738. package/scripts/devrites-detect.sh +33 -33
  739. package/scripts/eval-runner.py +7 -7
  740. package/scripts/grade-feature.sh +14 -14
  741. package/scripts/install-lib.sh +2 -2
  742. package/scripts/pin.sh +12 -12
  743. package/scripts/run-behavioral-evals.sh +12 -12
  744. package/scripts/run-evals.sh +1 -1
  745. package/scripts/run-outcome-evals.sh +12 -12
  746. package/scripts/scan-pack-security.py +4 -4
  747. package/scripts/scan-supply-chain-iocs.py +7 -7
  748. package/scripts/skills-inventory.mjs +21 -4
  749. package/scripts/sync-version.sh +2 -2
  750. package/scripts/validate-workflow-security.py +12 -6
  751. package/scripts/validate-workspace-schema.py +2 -2
  752. package/scripts/validate.sh +7 -7
@@ -3,7 +3,7 @@
3
3
  DevRites uses **project-local** agents under `.claude/agents/` (never a global location).
4
4
  It separates three roles: **specialist skills** (model-invoked disciplines that run inline),
5
5
  **review subagents** (fresh-context, **read-only** reviewers spawned for independent judgment),
6
- and the **executor subagent** (`devrites-slice-wright` fresh-context but **write-capable**,
6
+ and the **executor subagent** (`devrites-slice-wright`: fresh-context but **write-capable**,
7
7
  the one agent that produces code).
8
8
 
9
9
  ## Model tier policy
@@ -13,76 +13,76 @@ standard/inherited, with the strongest available model for high-risk architectur
13
13
  or public API slices; cheap tiers are only for mechanical read-only scouts. Seal/spec/security
14
14
  reviewers stay strongest/inherited. If the harness cannot select models, record "host default".
15
15
 
16
- ## Review subagents `.claude/agents/`
16
+ ## Review subagents: `.claude/agents/`
17
17
  Fresh-context, read-only reviewers. Each is given the active feature workspace path
18
- (`.devrites/work/<slug>/`) + the diff, and returns findings they do **not** edit code.
18
+ (`.devrites/work/<slug>/`) + the diff, and returns findings. They do **not** edit code.
19
19
 
20
20
  **Which reviewer fires when is defined once** in
21
- [`parallel-dispatch.md`](../../../devrites-lib/reference/parallel-dispatch.md) the seal/review
21
+ [`parallel-dispatch.md`](../../../devrites-lib/reference/parallel-dispatch.md): the seal/review
22
22
  fan-out **roster** and its checkable triggers, plus the accounting gate that proves no reviewer is
23
23
  silently skipped. The table below is the full catalog (it also covers the phase-locked agents the
24
- roster excludes); its **When** column is a summary on any discrepancy, the roster wins.
24
+ roster excludes); its **When** column is a summary, on any discrepancy, the roster wins.
25
25
 
26
26
  | Agent | Purpose | When |
27
27
  |-------|---------|------|
28
28
  | `devrites-spec-reviewer` | Does the diff implement the spec? Missing / partial / wrong criteria; scope creep | `/rite-review` (Spec axis); `/rite-seal` |
29
29
  | `devrites-code-reviewer` | Correctness / readability / architecture / maintainability | `/rite-seal`; after a slice |
30
- | `devrites-test-analyst` | Do the tests actually prove the acceptance criteria? | `/rite-seal` |
30
+ | `devrites-test-analyst` | Do the tests prove the acceptance criteria? | `/rite-seal` |
31
31
  | `devrites-frontend-reviewer` | UX flow, a11y, responsive, design-system, anti-AI-slop | `/rite-seal` on UI features |
32
32
  | `devrites-security-auditor` | Untrusted input, trust boundaries, secrets, deps | `/rite-seal` when input/auth/data in scope |
33
33
  | `devrites-performance-reviewer` | Measure-first perf (N+1, hot paths, payload size) | `/rite-seal` when perf relevant |
34
34
  | `devrites-devex-reviewer` | Developer-experience scorecard + the predict-vs-measure boomerang (TTHW, getting-started, error-message quality, ergonomics, docs) | `/rite-vet` (predict) + `/rite-seal` when a developer-facing surface (API / CLI / SDK / webhook / config / errors / getting-started) is in scope |
35
- | `devrites-simplifier-reviewer` | Behavior-preserving simplification (Chesterton's Fence, deletion test) Suggestion-only by design | `/rite-polish` Phase 1; `devrites-audit simplify` |
35
+ | `devrites-simplifier-reviewer` | Behavior-preserving simplification (Chesterton's Fence, deletion test). Suggestion-only by design | `/rite-polish` Phase 1; `devrites-audit simplify` |
36
36
  | `devrites-doubt-reviewer` | Adversarial check of a single claim/decision | `devrites-doubt` loop; risky decisions |
37
- | `devrites-strategy-reviewer` | Spec-vs-rubric strategic review (ambition / scope / premise / pre-mortem / YAGNI / testability / irreversibility / cross-cutting / convention) **before** any plan or code | `/rite-temper` loop (pre-plan) |
38
- | `devrites-plan-reviewer` | Plan-vs-rubric engineering review (architecture / scope-reuse / plan code-quality / test-coverage design / performance / reversibility / failure-mode coverage), confidence-banded with a quote-the-source verification gate **after define, before build** | `/rite-vet` loop (pre-build) |
39
- | `devrites-forge-judge` | Comparative judge of K=23 competing candidate implementations of one slice (acceptance / test strength / principle fit / simplicity / reuse / anti-slop) picks the single winner to land, names grafts | `/rite-build` forge step, on a `Forge: yes` slice |
37
+ | `devrites-strategy-reviewer` | Spec-vs-rubric strategic review (ambition / scope / premise / pre-mortem / YAGNI / testability / irreversibility / cross-cutting / convention): **before** any plan or code | `/rite-temper` loop (pre-plan) |
38
+ | `devrites-plan-reviewer` | Plan-vs-rubric engineering review (architecture / scope-reuse / plan code-quality / test-coverage design / performance / reversibility / failure-mode coverage), confidence-banded with a quote-the-source verification gate (**after define, before build**) | `/rite-vet` loop (pre-build) |
39
+ | `devrites-forge-judge` | Comparative judge of K=2-3 competing candidate implementations of one slice (acceptance / test strength / principle fit / simplicity / reuse / anti-slop); picks the single winner to land and names grafts | `/rite-build` forge step, on a `Forge: yes` slice |
40
40
 
41
- ## The executor subagent `.claude/agents/devrites-slice-wright.md`
41
+ ## The executor subagent: `.claude/agents/devrites-slice-wright.md`
42
42
 
43
43
  The system's one **write-capable** agent, and the mirror of the reviewers: where a reviewer
44
44
  reads a finished diff in a fresh context, the wright **writes** one slice in a fresh context.
45
45
 
46
46
  | Agent | Purpose | When |
47
47
  |-------|---------|------|
48
- | `devrites-slice-wright` | Turn ONE fully-specified slice contract into the smallest complete, idiomatic, proven implementation orient → TDD → verify, anti-AI-slop, feature scope only | `/rite-build` the build-core dispatch step |
48
+ | `devrites-slice-wright` | Turn ONE fully specified slice contract into the smallest complete, idiomatic, proven implementation (orient → TDD → verify, anti-AI-slop, feature scope only) | `/rite-build`, the build-core dispatch step |
49
49
 
50
50
  `/rite-build` is the orchestrator: it owns the gates and the workspace, dispatches the wright
51
51
  for the implementation, then doubts, gates, and records the return. Tools:
52
52
  `Read, Edit, Write, Bash, Glob, Grep` (+ a code-intelligence index when present). It writes
53
- **code and tests only** never the `.devrites/` bookkeeping files; it returns that data and
53
+ **code and tests only**: never the `.devrites/` bookkeeping files; it returns that data and
54
54
  the orchestrator persists it, so there is exactly one canonical writer of workspace state and
55
55
  the HITL/AFK contract stays intact. **Single-threaded: one wright per slice, never a parallel
56
56
  fan-out of writers *sharing a tree*** (concurrent writers on one tree make conflicting implicit
57
57
  decisions). The one sanctioned exception is a **forge** slice (`Forge: yes`, flagged by
58
- `/rite-vet`): K=23 candidate wrights build the slice on distinct strategies in **isolated**
59
- worktrees, `devrites-forge-judge` scores them, and exactly **one** winner's diff lands no tree
58
+ `/rite-vet`): K=2-3 candidate wrights build the slice on distinct strategies in **isolated**
59
+ worktrees, `devrites-forge-judge` scores them, and exactly **one** winner's diff lands: no tree
60
60
  ever has two authors, so the invariant holds. Contract + return shape + fallback + forge:
61
61
  `.claude/skills/rite-build/reference/wright-dispatch.md`, `.../reference/forge.md`.
62
62
 
63
- ## The cross-feature analyst `.claude/agents/devrites-retrospector.md`
63
+ ## The cross-feature analyst: `.claude/agents/devrites-retrospector.md`
64
64
 
65
65
  A read-only agent like the reviewers, but its scope is the **archive, not a diff**: it reads the
66
- shipped `.devrites/archive/<slug>/` workspaces and reports the patterns one feature can't show
66
+ shipped `.devrites/archive/<slug>/` workspaces and reports the patterns one feature can't show:
67
67
  a finding class reviewers keep raising, recurring drift, dead-ends, the GO/NO-GO and rework trend.
68
68
 
69
69
  | Agent | Purpose | When |
70
70
  |-------|---------|------|
71
- | `devrites-retrospector` | Cross-feature retrospective synthesis mine recurring patterns + trends across shipped features, **draft** graduation candidates (rule / principle / convention / dismiss) | `/rite-ship` close, cadence-gated by `devrites-engine learnings nudge` (fires only with enough cross-feature signal) |
71
+ | `devrites-retrospector` | Cross-feature retrospective synthesis: mine recurring patterns + trends across shipped features, **draft** graduation candidates (rule / principle / convention / dismiss) | `/rite-ship` close, cadence-gated by `devrites-engine learnings nudge` (fires only with enough cross-feature signal) |
72
72
 
73
- It **proposes, never imposes**: it writes nothing itself the caller (`/rite-ship`) persists the
73
+ It **proposes, never imposes**: it writes nothing itself: the caller (`/rite-ship`) persists the
74
74
  digest to `.devrites/retro.md` and routes any promotion through `/rite-learn`, where the human
75
75
  confirms. This makes the cross-feature learning that otherwise waits for someone to run `/rite-learn`
76
76
  fire automatically at close, while keeping rule/principle promotion a deliberate human amendment
77
77
  (`principles.md` governance). The capture half is already automatic (`/rite-seal` step 9a); this is
78
78
  the synthesis half.
79
79
 
80
- ## Namespaces `rite-*` is the user surface; `devrites-*` is internal
80
+ ## Namespaces: `rite-*` is the user surface; `devrites-*` is internal
81
81
 
82
82
  The prefix mirrors visibility:
83
83
 
84
84
  - **`rite-*`** = user-invocable (`user-invocable: true`). The public slash-command
85
- surface lifecycle phases plus utilities. `rite`, `rite-spec`, `rite-temper`,
85
+ surface: lifecycle phases plus utilities. `rite`, `rite-spec`, `rite-temper`,
86
86
  `rite-define`, `rite-vet`,
87
87
  `rite-plan`, `rite-build`, `rite-prove`, `rite-polish`, `rite-review`, `rite-seal`,
88
88
  `rite-ship`, `rite-autocomplete`, `rite-status`, `rite-resolve`, `rite-prototype`,
@@ -94,16 +94,16 @@ The prefix mirrors visibility:
94
94
  Internal specialists that fire on trigger from the `rite-*` skills or auto-select.
95
95
  `devrites-interview`, `devrites-source-driven`, `devrites-doubt`,
96
96
  `devrites-ux-shape` (plans UX/UI into `design-brief.md` at `/rite-spec` when UI is
97
- detected the build target), `devrites-frontend-craft`, `devrites-prose-craft`
97
+ detected: the build target), `devrites-frontend-craft`, `devrites-prose-craft`
98
98
  (human-voice prose for artifacts + replies; the catch pass in `/rite-polish`),
99
99
  `devrites-browser-proof`,
100
100
  `devrites-debug-recovery`, `devrites-api-interface`, `devrites-audit` (dispatches the
101
101
  security / perf / simplify reviewer subagent on an axis argument).
102
102
  The `devrites-` prefix avoids collisions with bundled Claude Code skill
103
- names (`prototype`, `handoff`, `diagnose`, etc.) peer skill packs may
103
+ names (`prototype`, `handoff`, `diagnose`, etc.): peer skill packs may
104
104
  collide on the bare names internally even though these never appear in the
105
105
  user's slash menu. Parallel reviewer fan-out at `/rite-seal` is no longer
106
- a skill it lives as a shared reference file
106
+ a skill. It lives as a shared reference file
107
107
  (`.claude/skills/devrites-lib/reference/parallel-dispatch.md`), pointed at by both
108
108
  `/rite-review` and `/rite-seal`.
109
109
 
@@ -113,14 +113,14 @@ The `/rite` menu carries user-facing routing. `user-invocable:` in each
113
113
  ## When to bring in a reviewer (no prompt needed)
114
114
  The seal/review fan-out is **roster-driven**: sealing a feature dispatches every roster reviewer
115
115
  whose trigger the diff meets (frontend on UI, security on input/auth/data, performance on a perf
116
- budget or hot-path, devex on a developer-facing surface) and accounts for the rest the triggers
116
+ budget or hot-path, devex on a developer-facing surface) and accounts for the rest: the triggers
117
117
  and the no-silent-skip gate are the single source in
118
118
  [`parallel-dispatch.md`](../../../devrites-lib/reference/parallel-dispatch.md). Three reviewers
119
119
  fire **outside** that fan-out:
120
120
  1. Standing a non-trivial decision (boundary, data model, auth, public API, migration) →
121
121
  `devrites-doubt` → `devrites-doubt-reviewer`.
122
122
  2. A developer-facing surface also gets `devrites-devex-reviewer` **at `/rite-vet` to predict** the
123
- DX scorecard the seal side then measures and reconciles the boomerang (`developer-experience.md`).
123
+ DX scorecard: the seal side then measures and reconciles the boomerang (`developer-experience.md`).
124
124
  3. Closing a feature at `/rite-ship`, cadence-gated → `devrites-retrospector` (below). Not a per-diff
125
125
  reviewer: it fires only when there's enough cross-feature signal to mine.
126
126
 
@@ -128,18 +128,18 @@ fire **outside** that fan-out:
128
128
 
129
129
  A spawned agent runs in a **fresh context** and does **not** auto-discover skills the way the main
130
130
  thread does. Naming a skill in an agent's body ("apply `devrites-frontend-craft`") is a prompt
131
- reference, not a load the agent must actually **invoke** the skill, and how it can differs by
131
+ reference, not a load: the agent must **invoke** the skill, and how it can differs by
132
132
  harness:
133
133
 
134
134
  - **Claude Code** gates skills behind the agent's `tools:` allowlist. An agent that lists `tools:`
135
135
  without `Skill` **cannot invoke any skill**. Two ways to grant access: add **`Skill`** to `tools:`
136
- (on-demand invocation right for the stack-agnostic wright, so a backend slice pays no cost), or a
137
- **`skills:`** frontmatter field (preloads the full skill content at startup right for a focused
136
+ (on-demand invocation (right for the stack-agnostic wright, so a backend slice pays no cost), or a
137
+ **`skills:`** frontmatter field (preloads the full skill content at startup) right for a focused
138
138
  reviewer that *always* needs it, e.g. `devrites-frontend-reviewer` preloads `devrites-frontend-craft`).
139
139
  - **Codex** does not gate skills per-agent: skills are auto-discovered from `.agents/skills/` and
140
140
  subagents inherit that access. So the same agent body that names the skill lets a Codex agent invoke
141
141
  it (`$devrites-frontend-craft`, or implicitly). The Claude-only `skills:`/`Skill` metadata is dropped
142
- in translation do **not** map it to Codex `skills.config`, which *disables* skills, not preloads them.
142
+ in translation: do **not** map it to Codex `skills.config`, which *disables* skills, not preloads them.
143
143
 
144
144
  The durable, cross-harness lever is the **agent body**: name the skill and instruct the agent to
145
145
  *invoke* it (carried to Codex via the installer's `developer_instructions`). The `SubagentStart` hook
@@ -147,7 +147,7 @@ The durable, cross-harness lever is the **agent body**: name the skill and instr
147
147
  into every DevRites subagent, since a fresh subagent doesn't run the rite-\* skills that load the rules.
148
148
 
149
149
  **Reaching every agent, not just one skill.** A fresh subagent doesn't load the `.claude/skills/devrites-lib/reference/standards/`
150
- framework either so a reviewer whose whole job is a rule (`security.md`, `performance.md`,
150
+ framework either, so a reviewer whose whole job is a rule (`security.md`, `performance.md`,
151
151
  `testing.md`, `code-review.md`, …) must **Read that rule file at the start of its review**, the
152
152
  rule-analog of invoking a skill. Without it the reviewer judges from a remembered summary and misses
153
153
  every sharpening the rule has grown. So the discipline is uniform across the fan-out:
@@ -168,10 +168,10 @@ The rule paths are written as `.claude/skills/devrites-lib/reference/standards/<
168
168
  - Run independent reviewers **in parallel** at the seal, then reconcile; surface
169
169
  disagreements explicitly rather than averaging them away.
170
170
  - Reviewer read-only is **wired at the tool layer**: each reviewer carries a shared
171
- deny-mutating-Bash hook (`devrites-engine hook reviewer-readonly`) via subagent frontmatter on Claude
171
+ deny-mutating-Bash hook (`devrites-engine hook reviewer-readonly`) through subagent frontmatter on Claude
172
172
  Code (project-local install), and globally with agent-type gating in `.codex/hooks.json` on
173
173
  Codex. It runs **observe-by-default** (logs a would-block) and **denies** under
174
- `DEVRITES_REVIEWER_RO=enforce`. A fresh-context reviewer reads untrusted source a silent write
174
+ `DEVRITES_REVIEWER_RO=enforce`. A fresh-context reviewer reads untrusted source: a silent write
175
175
  path would be a prompt-injection surface, so enable enforce once the log shows no false positives.
176
176
  - **Reviewer** agents are **read-only** and return labeled findings (Critical / Important /
177
177
  Suggestion / Nit / FYI). Keep review **feature-scoped**.
@@ -180,13 +180,13 @@ The rule paths are written as `.claude/skills/devrites-lib/reference/standards/<
180
180
  `.devrites/` workspace files (the orchestrator does) and never runs in parallel with another
181
181
  writer.
182
182
  - Give each agent the contract (workspace + diff for a reviewer; the slice contract for the
183
- wright) without the author's reasoning fresh, undirected context is the point.
184
- - **Orchestration depth ≤ 1 agents don't invoke agents.** The `rite-*` skill (driven by the
183
+ wright) without the author's reasoning: fresh, undirected context is the point.
184
+ - **Orchestration depth ≤ 1: agents don't invoke agents.** The `rite-*` skill (driven by the
185
185
  user) is the orchestrator; it dispatches reviewers and the wright, collects their findings, and
186
- reconciles. A reviewer never spawns another reviewer, and the wright never spawns a sub-writer
186
+ reconciles. A reviewer never spawns another reviewer, and the wright never spawns a sub-writer:
187
187
  the fan-out is one level, always from the orchestrator. Four shapes this rules out: a
188
188
  "meta-orchestrator" agent whose only job is routing (that's the skill's job), an agent that calls
189
- a second agent, a sequential chain where each agent paraphrases the last one's hand-off (lossy
189
+ a second agent, a sequential chain where each agent paraphrases the last one's hand-off (lossy:
190
190
  the orchestrator passes the real artifact, not a summary), and deep agent trees. Parallel fan-out
191
191
  is many dispatches in **one** orchestrator turn, not nested ones; on Claude Code the platform
192
192
  also enforces this (a subagent can't spawn subagents), so the invariant and the runtime agree.
@@ -1,4 +1,4 @@
1
- # DevRites universal anti-patterns
1
+ # DevRites: universal anti-patterns
2
2
 
3
3
  The pack-wide rationalizations the agent reaches for when discipline gets in
4
4
  the way. Apply at every phase. Each `rite-*/reference/anti-patterns.md`
@@ -12,17 +12,17 @@ This file is the **single source** of the universal anti-rationalization table.
12
12
  | Excuse | Rebuttal |
13
13
  |---|---|
14
14
  | "I'll add the tests later." | Tests written after the fact don't drive design and miss the boundary cases the act of writing exposes. Test now or the tests you eventually write are worse. |
15
- | "Lint and build pass that proves quality." | Automation proves syntax and style, not design or correctness. Never cite clean automation as evidence of good design. |
16
- | "It's only a small refactor while I'm in here." | Feature scope only drive-by cleanup balloons the diff, hides intent, and gets rejected at seal. Record as an FYI follow-up. |
15
+ | "Lint and build pass, that proves quality." | Automation proves syntax and style, not design or correctness. Never cite clean automation as evidence of good design. |
16
+ | "It's only a small refactor while I'm in here." | Feature scope only: drive-by cleanup balloons the diff, hides intent, and gets rejected at seal. Record as an FYI follow-up. |
17
17
  | "This is a special case, the pattern doesn't apply." | Special cases multiply silently. Either they really are special (record *why* in `decisions.md`) or they're not (and the pattern wins). |
18
18
  | "The user will tell me if something is wrong." | Drift detection is the workflow's job, not the user's QA. Surface assumptions; route material questions through the Spec Drift Guard. |
19
- | "Generic name (`processData`, `handleItem`) is fine the code is self-evident." | Generic AI naming is slop. Match the project's idiom; one concept gets one word across the codebase. |
20
- | "Better safe than sorry add the defensive null/length check." | Over-defensive guarding is slop. Validate at boundaries; trust the core. A check inside trusted code hides bugs in the boundary. |
19
+ | "Generic name (`processData`, `handleItem`) is fine: the code is self-evident." | Generic AI naming is slop. Match the project's idiom; one concept gets one word across the codebase. |
20
+ | "Better safe than sorry: add the defensive null/length check." | Over-defensive guarding is slop. Validate at boundaries; trust the core. A check inside trusted code hides bugs in the boundary. |
21
21
  | "It's faster to skip the small step." | Process shortcuts pay back later as drift, missed criteria, or unrecorded decisions. The step is the point. |
22
22
  | "I observed it pass; recording is bureaucracy." | Un-recorded pass = unproven. The next phase reads `evidence.md`, not your memory. |
23
23
  | "User clearly wants this, so I'll bypass the gate." | Gates exist for the failure modes asks miss. Honor the gate; the gate exists *because* of the ask. |
24
- | "The test is failing I'll just skip it / loosen the assertion to get green." | Faking green is reward-hacking, not progress. Never delete / skip / `xfail` / `.only` / loosen a failing test a red test means fix the code or agree the change. A weakened test is a Critical finding (`devrites-engine test-integrity`). |
25
- | "This project principle doesn't really apply to my case." | A declared invariant (`.devrites/principles.md`) is not advisory. Either it genuinely needs relaxing record a scoped, dated exception a human approves or it applies and the change is wrong. Silently routing around a principle is the defect the gate exists to catch (`principles.md`). |
24
+ | "The test is failing. I'll just skip it / loosen the assertion to get green." | Faking green is reward-hacking, not progress. Never delete / skip / `xfail` / `.only` / loosen a failing test: a red test means fix the code or agree the change. A weakened test is a Critical finding (`devrites-engine test-integrity`). |
25
+ | "This project principle doesn't really apply to my case." | A declared invariant (`.devrites/principles.md`) is not advisory. Either it genuinely needs relaxing (record a scoped, dated exception a human approves) or it applies and the change is wrong. Silently routing around a principle is the defect the gate exists to catch (`principles.md`). |
26
26
 
27
27
  ## Pack-wide red flags
28
28
 
@@ -37,7 +37,7 @@ These show up at any phase and are equally damning regardless:
37
37
  - A `// TODO` left in shipped code.
38
38
  - Adding a dependency or a second design system without rationale in `decisions.md`.
39
39
  - A change that violates a declared project principle (`.devrites/principles.md`) with no recorded, human-approved exception.
40
- - "I'll fix it in a follow-up PR" with no follow-up actually opened.
40
+ - "I'll fix it in a follow-up PR" with no follow-up opened.
41
41
 
42
42
  ## Where this gets loaded
43
43
 
@@ -51,7 +51,7 @@ is broader than the phase.
51
51
  ## These rows are graded, not just asserted
52
52
 
53
53
  A row here is a prediction: *the agent will reach for this excuse, so resist it.* For a
54
- gating rite, that prediction is turned into a graded scenario a behavioral eval under
54
+ gating rite, that prediction is turned into a graded scenario: a behavioral eval under
55
55
  `evals/behavioral/<skill>.json` pairs the excuse with a pressure prompt and checks the
56
56
  skill holds the line instead of rationalizing past it. When you add or sharpen a row for a
57
57
  gating skill, add or update the matching behavioral eval so the discipline is tested, not
@@ -1,6 +1,6 @@
1
1
  # CI/CD & automation
2
2
 
3
- CI is the enforcement mechanism for every other rule the place a discipline that's optional on
3
+ CI is the enforcement mechanism for every other rule: the place a discipline that's optional on
4
4
  one engineer's machine becomes mandatory for the trunk. This file is the pipeline-and-release
5
5
  layer; it doesn't restate what its neighbours own: local hook staging by cost is
6
6
  [`hooks.md`](hooks.md), trunk-always-green + definition-of-done is
@@ -9,17 +9,17 @@ layer; it doesn't restate what its neighbours own: local hook staging by cost is
9
9
 
10
10
  ## Two forces that set the shape
11
11
 
12
- - **Shift left.** A defect gets cheaper the earlier it's caught a lint error costs seconds, the
12
+ - **Shift left.** A defect gets cheaper the earlier it's caught: a lint error costs seconds, the
13
13
  same bug in production costs an incident. Push each check to the earliest stage that can catch it
14
14
  (editor → pre-commit → pre-push → CI), so CI confirms rather than discovers.
15
- - **Faster is safer.** Small, frequent deploys are *lower* risk, not higher a release with three
15
+ - **Faster is safer.** Small, frequent deploys are *lower* risk, not higher: a release with three
16
16
  changes is debuggable; one with thirty is an investigation. Batch size is a safety lever, so
17
17
  optimize for a pipeline fast enough that shipping often is painless.
18
18
 
19
- ## The gate pipeline no gate is skippable
20
- CI runs an ordered set of gates lint → type-check → unit → build → integration → audit → e2e
19
+ ## The gate pipeline: no gate is skippable
20
+ CI runs an ordered set of gates: lint → type-check → unit → build → integration → audit → e2e:
21
21
  and a red gate stops the line. The discipline is the same as a red test ([`testing.md`](testing.md)):
22
- **if lint fails, fix the code don't disable the rule; if a test fails, fix the code don't skip
22
+ **if lint fails, fix the code (don't disable the rule; if a test fails, fix the code) don't skip
23
23
  the test.** A gate silenced to get green is a defect shipped with a clean check on top of it. CI,
24
24
  not a local run, is the source of truth for "green".
25
25
 
@@ -30,15 +30,15 @@ root, verify locally, push again. Map the failure to its fix: lint → the repor
30
30
  (reproduce before fixing); build → config/dependency drift. A blind re-run of a flaky pipeline is the
31
31
  CI version of papering over a failing test.
32
32
 
33
- ## Build Cop one owner keeps the trunk green
33
+ ## Build Cop: one owner keeps the trunk green
34
34
  When the pipeline breaks, the job of getting it green belongs to a designated **Build Cop**, not
35
- diffused across everyone until no one acts and the fix is **fix or revert**, whichever is faster,
35
+ diffused across everyone until no one acts, and the fix is **fix or revert**, whichever is faster,
36
36
  by whoever holds the role, not necessarily the author of the breaking change. A broken trunk blocks
37
37
  everyone, so restoring it outranks feature work until it's green.
38
38
 
39
39
  ## Feature flags decouple deploy from release
40
40
  Deploying code and releasing behaviour are separate events. Ship incomplete or risky work **disabled**
41
- behind a flag so the trunk keeps moving; turn it on to release, off to roll back no redeploy on the
41
+ behind a flag so the trunk keeps moving; turn it on to release, off to roll back: no redeploy on the
42
42
  critical path. Every flag is born with an **owner and a removal trigger**; a flag that outlives its
43
43
  rollout becomes dead branches and combinatorial test cost (staged-rollout mechanics:
44
44
  [`git-workflow.md`](git-workflow.md), [`deprecation.md`](deprecation.md) expand→contract).
@@ -46,17 +46,17 @@ rollout becomes dead branches and combinatorial test cost (staged-rollout mechan
46
46
  ## Secrets never live where they don't have to
47
47
  Tier secret exposure by environment: `.env.example` committed (no values); real `.env` never
48
48
  committed; CI secrets injected from the platform's secret store, scoped to the job. **CI must not
49
- hold production secrets** a build runner is a broad attack surface, and least privilege
49
+ hold production secrets**: a build runner is a broad attack surface, and least privilege
50
50
  ([`security.md`](security.md)) says a compromised pipeline shouldn't reach prod credentials.
51
51
 
52
52
  ## When the pipeline is too slow (>~10 min), climb the ladder
53
53
  Slowness makes engineers skip or batch, which defeats "faster is safer". Fix it in impact order,
54
54
  cheapest first: cache dependencies → parallelize independent jobs → path-filter to only what changed
55
55
  → shard/matrix the slow suite → prune or re-tier genuinely slow tests → larger runners last. Measure
56
- before and after ([`performance.md`](performance.md) measure-first) a "faster" pipeline that didn't
56
+ before and after ([`performance.md`](performance.md) measure-first): a "faster" pipeline that didn't
57
57
  move the wall-clock number is just more config.
58
58
 
59
59
  ## Scope
60
60
  Most projects own their own CI; DevRites installs *into* them. Treat this as guidance for the
61
61
  pipeline the change touches, not licence to re-architect a project's whole CI in an unrelated
62
- change the same feature-scope discipline as the rest of the rules.
62
+ change: the same feature-scope discipline as the rest of the rules.
@@ -1,33 +1,33 @@
1
1
  # Code review
2
2
 
3
- The reviewer's one question: **does this change make the codebase healthier** clearer
3
+ The reviewer's one question: **does this change make the codebase healthier**: clearer
4
4
  design, cleaner logic, better tests, fewer risks? If not, it doesn't merge yet.
5
5
 
6
6
  ## Keep changes small
7
- - One concern per change (a fix, an endpoint, a refactor) not three at once. Refactoring
7
+ - One concern per change (a fix, an endpoint, a refactor), not three at once. Refactoring
8
8
  that rides along with new behavior is two changes: split them.
9
9
  - Aim for small diffs: under ~200 lines reviews well and merges fast; treat ~400 as a
10
10
  soft ceiling and self-split beyond it. Large diffs hide defects and get rubber-stamped.
11
11
  - Watch **file size**, not just diff size: a small diff that grows an already-large file
12
- (~1000+ total lines) is an inspection signal extract the helper or module *first*,
12
+ (~1000+ total lines) is an inspection signal: extract the helper or module *first*,
13
13
  then add.
14
14
  - To self-split: **stack** (land the smallest standalone piece, build on top) or cut a
15
15
  **thinner vertical slice** (`rite-plan/reference/slicing.md`). Whole-file deletions and
16
- mechanical refactors may run large review intent, not every line.
16
+ mechanical refactors may run large: review intent, not every line.
17
17
 
18
18
  ## What to check (tests first)
19
- 1. **Tests** do they exist and prove the behavior + failure modes (empty, error,
19
+ 1. **Tests:** do they exist and prove the behavior + failure modes (empty, error,
20
20
  boundary, concurrency)? Would they fail if the code were wrong?
21
- 2. **Correctness** logic, edge cases, error paths, race conditions, wrong assumptions. For branching or boundary changes, run the mechanical [`edge-case trace`](edge-case-trace.md): explicit paths, fixed-set siblings, and deletion contracts.
22
- 3. **Readability** names, function size, control flow, intent obvious without the author.
23
- 4. **Architecture** right seam, coupling/cohesion, fits existing patterns, no premature
21
+ 2. **Correctness:** logic, edge cases, error paths, race conditions, wrong assumptions. For branching or boundary changes, run the mechanical [`edge-case trace`](edge-case-trace.md): explicit paths, fixed-set siblings, and deletion contracts.
22
+ 3. **Readability:** names, function size, control flow, intent obvious without the author.
23
+ 4. **Architecture:** right seam, coupling/cohesion, fits existing patterns, no premature
24
24
  abstraction. How does it fit the bigger system, not just what it does?
25
- 5. **Security** trust boundaries, input validation, authz, secrets.
26
- 6. **Risk** migrations, destructive changes, rollback.
25
+ 5. **Security:** trust boundaries, input validation, authz, secrets.
26
+ 6. **Risk:** migrations, destructive changes, rollback.
27
27
 
28
28
  ## Give actionable feedback
29
29
  - Read surrounding source before severity: call sites, existing guards, and the nearest consumer decide impact; a diff hunk alone is not enough.
30
- - Label severity so the author knows what blocks each label names the author's action:
30
+ - Label severity so the author knows what blocks: each label names the author's action:
31
31
 
32
32
  | Label | Author action |
33
33
  |---|---|
@@ -35,12 +35,12 @@ design, cleaner logic, better tests, fewer risks? If not, it doesn't merge yet.
35
35
  | **Important** | Fix before merge. |
36
36
  | **Suggestion** | Weigh it; adopt or answer why not. |
37
37
  | **Nit** | May ignore. |
38
- | **FYI** | No action context only. |
38
+ | **FYI** | No action: context only. |
39
39
  - Be specific: point at the line, name the problem, propose the fix. Frame non-blocking
40
40
  ideas as questions ("what about a map here for readability?").
41
41
  - **Uncertainty lowers the label.** A finding anchored to a quoted line or reproduced
42
42
  behavior keeps its severity; one that isn't drops a notch (Important → Suggestion), and a
43
- Critical always carries anchored evidence the diff-review form of quote-or-suppress.
43
+ Critical always carries anchored evidence: the diff-review form of quote-or-suppress.
44
44
  - **Skipped checks are recorded.** A check you couldn't run gets a
45
45
  `Skipped: <check> — <why>` line.
46
46
  - Let automation (linters, formatters, CI) catch the trivial stuff so review focuses on
@@ -52,60 +52,60 @@ Walk it first and spend the review's weight there; the nits are a footnote, and
52
52
  dissolve once the structure moves. A review that opens with whitespace and buries the wrong seam
53
53
  on line 200 has optimized for the cheap finding over the load-bearing one.
54
54
 
55
- ## Smell lexicon advisory vocabulary
55
+ ## Smell lexicon: advisory vocabulary
56
56
  Name these as judgment calls, not automatic violations. They block only when the smell creates a
57
57
  concrete risk or breaks a DevRites/project standard.
58
58
 
59
- - **Feature Envy** code asks another object/module for too much data, so behavior likely lives
59
+ - **Feature Envy:** code asks another object/module for too much data, so behavior likely lives
60
60
  on the wrong side of the seam.
61
- - **Primitive Obsession** strings/maps/booleans stand in for a real domain concept and scatter
61
+ - **Primitive Obsession:** strings/maps/booleans stand in for a real domain concept and scatter
62
62
  validation.
63
- - **Shotgun Surgery** one change forces many tiny edits across unrelated files.
64
- - **Divergent Change** one module changes for multiple unrelated reasons.
65
- - **Speculative Generality** abstraction/config/extension point exists for a future nobody needs
63
+ - **Shotgun Surgery:** one change forces many tiny edits across unrelated files.
64
+ - **Divergent Change:** one module changes for multiple unrelated reasons.
65
+ - **Speculative Generality:** abstraction/config/extension point exists for a future nobody needs
66
66
  yet.
67
- - **Long Method / Large Class** too many responsibilities for a reviewer to reason about safely.
68
- - **Data Clumps** the same fields travel together without a named value object/type.
69
- - **Message Chains / Middle Man** callers know too much about navigation, or wrappers only pass
67
+ - **Long Method / Large Class:** too many responsibilities for a reviewer to reason about safely.
68
+ - **Data Clumps:** the same fields travel together without a named value object/type.
69
+ - **Message Chains / Middle Man:** callers know too much about navigation, or wrappers only pass
70
70
  calls through.
71
- - **Duplicate Code** repeated logic likely hides inconsistent future fixes.
71
+ - **Duplicate Code:** repeated logic likely hides inconsistent future fixes.
72
72
 
73
- ## Structural Remedies propose the move, not just the problem
73
+ ## Structural Remedies: propose the move, not just the problem
74
74
  "This is hard to follow" names a smell; it doesn't discharge the review. When the problem is
75
75
  structural, name the **move** that fixes it so the author has a concrete next step, not a vibe:
76
76
 
77
- - **Replace a conditional chain with a typed dispatcher** a map/table keyed by the variant,
77
+ - **Replace a conditional chain with a typed dispatcher:** a map/table keyed by the variant,
78
78
  each state carrying its own fields, instead of a growing `if/else` on a type tag.
79
- - **Delete a pass-through wrapper** a function that only forwards its arguments earns removal;
79
+ - **Delete a pass-through wrapper:** a function that only forwards its arguments earns removal;
80
80
  call the inner thing directly.
81
- - **Collapse duplicate branches** two arms doing the same work behind different conditions
81
+ - **Collapse duplicate branches:** two arms doing the same work behind different conditions
82
82
  become one.
83
- - **Hoist an invariant out of the loop** computation that doesn't change per iteration moves
83
+ - **Hoist an invariant out of the loop:** computation that doesn't change per iteration moves
84
84
  above it.
85
85
 
86
86
  A restructuring must *reduce* the concepts a reader holds, not relocate them
87
- ([`patterns.md`](patterns.md)) prefer the move that makes a whole branch or mode disappear.
87
+ ([`patterns.md`](patterns.md)): prefer the move that makes a whole branch or mode disappear.
88
88
 
89
- ## Disagreement hierarchy what wins when you and the author differ
89
+ ## Disagreement hierarchy: what wins when you and the author differ
90
90
  Resolve a review disagreement by the strongest ground available, in order: **facts** (a
91
91
  correctness bug, a failing case, a measured number) > **the project's stated style/convention** >
92
92
  **a general design principle** > **personal preference or consistency-for-its-own-sake**. If your
93
- objection bottoms out at the last tier, it's a Suggestion at most say so, and don't block on it.
93
+ objection bottoms out at the last tier, it's a Suggestion at most: say so, and don't block on it.
94
94
  An author who is factually right wins over a reviewer's taste.
95
95
 
96
96
  ## Zero findings is suspicious
97
- An adversarial review that comes back empty is a claim, not a default and the model's
97
+ An adversarial review that comes back empty is a claim, not a default, and the model's
98
98
  strongest pull in review is to agree. So a clean bill of health has to be *earned* the same way a
99
99
  finding is: by showing the work. When an axis (spec, code, security, a doubt) genuinely finds
100
- nothing, it records a **`No-findings:`** justification the specific adversarial passes it ran
100
+ nothing, it records a **`No-findings:`** justification: the specific adversarial passes it ran
101
101
  (edge cases, error paths, the riskiest decision, the consumer whose test might not cover the
102
102
  change) and why each came back empty. "Looks good" is not a terminal state; a *justified* empty is.
103
- Treat a silent axis no finding and no justification as a re-run, not a pass.
103
+ Treat a silent axis (no finding and no justification) as a re-run, not a pass.
104
104
 
105
105
  This is the mirror of confidence-banding: banding suppresses the noisy false positive; the
106
106
  no-findings justification catches the silent false negative. `devrites-engine review-integrity`
107
107
  checks the account is present (a `No-findings:` line on any axis section that raised nothing), not
108
- its quality the same honesty contract as `doubt-coverage` and the footprint roster.
108
+ its quality: the same honesty contract as `doubt-coverage` and the footprint roster.
109
109
 
110
110
  After `review.md` is written, run `devrites-engine review-fingerprints --write <slug>` to record
111
111
  stable IDs for findings. Those IDs make recurring findings and later dismissals correlate cleanly
@@ -119,21 +119,21 @@ drive-by edits that balloon the diff.
119
119
  Treat external review as claims to verify, not orders to obey. Clarify unclear feedback before a
120
120
  partial fix; check each claim against the live code; push back with evidence when it is wrong;
121
121
  then implement blocking → simple → complex items one at a time and test each fix. Technical
122
- replies state the evidence and next action no performative agreement, no gratitude theater:
122
+ replies state the evidence and next action: no performative agreement, no gratitude theater:
123
123
  "Fixed: <what> in <where>" beats "Great catch, thanks!". About to write "Thanks"? Delete it
124
124
  and state the fix.
125
125
 
126
126
  ## Principles, charter & conventions are pass/fail gates
127
127
  Three project layers are evaluated as explicit pass/fail at `/rite-vet`, re-checked after design
128
- lands, and re-checked against the diff at `/rite-review` / `/rite-seal` none are advisory:
128
+ lands, and re-checked against the diff at `/rite-review` / `/rite-seal`: none are advisory:
129
129
 
130
- 1. **Project principles** (`.devrites/principles.md`) the authored invariants the project will
130
+ 1. **Project principles** (`.devrites/principles.md`): the authored invariants the project will
131
131
  not break ([`principles.md`](principles.md)). A change that violates one with **no recorded,
132
132
  human-approved exception** is a **Critical** finding and a **NO-GO** at seal, the same standing
133
133
  as an unproven acceptance criterion. Check the diff against each principle's scope; an absent
134
134
  or empty file means none are declared (gate passes).
135
- 2. **The anti-slop charter** (`coding-style.md` + `prose-style.md`) the AI-tells do-not list.
136
- 3. **The conventions ledger** (`.devrites/conventions.md`) proven project idioms (an untrusted
135
+ 2. **The anti-slop charter** (`coding-style.md` + `prose-style.md`): the AI-tells do-not list.
136
+ 3. **The conventions ledger** (`.devrites/conventions.md`): proven project idioms (an untrusted
137
137
  prior; a fresh read of the live code overrides it).
138
138
 
139
139
  A change that violates a stated convention or trips the charter is a **Critical** finding, not a
@@ -27,7 +27,7 @@ if (!user.active) return Forbidden
27
27
  ## Comments explain *why*, not *what*
28
28
  - Self-explanatory code beats a comment restating it. Rename before you comment.
29
29
  - Reserve comments for intent, trade-offs, non-obvious constraints, and "here be
30
- dragons" warnings. Delete commented-out code — that's what version control is for.
30
+ dragons" warnings. Delete commented-out code. That's what version control is for.
31
31
 
32
32
  ## Simplicity
33
33
  - Prefer the simplest thing that works. Don't add abstraction before you have two real
@@ -39,17 +39,17 @@ if (!user.active) return Forbidden
39
39
  Before adding a new util, helper, hook, type, component, or formatter, **search** for an
40
40
  existing one. **Reuse → extend → build new**, in that order. Don't re-implement what the
41
41
  project (or stdlib) already provides. If forcing reuse would distort the existing thing's
42
- shape, build a sibling and consolidate later duplication is cheaper than the wrong
42
+ shape, build a sibling and consolidate later: duplication is cheaper than the wrong
43
43
  abstraction (AHA).
44
44
 
45
45
  ## Edit reliably, change only what's asked
46
46
  - **No elision.** Never write `// ... rest unchanged` / `# ... existing code` in place of an
47
- edit emit the whole coherent function. Don't anchor an edit on line numbers; match on the
48
- surrounding code. If an edit fails to apply, **re-read the file before retrying** it may
47
+ edit: emit the whole coherent function. Don't anchor an edit on line numbers; match on the
48
+ surrounding code. If an edit fails to apply, **re-read the file before retrying**. It may
49
49
  have changed under you.
50
- - **Do what's asked, no more and no less.** Don't improve, comment, or refactor code unrelated
50
+ - **Do what's asked, no more, and no less.** Don't improve, comment, or refactor code unrelated
51
51
  to the task while you're in the file (feature scope). And never leave a comment describing code
52
- you didn't write implement it.
52
+ you didn't write: implement it.
53
53
  - **Never hand-edit a manifest or lockfile.** Add / update / remove dependencies through the
54
54
  package manager (`npm install`, `pip install`, `go get`, `cargo add`) so the lockfile stays
55
- consistent don't paste a version into `package.json` / `requirements.txt` by hand.
55
+ consistent: don't paste a version into `package.json` / `requirements.txt` by hand.