devrites 3.0.6 → 3.1.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 (472) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +67 -45
  3. package/SECURITY.md +31 -29
  4. package/docs/adr/0001-go-engine-as-control-plane.md +1 -1
  5. package/docs/adr/0002-dual-host-harness.md +1 -1
  6. package/docs/adr/0004-state-schema-phases-sections.md +1 -2
  7. package/docs/adr/0006-clock-seam-and-engine-ci-gates.md +3 -4
  8. package/docs/adr/0009-prebuild-decision-coverage-and-readiness.md +67 -0
  9. package/docs/adr/0010-agent-first-fresh-context-orchestration.md +71 -0
  10. package/docs/adr/0011-define-plan-transition-rights.md +28 -0
  11. package/docs/adr/README.md +3 -0
  12. package/docs/agents/triage-labels.md +7 -7
  13. package/docs/architecture.md +157 -140
  14. package/docs/cli.md +41 -12
  15. package/docs/command-map.md +49 -35
  16. package/docs/engine/agent-contract.md +92 -15
  17. package/docs/engine/commands.md +242 -72
  18. package/docs/engine/state-schema.md +52 -23
  19. package/docs/engine/workspace-schema.md +94 -15
  20. package/docs/extensions.md +1 -1
  21. package/docs/flow.md +80 -50
  22. package/docs/harness-compliance.md +29 -5
  23. package/docs/orchestration.md +107 -79
  24. package/docs/quick-reference.md +7 -3
  25. package/docs/release.md +4 -3
  26. package/docs/skills.md +64 -38
  27. package/docs/usage.md +57 -38
  28. package/engine/cmd/releasepack/main.go +219 -0
  29. package/engine/cmd/releasepack/main_test.go +170 -0
  30. package/engine/commands.go +170 -23
  31. package/engine/git_guard.go +187 -0
  32. package/engine/git_guard_test.go +283 -0
  33. package/engine/hookpolicy.go +53 -55
  34. package/engine/hookpolicy_test.go +91 -1
  35. package/engine/hooks.go +296 -75
  36. package/engine/hooks_events_test.go +276 -6
  37. package/engine/hooks_workspace.go +640 -159
  38. package/engine/internal/devritespaths/paths.go +65 -10
  39. package/engine/internal/devritespaths/paths_test.go +110 -0
  40. package/engine/internal/doctor/doctor.go +153 -23
  41. package/engine/internal/doctor/doctor_test.go +74 -0
  42. package/engine/internal/forge/forge.go +940 -0
  43. package/engine/internal/forge/forge_test.go +576 -0
  44. package/engine/internal/forge/git.go +245 -0
  45. package/engine/internal/forge/liveness_unix.go +48 -0
  46. package/engine/internal/forge/liveness_windows.go +67 -0
  47. package/engine/internal/forge/manifest.go +402 -0
  48. package/engine/internal/gate/gate.go +90 -71
  49. package/engine/internal/gate/gate_test.go +71 -2
  50. package/engine/internal/harness/compliance.go +18 -24
  51. package/engine/internal/harness/harness.go +37 -44
  52. package/engine/internal/harness/harness_test.go +21 -5
  53. package/engine/internal/install/install.go +575 -58
  54. package/engine/internal/install/install_test.go +490 -9
  55. package/engine/internal/iohooks/iohooks.go +350 -59
  56. package/engine/internal/iohooks/iohooks_test.go +421 -1
  57. package/engine/internal/lib/buildreadiness.go +35 -18
  58. package/engine/internal/lib/clarifyreturn.go +91 -0
  59. package/engine/internal/lib/clarifyreturn_test.go +123 -0
  60. package/engine/internal/lib/context.go +54 -15
  61. package/engine/internal/lib/cursor_compat_test.go +8 -0
  62. package/engine/internal/lib/extensions.go +2 -3
  63. package/engine/internal/lib/gitauthority.go +601 -0
  64. package/engine/internal/lib/gitauthority_test.go +346 -0
  65. package/engine/internal/lib/jsonout.go +25 -11
  66. package/engine/internal/lib/jsonout_test.go +16 -0
  67. package/engine/internal/lib/lanes.go +14 -8
  68. package/engine/internal/lib/observability_test.go +358 -0
  69. package/engine/internal/lib/packageexistence.go +151 -35
  70. package/engine/internal/lib/packageexistence_test.go +163 -0
  71. package/engine/internal/lib/progress.go +11 -9
  72. package/engine/internal/lib/provenance.go +462 -0
  73. package/engine/internal/lib/provenance_test.go +154 -0
  74. package/engine/internal/lib/readiness_contract.json +111 -0
  75. package/engine/internal/lib/readinessartifact.go +510 -0
  76. package/engine/internal/lib/readinessartifact_test.go +321 -0
  77. package/engine/internal/lib/reconcile.go +712 -88
  78. package/engine/internal/lib/reconcile_test.go +335 -16
  79. package/engine/internal/lib/recoveryattempts.go +298 -0
  80. package/engine/internal/lib/recoveryattempts_test.go +215 -0
  81. package/engine/internal/lib/resolve.go +23 -19
  82. package/engine/internal/lib/runbook_context_test.go +20 -0
  83. package/engine/internal/lib/session.go +701 -9
  84. package/engine/internal/lib/session_test.go +80 -13
  85. package/engine/internal/lib/testintegrity.go +33 -37
  86. package/engine/internal/lib/testintegrity_test.go +63 -1
  87. package/engine/internal/migrate/migrate.go +81 -1
  88. package/engine/internal/migrate/migrate_test.go +22 -1
  89. package/engine/internal/reason/reason.go +180 -0
  90. package/engine/internal/reason/reason_test.go +35 -0
  91. package/engine/internal/rootfacts/facts.go +466 -0
  92. package/engine/internal/rootfacts/facts_test.go +306 -0
  93. package/engine/internal/safepath/safepath.go +55 -0
  94. package/engine/internal/safepath/safepath_test.go +69 -0
  95. package/engine/internal/safepath/safepath_windows_test.go +26 -0
  96. package/engine/internal/state/clarify_transition.go +165 -0
  97. package/engine/internal/state/clarify_transition_test.go +130 -0
  98. package/engine/internal/state/cmd/workflowmanifest/main.go +12 -8
  99. package/engine/internal/state/cursor.go +58 -0
  100. package/engine/internal/state/cursor_test.go +42 -1
  101. package/engine/internal/state/feature.go +35 -48
  102. package/engine/internal/state/schema.go +90 -37
  103. package/engine/internal/state/snapshot.go +18 -2
  104. package/engine/internal/state/state_test.go +187 -7
  105. package/engine/internal/state/status.go +48 -11
  106. package/engine/internal/state/workflow_manifest.json +231 -50
  107. package/engine/internal/toolpolicy/classifier.go +533 -0
  108. package/engine/internal/toolpolicy/classifier_test.go +424 -0
  109. package/engine/internal/toolpolicy/git.go +616 -0
  110. package/engine/internal/toolpolicy/scanner.go +382 -0
  111. package/engine/main.go +160 -77
  112. package/engine/observability_cli_test.go +52 -0
  113. package/engine/root_routing_test.go +277 -0
  114. package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
  115. package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
  116. package/engine/testdata/golden/TestParityBuildReadiness/arg=noclarify.golden +1 -0
  117. package/engine/testdata/golden/TestParityBuildReadiness/arg=novet.golden +1 -0
  118. package/engine/testdata/golden/TestParityBuildReadiness/arg=stalevet.golden +1 -0
  119. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
  120. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
  121. package/engine/testdata/golden/TestParityBuildReadiness/arg=vetnotready.golden +1 -0
  122. package/engine/testdata/golden/TestParityProgress/arg=allbuilt.golden +1 -1
  123. package/engine/testdata/golden/TestParityProgress/arg=done.golden +1 -1
  124. package/engine/testdata/golden/TestParityProgress/arg=mid.golden +1 -1
  125. package/engine/testdata/golden/TestParityProgress/arg=nophase.golden +1 -1
  126. package/engine/testdata/golden/TestParityProgress/arg=noslice.golden +1 -1
  127. package/engine/testdata/golden/TestParityProgress/arg=plan.golden +1 -1
  128. package/engine/testdata/golden/TestParityProgress/arg=seal.golden +1 -1
  129. package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
  130. package/engine/testdata/golden/TestParityReconcile/inline-fallback.golden +1 -0
  131. package/engine/testdata/golden/TestParityReconcile/snapshot-no-allowlist.golden +1 -0
  132. package/engine/testdata/golden/TestParityWrightScope/devrites-edit-denied.golden +2 -0
  133. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
  134. package/engine/tests/adr_0011_define_plan_test.go +30 -0
  135. package/engine/tests/budget_test.go +19 -8
  136. package/engine/tests/concurrency_cli_test.go +7 -1
  137. package/engine/tests/doctor_cli_test.go +148 -2
  138. package/engine/tests/forge_cli_test.go +463 -0
  139. package/engine/tests/gate_test.go +63 -8
  140. package/engine/tests/hook_test.go +260 -8
  141. package/engine/tests/hooks_io_test.go +94 -3
  142. package/engine/tests/json_contract_test.go +127 -2
  143. package/engine/tests/migrate_cli_test.go +2 -2
  144. package/engine/tests/parity_buildreadiness_test.go +141 -10
  145. package/engine/tests/parity_learnings_test.go +16 -17
  146. package/engine/tests/parity_reconcile_test.go +20 -17
  147. package/engine/tests/parity_resolve_test.go +12 -11
  148. package/engine/tests/parity_test.go +21 -17
  149. package/pack/.claude/agents/devrites-code-reviewer.md +62 -48
  150. package/pack/.claude/agents/devrites-devex-reviewer.md +69 -53
  151. package/pack/.claude/agents/devrites-doubt-reviewer.md +29 -22
  152. package/pack/.claude/agents/devrites-evidence-scout.md +69 -0
  153. package/pack/.claude/agents/devrites-forge-judge.md +74 -61
  154. package/pack/.claude/agents/devrites-frontend-reviewer.md +48 -39
  155. package/pack/.claude/agents/devrites-performance-reviewer.md +49 -40
  156. package/pack/.claude/agents/devrites-plan-drafter.md +71 -0
  157. package/pack/.claude/agents/devrites-plan-reviewer.md +80 -47
  158. package/pack/.claude/agents/devrites-proof-runner.md +74 -0
  159. package/pack/.claude/agents/devrites-retrospector.md +48 -45
  160. package/pack/.claude/agents/devrites-security-auditor.md +46 -36
  161. package/pack/.claude/agents/devrites-simplifier-reviewer.md +50 -46
  162. package/pack/.claude/agents/devrites-slice-wright.md +153 -165
  163. package/pack/.claude/agents/devrites-spec-reviewer.md +34 -32
  164. package/pack/.claude/agents/devrites-strategy-reviewer.md +63 -34
  165. package/pack/.claude/agents/devrites-test-analyst.md +40 -30
  166. package/pack/.claude/settings.json +2 -1
  167. package/pack/.claude/skills/devrites-audit/SKILL.md +40 -61
  168. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +24 -13
  169. package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +24 -21
  170. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -6
  171. package/pack/.claude/skills/devrites-debug-recovery/reference/instrumentation.md +2 -2
  172. package/pack/.claude/skills/devrites-doubt/SKILL.md +25 -17
  173. package/pack/.claude/skills/devrites-interview/SKILL.md +53 -52
  174. package/pack/.claude/skills/devrites-lib/SKILL.md +11 -9
  175. package/pack/.claude/skills/devrites-lib/reference/intent-map.md +3 -2
  176. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +82 -137
  177. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +8 -1
  178. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +38 -55
  179. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +53 -27
  180. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +198 -190
  181. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +5 -15
  182. package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +27 -58
  183. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +16 -52
  184. package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +2 -10
  185. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +18 -61
  186. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -18
  187. package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +17 -57
  188. package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +4 -33
  189. package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +4 -20
  190. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -14
  191. package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +9 -25
  192. package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +0 -9
  193. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +1 -3
  194. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +17 -7
  195. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +1 -27
  196. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +46 -50
  197. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +23 -10
  198. package/pack/.claude/skills/devrites-source-driven/SKILL.md +23 -22
  199. package/pack/.claude/skills/rite/SKILL.md +8 -6
  200. package/pack/.claude/skills/rite/reference/menu.md +8 -6
  201. package/pack/.claude/skills/rite-adopt/SKILL.md +33 -37
  202. package/pack/.claude/skills/rite-autocomplete/SKILL.md +33 -28
  203. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +21 -21
  204. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +15 -6
  205. package/pack/.claude/skills/rite-build/SKILL.md +35 -30
  206. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +38 -38
  207. package/pack/.claude/skills/rite-build/reference/evidence-standard.md +10 -0
  208. package/pack/.claude/skills/rite-build/reference/forge.md +186 -156
  209. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +4 -3
  210. package/pack/.claude/skills/rite-build/reference/phase-contract.md +96 -175
  211. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +129 -134
  212. package/pack/.claude/skills/rite-clarify/SKILL.md +89 -0
  213. package/pack/.claude/skills/rite-clarify/reference/decision-coverage.md +59 -0
  214. package/pack/.claude/skills/rite-converge/SKILL.md +35 -25
  215. package/pack/.claude/skills/rite-define/SKILL.md +57 -32
  216. package/pack/.claude/skills/rite-define/reference/gates.md +16 -15
  217. package/pack/.claude/skills/rite-define/reference/plan-template.md +16 -8
  218. package/pack/.claude/skills/rite-frame/reference/failure-modes.md +22 -24
  219. package/pack/.claude/skills/rite-plan/SKILL.md +44 -16
  220. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +4 -0
  221. package/pack/.claude/skills/rite-polish/SKILL.md +27 -23
  222. package/pack/.claude/skills/rite-prototype/SKILL.md +25 -26
  223. package/pack/.claude/skills/rite-prove/SKILL.md +27 -17
  224. package/pack/.claude/skills/rite-resolve/SKILL.md +12 -11
  225. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +3 -0
  226. package/pack/.claude/skills/rite-review/SKILL.md +37 -28
  227. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +27 -92
  228. package/pack/.claude/skills/rite-seal/reference/risk-and-rollback.md +13 -0
  229. package/pack/.claude/skills/rite-ship/reference/design-memory.md +31 -36
  230. package/pack/.claude/skills/rite-spec/SKILL.md +84 -135
  231. package/pack/.claude/skills/rite-spec/reference/investigation.md +37 -33
  232. package/pack/.claude/skills/rite-spec/reference/question-protocol.md +6 -2
  233. package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +25 -24
  234. package/pack/.claude/skills/rite-spec/reference/spec-template.md +9 -2
  235. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +13 -3
  236. package/pack/.claude/skills/rite-temper/SKILL.md +62 -47
  237. package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +24 -22
  238. package/pack/.claude/skills/rite-vet/SKILL.md +110 -113
  239. package/pack/.claude/skills/rite-vet/reference/artifacts.md +42 -9
  240. package/pack/.claude/skills/rite-vet/reference/review-axes.md +39 -37
  241. package/pack/generated/claude/agents/devrites-code-reviewer.md +62 -48
  242. package/pack/generated/claude/agents/devrites-devex-reviewer.md +69 -53
  243. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +29 -22
  244. package/pack/generated/claude/agents/devrites-evidence-scout.md +69 -0
  245. package/pack/generated/claude/agents/devrites-forge-judge.md +74 -61
  246. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +48 -39
  247. package/pack/generated/claude/agents/devrites-performance-reviewer.md +49 -40
  248. package/pack/generated/claude/agents/devrites-plan-drafter.md +71 -0
  249. package/pack/generated/claude/agents/devrites-plan-reviewer.md +80 -47
  250. package/pack/generated/claude/agents/devrites-proof-runner.md +74 -0
  251. package/pack/generated/claude/agents/devrites-retrospector.md +48 -45
  252. package/pack/generated/claude/agents/devrites-security-auditor.md +46 -36
  253. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +50 -46
  254. package/pack/generated/claude/agents/devrites-slice-wright.md +153 -165
  255. package/pack/generated/claude/agents/devrites-spec-reviewer.md +34 -32
  256. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +63 -34
  257. package/pack/generated/claude/agents/devrites-test-analyst.md +40 -30
  258. package/pack/generated/claude/settings.json +2 -1
  259. package/pack/generated/claude/skills/devrites-audit/SKILL.md +40 -61
  260. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +24 -13
  261. package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +24 -21
  262. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -6
  263. package/pack/generated/claude/skills/devrites-debug-recovery/reference/instrumentation.md +2 -2
  264. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +25 -17
  265. package/pack/generated/claude/skills/devrites-interview/SKILL.md +53 -52
  266. package/pack/generated/claude/skills/devrites-lib/SKILL.md +11 -9
  267. package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +3 -2
  268. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +82 -137
  269. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +8 -1
  270. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +38 -55
  271. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +53 -27
  272. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +198 -190
  273. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +5 -15
  274. package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +27 -58
  275. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +16 -52
  276. package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +2 -10
  277. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +18 -61
  278. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -18
  279. package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +17 -57
  280. package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +4 -33
  281. package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +4 -20
  282. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -14
  283. package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +9 -25
  284. package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +0 -9
  285. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +1 -3
  286. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +17 -7
  287. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +1 -27
  288. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +46 -50
  289. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +23 -10
  290. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +23 -22
  291. package/pack/generated/claude/skills/rite/SKILL.md +8 -6
  292. package/pack/generated/claude/skills/rite/reference/menu.md +8 -6
  293. package/pack/generated/claude/skills/rite-adopt/SKILL.md +33 -37
  294. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +33 -28
  295. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +21 -21
  296. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +15 -6
  297. package/pack/generated/claude/skills/rite-build/SKILL.md +35 -30
  298. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +38 -38
  299. package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +10 -0
  300. package/pack/generated/claude/skills/rite-build/reference/forge.md +186 -156
  301. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +4 -3
  302. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +96 -175
  303. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +129 -134
  304. package/pack/generated/claude/skills/rite-clarify/SKILL.md +89 -0
  305. package/pack/generated/claude/skills/rite-clarify/reference/decision-coverage.md +59 -0
  306. package/pack/generated/claude/skills/rite-converge/SKILL.md +35 -25
  307. package/pack/generated/claude/skills/rite-define/SKILL.md +57 -32
  308. package/pack/generated/claude/skills/rite-define/reference/gates.md +16 -15
  309. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +16 -8
  310. package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +22 -24
  311. package/pack/generated/claude/skills/rite-plan/SKILL.md +44 -16
  312. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +4 -0
  313. package/pack/generated/claude/skills/rite-polish/SKILL.md +27 -23
  314. package/pack/generated/claude/skills/rite-prototype/SKILL.md +25 -26
  315. package/pack/generated/claude/skills/rite-prove/SKILL.md +27 -17
  316. package/pack/generated/claude/skills/rite-resolve/SKILL.md +12 -11
  317. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +3 -0
  318. package/pack/generated/claude/skills/rite-review/SKILL.md +37 -28
  319. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +27 -92
  320. package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +13 -0
  321. package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +31 -36
  322. package/pack/generated/claude/skills/rite-spec/SKILL.md +84 -135
  323. package/pack/generated/claude/skills/rite-spec/reference/investigation.md +37 -33
  324. package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +6 -2
  325. package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +25 -24
  326. package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +9 -2
  327. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +13 -3
  328. package/pack/generated/claude/skills/rite-temper/SKILL.md +62 -47
  329. package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +24 -22
  330. package/pack/generated/claude/skills/rite-vet/SKILL.md +110 -113
  331. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +42 -9
  332. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +39 -37
  333. package/pack/generated/codex/AGENTS.md +5 -2
  334. package/pack/generated/codex/agents/devrites-code-reviewer.toml +69 -47
  335. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +75 -51
  336. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +35 -20
  337. package/pack/generated/codex/agents/devrites-evidence-scout.toml +75 -0
  338. package/pack/generated/codex/agents/devrites-forge-judge.toml +80 -59
  339. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +54 -37
  340. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +55 -38
  341. package/pack/generated/codex/agents/devrites-plan-drafter.toml +77 -0
  342. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +82 -47
  343. package/pack/generated/codex/agents/devrites-proof-runner.toml +80 -0
  344. package/pack/generated/codex/agents/devrites-retrospector.toml +54 -43
  345. package/pack/generated/codex/agents/devrites-security-auditor.toml +53 -35
  346. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +56 -44
  347. package/pack/generated/codex/agents/devrites-slice-wright.toml +159 -163
  348. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +40 -30
  349. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +65 -34
  350. package/pack/generated/codex/agents/devrites-test-analyst.toml +46 -28
  351. package/pack/generated/codex/hooks.json +4 -14
  352. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +7 -3
  353. package/pack/generated/codex/skills/devrites-audit/SKILL.md +47 -64
  354. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +7 -3
  355. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +31 -16
  356. package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +24 -21
  357. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -6
  358. package/pack/generated/codex/skills/devrites-debug-recovery/reference/instrumentation.md +2 -2
  359. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +32 -20
  360. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +7 -3
  361. package/pack/generated/codex/skills/devrites-interview/SKILL.md +60 -55
  362. package/pack/generated/codex/skills/devrites-lib/SKILL.md +18 -12
  363. package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +3 -2
  364. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +82 -137
  365. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +8 -1
  366. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +38 -55
  367. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +53 -27
  368. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +198 -190
  369. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +5 -15
  370. package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +27 -58
  371. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +16 -52
  372. package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +2 -10
  373. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +18 -61
  374. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -18
  375. package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +17 -57
  376. package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +4 -33
  377. package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +4 -20
  378. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -14
  379. package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +9 -25
  380. package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +0 -9
  381. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +1 -3
  382. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +17 -7
  383. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +1 -27
  384. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +46 -50
  385. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +23 -10
  386. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +7 -3
  387. package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +7 -3
  388. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +29 -24
  389. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +7 -3
  390. package/pack/generated/codex/skills/rite/SKILL.md +19 -13
  391. package/pack/generated/codex/skills/rite/reference/menu.md +8 -6
  392. package/pack/generated/codex/skills/rite-adopt/SKILL.md +40 -40
  393. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +40 -31
  394. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +21 -21
  395. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +15 -6
  396. package/pack/generated/codex/skills/rite-build/SKILL.md +42 -33
  397. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +38 -38
  398. package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +10 -0
  399. package/pack/generated/codex/skills/rite-build/reference/forge.md +186 -156
  400. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +4 -3
  401. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +96 -175
  402. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +129 -134
  403. package/pack/generated/codex/skills/rite-clarify/SKILL.md +105 -0
  404. package/pack/generated/codex/skills/rite-clarify/reference/decision-coverage.md +59 -0
  405. package/pack/generated/codex/skills/rite-converge/SKILL.md +42 -28
  406. package/pack/generated/codex/skills/rite-customize/SKILL.md +7 -3
  407. package/pack/generated/codex/skills/rite-define/SKILL.md +64 -35
  408. package/pack/generated/codex/skills/rite-define/reference/gates.md +16 -15
  409. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +16 -8
  410. package/pack/generated/codex/skills/rite-doctor/SKILL.md +7 -3
  411. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +7 -3
  412. package/pack/generated/codex/skills/rite-explain/SKILL.md +7 -3
  413. package/pack/generated/codex/skills/rite-frame/SKILL.md +7 -3
  414. package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +22 -24
  415. package/pack/generated/codex/skills/rite-handoff/SKILL.md +7 -3
  416. package/pack/generated/codex/skills/rite-learn/SKILL.md +7 -3
  417. package/pack/generated/codex/skills/rite-plan/SKILL.md +51 -19
  418. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +5 -1
  419. package/pack/generated/codex/skills/rite-polish/SKILL.md +34 -26
  420. package/pack/generated/codex/skills/rite-pov/SKILL.md +7 -3
  421. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +7 -3
  422. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +7 -3
  423. package/pack/generated/codex/skills/rite-prototype/SKILL.md +32 -29
  424. package/pack/generated/codex/skills/rite-prove/SKILL.md +34 -20
  425. package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -3
  426. package/pack/generated/codex/skills/rite-resolve/SKILL.md +19 -14
  427. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +3 -0
  428. package/pack/generated/codex/skills/rite-review/SKILL.md +44 -31
  429. package/pack/generated/codex/skills/rite-seal/SKILL.md +7 -3
  430. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +27 -92
  431. package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +13 -0
  432. package/pack/generated/codex/skills/rite-ship/SKILL.md +7 -3
  433. package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +31 -36
  434. package/pack/generated/codex/skills/rite-spec/SKILL.md +91 -138
  435. package/pack/generated/codex/skills/rite-spec/reference/investigation.md +37 -33
  436. package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +6 -2
  437. package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +25 -24
  438. package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +9 -2
  439. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +13 -3
  440. package/pack/generated/codex/skills/rite-status/SKILL.md +7 -3
  441. package/pack/generated/codex/skills/rite-temper/SKILL.md +69 -50
  442. package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +24 -22
  443. package/pack/generated/codex/skills/rite-vet/SKILL.md +117 -116
  444. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +42 -9
  445. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +40 -38
  446. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +7 -3
  447. package/package.json +1 -1
  448. package/scripts/build-release-tarball.sh +32 -15
  449. package/scripts/check-authority-drift.py +125 -0
  450. package/scripts/check-instruction-size-baseline.mjs +19 -11
  451. package/scripts/check-invocation-integrity.py +2 -0
  452. package/scripts/codex-generate.sh +69 -33
  453. package/scripts/grade-feature.sh +121 -40
  454. package/scripts/live-hosts/agent-result.schema.json +230 -0
  455. package/scripts/live-hosts/claude.sh +87 -0
  456. package/scripts/live-hosts/codex.sh +81 -0
  457. package/scripts/live-hosts/common.sh +113 -0
  458. package/scripts/live-hosts/fake-host.py +264 -0
  459. package/scripts/live-hosts/host-transport.py +287 -0
  460. package/scripts/release-check.sh +5 -1
  461. package/scripts/run-agent-contract-evals.py +1380 -0
  462. package/scripts/run-behavioral-evals.sh +24 -30
  463. package/scripts/run-evals.sh +1 -5
  464. package/scripts/run-live-behavioral-evals.py +1274 -144
  465. package/scripts/run-outcome-evals.sh +414 -88
  466. package/scripts/run-tests.mjs +30 -2
  467. package/scripts/skills-inventory.mjs +1 -1
  468. package/scripts/validate-workflow-security.py +39 -20
  469. package/scripts/validate-workspace-schema.py +362 -10
  470. package/scripts/validate.sh +21 -15
  471. package/engine/testdata/golden/TestParityWrightScope/devrites-edit-allowed.golden +0 -1
  472. /package/engine/testdata/golden/{TestParityReconcile/check-no-claimed.golden → TestParityBuildReadiness/arg=clarifyopen.golden} +0 -0
@@ -7,13 +7,13 @@ user-invocable: true
7
7
 
8
8
  # /rite-review: feature-scoped review
9
9
 
10
- Senior review of the **active feature scope only**. **Read the active workspace first**;
11
- if none, tell the user to run `/rite-spec <feature>`.
10
+ Review the **active feature scope only**. **Read the active workspace first**; if none,
11
+ tell the user to run `/rite-spec <feature>`.
12
12
 
13
- > **Differs from built-in `/code-review` in:** `/code-review` is a generic
14
- > diff review with no workspace context. `/rite-review` reads
13
+ > **Scope:** `/code-review` is a generic diff review with no workspace context.
14
+ > `/rite-review` reads
15
15
  > `.devrites/work/<slug>/spec.md` first, runs Spec ↔ Code-review axes as
16
- > parallel subagents (see [`parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md)), and gates feeding
16
+ > parallel fresh-context reviewers (see [`parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md)), and gates feeding
17
17
  > into `/rite-seal`. Use `/code-review` for a one-off diff; use
18
18
  > `/rite-review` for a DevRites feature where the spec is the contract.
19
19
 
@@ -22,7 +22,7 @@ Pull these via `Read` when the diff demands them:
22
22
  - `code-review.md`: small PRs, severity labels, tests-first review focus.
23
23
  - `review-checklist.md`: compact pass/fail sweep before reporting the verdict.
24
24
  - `principles.md`: declared project invariants (`.devrites/principles.md`); a diff that violates one with no recorded exception is a Critical, blocking finding.
25
- - `testing.md`: confirm the tests prove the spec, not just pass.
25
+ - `testing.md`: confirm that passing tests actually prove the spec.
26
26
  - `agents.md`: when to fan out to which review subagent.
27
27
  - `security.md`: when input / auth / data / integrations / secrets are in scope.
28
28
  - `security-checklist.md`: for the same security-sensitive scope, the compact trust-boundary sweep.
@@ -32,10 +32,14 @@ Pull these via `Read` when the diff demands them:
32
32
  - **Feature scope only.** Review touched files + the diff. **NO whole-project refactors,
33
33
  NO drive-by cleanup.** DO NOT delete suspected dead code outside this feature without
34
34
  asking. Spec Drift Guard applies.
35
- - **Reviews the finished product.** `/rite-polish` has already done **code simplification**
36
- + UI normalize/polish. Review judges; if it reveals a real complexity issue polish
37
- missed, flag it as a finding: don't re-run a simplification sweep here.
38
- - Findings are labeled (below). Re-prove after any change you make.
35
+ - **Review the finished product.** `/rite-polish` has already simplified code and
36
+ normalized or polished UI. If review finds a remaining complexity issue, record it as
37
+ a finding rather than rerunning a simplification pass.
38
+ - Findings are labeled (below). Re-prove after any accepted correction.
39
+ - **Reviewers judge; root reconciles; wright fixes.** Follow
40
+ [`agents.md`](../devrites-lib/reference/standards/agents.md). The root owns the verdict and
41
+ canonical writes; every accepted source/test correction routes to
42
+ `devrites-slice-wright`.
39
43
 
40
44
  ## Workflow
41
45
  0. Read `.claude/skills/devrites-lib/reference/standards/core.md` first (the always-on operating rules); pull the
@@ -52,13 +56,14 @@ Pull these via `Read` when the diff demands them:
52
56
  2. **Review tests first:** do they prove the acceptance criteria? Missing,
53
57
  weak, or wrong tests are the first findings.
54
58
  **Completion:** every acceptance criterion maps to a proven test or a labeled finding.
55
- 3. **Spec Code-review split (parallel sub-agents, fresh context).** A change can pass
59
+ 3. **Review spec and code separately in parallel.** A change can pass
56
60
  one axis and fail the other: code that follows every project standard but
57
61
  implements the wrong thing (Code-review pass, Spec fail), or code that does exactly
58
62
  what the spec asked but breaks project conventions (Spec pass, Code-review fail).
59
- Running them serially in one context lets one mask the other. So:
60
- - Dispatch **two** read-only reviewers in **parallel** via the `Task` tool, each
61
- with its own narrow brief and no cross-pollination:
63
+ Separate contexts prevent one axis from masking the other:
64
+ - Freeze the candidate and fresh-context dispatch **two** read-only reviewers in
65
+ parallel, each with its own `agent-packet/v1`, narrow brief, and no
66
+ cross-pollination:
62
67
  - **Spec axis** → `devrites-spec-reviewer`: "Apply your documented discipline on
63
68
  the active feature workspace + diff. Report (a) criteria the spec asked for that
64
69
  are missing or partial, (b) behaviour in the diff the spec did not ask for
@@ -101,15 +106,20 @@ Pull these via `Read` when the diff demands them:
101
106
  6. **Performance:** apply `devrites-audit perf`
102
107
  ([performance-review](reference/performance-review.md)) only when performance is
103
108
  relevant or a regression risk is visible (measure first).
104
- 7. Apply only in-scope fixes; **run verification after changes** (`/rite-prove` logic).
105
- 8. Update `review.md`, `evidence.md`, and `state.md`.
106
- 9. **Guard against the silent reviewer.** After `review.md` is written, run:
109
+ 7. Reconcile and accept only in-scope fixes. Consolidate them into one bounded wright
110
+ correction packet; never edit source in the reviewing context. Freeze the new candidate
111
+ and **run affected verification after changes** (`/rite-prove` logic), then perform at
112
+ most one narrow recheck of affected findings.
113
+ 8. The root updates `review.md`, `evidence.md`, and `state.md`.
114
+ **Completion:** the records name the reviewed candidate identity and every accepted
115
+ correction has affected proof plus its narrow recheck.
116
+ 9. **Require an account from every reviewer.** After `review.md` is written, run:
107
117
  ```bash
108
118
  devrites-engine review-integrity
109
119
  devrites-engine review-fingerprints --write
110
120
  ```
111
- Exit 1 means an adversarial axis reported nothing and justified nothing: a suspected
112
- rubber-stamp. Re-run that axis or add its `No-findings:` justification; do not carry a silent
121
+ Exit 1 means an adversarial axis reported neither findings nor a justification. Re-run
122
+ that axis or add its `No-findings:` justification; do not carry a silent
113
123
  axis into `/rite-seal` (where it surfaces as an Important).
114
124
 
115
125
  ## Finding labels
@@ -119,13 +129,13 @@ Pull these via `Read` when the diff demands them:
119
129
  - **Nit:** trivial/style.
120
130
  - **FYI:** context, no action implied.
121
131
 
122
- **Action decoration (orthogonal to severity).** Also tag each finding with how to act on it:
132
+ **Action tag (separate from severity).** Tag each finding with how to act on it:
123
133
  `blocking` (fix before seal), `non-blocking` (fix when convenient), or `if-minor` (fix only if the
124
134
  change is already small: a pure noise-economics lever). Only a **`blocking` Critical** gates the
125
135
  seal; a `non-blocking` / `if-minor` finding is recorded, not a stop.
126
136
 
127
- ## Confidence + signal-to-noise
128
- Borrow `/rite-vet`'s discipline so review stays **trusted, not noisy**: a reviewer that posts
137
+ ## Confidence and signal-to-noise
138
+ Apply `/rite-vet`'s confidence rules. A reviewer that posts
129
139
  18 comments per PR teaches the team to ignore every one (below ~10% false-positive rate devs
130
140
  investigate each finding; past ~30% they label the tool noisy and skip it):
131
141
  - **Confidence-band each finding** (1-10) and state the band. A low-confidence finding (≤4)
@@ -133,21 +143,20 @@ investigate each finding; past ~30% they label the tool noisy and skip it):
133
143
  (low-confidence): n` line, never raised as Critical/Important.
134
144
  - **Verify before you escalate.** Every Critical/Important quotes the spec line or cites the
135
145
  `file:line` that proves it: no unverified blockers.
136
- - **Budget the noise.** Roll up trivia ("N style nits") into a single line; tooling already
146
+ - **Limit low-value comments.** Roll up trivia ("N style nits") into a single line; tooling already
137
147
  catches style. Review's job is correctness + spec fidelity, not a lint dump.
138
148
  - **A silent axis is suspicious, not clean.** An adversarial axis that raises nothing must earn
139
149
  it: end its `## Spec` / `## Code review` section with a **`No-findings:`** line naming the
140
150
  passes it ran (missing/partial/incorrect for spec; edge cases, error paths, the riskiest
141
151
  decision, a changed behavior whose test may not cover it for code) and why each came back
142
- empty. This is the mirror of confidence-banding: banding kills the false positive, this catches
143
- the false negative ([`code-review.md` § Zero findings is suspicious](../devrites-lib/reference/standards/code-review.md)).
152
+ empty. Confidence bands suppress false positives; this requirement catches silent false
153
+ negatives ([`code-review.md` § Zero findings is suspicious](../devrites-lib/reference/standards/code-review.md)).
144
154
 
145
155
  ## Severity orientation (labels, not score)
146
156
 
147
157
  After labeling, summarize findings as `Critical / Important / Suggestion / Nit /
148
- FYI` counts. There is no composite number `/rite-seal` gates on
149
- `Critical == 0` and on acceptance + drift. Inventing a number invites gaming;
150
- the labels do the work.
158
+ FYI` counts. There is no composite number. `/rite-seal` gates on
159
+ `Critical == 0` and on acceptance plus drift. Do not invent a composite score.
151
160
 
152
161
  > **Mid-flight discipline.** When tempted to demote a Critical, hide a finding, fix without re-verification, or wander out of scope: see [`anti-patterns`](reference/anti-patterns.md). Load it the moment you reach for the excuse.
153
162
 
@@ -1,36 +1,5 @@
1
1
  # rite-seal phase contract
2
2
 
3
- ## Execution spine
4
-
5
- Run the engine gates at these moments:
6
-
7
- ```bash
8
- devrites-engine preamble
9
-
10
- devrites-engine spec-validate .devrites/work/<slug>; echo "spec-validate rc=$?"
11
- devrites-engine check-acceptance .devrites/work/<slug>; echo "check-acceptance rc=$?"
12
- devrites-engine evidence-fresh <slug>; echo "evidence-fresh rc=$?"
13
- devrites-engine doubt-coverage <slug>; echo "doubt-coverage rc=$?"
14
-
15
- devrites-engine footprint log <slug> reviewer devrites-<x>-reviewer
16
- devrites-engine footprint log <slug> skip devrites-<x>-reviewer
17
- devrites-engine footprint roster <slug>; echo "roster rc=$?"
18
- devrites-engine review-integrity <slug>; echo "review-integrity rc=$?"
19
- devrites-engine review-fingerprints --write <slug>
20
-
21
- devrites-engine footprint render <slug>
22
- devrites-engine learnings add "<slug>" "<dismissed-as-intentional class or dead-end>" dismiss
23
- devrites-engine health record <0..10> "<GO|NO-GO evidence summary>" --note "<top blocker or green proof>"
24
- devrites-engine timeline log completed --skill rite-seal --slug <slug> --outcome "<go|no-go>" --decision "<verdict>"
25
-
26
- devrites-engine progress
27
- ```
28
-
29
- Conditional calls still obey the detailed rules below: reviewer and skip
30
- footprints must account for the whole roster; learnings run only on GO; progress
31
- is rendered before the final response from [`output.md`](output.md). Seal decides
32
- only; `/rite-ship` owns irreversible git/publish/deploy actions.
33
-
34
3
  1. **Run the shared orientation preamble:** it prints `state.md`, the artifacts present,
35
4
  the run mode (HITL/AFK), and the open-question tally by gate, so you orient deterministically
36
5
  instead of re-deriving state from raw Markdown:
@@ -80,50 +49,20 @@ only; `/rite-ship` owns irreversible git/publish/deploy actions.
80
49
  verdicts by hand).
81
50
  Either way, walk the `## Decisions stood` ledger yourself: severity rides the unverified
82
51
  **decision**, never the exit code alone.
83
- 5. Check **security, data, migration, rollback** risk:
84
- [risk-and-rollback](risk-and-rollback.md). If `strategy.md` exists (from
85
- `/rite-temper`), confirm its **top pre-mortem risks are mitigated** in the diff/evidence and
86
- that no **Non-goal / deferred item crept into the diff** (scope creep): either is a finding
87
- (an unmitigated top risk or smuggled-in out-of-scope work).
88
- - **Principles** (`principles.md`): score the final diff against each declared invariant in
89
- `.devrites/principles.md`. A violation with no matching, human-approved exception in the
90
- register is a **Critical** finding and a NO-GO; an exception that is stale (past its review
91
- trigger) or wider than its stated scope is itself a finding. No file / no principles → skip.
92
- - **Observability** (`observability.md`): if the diff added a runtime surface (endpoint,
93
- job, integration, user flow, error path), a feature shipping with no way to debug it in
94
- prod is an **Important** finding, not a pass: `evidence.md` should show telemetry observed
95
- to emit (`/rite-prove` step 5b).
96
- - **Developer experience** (`developer-experience.md`): if the diff ships a developer-facing
97
- surface, reconcile `devex.md` (the `/rite-vet` predicted scorecard vs the `/rite-prove`
98
- measured one: the boomerang). A broken public dev contract (a documented command that errors,
99
- a getting-started flow that can't complete) or an unexplained measured DX regression is
100
- **Important**. **Critical** on a frozen public surface (`principles.md`). No surface → skip.
101
- - **Removal / migration** (`deprecation.md`): if the diff deletes or migrates code, an API,
102
- or data, confirm it followed expand→contract, proved the old path unused before removing it,
103
- and carries a rollback for every destructive step. A surprise deletion or a one-shot
104
- breaking migration is a finding (and trips the irreversible-risk gate, `afk-hitl.md`).
52
+ 5. Check **security, data, migration, rollback**, strategy scope, principles,
53
+ observability, developer experience, and removal using
54
+ [risk-and-rollback](risk-and-rollback.md) and the named standards. Unmitigated top risks,
55
+ scope creep, missing runtime diagnostics, broken developer contracts, or unsafe removals
56
+ are findings. An unexcepted declared-principle violation is Critical and NO-GO.
105
57
  6. Check **frontend polish** if UI is involved (states, a11y, responsive, design-system,
106
58
  browser evidence).
107
- 7. **Independent review:** seal is the final gate, not a re-run of `/rite-review`.
108
- It **always re-spawns** the axes `/rite-review` did not cover: `devrites-test-analyst`,
109
- `devrites-security-auditor`, `devrites-performance-reviewer`, and
110
- `devrites-frontend-reviewer` (UI). It **only re-runs the Spec and Code-review axes**
111
- (`devrites-spec-reviewer`, `devrites-code-reviewer`) when the diff changed since
112
- `/rite-review` ran (compare against `review.md`); if the diff is unchanged, carry
113
- review's verdicts on those axes forward rather than re-litigating them.
114
- If subagents are available, fan out **in parallel** (one `Task` block, multiple tool
115
- calls) to the **roster**: the seven reviewers and their checkable triggers are the single
116
- source in [`parallel-dispatch.md`](../../devrites-lib/reference/parallel-dispatch.md) (dispatch
117
- shape + reconciliation there too; `.claude/skills/devrites-lib/reference/standards/agents.md`. "Run independent reviewers in
118
- parallel"). Dispatch every always-on reviewer and every conditional whose trigger the diff
119
- meets; `devrites-devex-reviewer` runs in **measure mode**: grade the measured DX scorecard
120
- and reconcile the boomerang against the `/rite-vet` prediction. Give each the workspace path +
121
- diff *without the author's reasoning*. If subagents are unavailable, run the equivalent
122
- reviews sequentially yourself and flag each as a fallback.
123
- The reviewer **AGENTS** here (fresh context, no author reasoning) are the seal
124
- GATE; `devrites-audit` is the inline single-axis pass run during build/polish.
125
- The two paths are intentional, not divergent: the inline audit catches issues
126
- early; the fresh-context agents are the independent gate before ship.
59
+ 7. **Independent review:** apply the complete roster, triggers, dispatch shape, and
60
+ reconciliation from
61
+ [`parallel-dispatch.md`](../../devrites-lib/reference/parallel-dispatch.md). Await
62
+ fresh-context batches of at most three and give reviewers only the workspace path plus
63
+ immutable diff, without author reasoning. Use named role → safely enforced generic fresh
64
+ agent labelled inline; inline output is never independent. Carry Spec/Code verdicts only
65
+ for an unchanged post-review diff; rerun the other applicable axes.
127
66
  **Footprint: account for the whole roster.** For each reviewer you dispatch, append
128
67
  `devrites-engine footprint log <slug> reviewer devrites-<x>-reviewer` (the reviewer's **exact agent name**:
129
68
  the roster gate matches on it, so a freehand label like `spec` will read as unaccounted); for
@@ -131,13 +70,12 @@ only; `/rite-ship` owns irreversible git/publish/deploy actions.
131
70
  `devrites-engine footprint log <slug> skip devrites-<x>-reviewer` and note the one-line reason in `seal.md`.
132
71
  A conditional reviewer that does not apply is a *recorded skip*, never a silent omission: step 7b
133
72
  proves the roster complete before the verdict.
134
- 7a. **Reconcile findings: confidence over volume.** Band each reviewer finding by confidence
73
+ 7a. **Reconcile findings by confidence.** Band each reviewer finding by confidence
135
74
  (1-10); a low-confidence (≤4) finding that can't be verified against the diff is **suppressed**
136
75
  to a `Suppressed (low-confidence): n` line, not a blocker. Every Critical/Important must cite
137
76
  the `file:line` (or spec line) that proves it. Surface genuine cross-reviewer disagreement
138
77
  **explicitly** rather than averaging it away, and don't let a pile of low-confidence nits
139
- inflate the verdict: the gate is `Critical == 0` + acceptance + drift, not "few findings".
140
- (A seal that fires noise teaches the next one to be ignored.)
78
+ inflate the verdict. The gate is `Critical == 0` + acceptance + drift, not "few findings".
141
79
  7b. **Account for the roster: no reviewer silently skipped.** Before the verdict, prove every
142
80
  roster reviewer carries a decision (dispatched or skip-recorded in step 7's footprint):
143
81
  ```bash
@@ -158,7 +96,7 @@ only; `/rite-ship` owns irreversible git/publish/deploy actions.
158
96
  ```
159
97
  - **rc=1:** an axis in `review.md` is silent (no finding, no justification): **Important** on the
160
98
  review's completeness. Re-run that axis or record its `No-findings:` account, then re-seal.
161
- - **rc=0:** every axis has findings or a justified clean bill; proceed. (No `review.md`, or a
99
+ - **rc=0:** every axis has findings or a justified no-findings result; proceed. (No `review.md`, or a
162
100
  freeform one, is a clean pass: the gate keys on per-axis sections.)
163
101
  Then write stable finding IDs for learning and recurring-dismissal correlation:
164
102
  ```bash
@@ -178,20 +116,10 @@ only; `/rite-ship` owns irreversible git/publish/deploy actions.
178
116
  "acceptance": "<proven>/<total>", "test_integrity": "ok | weakened", "mutation": "<score | n/a>",
179
117
  "blockers": ["<one line each, empty on GO>"] }
180
118
  ```
181
- 9. **On GO only: record proven conventions** to the local ledger
182
- (`.devrites/conventions.md`) so later slices stop re-deriving this project's idioms:
183
- the durable, *evidence-proven* commands / idioms / placement / gotchas this feature
184
- established. Evidence-gated like the seal itself; the band is earned, not guessed; the
185
- step degrades gracefully when unavailable. Full contract + command:
186
- [conventions-ledger](conventions-ledger.md). (Skip entirely on NO-GO.)
187
- 9a. **On GO only: auto-capture learnings** (`.devrites/learnings.md`). Learning is automatic, not a
188
- command anyone must remember: append this feature's durable signal so the **next** feature's
189
- review starts warmer: (a) any reviewer finding the gate **dismissed as intentional here** (a
190
- "don't re-flag X in this project" class, tag `dismiss`); (b) a recurring correction or dead-end
191
- worth not repeating (tag `note`). The review skills load this ledger **before** they fan out, so a
192
- dismissed-finding class stops recurring. It is an untrusted prior: live code always overrides
193
- (`.claude/skills/devrites-lib/reference/standards/security.md`). Promotion of a recurring lesson to a *project rule* stays the
194
- human's call (`/rite-learn`: propose, don't impose). Skip on NO-GO.
119
+ 9. **On GO only:** record evidence-proven conventions through
120
+ [conventions-ledger](conventions-ledger.md).
121
+ 9a. **On GO only:** append durable dismissed-finding or dead-end learnings as untrusted
122
+ priors. Promotion to a project rule remains human-owned.
195
123
  ```bash
196
124
  devrites-engine learnings add "<slug>" "<dismissed-as-intentional class or dead-end>" dismiss
197
125
  ```
@@ -200,7 +128,14 @@ only; `/rite-ship` owns irreversible git/publish/deploy actions.
200
128
  lower for NO-GO or unresolved blockers.
201
129
  ```bash
202
130
  devrites-engine health record <0..10> "<GO|NO-GO evidence summary>" --note "<top blocker or green proof>"
203
- devrites-engine timeline log completed --skill rite-seal --slug <slug> --outcome "<go|no-go>" --decision "<verdict>"
131
+ devrites-engine timeline log run-finished \
132
+ --slug <slug> \
133
+ --outcome "<passed|blocked>" \
134
+ --execution-mode named \
135
+ --guard-strength n/a \
136
+ --reason-id "<DRV-GATE-SEAL-PASSED on GO; otherwise the blocking DRV-* reason>" \
137
+ --host "<claude|codex>" \
138
+ --evidence .devrites/work/<slug>/seal.md
204
139
  ```
205
140
 
206
141
  ## `seal.md` template
@@ -25,6 +25,19 @@ For each risky step, state how to back it out:
25
25
  - A new external dependency with no failure handling is at least **Important**.
26
26
  - Record the chosen rollback path in `seal.md` → "Rollback / Recovery".
27
27
 
28
+ ## Fresh-context fallback weighting
29
+
30
+ An inline final-rung review is useful signal but **not independent evidence**:
31
+
32
+ - Record `independence: fallback` and a roster skip reason; never log it as a dispatched
33
+ reviewer or a clean fresh-context pass.
34
+ - Preserve its findings at their normal severity. A clean inline result still leaves an
35
+ **Important assurance gap** and cannot silently satisfy a required axis.
36
+ - Seal remains NO-GO until that axis runs through a fresh-context spawn, or the human
37
+ explicitly accepts the reduced assurance in `seal.md`. AFK never auto-accepts it.
38
+ - Security or irreversible-risk scope has no reduced-assurance override: unavailable
39
+ independent review remains NO-GO.
40
+
28
41
  ## Destructive operations
29
42
  Confirm any destructive step with the user before shipping. Verify backups exist where
30
43
  relevant. Never treat an irreversible action as routine.
@@ -1,69 +1,64 @@
1
- # Design memory: roll proven design language into project `DESIGN.md`
1
+ # Design memory: record proven design rules in `DESIGN.md`
2
2
 
3
- Optional, UI-only step at `/rite-ship`. A feature's design decisions live in its
4
- feature-scoped `design-brief.md` and are thrown away when the workspace archives. **Design
5
- memory** is the deliberate exception: when a UI feature ships, roll the design language it
6
- *proved* up into a project-level `DESIGN.md`, so the next feature's `devrites-ux-shape`
7
- inherits the system instead of re-discovering it.
3
+ This optional `/rite-ship` step applies only to UI features. Feature design decisions
4
+ live in `design-brief.md` and archive with the workspace. With the user's approval,
5
+ copy proven, reusable design rules into the project-level `DESIGN.md` for later
6
+ features.
8
7
 
9
- The consumers already exist: `devrites-ux-shape` §1 and
10
- `devrites-frontend-craft/reference/design-references.md` both read `DESIGN.md` when present.
11
- This step is the missing **producer**. It closes the loop: feature N seals its design
12
- language → feature N+1 builds to it.
8
+ `devrites-ux-shape` §1 and
9
+ `devrites-frontend-craft/reference/design-references.md` read `DESIGN.md` when present.
10
+ This step writes that file from sealed feature evidence.
13
11
 
14
12
  ## When it runs
15
13
  - **UI features only.** No UI in the diff → skip silently.
16
14
  - **At ship, GO sealed, after the git plan, before type-GO** (step 2a), so the user sees
17
15
  the full staged change set (code + `DESIGN.md`) under the single type-GO that ships it.
18
- - **Opt-in and confirmed.** Persisting to a project-wide artifact is outside feature scope
19
- (`standards/core.md` rule 7), so it is *never silent*. Present a ranked option set
16
+ - **Opt in and confirm.** A project-wide artifact is outside feature scope
17
+ (`standards/core.md` rule 7), so never write it silently. Present a ranked option set
20
18
  (see [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md), "Option set");
21
19
  **default is skip**. The user opts to persist.
22
- - **AFK**: first-time `DESIGN.md` *creation* is treated as a `validating` gate (a new
23
- persistent project artifact): propose + queue, don't auto-create. An *append* to an
20
+ - **AFK:** first-time `DESIGN.md` creation is a `validating` gate because it adds a
21
+ persistent project artifact. Propose and queue it; do not create it automatically. An append to an
24
22
  existing `DESIGN.md` is `advisory` and may auto-proceed when `allow_gates` permits, since
25
23
  it only adds evidence-proven entries.
26
24
 
27
25
  ## Inputs (proven only)
28
26
  - `design-brief.md`: direction, color strategy, **calibration** (density / motion), key
29
27
  states, named anchors, and the per-slice **Build-time refinements**.
30
- - The **final diff** + `touched-files.md`: what tokens / components / states *shipped* (the evidence). Roll up only what the diff proves, not what the brief intended.
28
+ - The **final diff** and `touched-files.md`: the tokens, components, and states that
29
+ shipped. Record only what the diff proves, not everything the brief intended.
31
30
  - Existing `DESIGN.md` if present: the merge target.
32
31
 
33
- ## What to roll up: the project's *converged* system, evidence-gated
34
- Only entries the shipped, proven feature establishes. Each is durable, cross-feature design
35
- language, not this feature's one-off choices.
32
+ ## What to record
33
+ Record only reusable rules established by the shipped, proven feature. Exclude choices
34
+ that apply only to this feature.
36
35
  - **Tokens introduced + used:** new color roles / spacing steps / type steps / elevation
37
36
  / radius that shipped and are reusable. Names and values, mirrored from the code.
38
- - **Color strategy + calibration baseline:** the strategy (Restrained / Committed / …) and
39
- density / motion the project keeps landing on; note a deviation as a deviation, not a new
37
+ - **Color strategy and calibration baseline:** the strategy (Restrained / Committed / …) and
38
+ established density / motion; record a deviation as a deviation, not a new
40
39
  default.
41
40
  - **Type & spacing scales** in actual use; **motion** classes + easing; **materiality**
42
41
  (elevation set, hairline usage, glass / texture policy).
43
- - **Component behaviors:** for each shared component this feature established or extended:
44
- the states it ships and its interaction model. Grows one feature at a time.
45
- - **Named-anchor lineage:** the anchors features steered toward, so later work stays
46
- coherent with what's already built.
42
+ - **Component behaviors:** for each shared component established or extended by the
43
+ feature, record its shipped states and interaction model.
44
+ - **Named-anchor lineage:** the anchors used by shipped features.
47
45
  - **Anti-slop exceptions:** any banned default the project *intentionally* uses (with the
48
46
  why), so build / polish don't "correct" a deliberate choice.
49
47
 
50
48
  ## Merge discipline
51
49
  - **Append, don't overwrite.** Add proven entries; never silently rewrite an existing one.
52
- - **Conflict is a question, not an edit.** A new token / font / strategy that contradicts an
53
- existing `DESIGN.md` entry surface it to the user (the option set), don't resolve it
54
- yourself. One design system per project.
55
- - **Never invent.** If the feature didn't prove it, it doesn't go in. `DESIGN.md` is design
56
- *memory*, not design *aspiration*.
57
- - **Attribute + keep lean.** Tag each new entry with the feature slug so the lineage is
58
- legible; one good line beats a paragraph. The file is read every future spec: keep it
59
- scannable.
50
+ - **Ask about conflicts.** If a new token, font, or strategy contradicts an existing
51
+ `DESIGN.md` entry, present the option set to the user. Do not resolve it yourself.
52
+ Keep one design system per project.
53
+ - **Never invent.** Include only rules proven by the feature.
54
+ - **Attribute and keep it short.** Tag each new entry with the feature slug. Future
55
+ specs read this file, so use concise entries.
60
56
 
61
57
  ## How it commits
62
- `DESIGN.md` is a tracked project artifact, so it ships **in the feature commit**:
58
+ `DESIGN.md` is a tracked project artifact and ships **in the feature commit**:
63
59
  1. Write / update `<project-root>/DESIGN.md` from the template below.
64
- 2. **Append `DESIGN.md` to `touched-files.md`** so the existing ship commit-scoping (SKILL
65
- steps 2 + 4) stages it: the design-memory write rides the same commit and the same
66
- type-GO, no second commit.
60
+ 2. **Append `DESIGN.md` to `touched-files.md`** so the existing commit scope (SKILL
61
+ steps 2 and 4) stages it under the same type-GO. Do not create a second commit.
67
62
  3. Note the rollup in `ship.md` (what was added, or "design-memory: skipped by user").
68
63
 
69
64
  ## `DESIGN.md` template (project-level, stack-agnostic)