devrites 3.0.5 → 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 (744) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +280 -533
  3. package/SECURITY.md +26 -26
  4. package/docs/adr/README.md +7 -9
  5. package/docs/agents/domain.md +5 -5
  6. package/docs/agents/issue-driven-rites.md +1 -1
  7. package/docs/agents/issue-tracker.md +1 -1
  8. package/docs/agents/triage-labels.md +2 -2
  9. package/docs/architecture.md +45 -45
  10. package/docs/cli.md +11 -11
  11. package/docs/command-map.md +33 -33
  12. package/docs/engine/agent-contract.md +6 -6
  13. package/docs/engine/commands.md +66 -65
  14. package/docs/engine/state-schema.md +15 -15
  15. package/docs/engine/workspace-schema.md +7 -7
  16. package/docs/extensions.md +17 -17
  17. package/docs/flow.md +17 -17
  18. package/docs/harness-compliance.md +2 -2
  19. package/docs/orchestration.md +21 -20
  20. package/docs/release.md +22 -5
  21. package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
  22. package/docs/skills.md +77 -52
  23. package/docs/usage.md +33 -32
  24. package/engine/Makefile +2 -2
  25. package/engine/commands.go +3 -3
  26. package/engine/harnessmatrix.go +2 -2
  27. package/engine/hookpolicy.go +9 -9
  28. package/engine/hooks.go +11 -11
  29. package/engine/hooks_workspace.go +11 -11
  30. package/engine/internal/doctor/doctor.go +7 -7
  31. package/engine/internal/gate/gate.go +11 -11
  32. package/engine/internal/harness/compliance.go +1 -1
  33. package/engine/internal/harness/harness.go +7 -7
  34. package/engine/internal/install/install.go +2 -0
  35. package/engine/internal/install/install_test.go +3 -3
  36. package/engine/internal/iohooks/detach_unix.go +1 -1
  37. package/engine/internal/iohooks/iohooks.go +8 -8
  38. package/engine/internal/lib/adoption.go +1 -1
  39. package/engine/internal/lib/analyze.go +15 -15
  40. package/engine/internal/lib/archivesearch.go +3 -3
  41. package/engine/internal/lib/budget.go +3 -3
  42. package/engine/internal/lib/buildreadiness.go +6 -6
  43. package/engine/internal/lib/checkacceptance.go +10 -10
  44. package/engine/internal/lib/closeout.go +5 -5
  45. package/engine/internal/lib/conventions.go +3 -3
  46. package/engine/internal/lib/coverage.go +4 -4
  47. package/engine/internal/lib/doubtcoverage.go +9 -9
  48. package/engine/internal/lib/evidencefresh.go +6 -6
  49. package/engine/internal/lib/extensions.go +9 -9
  50. package/engine/internal/lib/footprint.go +13 -13
  51. package/engine/internal/lib/jsonout.go +2 -2
  52. package/engine/internal/lib/lanes.go +2 -2
  53. package/engine/internal/lib/learnings.go +9 -9
  54. package/engine/internal/lib/ledger.go +8 -8
  55. package/engine/internal/lib/ledger_test.go +5 -5
  56. package/engine/internal/lib/mutationgate.go +4 -4
  57. package/engine/internal/lib/overrides.go +9 -9
  58. package/engine/internal/lib/overrides_test.go +2 -2
  59. package/engine/internal/lib/packageexistence.go +5 -5
  60. package/engine/internal/lib/preamble.go +6 -6
  61. package/engine/internal/lib/progress.go +5 -5
  62. package/engine/internal/lib/reconcile.go +80 -20
  63. package/engine/internal/lib/reconcile_test.go +13 -5
  64. package/engine/internal/lib/resolve.go +3 -3
  65. package/engine/internal/lib/reviewerstats.go +2 -2
  66. package/engine/internal/lib/reviewintegrity.go +13 -13
  67. package/engine/internal/lib/reviewintegrity_test.go +6 -6
  68. package/engine/internal/lib/runbook.go +1 -1
  69. package/engine/internal/lib/session.go +1 -1
  70. package/engine/internal/lib/session_test.go +2 -2
  71. package/engine/internal/lib/specparse.go +4 -4
  72. package/engine/internal/lib/specskeleton.go +2 -2
  73. package/engine/internal/lib/specvalidate.go +13 -13
  74. package/engine/internal/lib/stuck.go +13 -13
  75. package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
  76. package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
  77. package/engine/internal/lib/testintegrity.go +9 -9
  78. package/engine/internal/lib/tickafk.go +4 -4
  79. package/engine/internal/migrate/migrate.go +2 -2
  80. package/engine/internal/migrate/migrate_test.go +1 -0
  81. package/engine/internal/orient/firstrun.go +8 -8
  82. package/engine/internal/orient/orient.go +5 -5
  83. package/engine/internal/state/concurrency_test.go +4 -4
  84. package/engine/internal/state/feature.go +6 -6
  85. package/engine/internal/state/lock_unix.go +1 -1
  86. package/engine/internal/state/schema.go +1 -1
  87. package/engine/internal/state/snapshot.go +2 -2
  88. package/engine/internal/state/write.go +1 -1
  89. package/engine/internal/version/version.go +1 -1
  90. package/engine/main.go +5 -5
  91. package/engine/subagent_orient_context.txt +4 -4
  92. package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
  93. package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
  94. package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
  95. package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
  96. package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
  97. package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
  98. package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
  99. package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
  100. package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
  101. package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
  102. package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
  103. package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
  104. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
  105. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
  106. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
  107. package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
  108. package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
  109. package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
  110. package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
  111. package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
  112. package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
  113. package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
  114. package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
  115. package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
  116. package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
  117. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
  118. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
  119. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
  120. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
  121. package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
  122. package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
  123. package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
  124. package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
  125. package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
  126. package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
  127. package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
  128. package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
  129. package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
  130. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
  131. package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
  132. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
  133. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
  134. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
  135. package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
  136. package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
  137. package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
  138. package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
  139. package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
  140. package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
  141. package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
  142. package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
  143. package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
  144. package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
  145. package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
  146. package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
  147. package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
  148. package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
  149. package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
  150. package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
  151. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
  152. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
  153. package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
  154. package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
  155. package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
  156. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
  157. package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
  158. package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
  159. package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
  160. package/engine/tests/adr_0006_clock_seam_test.go +1 -1
  161. package/engine/tests/budget_test.go +1 -1
  162. package/engine/tests/canonical_ac_ids_test.go +2 -2
  163. package/engine/tests/cli_test.go +1 -1
  164. package/engine/tests/concurrency_cli_test.go +1 -1
  165. package/engine/tests/gate_test.go +4 -4
  166. package/engine/tests/hook_test.go +3 -3
  167. package/engine/tests/hooks_io_test.go +1 -1
  168. package/engine/tests/lib_parity_test.go +29 -29
  169. package/engine/tests/meta_test.go +2 -2
  170. package/engine/tests/parity_closeout_test.go +1 -1
  171. package/engine/tests/parity_learnings_test.go +2 -2
  172. package/engine/tests/parity_mutationgate_test.go +2 -2
  173. package/engine/tests/parity_resolve_test.go +1 -1
  174. package/engine/tests/parity_test.go +3 -3
  175. package/engine/tests/parity_tickafk_test.go +1 -1
  176. package/engine/validatepack.go +5 -5
  177. package/engine/validatepackskills.go +9 -9
  178. package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
  179. package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
  180. package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
  181. package/pack/.claude/agents/devrites-forge-judge.md +26 -26
  182. package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
  183. package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
  184. package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
  185. package/pack/.claude/agents/devrites-retrospector.md +19 -19
  186. package/pack/.claude/agents/devrites-security-auditor.md +15 -15
  187. package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
  188. package/pack/.claude/agents/devrites-slice-wright.md +52 -51
  189. package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
  190. package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
  191. package/pack/.claude/agents/devrites-test-analyst.md +13 -13
  192. package/pack/.claude/settings.json +1 -1
  193. package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
  194. package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
  195. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
  196. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
  197. package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
  198. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
  199. package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
  200. package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
  201. package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
  202. package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
  203. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
  204. package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
  205. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
  206. package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
  207. package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
  208. package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
  209. package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
  210. package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
  211. package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
  212. package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
  213. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
  214. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
  215. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
  216. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
  217. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
  218. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
  219. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
  220. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
  221. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
  222. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
  223. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  224. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
  225. package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
  226. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
  227. package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
  228. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
  229. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
  230. package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
  231. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
  232. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
  233. package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
  234. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
  235. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
  236. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
  237. package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
  238. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
  239. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
  240. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
  241. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
  242. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
  243. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
  244. package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
  245. package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
  246. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
  247. package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
  248. package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
  249. package/pack/.claude/skills/rite/SKILL.md +7 -7
  250. package/pack/.claude/skills/rite/reference/menu.md +6 -6
  251. package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
  252. package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
  253. package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
  254. package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
  255. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
  256. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
  257. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
  258. package/pack/.claude/skills/rite-build/SKILL.md +22 -22
  259. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
  260. package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
  261. package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
  262. package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
  263. package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
  264. package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
  265. package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
  266. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
  267. package/pack/.claude/skills/rite-build/reference/output.md +1 -1
  268. package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
  269. package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
  270. package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
  271. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
  272. package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
  273. package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
  274. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
  275. package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
  276. package/pack/.claude/skills/rite-define/SKILL.md +25 -25
  277. package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
  278. package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
  279. package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
  280. package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
  281. package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
  282. package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
  283. package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
  284. package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
  285. package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
  286. package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
  287. package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
  288. package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
  289. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
  290. package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
  291. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
  292. package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
  293. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
  294. package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
  295. package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
  296. package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
  297. package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
  298. package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
  299. package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
  300. package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
  301. package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
  302. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
  303. package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
  304. package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
  305. package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
  306. package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
  307. package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
  308. package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
  309. package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
  310. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
  311. package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
  312. package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
  313. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
  314. package/pack/.claude/skills/rite-review/SKILL.md +34 -34
  315. package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
  316. package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
  317. package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  318. package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
  319. package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
  320. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
  321. package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
  322. package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
  323. package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
  324. package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
  325. package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
  326. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
  327. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
  328. package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
  329. package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
  330. package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
  331. package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
  332. package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
  333. package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
  334. package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
  335. package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
  336. package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
  337. package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
  338. package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
  339. package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
  340. package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
  341. package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
  342. package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
  343. package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
  344. package/pack/.claude/skills/rite-status/SKILL.md +13 -13
  345. package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
  346. package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
  347. package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
  348. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
  349. package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
  350. package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
  351. package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
  352. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
  353. package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
  354. package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
  355. package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
  356. package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
  357. package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
  358. package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
  359. package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
  360. package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
  361. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
  362. package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
  363. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
  364. package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
  365. package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
  366. package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
  367. package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
  368. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
  369. package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
  370. package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
  371. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
  372. package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
  373. package/pack/generated/claude/settings.json +1 -1
  374. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
  375. package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
  376. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
  377. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
  378. package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
  379. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
  380. package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
  381. package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
  382. package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
  383. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
  384. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
  385. package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
  386. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
  387. package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
  388. package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
  389. package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
  390. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
  391. package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
  392. package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
  393. package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
  394. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
  395. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
  396. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
  397. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
  398. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
  399. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
  400. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
  401. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
  402. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
  403. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
  404. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  405. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
  406. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
  407. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
  408. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
  409. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
  410. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
  411. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
  412. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
  413. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
  414. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
  415. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
  416. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
  417. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
  418. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
  419. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
  420. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
  421. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
  422. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
  423. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
  424. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
  425. package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
  426. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
  427. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
  428. package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
  429. package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
  430. package/pack/generated/claude/skills/rite/SKILL.md +7 -7
  431. package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
  432. package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
  433. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
  434. package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
  435. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
  436. package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
  437. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
  438. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
  439. package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
  440. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
  441. package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
  442. package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
  443. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
  444. package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
  445. package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
  446. package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
  447. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
  448. package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
  449. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
  450. package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
  451. package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
  452. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
  453. package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
  454. package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
  455. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
  456. package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
  457. package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
  458. package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
  459. package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
  460. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
  461. package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
  462. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
  463. package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
  464. package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
  465. package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
  466. package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
  467. package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
  468. package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
  469. package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
  470. package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
  471. package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
  472. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
  473. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
  474. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
  475. package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
  476. package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
  477. package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
  478. package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
  479. package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
  480. package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
  481. package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
  482. package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
  483. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
  484. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
  485. package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
  486. package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
  487. package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
  488. package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
  489. package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
  490. package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
  491. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
  492. package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
  493. package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
  494. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
  495. package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
  496. package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
  497. package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
  498. package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
  499. package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
  500. package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
  501. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
  502. package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
  503. package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
  504. package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
  505. package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
  506. package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
  507. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
  508. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
  509. package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
  510. package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
  511. package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
  512. package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
  513. package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
  514. package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
  515. package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
  516. package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
  517. package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
  518. package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
  519. package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
  520. package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
  521. package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
  522. package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
  523. package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
  524. package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
  525. package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
  526. package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
  527. package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
  528. package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
  529. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
  530. package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
  531. package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
  532. package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
  533. package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
  534. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
  535. package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
  536. package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
  537. package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
  538. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
  539. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
  540. package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
  541. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
  542. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
  543. package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
  544. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
  545. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
  546. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
  547. package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
  548. package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
  549. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
  550. package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
  551. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
  552. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
  553. package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
  554. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
  555. package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
  556. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
  557. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
  558. package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
  559. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
  560. package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
  561. package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
  562. package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
  563. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
  564. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
  565. package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
  566. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
  567. package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
  568. package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
  569. package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
  570. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
  571. package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
  572. package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
  573. package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
  574. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
  575. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
  576. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
  577. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
  578. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
  579. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
  580. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
  581. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
  582. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
  583. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
  584. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
  585. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
  586. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
  587. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
  588. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
  589. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
  590. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
  591. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
  592. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
  593. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
  594. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
  595. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
  596. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
  597. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
  598. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
  599. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
  600. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
  601. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
  602. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
  603. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
  604. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
  605. package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
  606. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
  607. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
  608. package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
  609. package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
  610. package/pack/generated/codex/skills/rite/SKILL.md +10 -10
  611. package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
  612. package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
  613. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
  614. package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
  615. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
  616. package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
  617. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
  618. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
  619. package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
  620. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
  621. package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
  622. package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
  623. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
  624. package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
  625. package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
  626. package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
  627. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
  628. package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
  629. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
  630. package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
  631. package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
  632. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
  633. package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
  634. package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
  635. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
  636. package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
  637. package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
  638. package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
  639. package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
  640. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
  641. package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
  642. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
  643. package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
  644. package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
  645. package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
  646. package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
  647. package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
  648. package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
  649. package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
  650. package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
  651. package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
  652. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
  653. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
  654. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
  655. package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
  656. package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
  657. package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
  658. package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
  659. package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
  660. package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
  661. package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
  662. package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
  663. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
  664. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
  665. package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
  666. package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
  667. package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
  668. package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
  669. package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
  670. package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
  671. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
  672. package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
  673. package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
  674. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
  675. package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
  676. package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
  677. package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
  678. package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
  679. package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
  680. package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
  681. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
  682. package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
  683. package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
  684. package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
  685. package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
  686. package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
  687. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
  688. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
  689. package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
  690. package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
  691. package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
  692. package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
  693. package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
  694. package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
  695. package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
  696. package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
  697. package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
  698. package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
  699. package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
  700. package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
  701. package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
  702. package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
  703. package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
  704. package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
  705. package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
  706. package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
  707. package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
  708. package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
  709. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
  710. package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
  711. package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
  712. package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
  713. package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
  714. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
  715. package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
  716. package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
  717. package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
  718. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
  719. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
  720. package/package.json +2 -2
  721. package/scripts/build-binaries.sh +1 -1
  722. package/scripts/build-host-artifacts.sh +1 -1
  723. package/scripts/build-release-tarball.sh +1 -1
  724. package/scripts/check-cross-refs.py +8 -8
  725. package/scripts/check-invocation-integrity.py +4 -4
  726. package/scripts/check-no-global-writes.sh +2 -2
  727. package/scripts/check-reply-contract.sh +1 -1
  728. package/scripts/check-rule-uniqueness.sh +2 -2
  729. package/scripts/codex-generate.sh +5 -5
  730. package/scripts/devrites-detect.sh +33 -33
  731. package/scripts/eval-runner.py +7 -7
  732. package/scripts/grade-feature.sh +14 -14
  733. package/scripts/install-lib.sh +2 -2
  734. package/scripts/pin.sh +12 -12
  735. package/scripts/run-behavioral-evals.sh +12 -12
  736. package/scripts/run-evals.sh +1 -1
  737. package/scripts/run-outcome-evals.sh +12 -12
  738. package/scripts/scan-pack-security.py +4 -4
  739. package/scripts/scan-supply-chain-iocs.py +7 -7
  740. package/scripts/skills-inventory.mjs +7 -8
  741. package/scripts/sync-version.sh +2 -2
  742. package/scripts/validate-workflow-security.py +12 -6
  743. package/scripts/validate-workspace-schema.py +2 -2
  744. package/scripts/validate.sh +7 -7
@@ -1,25 +1,25 @@
1
- # The vet review scope challenge, four axes, required outputs
1
+ # The vet review: scope challenge, four axes, required outputs
2
2
 
3
3
  The body of `$rite-vet`. Run §0 first as a blocking gate, then the four axes one at a time,
4
4
  then the required outputs. Apply the senior-engineer lenses in [`eng-lenses.md`](eng-lenses.md)
5
- throughout — they're how you *see* the findings, not a separate checklist. Every finding is
5
+ throughout. They're how you *see* the findings, not a separate checklist. Every finding is
6
6
  calibrated and gated (see "Confidence + verification gate" below) before it reaches the human.
7
7
 
8
8
  ---
9
9
 
10
- ## §0. Scope Challenge (blocking gate runs before any axis)
10
+ ## §0. Scope Challenge (blocking gate: runs before any axis)
11
11
 
12
12
  Before reviewing *how* the plan builds, challenge *whether it should build this much*. This is
13
- implementation-scope discipline (the spec's ambition is settled that was `$rite-temper`).
13
+ implementation-scope discipline (the spec's ambition is settled, that was `$rite-temper`).
14
14
 
15
15
  1. **What already exists?** For each sub-problem in the plan, find the existing code/flow that
16
- already solves it (use a code-intelligence index if available see `../../devrites-lib/reference/standards/tooling.md`).
16
+ already solves it (use a code-intelligence index if available: see `../../devrites-lib/reference/standards/tooling.md`).
17
17
  Can the plan **capture outputs from an existing
18
18
  flow** instead of building a parallel one? Reuse → extend → build new, in that order
19
19
  (`coding-style.md`). List every reuse opportunity the plan misses.
20
20
  2. **Minimum diff.** What's the smallest set of changes that meets the spec's *acceptance
21
21
  criteria*? Flag any planned work that can be deferred without blocking acceptance. Be ruthless
22
- about implementation scope creep but never cut an acceptance criterion (that's a Drift Guard
22
+ about implementation scope creep, but never cut an acceptance criterion (that's a Drift Guard
23
23
  matter, not a trim).
24
24
  3. **Complexity smell.** If `plan.md` touches **>8 files** or adds **>2 new services / modules /
25
25
  classes**, treat it as a smell. Check the plan's complexity gate justifies it. If it doesn't
@@ -27,17 +27,17 @@ implementation-scope discipline (the spec's ambition is settled — that was `$r
27
27
  via `AskUserQuestion` whether to reduce or proceed. Do not start the axes until answered.
28
28
  4. **Built-in check.** For each new pattern / infra component / concurrency approach the plan
29
29
  introduces, verify a framework/runtime built-in doesn't already do it, and that the choice is
30
- current best practice with no known footgun dispatch `devrites-source-driven` to confirm at
30
+ current best practice with no known footgun: dispatch `devrites-source-driven` to confirm at
31
31
  the source and record the citation. A custom roll where a built-in exists is a scope-reduction
32
32
  finding.
33
33
  5. **Completeness check.** Is the plan doing the complete version or a shortcut? With AI-assisted
34
34
  coding the cost of completeness (full edge-case handling, complete error paths, real test
35
- coverage) is a fraction of what it was a shortcut that saves human-hours but only saves
35
+ coverage) is a fraction of what it was: a shortcut that saves human-hours but only saves
36
36
  minutes here is a false economy. Prefer the complete option; flag shortcuts that exist only to
37
37
  save effort that AI has already made cheap.
38
38
  6. **Distribution check.** If the plan introduces a new artifact (CLI binary, package, container,
39
39
  deployable), does it include how it gets built / published / installed? If distribution is
40
- deferred, say so explicitly in "NOT in scope" don't let it silently drop.
40
+ deferred, say so explicitly in "NOT in scope": don't let it silently drop.
41
41
 
42
42
  > **STOP discipline.** If the complexity smell trips, the `AskUserQuestion` is a tool call, not
43
43
  > prose. Naming the 80%-solution in chat and continuing is the failure this gate exists to prevent.
@@ -49,14 +49,14 @@ If the smell does not trip, present the §0 findings and proceed to Axis 1.
49
49
  ## The four axes (one at a time, ≤8 findings each)
50
50
 
51
51
  For each axis: evaluate, then **walk each finding WITH the human** via `AskUserQuestion` (one
52
- issue per call see "How to ask" below). HITL pauses on each material finding; AFK auto-applies
52
+ issue per call: see "How to ask" below). HITL pauses on each material finding; AFK auto-applies
53
53
  within the gate ceiling (`depth.md`). If an axis genuinely has no issue, say "No issues,
54
- moving on" and continue don't manufacture findings.
54
+ moving on" and continue: don't manufacture findings.
55
55
 
56
56
  ### 1. Architecture
57
57
  - Component boundaries, coupling, data-flow patterns, single points of failure. Architecture records invariants, not scaffolding: each medium+ decision should state `Binds:` and `Prevents:` so the builder knows what divergence it prevents.
58
58
  - Scaling characteristics; where the plan's approach breaks under real load.
59
- - Security architecture at the seams (auth, data access, API boundaries) does the plan name
59
+ - Security architecture at the seams (auth, data access, API boundaries): does the plan name
60
60
  the trust boundary for each untrusted input?
61
61
  - For each new codepath / integration point: **one realistic production failure scenario** and
62
62
  whether the plan accounts for it (feeds the failure-mode table).
@@ -65,7 +65,7 @@ moving on" and continue — don't manufacture findings.
65
65
 
66
66
  ### 2. Plan code-quality
67
67
  - Module structure the plan implies; DRY across the slices (flag planned repetition aggressively).
68
- - Error-handling + edge cases the plan names and the ones it doesn't (call those out explicitly).
68
+ - Error-handling + edge cases the plan names, and the ones it doesn't (call those out explicitly).
69
69
  - Over-engineering (premature abstraction, an extension point with no second caller) vs
70
70
  under-engineering (fragile / hacky) relative to `patterns.md` + `coding-style.md`.
71
71
  - Tech-debt hotspots the plan walks into; existing inline diagrams in touched files that the
@@ -73,21 +73,21 @@ moving on" and continue — don't manufacture findings.
73
73
 
74
74
  ### 3. Test-coverage design
75
75
  The differentiator: design the tests *before* the code, so the build writes them alongside.
76
- - **Framework detection** find the project's existing test runner + conventions; match them
77
- (never introduce a new runner to prove one change `testing.md`).
76
+ - **Framework detection:** find the project's existing test runner + conventions; match them
77
+ (never introduce a new runner to prove one change: `testing.md`).
78
78
  - **Map acceptance → tests.** Every spec acceptance criterion must map to ≥1 planned, surface-anchored test (the API response/UI state/CLI output the criterion names, not an internal proxy).
79
- - **Tool per path** unit (pure logic, single function, edge cases), integration/E2E (a user
79
+ - **Tool per path:** unit (pure logic, single function, edge cases), integration/E2E (a user
80
80
  flow spanning 3+ components, an auth/payment/data-loss path, a mock-hides-failure boundary),
81
81
  eval (an LLM/prompt change that needs a quality bar).
82
- - **Interaction inventory (UI slices) enumerate every interactive element + flow.** List each
82
+ - **Interaction inventory (UI slices): enumerate every interactive element + flow.** List each
83
83
  input field, checkbox, radio, select, toggle, button, and actionable link, plus each user
84
- flow; assign each ≥1 asserting test **at the right level** elements/fields → unit/component,
84
+ flow; assign each ≥1 asserting test **at the right level**: elements/fields → unit/component,
85
85
  critical journeys → one E2E (never one-per-field). Every element/flow with no asserting test
86
86
  is a GAP; no element ships unverified. Write the inventory to `test-plan.md` (table in
87
87
  `artifacts.md`). This is `testing.md` "Completeness" made concrete for the plan.
88
88
  - **Regression rule (mandatory, no question):** when the plan modifies existing behavior and the
89
89
  current suite doesn't cover the changed path, a regression test is added to the plan as a
90
- **Critical** requirement no `AskUserQuestion`, no skipping. Regressions are the highest-priority
90
+ **Critical** requirement: no `AskUserQuestion`, no skipping. Regressions are the highest-priority
91
91
  test because they prove something broke. When unsure whether a change is a regression, write the test.
92
92
  - Produce the **coverage diagram** (shape below) and add a specific test requirement per GAP.
93
93
 
@@ -112,7 +112,7 @@ acceptance criteria covered ✓" and continue.
112
112
  ### 4. Performance
113
113
  - N+1 / unbounded queries and DB access patterns; memory concerns; caching opportunities;
114
114
  high-complexity hot paths.
115
- - Per `performance.md`: name a number to measure or a budget don't recommend speculative
115
+ - Per `performance.md`: name a number to measure or a budget: don't recommend speculative
116
116
  micro-tuning. A perf finding is "measure X against budget Y", not "this feels slow".
117
117
 
118
118
  ---
@@ -126,7 +126,7 @@ Tag each finding `[severity] (confidence: N/10) <plan/task/spec ref> — finding
126
126
  **The gate:** before raising a finding, quote the line(s) that motivate it. Can't quote it →
127
127
  force confidence ≤4 and suppress. This kills the "the plan doesn't handle X" finding when the
128
128
  plan *does* and you skimmed. Don't fabricate 7+ to dodge it. (Same discipline the reviewer agent
129
- runs `devrites-plan-reviewer`.)
129
+ runs: `devrites-plan-reviewer`.)
130
130
 
131
131
  ---
132
132
 
@@ -144,24 +144,24 @@ Use `AskUserQuestion` per the pack's standard. Plan-review specifics:
144
144
  happy-path), add `Completeness: N/10` per option. If they differ in *kind* (two different
145
145
  architectures), skip the score and note "options differ in kind, not coverage". Never fabricate
146
146
  a score on a kind question.
147
- - Every material finding ends as a **recorded decision** a resolved `questions.md` qid (HITL) or
148
- a `decisions.md` ADR (AFK) so the walk leaves an auditable trail, not just chat.
147
+ - Every material finding ends as a **recorded decision**: a resolved `questions.md` qid for HITL
148
+ or a `decisions.md` ADR for AFK. The walk must leave an auditable trail, not just chat.
149
149
 
150
150
  ---
151
151
 
152
152
  ## Required outputs (after the axes)
153
- 1. **"NOT in scope"** work considered and explicitly deferred, one-line rationale each. Folds
153
+ 1. **"NOT in scope":** work considered and explicitly deferred, one-line rationale each. Folds
154
154
  into `plan.md` §Scope boundaries + `spec.md` Non-goals (via the Guard) so it can't silently re-enter.
155
- 2. **"What already exists"** existing code/flows that solve sub-problems, and whether the plan
155
+ 2. **"What already exists":** existing code/flows that solve sub-problems, and whether the plan
156
156
  reuses or rebuilds them. Every missed reuse becomes a §0 finding.
157
- 3. **Failure-mode table** for each new codepath: a realistic failure, and whether (a) a test
157
+ 3. **Failure-mode table:** for each new codepath: a realistic failure, and whether (a) a test
158
158
  covers it, (b) error handling exists, (c) the user sees a clear error or a silent failure. A
159
159
  failure with **no test AND no handling AND silent** is a **Critical gap**. (Shape in
160
160
  [`artifacts.md`](artifacts.md).)
161
- 4. **Worktree parallelization strategy** analyze the slices for parallel execution. **Skip** if
161
+ 4. **Worktree parallelization strategy:** analyze the slices for parallel execution. **Skip** if
162
162
  all slices touch the same module or there are <2 independent workstreams ("Sequential, no
163
163
  parallelization opportunity"). Otherwise: a dependency table (module-level, not file-level),
164
164
  parallel lanes (shared module → same lane/sequential; independent → separate lanes), execution
165
165
  order, and conflict flags where two lanes touch the same module dir. This feeds `$rite-build`'s
166
166
  isolation strategy and the autocomplete loop. (Shape in [`artifacts.md`](artifacts.md).)
167
- 5. **Completion summary** the one-glance recap (shape in [`artifacts.md`](artifacts.md)).
167
+ 5. **Completion summary:** the one-glance recap (shape in [`artifacts.md`](artifacts.md)).
@@ -12,61 +12,61 @@ This is the Codex mirror of a DevRites skill. In Codex:
12
12
 
13
13
  - Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
14
14
  - Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
15
- - When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
16
- - The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review** an inline pass shares the calling context and is weaker evidence.
15
+ - When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
16
+ - The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
17
17
  - Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
18
- - When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
18
+ - When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
19
19
 
20
20
 
21
- # $rite-zoom-out step up one abstraction layer
21
+ # $rite-zoom-out: step up one abstraction layer
22
22
 
23
23
  When the agent (or the user) is staring at unfamiliar code without a working mental
24
24
  model of how it fits the larger system. Stops the "open more files" reflex by returning
25
25
  a single, structured map instead.
26
26
 
27
- Read `.agents/skills/devrites-lib/reference/standards/core.md` first chiefly its vocabulary / existing-conventions
27
+ Read `.agents/skills/devrites-lib/reference/standards/core.md` first: chiefly its vocabulary / existing-conventions
28
28
  disciplines, which keep the map in the project's own language. The other rule files load
29
29
  on demand.
30
30
 
31
31
  ## What this skill returns
32
32
 
33
- A **structural map** terse. One pass should answer:
33
+ A **structural map**: terse. One pass should answer:
34
34
 
35
- - **The area** what this code is for, in one sentence, using the project's own
35
+ - **The area:** what this code is for, in one sentence, using the project's own
36
36
  vocabulary.
37
- - **Modules in scope** the related files / packages / slices, with a one-line
37
+ - **Modules in scope:** the related files / packages / slices, with a one-line
38
38
  purpose each.
39
- - **Callers (in)** who calls into this area from outside. Keep to the highest-signal
40
- 36; collapse the rest.
41
- - **Calls (out)** what this area depends on downstream.
42
- - **Decisions touching it** ADRs (under `docs/adr/` if present) or notes in
39
+ - **Callers (in):** who calls into this area from outside. Keep to the highest-signal
40
+ 3-6; collapse the rest.
41
+ - **Calls (out):** what this area depends on downstream.
42
+ - **Decisions touching it:** ADRs (under `docs/adr/` if present) or notes in
43
43
  `.devrites/work/<slug>/decisions.md` that pre-decide something here.
44
- - **Smallest sensible change-scope** where a fix would naturally land, so the next
44
+ - **Smallest sensible change-scope:** where a fix would naturally land, so the next
45
45
  step doesn't drift into a project-wide refactor.
46
46
 
47
47
  ## Prefer a code-intelligence index (if available)
48
48
 
49
- If the project has them `codebase-memory-mcp` (`get_architecture` / `search_graph`) first,
50
- cross-checked with `codegraph` (`.codegraph/`) and `graphify` (`graphify-out/`) — use them. For
51
- codegraph, `codegraph_context` + one `codegraph_explore` return the map in two calls vastly
49
+ If the project has them, start with `codebase-memory-mcp` (`get_architecture` / `search_graph`),
50
+ then cross-check with `codegraph` (`.codegraph/`) and `graphify` (`graphify-out/`). For
51
+ codegraph, `codegraph_context` + one `codegraph_explore` return the map in two calls: vastly
52
52
  cheaper than a file-walk and more accurate for callers/callees. Fall back to standard methods
53
53
  (LSP, then `Grep` + `Read`) when no index is available. See `.agents/skills/devrites-lib/reference/standards/tooling.md`.
54
54
 
55
55
  ## Vocabulary discipline
56
56
 
57
- Use the **project's** domain language `CONTEXT.md`, glossaries, the active feature's
57
+ Use the **project's** domain language: `CONTEXT.md`, glossaries, the active feature's
58
58
  `spec.md` / `decisions.md`. Don't invent fresh names for things the project already
59
59
  names. If you notice a fuzzy or overloaded term while mapping, flag it as a FYI at the
60
60
  end; don't try to fix it here.
61
61
 
62
62
  ## When NOT to use
63
63
 
64
- - You already have a clear mental model zooming out is just tax.
65
- - The question is a literal text lookup (a string, a comment, an error message) use
64
+ - You already have a clear mental model: zooming out is just tax.
65
+ - The question is a literal text lookup (a string, a comment, an error message): use
66
66
  `Grep`.
67
- - You need to design or change something — that's `$rite-spec` (new feature) or
67
+ - You need to design or change something. That's `$rite-spec` (new feature) or
68
68
  `$rite-define` (plan an approved spec).
69
- - You want a project-wide architecture audit use the project's normal architecture
69
+ - You want a project-wide architecture audit: use the project's normal architecture
70
70
  review process; this skill is a read-only feature-area map.
71
71
 
72
72
  ## Output shape
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "3.0.5",
4
- "description": "DevRites disciplined senior-engineer workflow skills pack for Claude Code and Codex",
3
+ "version": "3.0.6",
4
+ "description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code and Codex",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",
7
7
  "repository": {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bash
2
2
  # Cross-compile devrites-engine for every supported target and emit a sha256
3
- # sidecar per binary the artifacts attached to the GitHub Release alongside the
3
+ # sidecar per binary: the artifacts attached to the GitHub Release alongside the
4
4
  # pack tarball. Pure-Go (CGO_ENABLED=0) so every target builds
5
5
  # from one Linux runner with no cross-toolchain. The version is stamped into the
6
6
  # binary via -ldflags so `devrites-engine doctor` reports the release it came from.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # build-host-artifacts.sh render host-native Claude and Codex artifacts from
2
+ # build-host-artifacts.sh: render host-native Claude and Codex artifacts from
3
3
  # the canonical pack.
4
4
  #
5
5
  # Default output is pack/generated/ so npm pack can ship prebuilt surfaces.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # Build the DevRites release tarball the artifact attached to the GitHub Release
2
+ # Build the DevRites release tarball: the artifact attached to the GitHub Release
3
3
  # by semantic-release. Extracting yields a `devrites-v<version>/` directory with
4
4
  # everything an end-user needs (pack/, install.sh, uninstall.sh, scripts/, docs).
5
5
  #
@@ -5,11 +5,11 @@ Catches the maintenance-drift class the skills audit surfaced: a SKILL.md or
5
5
  reference file pointing at another file that has moved, been renamed, or never
6
6
  existed. Three checks, tuned for near-zero false positives:
7
7
 
8
- 1. Markdown links to local .md targets `](path.md)` resolved relative to the
8
+ 1. Markdown links to local .md targets : `](path.md)` resolved relative to the
9
9
  containing file; the target must exist.
10
- 2. Bare backtick .md filenames `` `name.md` `` must exist SOMEWHERE in
10
+ 2. Bare backtick .md filenames : `` `name.md` `` must exist SOMEWHERE in
11
11
  the pack (by basename). Catches references to a file that exists nowhere.
12
- 3. "canonical version: `path`" claims the named path (relative to the skills
12
+ 3. "canonical version: `path`" claims : the named path (relative to the skills
13
13
  root) must exist. Catches a file disclaiming itself secondary to a missing one.
14
14
 
15
15
  Scans pack/.claude/. Exit 1 on any dead reference. Read-only.
@@ -35,7 +35,7 @@ WORKSPACE_ARTIFACTS = {
35
35
  "questions.md", "drift.md", "evidence.md", "browser-evidence.md", "touched-files.md",
36
36
  "review.md", "seal.md", "ship.md", "brief.md", "design-brief.md", "strategy.md",
37
37
  "polish-report.md", "handoff.md", "eng-review.md", "test-plan.md", "references.md",
38
- # forge competition record (work/<slug>/forge-report.md) written when a Forge: yes slice competes candidates
38
+ # forge competition record (work/<slug>/forge-report.md): written when a Forge: yes slice competes candidates
39
39
  "forge-report.md",
40
40
  "conventions.md", "coverage.md", "analysis.md", "learnings.md",
41
41
  # developer-experience scorecard (work/<slug>/devex.md) + project-level retro ledger (.devrites/retro.md)
@@ -107,11 +107,11 @@ for path in md_files:
107
107
  base = os.path.basename(tok)
108
108
  if base in WORKSPACE_ARTIFACTS or base in PROJECT_DOCS or base in all_basenames:
109
109
  continue
110
- if "/" in tok: # a path inside the pack must actually resolve
110
+ if "/" in tok: # a path inside the pack must resolve
111
111
  if not os.path.isfile(resolve(here, tok)):
112
112
  errors.append(f"{path}: backtick `{tok}` does not resolve")
113
113
  continue
114
- errors.append(f"{path}: backtick `{tok}` no `{base}` exists anywhere in the pack")
114
+ errors.append(f"{path}: backtick `{tok}`: no `{base}` exists anywhere in the pack")
115
115
 
116
116
  # 4. "(see X.md)" prose pointers: slash form resolves (install-aware);
117
117
  # bare form must exist in the pack (or be a workspace artifact / project doc).
@@ -122,7 +122,7 @@ for path in md_files:
122
122
  if not os.path.isfile(resolved):
123
123
  errors.append(f"{path}: (see {tok}) (resolved {resolved}) does not exist")
124
124
  elif base not in WORKSPACE_ARTIFACTS and base not in PROJECT_DOCS and base not in all_basenames:
125
- errors.append(f"{path}: (see {tok}) no `{base}` exists anywhere in the pack")
125
+ errors.append(f"{path}: (see {tok}): no `{base}` exists anywhere in the pack")
126
126
 
127
127
  # 3. "canonical version: `path`" must resolve against the skills root
128
128
  for claim in CANONICAL_RE.findall(text):
@@ -136,4 +136,4 @@ if errors:
136
136
  print(" " + e)
137
137
  sys.exit(1)
138
138
 
139
- print(f"check-cross-refs: OK {len(md_files)} markdown files, no dead references.")
139
+ print(f"check-cross-refs: OK: {len(md_files)} markdown files, no dead references.")
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env python3
2
- """Invocation-integrity gate every skill/rule an agent or skill NAMES must resolve, both harnesses.
2
+ """Invocation-integrity gate: every skill/rule an agent or skill NAMES must resolve, both harnesses.
3
3
 
4
4
  `check-cross-refs.py` validates markdown links. This validates the thing it can't: a **bare
5
5
  skill-name invocation** (`$devrites-frontend-craft`, `Skill(devrites-source-driven)`, "invoke the
6
6
  `devrites-api-interface` skill") and a **rule read** (`.claude/skills/devrites-lib/reference/standards/security.md`) must each point
7
- at something that actually exists on Claude Code AND on the Codex-translated tree or the agent
7
+ at something that exists (on Claude Code AND on the Codex-translated tree) or the agent
8
8
  calls into the void at runtime. Also asserts the Claude→Codex skill/rule mirror is complete.
9
9
 
10
10
  Self-contained: installs DevRites into a temp dir to get the Codex tree, sweeps, cleans up.
@@ -15,7 +15,7 @@ import os, re, sys, glob, subprocess, tempfile, shutil
15
15
  REPO = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
16
16
  PACK = os.path.join(REPO, "pack/.claude")
17
17
 
18
- # devrites-* tokens that are scripts/hooks/mcp, not skills legitimate non-skill references.
18
+ # devrites-* tokens that are scripts/hooks/mcp, not skills: legitimate non-skill references.
19
19
  NONSKILL = {
20
20
  "devrites-mcp", "devrites-lib", "devrites-reviewer-readonly", "devrites-wright-scope",
21
21
  "devrites-a1-guard", "devrites-allow", "devrites-redwatch", "devrites-orient",
@@ -103,7 +103,7 @@ def main():
103
103
  if problems or mirror:
104
104
  print("INVOCATION-INTEGRITY: FAIL")
105
105
  return 1
106
- print("INVOCATION-INTEGRITY: PASS every named skill/rule resolves on both harnesses.")
106
+ print("INVOCATION-INTEGRITY: PASS: every named skill/rule resolves on both harnesses.")
107
107
  return 0
108
108
  finally:
109
109
  shutil.rmtree(target, ignore_errors=True)
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # check-no-global-writes.sh static guard that the installer/uninstaller never
2
+ # check-no-global-writes.sh: static guard that the installer/uninstaller never
3
3
  # writes to the user's global ~/.claude or ~/.codex, and that the global guard is present.
4
4
  # Exits non-zero on violation.
5
5
 
@@ -40,7 +40,7 @@ done
40
40
  # engine-binary path (the devrites-engine control-plane binary; issue 10). Anything else
41
41
  # writing to /usr/bin, /usr/local/bin, /bin, /sbin, or ~/.local/bin is a global
42
42
  # write the installer must not do. The carve-out is exactly a `devrites-engine` (or
43
- # `devrites.exe`) leaf under /usr/local/bin or ~/.local/bin never /usr/bin.
43
+ # `devrites.exe`) leaf under /usr/local/bin or ~/.local/bin: never /usr/bin.
44
44
  BIN_RE='((\$HOME|~)/\.local/bin|/usr/local/bin|/usr/bin|/bin|/sbin)'
45
45
  # Sanctioned: the write's bin path ends in .../devrites-engine (optionally .exe) and sits
46
46
  # under /usr/local/bin or ~/.local/bin. The trailing boundary keeps `devrites-lib`
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # check-reply-contract.sh keep user-facing rite-* completion replies normalized.
2
+ # check-reply-contract.sh: keep user-facing rite-* completion replies normalized.
3
3
 
4
4
  set -u
5
5
 
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env bash
2
- # scripts/check-rule-uniqueness.sh assert each canonical principle heading
2
+ # scripts/check-rule-uniqueness.sh: assert each canonical principle heading
3
3
  # appears in exactly one canonical file under pack/.claude/.
4
4
  #
5
5
  # Drift catcher: if someone re-duplicates a principle's full treatment, this
6
- # script fails and names the offenders. Cross-link summaries are fine they
6
+ # script fails and names the offenders. Cross-link summaries are fine: they
7
7
  # don't use the canonical heading.
8
8
  #
9
9
  # Usage:
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # codex-generate.sh shared Claude-to-Codex surface generators.
2
+ # codex-generate.sh: shared Claude-to-Codex surface generators.
3
3
  #
4
4
  # This file is a shell library, not a standalone installer. Callers provide
5
5
  # TMP_GEN_DIR and then invoke the gen_* helpers below.
@@ -47,10 +47,10 @@ gen_codex_skill_file() {
47
47
  print ""
48
48
  print "- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them."
49
49
  print "- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation."
50
- print "- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional."
51
- print "- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review** an inline pass shares the calling context and is weaker evidence."
50
+ print "- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional."
51
+ print "- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence."
52
52
  print "- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement."
53
- print "- When this skill asks a HITL question via `AskUserQuestion`: Codex'\''s equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers NEVER silently pick an option yourself; auto-picking is AFK'\''s contract, gated by the `.devrites/AFK` sentinel."
53
+ print "- When this skill asks a HITL question via `AskUserQuestion`: Codex'\''s equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK'\''s contract, gated by the `.devrites/AFK` sentinel."
54
54
  print ""
55
55
  fm = 0
56
56
  inserted = 1
@@ -293,7 +293,7 @@ gen_codex_hooks_json() {
293
293
  }
294
294
  }
295
295
  EOF
296
- # NOTE: no SessionEnd entry Codex does not emit a SessionEnd hook event (its lifecycle events
296
+ # NOTE: no SessionEnd entry: Codex does not emit a SessionEnd hook event (its lifecycle events
297
297
  # are SessionStart/SubagentStart/PreToolUse/PermissionRequest/PostToolUse/PreCompact/PostCompact/
298
298
  # UserPromptSubmit/SubagentStop/Stop). The `hook event session-end` trace is Claude-only; re-add
299
299
  # here if Codex ever ships the event.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # scripts/devrites-detect.sh deterministic anti-slop detector.
2
+ # scripts/devrites-detect.sh: deterministic anti-slop detector.
3
3
  #
4
4
  # Greps the current git diff (or a passed file list) for ~25 actionable
5
5
  # anti-slop patterns from rite-polish/reference/anti-ai-slop.md +
@@ -76,43 +76,43 @@ fi
76
76
  # Severity = critical (auth/safety), high (slop tell), low (style nit).
77
77
  RULES=(
78
78
  # --- UI anti-slop (CSS-ish) ---
79
- '#000([^0-9a-f]|$)|#fff([^0-9a-f]|$)|#000000|#ffffff' 'high' 'Pure #000 / #fff use near-black / near-white tokens.'
80
- '#6366f1|#8b5cf6|#a855f7|#d946ef|#ec4899' 'high' 'Purple/blue gradient hex range likely default AI palette.'
81
- 'background-clip:[[:space:]]*text|-webkit-background-clip:[[:space:]]*text' 'high' 'Gradient text decoration likely AI slop.'
82
- 'backdrop-filter:[[:space:]]*blur' 'high' 'Glassmorphism `backdrop-filter: blur(...)` banned default surface.'
83
- 'border-left:[[:space:]]*[1-6]px[[:space:]]+solid|border-l-[2-8]' 'low' 'Side-stripe accent border common templating tell; confirm vs design system.'
84
- 'cubic-bezier\([^)]*0\.34[[:space:]]*,[[:space:]]*1\.56' 'high' 'Bounce/elastic easing curve banned unless design system uses it.'
85
- 'animation-duration:[[:space:]]*[5-9][0-9]{2}ms[[:space:]]*;[[:space:]]*animation-delay' 'low' 'Long animation durations stacked verify motion budget.'
86
- 'z-index:[[:space:]]*[0-9]{4,}' 'high' 'Raw z-index in the 1000s use semantic z scale.'
87
- 'font-family:[[:space:]]*"?(DM Sans|Plus Jakarta|Fraunces|Newsreader)' 'high' 'Reflex font choice use the project type system.'
88
- 'text-transform:[[:space:]]*uppercase[[:space:]]*;[^}]*letter-spacing' 'low' 'All-CAPS with letter-spacing verify register; banned for body text.'
79
+ '#000([^0-9a-f]|$)|#fff([^0-9a-f]|$)|#000000|#ffffff' 'high' 'Pure #000 / #fff: use near-black / near-white tokens.'
80
+ '#6366f1|#8b5cf6|#a855f7|#d946ef|#ec4899' 'high' 'Purple/blue gradient hex range: likely default AI palette.'
81
+ 'background-clip:[[:space:]]*text|-webkit-background-clip:[[:space:]]*text' 'high' 'Gradient text decoration: likely AI slop.'
82
+ 'backdrop-filter:[[:space:]]*blur' 'high' 'Glassmorphism `backdrop-filter: blur(...)`: banned default surface.'
83
+ 'border-left:[[:space:]]*[1-6]px[[:space:]]+solid|border-l-[2-8]' 'low' 'Side-stripe accent border: common templating tell; confirm vs design system.'
84
+ 'cubic-bezier\([^)]*0\.34[[:space:]]*,[[:space:]]*1\.56' 'high' 'Bounce/elastic easing curve: banned unless design system uses it.'
85
+ 'animation-duration:[[:space:]]*[5-9][0-9]{2}ms[[:space:]]*;[[:space:]]*animation-delay' 'low' 'Long animation durations stacked: verify motion budget.'
86
+ 'z-index:[[:space:]]*[0-9]{4,}' 'high' 'Raw z-index in the 1000s: use semantic z scale.'
87
+ 'font-family:[[:space:]]*"?(DM Sans|Plus Jakarta|Fraunces|Newsreader)' 'high' 'Reflex font choice: use the project type system.'
88
+ 'text-transform:[[:space:]]*uppercase[[:space:]]*;[^}]*letter-spacing' 'low' 'All-CAPS with letter-spacing: verify register; banned for body text.'
89
89
  # --- Code anti-slop ---
90
- '\bconsole\.log\(' 'high' 'console.log left in code remove before polish.'
91
- 'if[[:space:]]*\([[:space:]]*[a-zA-Z_][a-zA-Z0-9_]*[[:space:]]*&&[[:space:]]*[a-zA-Z_][a-zA-Z0-9_]*\.length[[:space:]]*>[[:space:]]*0' 'high' 'Over-defensive `x && x.length > 0` validate at boundaries.'
92
- '\bcatch[[:space:]]*\([[:space:]]*\)[[:space:]]*\{[^}]*\}' 'high' 'Blanket catch with no narrow handling likely swallowing errors.'
93
- '\bcatch[[:space:]]*\([[:space:]]*[A-Za-z][A-Za-z0-9_]*[[:space:]]*\)[[:space:]]*\{[[:space:]]*\}' 'high' 'Empty catch body silently swallows errors. Catch narrow; recover or rethrow.'
94
- '//[[:space:]]*helper function|//[[:space:]]*increment' 'low' 'Tutorial-style comment restates code; remove.'
95
- '^[[:space:]]*(//|#)[[:space:]]*(Now (I('"'"'ll| will)|we('"'"'ll| will))|Updated|Added|Changed|Modified|As requested|Step [0-9]+:)' 'low' 'Diff-narrating comment describe the current constraint or delete it.'
96
- '\bfunction[[:space:]]+(process|handle|do)(Data|Item|Thing|It)?\b' 'high' 'Generic AI naming (`processData` / `handleItem` / `doIt`) name for intent.'
97
- '\bfunction[[:space:]]+get[A-Z][a-zA-Z]*\([^)]*\)[[:space:]]*\{[[:space:]]*return[[:space:]]+[A-Z][a-zA-Z]+\.find' 'low' 'Useless wrapper around a single ORM call inline.'
98
- '//[[:space:]]*TODO:[[:space:]]*(improve|cleanup|refactor)[[:space:]]+(this|later)' 'low' '"TODO: improve this later" without owner/issue, this rots.'
99
- '\btemp\s*=|\bresult\s*=|\bdata\s*=[^=]' 'low' 'Generic local name (temp/result/data) name for intent.'
100
- '\binterface[[:space:]]+I[A-Z][a-zA-Z]+\b' 'low' '`IFoo` prefix on interfaces most modern style guides prefer `Foo`.'
101
- '/\*\s*eslint-disable\s*\*/' 'high' 'Global eslint-disable explain or remove.'
90
+ '\bconsole\.log\(' 'high' 'console.log left in code: remove before polish.'
91
+ 'if[[:space:]]*\([[:space:]]*[a-zA-Z_][a-zA-Z0-9_]*[[:space:]]*&&[[:space:]]*[a-zA-Z_][a-zA-Z0-9_]*\.length[[:space:]]*>[[:space:]]*0' 'high' 'Over-defensive `x && x.length > 0`: validate at boundaries.'
92
+ '\bcatch[[:space:]]*\([[:space:]]*\)[[:space:]]*\{[^}]*\}' 'high' 'Blanket catch with no narrow handling: likely swallowing errors.'
93
+ '\bcatch[[:space:]]*\([[:space:]]*[A-Za-z][A-Za-z0-9_]*[[:space:]]*\)[[:space:]]*\{[[:space:]]*\}' 'high' 'Empty catch body: silently swallows errors. Catch narrow; recover or rethrow.'
94
+ '//[[:space:]]*helper function|//[[:space:]]*increment' 'low' 'Tutorial-style comment: restates code; remove.'
95
+ '^[[:space:]]*(//|#)[[:space:]]*(Now (I('"'"'ll| will)|we('"'"'ll| will))|Updated|Added|Changed|Modified|As requested|Step [0-9]+:)' 'low' 'Diff-narrating comment: describe the current constraint or delete it.'
96
+ '\bfunction[[:space:]]+(process|handle|do)(Data|Item|Thing|It)?\b' 'high' 'Generic AI naming (`processData` / `handleItem` / `doIt`): name for intent.'
97
+ '\bfunction[[:space:]]+get[A-Z][a-zA-Z]*\([^)]*\)[[:space:]]*\{[[:space:]]*return[[:space:]]+[A-Z][a-zA-Z]+\.find' 'low' 'Useless wrapper around a single ORM call: inline.'
98
+ '//[[:space:]]*TODO:[[:space:]]*(improve|cleanup|refactor)[[:space:]]+(this|later)' 'low' '"TODO: improve this later": without owner/issue, this rots.'
99
+ '\btemp\s*=|\bresult\s*=|\bdata\s*=[^=]' 'low' 'Generic local name (temp/result/data): name for intent.'
100
+ '\binterface[[:space:]]+I[A-Z][a-zA-Z]+\b' 'low' '`IFoo` prefix on interfaces: most modern style guides prefer `Foo`.'
101
+ '/\*\s*eslint-disable\s*\*/' 'high' 'Global eslint-disable: explain or remove.'
102
102
  # --- Security ---
103
- '\bnew Function\(' 'critical' '`new Function(...)` dynamic code construction.'
104
- '\beval\s*\(' 'critical' '`eval(...)` avoid.'
105
- '\bdangerouslySetInnerHTML\b' 'high' 'dangerouslySetInnerHTML confirm XSS-safe.'
106
- 'process\.env\.[A-Z_]+(.{0,40}(?:console|res\.send|res\.json))' 'high' 'env var possibly echoed to response/log re-check for secret leakage.'
103
+ '\bnew Function\(' 'critical' '`new Function(...)`: dynamic code construction.'
104
+ '\beval\s*\(' 'critical' '`eval(...)`: avoid.'
105
+ '\bdangerouslySetInnerHTML\b' 'high' 'dangerouslySetInnerHTML: confirm XSS-safe.'
106
+ 'process\.env\.[A-Z_]+(.{0,40}(?:console|res\.send|res\.json))' 'high' 'env var possibly echoed to response/log: re-check for secret leakage.'
107
107
  # --- Performance pitfalls ---
108
- '\.forEach\([^)]+\)\s*\.\s*forEach\(' 'low' 'Nested `forEach` accidental quadratic loop?'
108
+ '\.forEach\([^)]+\)\s*\.\s*forEach\(' 'low' 'Nested `forEach`: accidental quadratic loop?'
109
109
  )
110
110
 
111
111
  # Markdown-only rules. Run against SCAN_MD, not SCAN.
112
- # Em-dash overuse: 2+ em-dashes (U+2014) on the same line the per-line proxy
112
+ # Em-dash overuse: 2+ em-dashes (U+2014) on the same line: the per-line proxy
113
113
  # for the "multiple em-dashes per paragraph" rule in anti-ai-slop.md.
114
114
  MD_RULES=(
115
- $'.*\xe2\x80\x94.*\xe2\x80\x94' 'high' 'Em-dash overuse on one line (2+ em-dashes) a common AI tell; prefer comma, period, or parenthetical.'
115
+ $'.*\xe2\x80\x94.*\xe2\x80\x94' 'high' 'Em-dash overuse on one line (2+ em-dashes): a common AI tell; prefer comma, period, or parenthetical.'
116
116
  )
117
117
 
118
118
  FOUND=0
@@ -133,7 +133,7 @@ if [[ ${#SCAN[@]} -gt 0 ]]; then
133
133
  while IFS= read -r line; do
134
134
  [[ -z "$line" ]] && continue
135
135
  FOUND=$((FOUND + 1))
136
- printf '[%s] %s %s\n' "$sev" "$line" "$msg"
136
+ printf '[%s] %s: %s\n' "$sev" "$line" "$msg"
137
137
  done <<<"$HITS"
138
138
  done
139
139
  fi
@@ -154,7 +154,7 @@ if [[ ${#SCAN_MD[@]} -gt 0 ]]; then
154
154
  while IFS= read -r line; do
155
155
  [[ -z "$line" ]] && continue
156
156
  FOUND=$((FOUND + 1))
157
- printf '[%s] %s %s\n' "$sev" "$line" "$msg"
157
+ printf '[%s] %s: %s\n' "$sev" "$line" "$msg"
158
158
  done <<<"$HITS"
159
159
  done
160
160
  fi
@@ -163,7 +163,7 @@ TOTAL=$(( ${#SCAN[@]} + ${#SCAN_MD[@]} ))
163
163
 
164
164
  echo
165
165
  if [[ $FOUND -eq 0 ]]; then
166
- echo "devrites-detect: clean scanned $TOTAL files (${#SCAN[@]} code, ${#SCAN_MD[@]} md)."
166
+ echo "devrites-detect: clean: scanned $TOTAL files (${#SCAN[@]} code, ${#SCAN_MD[@]} md)."
167
167
  exit 0
168
168
  fi
169
169
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  """DevRites trigger-eval runner.
3
3
 
4
- Wraps the Anthropic SDK to actually execute a trigger eval against a Claude
4
+ Wraps the Anthropic SDK to execute a trigger eval against a Claude
5
5
  model. Off by default in CI (schema-only validation lives in
6
6
  `scripts/run-evals.sh`); this runner is invoked explicitly when
7
7
  `CLAUDE_API_KEY` is set.
@@ -26,10 +26,10 @@ What it does per query
26
26
  1. Loads each skill's `name` + `description` from `pack/.claude/skills/*/SKILL.md`.
27
27
  2. Sends the query as a `user` message to Claude with a system prompt
28
28
  instructing it to pick exactly one skill name from the candidate list, or
29
- "none" if no skill applies. We do NOT ask the model to invoke a tool we
29
+ "none" if no skill applies. We do NOT ask the model to invoke a tool: we
30
30
  ask it to predict which skill the harness would have triggered. That keeps
31
31
  the eval cheap (no agentic loop, one round-trip per query) and faithful to
32
- what skill discovery actually decides.
32
+ what skill discovery decides.
33
33
  3. Compares the predicted skill name to the expected verdict:
34
34
  - `should_trigger` → predicted name must equal the eval's `skill` field.
35
35
  - `should_not_trigger` → predicted name must NOT equal the eval's `skill`.
@@ -45,7 +45,7 @@ Usage
45
45
  CLAUDE_API_KEY=sk-... ./scripts/eval-runner.py --min-accuracy 0.9 evals/*.json
46
46
 
47
47
  The runner is intentionally thin (~200 lines). It is not the eval-viewer in
48
- Anthropic's `skill-creator` it just provides the missing "did the model
48
+ Anthropic's `skill-creator`: it just provides the missing "did the model
49
49
  pick the right skill" signal so we can answer that question without firing
50
50
  up the full Claude Code harness.
51
51
  """
@@ -67,7 +67,7 @@ SYSTEM_TEMPLATE = """\
67
67
  You are the DevRites skill router. Your job is to predict which DevRites
68
68
  skill (if any) should fire for a given user message.
69
69
 
70
- Each candidate skill is described below. Read the descriptions carefully
70
+ Each candidate skill is described below. Read the descriptions carefully:
71
71
  DevRites' triggers are encoded in them.
72
72
 
73
73
  For the user message at the end, respond with exactly one line of the form:
@@ -113,7 +113,7 @@ def load_skills() -> list[Skill]:
113
113
  if not skill_md.is_file():
114
114
  continue
115
115
  body = skill_md.read_text(encoding="utf-8")
116
- # Lightweight YAML frontmatter parse we only need name + description.
116
+ # Lightweight YAML frontmatter parse: we only need name + description.
117
117
  m = re.match(r"^---\n(.*?)\n---", body, re.DOTALL)
118
118
  if not m:
119
119
  continue
@@ -129,7 +129,7 @@ def load_skills() -> list[Skill]:
129
129
  def render_system(skills: list[Skill]) -> str:
130
130
  lines = []
131
131
  for s in skills:
132
- lines.append(f"- **{s.name}** {s.description}")
132
+ lines.append(f"- **{s.name}**: {s.description}")
133
133
  return SYSTEM_TEMPLATE.format(skills="\n".join(lines))
134
134
 
135
135