devrites 3.2.28 → 4.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 (897) hide show
  1. package/CHANGELOG.md +16 -144
  2. package/NOTICE.md +6 -5
  3. package/README.md +187 -95
  4. package/SECURITY.md +103 -79
  5. package/bin/devrites.mjs +140 -24
  6. package/docs/adr/0003-gate-model-hitl-pause.md +1 -1
  7. package/docs/adr/0013-native-codex-agent-orchestration.md +74 -0
  8. package/docs/adr/0014-native-host-hook-boundary.md +64 -0
  9. package/docs/adr/0015-read-only-root-native-orchestration.md +96 -0
  10. package/docs/adr/0016-codex-writer-fail-closed.md +53 -0
  11. package/docs/adr/0017-native-codex-writer-agent.md +63 -0
  12. package/docs/adr/0018-native-sandbox-instruction-writer-boundary.md +66 -0
  13. package/docs/adr/0019-native-boundary-with-deterministic-gates.md +48 -0
  14. package/docs/adr/0020-thin-engine-native-orchestration-boundary.md +54 -0
  15. package/docs/adr/0021-observable-workspace-compatibility.md +49 -0
  16. package/docs/adr/0022-native-orchestration-thin-engine.md +90 -0
  17. package/docs/adr/0023-native-workspace-reads-line-output.md +71 -0
  18. package/docs/adr/0024-native-policy-offline-installer-boundary.md +111 -0
  19. package/docs/adr/0025-evidence-gated-workspace-upgrades.md +64 -0
  20. package/docs/adr/0026-content-bound-proof-and-bounded-inputs.md +169 -0
  21. package/docs/adr/0027-content-bound-build-readiness.md +77 -0
  22. package/docs/adr/README.md +26 -11
  23. package/docs/agents/domain.md +2 -1
  24. package/docs/agents/issue-driven-rites.md +1 -1
  25. package/docs/architecture.md +191 -103
  26. package/docs/candidate-integrity.md +138 -0
  27. package/docs/capability-surface-selection.md +15 -5
  28. package/docs/cli.md +139 -92
  29. package/docs/command-map.md +88 -63
  30. package/docs/engine/commands.md +115 -507
  31. package/docs/engine/state-schema.md +94 -113
  32. package/docs/engine/workspace-schema.md +169 -229
  33. package/docs/flow.md +113 -68
  34. package/docs/harness-compliance.md +29 -56
  35. package/docs/markdown-instruction-upgrade-2026-08-02.md +302 -0
  36. package/docs/orchestration.md +136 -149
  37. package/docs/porting-to-a-new-harness.md +22 -7
  38. package/docs/quick-reference.md +21 -8
  39. package/docs/release.md +47 -4
  40. package/docs/skills.md +111 -72
  41. package/docs/templates/CRITIC_REVIEW_PACKET_TEMPLATE.md +2 -0
  42. package/docs/upstream-workflow-benchmark-2026-08-01.md +655 -0
  43. package/docs/usage.md +99 -65
  44. package/engine/Makefile +1 -2
  45. package/engine/cmd/releasepack/main.go +45 -25
  46. package/engine/cmd/releasepack/main_test.go +69 -0
  47. package/engine/commands.go +8 -258
  48. package/engine/harnessmatrix_test.go +28 -41
  49. package/engine/internal/devritespaths/paths.go +12 -28
  50. package/engine/internal/fsutil/copy.go +8 -0
  51. package/engine/internal/gate/gate.go +104 -105
  52. package/engine/internal/gate/gate_test.go +94 -84
  53. package/engine/internal/gate/readiness_binding.go +203 -0
  54. package/engine/internal/gate/readiness_binding_test.go +271 -0
  55. package/engine/internal/gitenv/env.go +46 -0
  56. package/engine/internal/gitenv/env_test.go +48 -0
  57. package/engine/internal/hostpack/hostpack.go +16 -20
  58. package/engine/internal/hostpack/hostpack_test.go +6 -6
  59. package/engine/internal/install/install.go +289 -511
  60. package/engine/internal/install/install_test.go +218 -306
  61. package/engine/internal/lib/candidate.go +475 -0
  62. package/engine/internal/lib/candidate_test.go +503 -0
  63. package/engine/internal/lib/closeout.go +17 -21
  64. package/engine/internal/lib/closeout_test.go +23 -0
  65. package/engine/internal/lib/cursor_compat_test.go +12 -75
  66. package/engine/internal/lib/evidencefresh.go +58 -47
  67. package/engine/internal/lib/evidencefresh_test.go +120 -0
  68. package/engine/internal/lib/resolve.go +13 -35
  69. package/engine/internal/lib/resolve_remediation_test.go +5 -17
  70. package/engine/internal/lib/secretscan.go +432 -0
  71. package/engine/internal/lib/secretscan_test.go +555 -0
  72. package/engine/internal/lib/util.go +24 -65
  73. package/engine/internal/lib/util_test.go +44 -0
  74. package/engine/internal/markdowntext/markdowntext.go +108 -0
  75. package/engine/internal/markdowntext/markdowntext_test.go +58 -0
  76. package/engine/internal/markdowntext/testdata/structural.json +27 -0
  77. package/engine/internal/reason/reason.go +2 -123
  78. package/engine/internal/reason/reason_test.go +4 -2
  79. package/engine/internal/rootfacts/facts.go +6 -8
  80. package/engine/internal/rootfacts/facts_test.go +20 -0
  81. package/engine/internal/state/cmd/workflowmanifest/main.go +10 -12
  82. package/engine/internal/state/cursor.go +53 -14
  83. package/engine/internal/state/cursor_test.go +57 -0
  84. package/engine/internal/state/feature.go +64 -154
  85. package/engine/internal/state/schema.go +24 -50
  86. package/engine/internal/state/state_test.go +151 -140
  87. package/engine/internal/state/status.go +4 -17
  88. package/engine/internal/state/workflow_manifest.json +9 -89
  89. package/engine/main.go +73 -502
  90. package/engine/root_routing_test.go +183 -212
  91. package/engine/testdata/fixtures/basic/devrites-root/{features/auth-tokens/feature.md → work/auth-tokens/README.md} +0 -1
  92. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/architecture.md +3 -0
  93. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/assumptions.md +3 -0
  94. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/brief.md +3 -0
  95. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/decision-coverage.md +3 -0
  96. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/eng-review.md +3 -0
  97. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/questions.md +3 -0
  98. package/engine/testdata/fixtures/basic/devrites-root/{features/auth-tokens/status.md → work/auth-tokens/state.md} +3 -0
  99. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/test-plan.md +3 -0
  100. package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/traceability.md +3 -0
  101. package/engine/testdata/fixtures/basic/devrites-root/{features/search-ranking/feature.md → work/search-ranking/README.md} +0 -1
  102. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/assumptions.md +3 -0
  103. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/brief.md +3 -0
  104. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/decisions.md +3 -0
  105. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/questions.md +3 -0
  106. package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +2 -0
  107. package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
  108. package/engine/testdata/golden/TestParityCloseOut/active_slug_cleared.golden +1 -1
  109. package/engine/tests/adr_0003_gate_exit_code_test.go +2 -2
  110. package/engine/tests/adr_0011_define_plan_test.go +2 -2
  111. package/engine/tests/adr_0027_readiness_binding_test.go +106 -0
  112. package/engine/tests/cli_test.go +24 -107
  113. package/engine/tests/gate_test.go +177 -200
  114. package/engine/tests/meta_test.go +5 -35
  115. package/engine/tests/parity_closeout_test.go +12 -12
  116. package/engine/tests/parity_resolve_test.go +6 -16
  117. package/engine/tests/parity_test.go +8 -302
  118. package/install.sh +201 -34
  119. package/pack/.claude/agents/devrites-code-reviewer.md +9 -18
  120. package/pack/.claude/agents/devrites-devex-reviewer.md +10 -18
  121. package/pack/.claude/agents/devrites-doubt-reviewer.md +10 -20
  122. package/pack/.claude/agents/devrites-evidence-scout.md +14 -26
  123. package/pack/.claude/agents/devrites-frontend-reviewer.md +9 -15
  124. package/pack/.claude/agents/devrites-performance-reviewer.md +13 -21
  125. package/pack/.claude/agents/devrites-plan-drafter.md +24 -28
  126. package/pack/.claude/agents/devrites-plan-reviewer.md +30 -47
  127. package/pack/.claude/agents/devrites-proof-runner.md +41 -47
  128. package/pack/.claude/agents/devrites-retrospector.md +34 -79
  129. package/pack/.claude/agents/devrites-security-auditor.md +9 -17
  130. package/pack/.claude/agents/devrites-simplifier-reviewer.md +9 -18
  131. package/pack/.claude/agents/devrites-slice-wright.md +44 -62
  132. package/pack/.claude/agents/devrites-spec-reviewer.md +38 -50
  133. package/pack/.claude/agents/devrites-strategy-reviewer.md +10 -19
  134. package/pack/.claude/agents/devrites-test-analyst.md +22 -21
  135. package/pack/.claude/agents/devrites-upgrade-planner.md +52 -71
  136. package/pack/.claude/settings.json +12 -100
  137. package/pack/.claude/skills/devrites-api-interface/SKILL.md +1 -2
  138. package/pack/.claude/skills/devrites-audit/SKILL.md +6 -9
  139. package/pack/.claude/skills/devrites-browser-proof/SKILL.md +0 -1
  140. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -27
  141. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +22 -33
  142. package/pack/.claude/skills/devrites-doubt/SKILL.md +4 -6
  143. package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +1 -2
  144. package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +2 -1
  145. package/pack/.claude/skills/devrites-interview/SKILL.md +31 -36
  146. package/pack/.claude/skills/devrites-lib/SKILL.md +37 -66
  147. package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +51 -0
  148. package/pack/.claude/skills/devrites-lib/reference/intent-map.md +20 -12
  149. package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +22 -0
  150. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +35 -110
  151. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +26 -93
  152. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +6 -3
  153. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +43 -34
  154. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +90 -216
  155. package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +1 -1
  156. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +9 -28
  157. package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +13 -11
  158. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +59 -54
  159. package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -5
  160. package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +29 -143
  161. package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +5 -6
  162. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +13 -31
  163. package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +112 -82
  164. package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +71 -45
  165. package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +22 -11
  166. package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +15 -24
  167. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +106 -37
  168. package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -4
  169. package/pack/.claude/skills/devrites-source-driven/SKILL.md +3 -4
  170. package/pack/.claude/skills/devrites-ux-shape/SKILL.md +3 -3
  171. package/pack/.claude/skills/rite/SKILL.md +12 -13
  172. package/pack/.claude/skills/rite/reference/menu.md +11 -11
  173. package/pack/.claude/skills/rite-adopt/SKILL.md +29 -84
  174. package/pack/.claude/skills/rite-adopt/reference/adoption.md +16 -50
  175. package/pack/.claude/skills/rite-autocomplete/SKILL.md +65 -54
  176. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +24 -17
  177. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +18 -21
  178. package/pack/.claude/skills/rite-build/SKILL.md +28 -34
  179. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +36 -34
  180. package/pack/.claude/skills/rite-build/reference/anti-patterns.md +5 -19
  181. package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +10 -9
  182. package/pack/.claude/skills/rite-build/reference/checkpoint.md +17 -17
  183. package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +3 -3
  184. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +11 -14
  185. package/pack/.claude/skills/rite-build/reference/output.md +14 -24
  186. package/pack/.claude/skills/rite-build/reference/phase-contract.md +49 -188
  187. package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
  188. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +43 -133
  189. package/pack/.claude/skills/rite-clarify/SKILL.md +46 -40
  190. package/pack/.claude/skills/rite-clarify/reference/decision-coverage.md +4 -10
  191. package/pack/.claude/skills/rite-converge/SKILL.md +9 -33
  192. package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +2 -2
  193. package/pack/.claude/skills/rite-customize/SKILL.md +34 -50
  194. package/pack/.claude/skills/rite-define/SKILL.md +34 -58
  195. package/pack/.claude/skills/rite-define/reference/plan-template.md +15 -0
  196. package/pack/.claude/skills/rite-doctor/SKILL.md +52 -64
  197. package/pack/.claude/skills/rite-dogfood/SKILL.md +1 -2
  198. package/pack/.claude/skills/rite-explain/SKILL.md +1 -20
  199. package/pack/.claude/skills/rite-frame/SKILL.md +1 -7
  200. package/pack/.claude/skills/rite-frame/reference/failure-modes.md +1 -1
  201. package/pack/.claude/skills/rite-handoff/SKILL.md +1 -2
  202. package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +1 -1
  203. package/pack/.claude/skills/rite-learn/SKILL.md +44 -104
  204. package/pack/.claude/skills/rite-plan/SKILL.md +14 -26
  205. package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +4 -1
  206. package/pack/.claude/skills/rite-polish/SKILL.md +20 -28
  207. package/pack/.claude/skills/rite-polish/reference/adr-promotion.md +11 -0
  208. package/pack/{generated/claude/skills/rite-ship → .claude/skills/rite-polish}/reference/design-memory.md +23 -21
  209. package/pack/.claude/skills/rite-polish/reference/ledger.md +62 -0
  210. package/pack/.claude/skills/rite-pov/SKILL.md +28 -32
  211. package/pack/.claude/skills/rite-pr-feedback/SKILL.md +0 -1
  212. package/pack/.claude/skills/rite-pressure-test/SKILL.md +6 -13
  213. package/pack/.claude/skills/rite-prototype/SKILL.md +0 -6
  214. package/pack/.claude/skills/rite-prove/SKILL.md +73 -68
  215. package/pack/.claude/skills/rite-prove/reference/acceptance-proof.md +34 -30
  216. package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +15 -14
  217. package/pack/.claude/skills/rite-quick/SKILL.md +5 -19
  218. package/pack/.claude/skills/rite-resolve/SKILL.md +4 -21
  219. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
  220. package/pack/.claude/skills/rite-review/SKILL.md +34 -57
  221. package/pack/.claude/skills/rite-seal/SKILL.md +54 -87
  222. package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +2 -2
  223. package/pack/.claude/skills/rite-seal/reference/final-evidence.md +31 -56
  224. package/pack/.claude/skills/rite-seal/reference/go-no-go.md +27 -51
  225. package/pack/.claude/skills/rite-seal/reference/output.md +2 -4
  226. package/pack/.claude/skills/rite-seal/reference/phase-contract.md +42 -140
  227. package/pack/.claude/skills/rite-seal/reference/risk-and-rollback.md +2 -2
  228. package/pack/.claude/skills/rite-seal/reference/seal-template.md +17 -28
  229. package/pack/.claude/skills/rite-ship/SKILL.md +65 -93
  230. package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +4 -1
  231. package/pack/.claude/skills/rite-ship/reference/close-out.md +4 -12
  232. package/pack/.claude/skills/rite-ship/reference/git-ship.md +86 -48
  233. package/pack/.claude/skills/rite-ship/reference/ship-template.md +22 -16
  234. package/pack/.claude/skills/rite-spec/SKILL.md +62 -95
  235. package/pack/.claude/skills/rite-spec/reference/investigation.md +1 -4
  236. package/pack/.claude/skills/rite-spec/reference/question-protocol.md +21 -20
  237. package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +16 -17
  238. package/pack/.claude/skills/rite-spec/reference/spec-template.md +47 -49
  239. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +28 -13
  240. package/pack/.claude/skills/rite-status/SKILL.md +30 -88
  241. package/pack/.claude/skills/rite-temper/SKILL.md +12 -31
  242. package/pack/.claude/skills/rite-upgrade/SKILL.md +86 -101
  243. package/pack/.claude/skills/rite-vet/SKILL.md +88 -117
  244. package/pack/.claude/skills/rite-vet/reference/artifacts.md +56 -50
  245. package/pack/.claude/skills/rite-vet/reference/cross-model.md +15 -39
  246. package/pack/.claude/skills/rite-vet/reference/depth.md +2 -2
  247. package/pack/.claude/skills/rite-vet/reference/review-axes.md +3 -6
  248. package/pack/.claude/skills/rite-zoom-out/SKILL.md +0 -6
  249. package/pack/generated/README.md +2 -2
  250. package/pack/generated/claude/agents/devrites-code-reviewer.md +9 -18
  251. package/pack/generated/claude/agents/devrites-devex-reviewer.md +10 -18
  252. package/pack/generated/claude/agents/devrites-doubt-reviewer.md +10 -20
  253. package/pack/generated/claude/agents/devrites-evidence-scout.md +14 -26
  254. package/pack/generated/claude/agents/devrites-frontend-reviewer.md +9 -15
  255. package/pack/generated/claude/agents/devrites-performance-reviewer.md +13 -21
  256. package/pack/generated/claude/agents/devrites-plan-drafter.md +24 -28
  257. package/pack/generated/claude/agents/devrites-plan-reviewer.md +30 -47
  258. package/pack/generated/claude/agents/devrites-proof-runner.md +41 -47
  259. package/pack/generated/claude/agents/devrites-retrospector.md +34 -79
  260. package/pack/generated/claude/agents/devrites-security-auditor.md +9 -17
  261. package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +9 -18
  262. package/pack/generated/claude/agents/devrites-slice-wright.md +44 -62
  263. package/pack/generated/claude/agents/devrites-spec-reviewer.md +38 -50
  264. package/pack/generated/claude/agents/devrites-strategy-reviewer.md +10 -19
  265. package/pack/generated/claude/agents/devrites-test-analyst.md +22 -21
  266. package/pack/generated/claude/agents/devrites-upgrade-planner.md +52 -71
  267. package/pack/generated/claude/settings.json +12 -100
  268. package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +1 -2
  269. package/pack/generated/claude/skills/devrites-audit/SKILL.md +6 -9
  270. package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +0 -1
  271. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -27
  272. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +22 -33
  273. package/pack/generated/claude/skills/devrites-doubt/SKILL.md +4 -6
  274. package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +1 -2
  275. package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +2 -1
  276. package/pack/generated/claude/skills/devrites-interview/SKILL.md +31 -36
  277. package/pack/generated/claude/skills/devrites-lib/SKILL.md +37 -66
  278. package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +51 -0
  279. package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +20 -12
  280. package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +22 -0
  281. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +35 -110
  282. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +26 -93
  283. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +6 -3
  284. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +43 -34
  285. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +90 -216
  286. package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +1 -1
  287. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +9 -28
  288. package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +13 -11
  289. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +59 -54
  290. package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -5
  291. package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +29 -143
  292. package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +5 -6
  293. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +13 -31
  294. package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +112 -82
  295. package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +71 -45
  296. package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +22 -11
  297. package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +15 -24
  298. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +106 -37
  299. package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -4
  300. package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +3 -4
  301. package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +3 -3
  302. package/pack/generated/claude/skills/rite/SKILL.md +12 -13
  303. package/pack/generated/claude/skills/rite/reference/menu.md +11 -11
  304. package/pack/generated/claude/skills/rite-adopt/SKILL.md +29 -84
  305. package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +16 -50
  306. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +65 -54
  307. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +24 -17
  308. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +18 -21
  309. package/pack/generated/claude/skills/rite-build/SKILL.md +28 -34
  310. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +36 -34
  311. package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +5 -19
  312. package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +10 -9
  313. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +17 -17
  314. package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +3 -3
  315. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +11 -14
  316. package/pack/generated/claude/skills/rite-build/reference/output.md +14 -24
  317. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +49 -188
  318. package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
  319. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +43 -133
  320. package/pack/generated/claude/skills/rite-clarify/SKILL.md +46 -40
  321. package/pack/generated/claude/skills/rite-clarify/reference/decision-coverage.md +4 -10
  322. package/pack/generated/claude/skills/rite-converge/SKILL.md +9 -33
  323. package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +2 -2
  324. package/pack/generated/claude/skills/rite-customize/SKILL.md +34 -50
  325. package/pack/generated/claude/skills/rite-define/SKILL.md +34 -58
  326. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +15 -0
  327. package/pack/generated/claude/skills/rite-doctor/SKILL.md +52 -64
  328. package/pack/generated/claude/skills/rite-dogfood/SKILL.md +1 -2
  329. package/pack/generated/claude/skills/rite-explain/SKILL.md +1 -20
  330. package/pack/generated/claude/skills/rite-frame/SKILL.md +1 -7
  331. package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +1 -1
  332. package/pack/generated/claude/skills/rite-handoff/SKILL.md +1 -2
  333. package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +1 -1
  334. package/pack/generated/claude/skills/rite-learn/SKILL.md +44 -104
  335. package/pack/generated/claude/skills/rite-plan/SKILL.md +14 -26
  336. package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +4 -1
  337. package/pack/generated/claude/skills/rite-polish/SKILL.md +20 -28
  338. package/pack/generated/claude/skills/rite-polish/reference/adr-promotion.md +11 -0
  339. package/pack/generated/{codex/skills/rite-ship → claude/skills/rite-polish}/reference/design-memory.md +23 -21
  340. package/pack/generated/claude/skills/rite-polish/reference/ledger.md +62 -0
  341. package/pack/generated/claude/skills/rite-pov/SKILL.md +28 -32
  342. package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +0 -1
  343. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +6 -13
  344. package/pack/generated/claude/skills/rite-prototype/SKILL.md +0 -6
  345. package/pack/generated/claude/skills/rite-prove/SKILL.md +73 -68
  346. package/pack/generated/claude/skills/rite-prove/reference/acceptance-proof.md +34 -30
  347. package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +15 -14
  348. package/pack/generated/claude/skills/rite-quick/SKILL.md +5 -19
  349. package/pack/generated/claude/skills/rite-resolve/SKILL.md +4 -21
  350. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
  351. package/pack/generated/claude/skills/rite-review/SKILL.md +34 -57
  352. package/pack/generated/claude/skills/rite-seal/SKILL.md +54 -87
  353. package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +2 -2
  354. package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +31 -56
  355. package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +27 -51
  356. package/pack/generated/claude/skills/rite-seal/reference/output.md +2 -4
  357. package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +42 -140
  358. package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +2 -2
  359. package/pack/generated/claude/skills/rite-seal/reference/seal-template.md +17 -28
  360. package/pack/generated/claude/skills/rite-ship/SKILL.md +65 -93
  361. package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +4 -1
  362. package/pack/generated/claude/skills/rite-ship/reference/close-out.md +4 -12
  363. package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +86 -48
  364. package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +22 -16
  365. package/pack/generated/claude/skills/rite-spec/SKILL.md +62 -95
  366. package/pack/generated/claude/skills/rite-spec/reference/investigation.md +1 -4
  367. package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +21 -20
  368. package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +16 -17
  369. package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +47 -49
  370. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +28 -13
  371. package/pack/generated/claude/skills/rite-status/SKILL.md +30 -88
  372. package/pack/generated/claude/skills/rite-temper/SKILL.md +12 -31
  373. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +86 -101
  374. package/pack/generated/claude/skills/rite-vet/SKILL.md +88 -117
  375. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +56 -50
  376. package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +15 -39
  377. package/pack/generated/claude/skills/rite-vet/reference/depth.md +2 -2
  378. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +3 -6
  379. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +0 -6
  380. package/pack/generated/codex/AGENTS.md +5 -4
  381. package/pack/generated/codex/agents/devrites-code-reviewer.toml +8 -27
  382. package/pack/generated/codex/agents/devrites-devex-reviewer.toml +9 -27
  383. package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +9 -29
  384. package/pack/generated/codex/agents/devrites-evidence-scout.toml +14 -36
  385. package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +8 -24
  386. package/pack/generated/codex/agents/devrites-performance-reviewer.toml +12 -30
  387. package/pack/generated/codex/agents/devrites-plan-drafter.toml +24 -38
  388. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +30 -57
  389. package/pack/generated/codex/agents/devrites-proof-runner.toml +41 -57
  390. package/pack/generated/codex/agents/devrites-retrospector.toml +34 -89
  391. package/pack/generated/codex/agents/devrites-security-auditor.toml +8 -26
  392. package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +8 -27
  393. package/pack/generated/codex/agents/devrites-slice-wright.toml +44 -71
  394. package/pack/generated/codex/agents/devrites-spec-reviewer.toml +38 -60
  395. package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +9 -28
  396. package/pack/generated/codex/agents/devrites-test-analyst.toml +21 -30
  397. package/pack/generated/codex/agents/devrites-upgrade-planner.toml +52 -81
  398. package/pack/generated/codex/config.toml +7 -0
  399. package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +1 -21
  400. package/pack/generated/codex/skills/devrites-audit/SKILL.md +6 -28
  401. package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +1 -21
  402. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -46
  403. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +22 -33
  404. package/pack/generated/codex/skills/devrites-doubt/SKILL.md +4 -25
  405. package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +1 -21
  406. package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +2 -1
  407. package/pack/generated/codex/skills/devrites-interview/SKILL.md +32 -56
  408. package/pack/generated/codex/skills/devrites-lib/SKILL.md +38 -86
  409. package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +51 -0
  410. package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +20 -12
  411. package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +22 -0
  412. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +35 -110
  413. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +26 -93
  414. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +6 -3
  415. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +43 -34
  416. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +90 -216
  417. package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +1 -1
  418. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +9 -28
  419. package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +13 -11
  420. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +59 -54
  421. package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -5
  422. package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +29 -143
  423. package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +5 -6
  424. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +13 -31
  425. package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +112 -82
  426. package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +71 -45
  427. package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +22 -11
  428. package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +15 -24
  429. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +106 -37
  430. package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -23
  431. package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +3 -23
  432. package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +3 -22
  433. package/pack/generated/codex/skills/rite/SKILL.md +12 -32
  434. package/pack/generated/codex/skills/rite/reference/menu.md +11 -11
  435. package/pack/generated/codex/skills/rite-adopt/SKILL.md +29 -103
  436. package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +16 -50
  437. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +65 -73
  438. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +24 -17
  439. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +18 -21
  440. package/pack/generated/codex/skills/rite-build/SKILL.md +28 -53
  441. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +36 -34
  442. package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +5 -19
  443. package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +10 -9
  444. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +17 -17
  445. package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +3 -3
  446. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +11 -14
  447. package/pack/generated/codex/skills/rite-build/reference/output.md +14 -24
  448. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +49 -188
  449. package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
  450. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +43 -133
  451. package/pack/generated/codex/skills/rite-clarify/SKILL.md +46 -59
  452. package/pack/generated/codex/skills/rite-clarify/reference/decision-coverage.md +4 -10
  453. package/pack/generated/codex/skills/rite-converge/SKILL.md +9 -52
  454. package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +2 -2
  455. package/pack/generated/codex/skills/rite-customize/SKILL.md +32 -67
  456. package/pack/generated/codex/skills/rite-define/SKILL.md +34 -77
  457. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +15 -0
  458. package/pack/generated/codex/skills/rite-doctor/SKILL.md +52 -83
  459. package/pack/generated/codex/skills/rite-dogfood/SKILL.md +1 -21
  460. package/pack/generated/codex/skills/rite-explain/SKILL.md +1 -39
  461. package/pack/generated/codex/skills/rite-frame/SKILL.md +1 -26
  462. package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +1 -1
  463. package/pack/generated/codex/skills/rite-handoff/SKILL.md +1 -21
  464. package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +1 -1
  465. package/pack/generated/codex/skills/rite-learn/SKILL.md +44 -123
  466. package/pack/generated/codex/skills/rite-plan/SKILL.md +14 -45
  467. package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +4 -1
  468. package/pack/generated/codex/skills/rite-polish/SKILL.md +20 -47
  469. package/pack/generated/codex/skills/rite-polish/reference/adr-promotion.md +11 -0
  470. package/pack/{.claude/skills/rite-ship → generated/codex/skills/rite-polish}/reference/design-memory.md +23 -21
  471. package/pack/generated/codex/skills/rite-polish/reference/ledger.md +62 -0
  472. package/pack/generated/codex/skills/rite-pov/SKILL.md +28 -51
  473. package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +0 -20
  474. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +6 -32
  475. package/pack/generated/codex/skills/rite-prototype/SKILL.md +0 -25
  476. package/pack/generated/codex/skills/rite-prove/SKILL.md +73 -87
  477. package/pack/generated/codex/skills/rite-prove/reference/acceptance-proof.md +34 -30
  478. package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +15 -14
  479. package/pack/generated/codex/skills/rite-quick/SKILL.md +5 -38
  480. package/pack/generated/codex/skills/rite-resolve/SKILL.md +4 -40
  481. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +2 -2
  482. package/pack/generated/codex/skills/rite-review/SKILL.md +34 -76
  483. package/pack/generated/codex/skills/rite-seal/SKILL.md +51 -103
  484. package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +2 -2
  485. package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +31 -56
  486. package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +27 -51
  487. package/pack/generated/codex/skills/rite-seal/reference/output.md +2 -4
  488. package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +42 -140
  489. package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +2 -2
  490. package/pack/generated/codex/skills/rite-seal/reference/seal-template.md +17 -28
  491. package/pack/generated/codex/skills/rite-ship/SKILL.md +65 -112
  492. package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +4 -1
  493. package/pack/generated/codex/skills/rite-ship/reference/close-out.md +4 -12
  494. package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +86 -48
  495. package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +22 -16
  496. package/pack/generated/codex/skills/rite-spec/SKILL.md +62 -114
  497. package/pack/generated/codex/skills/rite-spec/reference/investigation.md +1 -4
  498. package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +21 -20
  499. package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +16 -17
  500. package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +47 -49
  501. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +28 -13
  502. package/pack/generated/codex/skills/rite-status/SKILL.md +30 -107
  503. package/pack/generated/codex/skills/rite-temper/SKILL.md +12 -50
  504. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +86 -120
  505. package/pack/generated/codex/skills/rite-vet/SKILL.md +88 -136
  506. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +56 -50
  507. package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +15 -39
  508. package/pack/generated/codex/skills/rite-vet/reference/depth.md +2 -2
  509. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +3 -6
  510. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +0 -25
  511. package/package.json +6 -5
  512. package/scripts/build-host-artifacts.sh +5 -9
  513. package/scripts/codex-generate.sh +18 -278
  514. package/scripts/install-lib.sh +121 -34
  515. package/uninstall.sh +19 -17
  516. package/update.sh +26 -18
  517. package/docs/engine/agent-contract.md +0 -172
  518. package/docs/extensions.md +0 -178
  519. package/engine/git_guard.go +0 -187
  520. package/engine/git_guard_test.go +0 -283
  521. package/engine/harnessmatrix.go +0 -60
  522. package/engine/hookpolicy.go +0 -113
  523. package/engine/hookpolicy_test.go +0 -160
  524. package/engine/hooks.go +0 -677
  525. package/engine/hooks_agent_dispatch.go +0 -1726
  526. package/engine/hooks_events_test.go +0 -431
  527. package/engine/hooks_workspace.go +0 -1196
  528. package/engine/internal/doctor/doctor.go +0 -306
  529. package/engine/internal/doctor/doctor_test.go +0 -252
  530. package/engine/internal/forge/forge.go +0 -938
  531. package/engine/internal/forge/forge_test.go +0 -576
  532. package/engine/internal/forge/git.go +0 -245
  533. package/engine/internal/forge/liveness_unix.go +0 -48
  534. package/engine/internal/forge/liveness_windows.go +0 -67
  535. package/engine/internal/forge/manifest.go +0 -402
  536. package/engine/internal/harness/compliance.go +0 -96
  537. package/engine/internal/harness/harness.go +0 -301
  538. package/engine/internal/harness/harness_test.go +0 -124
  539. package/engine/internal/iohooks/detach_other.go +0 -11
  540. package/engine/internal/iohooks/detach_unix.go +0 -11
  541. package/engine/internal/iohooks/iohooks.go +0 -839
  542. package/engine/internal/iohooks/iohooks_test.go +0 -561
  543. package/engine/internal/lib/adoption.go +0 -659
  544. package/engine/internal/lib/adoption_test.go +0 -121
  545. package/engine/internal/lib/analyze.go +0 -232
  546. package/engine/internal/lib/archivesearch.go +0 -125
  547. package/engine/internal/lib/archivesearch_test.go +0 -138
  548. package/engine/internal/lib/budget.go +0 -172
  549. package/engine/internal/lib/buildreadiness.go +0 -111
  550. package/engine/internal/lib/checkacceptance.go +0 -176
  551. package/engine/internal/lib/clarifyreturn.go +0 -91
  552. package/engine/internal/lib/clarifyreturn_test.go +0 -123
  553. package/engine/internal/lib/command_other.go +0 -7
  554. package/engine/internal/lib/command_unix.go +0 -24
  555. package/engine/internal/lib/context.go +0 -280
  556. package/engine/internal/lib/conventions.go +0 -449
  557. package/engine/internal/lib/coverage.go +0 -145
  558. package/engine/internal/lib/dispatchwaive.go +0 -31
  559. package/engine/internal/lib/dispatchwaive_test.go +0 -23
  560. package/engine/internal/lib/doubtcoverage.go +0 -78
  561. package/engine/internal/lib/extensions.go +0 -622
  562. package/engine/internal/lib/extensions_test.go +0 -305
  563. package/engine/internal/lib/footprint.go +0 -239
  564. package/engine/internal/lib/gitauthority.go +0 -601
  565. package/engine/internal/lib/gitauthority_test.go +0 -346
  566. package/engine/internal/lib/jsonout.go +0 -129
  567. package/engine/internal/lib/jsonout_test.go +0 -73
  568. package/engine/internal/lib/lanes.go +0 -112
  569. package/engine/internal/lib/learnings.go +0 -397
  570. package/engine/internal/lib/learnings_inject_test.go +0 -77
  571. package/engine/internal/lib/learnings_remediation_test.go +0 -24
  572. package/engine/internal/lib/ledger.go +0 -311
  573. package/engine/internal/lib/ledger_test.go +0 -186
  574. package/engine/internal/lib/mutationgate.go +0 -89
  575. package/engine/internal/lib/observability_test.go +0 -358
  576. package/engine/internal/lib/overrides.go +0 -164
  577. package/engine/internal/lib/overrides_test.go +0 -112
  578. package/engine/internal/lib/preamble.go +0 -159
  579. package/engine/internal/lib/preamble_questions_test.go +0 -10
  580. package/engine/internal/lib/progress.go +0 -210
  581. package/engine/internal/lib/provenance.go +0 -462
  582. package/engine/internal/lib/provenance_test.go +0 -154
  583. package/engine/internal/lib/readiness_contract.json +0 -118
  584. package/engine/internal/lib/readinessartifact.go +0 -533
  585. package/engine/internal/lib/readinessartifact_test.go +0 -422
  586. package/engine/internal/lib/reconcile.go +0 -1496
  587. package/engine/internal/lib/reconcile_test.go +0 -1071
  588. package/engine/internal/lib/recoveryattempts.go +0 -298
  589. package/engine/internal/lib/recoveryattempts_test.go +0 -215
  590. package/engine/internal/lib/reviewers.go +0 -143
  591. package/engine/internal/lib/reviewers_test.go +0 -45
  592. package/engine/internal/lib/reviewerstats.go +0 -199
  593. package/engine/internal/lib/reviewerstats_test.go +0 -104
  594. package/engine/internal/lib/reviewintegrity.go +0 -143
  595. package/engine/internal/lib/reviewintegrity_test.go +0 -103
  596. package/engine/internal/lib/runbook.go +0 -295
  597. package/engine/internal/lib/runbook_context_test.go +0 -182
  598. package/engine/internal/lib/session.go +0 -1020
  599. package/engine/internal/lib/session_test.go +0 -177
  600. package/engine/internal/lib/specparse.go +0 -125
  601. package/engine/internal/lib/specskeleton.go +0 -79
  602. package/engine/internal/lib/specvalidate.go +0 -391
  603. package/engine/internal/lib/specvalidate_test.go +0 -185
  604. package/engine/internal/lib/stuck.go +0 -206
  605. package/engine/internal/lib/templates/conventions_drift.tmpl +0 -6
  606. package/engine/internal/lib/templates/conventions_ledger_header.md +0 -6
  607. package/engine/internal/lib/templates/conventions_orient_header.txt +0 -1
  608. package/engine/internal/lib/testintegrity.go +0 -199
  609. package/engine/internal/lib/testintegrity_test.go +0 -149
  610. package/engine/internal/lib/tickafk.go +0 -86
  611. package/engine/internal/migrate/migrate.go +0 -279
  612. package/engine/internal/migrate/migrate_test.go +0 -157
  613. package/engine/internal/orient/firstrun.go +0 -50
  614. package/engine/internal/orient/firstrun_test.go +0 -72
  615. package/engine/internal/orient/orient.go +0 -69
  616. package/engine/internal/orient/orient_test.go +0 -25
  617. package/engine/internal/profile/profile.go +0 -284
  618. package/engine/internal/profile/profile_test.go +0 -13
  619. package/engine/internal/state/clarify_transition.go +0 -165
  620. package/engine/internal/state/clarify_transition_test.go +0 -130
  621. package/engine/internal/state/snapshot.go +0 -457
  622. package/engine/internal/toolpolicy/classifier.go +0 -533
  623. package/engine/internal/toolpolicy/classifier_test.go +0 -424
  624. package/engine/internal/toolpolicy/git.go +0 -616
  625. package/engine/internal/toolpolicy/scanner.go +0 -382
  626. package/engine/observability_cli_test.go +0 -52
  627. package/engine/profile_test.go +0 -76
  628. package/engine/subagent_orient_context.txt +0 -8
  629. package/engine/testdata/golden/TestParityA1Guard/devrites-edit-allowed.golden +0 -1
  630. package/engine/testdata/golden/TestParityA1Guard/no-window-silent.golden +0 -1
  631. package/engine/testdata/golden/TestParityA1Guard/non-edit-tool.golden +0 -1
  632. package/engine/testdata/golden/TestParityA1Guard/observe-mode-silent.golden +0 -1
  633. package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +0 -2
  634. package/engine/testdata/golden/TestParityA1Guard/subagent-allowed.golden +0 -1
  635. package/engine/testdata/golden/TestParityAnalyze/noactive.golden +0 -1
  636. package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +0 -15
  637. package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +0 -16
  638. package/engine/testdata/golden/TestParityAnalyze/slug=ghost.golden +0 -1
  639. package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +0 -15
  640. package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +0 -17
  641. package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +0 -16
  642. package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +0 -16
  643. package/engine/testdata/golden/TestParityBudget/default-active.golden +0 -4
  644. package/engine/testdata/golden/TestParityBudget/extra-md.golden +0 -5
  645. package/engine/testdata/golden/TestParityBudget/no-active.golden +0 -1
  646. package/engine/testdata/golden/TestParityBudget/no-feature.golden +0 -1
  647. package/engine/testdata/golden/TestParityBudget/over-advisory.golden +0 -6
  648. package/engine/testdata/golden/TestParityBudget/over-strict.golden +0 -6
  649. package/engine/testdata/golden/TestParityBudget/within.golden +0 -6
  650. package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +0 -2
  651. package/engine/testdata/golden/TestParityBuildReadiness/arg=approvenone.golden +0 -1
  652. package/engine/testdata/golden/TestParityBuildReadiness/arg=await.golden +0 -1
  653. package/engine/testdata/golden/TestParityBuildReadiness/arg=blocked.golden +0 -1
  654. package/engine/testdata/golden/TestParityBuildReadiness/arg=clarifyopen.golden +0 -1
  655. package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +0 -2
  656. package/engine/testdata/golden/TestParityBuildReadiness/arg=ghost.golden +0 -1
  657. package/engine/testdata/golden/TestParityBuildReadiness/arg=legacycontract.golden +0 -1
  658. package/engine/testdata/golden/TestParityBuildReadiness/arg=noapprove.golden +0 -1
  659. package/engine/testdata/golden/TestParityBuildReadiness/arg=noclarify.golden +0 -1
  660. package/engine/testdata/golden/TestParityBuildReadiness/arg=novet.golden +0 -1
  661. package/engine/testdata/golden/TestParityBuildReadiness/arg=stalevet.golden +0 -1
  662. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +0 -2
  663. package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +0 -2
  664. package/engine/testdata/golden/TestParityBuildReadiness/arg=vetnotready.golden +0 -1
  665. package/engine/testdata/golden/TestParityCheckAcceptance/arg=blank-section.golden +0 -1
  666. package/engine/testdata/golden/TestParityCheckAcceptance/arg=empty.golden +0 -1
  667. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-dropped.golden +0 -1
  668. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +0 -2
  669. package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-unchecked.golden +0 -1
  670. package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-gap.golden +0 -1
  671. package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +0 -2
  672. package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-seal.golden +0 -1
  673. package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-section.golden +0 -1
  674. package/engine/testdata/golden/TestParityCheckAcceptance/arg=nonexistent.golden +0 -1
  675. package/engine/testdata/golden/TestParityCheckAcceptance.golden +0 -1
  676. package/engine/testdata/golden/TestParityCoverage/arg=flat.golden +0 -7
  677. package/engine/testdata/golden/TestParityCoverage/arg=full.golden +0 -10
  678. package/engine/testdata/golden/TestParityCoverage/arg=nonexistent.golden +0 -1
  679. package/engine/testdata/golden/TestParityCoverage/arg=nospec.golden +0 -1
  680. package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +0 -9
  681. package/engine/testdata/golden/TestParityCoverage.golden +0 -1
  682. package/engine/testdata/golden/TestParityCursor/bare.golden +0 -3
  683. package/engine/testdata/golden/TestParityCursor/full-afk.golden +0 -6
  684. package/engine/testdata/golden/TestParityCursor/full-hitl.golden +0 -5
  685. package/engine/testdata/golden/TestParityCursor/no-active.golden +0 -1
  686. package/engine/testdata/golden/TestParityCursor/red.golden +0 -5
  687. package/engine/testdata/golden/TestParityCursor/zerogates.golden +0 -5
  688. package/engine/testdata/golden/TestParityDoubtCoverage/arg=doubted.golden +0 -2
  689. package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +0 -2
  690. package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +0 -3
  691. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +0 -4
  692. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +0 -2
  693. package/engine/testdata/golden/TestParityDoubtCoverage/arg=nowright.golden +0 -2
  694. package/engine/testdata/golden/TestParityDoubtCoverage.golden +0 -1
  695. package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +0 -3
  696. package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +0 -3
  697. package/engine/testdata/golden/TestParityMutationGate/ghost.golden +0 -1
  698. package/engine/testdata/golden/TestParityOrientSilentPath.golden +0 -1
  699. package/engine/testdata/golden/TestParityReconcile/bad-mode.golden +0 -1
  700. package/engine/testdata/golden/TestParityReconcile/check-clean/snapshot.golden +0 -2
  701. package/engine/testdata/golden/TestParityReconcile/check-clean.golden +0 -2
  702. package/engine/testdata/golden/TestParityReconcile/check-no-base.golden +0 -1
  703. package/engine/testdata/golden/TestParityReconcile/check-no-claimed/snapshot.golden +0 -2
  704. package/engine/testdata/golden/TestParityReconcile/check-violation/snapshot.golden +0 -2
  705. package/engine/testdata/golden/TestParityReconcile/check-violation.golden +0 -1
  706. package/engine/testdata/golden/TestParityReconcile/close-window/snapshot.golden +0 -2
  707. package/engine/testdata/golden/TestParityReconcile/close-window.golden +0 -3
  708. package/engine/testdata/golden/TestParityReconcile/not-git.golden +0 -1
  709. package/engine/testdata/golden/TestParityReconcile/snapshot/snapshot.golden +0 -2
  710. package/engine/testdata/golden/TestParityReconcile/snapshot-no-allowlist.golden +0 -1
  711. package/engine/testdata/golden/TestParityReconcile/snapshot.golden +0 -2
  712. package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +0 -2
  713. package/engine/testdata/golden/TestParityRedwatch/non-bash-tool.golden +0 -1
  714. package/engine/testdata/golden/TestParityRedwatch/non-test-command.golden +0 -1
  715. package/engine/testdata/golden/TestParityRedwatch/pass-clears-red.golden +0 -1
  716. package/engine/testdata/golden/TestParityResolve/next-qid.golden +0 -2
  717. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +0 -2
  718. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-non-devrites-allows.golden +0 -1
  719. package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-subagent-type-only-allows.golden +0 -1
  720. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +0 -2
  721. package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +0 -2
  722. package/engine/testdata/golden/TestParityReviewerReadonly/non-bash-tool.golden +0 -1
  723. package/engine/testdata/golden/TestParityReviewerReadonly/non-tool-input.golden +0 -1
  724. package/engine/testdata/golden/TestParityReviewerReadonly/observe-mutating-silent.golden +0 -1
  725. package/engine/testdata/golden/TestParityReviewerReadonly/safe-bash-command.golden +0 -1
  726. package/engine/testdata/golden/TestParitySpecValidate/arg=dup.golden +0 -1
  727. package/engine/testdata/golden/TestParitySpecValidate/arg=empty.golden +0 -1
  728. package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +0 -2
  729. package/engine/testdata/golden/TestParitySpecValidate/arg=nonexistent.golden +0 -1
  730. package/engine/testdata/golden/TestParitySpecValidate/arg=noscenario.golden +0 -1
  731. package/engine/testdata/golden/TestParitySpecValidate/arg=noshall.golden +0 -1
  732. package/engine/testdata/golden/TestParitySpecValidate/arg=nothen.golden +0 -1
  733. package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +0 -2
  734. package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +0 -2
  735. package/engine/testdata/golden/TestParitySpecValidate.golden +0 -1
  736. package/engine/testdata/golden/TestParityStatusline/full-afk.golden +0 -2
  737. package/engine/testdata/golden/TestParityStatusline/full-hitl.golden +0 -2
  738. package/engine/testdata/golden/TestParityStatusline/no-active.golden +0 -1
  739. package/engine/testdata/golden/TestParityStatusline/nophase.golden +0 -2
  740. package/engine/testdata/golden/TestParityStatusline/red.golden +0 -2
  741. package/engine/testdata/golden/TestParityStuckCheck/bad-cmd.golden +0 -1
  742. package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +0 -2
  743. package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +0 -2
  744. package/engine/testdata/golden/TestParityStuckCheck/few.golden +0 -2
  745. package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +0 -2
  746. package/engine/testdata/golden/TestParityStuckCheck/identical.golden +0 -2
  747. package/engine/testdata/golden/TestParityStuckCheck/no-cmd.golden +0 -1
  748. package/engine/testdata/golden/TestParityStuckCheck/no-slug.golden +0 -1
  749. package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +0 -2
  750. package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +0 -2
  751. package/engine/testdata/golden/TestParityStuckCheck/varied.golden +0 -2
  752. package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +0 -2
  753. package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +0 -2
  754. package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +0 -2
  755. package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +0 -2
  756. package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +0 -2
  757. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +0 -2
  758. package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +0 -2
  759. package/engine/testdata/golden/TestParitySubagentOrient/garbage-input.golden +0 -1
  760. package/engine/testdata/golden/TestParitySubagentOrient/non-devrites-agent.golden +0 -1
  761. package/engine/testdata/golden/TestParityTestIntegrity/assertion-dropped.golden +0 -1
  762. package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +0 -2
  763. package/engine/testdata/golden/TestParityTestIntegrity/deleted.golden +0 -1
  764. package/engine/testdata/golden/TestParityTestIntegrity/ghost-workspace.golden +0 -1
  765. package/engine/testdata/golden/TestParityTestIntegrity/not-git.golden +0 -1
  766. package/engine/testdata/golden/TestParityTestIntegrity/skip-added.golden +0 -1
  767. package/engine/testdata/golden/TestParityTickAfk/budget1/state.md.golden +0 -1
  768. package/engine/testdata/golden/TestParityTickAfk/budget1.golden +0 -2
  769. package/engine/testdata/golden/TestParityTickAfk/budget3/state.md.golden +0 -5
  770. package/engine/testdata/golden/TestParityTickAfk/budget3.golden +0 -2
  771. package/engine/testdata/golden/TestParityTickAfk/bulletPipe/state.md.golden +0 -1
  772. package/engine/testdata/golden/TestParityTickAfk/bulletPipe.golden +0 -2
  773. package/engine/testdata/golden/TestParityTickAfk/missingField/state.md.golden +0 -3
  774. package/engine/testdata/golden/TestParityTickAfk/missingField.golden +0 -2
  775. package/engine/testdata/golden/TestParityTickAfk/missingFile.golden +0 -1
  776. package/engine/testdata/golden/TestParityTickAfk/nonNumeric/state.md.golden +0 -1
  777. package/engine/testdata/golden/TestParityTickAfk/nonNumeric.golden +0 -1
  778. package/engine/testdata/golden/TestParityTickAfk/none/state.md.golden +0 -1
  779. package/engine/testdata/golden/TestParityTickAfk/none.golden +0 -2
  780. package/engine/testdata/golden/TestParityWrightScope/agent-required-non-wright.golden +0 -1
  781. package/engine/testdata/golden/TestParityWrightScope/devrites-edit-denied.golden +0 -2
  782. package/engine/testdata/golden/TestParityWrightScope/in-scope-allowed.golden +0 -1
  783. package/engine/testdata/golden/TestParityWrightScope/non-edit-tool.golden +0 -1
  784. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +0 -2
  785. package/engine/testdata/golden/TestParityWrightScope/out-of-scope-observe-silent.golden +0 -1
  786. package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +0 -2
  787. package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +0 -2
  788. package/engine/testdata/golden/TestStuckLogHashParity.golden +0 -1
  789. package/engine/tests/adr_0006_clock_seam_test.go +0 -36
  790. package/engine/tests/budget_test.go +0 -88
  791. package/engine/tests/canonical_ac_ids_test.go +0 -44
  792. package/engine/tests/concurrency_cli_test.go +0 -131
  793. package/engine/tests/conventions_test.go +0 -106
  794. package/engine/tests/doctor_cli_test.go +0 -223
  795. package/engine/tests/forge_cli_test.go +0 -463
  796. package/engine/tests/hook_test.go +0 -2778
  797. package/engine/tests/hooks_io_test.go +0 -309
  798. package/engine/tests/json_contract_test.go +0 -224
  799. package/engine/tests/lib_parity_test.go +0 -930
  800. package/engine/tests/migrate_cli_test.go +0 -195
  801. package/engine/tests/parity_analyze_test.go +0 -55
  802. package/engine/tests/parity_buildreadiness_test.go +0 -199
  803. package/engine/tests/parity_learnings_test.go +0 -89
  804. package/engine/tests/parity_mutationgate_test.go +0 -36
  805. package/engine/tests/parity_reconcile_test.go +0 -94
  806. package/engine/tests/parity_testintegrity_test.go +0 -65
  807. package/engine/tests/parity_tickafk_test.go +0 -83
  808. package/engine/validatepack.go +0 -192
  809. package/engine/validatepack_test.go +0 -79
  810. package/engine/validatepackskills.go +0 -181
  811. package/engine/validatepackskills_test.go +0 -171
  812. package/pack/.claude/agents/devrites-forge-judge.md +0 -118
  813. package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +0 -44
  814. package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +0 -52
  815. package/pack/.claude/skills/rite-build/reference/evidence-standard.md +0 -45
  816. package/pack/.claude/skills/rite-build/reference/forge.md +0 -210
  817. package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +0 -60
  818. package/pack/.claude/skills/rite-ship/reference/adr-promotion.md +0 -9
  819. package/pack/.claude/skills/rite-ship/reference/ledger.md +0 -56
  820. package/pack/generated/claude/agents/devrites-forge-judge.md +0 -118
  821. package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +0 -44
  822. package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +0 -52
  823. package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +0 -45
  824. package/pack/generated/claude/skills/rite-build/reference/forge.md +0 -210
  825. package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +0 -60
  826. package/pack/generated/claude/skills/rite-ship/reference/adr-promotion.md +0 -9
  827. package/pack/generated/claude/skills/rite-ship/reference/ledger.md +0 -56
  828. package/pack/generated/codex/agents/devrites-forge-judge.toml +0 -128
  829. package/pack/generated/codex/hooks.json +0 -185
  830. package/pack/generated/codex/skills/devrites-api-interface/agents/openai.yaml +0 -2
  831. package/pack/generated/codex/skills/devrites-audit/agents/openai.yaml +0 -2
  832. package/pack/generated/codex/skills/devrites-browser-proof/agents/openai.yaml +0 -2
  833. package/pack/generated/codex/skills/devrites-debug-recovery/agents/openai.yaml +0 -2
  834. package/pack/generated/codex/skills/devrites-doubt/agents/openai.yaml +0 -2
  835. package/pack/generated/codex/skills/devrites-frontend-craft/agents/openai.yaml +0 -2
  836. package/pack/generated/codex/skills/devrites-interview/agents/openai.yaml +0 -2
  837. package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +0 -44
  838. package/pack/generated/codex/skills/devrites-prose-craft/agents/openai.yaml +0 -2
  839. package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +0 -71
  840. package/pack/generated/codex/skills/devrites-refresh-indexes/agents/openai.yaml +0 -2
  841. package/pack/generated/codex/skills/devrites-source-driven/agents/openai.yaml +0 -2
  842. package/pack/generated/codex/skills/devrites-ux-shape/agents/openai.yaml +0 -2
  843. package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +0 -45
  844. package/pack/generated/codex/skills/rite-build/reference/forge.md +0 -210
  845. package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +0 -60
  846. package/pack/generated/codex/skills/rite-ship/reference/adr-promotion.md +0 -9
  847. package/pack/generated/codex/skills/rite-ship/reference/ledger.md +0 -56
  848. package/scripts/build-binaries.sh +0 -75
  849. package/scripts/build-release-tarball.sh +0 -105
  850. package/scripts/check-authority-drift.py +0 -125
  851. package/scripts/check-cross-refs.py +0 -139
  852. package/scripts/check-generated-skill-budget.mjs +0 -42
  853. package/scripts/check-instruction-size-baseline.mjs +0 -88
  854. package/scripts/check-invocation-integrity.py +0 -115
  855. package/scripts/check-no-global-writes.sh +0 -66
  856. package/scripts/check-no-personal-paths.py +0 -50
  857. package/scripts/check-npm-audit.mjs +0 -110
  858. package/scripts/check-reference-governance.mjs +0 -83
  859. package/scripts/check-reply-contract.sh +0 -64
  860. package/scripts/check-rule-uniqueness.sh +0 -45
  861. package/scripts/devrites-detect.sh +0 -176
  862. package/scripts/grade-feature.sh +0 -204
  863. package/scripts/live-hosts/agent-result.schema.json +0 -231
  864. package/scripts/live-hosts/claude.sh +0 -87
  865. package/scripts/live-hosts/codex.sh +0 -85
  866. package/scripts/live-hosts/common.sh +0 -113
  867. package/scripts/live-hosts/fake-host.py +0 -257
  868. package/scripts/live-hosts/host-transport.py +0 -286
  869. package/scripts/npm-audit-exceptions.json +0 -26
  870. package/scripts/pin.sh +0 -249
  871. package/scripts/release-check.sh +0 -75
  872. package/scripts/run-agent-contract-evals.py +0 -1380
  873. package/scripts/run-behavioral-evals.sh +0 -196
  874. package/scripts/run-evals.sh +0 -132
  875. package/scripts/run-live-behavioral-evals.py +0 -1310
  876. package/scripts/run-outcome-evals.sh +0 -454
  877. package/scripts/run-routing-evals.py +0 -342
  878. package/scripts/run-tests.mjs +0 -232
  879. package/scripts/scan-pack-security.py +0 -209
  880. package/scripts/scan-supply-chain-iocs.py +0 -127
  881. package/scripts/skill-pruning-audit.mjs +0 -121
  882. package/scripts/skills-inventory.mjs +0 -125
  883. package/scripts/supply-chain-iocs.json +0 -11
  884. package/scripts/sync-version.sh +0 -54
  885. package/scripts/validate-agent-composition.py +0 -57
  886. package/scripts/validate-command-parity.py +0 -70
  887. package/scripts/validate-frontmatter.py +0 -218
  888. package/scripts/validate-skill-anatomy.py +0 -139
  889. package/scripts/validate-workflow-security.py +0 -184
  890. package/scripts/validate-workspace-schema.py +0 -800
  891. package/scripts/validate.sh +0 -354
  892. package/scripts/workflow_schema.py +0 -69
  893. /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/decisions.md +0 -0
  894. /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/plan.md +0 -0
  895. /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/spec.md +0 -0
  896. /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/tasks.md +0 -0
  897. /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/search-ranking/spec.md +0 -0
@@ -0,0 +1,655 @@
1
+ # DevRites upstream workflow benchmark: 2026-08-01
2
+
3
+ This document records research and disposition. It does not replace
4
+ `CONTEXT.md`, accepted ADRs, or the canonical pack. New architecture selected
5
+ from this audit is recorded in
6
+ [ADR-0026](adr/0026-content-bound-proof-and-bounded-inputs.md).
7
+
8
+ ## Baseline, method, and admission rule
9
+
10
+ The DevRites comparison baseline is
11
+ `403e1a60adf3ae32ee88009c417e6ffe015fc1aa`. Before selecting changes, the
12
+ nine repositories were cloned into a new temporary corpus from their recorded
13
+ default branches. The inventory procedure fetched tags, initialized recursive
14
+ submodules, recorded the exact HEAD and commit date, ran repository integrity
15
+ and clean-worktree checks, and inspected source, tests, workflow definitions,
16
+ install/update paths, documentation, history, and the top-level license. Every
17
+ clone was clean and usable. None contained a submodule.
18
+
19
+ A concept qualified only when it closed an observed DevRites gap, fit one
20
+ existing owner, preserved the fixed lifecycle and permission model, added no
21
+ unnecessary dependency or state plane, and admitted positive plus negative
22
+ proof. Repository content was treated as untrusted source material. No upstream
23
+ prompt, code, template, or documentation expression was copied.
24
+
25
+ All nine repositories carry the MIT license in their top-level `LICENSE`.
26
+ Conceptual reimplementation does not copy licensed expression. Any future copy
27
+ or substantial derivative would require retaining the applicable MIT notice and
28
+ reconciling DevRites' third-party notice before distribution.
29
+
30
+ ## Exact source inventory
31
+
32
+ | ID | Source | Branch | Exact SHA | Tag state | Commit date | Clone state |
33
+ |---|---|---|---|---|---|---|
34
+ | S1 | [gstack](https://github.com/garrytan/gstack/tree/a3259400a366593e0c909dd9ac3e59752efd2488) | `main` | `a3259400a366593e0c909dd9ac3e59752efd2488` | no tag | `2026-07-14T18:33:46-07:00` | clean, usable, no submodules |
35
+ | S2 | [mattpocock/skills](https://github.com/mattpocock/skills/tree/2ab958093e83e0ec752e6c1c5932da465bf23e0c) | `main` | `2ab958093e83e0ec752e6c1c5932da465bf23e0c` | `v1.1.0` | `2026-07-28T10:18:17+01:00` | clean, usable, no submodules |
36
+ | S3 | [OpenSpec](https://github.com/Fission-AI/OpenSpec/tree/45cca5db6137ed209117cc70510eb3e057fb981b) | `main` | `45cca5db6137ed209117cc70510eb3e057fb981b` | `v1.7.0` | `2026-07-31T02:04:10Z` | clean, usable, no submodules |
37
+ | S4 | [Superpowers](https://github.com/obra/superpowers/tree/44c9b2d6e889982ac18c27d05a19fefe335194e1) | `main` | `44c9b2d6e889982ac18c27d05a19fefe335194e1` | `v6.2.0` | `2026-07-28T12:25:36-07:00` | clean, usable, no submodules |
38
+ | S5 | [Spec Kit](https://github.com/github/spec-kit/tree/d1e86f638277a99b82715c22c90558cd58d3cffd) | `main` | `d1e86f638277a99b82715c22c90558cd58d3cffd` | `v0.15.1` | `2026-07-31T12:45:15-05:00` | clean, usable, no submodules |
39
+ | S6 | [GSD](https://github.com/open-gsd/gsd-core/tree/640eaee16e08bc5426cec570871cc0503a6c7d4c) | `next` | `640eaee16e08bc5426cec570871cc0503a6c7d4c` | `v1.9.1` | `2026-08-01T12:12:20-04:00` | clean, usable, no submodules |
40
+ | S7 | [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD/tree/a35e4c30d59a8edd808c834610428714785d5847) | `main` | `a35e4c30d59a8edd808c834610428714785d5847` | `v6.10.0` metadata; HEAD is 44 commits past the tag | `2026-08-01T08:11:07-07:00` | clean, usable, no submodules |
41
+ | S8 | [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode/tree/41a4c0f77144c5beb5f5f000a89cff379c680606) | `main` | `41a4c0f77144c5beb5f5f000a89cff379c680606` | `v4.15.7` | `2026-07-23T04:44:59Z` | clean, usable, no submodules |
42
+ | S9 | [ECC](https://github.com/affaan-m/ECC/tree/e4e4163101f162881e628f300a9ca4e6a940bcea) | `main` | `e4e4163101f162881e628f300a9ca4e6a940bcea` | `v2.1.0` | `2026-07-29T14:11:01-04:00` | clean, usable, no submodules |
43
+
44
+ This inventory corrects the earlier report's stale GSD `d3305fc3` and BMAD
45
+ `e39cbbba` pins. GSD is intentionally pinned to its default `next` branch. BMAD's
46
+ package metadata still says 6.10.0, but the audited tree is not the tagged
47
+ v6.10.0 tree.
48
+
49
+ ## DevRites baseline retained from the earlier comparison
50
+
51
+ Useful findings already present at the comparison baseline remain part of this
52
+ record:
53
+
54
+ - Review roles use one admitted outcome envelope: `findings`, `no-findings`, or
55
+ blocking `gap`. Confidence, exact evidence, reachable impact, and root
56
+ reconciliation remain the shared reviewer contract.
57
+ - Source intake requires provenance, one native owner, costs, parity impact,
58
+ positive and negative proof, and an explicit disposition. Another catalog or
59
+ runtime remains out of scope.
60
+ - The agent validator checks reviewer-contract loading and output shape;
61
+ frontmatter parsing rejects duplicate top-level keys before YAML parsing.
62
+ - npm package tests prove the exact runtime-script set against a real packed
63
+ tarball, and source installation repairs a partially present generated host
64
+ payload.
65
+ - The stronger existing owners remain unchanged: the 15-phase lifecycle, exact
66
+ fresh-context roles, sole exact-path writer, Markdown workspace, immutable
67
+ proof/review separation, fail-closed secret and path checks, and the offline
68
+ stdlib-only Go engine.
69
+
70
+ ## Standardized repository dossiers
71
+
72
+ ### S1: gstack
73
+
74
+ - **Purpose/philosophy:** gstack packages planning, implementation support,
75
+ review, browser QA, shipping, and retrospective work into an opinionated
76
+ high-velocity assistant environment.
77
+ - **Architecture/components:** A Bun/TypeScript runtime, generated role skills,
78
+ a Chromium/browser service, setup and update hooks, a ten-host adapter
79
+ registry, evaluation storage, and Git-backed long-lived context form one
80
+ integrated system (`ARCHITECTURE.md`, `hosts/`, `test/helpers/eval-store.ts`).
81
+ - **Strongest ideas:** Its live multi-host scenarios persist partial and final
82
+ results, compare historical cost and turn budgets, and expose coverage debt.
83
+ Review findings also carry confidence and concrete evidence.
84
+ - **End-to-end workflow:** A user can tune a plan, implement, run specialist
85
+ review, exercise browser QA, prepare a ship action, and write retrospective
86
+ context without leaving the suite.
87
+ - **Skill/agent patterns:** Host-specific roles are generated from shared
88
+ material and can fan work out, but reviewer, QA, and ship roles are allowed to
89
+ mutate more state than DevRites reviewers.
90
+ - **Spec/planning:** Product and executive plan lenses improve challenge quality;
91
+ they do not provide DevRites' durable requirement, traceability, and decision
92
+ contract.
93
+ - **Execution controls:** Browser automation, worktree use, and eval budgets are
94
+ concrete controls. Several fallback paths continue in the current worktree or
95
+ classify errors heuristically.
96
+ - **Proof/review:** Browser QA, self-verification regressions, and live model
97
+ comparisons are material strengths. Scheduled coverage is incomplete: the
98
+ audited TODO records only 9 of roughly 66 E2E files in periodic CI.
99
+ - **State/context:** Partial eval artifacts and Git-backed memory improve
100
+ continuity, at the cost of another mutable context authority.
101
+ - **Safety/failure handling:** Content, DNS, classifier, and parser paths can fail
102
+ open; shell assignments are later evaluated; setup may update in the
103
+ background; upgrade can hard-reset; worktree failure may fall back to the
104
+ current tree.
105
+ - **DX/docs:** The first-use path and task-oriented documentation are strong,
106
+ while the breadth of browser, tunnel, runtime, and memory services raises the
107
+ operational floor.
108
+ - **Extension model:** The typed host registry and specialist integrations are
109
+ effective for a many-host product but premature for DevRites' two maintained
110
+ hosts.
111
+ - **Install/update:** Setup installs Bun/browser dependencies and wires hooks;
112
+ session-time update behavior and destructive upgrade recovery are unsuitable
113
+ defaults.
114
+ - **Weaknesses/tradeoffs:** Integrated convenience comes with a daemon/browser
115
+ stack, telemetry and update coupling, mutable review paths, and large live-eval
116
+ maintenance.
117
+ - **Already present in DevRites:** Result admission, independent review, browser
118
+ proof, exact-role dispatch, evidence artifacts, runtime smokes, and bounded
119
+ recovery already cover the core safety intent.
120
+ - **Weaker/missing in DevRites:** DevRites lacks systematic budgeted live-host
121
+ scenario execution with coverage accounting and historical comparison.
122
+ - **Unsuitable concepts:** Browser/tunnel daemons, reviewer mutation, finding
123
+ quotas, background auto-update, telemetry, hard-reset upgrade, and a second
124
+ memory system are rejected.
125
+ - **License implication:** MIT permits adaptation with notice; this report copies
126
+ no implementation or prose. Direct reuse would require attribution review.
127
+ - **Native adaptation/disposition:** Defer a bounded live-host eval runner until
128
+ its recurring cost and security model have an owner. Retain the existing
129
+ reviewer-admission and browser-proof mechanisms; add no gstack runtime.
130
+
131
+ ### S2: mattpocock/skills
132
+
133
+ - **Purpose/philosophy:** This repository is a curated skill library centered on
134
+ choosing the right skill, doing the necessary source work, loading references
135
+ only when needed, and defining completion.
136
+ - **Architecture/components:** Forty-one Markdown skills, a router, authoring
137
+ guidance and glossary, templates/scripts, and plugin metadata form a catalog
138
+ rather than a stateful workflow engine.
139
+ - **Strongest ideas:** Its authoring model asks authors to reduce routing
140
+ ambiguity, order instructions by need, state how the model corrects course,
141
+ define observable completion, and delete guidance that no longer changes
142
+ behavior.
143
+ - **End-to-end workflow:** A user selects a focused skill for specification,
144
+ tracer-bullet delivery, TDD, debugging, review, or handoff; the skill performs
145
+ its task and yields to another skill rather than advancing canonical state.
146
+ - **Skill/agent patterns:** Skills prefer references and concrete legwork, but
147
+ generic agents and catalog routing do not enforce DevRites' exact role and
148
+ permission boundaries.
149
+ - **Spec/planning:** Ticket, spec, and tracer-bullet guidance favors actionable
150
+ plans. It does not own a persistent acceptance/traceability schema.
151
+ - **Execution controls:** TDD and debugging procedures are instruction-enforced;
152
+ commits and external issue writes may occur without DevRites' fresh approval
153
+ boundary.
154
+ - **Proof/review:** Checkable completion and review guidance are useful, but the
155
+ audited repository has no validating test suite or CI for skill semantics.
156
+ - **State/context:** Handoff artifacts carry local continuity; there is no
157
+ canonical lifecycle cursor or evidence ledger.
158
+ - **Safety/failure handling:** Some flows assume authority to commit or write to
159
+ external trackers. An unfinished wizard handles environment and GitHub secrets
160
+ without a sufficient promotion boundary.
161
+ - **DX/docs:** The authoring glossary is compact and teachable. Router, docs,
162
+ skills, and version metadata contain observable drift.
163
+ - **Extension model:** Contributors add another skill or plugin entry. Importing
164
+ that open-ended catalog would duplicate DevRites' routed public rites.
165
+ - **Install/update:** Plugin distribution is simple, but package 1.1.0 and Claude
166
+ plugin 1.2.0 metadata disagree at the audited revision.
167
+ - **Weaknesses/tradeoffs:** Low ceremony aids contribution but leaves behavioral
168
+ regressions, permissions, and cross-surface drift largely unchecked.
169
+ - **Already present in DevRites:** Progressive references, routing budgets,
170
+ authoring validation, outcome evals, exact agents, TDD, debug recovery, review,
171
+ and handoff already implement the useful method.
172
+ - **Weaker/missing in DevRites:** The glossary is clearer than some DevRites
173
+ authoring prose, and semantic-drift negative fixtures could be stronger.
174
+ - **Unsuitable concepts:** A sibling skill catalog, generic agents, external issue
175
+ authority, unconditional commits, and secret-handling wizard defaults are
176
+ rejected.
177
+ - **License implication:** MIT permits reuse with notice. Only general method was
178
+ considered; no text or template was copied.
179
+ - **Native adaptation/disposition:** Retain the baseline skill-authoring owner and
180
+ its semantic validation. Merge terminology only when it shortens that owner;
181
+ do not add skills, agents, or distribution paths from this source.
182
+
183
+ ### S3: OpenSpec
184
+
185
+ - **Purpose/philosophy:** OpenSpec treats a proposed change as a graph of durable
186
+ specification artifacts and folds accepted deltas back into a main spec set.
187
+ - **Architecture/components:** A TypeScript CLI, YAML artifact schemas, a
188
+ validated artifact DAG, generated assistant skills, delta parsing/folding,
189
+ change/spec stores, archive logic, and beta references/worksets make up the
190
+ system (`src/core/artifact-graph/`, `src/core/specs-apply.ts`).
191
+ - **Strongest ideas:** MODIFIED folding detects scenario loss, preserves multiple
192
+ scenarios, handles header conflicts, and supports idempotent early sync.
193
+ Archive pre-validates the resulting specs before writes.
194
+ - **End-to-end workflow:** Propose creates artifacts; apply drives implementation;
195
+ update or sync folds deltas; verify inspects the result; archive closes the
196
+ change.
197
+ - **Skill/agent patterns:** Generated skills adapt the artifact graph to multiple
198
+ assistants. The graph, rather than exact reviewer/writer roles, is the main
199
+ coordinator.
200
+ - **Spec/planning:** Main specifications plus ADDED, MODIFIED, and REMOVED deltas
201
+ are explicit and inspectable. Custom schemas allow a project to redefine the
202
+ artifact workflow.
203
+ - **Execution controls:** Artifact readiness is structural and can become DONE
204
+ when a generated file merely exists. Archive offers bypass flags and performs
205
+ sequential writes without repository-wide rollback.
206
+ - **Proof/review:** Verify is optional in the expanded profile and relies partly
207
+ on keyword/path inference instead of immutable executed evidence.
208
+ - **State/context:** Change directories, main specs, references, stores, and
209
+ worksets retain context. Beta cross-repository references can remain stale
210
+ until a user synchronizes them.
211
+ - **Safety/failure handling:** Prevalidation is strong, but user/project schemas
212
+ and followed schema-directory symlinks widen the prompt and supply-chain
213
+ boundary; archive bypasses weaken fail-closed behavior.
214
+ - **DX/docs:** A worked beginner transcript and inspectable change files make the
215
+ model approachable.
216
+ - **Extension model:** Custom schemas, adapters, stores, and worksets are broad by
217
+ design and would create a second workflow language in DevRites.
218
+ - **Install/update:** The CLI carries telemetry and self-update concerns that do
219
+ not belong in DevRites' offline engine boundary.
220
+ - **Weaknesses/tradeoffs:** Flexibility weakens uniform proof, permits
221
+ existence-only completion, and multiplies schema/runtime compatibility work.
222
+ - **Already present in DevRites:** Durable Markdown workspaces, Requirement and
223
+ Scenario grammar, capability deltas, native phase owners, Prove, Seal, and
224
+ reversible archive already cover the main lifecycle.
225
+ - **Weaker/missing in DevRites:** The current capability fold can lose prior
226
+ MODIFIED scenarios or source claims and lacks an explicit justified no-impact
227
+ form.
228
+ - **Unsuitable concepts:** A configurable artifact DAG, custom prompt schemas,
229
+ telemetry/self-update, heuristic optional verify, and broad adapter/store
230
+ registries are rejected.
231
+ - **License implication:** MIT allows reuse with notice. The selected behavior is
232
+ independently specified; no parser, schema, or prompt was copied.
233
+ - **Native adaptation/disposition:** Adopt loss-aware MODIFIED capability/source
234
+ preservation and an explicit no-impact declaration in the existing ledger
235
+ owner. Move the fold before Review/Seal; add no OpenSpec runtime.
236
+
237
+ ### S4: Superpowers
238
+
239
+ - **Purpose/philosophy:** Superpowers is a skill-centered development method that
240
+ prescribes discovery, planning, isolated execution, TDD, debugging, review,
241
+ and completion checks.
242
+ - **Architecture/components:** Harness-neutral Markdown skills, adapters and
243
+ hooks, plan-scoped file workspaces, fresh subagent packets, shell tests, and a
244
+ visual brainstorming companion form the distribution.
245
+ - **Strongest ideas:** Plan-scoped file briefs, hashable review packets, narrow
246
+ re-review after a fix, honest null-result eval reporting, condition-based waits,
247
+ and backward root-cause tracing are practical mechanisms.
248
+ - **End-to-end workflow:** Route through the skill system, brainstorm and approve
249
+ a design, create an isolated worktree, write a full task plan, execute each task
250
+ with TDD and review/fix, run broad review, then integrate the branch.
251
+ - **Skill/agent patterns:** Fresh subagents receive bounded task and review
252
+ packets. The current task reviewer combines concerns despite older docs still
253
+ describing a two-stage review.
254
+ - **Spec/planning:** Plans can include full implementation detail and code, which
255
+ improves determinism but increases context and early commitment.
256
+ - **Execution controls:** Worktrees, per-task commits, test-first work, and
257
+ condition waits are explicit. Mandatory 1 percent routing and repeated
258
+ park-and-complete loops add fixed cost.
259
+ - **Proof/review:** Verification-before-completion and scoped re-review are sound;
260
+ several integration assertions do not prove all guarantees claimed by their
261
+ prompts.
262
+ - **State/context:** Plan-scoped files reduce cross-plan leakage and make review
263
+ packets reproducible without another database.
264
+ - **Safety/failure handling:** A raw-HTML visual server, weak content policy,
265
+ page-visible key, remote branding, and spoofable user-role markers make the
266
+ visual/bootstrap surfaces unsuitable as-is.
267
+ - **DX/docs:** Concrete TDD, async, and debugging recipes are useful, although
268
+ documentation and current combined-review behavior drift.
269
+ - **Extension model:** Harness ports and adapter-specific bootstraps widen reach
270
+ but increase parity and trust-boundary work.
271
+ - **Install/update:** Some install guidance asks an agent to mutate user or main
272
+ configuration; that conflicts with DevRites' managed local installer.
273
+ - **Weaknesses/tradeoffs:** The mandatory workflow is expensive for small changes,
274
+ overcommits plans to code, and couples method correctness to prompts and hooks.
275
+ - **Already present in DevRites:** Exact slice packets, one writer, test-first
276
+ behavior, causal debugging, independent review, immutable proof, bounded
277
+ correction, and host generation already cover its core strengths.
278
+ - **Weaker/missing in DevRites:** The baseline candidate packet is not bound to
279
+ content; evidence freshness uses modification times rather than file identity.
280
+ - **Unsuitable concepts:** Mandatory worktrees and task commits, global bootstrap,
281
+ five-round parking, raw-HTML visual tooling, and mutable-main installation are
282
+ rejected.
283
+ - **License implication:** MIT permits reuse with notice. The candidate identity
284
+ design is a clean DevRites format, not copied Superpowers code or prose.
285
+ - **Native adaptation/disposition:** Adopt a canonical content-bound candidate
286
+ manifest and scoped re-proof after candidate changes. Keep all enforcement in
287
+ existing Build, Prove, Polish, Review, Seal, and engine owners.
288
+
289
+ ### S5: Spec Kit
290
+
291
+ - **Purpose/philosophy:** Spec Kit supplies a specification-first command set and
292
+ CLI that can project templates and workflows into many assistant hosts.
293
+ - **Architecture/components:** A Python CLI, command templates, constitution and
294
+ persistence guidance, presets, extensions, role bundles, a persisted YAML
295
+ workflow engine, and multi-host generators form the product.
296
+ - **Strongest ideas:** Its persistence taxonomy is easy to explain. Download and
297
+ ZIP handling enforce byte and path limits, check entry types, and have rollback
298
+ coverage.
299
+ - **End-to-end workflow:** Establish principles, specify, clarify, plan, derive
300
+ tasks, analyze consistency, implement, and converge; alternative YAML workflows
301
+ can select a different command graph.
302
+ - **Skill/agent patterns:** Commands are generated for multiple integrations and
303
+ may be grouped into roles. Permissions are described rather than enforced by
304
+ exact host profiles.
305
+ - **Spec/planning:** Constitution, structured feature specs, clarification,
306
+ checklists, plans, and tasks provide a familiar specification path.
307
+ - **Execution controls:** The generic engine stores workflow progress and exact
308
+ top-level resume state, but requirements are advisory and shell fields can be
309
+ interpolated without a capability boundary.
310
+ - **Proof/review:** Generated story tests can be optional, checklist gates can be
311
+ bypassed, and the built-in full workflow omits several clarify, convergence,
312
+ proof, and review stages.
313
+ - **State/context:** Feature directories, active context, workflow YAML, presets,
314
+ and persistence categories keep artifacts visible but introduce multiple ways
315
+ to define lifecycle truth.
316
+ - **Safety/failure handling:** Archive acquisition and extraction are strong.
317
+ Project hooks, raw shell interpolation, auto-commit behavior, and optional gates
318
+ are weaker trust boundaries.
319
+ - **DX/docs:** Multi-integration onboarding and persistence explanations are good;
320
+ some release/citation metadata trails the implementation.
321
+ - **Extension model:** Stackable presets, extensions, hooks, workflows, and role
322
+ bundles are useful for a framework product but duplicate DevRites' fixed rites.
323
+ - **Install/update:** The Python CLI bounds remote data and validates ZIPs before
324
+ extraction, with rollback tests for failed generation and updates.
325
+ - **Weaknesses/tradeoffs:** Broad configurability improves reach while making
326
+ permission, proof, and workflow guarantees conditional on project content.
327
+ - **Already present in DevRites:** Principles, explicit specifications,
328
+ Clarify/Define/Vet, active workspace state, convergence, Prove/Review/Seal, and
329
+ manifest-aware managed install already cover the workflow value.
330
+ - **Weaker/missing in DevRites:** Shell and Node acquisition paths lack complete
331
+ response, archive, member, expanded-size, and secure-temp bounds; checksum
332
+ failure can reach an unchecked fallback.
333
+ - **Unsuitable concepts:** A generic YAML workflow engine, project-directed hooks,
334
+ extension marketplace, advisory permissions, optional tests, and auto-commit
335
+ are rejected.
336
+ - **License implication:** MIT permits reuse with notice. DevRites adopts the
337
+ boundary requirements, not Spec Kit's downloader or templates.
338
+ - **Native adaptation/disposition:** Adopt exact-asset plus checksum-sidecar
339
+ acquisition, fixed transfer limits, secure temp failure, full archive preflight,
340
+ and mandatory release sidecars in existing bootstrap and release owners.
341
+
342
+ ### S6: GSD
343
+
344
+ - **Purpose/philosophy:** GSD is a broad phase-oriented project workflow that
345
+ favors fresh-context agents, file-backed planning, checkpointed execution, and
346
+ user acceptance at the end of each phase.
347
+ - **Architecture/components:** Markdown workflows and agents, a Node/CommonJS
348
+ installer/runtime, `.planning` state, UAT predicates, workstreams, capability
349
+ metadata, migration journals, workflow fragments, and multi-host generation
350
+ support fifteen runtimes.
351
+ - **Strongest ideas:** Its UAT predicate demands positive evidence rather than
352
+ accepting the absence of failures. Read-only workspace inventory, truthful
353
+ progress metadata, install-script disclosure, and update impact previews are
354
+ also useful.
355
+ - **End-to-end workflow:** Initialize a project, research and roadmap it, discuss
356
+ and plan a phase, check the plan, execute tasks, verify and run UAT, then close
357
+ or continue the milestone.
358
+ - **Skill/agent patterns:** Researchers, planners, checkers, executors, and
359
+ verifiers operate in fresh contexts with file handoffs; workstreams can fan out
360
+ to several source writers.
361
+ - **Spec/planning:** Roadmaps, phase research, context, plans, and verification
362
+ criteria provide durable decomposition, though they do not use DevRites'
363
+ requirement/scenario and decision-coverage contract.
364
+ - **Execution controls:** Worktrees, checkpoints, atomic commits, recovery, and
365
+ partial fragment composition are explicit. Fragment conditions are validated
366
+ but were not selected dynamically at the audited revision.
367
+ - **Proof/review:** UAT fails when evidence is empty or vacuous, a stronger rule
368
+ than compile-only success. Plan checking and final verification are separate.
369
+ - **State/context:** `.planning` state, progress, checkpoints, handoffs, and
370
+ optional external memory provide continuity at the cost of a large state
371
+ vocabulary.
372
+ - **Safety/failure handling:** Typed capability trust and migration journals help.
373
+ Executable capability sources, hook bypass, parallel writers, and external
374
+ memory authority widen the trust boundary.
375
+ - **DX/docs:** The command set is extensive and well illustrated, but Node 18/22,
376
+ release, hook, and non-Claude parallel documentation disagree with code.
377
+ - **Extension model:** Workflows, fragments, capabilities, workstreams, and many
378
+ host targets create an open platform rather than a fixed method.
379
+ - **Install/update:** A large installer manages host payloads and migrations;
380
+ recent changes improve empty-cherry-pick and metadata behavior but increase the
381
+ compatibility surface.
382
+ - **Weaknesses/tradeoffs:** Coverage is broad, while installer size, documentation
383
+ drift, external capabilities, and parallel mutation make guarantees harder to
384
+ state and test.
385
+ - **Already present in DevRites:** The fixed lifecycle, fresh exact agents,
386
+ Markdown workspace, AFK/HITL, task slices, recovery, handoff, Prove, Review,
387
+ Seal, and managed local installation cover the main workflow strengths.
388
+ - **Weaker/missing in DevRites:** Proof guidance can accept skipped,
389
+ assertion-free, compile-only, or otherwise non-observable success. Cross-feature
390
+ status and update impact presentation could also improve.
391
+ - **Unsuitable concepts:** Parallel source writers, executable capability
392
+ marketplaces, external canonical memory, generic workstreams, and ambiguous
393
+ pseudo-numeric scoring are rejected.
394
+ - **License implication:** MIT permits reuse with notice. The admitted proof rule
395
+ is independently stated in DevRites terms.
396
+ - **Native adaptation/disposition:** Adopt positive observable/framework evidence
397
+ as a proof minimum. Defer read-only all-workspace inventory and update preview
398
+ until a concrete navigation problem justifies them; add no GSD runtime.
399
+
400
+ ### S7: BMAD Method
401
+
402
+ - **Purpose/philosophy:** BMAD provides scale-adaptive planning and delivery
403
+ through role-focused workflows, explicit architecture decisions, readiness,
404
+ story execution, review, checkpoints, and retrospective learning.
405
+ - **Architecture/components:** A Node installer, module catalogs, YAML/Markdown
406
+ workflows, roles and skills, spec and architecture templates, memlog state,
407
+ verification-gap prompts, and custom-module acquisition form a configurable
408
+ method.
409
+ - **Strongest ideas:** Its architecture records bind choices to constraints, spec
410
+ validation includes a claim-preservation pass, and the installer deliberately
411
+ removes inherited Git variables that can retarget repository commands.
412
+ - **End-to-end workflow:** Choose a quick or full path, produce analysis and
413
+ product/architecture artifacts, check readiness, create and implement stories,
414
+ review them, checkpoint larger work, and run a retrospective.
415
+ - **Skill/agent patterns:** Named personas and concern-oriented reviewers provide
416
+ useful lenses, but inline writer fallback and quotas weaken separation and
417
+ honest null findings.
418
+ - **Spec/planning:** The spec kernel, two-pass validation, readiness, and explicit
419
+ architecture consequences are strong. Append-only memlog claims can become a
420
+ competing source of truth.
421
+ - **Execution controls:** Story workflows, checkpoints, prior-action follow-up,
422
+ and commits structure delivery; some flows assume authority to mutate and
423
+ commit without DevRites' approval ladder.
424
+ - **Proof/review:** Multi-lens gap review is useful. A recent blanket exclusion of
425
+ source-text and model-output checks would miss DevRites' executable guidance,
426
+ schema, and eval surfaces.
427
+ - **State/context:** Product, architecture, story, checkpoint, retrospective, and
428
+ memlog artifacts preserve context, with more mutable owners than DevRites.
429
+ - **Safety/failure handling:** Git environment filtering addresses a real
430
+ retargeting risk. In contrast, the custom SSH source parser permits shell
431
+ metacharacters before `execSync`, and custom modules can run install scripts.
432
+ - **DX/docs:** Many roles and routes cover projects of different sizes. The audited
433
+ HEAD reports 6.10.0 metadata but is 44 commits beyond the v6.10.0 tag.
434
+ - **Extension model:** Custom modules and remote sources make the method open, but
435
+ also introduce unverified code and lifecycle execution.
436
+ - **Install/update:** The Node installer composes modules and filters Git
437
+ environment state; custom-source and dependency installation remain high-risk
438
+ edges.
439
+ - **Weaknesses/tradeoffs:** Configurability, personas, memlog, quotas, and module
440
+ loading add competing authority and supply-chain exposure.
441
+ - **Already present in DevRites:** Frame/Spec/Define/Vet, binding decisions,
442
+ exact-role review, checkpointed Build, Prove, Seal/Ship separation, and Learn
443
+ already implement the strongest workflow concepts.
444
+ - **Weaker/missing in DevRites:** Both Go Git subprocess sites and production shell
445
+ Git calls inherit retargeting `GIT_*` variables. Capability/source folding can
446
+ also lose earlier claims.
447
+ - **Unsuitable concepts:** Finding quotas, blanket source-test exclusion, inline
448
+ writer fallback, auto-commit, memlog authority, remote module loading, and the
449
+ custom SSH parser are rejected.
450
+ - **License implication:** MIT permits reuse with notice. DevRites adopts the
451
+ security property and preservation criterion, not BMAD implementation text.
452
+ - **Native adaptation/disposition:** Adopt one Go and one shell Git-environment
453
+ policy with dynamic config-pair parity; merge claim preservation into the
454
+ existing capability fold. Add no BMAD module or state surface.
455
+
456
+ ### S8: oh-my-claudecode
457
+
458
+ - **Purpose/philosophy:** oh-my-claudecode is a hook-driven Claude orchestration
459
+ runtime for autonomous and team execution, iterative recovery, verification,
460
+ provider routing, and cancellation.
461
+ - **Architecture/components:** TypeScript commands, skills, agents, ambient hooks,
462
+ Team, Autopilot, Ralph, UltraQA, state and cancellation stores, worktree locks,
463
+ provider routing, installer/update code, and benchmarks form overlapping modes.
464
+ - **Strongest ideas:** Named-workflow resume validates content and transcript
465
+ identity, candidate state uses SHA-256 in critical paths, and commit-time checks
466
+ reauthenticate what is about to ship.
467
+ - **End-to-end workflow:** Magic keywords or commands choose a mode; Autopilot
468
+ plans and executes, Team fans out work, Ralph iterates, UltraQA checks results,
469
+ and cancel/state commands manage long-running sessions.
470
+ - **Skill/agent patterns:** Nested workers and provider-selected agents increase
471
+ throughput, while worker permissions are advisory rather than exact
472
+ host-enforced source boundaries.
473
+ - **Spec/planning:** Mode-specific planning exists, but no single requirement,
474
+ decision, traceability, and evidence chain matches the DevRites workspace.
475
+ - **Execution controls:** Cross-platform locks, worktrees, resume validation,
476
+ retries, cancellation, and provider routing are useful; overlapping modes make
477
+ authority and stop conditions hard to reason about.
478
+ - **Proof/review:** UltraQA and iterative review provide repeated checks, but some
479
+ approvals depend on model text or caller-supplied verdicts rather than frozen
480
+ executable proof.
481
+ - **State/context:** Hook state and transcripts support recovery. Documented
482
+ UltraQA paths and actual runtime paths drift.
483
+ - **Safety/failure handling:** Security protections default off in places, CI uses
484
+ mutable action tags, external teams have advisory permissions, and silent
485
+ update installs an unpinned npm latest release.
486
+ - **DX/docs:** Many modes are discoverable, but skill counts, state paths, and
487
+ claimed benchmark savings disagree with checked-in evidence.
488
+ - **Extension model:** Hooks, providers, modes, agents, and keyword routing make an
489
+ extensible runtime at the cost of a large implicit control surface.
490
+ - **Install/update:** Plugin installation is convenient; the silent floating
491
+ updater and checksum gaps conflict with DevRites release requirements.
492
+ - **Weaknesses/tradeoffs:** Autonomy and provider flexibility add ambient hooks,
493
+ nested modes, heuristic routing, mutable updates, and evidence claims that are
494
+ difficult to reproduce.
495
+ - **Already present in DevRites:** AFK/HITL, exact native agents, causal recovery,
496
+ immutable Prove/Review/Seal, cancellation by the host, managed checksummed
497
+ acquisition, locks, and runtime smokes cover the useful intent.
498
+ - **Weaker/missing in DevRites:** Evidence freshness binds modification time, not
499
+ candidate bytes, path state, or executable mode. Live reviewer eval fixtures
500
+ are also limited.
501
+ - **Unsuitable concepts:** Ambient hooks, magic routing, nested team/autopilot
502
+ modes, heuristic provider routing, security-off defaults, and floating
503
+ auto-update are rejected.
504
+ - **License implication:** MIT permits reuse with notice. The selected digest and
505
+ manifest format is original DevRites design.
506
+ - **Native adaptation/disposition:** Adopt content-addressed candidate identity
507
+ shared by Candidate and Seal, plus staged/committed reauthentication before
508
+ outbound Git. Defer broader live-model evaluation; add no OMC mode or hook
509
+ runtime.
510
+
511
+ ### S9: ECC
512
+
513
+ - **Purpose/philosophy:** ECC combines a large cross-harness skill and agent
514
+ catalog with contract-first development, memory guidance, install profiles,
515
+ hooks, dashboards, and an alpha orchestration control plane.
516
+ - **Architecture/components:** The audited tree contains 281 skills, 67 agents,
517
+ rules and commands, manual host mirrors, JavaScript install lifecycle code,
518
+ session/memory stores, hooks, and a Rust `ecc2` daemon/TUI/worktree system.
519
+ - **Strongest ideas:** Contract-first integration uses one canonical API, event,
520
+ or schema artifact and asks both provider and consumer to test it. Typed review
521
+ outcomes, scoped memory trust, and installer preview are also useful.
522
+ - **End-to-end workflow:** Users compose planning, contract, implementation,
523
+ review, and memory skills; profiles install subsets; ECC2 can schedule agents,
524
+ worktrees, output capture, and merge work.
525
+ - **Skill/agent patterns:** A broad specialist catalog and cross-host mirrors offer
526
+ coverage, but manual duplication and parallel writers conflict with DevRites'
527
+ generated exact-role model.
528
+ - **Spec/planning:** Contract-first guidance grounds an integration slice in one
529
+ boundary artifact; general plans and annotations do not provide a single fixed
530
+ lifecycle schema.
531
+ - **Execution controls:** Profiles, hooks, worktrees, a scheduler, merge queue,
532
+ daemon, and TUI provide many controls. The Rust control plane is not part of
533
+ main CI at the audited revision.
534
+ - **Proof/review:** Provider and consumer tests against the same artifact close a
535
+ real integration gap. Universal coverage targets and catalog-level review
536
+ recipes are too generic for all projects.
537
+ - **State/context:** Session vaults, unified memory, dashboards, and SQLite retain
538
+ context, creating a second authority beside project files.
539
+ - **Safety/failure handling:** Written supply-chain and memory trust guidance is
540
+ strong. Floating `npx` MCP packages, clone-time npm install, always-on hooks,
541
+ live-web defaults, and delayed output-persistence errors contradict that
542
+ posture.
543
+ - **DX/docs:** Profiles and quick references make the catalog approachable, but
544
+ v2.1.0 metadata, a changelog ending at 2.0.0, and stale alpha docs show drift.
545
+ - **Extension model:** Skills, agents, rules, commands, MCPs, dashboards, profiles,
546
+ and the Rust runtime form a broad plugin platform.
547
+ - **Install/update:** JavaScript lifecycle code previews and applies profiles;
548
+ manual host mirrors and optional runtime/tool downloads multiply parity work.
549
+ - **Weaknesses/tradeoffs:** Breadth creates large validation, documentation,
550
+ supply-chain, and state costs. The daemon/TUI/worktree plane duplicates native
551
+ host orchestration.
552
+ - **Already present in DevRites:** Exact reviewers and outcome admission, scoped
553
+ memory promotion in Learn, fresh-context planning and proof, installer
554
+ manifests, one writer, and generated Claude/Codex parity already cover most
555
+ strengths.
556
+ - **Weaker/missing in DevRites:** A boundary-changing slice need not prove that
557
+ provider and consumer tests consume the same canonical contract artifact.
558
+ - **Unsuitable concepts:** The Rust daemon/TUI/scheduler/merge queue, parallel
559
+ writers, broad hooks, duplicate memory/session stores, floating MCP defaults,
560
+ universal coverage, dashboards, and manual mirrors are rejected.
561
+ - **License implication:** MIT permits reuse with notice. The conditional
562
+ provider/consumer rule is independently specified; no ECC content was copied.
563
+ - **Native adaptation/disposition:** Adopt a conditional shared-contract proof
564
+ rule in existing Spec/Plan/Prove/testing owners. Add no registry, daemon,
565
+ profile, agent, or state store.
566
+
567
+ ## Cross-project adoption matrix
568
+
569
+ The matrix is split into linked tables so each cost and proof field remains
570
+ readable. `Adopt` means planned by ADR-0026. `Merge` means strengthen an existing
571
+ owner without new public surface. `Defer` requires new evidence. `Reject` appears
572
+ in each dossier for duplicated or unsafe systems.
573
+
574
+ ### Decision, owner, and validation
575
+
576
+ | ID | Source | Exact SHA | Concept and problem | Current DevRites handling | Native adaptation | Decision and implementation owner/location | Validation method |
577
+ |---|---|---|---|---|---|---|---|
578
+ | C1 | Superpowers; oh-my-claudecode | `44c9b2d6e889982ac18c27d05a19fefe335194e1`; `41a4c0f77144c5beb5f5f000a89cff379c680606` | Candidate/evidence identity; mtime and heuristic path extraction do not bind proved bytes. | Seal compares proof and touched-file mtimes; missing manifests and listed files can pass. Ship later changes candidate files. | Explicit `present`/`deleted` manifest, no-files marker, normalized bounded closure, streaming versioned digest, shared Candidate/Seal helper, pre-Review closure, affected re-proof, identical exact digest lines in evidence, review, seal, and browser evidence when present, plus Ship and staged/committed checks. | **Adopt.** Go candidate/evidence owner in `engine/internal/lib/` and `engine/internal/gate/`; native Prove/Polish/Review/Seal/Ship and workspace schema in `pack/.claude/`. | Positive digest stability; byte/path/state/type/mode mutations; malformed/legacy manifests; bounds; symlink/special-file rejection; missing or mismatched evidence/review/seal/browser lines; routing and Git-ladder contract tests. |
579
+ | C2 | BMAD Method | `a35e4c30d59a8edd808c834610428714785d5847` | Inherited Git variables can retarget repository, objects, refs, config, or pathspec despite `git -C`. | Two Go subprocess sites and production shell Git sites inherit ambient `GIT_*`. | One shared Go sanitizer and one sourced shell sanitizer; preserve unrelated variables; remove retargeting variables; keep dynamic config key/value pairs in parity. | **Adopt.** Go subprocess owners in `engine/internal/lib/` and `engine/internal/rootfacts/`; shared shell policy under `scripts/` used by all production shell Git callers. | Poisoned two-repository probes; per-variable table tests; dynamic-pair malformed/preserve/drop cases; Go/shell parity; root and secret-scan regression. |
580
+ | C3 | Spec Kit | `d1e86f638277a99b82715c22c90558cd58d3cffd` | Unbounded or unchecked acquisition can exhaust resources or bypass provenance. | Release checksums exist, but shell/Node transfers lack complete bounds, temp fallback can be predictable, and unchecked source/tag/raw fallbacks remain. | Exact asset plus mandatory SHA-256 sidecar, fixed transfer ceilings, secure private temp or fail, complete one-prefix archive preflight, no unchecked fallback, mandatory release sidecars. | **Adopt.** `install.sh`, `update.sh`, `scripts/install-lib.sh`, `bin/devrites.mjs`, release builder/check, and existing install/update/release tests. | Oversized metadata/checksum/archive/binary; missing/incorrect sidecar; temp failure; extra prefix/member/type; traversal; symlink/special file; expanded-size limit; release missing-sidecar failure; curl-plus-tar smoke. |
581
+ | C4 | OpenSpec; BMAD Method | `45cca5db6137ed209117cc70510eb3e057fb981b`; `a35e4c30d59a8edd808c834610428714785d5847` | MODIFIED capability folding can lose prior scenarios or source claims; no-impact changes are implicit. | `spec-grammar.md` and the capability ledger own deltas, but preservation and no-impact are not explicit enough. | Preserve prior scenarios and claims unless explicitly replaced; require justified no-impact; perform every candidate-affecting fold before Review/Seal. | **Merge.** Existing capability/spec owners in `pack/.claude/skills/rite-polish/`, shared spec grammar/schema, and native contract tests. | Multiple-scenario and foreign-tail fixtures; explicit replacement; duplicate/conflict; no-impact justification; Ship mutation rejection; generated-host parity. |
582
+ | C5 | GSD | `640eaee16e08bc5426cec570871cc0503a6c7d4c` | A green command can be skipped, assertion-free, compile-only, or otherwise vacuous. | Prove records commands and acceptance links, but positive observable/framework evidence is not uniformly mandatory. | Require executed positive observation or framework assertion; classify skipped, vacuous, compile-only, assertion-free, and non-executed results as unproven. | **Adopt.** Canonical testing and Prove standards, traceability/evidence schema, reviewer/test analyst, and routing/native contract tests. | Fixtures for each vacuous form plus real positive unit, integration, browser, and textual-artifact evidence; test-integrity review; Seal rejection. |
583
+ | C6 | ECC | `e4e4163101f162881e628f300a9ca4e6a940bcea` | Provider and consumer can test different assumptions about one API/event/schema boundary. | Traceability can name tests, but it does not require both sides to consume one canonical artifact. | When a boundary changes, identify one canonical contract artifact and require provider plus consumer tests against it; otherwise mark the rule not applicable. | **Adopt conditionally.** Existing Spec/Plan/traceability/testing/Prove owners; no registry or new phase. | Provider-only, consumer-only, duplicated-artifact, divergent-artifact, and both-sides-positive fixtures; not-applicable non-boundary slice. |
584
+ | C7 | gstack; oh-my-claudecode | `a3259400a366593e0c909dd9ac3e59752efd2488`; `41a4c0f77144c5beb5f5f000a89cff379c680606` | Static eval schemas do not measure recurring live-host behavior, cost, or regressions. | Opt-in Claude/Codex runtime smokes exist; behavioral evals mostly validate deterministic fixtures and shape. | Possible bounded runner with explicit scenario coverage, cost/turn caps, partial/final persistence, clean negatives, and comparison history. | **Defer.** Would belong beside existing isolated runtime smokes and evals only after an owner accepts recurring cost and privacy obligations. | Pilot with fixed scenarios, budget exhaustion, interrupted partial state, clean negative, known flaw, both hosts, and reproducibility review. |
585
+ | C8 | mattpocock/skills | `2ab958093e83e0ec752e6c1c5932da465bf23e0c` | Skill guidance can be verbose or drift semantically across router, docs, and body. | DevRites has one authoring standard, validators, trigger/outcome evals, size budgets, and generated parity. | Tighten routing, instruction ordering, course-correction, completion, and deletion rules only when the change shortens the existing owner; add negative drift fixtures when a real recurrence appears. | **Merge existing; no new surface.** `pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md`, authoring evals, and validators. | Existing routing/outcome/size/parity gates plus a targeted negative fixture for any admitted drift rule. |
586
+ | C9 | GSD | `640eaee16e08bc5426cec570871cc0503a6c7d4c` | Users may lack one read-only view across workspaces and an update-impact preview. | `/rite-status` is active-workspace focused; installer/update checks compare local candidates without a broad presentation layer. | Consider a read-only inventory or changelog preview within current Status/installer owners, without storing another index. | **Defer.** Current status and installer/update paths; no new command until a concrete navigation or update failure is demonstrated. | Large/malformed workspace set, no-workspace case, stale ACTIVE, read-only assertion, update with and without material changes. |
587
+ | C10 | DevRites baseline | `403e1a60adf3ae32ee88009c417e6ffe015fc1aa` | Invocation integrity misclassifies the literal `devrites-orchestrator` profile as a skill. | The baseline gate reports a false failure. | Classify that exact profile as a non-skill without weakening other invocation checks. | **Adopt.** `scripts/check-invocation-integrity.py` and its focused regression fixture. | Literal profile passes; real undeclared skill invocation still fails; full invocation-integrity gate. |
588
+ | C11 | DevRites baseline | `403e1a60adf3ae32ee88009c417e6ffe015fc1aa` | GHSA-mh99-v99m-4gvg temporary exception has stale range/expiry data. | `scripts/npm-audit-exceptions.json` can fail by date or hide the wrong dependency path. | Revalidate installed ancestry; remove when patched, else retain the exact affected path with owner, reason, and short expiry. | **Adopt.** npm audit checker, exception data, and supply-chain tests. | Patched ancestry without exception; exact vulnerable ancestry with live exception; wrong path/range and expired exception fail. |
589
+
590
+ ### Benefits, risks, cost, compatibility, security, and license
591
+
592
+ | ID | Benefit | Regression risk | Maintenance/complexity cost | Compatibility | Security | License |
593
+ |---|---|---|---|---|---|---|
594
+ | C1 | Proof, review, and seal bind the exact candidate and survive harmless timestamp changes. | Serialization, normalization, or fixed-line drift could invalidate sound evidence or miss a platform ambiguity. | One versioned format, one shared helper, exact-line readers, migration guidance, and manifest fixtures. | Public rites stay; old touched/evidence/review/seal records must refresh before a new Seal. | Fails closed on malicious paths, types, sizes, state mismatch, digest mismatch, and post-proof mutation. | Clean-room format; MIT sources require no notice change for concepts alone. |
595
+ | C2 | Every Git caller targets the intended repository with one auditable rule. | Over-filtering could remove a legitimate Git behavior; under-filtering leaves retargeting. | Small shared Go/shell tables plus parity tests. | Unrelated Git variables remain; callers retain current commands and output. | Closes repository, object, ref, config, and pathspec environment injection. | Security property only; no copied implementation. |
596
+ | C3 | Bootstrap remains available without accepting unauthenticated or resource-unbounded input. | Bad limits or archive assumptions could reject a valid release. | Bounds, one preflight parser per edge, release sidecar enforcement, and hostile fixtures. | curl plus tar remain sufficient; unchecked tag/main/raw fallback is intentionally removed. | Improves provenance, temp safety, traversal/type safety, and resource exhaustion resistance. | Requirements adapted from observed behavior, no copied downloader. |
597
+ | C4 | Capability history and source claims survive routine MODIFIED folds. | Over-preservation could retain intentionally removed content without an explicit replacement marker. | A few semantic fixtures and earlier routing; no new store. | Existing ledger/spec files remain; Ship stops mutating candidate files. | Reduces silent loss and unsupported provenance claims. | Clean-room behavior, no upstream schemas or prompts. |
598
+ | C5 | Green proof means an observable claim was checked. | Some legitimate compile-only slices need a precise observable claim or justified non-applicability. | Guidance, reviewer logic, and focused fixtures; no runtime dependency. | Existing test runners remain; weak historical evidence must be refreshed when relied upon. | Reduces false assurance, including in security and supply-chain gates. | General testing rule, no copied expression. |
599
+ | C6 | Detects integration drift where isolated tests agree with themselves but not each other. | Forcing it on non-boundary work would add ceremony, so applicability must be explicit. | Conditional traceability fields and paired fixtures; no registry. | Additive to existing specs/tests; projects keep their canonical artifact format. | Narrows schema/API substitution and unreviewed boundary drift. | General contract-testing rule, no copied artifact or prompt. |
600
+ | C7 | Could measure real host quality, cost, and regression instead of fixture shape. | Network/model nondeterminism, privacy exposure, rate limits, and false comparisons. | High recurring scenario, provider, storage, budget, and triage cost. | Opt-in only if admitted; no current workflow change. | Requires strict secret/privacy isolation and bounded agency. | Concept only; any future harness must remain clean-room. |
601
+ | C8 | Keeps skill authoring concise and makes semantic drift easier to name. | Vocabulary churn can add prose without changing behavior. | Low if merged only when deleting more text than it adds. | No public or runtime change. | Neutral except clearer authority and completion boundaries. | Conceptual terminology should be independently phrased. |
602
+ | C9 | Improves navigation and update awareness without changing workspaces. | A broad scan can be slow or expose unrelated workspace names. | Moderate presentation and hostile-workspace tests. | Can be read-only and additive inside current owners. | Must preserve path containment and avoid external writes. | General product behavior, no copied code. |
603
+ | C10 | Removes one false baseline failure while retaining the skill-invocation guard. | A broad exception could hide real undeclared skills. | One exact classification and focused test. | No public change. | Preserves gate signal without weakening coverage. | DevRites-local repair. |
604
+ | C11 | Keeps npm audit exceptions exact, current, and temporary. | Removing too early can break release; extending too broadly can hide exposure. | Periodic ancestry review until patched. | No runtime API change. | Direct supply-chain improvement. | DevRites-local dependency governance. |
605
+
606
+ ### Bounded qualitative scores
607
+
608
+ Scores use 1 (poor) through 5 (strong). For simplicity/maintainability and
609
+ context efficiency, a higher score means lower ongoing cost.
610
+
611
+ | ID | User value | Reliability | Fit | Simplicity / maintainability | Testability | Security | Context efficiency | Extensibility |
612
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|
613
+ | C1 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 4 |
614
+ | C2 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 4 |
615
+ | C3 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 3 |
616
+ | C4 | 4 | 4 | 5 | 5 | 5 | 4 | 5 | 4 |
617
+ | C5 | 5 | 5 | 5 | 5 | 5 | 5 | 4 | 4 |
618
+ | C6 | 4 | 5 | 5 | 4 | 5 | 4 | 4 | 5 |
619
+ | C7 | 3 | 3 | 3 | 1 | 3 | 2 | 2 | 4 |
620
+ | C8 | 3 | 3 | 5 | 4 | 4 | 3 | 5 | 4 |
621
+ | C9 | 2 | 3 | 3 | 3 | 4 | 3 | 4 | 3 |
622
+ | C10 | 4 | 5 | 5 | 5 | 5 | 4 | 5 | 2 |
623
+ | C11 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 3 |
624
+
625
+ ## Source-to-DevRites traceability
626
+
627
+ | Source | Material DevRites strength retained or admitted | Duplication explicitly rejected or deferred |
628
+ |---|---|---|
629
+ | gstack | Existing confidence/evidence reviewer admission and browser proof; live-host eval remains a bounded future candidate. | Browser/tunnel daemon, mutable reviewers, telemetry, auto-update, and second memory store. |
630
+ | mattpocock/skills | Existing skill-authoring, progressive references, routing budgets, and behavior evals. | Parallel catalog, generic agents, external issue authority, and secret wizard. |
631
+ | OpenSpec | Existing capability deltas and Markdown workspace; loss-aware preservation and no-impact form admitted. | Custom artifact DAG, schema runtime, telemetry, and broad stores/adapters. |
632
+ | Superpowers | Existing exact slice packets, TDD/debug/review; content-bound candidate identity admitted. | Mandatory worktrees/commits, global bootstrap, and visual server. |
633
+ | Spec Kit | Existing principles, structured planning, and lifecycle gates; bounded verified acquisition admitted. | YAML workflow engine, extension marketplace, hooks, auto-commit, and optional proof. |
634
+ | GSD | Existing fresh agents, file state, recovery, and Prove; positive non-vacuous evidence admitted. | Parallel writers, executable capabilities, external memory authority, and generic workstreams. |
635
+ | BMAD Method | Existing binding decisions, readiness, review, and Learn; Git sanitation and claim preservation admitted. | Finding quotas, inline writer, memlog authority, auto-commit, and remote modules. |
636
+ | oh-my-claudecode | Existing AFK/recovery and frozen Prove/Review/Seal; content-addressed candidate checks admitted. | Ambient hooks, magic modes, provider routing, security-off defaults, and floating update. |
637
+ | ECC | Existing exact reviewers, memory promotion, installer manifest, and one writer; conditional shared-contract proof admitted. | Rust daemon/TUI/scheduler, parallel writers, duplicate state, broad hooks, MCP defaults, and manual mirrors. |
638
+
639
+ ## Selected cohesive architecture
640
+
641
+ ADR-0026 groups the admitted changes around one invariant: every consequential
642
+ operation must bind bounded input to the exact object it claims to validate. The
643
+ implementation keeps the public lifecycle and owners intact, adds only the
644
+ read-only `check candidate` primitive, closes the candidate in Polish before
645
+ Review, and requires `evidence.md`, `review.md`, `seal.md`, plus
646
+ `browser-evidence.md` when present, to carry the same exact digest. Ship rechecks
647
+ that identity before Git and remains candidate-read-only. The architecture also
648
+ sanitizes all Git targeting, verifies and bounds acquisition, strengthens the
649
+ existing capability and proof contracts, and repairs the two baseline gates.
650
+
651
+ No repository is adopted as a framework. No new phase, skill, agent, dependency,
652
+ daemon, scheduler, registry, workflow language, database, or state plane is
653
+ admitted. The guard locations named in ADR-0026 are planned validation targets;
654
+ this research record does not claim that implementation or those tests already
655
+ pass.