devrites 2.6.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1078) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +85 -50
  3. package/SECURITY.md +65 -39
  4. package/bin/devrites.mjs +135 -51
  5. package/docs/agents/domain.md +58 -0
  6. package/docs/agents/issue-driven-rites.md +11 -0
  7. package/docs/agents/issue-tracker.md +29 -0
  8. package/docs/agents/triage-labels.md +15 -0
  9. package/docs/architecture.md +60 -35
  10. package/docs/capability-surface-selection.md +18 -0
  11. package/docs/cli.md +53 -0
  12. package/docs/command-map.md +59 -22
  13. package/docs/engine/agent-contract.md +92 -0
  14. package/docs/engine/commands.md +323 -0
  15. package/docs/engine/state-schema.md +134 -0
  16. package/docs/engine/workspace-schema.md +150 -0
  17. package/docs/extensions.md +178 -0
  18. package/docs/flow.md +19 -16
  19. package/docs/harness-compliance.md +45 -0
  20. package/docs/orchestration.md +6 -4
  21. package/docs/porting-to-a-new-harness.md +27 -0
  22. package/docs/quick-reference.md +22 -0
  23. package/docs/release.md +3 -3
  24. package/docs/skills.md +42 -48
  25. package/docs/usage.md +21 -8
  26. package/engine/.gosec.json +5 -0
  27. package/engine/Makefile +64 -0
  28. package/engine/commands.go +195 -0
  29. package/engine/go.mod +5 -0
  30. package/engine/harnessmatrix.go +60 -0
  31. package/engine/harnessmatrix_test.go +59 -0
  32. package/engine/hookpolicy.go +114 -0
  33. package/engine/hookpolicy_test.go +64 -0
  34. package/engine/hooks.go +336 -0
  35. package/engine/hooks_events_test.go +106 -0
  36. package/engine/hooks_workspace.go +603 -0
  37. package/engine/internal/devritespaths/paths.go +76 -0
  38. package/engine/internal/doctor/doctor.go +178 -0
  39. package/engine/internal/doctor/doctor_test.go +150 -0
  40. package/engine/internal/fsutil/copy.go +101 -0
  41. package/engine/internal/fsutil/replace_other.go +7 -0
  42. package/engine/internal/fsutil/replace_windows.go +31 -0
  43. package/engine/internal/gate/gate.go +243 -0
  44. package/engine/internal/gate/gate_test.go +145 -0
  45. package/engine/internal/harness/compliance.go +102 -0
  46. package/engine/internal/harness/harness.go +304 -0
  47. package/engine/internal/harness/harness_test.go +104 -0
  48. package/engine/internal/hostpack/hostpack.go +259 -0
  49. package/engine/internal/hostpack/hostpack_test.go +111 -0
  50. package/engine/internal/hostpack/templates/alias_skill.md.tmpl +11 -0
  51. package/engine/internal/hostpack/templates/devrites_readme.md.tmpl +14 -0
  52. package/engine/internal/install/install.go +1560 -0
  53. package/engine/internal/install/install_test.go +564 -0
  54. package/engine/internal/iohooks/detach_other.go +11 -0
  55. package/engine/internal/iohooks/detach_unix.go +11 -0
  56. package/engine/internal/iohooks/iohooks.go +546 -0
  57. package/engine/internal/iohooks/iohooks_test.go +130 -0
  58. package/engine/internal/lib/adoption.go +634 -0
  59. package/engine/internal/lib/adoption_test.go +91 -0
  60. package/engine/internal/lib/analyze.go +225 -0
  61. package/engine/internal/lib/archivesearch.go +93 -0
  62. package/engine/internal/lib/archivesearch_test.go +110 -0
  63. package/engine/internal/lib/budget.go +172 -0
  64. package/engine/internal/lib/buildreadiness.go +88 -0
  65. package/engine/internal/lib/checkacceptance.go +176 -0
  66. package/engine/internal/lib/closeout.go +69 -0
  67. package/engine/internal/lib/command_other.go +7 -0
  68. package/engine/internal/lib/command_unix.go +24 -0
  69. package/engine/internal/lib/context.go +236 -0
  70. package/engine/internal/lib/conventions.go +449 -0
  71. package/engine/internal/lib/coverage.go +147 -0
  72. package/engine/internal/lib/doubtcoverage.go +88 -0
  73. package/engine/internal/lib/evidencefresh.go +85 -0
  74. package/engine/internal/lib/extensions.go +619 -0
  75. package/engine/internal/lib/extensions_test.go +305 -0
  76. package/engine/internal/lib/footprint.go +239 -0
  77. package/engine/internal/lib/jsonout.go +115 -0
  78. package/engine/internal/lib/jsonout_test.go +57 -0
  79. package/engine/internal/lib/lanes.go +106 -0
  80. package/engine/internal/lib/learnings.go +391 -0
  81. package/engine/internal/lib/learnings_inject_test.go +77 -0
  82. package/engine/internal/lib/learnings_remediation_test.go +24 -0
  83. package/engine/internal/lib/ledger.go +298 -0
  84. package/engine/internal/lib/ledger_test.go +162 -0
  85. package/engine/internal/lib/mutationgate.go +85 -0
  86. package/engine/internal/lib/overrides.go +164 -0
  87. package/engine/internal/lib/overrides_test.go +112 -0
  88. package/engine/internal/lib/packageexistence.go +175 -0
  89. package/engine/internal/lib/preamble.go +159 -0
  90. package/engine/internal/lib/progress.go +168 -0
  91. package/engine/internal/lib/reconcile.go +173 -0
  92. package/engine/internal/lib/reconcile_test.go +197 -0
  93. package/engine/internal/lib/resolve.go +376 -0
  94. package/engine/internal/lib/resolve_remediation_test.go +49 -0
  95. package/engine/internal/lib/reviewers.go +143 -0
  96. package/engine/internal/lib/reviewers_test.go +45 -0
  97. package/engine/internal/lib/reviewerstats.go +199 -0
  98. package/engine/internal/lib/reviewerstats_test.go +104 -0
  99. package/engine/internal/lib/reviewintegrity.go +143 -0
  100. package/engine/internal/lib/reviewintegrity_test.go +103 -0
  101. package/engine/internal/lib/runbook.go +292 -0
  102. package/engine/internal/lib/runbook_context_test.go +119 -0
  103. package/engine/internal/lib/session.go +328 -0
  104. package/engine/internal/lib/session_test.go +110 -0
  105. package/engine/internal/lib/specparse.go +125 -0
  106. package/engine/internal/lib/specskeleton.go +79 -0
  107. package/engine/internal/lib/specvalidate.go +391 -0
  108. package/engine/internal/lib/specvalidate_test.go +185 -0
  109. package/engine/internal/lib/stuck.go +206 -0
  110. package/engine/internal/lib/templates/conventions_drift.tmpl +6 -0
  111. package/engine/internal/lib/templates/conventions_ledger_header.md +6 -0
  112. package/engine/internal/lib/templates/conventions_orient_header.txt +1 -0
  113. package/engine/internal/lib/testintegrity.go +203 -0
  114. package/engine/internal/lib/testintegrity_test.go +72 -0
  115. package/engine/internal/lib/tickafk.go +99 -0
  116. package/engine/internal/lib/util.go +68 -0
  117. package/engine/internal/migrate/migrate.go +213 -0
  118. package/engine/internal/migrate/migrate_test.go +105 -0
  119. package/engine/internal/orient/firstrun.go +50 -0
  120. package/engine/internal/orient/firstrun_test.go +72 -0
  121. package/engine/internal/orient/orient.go +69 -0
  122. package/engine/internal/orient/orient_test.go +25 -0
  123. package/engine/internal/profile/profile.go +270 -0
  124. package/engine/internal/state/concurrency_test.go +184 -0
  125. package/engine/internal/state/feature.go +309 -0
  126. package/engine/internal/state/lock_other.go +24 -0
  127. package/engine/internal/state/lock_unix.go +35 -0
  128. package/engine/internal/state/lock_windows.go +56 -0
  129. package/engine/internal/state/schema.go +102 -0
  130. package/engine/internal/state/snapshot.go +384 -0
  131. package/engine/internal/state/state_test.go +260 -0
  132. package/engine/internal/state/status.go +90 -0
  133. package/engine/internal/state/write.go +59 -0
  134. package/engine/internal/testutil/testutil.go +66 -0
  135. package/engine/internal/version/version.go +57 -0
  136. package/engine/internal/workflow/commands.go +64 -0
  137. package/engine/main.go +530 -0
  138. package/engine/profile_test.go +76 -0
  139. package/engine/subagent_orient_context.txt +6 -0
  140. package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/decisions.md +4 -0
  141. package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/feature.md +8 -0
  142. package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/plan.md +5 -0
  143. package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/spec.md +6 -0
  144. package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/status.md +4 -0
  145. package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/tasks.md +1 -0
  146. package/engine/testdata/fixtures/basic/devrites-root/features/search-ranking/feature.md +8 -0
  147. package/engine/testdata/fixtures/basic/devrites-root/features/search-ranking/spec.md +6 -0
  148. package/engine/testdata/golden/TestParityA1Guard/devrites-edit-allowed.golden +1 -0
  149. package/engine/testdata/golden/TestParityA1Guard/inline-fallback-silent.golden +1 -0
  150. package/engine/testdata/golden/TestParityA1Guard/no-window-silent.golden +1 -0
  151. package/engine/testdata/golden/TestParityA1Guard/non-edit-tool.golden +1 -0
  152. package/engine/testdata/golden/TestParityA1Guard/observe-mode-silent.golden +1 -0
  153. package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +2 -0
  154. package/engine/testdata/golden/TestParityA1Guard/subagent-allowed.golden +1 -0
  155. package/engine/testdata/golden/TestParityAnalyze/noactive.golden +1 -0
  156. package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +15 -0
  157. package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +16 -0
  158. package/engine/testdata/golden/TestParityAnalyze/slug=ghost.golden +1 -0
  159. package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +15 -0
  160. package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +17 -0
  161. package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +16 -0
  162. package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +16 -0
  163. package/engine/testdata/golden/TestParityBudget/default-active.golden +4 -0
  164. package/engine/testdata/golden/TestParityBudget/extra-md.golden +5 -0
  165. package/engine/testdata/golden/TestParityBudget/no-active.golden +1 -0
  166. package/engine/testdata/golden/TestParityBudget/no-feature.golden +1 -0
  167. package/engine/testdata/golden/TestParityBudget/over-advisory.golden +6 -0
  168. package/engine/testdata/golden/TestParityBudget/over-strict.golden +6 -0
  169. package/engine/testdata/golden/TestParityBudget/within.golden +6 -0
  170. package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +2 -0
  171. package/engine/testdata/golden/TestParityBuildReadiness/arg=approvenone.golden +1 -0
  172. package/engine/testdata/golden/TestParityBuildReadiness/arg=await.golden +1 -0
  173. package/engine/testdata/golden/TestParityBuildReadiness/arg=blocked.golden +1 -0
  174. package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +2 -0
  175. package/engine/testdata/golden/TestParityBuildReadiness/arg=ghost.golden +1 -0
  176. package/engine/testdata/golden/TestParityBuildReadiness/arg=noapprove.golden +1 -0
  177. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +2 -0
  178. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +2 -0
  179. package/engine/testdata/golden/TestParityCheckAcceptance/arg=blank-section.golden +1 -0
  180. package/engine/testdata/golden/TestParityCheckAcceptance/arg=empty.golden +1 -0
  181. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-dropped.golden +1 -0
  182. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +2 -0
  183. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-unchecked.golden +1 -0
  184. package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-gap.golden +1 -0
  185. package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +2 -0
  186. package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-seal.golden +1 -0
  187. package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-section.golden +1 -0
  188. package/engine/testdata/golden/TestParityCheckAcceptance/arg=nonexistent.golden +1 -0
  189. package/engine/testdata/golden/TestParityCheckAcceptance.golden +1 -0
  190. package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +2 -0
  191. package/engine/testdata/golden/TestParityCloseOut/active_slug_cleared.golden +2 -0
  192. package/engine/testdata/golden/TestParityCloseOut/archive_clobber.golden +1 -0
  193. package/engine/testdata/golden/TestParityCloseOut/missing_slug.golden +1 -0
  194. package/engine/testdata/golden/TestParityCloseOut/missing_workspace.golden +1 -0
  195. package/engine/testdata/golden/TestParityCoverage/arg=flat.golden +7 -0
  196. package/engine/testdata/golden/TestParityCoverage/arg=full.golden +10 -0
  197. package/engine/testdata/golden/TestParityCoverage/arg=nonexistent.golden +1 -0
  198. package/engine/testdata/golden/TestParityCoverage/arg=nospec.golden +1 -0
  199. package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +9 -0
  200. package/engine/testdata/golden/TestParityCoverage.golden +1 -0
  201. package/engine/testdata/golden/TestParityCursor/bare.golden +3 -0
  202. package/engine/testdata/golden/TestParityCursor/full-afk.golden +6 -0
  203. package/engine/testdata/golden/TestParityCursor/full-hitl.golden +5 -0
  204. package/engine/testdata/golden/TestParityCursor/no-active.golden +1 -0
  205. package/engine/testdata/golden/TestParityCursor/red.golden +5 -0
  206. package/engine/testdata/golden/TestParityCursor/zerogates.golden +5 -0
  207. package/engine/testdata/golden/TestParityDoubtCoverage/arg=doubted.golden +2 -0
  208. package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +2 -0
  209. package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +3 -0
  210. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +3 -0
  211. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +3 -0
  212. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +4 -0
  213. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +2 -0
  214. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nowright.golden +2 -0
  215. package/engine/testdata/golden/TestParityDoubtCoverage.golden +1 -0
  216. package/engine/testdata/golden/TestParityLearnings/add.golden +2 -0
  217. package/engine/testdata/golden/TestParityLearnings/list.golden +5 -0
  218. package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +2 -0
  219. package/engine/testdata/golden/TestParityLearnings/mine.golden +5 -0
  220. package/engine/testdata/golden/TestParityLearnings/nudge.golden +2 -0
  221. package/engine/testdata/golden/TestParityLearnings/unknown.golden +1 -0
  222. package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +3 -0
  223. package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +3 -0
  224. package/engine/testdata/golden/TestParityMutationGate/ghost.golden +1 -0
  225. package/engine/testdata/golden/TestParityOrientSilentPath.golden +1 -0
  226. package/engine/testdata/golden/TestParityPackageExistence/declared.golden +2 -0
  227. package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +2 -0
  228. package/engine/testdata/golden/TestParityPackageExistence/ghost-workspace.golden +1 -0
  229. package/engine/testdata/golden/TestParityPackageExistence/no-manifest.golden +1 -0
  230. package/engine/testdata/golden/TestParityPackageExistence/not-git.golden +1 -0
  231. package/engine/testdata/golden/TestParityPackageExistence/undeclared.golden +1 -0
  232. package/engine/testdata/golden/TestParityPreamble/afk/a.golden +14 -0
  233. package/engine/testdata/golden/TestParityPreamble/hitl/active.golden +18 -0
  234. package/engine/testdata/golden/TestParityPreamble/hitl/bare.golden +10 -0
  235. package/engine/testdata/golden/TestParityPreamble/hitl/full.golden +18 -0
  236. package/engine/testdata/golden/TestParityPreamble/hitl/ghost.golden +2 -0
  237. package/engine/testdata/golden/TestParityPreamble/hitl/nonl.golden +11 -0
  238. package/engine/testdata/golden/TestParityPreamble/hitl/openend.golden +13 -0
  239. package/engine/testdata/golden/TestParityProgress/arg=allbuilt.golden +4 -0
  240. package/engine/testdata/golden/TestParityProgress/arg=done.golden +3 -0
  241. package/engine/testdata/golden/TestParityProgress/arg=ghost.golden +1 -0
  242. package/engine/testdata/golden/TestParityProgress/arg=mid.golden +4 -0
  243. package/engine/testdata/golden/TestParityProgress/arg=nophase.golden +3 -0
  244. package/engine/testdata/golden/TestParityProgress/arg=noslice.golden +3 -0
  245. package/engine/testdata/golden/TestParityProgress/arg=plan.golden +4 -0
  246. package/engine/testdata/golden/TestParityProgress/arg=seal.golden +3 -0
  247. package/engine/testdata/golden/TestParityReconcile/bad-mode.golden +1 -0
  248. package/engine/testdata/golden/TestParityReconcile/check-clean/snapshot.golden +2 -0
  249. package/engine/testdata/golden/TestParityReconcile/check-clean.golden +2 -0
  250. package/engine/testdata/golden/TestParityReconcile/check-no-base.golden +1 -0
  251. package/engine/testdata/golden/TestParityReconcile/check-no-claimed/snapshot.golden +2 -0
  252. package/engine/testdata/golden/TestParityReconcile/check-no-claimed.golden +1 -0
  253. package/engine/testdata/golden/TestParityReconcile/check-violation/snapshot.golden +2 -0
  254. package/engine/testdata/golden/TestParityReconcile/check-violation.golden +1 -0
  255. package/engine/testdata/golden/TestParityReconcile/inline-fallback/snapshot.golden +2 -0
  256. package/engine/testdata/golden/TestParityReconcile/inline-fallback.golden +1 -0
  257. package/engine/testdata/golden/TestParityReconcile/not-git.golden +1 -0
  258. package/engine/testdata/golden/TestParityReconcile/snapshot/snapshot.golden +2 -0
  259. package/engine/testdata/golden/TestParityReconcile/snapshot.golden +2 -0
  260. package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +2 -0
  261. package/engine/testdata/golden/TestParityRedwatch/non-bash-tool.golden +1 -0
  262. package/engine/testdata/golden/TestParityRedwatch/non-test-command.golden +1 -0
  263. package/engine/testdata/golden/TestParityRedwatch/pass-clears-red.golden +1 -0
  264. package/engine/testdata/golden/TestParityResolve/answer/questions.md.golden +9 -0
  265. package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +6 -0
  266. package/engine/testdata/golden/TestParityResolve/answer.golden +4 -0
  267. package/engine/testdata/golden/TestParityResolve/batch/questions.md.golden +9 -0
  268. package/engine/testdata/golden/TestParityResolve/batch-unterminated/questions.md.golden +9 -0
  269. package/engine/testdata/golden/TestParityResolve/batch-unterminated.golden +2 -0
  270. package/engine/testdata/golden/TestParityResolve/batch.golden +3 -0
  271. package/engine/testdata/golden/TestParityResolve/drop/questions.md.golden +9 -0
  272. package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +8 -0
  273. package/engine/testdata/golden/TestParityResolve/drop.golden +4 -0
  274. package/engine/testdata/golden/TestParityResolve/missing-answer.golden +1 -0
  275. package/engine/testdata/golden/TestParityResolve/next-qid.golden +2 -0
  276. package/engine/testdata/golden/TestParityResolve/no-workspace.golden +1 -0
  277. package/engine/testdata/golden/TestParityResolve/not-found.golden +1 -0
  278. package/engine/testdata/golden/TestParityResolve/not-open.golden +1 -0
  279. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +2 -0
  280. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-non-devrites-allows.golden +1 -0
  281. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-subagent-type-only-allows.golden +1 -0
  282. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +2 -0
  283. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +2 -0
  284. package/engine/testdata/golden/TestParityReviewerReadonly/non-bash-tool.golden +1 -0
  285. package/engine/testdata/golden/TestParityReviewerReadonly/non-tool-input.golden +1 -0
  286. package/engine/testdata/golden/TestParityReviewerReadonly/observe-mutating-silent.golden +1 -0
  287. package/engine/testdata/golden/TestParityReviewerReadonly/safe-bash-command.golden +1 -0
  288. package/engine/testdata/golden/TestParitySpecValidate/arg=dup.golden +1 -0
  289. package/engine/testdata/golden/TestParitySpecValidate/arg=empty.golden +1 -0
  290. package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +2 -0
  291. package/engine/testdata/golden/TestParitySpecValidate/arg=nonexistent.golden +1 -0
  292. package/engine/testdata/golden/TestParitySpecValidate/arg=noscenario.golden +1 -0
  293. package/engine/testdata/golden/TestParitySpecValidate/arg=noshall.golden +1 -0
  294. package/engine/testdata/golden/TestParitySpecValidate/arg=nothen.golden +1 -0
  295. package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +2 -0
  296. package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +2 -0
  297. package/engine/testdata/golden/TestParitySpecValidate.golden +1 -0
  298. package/engine/testdata/golden/TestParityStatusline/full-afk.golden +2 -0
  299. package/engine/testdata/golden/TestParityStatusline/full-hitl.golden +2 -0
  300. package/engine/testdata/golden/TestParityStatusline/no-active.golden +1 -0
  301. package/engine/testdata/golden/TestParityStatusline/nophase.golden +2 -0
  302. package/engine/testdata/golden/TestParityStatusline/red.golden +2 -0
  303. package/engine/testdata/golden/TestParityStuckCheck/bad-cmd.golden +1 -0
  304. package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +2 -0
  305. package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +2 -0
  306. package/engine/testdata/golden/TestParityStuckCheck/few.golden +2 -0
  307. package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +2 -0
  308. package/engine/testdata/golden/TestParityStuckCheck/identical.golden +2 -0
  309. package/engine/testdata/golden/TestParityStuckCheck/no-cmd.golden +1 -0
  310. package/engine/testdata/golden/TestParityStuckCheck/no-slug.golden +1 -0
  311. package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +2 -0
  312. package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +2 -0
  313. package/engine/testdata/golden/TestParityStuckCheck/varied.golden +2 -0
  314. package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +2 -0
  315. package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +2 -0
  316. package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +2 -0
  317. package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +2 -0
  318. package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +2 -0
  319. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +2 -0
  320. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +2 -0
  321. package/engine/testdata/golden/TestParitySubagentOrient/garbage-input.golden +1 -0
  322. package/engine/testdata/golden/TestParitySubagentOrient/non-devrites-agent.golden +1 -0
  323. package/engine/testdata/golden/TestParityTestIntegrity/assertion-dropped.golden +1 -0
  324. package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +2 -0
  325. package/engine/testdata/golden/TestParityTestIntegrity/deleted.golden +1 -0
  326. package/engine/testdata/golden/TestParityTestIntegrity/ghost-workspace.golden +1 -0
  327. package/engine/testdata/golden/TestParityTestIntegrity/not-git.golden +1 -0
  328. package/engine/testdata/golden/TestParityTestIntegrity/skip-added.golden +1 -0
  329. package/engine/testdata/golden/TestParityTickAfk/budget1/state.md.golden +1 -0
  330. package/engine/testdata/golden/TestParityTickAfk/budget1.golden +2 -0
  331. package/engine/testdata/golden/TestParityTickAfk/budget3/state.md.golden +5 -0
  332. package/engine/testdata/golden/TestParityTickAfk/budget3.golden +2 -0
  333. package/engine/testdata/golden/TestParityTickAfk/bulletPipe/state.md.golden +1 -0
  334. package/engine/testdata/golden/TestParityTickAfk/bulletPipe.golden +2 -0
  335. package/engine/testdata/golden/TestParityTickAfk/missingField/state.md.golden +3 -0
  336. package/engine/testdata/golden/TestParityTickAfk/missingField.golden +2 -0
  337. package/engine/testdata/golden/TestParityTickAfk/missingFile.golden +1 -0
  338. package/engine/testdata/golden/TestParityTickAfk/nonNumeric/state.md.golden +1 -0
  339. package/engine/testdata/golden/TestParityTickAfk/nonNumeric.golden +1 -0
  340. package/engine/testdata/golden/TestParityTickAfk/none/state.md.golden +1 -0
  341. package/engine/testdata/golden/TestParityTickAfk/none.golden +2 -0
  342. package/engine/testdata/golden/TestParityWrightScope/agent-required-non-wright.golden +1 -0
  343. package/engine/testdata/golden/TestParityWrightScope/devrites-edit-allowed.golden +1 -0
  344. package/engine/testdata/golden/TestParityWrightScope/in-scope-allowed.golden +1 -0
  345. package/engine/testdata/golden/TestParityWrightScope/non-edit-tool.golden +1 -0
  346. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +2 -0
  347. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-observe-silent.golden +1 -0
  348. package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +2 -0
  349. package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +2 -0
  350. package/engine/testdata/golden/TestStatusLiveWorkspace.golden +10 -0
  351. package/engine/testdata/golden/TestStuckLogHashParity.golden +1 -0
  352. package/engine/testdata/golden/status/auth-tokens.txt +9 -0
  353. package/engine/testdata/golden/status/search-ranking.txt +9 -0
  354. package/engine/tests/adr_0003_gate_exit_code_test.go +32 -0
  355. package/engine/tests/adr_0004_required_by_phase_test.go +62 -0
  356. package/engine/tests/adr_0006_clock_seam_test.go +36 -0
  357. package/engine/tests/budget_test.go +77 -0
  358. package/engine/tests/cli_test.go +209 -0
  359. package/engine/tests/concurrency_cli_test.go +125 -0
  360. package/engine/tests/conventions_test.go +106 -0
  361. package/engine/tests/doctor_cli_test.go +62 -0
  362. package/engine/tests/gate_test.go +235 -0
  363. package/engine/tests/hook_test.go +390 -0
  364. package/engine/tests/hooks_io_test.go +218 -0
  365. package/engine/tests/json_contract_test.go +99 -0
  366. package/engine/tests/lib_parity_test.go +942 -0
  367. package/engine/tests/meta_test.go +67 -0
  368. package/engine/tests/migrate_cli_test.go +193 -0
  369. package/engine/tests/parity_analyze_test.go +55 -0
  370. package/engine/tests/parity_buildreadiness_test.go +42 -0
  371. package/engine/tests/parity_closeout_test.go +102 -0
  372. package/engine/tests/parity_githelpers_test.go +41 -0
  373. package/engine/tests/parity_learnings_test.go +90 -0
  374. package/engine/tests/parity_mutationgate_test.go +36 -0
  375. package/engine/tests/parity_packageexistence_test.go +64 -0
  376. package/engine/tests/parity_reconcile_test.go +88 -0
  377. package/engine/tests/parity_resolve_test.go +144 -0
  378. package/engine/tests/parity_test.go +380 -0
  379. package/engine/tests/parity_testintegrity_test.go +65 -0
  380. package/engine/tests/parity_tickafk_test.go +83 -0
  381. package/engine/validatepack.go +192 -0
  382. package/engine/validatepack_test.go +79 -0
  383. package/engine/validatepackskills.go +181 -0
  384. package/engine/validatepackskills_test.go +171 -0
  385. package/install.sh +67 -913
  386. package/pack/.claude/agents/devrites-code-reviewer.md +20 -3
  387. package/pack/.claude/agents/devrites-devex-reviewer.md +13 -3
  388. package/pack/.claude/agents/devrites-doubt-reviewer.md +16 -3
  389. package/pack/.claude/agents/devrites-forge-judge.md +14 -4
  390. package/pack/.claude/agents/devrites-frontend-reviewer.md +27 -3
  391. package/pack/.claude/agents/devrites-performance-reviewer.md +18 -2
  392. package/pack/.claude/agents/devrites-plan-reviewer.md +13 -3
  393. package/pack/.claude/agents/devrites-retrospector.md +12 -7
  394. package/pack/.claude/agents/devrites-security-auditor.md +20 -4
  395. package/pack/.claude/agents/devrites-simplifier-reviewer.md +17 -2
  396. package/pack/.claude/agents/devrites-slice-wright.md +32 -16
  397. package/pack/.claude/agents/devrites-spec-reviewer.md +17 -2
  398. package/pack/.claude/agents/devrites-strategy-reviewer.md +12 -2
  399. package/pack/.claude/agents/devrites-test-analyst.md +20 -3
  400. package/pack/.claude/settings.json +58 -8
  401. package/pack/.claude/skills/devrites-api-interface/SKILL.md +22 -5
  402. package/pack/.claude/skills/devrites-audit/SKILL.md +1 -1
  403. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +26 -53
  404. package/pack/.claude/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  405. package/pack/.claude/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  406. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -6
  407. package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +11 -0
  408. package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +2 -3
  409. package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +25 -0
  410. package/pack/.claude/skills/devrites-doubt/SKILL.md +10 -3
  411. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +16 -13
  412. package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +15 -3
  413. package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +19 -0
  414. package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
  415. package/pack/.claude/skills/devrites-interview/SKILL.md +30 -7
  416. package/pack/.claude/skills/devrites-lib/SKILL.md +35 -36
  417. package/pack/.claude/skills/devrites-lib/reference/intent-map.md +16 -0
  418. package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +43 -0
  419. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +104 -20
  420. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +111 -0
  421. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/README.md +14 -6
  422. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/afk-hitl.md +10 -18
  423. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/agents.md +81 -16
  424. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/anti-patterns.md +3 -4
  425. package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
  426. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
  427. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +141 -0
  428. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/context-hygiene.md +17 -0
  429. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/core.md +9 -18
  430. package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
  431. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/deprecation.md +21 -0
  432. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/developer-experience.md +3 -3
  433. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
  434. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/documentation.md +9 -1
  435. package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
  436. package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +80 -0
  437. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
  438. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/observability.md +13 -0
  439. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/performance.md +1 -1
  440. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/principles.md +3 -3
  441. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/prose-style.md +18 -2
  442. package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
  443. package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
  444. package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
  445. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/security.md +45 -4
  446. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
  447. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
  448. package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
  449. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +162 -0
  450. package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/tooling.md +29 -2
  451. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
  452. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +40 -76
  453. package/pack/.claude/skills/devrites-prose-craft/reference/examples.md +19 -5
  454. package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +3 -6
  455. package/pack/.claude/skills/devrites-source-driven/SKILL.md +17 -1
  456. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +20 -7
  457. package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +25 -10
  458. package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +2 -2
  459. package/pack/.claude/skills/rite/SKILL.md +67 -42
  460. package/pack/.claude/skills/rite/reference/menu.md +4 -1
  461. package/pack/.claude/skills/rite-adopt/SKILL.md +31 -22
  462. package/pack/.claude/skills/rite-adopt/reference/adoption.md +6 -9
  463. package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +1 -1
  464. package/pack/.claude/skills/rite-autocomplete/SKILL.md +25 -25
  465. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +2 -2
  466. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -1
  467. package/pack/.claude/skills/rite-build/SKILL.md +24 -256
  468. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +3 -3
  469. package/pack/.claude/skills/rite-build/reference/anti-patterns.md +1 -1
  470. package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +1 -1
  471. package/pack/.claude/skills/rite-build/reference/checkpoint.md +44 -0
  472. package/pack/.claude/skills/rite-build/reference/evidence-standard.md +10 -7
  473. package/pack/.claude/skills/rite-build/reference/forge.md +17 -7
  474. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +2 -0
  475. package/pack/.claude/skills/rite-build/reference/output.md +41 -0
  476. package/pack/.claude/skills/rite-build/reference/phase-contract.md +258 -0
  477. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +11 -10
  478. package/pack/.claude/skills/rite-converge/SKILL.md +131 -0
  479. package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +35 -0
  480. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +61 -0
  481. package/pack/.claude/skills/rite-customize/SKILL.md +67 -0
  482. package/pack/.claude/skills/rite-define/SKILL.md +76 -93
  483. package/pack/.claude/skills/rite-define/reference/anti-patterns.md +2 -1
  484. package/pack/.claude/skills/rite-define/reference/gates.md +3 -3
  485. package/pack/.claude/skills/rite-define/reference/plan-template.md +35 -6
  486. package/pack/.claude/skills/rite-doctor/SKILL.md +41 -16
  487. package/pack/.claude/skills/rite-dogfood/SKILL.md +49 -0
  488. package/pack/.claude/skills/rite-explain/SKILL.md +148 -0
  489. package/pack/.claude/skills/rite-explain/reference/intake.md +79 -0
  490. package/pack/.claude/skills/rite-frame/SKILL.md +14 -15
  491. package/pack/.claude/skills/rite-frame/reference/failure-modes.md +1 -1
  492. package/pack/.claude/skills/rite-handoff/SKILL.md +19 -17
  493. package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +16 -6
  494. package/pack/.claude/skills/rite-learn/SKILL.md +46 -24
  495. package/pack/.claude/skills/rite-plan/SKILL.md +35 -26
  496. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -1
  497. package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +3 -3
  498. package/pack/.claude/skills/rite-plan/reference/slicing.md +20 -7
  499. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +15 -16
  500. package/pack/.claude/skills/rite-polish/SKILL.md +18 -23
  501. package/pack/.claude/skills/rite-polish/reference/anti-ai-slop.md +31 -2
  502. package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +4 -1
  503. package/pack/.claude/skills/rite-polish/reference/code.md +16 -5
  504. package/pack/.claude/skills/rite-polish/reference/design-system-discovery.md +5 -32
  505. package/pack/.claude/skills/rite-pov/SKILL.md +46 -0
  506. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +49 -0
  507. package/pack/.claude/skills/rite-pressure-test/SKILL.md +40 -10
  508. package/pack/.claude/skills/rite-prototype/SKILL.md +23 -2
  509. package/pack/.claude/skills/rite-prove/SKILL.md +41 -96
  510. package/pack/.claude/skills/rite-prove/reference/acceptance-proof.md +48 -0
  511. package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +1 -1
  512. package/pack/.claude/skills/rite-prove/reference/browser-proof.md +36 -13
  513. package/pack/.claude/skills/rite-quick/SKILL.md +19 -12
  514. package/pack/.claude/skills/rite-resolve/SKILL.md +21 -25
  515. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
  516. package/pack/.claude/skills/rite-review/SKILL.md +43 -45
  517. package/pack/.claude/skills/rite-review/reference/anti-patterns.md +1 -1
  518. package/pack/.claude/skills/rite-review/reference/performance-checklist.md +1 -1
  519. package/pack/.claude/skills/rite-review/reference/performance-review.md +4 -22
  520. package/pack/.claude/skills/rite-review/reference/security-review.md +2 -2
  521. package/pack/.claude/skills/rite-seal/SKILL.md +40 -174
  522. package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +1 -1
  523. package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +6 -9
  524. package/pack/.claude/skills/rite-seal/reference/final-evidence.md +6 -14
  525. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +3 -3
  526. package/pack/.claude/skills/rite-seal/reference/output.md +7 -0
  527. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +211 -0
  528. package/pack/.claude/skills/rite-seal/reference/seal-template.md +1 -1
  529. package/pack/.claude/skills/rite-ship/SKILL.md +45 -75
  530. package/pack/.claude/skills/rite-ship/reference/adr-promotion.md +9 -0
  531. package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +1 -1
  532. package/pack/.claude/skills/rite-ship/reference/close-out.md +12 -1
  533. package/pack/.claude/skills/rite-ship/reference/design-memory.md +2 -2
  534. package/pack/.claude/skills/rite-ship/reference/git-ship.md +32 -1
  535. package/pack/.claude/skills/rite-ship/reference/ledger.md +56 -0
  536. package/pack/.claude/skills/rite-ship/reference/rollout.md +43 -0
  537. package/pack/.claude/skills/rite-spec/SKILL.md +108 -60
  538. package/pack/.claude/skills/rite-spec/reference/ai-spec-template.md +33 -0
  539. package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +4 -1
  540. package/pack/.claude/skills/rite-spec/reference/investigation.md +34 -14
  541. package/pack/.claude/skills/rite-spec/reference/question-protocol.md +7 -37
  542. package/pack/.claude/skills/rite-spec/reference/references-intake.md +23 -18
  543. package/pack/.claude/skills/rite-spec/reference/spec-template.md +94 -118
  544. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +128 -139
  545. package/pack/.claude/skills/rite-status/SKILL.md +26 -22
  546. package/pack/.claude/skills/rite-temper/SKILL.md +34 -27
  547. package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +1 -1
  548. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +1 -1
  549. package/pack/.claude/skills/rite-temper/reference/significance.md +1 -1
  550. package/pack/.claude/skills/rite-vet/SKILL.md +58 -70
  551. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -1
  552. package/pack/.claude/skills/rite-vet/reference/cross-model.md +7 -5
  553. package/pack/.claude/skills/rite-vet/reference/depth.md +1 -1
  554. package/pack/.claude/skills/rite-vet/reference/review-axes.md +3 -3
  555. package/pack/.claude/skills/rite-zoom-out/SKILL.md +16 -17
  556. package/pack/generated/README.md +10 -0
  557. package/pack/generated/claude/agents/devrites-code-reviewer.md +103 -0
  558. package/pack/generated/claude/agents/devrites-devex-reviewer.md +104 -0
  559. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +68 -0
  560. package/pack/generated/claude/agents/devrites-forge-judge.md +102 -0
  561. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +84 -0
  562. package/pack/generated/claude/agents/devrites-performance-reviewer.md +111 -0
  563. package/pack/generated/claude/agents/devrites-plan-reviewer.md +89 -0
  564. package/pack/generated/claude/agents/devrites-retrospector.md +96 -0
  565. package/pack/generated/claude/agents/devrites-security-auditor.md +85 -0
  566. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +90 -0
  567. package/pack/generated/claude/agents/devrites-slice-wright.md +210 -0
  568. package/pack/generated/claude/agents/devrites-spec-reviewer.md +87 -0
  569. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +72 -0
  570. package/pack/generated/claude/agents/devrites-test-analyst.md +64 -0
  571. package/pack/generated/claude/settings.json +103 -0
  572. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +61 -0
  573. package/pack/generated/claude/skills/devrites-audit/SKILL.md +73 -0
  574. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +76 -0
  575. package/pack/generated/claude/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  576. package/pack/generated/claude/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  577. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +65 -0
  578. package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  579. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +17 -0
  580. package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  581. package/pack/generated/claude/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  582. package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  583. package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +25 -0
  584. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +82 -0
  585. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +99 -0
  586. package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +71 -0
  587. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +116 -0
  588. package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +45 -0
  589. package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +234 -0
  590. package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +59 -0
  591. package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +60 -0
  592. package/pack/generated/claude/skills/devrites-interview/SKILL.md +104 -0
  593. package/pack/generated/claude/skills/devrites-lib/SKILL.md +82 -0
  594. package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +16 -0
  595. package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +43 -0
  596. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +165 -0
  597. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +111 -0
  598. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +61 -0
  599. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +243 -0
  600. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +192 -0
  601. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +58 -0
  602. package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
  603. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
  604. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +141 -0
  605. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +55 -0
  606. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +114 -0
  607. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +119 -0
  608. package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
  609. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +71 -0
  610. package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
  611. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
  612. package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +35 -0
  613. package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
  614. package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +80 -0
  615. package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +33 -0
  616. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
  617. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +38 -0
  618. package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +73 -0
  619. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +48 -0
  620. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +36 -0
  621. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +158 -0
  622. package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +117 -0
  623. package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
  624. package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
  625. package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
  626. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +135 -0
  627. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
  628. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
  629. package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
  630. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +162 -0
  631. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +99 -0
  632. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
  633. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +69 -0
  634. package/pack/generated/claude/skills/devrites-prose-craft/reference/banned-phrases.md +95 -0
  635. package/pack/generated/claude/skills/devrites-prose-craft/reference/examples.md +102 -0
  636. package/pack/generated/claude/skills/devrites-prose-craft/reference/structures.md +134 -0
  637. package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +51 -0
  638. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +52 -0
  639. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +134 -0
  640. package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  641. package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  642. package/pack/generated/claude/skills/rite/SKILL.md +142 -0
  643. package/pack/generated/claude/skills/rite/reference/menu.md +42 -0
  644. package/pack/generated/claude/skills/rite-adopt/SKILL.md +104 -0
  645. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +55 -0
  646. package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +19 -0
  647. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +98 -0
  648. package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +35 -0
  649. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +54 -0
  650. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +59 -0
  651. package/pack/generated/claude/skills/rite-build/SKILL.md +84 -0
  652. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +145 -0
  653. package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +37 -0
  654. package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +149 -0
  655. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +44 -0
  656. package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +35 -0
  657. package/pack/generated/claude/skills/rite-build/reference/forge.md +181 -0
  658. package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +39 -0
  659. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +42 -0
  660. package/pack/generated/claude/skills/rite-build/reference/output.md +41 -0
  661. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +258 -0
  662. package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +43 -0
  663. package/pack/generated/claude/skills/rite-build/reference/tdd.md +26 -0
  664. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +140 -0
  665. package/pack/generated/claude/skills/rite-converge/SKILL.md +131 -0
  666. package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +35 -0
  667. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +61 -0
  668. package/pack/generated/claude/skills/rite-customize/SKILL.md +67 -0
  669. package/pack/generated/claude/skills/rite-define/SKILL.md +153 -0
  670. package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +26 -0
  671. package/pack/generated/claude/skills/rite-define/reference/gates.md +152 -0
  672. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +94 -0
  673. package/pack/generated/claude/skills/rite-doctor/SKILL.md +76 -0
  674. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +49 -0
  675. package/pack/generated/claude/skills/rite-explain/SKILL.md +148 -0
  676. package/pack/generated/claude/skills/rite-explain/reference/intake.md +79 -0
  677. package/pack/generated/claude/skills/rite-frame/SKILL.md +120 -0
  678. package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +68 -0
  679. package/pack/generated/claude/skills/rite-handoff/SKILL.md +97 -0
  680. package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +44 -0
  681. package/pack/generated/claude/skills/rite-learn/SKILL.md +117 -0
  682. package/pack/generated/claude/skills/rite-plan/SKILL.md +95 -0
  683. package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +24 -0
  684. package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +33 -0
  685. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +42 -0
  686. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +65 -0
  687. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +33 -0
  688. package/pack/generated/claude/skills/rite-polish/SKILL.md +87 -0
  689. package/pack/generated/claude/skills/rite-polish/reference/anti-ai-slop.md +206 -0
  690. package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +30 -0
  691. package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +80 -0
  692. package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +31 -0
  693. package/pack/generated/claude/skills/rite-polish/reference/code.md +100 -0
  694. package/pack/generated/claude/skills/rite-polish/reference/design-system-discovery.md +8 -0
  695. package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +109 -0
  696. package/pack/generated/claude/skills/rite-polish/reference/ui.md +136 -0
  697. package/pack/generated/claude/skills/rite-pov/SKILL.md +46 -0
  698. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +49 -0
  699. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +74 -0
  700. package/pack/generated/claude/skills/rite-prototype/SKILL.md +110 -0
  701. package/pack/generated/claude/skills/rite-prove/SKILL.md +104 -0
  702. package/pack/generated/claude/skills/rite-prove/reference/acceptance-proof.md +48 -0
  703. package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +25 -0
  704. package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +49 -0
  705. package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +25 -0
  706. package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +28 -0
  707. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +30 -0
  708. package/pack/generated/claude/skills/rite-quick/SKILL.md +93 -0
  709. package/pack/generated/claude/skills/rite-resolve/SKILL.md +109 -0
  710. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +115 -0
  711. package/pack/generated/claude/skills/rite-review/SKILL.md +171 -0
  712. package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +32 -0
  713. package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +92 -0
  714. package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +26 -0
  715. package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +60 -0
  716. package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +130 -0
  717. package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +80 -0
  718. package/pack/generated/claude/skills/rite-review/reference/performance-review.md +14 -0
  719. package/pack/generated/claude/skills/rite-review/reference/security-review.md +37 -0
  720. package/pack/generated/claude/skills/rite-seal/SKILL.md +101 -0
  721. package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +29 -0
  722. package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +60 -0
  723. package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +64 -0
  724. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +53 -0
  725. package/pack/generated/claude/skills/rite-seal/reference/output.md +7 -0
  726. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +211 -0
  727. package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +30 -0
  728. package/pack/generated/claude/skills/rite-seal/reference/seal-template.md +36 -0
  729. package/pack/generated/claude/skills/rite-ship/SKILL.md +111 -0
  730. package/pack/generated/claude/skills/rite-ship/reference/adr-promotion.md +9 -0
  731. package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +25 -0
  732. package/pack/generated/claude/skills/rite-ship/reference/close-out.md +42 -0
  733. package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +120 -0
  734. package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +73 -0
  735. package/pack/generated/claude/skills/rite-ship/reference/ledger.md +56 -0
  736. package/pack/generated/claude/skills/rite-ship/reference/rollout.md +43 -0
  737. package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +33 -0
  738. package/pack/generated/claude/skills/rite-spec/SKILL.md +217 -0
  739. package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  740. package/pack/generated/claude/skills/rite-spec/reference/ai-spec-template.md +33 -0
  741. package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +28 -0
  742. package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +56 -0
  743. package/pack/generated/claude/skills/rite-spec/reference/investigation.md +84 -0
  744. package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +31 -0
  745. package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +62 -0
  746. package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +73 -0
  747. package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +110 -0
  748. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +156 -0
  749. package/pack/generated/claude/skills/rite-status/SKILL.md +107 -0
  750. package/pack/generated/claude/skills/rite-temper/SKILL.md +126 -0
  751. package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +29 -0
  752. package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +65 -0
  753. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +53 -0
  754. package/pack/generated/claude/skills/rite-temper/reference/significance.md +46 -0
  755. package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +90 -0
  756. package/pack/generated/claude/skills/rite-vet/SKILL.md +175 -0
  757. package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +29 -0
  758. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +135 -0
  759. package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +43 -0
  760. package/pack/generated/claude/skills/rite-vet/reference/depth.md +53 -0
  761. package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +48 -0
  762. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +167 -0
  763. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +75 -0
  764. package/pack/generated/codex/AGENTS.md +23 -0
  765. package/pack/generated/codex/agents/devrites-code-reviewer.toml +101 -0
  766. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +102 -0
  767. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +66 -0
  768. package/pack/generated/codex/agents/devrites-forge-judge.toml +100 -0
  769. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +80 -0
  770. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +109 -0
  771. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +93 -0
  772. package/pack/generated/codex/agents/devrites-retrospector.toml +94 -0
  773. package/pack/generated/codex/agents/devrites-security-auditor.toml +83 -0
  774. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +88 -0
  775. package/pack/generated/codex/agents/devrites-slice-wright.toml +207 -0
  776. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +85 -0
  777. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +76 -0
  778. package/pack/generated/codex/agents/devrites-test-analyst.toml +62 -0
  779. package/pack/generated/codex/hooks.json +151 -0
  780. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +73 -0
  781. package/pack/generated/codex/skills/devrites-api-interface/agents/openai.yaml +2 -0
  782. package/pack/generated/codex/skills/devrites-audit/SKILL.md +85 -0
  783. package/pack/generated/codex/skills/devrites-audit/agents/openai.yaml +2 -0
  784. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +88 -0
  785. package/pack/generated/codex/skills/devrites-browser-proof/agents/openai.yaml +2 -0
  786. package/pack/generated/codex/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  787. package/pack/generated/codex/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  788. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +77 -0
  789. package/pack/generated/codex/skills/devrites-debug-recovery/agents/openai.yaml +2 -0
  790. package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  791. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +17 -0
  792. package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  793. package/pack/generated/codex/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  794. package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  795. package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +25 -0
  796. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +94 -0
  797. package/pack/generated/codex/skills/devrites-doubt/agents/openai.yaml +2 -0
  798. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +111 -0
  799. package/pack/generated/codex/skills/devrites-frontend-craft/agents/openai.yaml +2 -0
  800. package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +71 -0
  801. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +116 -0
  802. package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +45 -0
  803. package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +234 -0
  804. package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +59 -0
  805. package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +60 -0
  806. package/pack/generated/codex/skills/devrites-interview/SKILL.md +116 -0
  807. package/pack/generated/codex/skills/devrites-interview/agents/openai.yaml +2 -0
  808. package/pack/generated/codex/skills/devrites-lib/SKILL.md +94 -0
  809. package/pack/generated/codex/skills/devrites-lib/agents/openai.yaml +2 -0
  810. package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +16 -0
  811. package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +43 -0
  812. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +165 -0
  813. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +111 -0
  814. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +61 -0
  815. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +243 -0
  816. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +192 -0
  817. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +58 -0
  818. package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
  819. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
  820. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +141 -0
  821. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +55 -0
  822. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +114 -0
  823. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +119 -0
  824. package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
  825. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +71 -0
  826. package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
  827. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
  828. package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +35 -0
  829. package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
  830. package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +80 -0
  831. package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +33 -0
  832. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
  833. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +38 -0
  834. package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +73 -0
  835. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +48 -0
  836. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +36 -0
  837. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +158 -0
  838. package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +117 -0
  839. package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
  840. package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
  841. package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
  842. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +135 -0
  843. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
  844. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
  845. package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
  846. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +162 -0
  847. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +99 -0
  848. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
  849. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +81 -0
  850. package/pack/generated/codex/skills/devrites-prose-craft/agents/openai.yaml +2 -0
  851. package/pack/generated/codex/skills/devrites-prose-craft/reference/banned-phrases.md +95 -0
  852. package/pack/generated/codex/skills/devrites-prose-craft/reference/examples.md +102 -0
  853. package/pack/generated/codex/skills/devrites-prose-craft/reference/structures.md +134 -0
  854. package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +63 -0
  855. package/pack/generated/codex/skills/devrites-refresh-indexes/agents/openai.yaml +2 -0
  856. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +64 -0
  857. package/pack/generated/codex/skills/devrites-source-driven/agents/openai.yaml +2 -0
  858. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +146 -0
  859. package/pack/generated/codex/skills/devrites-ux-shape/agents/openai.yaml +2 -0
  860. package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  861. package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  862. package/pack/generated/codex/skills/rite/SKILL.md +154 -0
  863. package/pack/generated/codex/skills/rite/agents/openai.yaml +2 -0
  864. package/pack/generated/codex/skills/rite/reference/menu.md +42 -0
  865. package/pack/generated/codex/skills/rite-adopt/SKILL.md +116 -0
  866. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +55 -0
  867. package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +19 -0
  868. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +110 -0
  869. package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +35 -0
  870. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +54 -0
  871. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +59 -0
  872. package/pack/generated/codex/skills/rite-build/SKILL.md +96 -0
  873. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +145 -0
  874. package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +37 -0
  875. package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +149 -0
  876. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +44 -0
  877. package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +35 -0
  878. package/pack/generated/codex/skills/rite-build/reference/forge.md +181 -0
  879. package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +39 -0
  880. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +42 -0
  881. package/pack/generated/codex/skills/rite-build/reference/output.md +41 -0
  882. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +258 -0
  883. package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +43 -0
  884. package/pack/generated/codex/skills/rite-build/reference/tdd.md +26 -0
  885. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +140 -0
  886. package/pack/generated/codex/skills/rite-converge/SKILL.md +143 -0
  887. package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +35 -0
  888. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +61 -0
  889. package/pack/generated/codex/skills/rite-customize/SKILL.md +79 -0
  890. package/pack/generated/codex/skills/rite-customize/agents/openai.yaml +2 -0
  891. package/pack/generated/codex/skills/rite-define/SKILL.md +165 -0
  892. package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +26 -0
  893. package/pack/generated/codex/skills/rite-define/reference/gates.md +152 -0
  894. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +94 -0
  895. package/pack/generated/codex/skills/rite-doctor/SKILL.md +88 -0
  896. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +61 -0
  897. package/pack/generated/codex/skills/rite-dogfood/agents/openai.yaml +2 -0
  898. package/pack/generated/codex/skills/rite-explain/SKILL.md +160 -0
  899. package/pack/generated/codex/skills/rite-explain/agents/openai.yaml +2 -0
  900. package/pack/generated/codex/skills/rite-explain/reference/intake.md +79 -0
  901. package/pack/generated/codex/skills/rite-frame/SKILL.md +132 -0
  902. package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +68 -0
  903. package/pack/generated/codex/skills/rite-handoff/SKILL.md +109 -0
  904. package/pack/generated/codex/skills/rite-handoff/agents/openai.yaml +2 -0
  905. package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +44 -0
  906. package/pack/generated/codex/skills/rite-learn/SKILL.md +129 -0
  907. package/pack/generated/codex/skills/rite-learn/agents/openai.yaml +2 -0
  908. package/pack/generated/codex/skills/rite-plan/SKILL.md +107 -0
  909. package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +24 -0
  910. package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +33 -0
  911. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +42 -0
  912. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +65 -0
  913. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +33 -0
  914. package/pack/generated/codex/skills/rite-polish/SKILL.md +99 -0
  915. package/pack/generated/codex/skills/rite-polish/reference/anti-ai-slop.md +206 -0
  916. package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +30 -0
  917. package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +80 -0
  918. package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +31 -0
  919. package/pack/generated/codex/skills/rite-polish/reference/code.md +100 -0
  920. package/pack/generated/codex/skills/rite-polish/reference/design-system-discovery.md +8 -0
  921. package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +109 -0
  922. package/pack/generated/codex/skills/rite-polish/reference/ui.md +136 -0
  923. package/pack/generated/codex/skills/rite-pov/SKILL.md +58 -0
  924. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +61 -0
  925. package/pack/generated/codex/skills/rite-pr-feedback/agents/openai.yaml +2 -0
  926. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +86 -0
  927. package/pack/generated/codex/skills/rite-prototype/SKILL.md +122 -0
  928. package/pack/generated/codex/skills/rite-prototype/agents/openai.yaml +2 -0
  929. package/pack/generated/codex/skills/rite-prove/SKILL.md +116 -0
  930. package/pack/generated/codex/skills/rite-prove/reference/acceptance-proof.md +48 -0
  931. package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +25 -0
  932. package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +49 -0
  933. package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +25 -0
  934. package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +28 -0
  935. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +30 -0
  936. package/pack/generated/codex/skills/rite-quick/SKILL.md +105 -0
  937. package/pack/generated/codex/skills/rite-resolve/SKILL.md +121 -0
  938. package/pack/generated/codex/skills/rite-resolve/agents/openai.yaml +2 -0
  939. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +115 -0
  940. package/pack/generated/codex/skills/rite-review/SKILL.md +183 -0
  941. package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +32 -0
  942. package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +92 -0
  943. package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +26 -0
  944. package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +60 -0
  945. package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +130 -0
  946. package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +80 -0
  947. package/pack/generated/codex/skills/rite-review/reference/performance-review.md +14 -0
  948. package/pack/generated/codex/skills/rite-review/reference/security-review.md +37 -0
  949. package/pack/generated/codex/skills/rite-seal/SKILL.md +113 -0
  950. package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +29 -0
  951. package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +60 -0
  952. package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +64 -0
  953. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +53 -0
  954. package/pack/generated/codex/skills/rite-seal/reference/output.md +7 -0
  955. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +211 -0
  956. package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +30 -0
  957. package/pack/generated/codex/skills/rite-seal/reference/seal-template.md +36 -0
  958. package/pack/generated/codex/skills/rite-ship/SKILL.md +123 -0
  959. package/pack/generated/codex/skills/rite-ship/reference/adr-promotion.md +9 -0
  960. package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +25 -0
  961. package/pack/generated/codex/skills/rite-ship/reference/close-out.md +42 -0
  962. package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +120 -0
  963. package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +73 -0
  964. package/pack/generated/codex/skills/rite-ship/reference/ledger.md +56 -0
  965. package/pack/generated/codex/skills/rite-ship/reference/rollout.md +43 -0
  966. package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +33 -0
  967. package/pack/generated/codex/skills/rite-spec/SKILL.md +229 -0
  968. package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  969. package/pack/generated/codex/skills/rite-spec/reference/ai-spec-template.md +33 -0
  970. package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +28 -0
  971. package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +56 -0
  972. package/pack/generated/codex/skills/rite-spec/reference/investigation.md +84 -0
  973. package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +31 -0
  974. package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +62 -0
  975. package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +73 -0
  976. package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +110 -0
  977. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +156 -0
  978. package/pack/generated/codex/skills/rite-status/SKILL.md +119 -0
  979. package/pack/generated/codex/skills/rite-status/agents/openai.yaml +2 -0
  980. package/pack/generated/codex/skills/rite-temper/SKILL.md +138 -0
  981. package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +29 -0
  982. package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +65 -0
  983. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +53 -0
  984. package/pack/generated/codex/skills/rite-temper/reference/significance.md +46 -0
  985. package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +90 -0
  986. package/pack/generated/codex/skills/rite-vet/SKILL.md +187 -0
  987. package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +29 -0
  988. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +135 -0
  989. package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +43 -0
  990. package/pack/generated/codex/skills/rite-vet/reference/depth.md +53 -0
  991. package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +48 -0
  992. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +167 -0
  993. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +87 -0
  994. package/pack/generated/codex/skills/rite-zoom-out/agents/openai.yaml +2 -0
  995. package/package.json +8 -4
  996. package/scripts/build-binaries.sh +75 -0
  997. package/scripts/build-host-artifacts.sh +100 -0
  998. package/scripts/build-release-tarball.sh +16 -2
  999. package/scripts/check-cross-refs.py +17 -3
  1000. package/scripts/check-generated-skill-budget.mjs +41 -0
  1001. package/scripts/check-instruction-size-baseline.mjs +79 -0
  1002. package/scripts/check-invocation-integrity.py +113 -0
  1003. package/scripts/check-no-global-writes.sh +22 -0
  1004. package/scripts/check-no-personal-paths.py +50 -0
  1005. package/scripts/check-reference-governance.mjs +82 -0
  1006. package/scripts/check-reply-contract.sh +64 -0
  1007. package/scripts/check-rule-uniqueness.sh +4 -32
  1008. package/scripts/codex-generate.sh +300 -0
  1009. package/scripts/devrites-detect.sh +2 -1
  1010. package/scripts/eval-runner.py +4 -2
  1011. package/scripts/eval-scorer.mjs +46 -0
  1012. package/scripts/grade-feature.sh +24 -7
  1013. package/scripts/install-lib.sh +112 -19
  1014. package/scripts/pin.sh +4 -4
  1015. package/scripts/release-check.sh +71 -0
  1016. package/scripts/run-behavioral-evals.sh +34 -2
  1017. package/scripts/run-evals.sh +45 -30
  1018. package/scripts/run-live-behavioral-evals.py +180 -0
  1019. package/scripts/run-outcome-evals.sh +27 -0
  1020. package/scripts/run-routing-evals.py +342 -0
  1021. package/scripts/run-tests.mjs +203 -0
  1022. package/scripts/skill-pruning-audit.mjs +120 -0
  1023. package/scripts/skills-inventory.mjs +107 -0
  1024. package/scripts/validate-agent-composition.py +57 -0
  1025. package/scripts/validate-command-parity.py +70 -0
  1026. package/scripts/validate-frontmatter.py +43 -7
  1027. package/scripts/validate-skill-anatomy.py +139 -0
  1028. package/scripts/validate-workflow-security.py +22 -3
  1029. package/scripts/validate-workspace-schema.py +512 -0
  1030. package/scripts/validate.sh +174 -34
  1031. package/uninstall.sh +22 -183
  1032. package/update.sh +29 -185
  1033. package/docs/cli-mcp.md +0 -62
  1034. package/mcp/devrites-mcp.mjs +0 -105
  1035. package/pack/.claude/hooks/devrites-a1-guard.sh +0 -99
  1036. package/pack/.claude/hooks/devrites-allow.sh +0 -44
  1037. package/pack/.claude/hooks/devrites-cursor.sh +0 -28
  1038. package/pack/.claude/hooks/devrites-orient.sh +0 -53
  1039. package/pack/.claude/hooks/devrites-redwatch.sh +0 -39
  1040. package/pack/.claude/hooks/devrites-refresh-indexes.sh +0 -127
  1041. package/pack/.claude/hooks/devrites-reviewer-readonly.sh +0 -37
  1042. package/pack/.claude/hooks/devrites-statusline.sh +0 -18
  1043. package/pack/.claude/hooks/devrites-stop-gate.sh +0 -45
  1044. package/pack/.claude/hooks/devrites-wright-scope.sh +0 -64
  1045. package/pack/.claude/hooks/hooks.json +0 -52
  1046. package/pack/.claude/rules/code-review.md +0 -48
  1047. package/pack/.claude/rules/development-workflow.md +0 -40
  1048. package/pack/.claude/rules/git-workflow.md +0 -35
  1049. package/pack/.claude/rules/spec-grammar.md +0 -106
  1050. package/pack/.claude/rules/testing.md +0 -88
  1051. package/pack/.claude/skills/devrites-lib/scripts/analyze.sh +0 -78
  1052. package/pack/.claude/skills/devrites-lib/scripts/check-acceptance.sh +0 -75
  1053. package/pack/.claude/skills/devrites-lib/scripts/close-out.sh +0 -47
  1054. package/pack/.claude/skills/devrites-lib/scripts/conventions.py +0 -273
  1055. package/pack/.claude/skills/devrites-lib/scripts/coverage.sh +0 -51
  1056. package/pack/.claude/skills/devrites-lib/scripts/devrites.sh +0 -77
  1057. package/pack/.claude/skills/devrites-lib/scripts/doctor.sh +0 -156
  1058. package/pack/.claude/skills/devrites-lib/scripts/doubt-coverage.sh +0 -59
  1059. package/pack/.claude/skills/devrites-lib/scripts/evidence-fresh.sh +0 -63
  1060. package/pack/.claude/skills/devrites-lib/scripts/footprint.sh +0 -45
  1061. package/pack/.claude/skills/devrites-lib/scripts/learnings.sh +0 -74
  1062. package/pack/.claude/skills/devrites-lib/scripts/mutation-gate.sh +0 -52
  1063. package/pack/.claude/skills/devrites-lib/scripts/package-existence.sh +0 -68
  1064. package/pack/.claude/skills/devrites-lib/scripts/preamble.sh +0 -76
  1065. package/pack/.claude/skills/devrites-lib/scripts/progress.sh +0 -103
  1066. package/pack/.claude/skills/devrites-lib/scripts/readiness.sh +0 -62
  1067. package/pack/.claude/skills/devrites-lib/scripts/reconcile.sh +0 -123
  1068. package/pack/.claude/skills/devrites-lib/scripts/resolve.sh +0 -279
  1069. package/pack/.claude/skills/devrites-lib/scripts/rites.sh +0 -41
  1070. package/pack/.claude/skills/devrites-lib/scripts/spec-validate.sh +0 -130
  1071. package/pack/.claude/skills/devrites-lib/scripts/stuck.sh +0 -67
  1072. package/pack/.claude/skills/devrites-lib/scripts/test-integrity.sh +0 -87
  1073. package/pack/.claude/skills/devrites-lib/scripts/tick-afk.sh +0 -52
  1074. package/scripts/merge-codex-hooks.mjs +0 -78
  1075. /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/coding-style.md +0 -0
  1076. /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/error-handling.md +0 -0
  1077. /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/hooks.md +0 -0
  1078. /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/patterns.md +0 -0
@@ -1,134 +1,110 @@
1
1
  # `spec.md` template
2
2
 
3
- Write **what** to build and **why** never **how** (implementation goes in `plan.md`,
4
- written later by `/rite-define`). Ground every section in the codebase you investigated;
5
- don't invent files, commands, or conventions.
3
+ Write the product contract: WHAT users get, WHY it matters, how success is
4
+ measured, and what is out of scope. Keep HOW in `plan.md`; put topology and
5
+ diagrams in `architecture.md` / `flows.md`; put coverage in `traceability.md`.
6
6
 
7
- **Two hard rules:**
8
- 1. **Mark every unknown** with `[NEEDS CLARIFICATION: the exact question]` instead of
9
- guessing. Open markers block `/rite-define` and `/rite-build` (no silent assumptions).
10
- 2. **No implementation details** in the spec — no tech/library/endpoint choices in the
11
- requirements or success criteria. Those are technology-agnostic.
7
+ Rules:
8
+
9
+ 1. Mark unknowns with `[NEEDS CLARIFICATION: <question>]`; blocking unknowns
10
+ stop `/rite-define`.
11
+ 2. Use stable IDs: `REQ-001` for requirements and `AC-001` for acceptance.
12
+ 3. Link to source artifacts instead of duplicating them.
13
+ 4. Keep the file compact. If it exceeds the schema budget, add
14
+ `Budget override: <reason>`.
12
15
 
13
16
  ```markdown
14
17
  # Spec: <Feature>
15
- Slug: <kebab-case> Created: <date> Status: Draft | Ready
18
+ Slug: <kebab-case>
19
+ Status: Draft | Ready
20
+ Created: <date>
21
+
22
+ ## Problem
23
+ What is broken, missing, or costly today.
16
24
 
17
- ## Objective
18
- One paragraph: what this delivers and the value. WHAT + WHY, not HOW.
25
+ ## Goal
26
+ One paragraph describing the user-visible outcome and why it matters.
27
+
28
+ ## Non-goals
29
+ - <Explicitly out of scope.>
19
30
 
20
31
  ## Users / actors
21
- Who uses it and the goal each has.
22
-
23
- ## Problem statement
24
- What's broken/missing today; what users do instead.
25
-
26
- ## User scenarios *(prioritized, each independently testable)*
27
- Order by importance; each scenario should be shippable + verifiable on its own → it
28
- becomes a build slice. Use Given/When/Then.
29
- - **P1** — Given <state>, When <action>, Then <observable outcome>.
30
- - **P2** — Given <state>, When <action>, Then <observable outcome>.
31
- - **P3** — ...
32
-
33
- ## Functional requirements *(testable, unambiguous)*
34
- Number them so tasks and the seal can reference them.
35
- - **FR-001**: The system MUST <capability>.
36
- - **FR-002**: The system MUST <capability>.
37
- - **FR-003**: The system MUST NOT <prohibited behavior>.
38
- (Mark gaps: "FR-004: [NEEDS CLARIFICATION: is export CSV-only or also XLSX?]")
39
-
40
- ## Key entities / data model *(if data is involved, else "none")*
41
- Entities, key fields, relationships, lifecycle (created/updated/soft-deleted). No DB
42
- schema here — that's the plan.
43
-
44
- ## API / UI impact *(else "none")*
45
- Endpoints + contracts (shape, status, errors) at the WHAT level; screens + the states
46
- each must handle (default/loading/empty/error/success/disabled).
47
-
48
- ## Design references *(if the human supplied any, else "none")*
49
- The screenshots / mockups / Figma / video / links that define the target look & behavior,
50
- from references.md. Name what each shows and which scenarios it governs.
51
- - R1 — references/<file> or <url> — <what it shows> → governs <scenario/FR>
52
-
53
- ## UX/UI design brief *(if the feature touches UI, else "n/a")*
54
- When UI is involved, `devrites-ux-shape` writes the feature-level **`design-brief.md`** here
55
- (design direction, key states, interaction model, visual-direction probe) — the target
56
- `/rite-build` builds to. Summarize its direction in one line; the full brief lives in
57
- `design-brief.md`.
58
- - Direction: <color strategy> · "<scene sentence>" · anchors: <ref A, ref B>
59
-
60
- ## Success criteria *(measurable AND technology-agnostic)*
61
- Observable outcomes that mean "this worked". Numbers where possible. No tech names.
62
- - Good: "A user exports 10k rows and receives a complete file in under 5s."
63
- - Good (UI): "The list view matches reference R1 at 1280px and 375px."
64
- - Bad: "The /export Sidekiq job uses streaming CSV." (that's HOW — belongs in plan)
32
+ | Actor | Need |
33
+ | --- | --- |
34
+ | <actor> | <goal> |
35
+
36
+ ## Requirements
37
+ - REQ-001: The system MUST <observable product behavior>.
38
+ - REQ-002: The system MUST NOT <prohibited behavior>.
65
39
 
66
40
  ## Acceptance criteria
67
- Binary, evidence-backed checklist; each maps to a scenario/FR. See acceptance-criteria.md.
68
- - [ ] [AC1] <criterion> (FR-00x)
41
+ Each criterion is binary and evidence-backed; every item maps to at least one
42
+ requirement and later to at least one slice in `traceability.md`.
43
+
44
+ - [ ] AC-001: Given <state>, when <action>, then <observable outcome>. (REQ-001)
45
+ - [ ] AC-002: Given <state>, when <action>, then <observable outcome>. (REQ-002)
46
+
47
+ For behavioral or high-risk requirements, use the structured form below. Keep the
48
+ `AC-###` ID inside the scenario so traceability remains machine-checkable.
69
49
 
70
- For a behavioral / high-risk requirement (auth, data model, state machine, public API, money,
71
- migration), write it as a structured Requirement/Scenario block instead — testable by
72
- construction and lint-checked by spec-validate.sh (see spec-grammar.md). Keep the [ACn] id
73
- inside the scenario so the seal still grades it; routine criteria stay flat bullets above.
74
50
  ### Requirement: <name>
75
51
  The system SHALL <core observable behavior>.
76
- #### Scenario: <name>
77
- - [ ] [AC2] **WHEN** <trigger> **THEN** <observable outcome> (**AND** <extra condition>)
78
52
 
79
- ## Non-goals
80
- Explicitly out of scope for this version.
81
-
82
- ## Constraints
83
- Tech/time/compatibility/perf/security/compliance constraints that bound the solution.
84
-
85
- ## Placement & integration *(where it lives — from investigation.md)*
86
- So the work is **correctly placed to be used**, not bolted on:
87
- - **Owns / lives in**: the module / layer / file / component that should hold this, + the
88
- right seam.
89
- - **Reuse / extend**: existing patterns, components, utilities to build on — not duplicate.
90
- - **Integration points**: callers & dependents; data read/written; APIs / events /
91
- contracts touched (how it interacts with the rest of the system).
92
- - **Affected areas**: the real modules / routes / models / components this change touches.
93
- - **Blast radius**: what could break (from the code-graph impact / callers).
94
-
95
- ## Commands discovered
96
- - Tests: <cmd> Build/typecheck: <cmd> Lint: <cmd> Run/dev: <cmd>
97
- (From package scripts / Makefile / Gemfile / pyproject / go.mod / CI.)
98
-
99
- ## Test strategy
100
- What proves each acceptance criterion (unit/integration/e2e/manual).
101
-
102
- ## Browser proof strategy *(if UI, else "n/a")*
103
- Which proof-ladder rung, which routes/viewports, and which design references to verify against.
104
-
105
- ## Risks
106
- Ranked. Include migration / data / security / UX risks.
107
-
108
- ## Gaps, issues & decisions *(drive the open count toward zero before /rite-define)*
109
- Every material gap/issue found in investigation, the options offered to the user, and the
110
- outcome. Resolved here = not rediscovered as drift later.
111
- | Item | Type (gap / issue / conflict) | Options offered | Decision (owner) | Status |
112
- |------|------------------------------|-----------------|------------------|--------|
113
- | <e.g. token scope> | gap | per-user / per-session / follow-up | per-session (user) | resolved |
114
-
115
- ## Open questions *( [NEEDS CLARIFICATION] register )*
116
- List every open marker; blocking ones must be zero at the gate.
117
-
118
- ## Boundaries
119
- - **Always do**: conventions to follow without asking.
120
- - **Ask first**: new deps, second design system, schema/migration, auth changes, scope expansion.
121
- - **Never do**: destructive ops, drive-by refactors, unrelated cleanup.
122
-
123
- ## Readiness gate *(must pass before /rite-define plans it)*
124
- - [ ] No blocking `[NEEDS CLARIFICATION]` markers remain (deferred ones are non-blocking)
125
- - [ ] **Placement decided** — where it lives + integration points are known
126
- - [ ] All material gaps/issues have a recorded decision
127
- - [ ] **Every spec dimension resolved or explicitly deferred** — objective · scope · data model · UX · integration · non-functional · acceptance (see question-protocol.md "Coverage gate")
128
- - [ ] Design references gathered + saved (if the human supplied any)
129
- - [ ] **UX/UI shaped into `design-brief.md`** (if the feature touches UI) — direction, key states, interaction model decided
130
- - [ ] Requirements are testable and unambiguous
131
- - [ ] **Structured requirements are grammar-valid** (if any) — `### Requirement:` / `#### Scenario:` blocks pass `spec-validate.sh` (SHALL + WHEN/THEN, unique headers); flat `[ACn]` bullets need no check (see spec-grammar.md)
132
- - [ ] Success criteria are measurable and technology-agnostic
133
- - [ ] **Spec-quality checklists pass** every `checklists/<domain>.md` reaches `Verdict: pass` (zero CRITICAL "unit-tests-for-English" fails; see [spec-checklists.md](spec-checklists.md))
53
+ #### Scenario: <name>
54
+ - [ ] AC-003: **WHEN** <trigger> **THEN** <observable outcome>. (REQ-001)
55
+
56
+ ## Edge Coverage
57
+ Deterministic boundary checklist for the requirements. Use `covered`, `backstop`,
58
+ `dismissed`, or `unresolved`; every row targets an existing REQ/AC unless dismissed.
59
+
60
+ | Edge ID | Requirement/AC | Class | Status | Reason/backstop |
61
+ | --- | --- | --- | --- | --- |
62
+ | EDGE-001 | AC-001 | empty/error/permission/race/migration | covered | <test/evidence or rationale> |
63
+
64
+ ## Prohibitions (must-NOT)
65
+ Only bespoke constraints; generic security/privacy canon stays in project standards.
66
+ Use `resolved/test`, `resolved/judgment`, `dismissed`, or `unresolved`.
67
+
68
+ | Prohibition ID | Requirement/AC | Status | Test/evidence |
69
+ | --- | --- | --- | --- |
70
+ | PROH-001 | REQ-002 | resolved/test | <test/evidence link> |
71
+
72
+ ## Edge cases
73
+ - <Narrative notes for boundary cases not captured in the table.>
74
+
75
+ ## AI-SPEC annex
76
+ - Required when the feature touches model calls, RAG, agents, evals, or LLM output: `ai-spec.md` from `ai-spec-template.md`.
77
+ - Otherwise: not applicable.
78
+
79
+ ## Measurable success
80
+ - <Metric or observable proof that the feature worked.>
81
+
82
+ ## Scope boundaries
83
+ - Owns: <product surface or behavior>.
84
+ - Does not own: <adjacent area>.
85
+ - Placement summary: <one-line module/layer summary>; full technical map lives in `architecture.md`.
86
+
87
+ ## References
88
+ - `brief.md` - request, objective, non-goals, success definition.
89
+ - `architecture.md` - technical placement and integration points.
90
+ - `flows.md` - diagrams when useful.
91
+ - `decisions.md` - ADR-style product/technical decisions.
92
+ - `traceability.md` - AC/REQ coverage once `/rite-define` runs.
93
+ - `design-brief.md` - UI direction when UI is in scope.
94
+
95
+ ## Open questions
96
+ | Question ID | Gate | Question | Impact |
97
+ | --- | --- | --- | --- |
98
+ | Q-001 | blocking | [NEEDS CLARIFICATION: <question>] | AC-001 |
99
+
100
+ ## Readiness gate
101
+ - [ ] No blocking `[NEEDS CLARIFICATION]` markers remain.
102
+ - [ ] Requirements use `REQ-###` IDs.
103
+ - [ ] Acceptance criteria use `AC-###` IDs and are independently provable.
104
+ - [ ] Edge Coverage rows target existing REQ/AC IDs or carry a dismissal reason.
105
+ - [ ] Prohibitions have resolved/dismissed status; `resolved/test` rows link test/evidence.
106
+ - [ ] AI features have `ai-spec.md`; non-AI work states the annex is not applicable.
107
+ - [ ] Non-goals and scope boundaries are explicit.
108
+ - [ ] Architecture/flows/decisions are linked out instead of duplicated here.
109
+ - [ ] UI work has `design-brief.md`; non-UI work states UI is out of scope.
134
110
  ```
@@ -1,167 +1,156 @@
1
- # `.devrites/` state workspace — canonical format
1
+ # `.devrites/` state workspace
2
2
 
3
- The shared state contract for **all** DevRites skills. Every phase reads the active
4
- workspace first; if none exists, it stops and tells the user to run `/rite-spec <feature>`
5
- (which creates it).
3
+ This is the writer-facing companion to the canonical schema in
4
+ [`devrites-lib/reference/workspace-artifact-schema.md`](../../devrites-lib/reference/workspace-artifact-schema.md).
5
+ Load that schema before creating or updating workspace artifacts.
6
6
 
7
7
  ## Layout
8
- ```
8
+
9
+ ```text
9
10
  .devrites/
10
- README.md # what this dir is (seeded at install)
11
- ACTIVE # single line: active feature slug, or empty
11
+ ACTIVE
12
12
  work/
13
13
  <feature-slug>/
14
- brief.md # short user-facing objective
15
- spec.md # what to build + why (from /rite-spec)
16
- checklists/ # spec-quality checklists — "unit tests for English", one <domain>.md per requirement domain (from /rite-spec; gated at spec readiness)
17
- references/ # saved design/reference assets (screenshots, exports, video)
18
- references.md # index of design references (saved files + links)
19
- strategy.md # strategic review: scope mode + pre-mortem + dimension scores (from /rite-temper; optional — always invoked, significance-gated, in /rite-autocomplete)
20
- plan.md # how to build it (from /rite-define)
21
- tasks.md # ordered vertical slices (from /rite-define)
22
- eng-review.md # engineering plan review: scope challenge + axis findings + failure modes + parallelization (from /rite-vet — run on every plan; depth scales light/full, never skipped; always in /rite-autocomplete)
23
- test-plan.md # build-readable coverage target: coverage diagram + per-gap test requirements + acceptance→test map (from /rite-vet; read by /rite-build + /rite-prove)
24
- coverage.md # traceability matrix: AC-id → slice(s) → test (from /rite-define; walked by /rite-prove + /rite-seal)
25
- devex.md # developer-experience scorecard — predicted (/rite-vet) → measured (/rite-prove) → reconciled (/rite-seal); only when a developer-facing surface is in scope
26
- state.md # phase, active slice, risk, next step
27
- questions.md # asked questions + answers
28
- decisions.md # decisions + rationale (+ a `## Dead ends` section: approaches tried that failed + why, so retries don't repeat them)
29
- assumptions.md # explicit assumptions still standing
30
- drift.md # spec/plan drift observations + resolutions
31
- touched-files.md # files changed or intentionally inspected
32
- evidence.md # commands run + results
33
- forge-report.md # competitive-build record: K candidates → winner + grafts (from /rite-build on a `Forge: yes` slice; rare)
34
- browser-evidence.md # screenshots, routes, console, viewport checks
35
- design-brief.md # UX/UI contract — if UI involved (from /rite-spec via devrites-ux-shape; refined per slice in /rite-build)
36
- polish-report.md # normalize+polish output
37
- review.md # review findings + decisions
38
- seal.md # final GO / NO-GO decision (from /rite-seal)
39
- ship.md # ship record: commit/tag, acceptance, follow-ups (from /rite-ship)
40
- handoff.md # human/next-agent-facing handoff summary (overwritten each handoff)
14
+ README.md # compact workspace map (feature.md/index.md aliases supported)
15
+ brief.md
16
+ spec.md
17
+ architecture.md # from /rite-define
18
+ flows.md # optional, only when useful
19
+ decisions.md
20
+ assumptions.md
21
+ questions.md
22
+ plan.md # from /rite-define
23
+ tasks.md # from /rite-define
24
+ traceability.md # from /rite-define
25
+ state.md
26
+ evidence.md # from /rite-build or /rite-prove (proof.md alias supported)
27
+ browser-evidence.md # UI only
28
+ drift.md # drift only
29
+ touched-files.md # from /rite-build
30
+ design-brief.md # UI only
31
+ handoff.md # from /rite-handoff
32
+ references.md
33
+ references/
41
34
  archive/
42
- <feature-slug>/ # closed features (moved here by /rite-ship close-out; all .md preserved)
35
+ <feature-slug>/
43
36
  ```
44
37
 
45
- ## Rules
46
- - **Slug**: kebab-case, derived from the objective (`add-csv-export`, not `feature1`).
47
- - All artifacts are **human-readable Markdown** — they must survive context compaction
48
- and a fresh session. (`references/` also holds binary assets the human supplied.)
49
- - **`/rite-spec` creates the workspace** and writes `spec.md` (+ `references/`,
50
- `references.md`, `brief.md`, `questions.md`, `decisions.md`, `assumptions.md`; **plus
51
- `design-brief.md` when the feature touches UI**, via `devrites-ux-shape`) and sets
52
- `ACTIVE`. **`/rite-define` reads `spec.md`** and adds `plan.md` + `tasks.md` and updates
53
- `state.md`. Other skills read the active workspace; none create a new one.
54
- - Each phase **updates `state.md`** and the relevant evidence files.
55
- - Don't create `checklists/` / `strategy.md` / `eng-review.md` / `test-plan.md` /
56
- `coverage.md` / `devex.md` / `evidence.md` / `forge-report.md` / `browser-evidence.md` /
57
- `design-brief.md` / `polish-report.md` / `review.md` / `seal.md` / `ship.md` / `handoff.md`
58
- until the producing phase runs — absence is meaningful (it means "not done yet").
59
- `coverage.md` is the `/rite-define` traceability matrix; `devex.md` is the conditional DX
60
- scorecard (only when a developer-facing surface is in scope — greenfield no-op otherwise);
61
- `forge-report.md` records a competitive `Forge: yes` build and is absent on the common
62
- single-path slice. `strategy.md` is written by `/rite-temper` (which may also edit `spec.md` /
63
- `decisions.md` / `assumptions.md` via the Spec Drift Guard); its absence means the spec was
64
- planned without a strategic review. `eng-review.md` + `test-plan.md` are written by `/rite-vet`
65
- (which also hardens `plan.md` / `tasks.md`, and routes acceptance-changing deltas via the Spec
66
- Drift Guard); their absence means the plan was built without an engineering review. `handoff.md`
67
- is written by `/rite-handoff` and overwritten each handoff (latest snapshot, not a log).
68
- - **`/rite-ship` closes the feature**: it writes `ship.md`, sets `state.md` phase `done`,
69
- then archives `.devrites/work/<slug>/` → `.devrites/archive/<slug>/` (every `.md`
70
- preserved) and clears `.devrites/ACTIVE`. Closing **relocates** the audit trail; it
71
- never deletes it. Re-open by moving the dir back and re-pointing `ACTIVE`.
72
-
73
- ## `state.md` template
74
- ```markdown
75
- # State: <slug>
76
-
77
- - Phase: spec | temper | plan | vet | build | prove | polish | review | seal | ship | done # `temper` (pre-plan) + `vet` (post-plan, pre-build) only when those optional reviews ran; spec→plan→build directly otherwise
78
- - Status: running | awaiting_human | blocked | done
79
- - Active slice: <N — name> | none
80
- - Slice mode: AFK | HITL | none
81
- - Spec gate: passed <iso> | none # optional — set when the spec readiness gate passes
82
- - Plan approved: <iso> | none # optional — /rite-define sets it when the human confirms the plan
83
- - AFK slices remaining: <n> | none # mutable counter; initialized from .devrites/AFK max_slices on first AFK build
84
- - Risk: <highest current risk> | none
85
- - Next step: <single recommended command + why>
86
-
87
- ## Awaiting human (only when Status == awaiting_human)
88
- - qid: <q-YYYY-MM-DD-NNN>
89
- - gate: advisory | validating | blocking | escalating
90
- - question: <crisp text>
91
- - proposed: <agent's tentative answer>
92
- - raised_at: <iso>
93
- - blocking_slices: [<slice ids that cannot advance until answered>]
94
-
95
- ## Slice progress
96
- - [ ] Slice 1: <name> — <pending|built>
97
- - [ ] Slice 2: ...
98
-
99
- ## Log
100
- - <date> <phase>: <one line of what happened>
101
- ```
38
+ Backward compatibility: if an installed project already uses
39
+ `.devrites/features/<slug>/`, keep reading and updating that workspace. New
40
+ writer instructions should prefer `.devrites/work/<slug>/`; migration adds
41
+ canonical files and preserves aliases rather than deleting old ones.
102
42
 
103
- A slice is only ever `pending` or `built`. Acceptance proof lives at the **feature**
104
- level in `evidence.md` (recorded by `/rite-prove`), not per slice — there is no per-slice
105
- `proven` / `done` state.
43
+ ## Creation rules
106
44
 
107
- ## `.devrites/AFK` sentinel (AFK mode toggle)
45
+ - Slug is kebab-case and comes from the objective.
46
+ - `/rite-spec` creates the workspace map, `brief.md`, `spec.md`, `decisions.md`,
47
+ `assumptions.md`, `questions.md`, `state.md`, optional `references.md` /
48
+ `references/`, and optional `design-brief.md` for UI.
49
+ - `/rite-define` adds `architecture.md`, `plan.md`, `tasks.md`, and
50
+ `traceability.md`.
51
+ - Later phases add only the artifact they own. Do not create optional files as
52
+ empty placeholders; absence means the phase has not produced that artifact.
53
+ - Each artifact starts with a summary and links to deeper source files instead of
54
+ copying their content.
55
+ - Use stable IDs: `REQ-001`, `AC-001`, `SLICE-001`, `DEC-001`, `Q-001`,
56
+ `DRIFT-001`, `EVID-001`.
108
57
 
109
- Presence of the file `.devrites/AFK` puts DevRites into **AFK mode**: skills that would
110
- normally pause for the user instead log to `questions.md` (when the gate severity allows
111
- it — see [`.claude/rules/afk-hitl.md`](../../../rules/afk-hitl.md)) and continue.
112
- `.devrites/AFK` presence is the **single source of truth** for run mode (the shared preamble
113
- derives it); skills re-read the sentinel at decision time rather than trusting a mirrored
114
- `state.md` field. The file content is optional YAML configuring loop discipline:
58
+ ## README.md template
115
59
 
116
- ```yaml
117
- # .devrites/AFK — presence = AFK mode active. All keys optional.
118
- max_slices: 10 # read-only INITIAL budget; the mutable remaining count lives in state.md
119
- notify: "ntfy.sh/my-topic" # shell command run on awaiting_human transition; see afk-discipline.md for the env table
120
- allow_gates: [advisory, validating] # gate severities AFK may auto-handle; everything else pauses
60
+ ```markdown
61
+ # <Feature> Workspace
62
+ phase: spec
63
+ status: running
64
+ next_action: /rite-define after spec readiness passes
65
+ last_updated: <date>
66
+
67
+ ## Artifact map
68
+ | File | Job |
69
+ | --- | --- |
70
+ | brief.md | Objective and bounds |
71
+ | spec.md | Product contract |
72
+ | architecture.md | Technical map; absent until /rite-define |
73
+ | plan.md | Technical approach; absent until /rite-define |
74
+ | tasks.md | Vertical slices; absent until /rite-define |
75
+ | traceability.md | Coverage dashboard; absent until /rite-define |
76
+ | evidence.md | Proof log; absent until /rite-prove |
77
+
78
+ ## Read next
79
+ | Phase / role | Read |
80
+ | --- | --- |
81
+ | Spec | brief.md, spec.md, questions.md |
82
+ | Build | state.md, tasks.md, plan.md |
83
+ | Review | traceability.md, evidence.md, decisions.md |
84
+
85
+ ## Blocking gates
86
+ None.
121
87
  ```
122
88
 
123
- `max_slices` is **read-only config** — never rewritten in place. The mutable remaining
124
- count lives in `state.md` as `AFK slices remaining: <n>`, initialized from `max_slices` on
125
- the first AFK build and decremented per built slice (the cap is enforced by
126
- `tick-afk.sh`, not by prose).
89
+ ## state.md template
127
90
 
128
- Absent or empty file = AFK active with defaults (`max_slices: unlimited`, no `notify`,
129
- `allow_gates: [advisory]`). **Destructive migrations, auth/authz boundary changes, and
130
- public-API breaks always pause regardless of `allow_gates`** — AFK never silently accepts
131
- irreversible risk.
91
+ ```markdown
92
+ # State
93
+
94
+ ## Cursor
95
+ | Key | Value |
96
+ | --- | --- |
97
+ | phase | spec |
98
+ | status | running |
99
+ | active_slice | none |
100
+ | slice_mode | none |
101
+ | risk | none |
102
+ | next_action | <single command + reason> |
103
+
104
+ ## Awaiting human
105
+ Only present when status is awaiting_human.
106
+ | Key | Value |
107
+ | --- | --- |
108
+ | question_id | Q-001 |
109
+ | gate | blocking |
110
+ | blocking_slices | SLICE-001 |
111
+ ```
132
112
 
133
- ## `questions.md` entry format
113
+ `state.md` is a compact cursor, not a history file. Put proof in `evidence.md`,
114
+ decisions in `decisions.md`, assumptions in `assumptions.md`, and drift in
115
+ `drift.md`.
134
116
 
135
- `questions.md` is append-only. Each entry:
117
+ ## questions.md entry format
136
118
 
137
119
  ```markdown
138
- ## q-2026-05-28-001
120
+ ## Q-001
139
121
  status: open | answered | dropped
140
- slice: 03-list-endpoint # which slice raised it (or "spec" / "plan")
122
+ slice: spec | plan | SLICE-001
141
123
  gate: advisory | validating | blocking | escalating
142
- question: <one crisp sentence the human can answer>
143
- options: | # ranked option set, recommended FIRST
144
- 1. <recommended> (Recommended) <dimension-tagged rationale + trade-off>
145
- 2. <alternative> <rationale + trade-off>
146
- 3. Something else — describe it
147
- proposed: <the recommended option restated — the HITL default + AFK auto-pick>
148
- raised_at: 2026-05-28T17:30:00Z
149
- answered_at: <iso when status flips to answered>
150
- answer: <chosen option / human's reply, verbatim>
151
- supersedes: <q-... if this replaces an answered entry, else omit>
124
+ question: <one crisp sentence>
125
+ options:
126
+ 1. <recommended> (Recommended) - <trade-off>
127
+ 2. <alternative> - <trade-off>
128
+ proposed: <best current answer>
129
+ raised_at: <iso>
130
+ answered_at:
131
+ answer:
132
+ impact: <affected AC/REQ/slice IDs>
152
133
  ```
153
134
 
154
- Canonical schema + rules (gate taxonomy, option-set contract): [`.claude/rules/afk-hitl.md`](../../../rules/afk-hitl.md).
155
- `/rite-resolve <qid> "<answer>"` is the canonical mutator — manual edits work but the
156
- skill keeps `state.md` and `questions.md` consistent.
135
+ No open blocking/escalating question may remain before define/build/prove gates.
136
+
137
+ ## brief.md template
157
138
 
158
- ## `brief.md` template
159
139
  ```markdown
160
- # <Feature>
161
- Objective: <one sentence — what and for whom>
162
- Why now: <one line>
163
- Definition of done: <one line>
140
+ # Brief: <Feature>
141
+
142
+ ## Objective
143
+ <One sentence.>
144
+
145
+ ## Non-goals
146
+ - <Explicitly out of scope.>
147
+
148
+ ## Success definition
149
+ <One sentence that says what "done" means.>
164
150
  ```
165
151
 
166
- `decisions.md`, `assumptions.md`, `questions.md`, `drift.md`, `touched-files.md` are
167
- append-only running logs — date-stamped bullet entries.
152
+ ## Compactness
153
+
154
+ High-traffic files should stay within the budgets in
155
+ `workspace-artifact-schema.md`. If a file truly must exceed its budget, add
156
+ `Budget override: <reason>` near the top.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-status
3
- description: Read-only report on the active feature phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness. Not for invoking phases or for the menu (use `/rite`).
3
+ description: User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness.
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -12,22 +12,21 @@ Read-only. Report where the active feature stands. **Do not run any phase.**
12
12
 
13
13
  ## Load state
14
14
 
15
- Run this snippet (the shared DevRites preamble one canonical command that
16
- resolves the install layouts: installed `.claude/` → plugin via `${CLAUDE_SKILL_DIR}`
17
- → repo `pack/`, with a graceful fallback to reading `state.md`; default slug =
18
- `.devrites/ACTIVE`):
15
+ Run the shared DevRites preamble plus the machine snapshot (default slug = `.devrites/ACTIVE`):
19
16
 
20
17
  ```bash
21
- P=.claude/skills/devrites-lib/scripts/preamble.sh
22
- [ -f "$P" ] || P="${CLAUDE_SKILL_DIR:-}/../devrites-lib/scripts/preamble.sh"
23
- [ -f "$P" ] || P=pack/.claude/skills/devrites-lib/scripts/preamble.sh
24
- [ -f "$P" ] && bash "$P" [feature-slug] || echo "(orientation preamble unavailable on this install — read state.md directly to orient)"
18
+ devrites-engine preamble [feature-slug]
19
+ devrites-engine snapshot [feature-slug]
25
20
  ```
26
21
 
27
- The preamble prints the active workspace's `state.md` and the list of artifacts
28
- present. The `!`-prefix dynamic-context-injection idiom is **not** used here so
29
- the skill stays portable across harnesses; the script is the cross-harness
30
- mechanism.
22
+ The preamble is the human-readable orientation digest: it prints `state.md`, artifacts
23
+ present, run mode, and open-question counts. The snapshot is the canonical
24
+ cross-harness machine contract: phase, section completeness, current slice,
25
+ evidence/drift/review freshness, capability readiness, and **both** host-specific
26
+ next-command forms under `nextCommands` (`claude` = `/rite-*`, `codex` = `$rite-*`).
27
+ Use the command form for the current host; do not invent or hardcode one.
28
+ The `!`-prefix dynamic-context-injection idiom is **not** used here so the skill
29
+ stays portable across harnesses; the `devrites` binary is the cross-harness mechanism.
31
30
 
32
31
  ## What to output
33
32
 
@@ -43,7 +42,8 @@ Otherwise summarize from the loaded state, concisely:
43
42
  `awaiting_human`, render the `Awaiting human` block from `state.md` (qid, gate,
44
43
  question, proposed, raised_at, blocking_slices) and instruct
45
44
  `/rite-resolve <qid> "<answer>"`.
46
- 4. **Next action** — the single recommended next command.
45
+ 4. **Next action** — the single recommended next command from `snapshot.nextCommands`
46
+ for the current host.
47
47
  5. **Evidence** — what's proven vs unproven (from `evidence.md` /
48
48
  `browser-evidence.md`).
49
49
  6. **Open questions** — count by gate (from `questions.md`:
@@ -88,16 +88,20 @@ context into the workspace before the session ends.
88
88
 
89
89
  ## Output format
90
90
 
91
- **Footer first** — `/rite-status` *is* the status meter: render it by running the progress footer (`progress.sh`, resolved like the step-0 preamble — canonical snippet in `devrites-lib/SKILL.md`). The slice meter + flow ribbon answer "where am I / how much is left". Then the handoff-readiness check:
91
+ **Progress first** — `/rite-status` *is* the status meter: render it by running
92
+ `devrites-engine progress`. Then use the shared completion reply contract
93
+ ([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md))
94
+ as a read-only status variant:
92
95
  ```
93
- Ready for handoff: yes / partial (n gaps) / no
94
-
95
- Gaps (if any):
96
- - state.md "next action" lists 2 options, not 1
97
- - 3 open questions raised in conversation not yet in questions.md
98
- - ...
96
+ Done: status read for <slug>; phase <phase> and active slice <slice|n/a>.
97
+ Changed: workspace only
98
+ Evidence: <current proof summary | not applicable yet>
99
+ Open: <none | questions n | drift n | blockers n | handoff gaps n>
100
+ Next: <single recommended command>
101
+ Record: .devrites/work/<slug>/state.md
102
+ ↻ Hygiene: <handoff ready | /rite-handoff before /clear>
99
103
  ```
100
104
 
101
105
  If gaps exist, the recommended next command is to **persist them first** (see
102
- `.claude/rules/core.md` — "Persistence before stopping"). Only then
106
+ `.claude/skills/devrites-lib/reference/standards/core.md` — "Persistence before stopping"). Only then
103
107
  move to the phase's next action.