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
package/CHANGELOG.md CHANGED
@@ -2,6 +2,83 @@
2
2
 
3
3
  All notable changes to DevRites are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and DevRites adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are generated automatically by [semantic-release](https://semantic-release.gitbook.io/) from Conventional Commits on `main`.
4
4
 
5
+ ## [3.0.0](https://github.com/ViktorsBaikers/DevRites/compare/v2.6.1...v3.0.0) (2026-07-17)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * **release:** DevRites v3 removes legacy shell helper runtime paths.
10
+
11
+ Constraint: Release version must become v3.0.0.
12
+ Rejected: Commit local agent instruction files | user excluded them.
13
+ Rejected: Reintroduce shell helper wrappers | engine subcommands are canonical.
14
+ Confidence: high
15
+ Scope-risk: broad
16
+ Directive: Keep runtime entry points routed through devrites-engine.
17
+ Tested: bash tests/cli-smoke.sh; bash tests/npx-pack-smoke.sh
18
+ Tested: bash tests/mcp-test.sh; bash tests/hooks-parity-test.sh
19
+ Tested: bash scripts/validate.sh; go test ./...
20
+ Not-tested: live model-backed Codex exec and custom-subagent smoke are opt-in.
21
+
22
+ ### Added
23
+
24
+ * **devrites:** add adoption workflow support ([cfb3f9e](https://github.com/ViktorsBaikers/DevRites/commit/cfb3f9e6fcbb9dd7834c3a125e192708ba9cb409))
25
+ * **devrites:** add engine parity golden fixtures ([f120773](https://github.com/ViktorsBaikers/DevRites/commit/f120773ff8287348b42b2be05fd27bd4e6ea3aaf))
26
+ * **devrites:** add profile and dogfood skills ([1f04ab7](https://github.com/ViktorsBaikers/DevRites/commit/1f04ab747c9d4c48c15d6f11b07032b7afd5c46b))
27
+ * **devrites:** add reconcile and integrity checks ([b37b69a](https://github.com/ViktorsBaikers/DevRites/commit/b37b69a47025e5f7ace79bc18bc9a07ca8702e2b))
28
+ * **devrites:** add reviewer surface validation ([14fd7db](https://github.com/ViktorsBaikers/DevRites/commit/14fd7dbc2edc9146e8daf8603f4414a7f229d6ee))
29
+ * **devrites:** harden validation and migration tests ([d44b0c0](https://github.com/ViktorsBaikers/DevRites/commit/d44b0c0c1a55c6fd7ff767ce9aa6e112712f32aa))
30
+ * **devrites:** improve hooks and doctor tooling ([77cf0fa](https://github.com/ViktorsBaikers/DevRites/commit/77cf0faf9bdbb56d1860a2056e66517d72063aa4))
31
+ * **devrites:** persist workflow evidence signals ([cc269a1](https://github.com/ViktorsBaikers/DevRites/commit/cc269a102e534f275b870cf77f5d3b6d596c17b8))
32
+ * **devrites:** port reviewer-readonly + subagent-orient hooks ([b388790](https://github.com/ViktorsBaikers/DevRites/commit/b388790e4f76cd96561dbcfbd0ced5946a7e9b18))
33
+ * **devrites:** port spec-validate/check-acceptance to Go engine ([a1d2791](https://github.com/ViktorsBaikers/DevRites/commit/a1d2791b832d9dd42a47e3092a3d1e34fdb1c56c))
34
+ * **devrites:** refine install and runtime helpers ([dba1e99](https://github.com/ViktorsBaikers/DevRites/commit/dba1e9988dbde6eaa5101026944e1c137c93a1d7))
35
+ * **devrites:** refresh agents and skill references ([ba33d0b](https://github.com/ViktorsBaikers/DevRites/commit/ba33d0bf89384454530fe0f79a0ab21964379094))
36
+ * **devrites:** refresh code review and plan guidance ([f4fb255](https://github.com/ViktorsBaikers/DevRites/commit/f4fb2553b8bfae8f6fbf629f14b70e3a439af282))
37
+ * **devrites:** refresh evals and skill outputs ([ab9dc94](https://github.com/ViktorsBaikers/DevRites/commit/ab9dc9447b858bc9492ceffe4c4657ff79661b8e))
38
+ * **devrites:** refresh explain and customize docs ([d57bdff](https://github.com/ViktorsBaikers/DevRites/commit/d57bdffd832eab3c76b83f031a853ac520e4de95))
39
+ * **devrites:** refresh frontend guidance and proof docs ([d26bb09](https://github.com/ViktorsBaikers/DevRites/commit/d26bb09ed8ebd6a8f779738e32b3daff0da19bd7))
40
+ * **devrites:** refresh plan and source-driven guidance ([63fce26](https://github.com/ViktorsBaikers/DevRites/commit/63fce26d1776010006c176ac9fe57bd359f3bacf))
41
+ * **devrites:** refresh prose craft and detection ([e95b757](https://github.com/ViktorsBaikers/DevRites/commit/e95b757acbaa66db1ee7fc968d07eae779e7ada0))
42
+ * **devrites:** refresh skill docs and validation tooling ([2ad1317](https://github.com/ViktorsBaikers/DevRites/commit/2ad1317a11f94bcae0a5911d48c8cd7f80911c41))
43
+ * **devrites:** refresh ux shape and spec intake ([f547fe6](https://github.com/ViktorsBaikers/DevRites/commit/f547fe6b0a676d27b56022771ece324593e256a4))
44
+ * **devrites:** refresh workflow and skill surfaces ([8b8d065](https://github.com/ViktorsBaikers/DevRites/commit/8b8d065a1f052ddf209fbaa1ddf375bc95932ffc))
45
+ * **devrites:** refresh workflow docs and checks ([c6e481d](https://github.com/ViktorsBaikers/DevRites/commit/c6e481d9b24eda43039d66b908551e37eb15d9a4))
46
+ * **devrites:** tighten engine reply contracts ([19ec4b0](https://github.com/ViktorsBaikers/DevRites/commit/19ec4b00411bf72428ce7b84f2f178fe9ff8f89d))
47
+ * **devrites:** update CI workflow ([2e7214a](https://github.com/ViktorsBaikers/DevRites/commit/2e7214acd6f7a13e16352b0948608b3a0323c147))
48
+ * **devrites:** update docs and engine behavior ([8a2dd35](https://github.com/ViktorsBaikers/DevRites/commit/8a2dd3573af3afe9c7bbc76aae8fa17aebed031e))
49
+ * **devrites:** update docs and eval tooling ([e51f3b3](https://github.com/ViktorsBaikers/DevRites/commit/e51f3b34cad8efc9c2e0eda0dc57717eccea4d42))
50
+ * **devrites:** update docs and release checks ([1d09f35](https://github.com/ViktorsBaikers/DevRites/commit/1d09f359faec7b65fdfa5ed9bed94311cf26e698))
51
+ * **devrites:** update engine gating and commands ([878ed2c](https://github.com/ViktorsBaikers/DevRites/commit/878ed2c3666fcc7d87af4de4c1a7db03a4c78d07))
52
+ * **devrites:** update engine internals and validation ([b4d6d92](https://github.com/ViktorsBaikers/DevRites/commit/b4d6d92bc0b29085fa123f433c57230b0610497f))
53
+ * **devrites:** update engine state and skills ([732c97e](https://github.com/ViktorsBaikers/DevRites/commit/732c97e3b7b9e37443f3168e824a6d108b9085c4))
54
+ * **devrites:** update hooks and guidance surfaces ([6e79143](https://github.com/ViktorsBaikers/DevRites/commit/6e7914339283ad557849e568eeffb213c0bfb342))
55
+ * **devrites:** update rite workflow docs and engine ([c8ff41e](https://github.com/ViktorsBaikers/DevRites/commit/c8ff41eb67b0b94af0b7cea728092e534b1e812b))
56
+ * **devrites:** update spec and workspace docs ([1f2888a](https://github.com/ViktorsBaikers/DevRites/commit/1f2888ace17e854c212cf58b4f62a1cc42bf741f))
57
+ * **installer:** make host installs engine-owned ([c70491c](https://github.com/ViktorsBaikers/DevRites/commit/c70491cb8d856d3c3ef6b9d017766e6b710bb6fc))
58
+ * **release:** ship v3.0.0 engine control plane ([da6ca62](https://github.com/ViktorsBaikers/DevRites/commit/da6ca6239d0321d0ab9bf3e36a7ffe46a80b6db3))
59
+
60
+ ### Changed
61
+
62
+ * **repo:** reduce duplicate maintenance surfaces ([0e645d4](https://github.com/ViktorsBaikers/DevRites/commit/0e645d45fdf4f75cbb367016ace88ae79c40870c))
63
+
64
+ ### Fixed
65
+
66
+ * **ci:** generate artifacts before validation ([0d3afa3](https://github.com/ViktorsBaikers/DevRites/commit/0d3afa3d4dd72e2b31b31467e759e42becfb0c8a))
67
+ * **ci:** make engine tests cross-platform ([1631450](https://github.com/ViktorsBaikers/DevRites/commit/163145057575d9833b1c28d0d1f00516e025f363))
68
+ * **ci:** normalize remaining Windows output ([8da9a61](https://github.com/ViktorsBaikers/DevRites/commit/8da9a6106188655f612cd3be7f32374a4a25435f))
69
+ * **installer:** keep Claude hooks complete in existing settings ([d9f57af](https://github.com/ViktorsBaikers/DevRites/commit/d9f57afd2d7fc60a44e6141887b0b7c6a9a23a1d))
70
+ * **tests:** normalize Windows golden files ([7d0a07c](https://github.com/ViktorsBaikers/DevRites/commit/7d0a07c5c4838237572d4807b17a475f1fd1ed71))
71
+
72
+ ### Documentation
73
+
74
+ * **skills:** keep skill guidance compact ([6afebfe](https://github.com/ViktorsBaikers/DevRites/commit/6afebfeccf152669c44e96a99cd6610200945dc6))
75
+
76
+ ## [2.6.1](https://github.com/ViktorsBaikers/DevRites/compare/v2.6.0...v2.6.1) (2026-07-05)
77
+
78
+ ### Fixed
79
+
80
+ * **installer:** emit valid Codex hooks config ([5a23d0a](https://github.com/ViktorsBaikers/DevRites/commit/5a23d0a0d4f1d990cf206f258a0b6866b46cf341))
81
+
5
82
  ## [2.6.0](https://github.com/ViktorsBaikers/DevRites/compare/v2.5.2...v2.6.0) (2026-07-05)
6
83
 
7
84
  ### Added
package/README.md CHANGED
@@ -2,12 +2,17 @@
2
2
  <img src="images/logo.png" alt="DevRites">
3
3
  </p>
4
4
 
5
+
6
+ **If you only remember one thing:** `SPEC -> DEFINE -> VET -> BUILD -> PROVE -> POLISH -> REVIEW -> SEAL -> SHIP`. Seal decides; Ship mutates git. Build one slice at a time; Autocomplete is opt-in and starts from a clean baseline. DevRites installs via `npx devrites ...`; Claude/Codex support is generated project-local surface, not plugin distribution.
7
+
5
8
  **Per-feature workspace on disk.** Every feature gets its own `.devrites/work/<slug>/`
6
- directory: `spec.md` (`strategy.md`) → `plan.md` + `tasks.md` → (`eng-review.md` +
9
+ directory: a compact workspace map → `brief.md` + `spec.md` → (`strategy.md`)
10
+ `architecture.md` + `plan.md` + `tasks.md` + `traceability.md` → (`eng-review.md` +
7
11
  `test-plan.md`) → `state.md` → `evidence.md` (plus `decisions.md`, `assumptions.md`,
8
- `drift.md`, `questions.md`, `touched-files.md`, `design-brief.md`, `review.md`, `seal.md`,
9
- `ship.md`, `handoff.md`, and `references/`; `strategy.md` is from the optional `/rite-temper`,
10
- `eng-review.md` + `test-plan.md` from `/rite-vet`). When the task ships it is archived intact to
12
+ `drift.md`, `questions.md`, `touched-files.md`, `design-brief.md`,
13
+ `browser-evidence.md`, `review.md`, `seal.md`, `ship.md`, `handoff.md`, and
14
+ `references/`; `strategy.md` is from the optional `/rite-temper`, `eng-review.md` +
15
+ `test-plan.md` from `/rite-vet`). When the task ships it is archived intact to
11
16
  `.devrites/archive/<slug>/`. When you `/clear`, the next agent picks up from those
12
17
  files — no chat-context summary required. **Spec Drift Guard** catches the wrong turn
13
18
  before it costs you a day. **AFK mode** runs unattended without silently accepting
@@ -25,9 +30,9 @@ recorded-exception escape hatch instead of silent work-arounds.
25
30
  conventions.md # learned project idioms — descriptive, an untrusted prior
26
31
  learnings.md # dismissed-finding classes + dead ends — suppresses recurring false positives
27
32
  work/<slug>/
28
- brief.md spec.md references.md references/ # spec
33
+ README.md brief.md spec.md references.md references/ # workspace map + spec
29
34
  strategy.md # temper (optional)
30
- plan.md tasks.md # define
35
+ architecture.md flows.md plan.md tasks.md traceability.md # define
31
36
  eng-review.md test-plan.md # vet
32
37
  forge-report.md # build (only a Forge: yes slice — competed candidates → winner)
33
38
  state.md questions.md decisions.md assumptions.md drift.md
@@ -66,6 +71,7 @@ memory). Both hit the same skill — `/rite spec foo` ≡ `/rite-spec foo`.
66
71
  | 2 | PLAN | `/rite define` | [`/rite-define`](pack/.claude/skills/rite-define/SKILL.md) | spec → plan + slices (each tagged AFK \| HITL + gate) |
67
72
  | — | VET | `/rite vet` | [`/rite-vet`](pack/.claude/skills/rite-vet/SKILL.md) | _recommended, every feature_ — engineering plan review: scope · architecture · tests · perf, hardens the plan + writes `test-plan.md`; depth scales to stakes, never skipped (always in autocomplete) |
68
73
  | 3 | BUILD ×N | `/rite build` | [`/rite-build`](pack/.claude/skills/rite-build/SKILL.md) | one slice, then stop (HITL slices pause pre-code) |
74
+ | — | CONVERGE | `/rite converge` | [`/rite-converge`](pack/.claude/skills/rite-converge/SKILL.md) | _recovery_ — assess live code vs intent, append the remaining work as new slices (resumed / adopted / stalled feature) |
69
75
  | 4 | PROVE | `/rite prove` | [`/rite-prove`](pack/.claude/skills/rite-prove/SKILL.md) | tests + browser proof |
70
76
  | 5 | POLISH | `/rite polish` | [`/rite-polish`](pack/.claude/skills/rite-polish/SKILL.md) | code + UI polish |
71
77
  | 6 | REVIEW | `/rite review` | [`/rite-review`](pack/.claude/skills/rite-review/SKILL.md) | multi-axis, parallel |
@@ -74,6 +80,14 @@ memory). Both hit the same skill — `/rite spec foo` ≡ `/rite-spec foo`.
74
80
  | — | RESUME | `/rite resolve` | [`/rite-resolve`](pack/.claude/skills/rite-resolve/SKILL.md) | answer a HITL gate, clears `Awaiting human`, resumes |
75
81
  | — | AUTO | `/rite autocomplete` | [`/rite-autocomplete`](pack/.claude/skills/rite-autocomplete/SKILL.md) | run the whole lifecycle unattended (`--ship` to push) |
76
82
 
83
+ Common utilities that sit outside the main lifecycle:
84
+
85
+ | Utility | Menu form | Direct shortcut | Does |
86
+ |---|---|---|---|
87
+ | POV | `/rite pov` | [`/rite-pov`](pack/.claude/skills/rite-pov/SKILL.md) | project-grounded adopt / switch / reject verdict for an external option |
88
+ | DOGFOOD | `/rite dogfood` | [`/rite-dogfood`](pack/.claude/skills/rite-dogfood/SKILL.md) | exploratory browser QA for real user journeys |
89
+ | PR FEEDBACK | `/rite pr-feedback` | [`/rite-pr-feedback`](pack/.claude/skills/rite-pr-feedback/SKILL.md) | resolve GitHub PR review threads with evidence |
90
+
77
91
  If implementation reveals the plan is wrong, the **Spec Drift Guard** stops
78
92
  the build, records the drift, asks you when product behavior changes, and
79
93
  routes through [`/rite-plan repair`](pack/.claude/skills/rite-plan/SKILL.md)
@@ -101,7 +115,7 @@ Full diagram set (lifecycle, polish orchestrator, review fan-out, debug loop,
101
115
  rules carrier, workspace state, namespace map) →
102
116
  [`docs/flow.md`](docs/flow.md).
103
117
 
104
- **Status:** [`v2.6.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v2.6.0) — see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
118
+ **Status:** [`v3.0.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v3.0.0) — see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
105
119
 
106
120
  ## Contents
107
121
 
@@ -109,7 +123,7 @@ rules carrier, workspace state, namespace map) →
109
123
  - [Modes — HITL & AFK](#modes--hitl--afk)
110
124
  - [Install](#install) — [npx / bash](#installing) · [upgrade](#upgrading-an-existing-install)
111
125
  - [Recommended setup](#recommended-setup-optional-but-devrites-is-much-sharper-with-it) — codegraph · graphify · Playwright MCP
112
- - [Skills](#skills) — 36 total · full catalogue in [`docs/skills.md`](docs/skills.md)
126
+ - [Skills](#skills) — 42 total · full catalogue in [`docs/skills.md`](docs/skills.md)
113
127
  - [Typical workflow](#typical-workflow) · [Worked examples](docs/usage.md)
114
128
  - [Engineering rules](#engineering-rules) · [Browser proof ladder](#browser-proof-ladder) · [Frontend & fullstack](#frontend--fullstack)
115
129
  - [Safety & scope](#safety--scope) · [Security model](#security-model)
@@ -123,7 +137,7 @@ rules carrier, workspace state, namespace map) →
123
137
  [orchestration](docs/orchestration.md) ·
124
138
  [usage examples](docs/usage.md) ·
125
139
  [release pipeline](docs/release.md) ·
126
- [engineering rules](pack/.claude/rules/README.md)
140
+ [engineering rules](pack/.claude/skills/devrites-lib/reference/standards/README.md) · [quick reference](docs/quick-reference.md)
127
141
 
128
142
  ## Why distributed skills, not one `/engine`
129
143
 
@@ -190,7 +204,12 @@ curl -fsSL https://raw.githubusercontent.com/ViktorsBaikers/DevRites/main/instal
190
204
 
191
205
  The script is self-bootstrapping: when piped through `bash` it auto-downloads the latest
192
206
  release tarball (or the `main` source archive as fallback) into `/tmp` and re-execs from
193
- there. Requires `curl` and `tar`. No global writes, ever — global agent homes are refused.
207
+ there. Requires `curl` and `tar`. After bootstrap, install/update/uninstall semantics
208
+ run through `devrites-engine`; the shell scripts only acquire a bundle/binary and pass
209
+ arguments through. Agent files stay project-local and global agent homes are refused. By
210
+ default the engine downloads or builds a verified `devrites-engine` control-plane binary
211
+ and writes it to `/usr/local/bin` or `~/.local/bin`; use `--no-binary` or
212
+ `DEVRITES_NO_BINARY=1` to skip that global bin install.
194
213
 
195
214
  **From a local checkout** (same script, no network needed):
196
215
 
@@ -207,16 +226,19 @@ Common flags:
207
226
  | `--target DIR` | Install into DIR (default: current directory) |
208
227
  | `--dry-run` | Show planned file operations and exit |
209
228
  | `--force` | Overwrite existing non-DevRites files |
210
- | `--no-rules` | Skip the engineering rules |
211
229
  | `--no-agents` | Skip the review subagents |
212
230
  | `--no-codex` | Skip Codex support files (`.agents/skills`, `.codex/agents`, `AGENTS.md`) |
213
- | `--rules-only` | Install only the engineering rules |
231
+ | `--no-skills` | Skip skills and bundled engineering standards |
232
+ | `--no-binary` | Skip the global `devrites-engine` control-plane binary |
233
+ | `--no-rules` | Deprecated no-op; standards ship inside `devrites-lib` |
234
+ | `--rules-only` | Deprecated no-op; installs normally for compatibility |
214
235
  | `--short-aliases=all` | Add `/define`, `/build`, `/prove`, `/seal` short aliases (off by default) |
215
236
 
216
- Every installed file is recorded in `.claude/devrites.manifest` (with the installed
217
- version and the original install flags in the header). `./uninstall.sh` removes
218
- exactly those files (and prunes empty dirs) your feature data in
219
- `.devrites/work/` and `.devrites/ACTIVE` is preserved.
237
+ Every installed project file is recorded in `.claude/devrites.manifest` (with the
238
+ installed version and the original install flags in the header). `./uninstall.sh`
239
+ removes exactly those files (and prunes empty dirs) plus the shared `devrites-engine`
240
+ binary unless `--keep-binary` is passed — your feature data in `.devrites/work/` and
241
+ `.devrites/ACTIVE` is preserved.
220
242
 
221
243
  ### Upgrading an existing install
222
244
 
@@ -285,15 +307,22 @@ investigation, cheaper context, and real browser proof. None are required.
285
307
 
286
308
  ## Skills
287
309
 
288
- The pack ships **36 skills total** — 24 user-invocable `rite-*` workflow + utility skills, 11 model-invoked `devrites-*` specialists, plus the internal `devrites-lib` library (scripts the workflow skills run, not a command). **Prefix convention:** `rite-*` is the user-facing command surface; `devrites-*` is internal (model-invoked, hidden from the menu). Each skill is a structured workflow with its own operating rules, anti-rationalization tables, and red flags. Engineering rules live at `.claude/rules/`; each `rite-*` skill Reads `.claude/rules/core.md` as its first step, and the other 22 rule files load on demand.
289
-
290
- **Claude Code invocation.** Every user-invocable skill responds to **both** `/rite <verb>` (menu form — type `/rite` to discover) and `/rite-<verb>` (direct shortcut — muscle memory). The forms are equivalent: `/rite build slice-2` `/rite-build slice-2`. Use whichever reads more naturally.
310
+ The pack ships **42 skills total** — the `rite` menu, 29 user-invocable `rite-*`
311
+ workflow + utility skills, 11 model-invoked `devrites-*` specialists, plus the internal
312
+ `devrites-lib` reference library. The installed `devrites-engine` owns workflow control;
313
+ the npm `devrites` shim owns install/update/uninstall and proxies engine subcommands.
314
+ `rite-*` and `devrites-*` are namespaces, not visibility rules: frontmatter is
315
+ authoritative. Workspace-operating lifecycle skills read `core.md` in step 0 and disclose
316
+ phase rules on demand; compact utilities keep their narrower contract local.
291
317
 
292
- **Codex invocation.** The installer mirrors the same skills to `.agents/skills/`, mirrors DevRites rules to `.agents/devrites/rules/`, injects a Codex compatibility block after each skill's front matter, generates project custom agents in `.codex/agents/`, installs Codex hooks in `.codex/hooks.json` + `.codex/hooks/`, installs the DevRites MCP server at `.codex/mcp/devrites-mcp.mjs`, and creates or merges the needed Codex guidance into `AGENTS.md`. If `AGENTS.md` already exists, DevRites adds a marked block instead of replacing your guidance. In Codex, invoke DevRites via `$rite`, `$rite-spec`, or `/skills`; if you prefer a Claude-only footprint, install with `--no-codex`. Codex must trust the project `.codex/` layer and review the hooks via `/hooks` before non-managed hooks run.
318
+ **Claude Code invocation.** Every user-invocable skill responds to **both** `/rite <verb>` (menu form type `/rite` to discover) and `/rite-<verb>` (direct shortcut muscle memory). The forms are equivalent: `/rite build slice-2` `/rite-build slice-2`. Use whichever reads more naturally. Installation merges DevRites event hooks into an existing `.claude/settings.json` without replacing user entries; an existing non-DevRites `statusLine` is preserved with a warning because Claude exposes one status-line slot.
293
319
 
294
- **Rules in Codex.** DevRites engineering rules are mirrored as Markdown under `.agents/devrites/rules/` because they are workflow/craft instructions, not Codex command-approval `.rules` files. The generated `AGENTS.md` block and every mirrored `.agents/skills/*/SKILL.md` tell Codex to read `.agents/devrites/rules/core.md` before workflow work and load the other `.agents/devrites/rules/*.md` files on demand.
320
+ **Codex invocation.** The installer mirrors the same skills to `.agents/skills/`, mirrors DevRites rules to `.agents/skills/devrites-lib/reference/standards/`, injects a Codex compatibility block after each skill's front matter, generates project custom agents in `.codex/agents/`, installs Codex hooks in `.codex/hooks.json`, and creates or merges the needed Codex guidance into `AGENTS.md`. If `AGENTS.md` already exists, DevRites adds a marked block instead of replacing your guidance. In Codex, invoke DevRites via `$rite`, `$rite-spec`, or `/skills`; if you prefer a Claude-only footprint, install with `--no-codex`. Codex must trust the project `.codex/` layer and review the hooks via `/hooks` before non-managed hooks run.
295
321
 
296
- **DevRites MCP in Codex.** The installer adds a marked `[mcp_servers.devrites]` block to `.codex/config.toml` and copies the MCP server into `.codex/mcp/`. That gives Codex deterministic tools for DevRites state and gates (`devrites_status`, `devrites_ready`, `devrites_evidence_fresh`, `devrites_acceptance`, and related workspace helpers) without relying on prose or ad-hoc shell commands.
322
+ **Rules in Codex.** DevRites engineering rules are mirrored as Markdown under
323
+ `.agents/skills/devrites-lib/reference/standards/` because they are workflow/craft
324
+ instructions, not Codex command-approval `.rules` files. Generated guidance points at the
325
+ mirror; each skill's own contract decides whether `core.md` or a conditional standard loads.
297
326
 
298
327
  **Custom pinned aliases** (optional). Add your own one-word shortcuts to any `rite-*` skill at runtime with `scripts/pin.sh` — useful for muscle-memory commands like `/b` → `/rite-build` or `/ship` → `/rite-ship`. The wrapper is a thin delegate (same shape the installer uses for `--short-aliases=all`); pinned aliases are manifest-tracked so `./uninstall.sh` cleans them up.
299
328
 
@@ -308,7 +337,7 @@ Pinned aliases live at `.claude/skills/<alias>/SKILL.md` and mirror to `.agents/
308
337
 
309
338
  ### Full skill + agent inventory
310
339
 
311
- **Public `rite-*` skills (22)** — slash-command surface:
340
+ **Public `rite-*` skills (29)** — slash-command surface:
312
341
 
313
342
  | Group | Skills |
314
343
  |---|---|
@@ -317,16 +346,17 @@ Pinned aliases live at `.claude/skills/<alias>/SKILL.md` and mirror to `.agents/
317
346
  | Strategic (optional) | `rite-temper` — strategic spec review between spec and define; mandatory in `rite-autocomplete` |
318
347
  | Engineering (every feature) | `rite-vet` — engineering plan review between define and build; depth scales to stakes, never skipped; always in `rite-autocomplete` |
319
348
  | Resume / replan | `rite-resolve` · `rite-plan` |
320
- | Utility | `rite-status` · `rite-doctor` · `rite-zoom-out` · `rite-prototype` · `rite-handoff` · `rite-pressure-test` · `rite-autocomplete` |
349
+ | Utility | `rite-status` · `rite-doctor` · `rite-customize` · `rite-pov` · `rite-dogfood` · `rite-pr-feedback` · `rite-zoom-out` · `rite-prototype` · `rite-handoff` · `rite-pressure-test` · `rite-autocomplete` |
321
350
  | Learning (optional) | `rite-learn` — cross-feature learning loop: mine shipped features for recurring mistakes + dismissed-finding classes, propose project-local lessons into `.devrites/learnings.md`, and promote recurring invariants to `.devrites/principles.md` |
322
351
  | Menu | `rite` |
323
352
 
324
- **Internal `devrites-*` specialists (9)** — model-invoked, hidden from menu:
353
+ **Internal `devrites-*` specialists** — model-invoked, hidden from menu:
325
354
 
326
355
  `devrites-interview` · `devrites-source-driven` · `devrites-doubt` ·
327
356
  `devrites-ux-shape` · `devrites-frontend-craft` · `devrites-browser-proof` ·
328
357
  `devrites-debug-recovery` · `devrites-api-interface` ·
329
- `devrites-audit` (axes: `security` · `perf` · `simplify`).
358
+ `devrites-audit` (axes: `security` · `perf` · `simplify`) ·
359
+ `devrites-prose-craft` · `devrites-refresh-indexes`.
330
360
 
331
361
  **Review agents (12)** — fresh-context reviewers under `.claude/agents/`:
332
362
 
@@ -407,7 +437,7 @@ rm .devrites/AFK
407
437
 
408
438
  Recommended progression: start HITL, refine the prompt and plan over a few slices, then
409
439
  drop the sentinel for the bulk stretch. Always cap iterations. Full contract:
410
- [`pack/.claude/rules/afk-hitl.md`](pack/.claude/rules/afk-hitl.md).
440
+ [`pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md`](pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md).
411
441
 
412
442
  ## Typical workflow
413
443
 
@@ -446,17 +476,19 @@ Playwright MCP, backend-only, polish modes, zoom-out, mid-flight handoff):
446
476
  ## Engineering rules
447
477
 
448
478
  DevRites ships its own stack-agnostic engineering rules and installs them to
449
- `.claude/rules/` — 23 rule files plus a README index. They're **common** by design
479
+ `.claude/skills/devrites-lib/reference/standards/` — common rule files plus a README index. They're **common** by design
450
480
  (no language assumptions); a project's own conventions always win where they exist, and a
451
- project's own **principles** (`.devrites/principles.md`) outrank both. Skip them with
452
- `--no-rules`. Loading model: each `rite-*` skill Reads `.claude/rules/core.md` as its first
453
- step; the other 22 rule files load on demand via `Read` from the skill body that needs them.
481
+ project's own **principles** (`.devrites/principles.md`) outrank both. Standards ship inside
482
+ the `devrites-lib` skill; the retired `--no-rules` and `--rules-only` flags are compatibility
483
+ no-ops. Use `--no-skills` only when you intentionally want to skip skills and the bundled
484
+ standards together. Loading model: each `rite-*` skill Reads `.claude/skills/devrites-lib/reference/standards/core.md` as its first
485
+ step; the remaining rule files load on demand via `Read` from the skill body that needs them.
454
486
 
455
487
  | Always-on | On-demand |
456
488
  |---|---|
457
- | `core.md` | `coding-style.md` · `prose-style.md` · `error-handling.md` · `testing.md` · `spec-grammar.md` · `code-review.md` · `principles.md` · `security.md` · `performance.md` · `observability.md` · `developer-experience.md` · `patterns.md` · `git-workflow.md` · `hooks.md` · `documentation.md` · `development-workflow.md` · `deprecation.md` · `agents.md` · `context-hygiene.md` · `afk-hitl.md` · `anti-patterns.md` · `tooling.md` |
489
+ | `core.md` | `coding-style.md` · `prose-style.md` · `error-handling.md` · `testing.md` · `spec-grammar.md` · `code-review.md` · `principles.md` · `security.md` · `performance.md` · `observability.md` · `developer-experience.md` · `patterns.md` · `git-workflow.md` · `hooks.md` · `ci-cd.md` · `documentation.md` · `development-workflow.md` · `deprecation.md` · `elicitation.md` · `agents.md` · `context-hygiene.md` · `afk-hitl.md` · `anti-patterns.md` · `tooling.md` · `skill-authoring.md` |
458
490
 
459
- Full index with phase mapping: [`pack/.claude/rules/README.md`](pack/.claude/rules/README.md);
491
+ Full index with phase mapping: [`pack/.claude/skills/devrites-lib/reference/standards/README.md`](pack/.claude/skills/devrites-lib/reference/standards/README.md);
460
492
  diagram: [`docs/flow.md` § Engineering-rules loading](docs/flow.md#6-engineering-rules-carrier).
461
493
 
462
494
  ## Browser proof ladder
@@ -500,22 +532,22 @@ real UI state, and **prove both layers** (contract tests + browser proof).
500
532
 
501
533
  ```
502
534
  devrites/
503
- bin/ # devrites.mjs — npx CLI entry point (wraps install.sh)
535
+ bin/ # devrites.mjs — npx CLI entry point (acquires/proxies devrites-engine)
504
536
  .github/ # workflows/ (ci, release, dependabot-auto-merge) + dependabot.yml
505
537
  .husky/ # commit-msg hook (Conventional Commits via commitlint)
506
538
  .releaserc.json # semantic-release config (CHANGELOG, version sync, tarball, GitHub Release)
507
- install.sh uninstall.sh update.sh
508
- scripts/ # install-lib · validate · validate-frontmatter · run-evals · eval-runner.py
539
+ install.sh uninstall.sh update.sh # self-contained bundle/binary bootstrap shims
540
+ scripts/ # install-lib (shim + pin helpers) · validate · validate-frontmatter · run-evals
509
541
  # grade-feature · run-outcome-evals · devrites-detect · check-no-global-writes
510
542
  # sync-version · build-release-tarball
511
- mcp/ # devrites-mcp.mjsMCP stdio server over the devrites CLI
512
- pack/.claude/ # skills/ 36 skills — 24 public + 12 internal ─┐
543
+ pack/.claude/ # skills/ 42 skills 30 public + 12 internal ─┐
513
544
  # agents/ 13 read-only + 1 writer (slice-wright) ├─ the pack
514
- # rules/ 23 rule files + README index
545
+ # settings.json (canonical Claude engine hook wiring)
546
+ # (standards live inside skills/devrites-lib/reference/standards/)
515
547
  installed projects # .claude/ runtime assets; .agents/skills + .codex/agents
516
- # + .codex/hooks/config/mcp + AGENTS.md for Codex
548
+ # + .codex/hooks.json + AGENTS.md for Codex
517
549
  evals/ # trigger evals (20/skill) + golden/ outcome-eval fixtures
518
- docs/ # architecture · skills · command-map · usage · flow · release · cli-mcp
550
+ docs/ # architecture · skills · command-map · usage · flow · release · cli
519
551
  internal/ # research, development notes (gitignored)
520
552
  tests/ # install/uninstall smoke · install fixture · pack validation
521
553
  dist/ # release tarballs built by semantic-release (gitignored)
@@ -529,19 +561,21 @@ Cross-links: [architecture](docs/architecture.md) ·
529
561
  [flow diagrams](docs/flow.md) ·
530
562
  [usage](docs/usage.md) ·
531
563
  [release pipeline](docs/release.md) ·
532
- [CLI & MCP](docs/cli-mcp.md) ·
533
- [engineering rules](pack/.claude/rules/README.md).
564
+ [CLI](docs/cli.md) ·
565
+ [engineering rules](pack/.claude/skills/devrites-lib/reference/standards/README.md).
534
566
 
535
567
  ## Security model
536
568
 
537
- DevRites is auditable Markdown + a small set of shell scripts. The complete security
569
+ DevRites is auditable Markdown + a small engine binary. The complete security
538
570
  policy, including private vulnerability reporting and recommended managed-deployment
539
571
  settings, lives in [`SECURITY.md`](SECURITY.md). Highlights: **project-local only**
540
- (installer refuses global Claude/Codex agent homes); **no network access** in installer or
541
- skills (no remote code execution); **`!` shell injection removed** from `/rite` and
542
- `/rite-status` (state loaded via a `Bash`-invoked script that reads only DevRites' own
543
- state under `.devrites/`); **auto-trigger** is a deliberate design choice mitigated by
544
- body discipline + readiness gates + the interactive `type-GO` confirmation in `/rite-ship`
572
+ (installer refuses global Claude/Codex agent homes); **bounded installer network access**
573
+ for the release tarball and verified `devrites-engine` asset, with `--no-binary` /
574
+ `DEVRITES_NO_BINARY=1` available for fully project-file-only installs; **no network
575
+ access in skills**; **`!` shell injection removed** from `/rite` and `/rite-status`
576
+ (state loaded via read-only engine subcommands over DevRites' own state under
577
+ `.devrites/`); **auto-trigger** is a deliberate design choice mitigated by body
578
+ discipline + readiness gates + the interactive `type-GO` confirmation in `/rite-ship`
545
579
  before irreversible git actions; **no `defaultMode: bypassPermissions`** is shipped or
546
580
  written by the installer (cf. CVE-2026-33068).
547
581
 
@@ -558,7 +592,8 @@ written by the installer (cf. CVE-2026-33068).
558
592
  ## License
559
593
 
560
594
  **Free to use, with approval gating redistribution.** Personal use and *listing this
561
- repository in package registries or plugin marketplaces* are permitted without approval. Any other use
595
+ repository in package registries* are permitted without approval. DevRites is installed via
596
+ `npx devrites ...`, not Claude/Codex plugin marketplaces. Any other use —
562
597
  distributing it, distributing modified versions, mirroring as a fork, or commercial /
563
598
  organizational use — requires **approval on request** (ask via
564
599
  [the repo](https://github.com/ViktorsBaikers/DevRites)). Source-available. See
package/SECURITY.md CHANGED
@@ -37,14 +37,11 @@ Once a `1.0` release ships, the latest two minor lines will be supported.
37
37
 
38
38
  ### Scope
39
39
 
40
- DevRites is a Claude Code **skills pack**: Markdown skill files, a few helper
41
- shell scripts, a bash installer, and a thin `npx` CLI wrapper (`bin/devrites.mjs`)
42
- that shells out to that installer. It ships **no binary and no network service**. The only server is an
43
- **optional, opt-in MCP stdio server** (`mcp/devrites-mcp.mjs`) that speaks
44
- JSON-RPC over stdin/stdout (no port, no socket), is not installed or registered
45
- by default, and only shells out to the local `devrites` CLI — read/gate ops over
46
- `.devrites/` plus a single `ACTIVE`-pointer write. The attack surface is the
47
- content of the skill files plus the installer.
40
+ DevRites is a skills pack plus the local `devrites-engine` control-plane binary:
41
+ Markdown skill files, helper scripts, a bash installer, and a thin `npx` CLI
42
+ wrapper (`bin/devrites.mjs`) that bootstraps or proxies the engine. It ships no
43
+ network service. The attack surface is the content of the skill files, the
44
+ installer, generated host artifacts, hooks, and the local engine binary.
48
45
 
49
46
  ### Supply-chain self-scan (shipped pack)
50
47
 
@@ -66,23 +63,23 @@ file out of one class with `<!-- pack-scan-ignore-file: injection -->`.
66
63
  Suppressions live in the file, so every exception is visible in the diff and
67
64
  reviewable; never suppress a hidden-unicode finding you can't explain.
68
65
 
69
- ### State loading (project-local script, no `!` injection)
66
+ ### State loading (engine subcommands, no `!` injection)
70
67
 
71
68
  `/rite`, `/rite-status`, and every workspace-operating skill load state by running
72
- a **read-only shell script via the `Bash` tool** — *not* Claude Code's
69
+ a **read-only `devrites-engine` subcommand via the `Bash` tool** — *not* Claude Code's
73
70
  preprocessing-only `` !`<command>` `` dynamic-context injection, which DevRites
74
71
  **removed** for cross-harness portability:
75
72
 
76
73
  ```bash
77
- P=.claude/skills/devrites-lib/scripts/preamble.sh
78
- [ -f "$P" ] && bash "$P" || echo "(unavailable — read state.md directly)"
74
+ command -v devrites-engine >/dev/null 2>&1 && devrites-engine preamble || echo "(unavailable — read state.md directly)"
79
75
  ```
80
76
 
81
- `preamble.sh` is a project-local read of DevRites' own `.devrites/` state: no user
82
- input is concatenated into a command, no network access, no write side effects.
83
- The gate scripts (`readiness.sh`, `evidence-fresh.sh`, `check-acceptance.sh`) are
84
- likewise read-only; only the explicit mutators (`resolve.sh`, `tick-afk.sh`,
85
- `close-out.sh`, and the CLI's `use`) write, and only under `.devrites/`.
77
+ `devrites-engine preamble` is a project-local read of DevRites' own `.devrites/`
78
+ state: no user input is concatenated into a command, no network access, no write
79
+ side effects. The gate subcommands (`build-readiness`, `evidence-fresh`,
80
+ `check-acceptance`) are likewise read-only; only explicit mutators (`resolve`,
81
+ `tick-afk`, `close-out`, and the MCP `use` helper) write, and only under
82
+ `.devrites/`.
86
83
 
87
84
  If your environment disallows skill-initiated shell execution, the scripts simply
88
85
  don't run — each skill degrades gracefully to reading `state.md` directly (the
@@ -148,28 +145,32 @@ The first three lines surface a confirmation prompt before any irreversible
148
145
  git action; the last disables the `/rite` and `/rite-status` dynamic-state
149
146
  read described above (DevRites still works).
150
147
 
151
- ### Hooks (auto-approve scope + orientation)
152
-
153
- DevRites ships two `Bash`-matched hooks (`pack/.claude/hooks/`, wired via the
154
- plugin's `hooks.json` or a seeded `.claude/settings.json`):
155
-
156
- - **`devrites-allow.sh` (PreToolUse)** — auto-approves *only* the five **read-only**
157
- helper scripts (`preamble.sh`, `progress.sh`, `readiness.sh`, `evidence-fresh.sh`,
158
- `check-acceptance.sh`) so they stop prompting on every skill run. It is **fail-open**:
159
- it never denies, parses the command, and emits an `allow` *only* when the command runs
160
- one of those five scripts **and** contains no dangerous/exfiltration tokens
161
- (`rm`, `>`/redirects, `curl`/`wget`, `sudo`, `chmod`, `$(...)`/backticks, `eval`,
162
- package managers, `git push/commit/reset`, …). Mutating scripts (`resolve.sh`,
163
- `tick-afk.sh`, `close-out.sh`) are **deliberately excluded** and still prompt. On any
164
- parse failure or non-match it emits nothing — Claude Code's normal permission flow is
165
- untouched. It widens approval for read-only orientation; it never widens it for anything
166
- that writes, deletes, or reaches the network.
167
- - **`devrites-orient.sh` (SessionStart)** read-only; injects the active feature's
168
- `preamble.sh` digest as session context, and stays silent when no `.devrites/` workspace
169
- is active. No tool approval, no writes.
170
-
171
- Delete `.claude/settings.json` (or disable the plugin) to remove both. The seeded
172
- settings file is never overwritten on update, so your own permission rules are safe.
148
+ ### Hooks (approval, orientation, and local guards)
149
+
150
+ DevRites ships JSON-configured hooks installed by the npm flow into the
151
+ project-local host artifacts (`.claude/settings.json` for Claude Code and
152
+ `.codex/hooks.json` for Codex). They call `devrites-engine` behind an inline
153
+ fail-open guard:
154
+
155
+ - **`allow` (PreToolUse/Bash)** auto-approves *only* the read-only engine
156
+ orientation/gate subcommands (`preamble`, `progress`, `readiness`,
157
+ `evidence-fresh`, `check-acceptance`) so they stop prompting on every skill run.
158
+ It never denies, and it emits `allow` only when the parsed command is one of those
159
+ subcommands and contains no dangerous/exfiltration tokens (`rm`, redirects,
160
+ `curl`/`wget`, `sudo`, `chmod`, command substitution, `eval`, package managers,
161
+ `git push/commit/reset`, etc.). Mutating subcommands (`resolve`, `tick-afk`,
162
+ `close-out`) are deliberately excluded and still prompt.
163
+ - **Read-only context hooks** `orient`, `cursor`, and `subagent-orient` inject
164
+ active-workspace context and stay silent when no `.devrites/` workspace is active.
165
+ - **Local guard hooks** `a1-guard`, `redwatch`, `stop-gate`, `source-cache-*`,
166
+ and `refresh-indexes` run through the engine and are fail-open by default. New
167
+ blocking guards are observe-first unless explicitly enforced with the documented
168
+ `DEVRITES_*` environment switches.
169
+
170
+ Delete the project-local hook file (`.claude/settings.json` for Claude Code, or
171
+ the DevRites-managed entries in `.codex/hooks.json` for Codex) to remove hooks.
172
+ The seeded settings file is never overwritten on update, so your own permission
173
+ rules are safe.
173
174
 
174
175
  ### Third-party trust
175
176
 
@@ -178,6 +179,31 @@ Code itself and, optionally and at the user's choice, on codegraph /
178
179
  graphify / Playwright MCP — each of which is invoked through its own
179
180
  documented interface, not bundled.
180
181
 
182
+ ### Agentic trust boundaries
183
+
184
+ Treat every instruction-bearing file as supply chain:
185
+
186
+ 1. **Shipped pack** — `pack/.claude/**`, generated host artifacts, hooks, and the
187
+ engine are release-managed and scanned before publish.
188
+ 2. **Project-local state** — `.devrites/work/**`, learnings, principles, and
189
+ review artifacts are evidence, not authority. Live source and engine gates win
190
+ over stale state.
191
+ 3. **User extensions/overrides** — `.devrites/extensions/**` and
192
+ `.devrites/overrides/**` are untrusted until `devrites-engine extensions
193
+ validate` / `overrides validate` pass. Extensions may add checks or reviewers;
194
+ they must not weaken type-GO, seal/ship, AFK/HITL, security, or evidence
195
+ gates.
196
+ 4. **External capability configs** — MCP/tool configs are optional and
197
+ project-local. `/rite-doctor`/`devrites-engine doctor` reports readiness, but
198
+ missing tools degrade to file-system/engine gates instead of silently changing
199
+ workflow semantics.
200
+
201
+ Never copy untrusted issue text, web content, or model output into a skill,
202
+ agent, hook, MCP config, or generated artifact without reviewing it as executable
203
+ instructions. Hidden unicode, prompt-injection phrasing, personal absolute paths,
204
+ and secret-like strings are release-blocking findings unless explicitly and
205
+ visibly justified.
206
+
181
207
  ### Known non-issues
182
208
 
183
209
  - **`!` injection in `/rite`** — local read of own state; safe. See above.