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
1
  # Testing
2
2
 
3
- Tests are evidence. They exist to prove behavior and to catch regressions not to hit a
3
+ Tests are evidence. They exist to prove behavior and to catch regressions, not to hit a
4
4
  coverage number.
5
5
 
6
6
  ## Shape: a pyramid
7
7
  - **Many** fast, isolated unit tests at the base.
8
- - **Some** integration tests for how components actually fit together.
8
+ - **Some** integration tests for how components fit together.
9
9
  - **Few** end-to-end tests for critical user journeys (they're slow and the most
10
- flake-prone reserve them for what matters).
10
+ flake-prone: reserve them for what matters).
11
11
 
12
- Size by **resource cost**, not by folder. A **small** test runs in one process, no I/O the
12
+ Size by **resource cost**, not by folder. A **small** test runs in one process, no I/O: the
13
13
  base of the pyramid, and the only size allowed to be many. A **medium** test touches the local
14
14
  machine (filesystem, a container, `localhost`). A **large** test crosses the network or a real
15
- external service the flaky, slow tier E2E lives in. Push every behavior to the smallest size
15
+ external service: the flaky, slow tier E2E lives in. Push every behavior to the smallest size
16
16
  that can still prove it; a behavior provable small but written large is a slow test you'll
17
17
  learn to skip.
18
18
 
19
- ## Completeness every behavior, element, and flow has a test (at the right level)
19
+ ## Completeness: every behavior, element, and flow has a test (at the right level)
20
20
  "Tested" means *every* observable behavior, *every* interactive element (input field,
21
21
  checkbox, radio, select, toggle, button, actionable link), and *every* user flow has at
22
- least one **asserting** test not that a coverage % is hit. Completeness counts behaviors
22
+ least one **asserting** test, not that a coverage % is hit. Completeness counts behaviors
23
23
  covered, not lines executed: 100% line coverage can still leave a button's click untested,
24
24
  and a button with one asserting unit test is "covered" at far less than 100% lines. Chase the
25
25
  behavior, not the number.
@@ -27,97 +27,97 @@ behavior, not the number.
27
27
  Acceptance and tests are **surface-anchored**: assert the outermost surface the intent names. If the feature promised an API response, assert the API response; a database row behind it is supporting evidence, not proof.
28
28
 
29
29
  Put each test at the level that proves it cheapest and most reliably (the pyramid above):
30
- - **Element / field behavior** validation, required, format, min/max, toggle on→off, select
30
+ - **Element / field behavior:** validation, required, format, min/max, toggle on→off, select
31
31
  options load + change fires, button enabled/disabled, handler runs → a **unit / component**
32
32
  test. The bulk of element coverage lives here.
33
- - **Wiring across a few components** form submit → store → re-render → an **integration** test.
34
- - **A critical end-to-end journey** login, checkout, a destructive / data-loss path → **one
33
+ - **Wiring across a few components:** form submit → store → re-render → an **integration** test.
34
+ - **A critical end-to-end journey:** login, checkout, a destructive / data-loss path → **one
35
35
  E2E** test. E2E is slow + flake-prone; reserve it for journeys, **never one-per-field**.
36
36
 
37
- An interactive element or a user flow with **zero asserting test is a defect** surfaced as an
37
+ An interactive element or a user flow with **zero asserting test is a defect**: surfaced as an
38
38
  unproven gap at `/rite-prove` and a NO-GO at `/rite-seal`, the same standing as an unproven
39
39
  acceptance criterion. Assert what the element *does*, not that the markup exists.
40
40
 
41
- ## Assertion strength a test that can't fail proves nothing
41
+ ## Assertion strength: a test that can't fail proves nothing
42
42
  Completeness counts tests; strength makes them mean something. A test that passes for *any*
43
- implementation is theatre and it's the shape AI reaches for by default. Reject the weak forms:
43
+ implementation is theatre, and it's the shape AI reaches for by default. Reject the weak forms:
44
44
 
45
45
  - **No tautological assertions.** `expect(result).toBeDefined()` / `.not.toBeNull()` /
46
46
  `assert x is not None` pass for almost any return value. Assert the **actual value or
47
- observable effect** `expect(total).toBe(42)`, the specific error thrown, the state changed,
47
+ observable effect**: `expect(total).toBe(42)`, the specific error thrown, the state changed,
48
48
  the row written, the event emitted.
49
49
  - **Don't assert the mock.** A test that stubs a dependency to return `X` then asserts `X` came
50
50
  back tests the stub, not your code. Assert the real effect on real (or realistic) data.
51
51
  - **Cover the unhappy edges, not just the happy path.** AI is strong on "valid input → success"
52
- and weak on empty / boundary / invalid-state / long-or-weird input write those explicitly.
52
+ and weak on empty / boundary / invalid-state / long-or-weird input: write those explicitly.
53
53
  - **Prove it can fail (fault injection).** For a critical or regression path, after green,
54
54
  **break the code on purpose** (flip a comparison, drop a guard, return a constant) and confirm
55
- the test goes **red**. A test never seen failing against broken code is unproven this is
55
+ the test goes **red**. A test never seen failing against broken code is unproven. This is
56
56
  "see it fail first" extended past the happy path. Use the project's **mutation-testing** runner
57
57
  to automate it where one exists; otherwise spot-check the criticals by hand.
58
58
  - **Don't mirror the implementation.** A test whose assertions restate the code under test
59
59
  (same constant, same formula, same branch) stays green even when the logic is wrong. Assert
60
- an **independently-derived** expected value reasoned from the spec, not copied from the code.
60
+ an **independently-derived** expected value: reasoned from the spec, not copied from the code.
61
61
  - **Don't grep the source.** A test that reads a source file as text and asserts it
62
- `contains("foo")` proves a string exists, not that the behavior works it passes on dead code
62
+ `contains("foo")` proves a string exists, not that the behavior works. It passes on dead code
63
63
  and breaks on a harmless rename. **Execute** the code and assert its effect; reserve text
64
64
  scanning for genuinely textual artifacts (generated output, a committed manifest, a golden snapshot).
65
65
  - **Coverage says "ran"; mutation says "checked".** Line coverage proves a line executed, not
66
66
  that a test would catch it breaking. Where the project has a mutation runner, the changed-files
67
67
  mutation gate (`devrites-engine mutation-gate`) certifies the suite would fail on a wrong implementation; a
68
- surviving mutant is a behaviour no test actually checks.
68
+ surviving mutant is a behaviour no test checks.
69
69
 
70
70
  ## Never weaken a failing test (test integrity)
71
71
  A failing test is a signal, not an obstacle. Never delete it, skip it (`it.skip`, `xit`,
72
72
  `@pytest.mark.skip`, `t.Skip`, `#[ignore]`), mark it `xfail`, narrow the run with `.only`, or
73
73
  loosen its assertions to turn the suite green. A red test means one of two things: the code is
74
74
  wrong (fix the code) or the test is wrong (surface it as a blocking question and get the change
75
- agreed) never quietly make the red go away. A test weakened to clear a gate is a **Critical**
75
+ agreed): never quietly make the red go away. A test weakened to clear a gate is a **Critical**
76
76
  finding; `devrites-engine test-integrity` diffs the test files against the slice base and exits non-zero when
77
77
  one is deleted, skipped, or loses assertions.
78
78
 
79
- ## The verification gap green, but the test doesn't prove the change
79
+ ## The verification gap: green, but the test doesn't prove the change
80
80
  Test-integrity catches reaching green by *weakening* a test. This catches the quieter failure: a
81
81
  test that was never touched, is fully green, and still doesn't exercise the behavior that changed.
82
- A passing suite is not proof the *change* is proven the suite could pass identically with the
82
+ A passing suite is not proof the *change* is proven: the suite could pass identically with the
83
83
  change reverted. Run this trace for each behavioral change in the diff:
84
84
 
85
85
  1. **Screen for behavioral change.** What in this diff changes an observable output, not just its
86
- shape? Treat a dependency bump, a build/config edit, or a data change as behavioral too the
86
+ shape? Treat a dependency bump, a build/config edit, or a data change as behavioral too: the
87
87
  load-bearing change often isn't the line that looks important.
88
88
  2. **Name what changed.** State the old behavior and the new one in one sentence each.
89
- 3. **Trace to the consumer.** Find where the changed code is actually called from.
89
+ 3. **Trace to the consumer.** Find where the changed code is called from.
90
90
  4. **Inspect the consumer's test.** Does an *asserting*, surface-anchored test drive that consumer through the
91
- **new** behavior not merely execute the path, and not assert the old expectation still?
91
+ **new** behavior, not merely execute the path, and not assert the old expectation still?
92
92
  5. **Confirm the gap is real.** A finding is: `<change at file:line>` has no test that would go red
93
- if it regressed cite the test that *should* cover it and show what it misses. No general
93
+ if it regressed: cite the test that *should* cover it and show what it misses. No general
94
94
  advice; a gap you can't point at is not a finding (the verification gate applies).
95
95
 
96
- A changed behavior with no test that would fail on its regression is an **unproven gap** the same
96
+ A changed behavior with no test that would fail on its regression is an **unproven gap**: the same
97
97
  standing as an untested element or an unproven acceptance criterion. `devrites-engine test-integrity`
98
98
  emits an advisory when a diff changes source but touches no test file; that signal is a pointer to
99
99
  run this trace, never a verdict on its own.
100
100
 
101
101
  ## Test behavior, not implementation
102
- - Assert on observable behavior and public interfaces, not private internals so a
102
+ - Assert on observable behavior and public interfaces, not private internals, so a
103
103
  refactor that preserves behavior keeps tests green.
104
104
  - One behavior per test; name the test for the behavior. A failure should point straight
105
105
  at what broke.
106
106
  - Cover the unhappy paths: empty, boundary, error, permission-denied, and concurrency
107
- cases not just the happy path.
107
+ cases, not just the happy path.
108
108
  - **Test state, not interactions.** Assert the outcome (the value returned, the row written,
109
109
  the event emitted), not the sequence of internal calls that produced it. A test that asserts
110
110
  "method X was called then Y" locks in today's implementation and breaks on every refactor.
111
111
 
112
112
  ## DAMP over DRY in tests
113
113
  Test code optimizes for a different reader than production code: someone staring at a failure who
114
- needs the whole scenario in front of them. A test should read like a spec arrange, act, assert,
114
+ needs the whole scenario in front of them. A test should read like a spec: arrange, act, assert,
115
115
  visible in one screen. Prefer a little repetition over a clever shared helper that hides what the
116
- test actually exercises; **D**escriptive **A**nd **M**eaningful **P**hrases beat **D**on't **R**epeat **Y**ourself
117
- here. (This trades against production `coding-style.md` reuse-first on purpose a shared fixture
116
+ test exercises; **D**escriptive **A**nd **M**eaningful **P**hrases beat **D**on't **R**epeat **Y**ourself
117
+ here. (This trades against production `coding-style.md` reuse-first on purpose: a shared fixture
118
118
  that makes the reader scroll away to understand the case has cost more than the duplication saved.)
119
119
 
120
- ## Test doubles reach for the real thing first
120
+ ## Test doubles: reach for the real thing first
121
121
  Prefer, in order: **real > fake > stub > mock**. Use the real collaborator when it's fast and
122
122
  deterministic; a **fake** (an in-memory implementation that honors the contract) when it isn't; a
123
123
  **stub** for a canned return; a **mock** (asserting *how* it was called) only at a true boundary
@@ -130,8 +130,8 @@ breaks, because it tested the stubs, not the code (see "Don't assert the mock" a
130
130
  | A third-party API or paid/rate-limited service | Your own internal utilities and transforms |
131
131
  | Anything non-deterministic or slow | Validation and mapping under test |
132
132
 
133
- ## The Beyoncé Rule if you liked it, you should have put a test on it
134
- A refactor, a dependency bump, or CI is not responsible for catching your regressions your tests
133
+ ## The Beyoncé Rule: if you liked it, you should have put a test on it
134
+ A refactor, a dependency bump, or CI is not responsible for catching your regressions: your tests
135
135
  are. If a behavior matters, it has an asserting test that goes red when the behavior breaks;
136
136
  otherwise the next person to touch the area is free to break it and every gate will stay green.
137
137
  "It worked when I ran it" is not the same as "a test holds it." This is the completeness bar above,
@@ -141,7 +141,7 @@ stated as the rule you'll quote when a untested behavior regresses.
141
141
  For new behavior, watch the test fail for the *expected* reason before you make it pass.
142
142
  A green test you never saw red proves nothing.
143
143
 
144
- ## Determinism no flaky tests
144
+ ## Determinism: no flaky tests
145
145
  - A flaky test is a broken test. Isolate and fix it immediately; don't paper over it with
146
146
  retries or `sleep`.
147
147
  - Mock/stub external services so tests are predictable and fast. Use stable selectors in
@@ -150,13 +150,13 @@ A green test you never saw red proves nothing.
150
150
  - **Seam the clock; never read it raw in a tested path.** Route wall-clock reads through one
151
151
  injectable seam (an env override like `DEVRITES_NOW`, or an injected clock) so time/date-derived
152
152
  output is pinned in tests. A raw `time.Now()` feeding output makes a golden snapshot rot at the
153
- next day boundary green today, red tomorrow, for no code change. (Live example: `resolve
154
- next-qid` did exactly this until the seam landed see ADR-0006.)
153
+ next day boundary: green today, red tomorrow, for no code change. (Live example: `resolve
154
+ next-qid` did exactly this until the seam landed: see ADR-0006.)
155
155
  - **No elapsed-time assertions.** `assert elapsed < 200ms` / `took` under a threshold tests the
156
- CI runner's load, not your code flaky by construction. Assert the *result*, not the duration;
156
+ CI runner's load, not your code: flaky by construction. Assert the *result*, not the duration;
157
157
  for ordering or concurrency use a deterministic signal (a fake clock, a channel), never a `sleep`.
158
158
 
159
159
  ## Use the project's tooling
160
160
  Run the project's existing test commands and framework. Don't introduce a new test runner
161
- to prove one change. If a project has no tests, propose the minimal setup ask before
161
+ to prove one change. If a project has no tests, propose the minimal setup: ask before
162
162
  adding a framework.
@@ -1,51 +1,51 @@
1
- # Optional tooling code intelligence, docs, memory
1
+ # Optional tooling: code intelligence, docs, memory
2
2
 
3
3
  Every external tool DevRites can use is **optional**. Detect what's present, use the best fit
4
4
  for the job, and **degrade gracefully to `Read` / `Grep` / `Glob`** (always available) when
5
5
  nothing is. Never assume a tool is installed, never require installing one to run a phase, and
6
- never block on a missing tool the fallback path is a first-class path, not a failure.
6
+ never block on a missing tool: the fallback path is a first-class path, not a failure.
7
7
 
8
8
  DevRites is stack-agnostic and installs into arbitrary projects; an index or MCP server that
9
9
  exists in one repo is absent in the next. Treat the tools below as accelerators you reach for
10
10
  *when available*, not dependencies.
11
11
 
12
- ## Code intelligence structure, placement, callers, impact, blast-radius, trace
12
+ ## Code intelligence: structure, placement, callers, impact, blast-radius, trace
13
13
 
14
14
  For "where is X / what calls X / what would changing X break / how does X reach Y", reach for a
15
15
  code-intelligence index when available. The three indexes below are **recommended, not
16
- mandatory** follow this order and skip any that isn't installed:
16
+ mandatory**: follow this order and skip any that isn't installed:
17
17
 
18
- 1. **codebase-memory-mcp primary.** When available, answer the structural question here
18
+ 1. **codebase-memory-mcp: primary.** When available, answer the structural question here
19
19
  **first**: `search_graph`, `trace_path`, `detect_changes` (git-diff → affected symbols +
20
20
  blast radius), `get_architecture`, `get_code_snippet`, `query_graph`.
21
21
  2. **Cross-verify with codegraph *and* graphify (both, when present).** Re-ask the same
22
22
  structural question of `codegraph` (`.codegraph/`, `codegraph_*`) **and** `graphify`
23
- (`graphify-out/`), and confirm they agree with the codebase-memory-mcp answer especially
23
+ (`graphify-out/`), and confirm they agree with the codebase-memory-mcp answer, especially
24
24
  for load-bearing claims (blast radius, every caller of a thing you're about to change,
25
25
  "nothing else uses this"). A disagreement between indexes is a signal, not noise: trust a
26
26
  fresh read of the **live code** over any index, and investigate the gap before relying on it.
27
- 3. **Standard methods the always-available fallback.** When none of the three indexes is
28
- present or to pin an exact reference an index is unsure of use **LSP** (Claude Code Code
27
+ 3. **Standard methods: the always-available fallback.** When none of the three indexes is
28
+ present (or to pin an exact reference an index is unsure of) use **LSP** (Claude Code Code
29
29
  Intelligence: go-to-definition, find-references, hover / signature, diagnostics, document &
30
30
  workspace symbols) plus **`Read` / `Grep` / `Glob`**, reading comprehensively rather than
31
31
  stopping at the first match (see `core.md` rule 1).
32
32
 
33
33
  Use whatever subset is installed: codebase-memory-mcp alone is fine; codebase-memory-mcp plus
34
34
  one of the others still cross-verifies; none present → standard methods. The fallback path is a
35
- first-class path never block a phase on a missing index.
35
+ first-class path: never block a phase on a missing index.
36
36
 
37
37
  ### Keeping the indexes fresh
38
38
 
39
39
  An index only helps if it matches the live code; after edits, a stale graph manufactures the
40
40
  very index-disagreement step 2 treats as a signal. DevRites keeps the three mechanical indexes
41
- current automatically the [`devrites-refresh-indexes`](../../../devrites-refresh-indexes/SKILL.md)
41
+ current automatically: the [`devrites-refresh-indexes`](../../../devrites-refresh-indexes/SKILL.md)
42
42
  Stop hook incrementally reindexes whichever of codebase-memory-mcp, codegraph, and graphify
43
43
  track the repo, at end of turn, in a detached process. It self-guards on changes, no-ops when no
44
- index is present, and is disabled by `DEVRITES_REFRESH_INDEXES=off`. Force a synchronous refresh
45
- or re-run graphify's semantic pass after **doc** changes (`/graphify --update`) — via that
46
- skill. Still trust a fresh read of the live code over any index when they disagree.
44
+ index is present, and is disabled by `DEVRITES_REFRESH_INDEXES=off`. Use that skill to force a
45
+ synchronous refresh or rerun graphify's semantic pass after **doc** changes
46
+ (`/graphify --update`). Still trust a fresh read of the live code over any index when they disagree.
47
47
 
48
- ## Up-to-date library / framework docs context7
48
+ ## Up-to-date library / framework docs: context7
49
49
 
50
50
  When implementing against, choosing, or verifying an **external** library/framework whose
51
51
  current API or version behaviour matters, use **context7 if available**: `resolve-library-id`
@@ -53,45 +53,45 @@ current API or version behaviour matters, use **context7 if available**: `resolv
53
53
 
54
54
  context7 pairs with [`devrites-source-driven`](../../../devrites-source-driven/SKILL.md), it
55
55
  doesn't replace it: the project's **installed / pinned source still wins** for the version the
56
- project actually runs. Reach for context7 when the local source/docs are missing, or when you
56
+ project runs. Reach for context7 when the local source/docs are missing, or when you
57
57
  need the *current upstream* behaviour the installed copy may predate. Record the fact + its
58
- source in `decisions.md` / `evidence.md` the same way a context7 lookup is a cited source,
58
+ source in `decisions.md` / `evidence.md` the same way: a context7 lookup is a cited source,
59
59
  not a memory.
60
60
 
61
- ## Up-to-date web facts web search
61
+ ## Up-to-date web facts: web search
62
62
 
63
63
  When a **material decision** turns on a fact neither the codebase nor the installed docs can
64
- answer a common UX pattern, a standard/spec, a prevailing best practice, how comparable
65
- products solve it, a pricing/compatibility fact **search the web if a search tool is
64
+ answer: a common UX pattern, a standard/spec, a prevailing best practice, how comparable
65
+ products solve it, a pricing/compatibility fact: **search the web if a search tool is
66
66
  available**, and fold the finding into the option you present the human (below). Order of
67
67
  preference: **brave MCP is the primary** (`mcp__brave-search__brave_web_search`, or
68
68
  `brave_local_search` for place/region queries); **fall back to the harness's native web search
69
- only when brave MCP is unavailable** Claude Code `WebSearch` / `WebFetch`, Codex `web_search`
69
+ only when brave MCP is unavailable**. Claude Code `WebSearch` / `WebFetch`, Codex `web_search`
70
70
  (`--search` / `web_search = "live"` for fresh pages; its default `"cached"` mode serves an
71
71
  OpenAI-indexed snapshot); else skip and log the open question. A web fact is a **cited source**,
72
- not a memory record the claim + its URL in `decisions.md` (or the option's rationale) exactly as
72
+ not a memory: record the claim + its URL in `decisions.md` (or the option's rationale) exactly as
73
73
  a context7 lookup is recorded.
74
74
 
75
75
  Graceful degradation is the rule: no search tool present is a first-class path, never a
76
- blocker. Search to *inform the human's decision*, not to replace it the finding sharpens the
76
+ blocker. Search to *inform the human's decision*, not to replace it: the finding sharpens the
77
77
  recommended option and its trade-off; the human still picks.
78
78
 
79
79
  **Re-fetching a doc URL is cheap.** On Claude Code a `WebFetch` is transparently cached per project
80
- and, on reuse, revalidated against the origin the cached reading is replayed **only** on an HTTP
80
+ and, on reuse, revalidated against the origin: the cached reading is replayed **only** on an HTTP
81
81
  304 (unchanged), so a citation stays as sound as a fresh fetch without the round trip. Fetch freely;
82
82
  don't skip a verification to save a request. Mechanism: the `devrites-source-cache` hooks
83
83
  (`DEVRITES_SOURCE_CACHE=off` to disable); it pairs with
84
- [`devrites-source-driven`](../../../devrites-source-driven/SKILL.md). (Claude-only Codex has no
84
+ [`devrites-source-driven`](../../../devrites-source-driven/SKILL.md). (Claude-only. Codex has no
85
85
  `WebFetch` tool to intercept, and its `web_search` already serves from a cached index, so the same
86
86
  caching is built in there.)
87
87
 
88
- ## Architecture & decision memory codebase-memory-mcp
88
+ ## Architecture & decision memory: codebase-memory-mcp
89
89
 
90
90
  Where a fast codebase map or a durable decision record helps, and codebase-memory-mcp is
91
91
  available: `get_architecture` for an overview (languages, packages, routes, hotspots, clusters)
92
92
  during `/rite-spec`, `/rite-define`, or `/rite-zoom-out`; `manage_adr` for an ADR-style record
93
93
  at `/rite-define` / `/rite-seal`. This complements the workspace `decisions.md`; it never
94
- replaces it the workspace files remain the canonical source of truth.
94
+ replaces it: the workspace files remain the canonical source of truth.
95
95
 
96
96
  ## Output hygiene
97
97
 
@@ -4,7 +4,7 @@ description: Humanize prose without losing technical content. Use when asked to
4
4
  user-invocable: false
5
5
  ---
6
6
 
7
- # devrites-prose-craft prose that reads human
7
+ # devrites-prose-craft: prose that reads human
8
8
 
9
9
  Write for a teammate who will rely on the result. Remove model-shaped filler without sanding
10
10
  off the author's voice or weakening technical content.
@@ -14,15 +14,15 @@ off the author's voice or weakening technical content.
14
14
  `/rite-define` / `/rite-plan` (plan narrative), `/rite-temper` / `/rite-vet` (review prose),
15
15
  `/rite-review` / `/rite-seal` (findings + verdict prose), `/rite-ship` (commit/PR body),
16
16
  `devrites-doubt` / `rite-handoff` (notes).
17
- - Any phase composes a substantive **user-facing reply** (not the deterministic progress
18
- footers — those are script-rendered and exact by design).
17
+ - Any phase composes a substantive **user-facing reply**. Deterministic progress footers are
18
+ script-rendered and exact by design.
19
19
  - `/rite-polish` Phase 1 as the **catch** pass on prose that slipped through at write time.
20
20
 
21
21
  ## Two modes
22
22
  - **Rewrite (default).** When DevRites writes the artifact/reply or polishes it, fix the prose
23
23
  in place.
24
- - **Detect-only.** When auditing prose you shouldn't silently change a user's existing
25
- `spec.md` at `/rite-adopt`, text under `/rite-review` list the tells with quotes and leave
24
+ - **Detect-only.** When auditing prose you shouldn't silently change, such as a user's existing
25
+ `spec.md` at `/rite-adopt` or text under `/rite-review`, list the tells with quotes and leave
26
26
  the text untouched. Mirrors `devrites-audit`'s read-only stance.
27
27
 
28
28
  Order findings by severity: **P0** credibility-killers (vague attribution, a marketing
@@ -4,10 +4,10 @@ description: Refresh stale optional indexes. Use when structural lookup disagree
4
4
  user-invocable: false
5
5
  ---
6
6
 
7
- # devrites-refresh-indexes keep the code-intelligence indexes fresh
7
+ # devrites-refresh-indexes: keep the code-intelligence indexes fresh
8
8
 
9
9
  `tooling.md` says to cross-verify structural claims across codebase-memory-mcp, codegraph, and
10
- graphify, and that **a disagreement between indexes is a signal** a fresh read of live code
10
+ graphify, and that **a disagreement between indexes is a signal**: a fresh read of live code
11
11
  beats any index. A *stale* index manufactures exactly that disagreement. This keeps the three
12
12
  mechanical indexes current after edits so the next lookup is trustworthy.
13
13
 
@@ -21,7 +21,7 @@ anything, never blocks. Same incremental shape for all three; no LLM needed for
21
21
  | **codegraph** | `.codegraph/` exists + `codegraph` on PATH | `codegraph sync` |
22
22
  | **graphify** | `graphify-out/` exists + `graphify` on PATH | `graphify update .` |
23
23
 
24
- ## Automatic (already wired no action needed)
24
+ ## Automatic (already wired: no action needed)
25
25
 
26
26
  The `Stop` hook `devrites-engine hook refresh-indexes` runs at end of turn. It self-guards: exits
27
27
  instantly unless an index tracks the repo, exits instantly if no source file changed since the
@@ -30,7 +30,7 @@ ON by default; disable with `DEVRITES_REFRESH_INDEXES=off`.
30
30
 
31
31
  ## Manual / thorough refresh (this skill)
32
32
 
33
- Force a synchronous refresh now and print the report resolve the hook across install layouts:
33
+ Force a synchronous refresh now and print the report: resolve the hook across install layouts:
34
34
 
35
35
  ```bash
36
36
  devrites-engine hook refresh-indexes --force .
@@ -46,6 +46,6 @@ Then the one case the hook can't cover:
46
46
  - codegraph and codebase-memory-mcp each have their own background watcher; the explicit
47
47
  reindex is the belt-and-suspenders fallback for when a watcher isn't running. graphify has no
48
48
  default watcher, so this is its primary freshness path.
49
- - The index lags writes by ~1s after a refresh don't re-query in the same instant you edit.
50
- - Output hygiene (`prose-style.md`): don't name these tools to the user say what changed
49
+ - The index lags writes by ~1s after a refresh: don't re-query in the same instant you edit.
50
+ - Output hygiene (`prose-style.md`): don't name these tools to the user: say what changed
51
51
  ("re-indexed the edited files"), not which tool did it.
@@ -4,7 +4,7 @@ description: Verify uncertain framework/library behavior against official docs o
4
4
  user-invocable: false
5
5
  ---
6
6
 
7
- # devrites-source-driven verify, don't guess
7
+ # devrites-source-driven: verify, don't guess
8
8
 
9
9
  A confident wrong assumption about a library is a bug waiting to ship. When behavior
10
10
  matters and isn't certain, check the source of truth.
@@ -17,35 +17,35 @@ matters and isn't certain, check the source of truth.
17
17
  - An error message points at framework behavior you don't fully understand.
18
18
 
19
19
  ## How
20
- 1. **Find the version** the project actually uses (lockfile, manifest) behavior is
20
+ 1. **Find the version** the project uses (lockfile, manifest): behavior is
21
21
  version-specific.
22
22
  2. **Consult the source of truth**, in order: the installed package's own source/types
23
23
  in `node_modules`/gem/site-packages; context7 if available (`resolve-library-id` →
24
24
  `query-docs`) for current upstream docs; official docs for *that version*; the project's
25
25
  existing usage of the same API.
26
- 3. **Confirm the specific fact** the signature, the default, the edge behavior not a
26
+ 3. **Confirm the specific fact:** the signature, the default, the edge behavior, not a
27
27
  general impression.
28
28
  4. **Record it** in `decisions.md` (or `evidence.md`): the fact, the version, and the
29
29
  source (path or URL). Future phases trust the record instead of re-checking.
30
30
 
31
31
  ## Delegate reading legwork bigger than one fact
32
- When the question is an *area*, not a fact surveying a library's API surface, an unfamiliar
33
- subsystem's docs, a migration guide dispatch a **background agent** instead of reading inline:
32
+ When the question is an *area*, not a fact (surveying a library's API surface, an unfamiliar
33
+ subsystem's docs, a migration guide) dispatch a **background agent** instead of reading inline:
34
34
  it investigates against the same source-of-truth order above, cites each claim (path or URL +
35
35
  version), and writes one note to the active workspace's `references/` directory, linked from
36
36
  `references.md`. You keep working while it reads; later phases trust the cited note. The inline
37
37
  flow above stays the path for confirming a single fact.
38
38
 
39
39
  ## Rules
40
- - Prefer the **installed** source over remembered docs it can't be out of date.
40
+ - Prefer the **installed** source over remembered docs. It can't be out of date.
41
41
  - Quote the exact relevant detail; don't paraphrase a behavior into something convenient.
42
- - If the doc/source contradicts the plan, that's a **Spec Drift Guard** event stop and
42
+ - If the doc/source contradicts the plan, that's a **Spec Drift Guard** event: stop and
43
43
  handle it.
44
44
  - Don't rabbit-hole: confirm the one fact you need, record it, return.
45
45
 
46
46
  ## Re-fetching is cheap (and still fresh)
47
47
  Fetching the same doc URL twice costs almost nothing: on Claude Code a WebFetch is transparently
48
- cached per project and, on reuse, revalidated against the origin the cached reading is replayed **only**
48
+ cached per project and, on reuse, revalidated against the origin: the cached reading is replayed **only**
49
49
  when the server confirms the page is unchanged (HTTP 304). A 304 is a fresh verification, not a
50
50
  memory read, so citing a revalidated page is as sound as re-fetching it. Fetch freely; don't
51
51
  skip a check to save a round trip. (Mechanism: the `devrites-source-cache` hooks; off via
@@ -4,10 +4,10 @@ description: Plan UX/UI before code: design direction, design brief, visual dire
4
4
  user-invocable: false
5
5
  ---
6
6
 
7
- # devrites-ux-shape plan the UX/UI before code
7
+ # devrites-ux-shape: plan the UX/UI before code
8
8
 
9
9
  Decide what the UI *is* and how it should look and behave **before** code, and write it to
10
- the feature's `design-brief.md` the contract the build (`devrites-frontend-craft`),
10
+ the feature's `design-brief.md`: the contract the build (`devrites-frontend-craft`),
11
11
  polish, and seal all check against. This is "shape before code" raised to a **feature-level
12
12
  artifact**: produced once at spec time, refined per slice. It is **woven into the
13
13
  lifecycle** (`/rite-spec` calls it when UI is detected; `/rite-build` refines it), not a
@@ -18,59 +18,59 @@ separate phase the user runs.
18
18
  (`../rite-build/reference/frontend-trigger.md`). Output: `design-brief.md` + a
19
19
  confirmation pause.
20
20
  - `/rite-build` / `devrites-frontend-craft` read the brief as the **build target** and
21
- refine it for the slice's surface they don't re-derive it.
21
+ refine it for the slice's surface. They don't re-derive it.
22
22
  - Skip entirely for backend / data / CLI / infra-only features.
23
23
 
24
- ## 1. Foundation discover, don't impose
24
+ ## 1. Foundation: discover, don't impose
25
25
  Reuse what's there first. Read the design system + register and any references the spec
26
26
  gathered:
27
27
  - Design system + register (tokens, components, type, spacing, neighbors; brand-vs-product)
28
28
  → `../devrites-frontend-craft/reference/design-references.md`.
29
- - `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` if present anchors that reduce questions.
29
+ - `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` if present: anchors that reduce questions.
30
30
  `DESIGN.md` is the project's **rolled-up design memory** (tokens, calibration baseline,
31
31
  proven component behaviors) earlier features sealed via `../rite-ship/reference/design-memory.md`;
32
- treat it as the inherited system read it before re-discovering, depart only on signal.
33
- - `references.md` + `references/` the screenshots / Figma / video / links the human
32
+ treat it as the inherited system: read it before re-discovering, depart only on signal.
33
+ - `references.md` + `references/`: the screenshots / Figma / video / links the human
34
34
  supplied. Honor each recorded role: **target** = fidelity contract, **constraint** =
35
35
  required rule, **inspiration** = extract only the cited principle.
36
36
 
37
- ## 2. Discovery one round, assert-then-confirm
38
- Understand the feature deeply enough to make excellent design calls **no code, no
37
+ ## 2. Discovery: one round, assert-then-confirm
38
+ Understand the feature deeply enough to make excellent design calls: **no code, no
39
39
  markup**. Use the `devrites-interview` cadence: 2-3 questions per round, best-guess
40
40
  attached, stop when answers converge. One round is the default; add a second only for
41
41
  material gaps. When `PRODUCT.md` + the spec already pin an answer, **assert it and ask to
42
- confirm** ("reads as Restrained confirm?"), don't offer a four-option menu. Cover:
43
- - **Purpose & user** who, in what state of mind (rushed / exploring / anxious / focused).
44
- - **Content & data** realistic ranges (0 / typical / many), dynamic content, real
42
+ confirm** ("reads as Restrained: confirm?"), don't offer a four-option menu. Cover:
43
+ - **Purpose & user:** who, in what state of mind (rushed / exploring / anxious / focused).
44
+ - **Content & data:** realistic ranges (0 / typical / many), dynamic content, real
45
45
  media/assets the surface needs.
46
- - **Preserve + anti-goals** identity, IA, behavior, content voice, SEO/analytics hooks,
46
+ - **Preserve + anti-goals:** identity, IA, behavior, content voice, SEO/analytics hooks,
47
47
  existing accessibility wins, or assets that must survive; what this must NOT become;
48
48
  the biggest risk of getting it wrong.
49
49
 
50
- ## 3. Design direction the direction set (commit, don't hedge)
50
+ ## 3. Design direction: the direction set (commit, don't hedge)
51
51
  One deliberate visual decision on five fronts, each anchored in an existing reference so
52
52
  the call is checkable, not taste:
53
- - **Scene sentence** who / where / ambient light / mood, per
53
+ - **Scene sentence:** who / where / ambient light / mood, per
54
54
  `../devrites-frontend-craft/reference/design-references.md`. Forces dark-vs-light and
55
55
  tone from the scene, not the category.
56
- - **Color strategy** Restrained / Committed / Multi-role / Saturated, per the
56
+ - **Color strategy:** Restrained / Committed / Multi-role / Saturated, per the
57
57
  color-commitment table in `../devrites-frontend-craft/reference/quality-standards.md`.
58
58
  Pick from the scene; register doesn't decide it.
59
- - **Calibration** density (Airy / Balanced / Dense) and motion (Minimal / Standard /
59
+ - **Calibration:** density (Airy / Balanced / Dense) and motion (Minimal / Standard /
60
60
  Expressive), per the calibration table in the same quality-standards file. Set both from
61
61
  the scene so the build targets a calibration, not a guess (a 2am SRE → Dense + Minimal; a
62
62
  launch hero → Airy + Expressive).
63
- - **Named anchor references** 2-3 *specific* products / brands / objects to steer toward
63
+ - **Named anchor references:** 2-3 *specific* products / brands / objects to steer toward
64
64
  (not adjectives like "modern" or "clean"), plus the saved `references/` files.
65
- - **Visual thesis** the focal point and hierarchy in one sentence, plus one memorable
65
+ - **Visual thesis:** the focal point and hierarchy in one sentence, plus one memorable
66
66
  move (or `none — system continuity`) and the obvious-but-wrong direction rejected. This
67
67
  creates intentional distinction without forcing novelty into product UI.
68
68
 
69
69
  Respect the existing identity (default, ~90%); depart only on an explicit signal.
70
70
 
71
- ## 4. Scope task-scoped, never persisted
71
+ ## 4. Scope: task-scoped, never persisted
72
72
  Name the output target so sketch-vs-ship isn't guessed: **fidelity** (sketch / mid-fi /
73
- high-fi / production DevRites default is production), **breadth** (one screen / a flow /
73
+ high-fi / production. DevRites default is production), **breadth** (one screen / a flow /
74
74
  a surface), **interactivity**, **time intent**. These ride in the brief only; they do not
75
75
  change the project's design system, and never get written to `PRODUCT.md` / `DESIGN.md`.
76
76
 
@@ -79,33 +79,33 @@ List every state the feature needs and what the user must see/feel in each (defa
79
79
  loading initial+subsequent, empty→next-action, error→recovery, success, disabled/
80
80
  no-permission, long-content/overflow), the information hierarchy (what's seen 1st / 2nd /
81
81
  3rd; primary action unmistakable), responsive reflow, a11y must-haves, and the interaction
82
- model (inline vs navigated vs rarely modal; optimistic vs pending; feedback). Name the
82
+ model (inline vs navigated vs (rarely) modal; optimistic vs pending; feedback). Name the
83
83
  representative states, viewports, input modes, and target R-ids that will prove the result;
84
84
  "looks polished" is not a proof target. Canonical state list:
85
85
  `../devrites-frontend-craft/reference/shape.md`.
86
86
 
87
- ## 6. Visual-direction probe capability-gated
87
+ ## 6. Visual-direction probe: capability-gated
88
88
  When the work is net-new or directionally ambiguous and fidelity ≥ mid-fi, pressure-test
89
- the lane with something concrete instead of words pull Figma context, generate image
89
+ the lane with something concrete instead of words: pull Figma context, generate image
90
90
  probes, screenshot reference sites, or route a code-fidelity question to `/rite-prototype`.
91
91
  **Capability-gated**: announce the skip in one line if no tool is available. Flow:
92
92
  [reference/visual-direction-probe.md](reference/visual-direction-probe.md).
93
93
 
94
94
  ## 7. AI-slop pre-check
95
95
  Run the two-altitude category-reflex check (`../rite-polish/reference/anti-ai-slop.md`) on
96
- the chosen direction *before* writing the brief if the palette/theme is guessable from
96
+ the chosen direction *before* writing the brief, if the palette/theme is guessable from
97
97
  the category, rework the scene sentence and color strategy. Cheaper to catch the slop in
98
98
  the brief than in the build.
99
99
 
100
100
  ## 8. Write the brief + gate
101
- Write `design-brief.md` ([reference/brief-template.md](reference/brief-template.md))
101
+ Write `design-brief.md` ([reference/brief-template.md](reference/brief-template.md)):
102
102
  **compact** (3-5 bullets) when discovery was crisp, **full** when the surface is ambiguous
103
103
  or multi-screen. Don't pad a clear brief to look thorough; don't skip the pause to look
104
104
  fast. Then honor the run mode (`../devrites-lib/reference/standards/afk-hitl.md`):
105
- - **HITL** present the brief and **STOP for explicit confirmation**. The pause is the
105
+ - **HITL:** present the brief and **STOP for explicit confirmation**. The pause is the
106
106
  point: shape ends at the user's "go", not at your own certainty. Disagreement → revisit
107
107
  the relevant discovery question.
108
- - **AFK** assert the best-guess direction, record it in `decisions.md` + an advisory
108
+ - **AFK:** assert the best-guess direction, record it in `decisions.md` + an advisory
109
109
  `questions.md` entry, and proceed. A direction touching the irreversible-risk list still
110
110
  pauses.
111
111
 
@@ -124,11 +124,11 @@ Next: /rite-define (UI slices map to the brief's states) — or /rite-build refi
124
124
  ```
125
125
 
126
126
  ## NEVER (ux-shape)
127
- - Never write code, markup, or a component here produce the thinking, not the UI.
127
+ - Never write code, markup, or a component here: produce the thinking, not the UI.
128
128
  - Never finalize the brief without naming the **primary action** and the **full state set**
129
129
  (not just the happy path).
130
- - Never decide visual direction by taste when the project has a system discover first.
131
- - Never treat an **inspiration** reference as a fidelity target honor its recorded role.
132
- - Never skip the HITL confirmation pause "because the brief is obviously right" ask once,
130
+ - Never decide visual direction by taste when the project has a system: discover first.
131
+ - Never treat an **inspiration** reference as a fidelity target: honor its recorded role.
132
+ - Never skip the HITL confirmation pause "because the brief is obviously right": ask once,
133
133
  wait.
134
- - Never re-derive the brief from scratch in `/rite-build` refine the existing one.
134
+ - Never re-derive the brief from scratch in `/rite-build`: refine the existing one.
@@ -1,4 +1,4 @@
1
- # `design-brief.md` template the UX/UI contract
1
+ # `design-brief.md` template: the UX/UI contract
2
2
 
3
3
  The feature-level design decision, produced **before** code by `devrites-ux-shape` (at
4
4
  `/rite-spec` when UI is detected) and the **target** the build, polish, and seal check
@@ -97,12 +97,12 @@ Genuinely unresolved only. If you'd write "Recommend: X", decide X instead.
97
97
  ```
98
98
 
99
99
  ## How downstream phases use it
100
- - `/rite-define` UI slices map to the **Key states**, **Interaction model**, and **Proof
100
+ - `/rite-define`: UI slices map to the **Key states**, **Interaction model**, and **Proof
101
101
  targets**; each UI slice names the visual acceptance it proves.
102
- - `/rite-build` + `devrites-frontend-craft` build **to** the brief; refine per slice;
102
+ - `/rite-build` + `devrites-frontend-craft`: build **to** the brief; refine per slice;
103
103
  append refinements above instead of re-deriving.
104
- - `/rite-prove` + `browser-evidence.md` render the proof targets, compare against the
104
+ - `/rite-prove` + `browser-evidence.md`: render the proof targets, compare against the
105
105
  brief + target references, and close material deltas.
106
- - `/rite-polish` Phase 4 reads the brief so polish honors the agreed direction.
107
- - `/rite-seal` + `devrites-frontend-reviewer` check the UI matches the brief (states
106
+ - `/rite-polish`: Phase 4 reads the brief so polish honors the agreed direction.
107
+ - `/rite-seal` + `devrites-frontend-reviewer`: check the UI matches the brief (states
108
108
  covered, direction held, references matched).