@khoavu882/doflow 2.0.0-beta.5 โ†’ 2.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 (471) hide show
  1. package/README.md +12 -11
  2. package/bin/doflow.js +21 -11
  3. package/core/.antigravity-plugin/plugin.json +1 -2
  4. package/core/.claude-plugin/plugin.json +1 -1
  5. package/core/.codex-plugin/plugin.json +1 -1
  6. package/core/.plugin/plugin.json +1 -1
  7. package/core/harnesses/claude/hooks/lib.sh +43 -24
  8. package/core/harnesses/claude/hooks/permission-audit.sh +3 -0
  9. package/core/harnesses/claude/hooks/post-compact.sh +35 -32
  10. package/core/harnesses/claude/hooks/post-edit-lint.sh +2 -0
  11. package/core/harnesses/claude/hooks/post-shell-observe.sh +48 -0
  12. package/core/harnesses/claude/hooks/post-tool-failure.sh +3 -0
  13. package/core/harnesses/claude/hooks/pre-compact.sh +23 -27
  14. package/core/harnesses/claude/hooks/session-end.sh +23 -10
  15. package/core/harnesses/claude/hooks/skill-config-audit.sh +3 -0
  16. package/core/harnesses/claude/settings/settings.json +18 -0
  17. package/core/harnesses/claude/statusline/doflow-statusline.sh +1 -0
  18. package/core/harnesses/codex/agents/core-implementer.toml +1 -0
  19. package/core/harnesses/codex/agents/delivery-lead.toml +10 -0
  20. package/core/harnesses/codex/agents/quality-guardian.toml +1 -1
  21. package/core/harnesses/codex/agents/research-writer.toml +1 -1
  22. package/core/harnesses/codex/agents/reviewer.toml +10 -0
  23. package/core/harnesses/codex/agents/spec-analyst.toml +1 -1
  24. package/core/harnesses/codex/agents/system-architect.toml +1 -1
  25. package/core/harnesses/codex/hooks/lib.sh +44 -25
  26. package/core/harnesses/codex/hooks/post-edit-lint.impl.sh +3 -1
  27. package/core/harnesses/codex/hooks/pre-compact.impl.sh +29 -26
  28. package/core/harnesses/codex/hooks/session-end.impl.sh +23 -10
  29. package/core/harnesses/codex/hooks/subagent-audit.sh +1 -0
  30. package/core/harnesses/copilot/hooks/doflow-lib.sh +93 -0
  31. package/core/harnesses/copilot/hooks/doflow-mcp-tool-guard.sh +9 -0
  32. package/core/harnesses/copilot/hooks/doflow-pre-bash-guard.sh +9 -0
  33. package/core/harnesses/copilot/hooks/doflow-pre-implement-gate.sh +9 -0
  34. package/core/harnesses/copilot/hooks/doflow-session-start.sh +9 -0
  35. package/core/harnesses/copilot/hooks/doflow-stop-check.sh +9 -0
  36. package/core/harnesses/copilot/hooks/doflow-subagent-start.sh +9 -0
  37. package/core/harnesses/copilot/hooks/doflow-subagent-stop.sh +9 -0
  38. package/core/harnesses/copilot/hooks/doflow.json +57 -0
  39. package/core/harnesses/kiro/agents/doflow.json +1 -1
  40. package/core/harnesses/kiro/hooks/lib.sh +26 -6
  41. package/core/harnesses/kiro/hooks/mcp-tool-guard.sh +1 -0
  42. package/core/harnesses/kiro/hooks/pre-bash-guard.sh +1 -0
  43. package/core/harnesses/kiro/hooks/pre-implement-gate.sh +1 -0
  44. package/core/harnesses/kiro/hooks/session-start.sh +1 -0
  45. package/core/harnesses/kiro/hooks/stop-check.sh +1 -0
  46. package/core/harnesses/pi/extensions/doflow-guard.js +8 -0
  47. package/core/harnesses/shared/hooks/ENVELOPE_MIGRATION.md +0 -1
  48. package/core/harnesses/shared/hooks/bridge/bridge.sh +102 -9
  49. package/core/harnesses/shared/hooks/bridge/envelope.jq +87 -18
  50. package/core/harnesses/shared/hooks/bridge/observe-model.sh +75 -0
  51. package/core/harnesses/shared/hooks/bridge/respond.sh +10 -2
  52. package/core/harnesses/shared/hooks/policies/blocked-patterns.conf +28 -14
  53. package/core/harnesses/shared/hooks/policies/capture-failure.sh +48 -15
  54. package/core/harnesses/shared/hooks/policies/compact-text.sh +46 -0
  55. package/core/harnesses/shared/hooks/policies/contract.sh +3 -0
  56. package/core/harnesses/shared/hooks/policies/deny-json.sh +2 -11
  57. package/core/harnesses/shared/hooks/policies/emission-rules.sh +37 -0
  58. package/core/harnesses/shared/hooks/policies/emission.jq +209 -0
  59. package/core/harnesses/shared/hooks/policies/emission.sh +383 -0
  60. package/core/harnesses/shared/hooks/policies/identity.sh +177 -0
  61. package/core/harnesses/shared/hooks/policies/lib.sh +63 -40
  62. package/core/harnesses/shared/hooks/policies/mcp-tool-guard.sh +3 -2
  63. package/core/harnesses/shared/hooks/policies/pre-bash-guard.sh +213 -12
  64. package/core/harnesses/shared/hooks/policies/pre-implementation-gate.sh +114 -38
  65. package/core/harnesses/shared/hooks/policies/session-context.sh +30 -1
  66. package/core/harnesses/shared/hooks/policies/stop-check.sh +20 -9
  67. package/core/harnesses/shared/hooks/policies/subagent-audit.sh +5 -2
  68. package/core/harnesses/shared/hooks/policies/summary-store.sh +347 -0
  69. package/core/harnesses/shared/hooks/policies/user-prompt-submit.sh +60 -155
  70. package/core/harnesses/shared/hooks/stream-hook-runner.js +47 -8
  71. package/core/harnesses/shared/locator/doflow-run +2 -3
  72. package/core/registry/advice.json +3 -3
  73. package/core/registry/assets.json +55 -82
  74. package/core/registry/capabilities.json +12 -0
  75. package/core/registry/contracts.json +58 -31
  76. package/core/registry/contribution-points.json +32 -0
  77. package/core/registry/gates.json +32 -0
  78. package/core/registry/guidance-caps.json +40 -0
  79. package/core/registry/harnesses.json +1442 -363
  80. package/core/registry/lifecycle.json +485 -304
  81. package/core/registry/mcp.json +5 -1
  82. package/core/registry/models.json +7 -1
  83. package/core/registry/package-templates/README.md +19 -0
  84. package/core/registry/package-templates/agent/files/agent.md +9 -0
  85. package/core/registry/package-templates/agent/template.json +4 -0
  86. package/core/registry/package-templates/capability-provider/files/provider.json +9 -0
  87. package/core/registry/package-templates/capability-provider/template.json +11 -0
  88. package/core/registry/package-templates/debate-preset/files/preset.json +26 -0
  89. package/core/registry/package-templates/debate-preset/template.json +4 -0
  90. package/core/registry/package-templates/review-preset/files/preset.json +30 -0
  91. package/core/registry/package-templates/review-preset/template.json +4 -0
  92. package/core/registry/package-templates/skill/files/SKILL.md +8 -0
  93. package/core/registry/package-templates/skill/template.json +4 -0
  94. package/core/registry/package-templates/worker/files/worker.json +92 -0
  95. package/core/registry/package-templates/worker/template.json +11 -0
  96. package/core/registry/packages/doflow/doflow-package.json +15 -0
  97. package/core/registry/packages/doflow/presets/debate-3.json +26 -0
  98. package/core/registry/protocols.json +61 -0
  99. package/core/registry/routes.json +17 -0
  100. package/core/registry/rules.json +431 -0
  101. package/core/registry/settings.json +276 -0
  102. package/core/registry/storage.json +679 -31
  103. package/core/registry/telemetry.json +236 -0
  104. package/core/registry/transcripts.json +142 -0
  105. package/core/registry/verification.json +76 -1
  106. package/core/registry/workflows.json +55 -0
  107. package/core/shared/agent-specs/core-implementer.md +3 -0
  108. package/core/shared/agent-specs/delivery-lead.md +68 -0
  109. package/core/shared/agent-specs/quality-guardian.md +5 -1
  110. package/core/shared/agent-specs/research-writer.md +10 -3
  111. package/core/shared/agent-specs/reviewer.md +53 -0
  112. package/core/shared/agent-specs/spec-analyst.md +5 -6
  113. package/core/shared/agent-specs/system-architect.md +5 -1
  114. package/core/shared/guidance/DOFLOW_CORE.md +1 -5
  115. package/core/shared/guidance/modes/MODE_DeepResearch.md +1 -1
  116. package/core/shared/guidance/modes/MODE_Orchestration.md +4 -3
  117. package/core/shared/guidance/modes/MODE_Task_Management.md +14 -14
  118. package/core/shared/guidance/pointers/codex.md +1 -4
  119. package/core/shared/guidance/references/ARTIFACT_FORMAT.md +30 -16
  120. package/core/shared/guidance/references/ARTIFACT_VOICE.md +3 -2
  121. package/core/shared/guidance/references/CONSTITUTION_BASE.md +17 -15
  122. package/core/shared/guidance/references/DIAGRAM_GUIDE.md +1 -1
  123. package/core/shared/guidance/references/DOFLOW_CHAIN.md +17 -19
  124. package/core/shared/guidance/references/EVIDENCE_LEDGER.md +7 -8
  125. package/core/shared/guidance/references/MODEL_SELECTION.md +5 -3
  126. package/core/shared/guidance/references/ORCHESTRATION.md +1 -2
  127. package/core/shared/guidance/rules/RULES.md +45 -0
  128. package/core/shared/scripts/doflow/bash/do-args.sh +37 -0
  129. package/core/shared/scripts/doflow/bash/do-exec-paths.sh +4 -0
  130. package/core/shared/scripts/doflow/bash/do-git-state.sh +15 -4
  131. package/core/shared/scripts/doflow/bash/do-parallel-check.sh +4 -0
  132. package/core/shared/scripts/doflow/bash/do-paths.sh +40 -2
  133. package/core/shared/scripts/doflow/bash/do-prereqs.sh +2 -1
  134. package/core/shared/scripts/doflow/bash/do-review-package.sh +4 -0
  135. package/core/shared/scripts/doflow/bash/do-task-brief.sh +58 -16
  136. package/core/shared/scripts/doflow/bash/render-audit.sh +26 -2
  137. package/core/shared/scripts/doflow/bash/render-diagrams.sh +1 -0
  138. package/core/shared/scripts/doflow/bash/render-puml.sh +2 -1
  139. package/core/shared/scripts/doflow/bash/validate-artifacts.sh +48 -4
  140. package/core/shared/scripts/doflow/bin/doflow-run +149 -34
  141. package/core/shared/skills/do/SKILL.md +12 -10
  142. package/core/shared/skills/do/references/advice_calls.md +26 -0
  143. package/core/shared/skills/do/references/pm_routing.md +1 -2
  144. package/core/shared/skills/do/references/program_mode.md +31 -0
  145. package/core/shared/skills/do-brainstorm/SKILL.md +20 -74
  146. package/core/shared/skills/do-brainstorm/references/handoff_branches.md +35 -0
  147. package/core/shared/skills/do-brainstorm/references/intent_seed.md +21 -0
  148. package/core/shared/skills/do-brainstorm/references/round_log.md +17 -0
  149. package/core/shared/skills/do-code-review/SKILL.md +41 -144
  150. package/core/shared/skills/do-code-review/content-types/markdown.md +24 -2
  151. package/core/shared/skills/do-code-review/references/tools.md +90 -0
  152. package/core/shared/skills/do-code-review/scripts/doc_quality_checker.py +549 -7
  153. package/core/shared/skills/do-design/SKILL.md +18 -17
  154. package/core/shared/skills/do-diagnose/SKILL.md +14 -4
  155. package/core/shared/skills/do-document/SKILL.md +11 -1
  156. package/core/shared/skills/do-document/references/deep_research.md +1 -2
  157. package/core/shared/skills/do-document/references/embedded-research.md +18 -6
  158. package/core/shared/skills/do-document/references/implementation-flow.md +5 -6
  159. package/core/shared/skills/do-execute-plan/SKILL.md +15 -58
  160. package/core/shared/skills/do-execute-plan/references/handoff_record.md +7 -2
  161. package/core/shared/skills/do-execute-plan/references/parallel_dispatch.md +13 -0
  162. package/core/shared/skills/do-execute-plan/references/readiness_gate.md +26 -1
  163. package/core/shared/skills/do-execute-plan/references/run_position.md +13 -1
  164. package/core/shared/skills/do-execute-plan/references/scaffold.md +17 -9
  165. package/core/shared/skills/do-execute-plan/references/state_checkpoint.md +11 -0
  166. package/core/shared/skills/do-execute-plan/references/task_attempts.md +78 -24
  167. package/core/shared/skills/do-flow/SKILL.md +8 -9
  168. package/core/shared/skills/do-flow/references/task_classes.md +2 -2
  169. package/core/shared/skills/do-git/SKILL.md +4 -0
  170. package/core/shared/skills/do-implement/SKILL.md +4 -7
  171. package/core/shared/skills/do-plan/SKILL.md +26 -15
  172. package/core/shared/skills/do-test/SKILL.md +7 -4
  173. package/core/shared/templates/doflow/constitution-template.md +9 -3
  174. package/core/shared/templates/doflow/data-model-template.md +1 -1
  175. package/core/shared/templates/doflow/design-template.md +113 -16
  176. package/core/shared/templates/doflow/plan-template.md +11 -10
  177. package/core/shared/templates/doflow/question-log-template.md +14 -2
  178. package/core/shared/templates/doflow/requirement-template.md +1 -1
  179. package/core/worker-evidence/antigravity/checks.json +14 -0
  180. package/core/worker-evidence/codex/2026-10-18-cli-check.json +107 -0
  181. package/core/worker-evidence/codex/2026-10-18-live-run-edit.json +73 -0
  182. package/core/worker-evidence/codex/2026-10-18-live-run-read-only.json +62 -0
  183. package/core/worker-evidence/codex/2026-10-24-cli-check.json +126 -0
  184. package/core/worker-evidence/codex/checks.json +38 -0
  185. package/package.json +10 -6
  186. package/src/adapters/antigravity/index.js +143 -66
  187. package/src/adapters/claude/index.js +24 -4
  188. package/src/adapters/codex/agents.js +25 -15
  189. package/src/adapters/codex/index.js +48 -13
  190. package/src/adapters/codex/native-projection.js +6 -2
  191. package/src/adapters/copilot/index.js +58 -23
  192. package/src/adapters/copy-tree.js +290 -44
  193. package/src/adapters/guidance-manifest.js +71 -0
  194. package/src/adapters/guidance-pointer.js +19 -0
  195. package/src/adapters/hook-commands.js +6 -10
  196. package/src/adapters/index.js +1 -0
  197. package/src/adapters/kiro/index.js +23 -12
  198. package/src/adapters/opencode/index.js +8 -8
  199. package/src/adapters/pi/hooks.js +2 -1
  200. package/src/adapters/pi/index.js +14 -7
  201. package/src/adapters/resolve-source.js +26 -2
  202. package/src/cli/commands/install.js +2 -1
  203. package/src/cli/commands/reconcile.js +53 -9
  204. package/src/cli/commands/remove.js +2 -2
  205. package/src/cli/commands/rollback.js +6 -3
  206. package/src/cli/commands/self-update.js +18 -9
  207. package/src/cli/commands/status.js +21 -2
  208. package/src/cli/commands/ui.js +99 -0
  209. package/src/cli/commands/update.js +2 -1
  210. package/src/cli/index.js +322 -29
  211. package/src/cli/runtime-commands.js +209 -57
  212. package/src/cli/shared.js +0 -2
  213. package/src/helper/git.js +1 -1
  214. package/src/helper/guardrails.js +1 -1
  215. package/src/helper/marker-merge.js +31 -13
  216. package/src/helper/package-ids.js +37 -0
  217. package/src/helper/semver.js +94 -0
  218. package/src/install/backup.js +105 -15
  219. package/src/install/context.js +1 -1
  220. package/src/install/targets.js +31 -16
  221. package/src/lifecycle/coverage.js +20 -3
  222. package/src/lifecycle/hook-tier.js +160 -0
  223. package/src/lifecycle/index.js +412 -78
  224. package/src/lifecycle/retired-harnesses.js +318 -0
  225. package/src/lifecycle/view.js +35 -15
  226. package/src/registry/index.js +551 -26
  227. package/src/registry/worker-ids.js +45 -0
  228. package/src/release/build-package.js +0 -3
  229. package/src/release/docs-blocks.js +492 -0
  230. package/src/release/preflight.js +425 -0
  231. package/src/release/rehearse.js +401 -0
  232. package/src/release/release-workflow.js +733 -0
  233. package/src/release/sync-plugin-versions.js +43 -7
  234. package/src/runtime/advice/bench-gate.js +25 -0
  235. package/src/runtime/advice/cli.js +59 -16
  236. package/src/runtime/advice/client.js +32 -9
  237. package/src/runtime/advice/config.js +98 -133
  238. package/src/runtime/advice/doctor.js +1 -1
  239. package/src/runtime/advice/elevation.js +97 -0
  240. package/src/runtime/advice/endpoint-guard.js +9 -3
  241. package/src/runtime/advice/mode.js +37 -0
  242. package/src/runtime/advice/record.js +18 -5
  243. package/src/runtime/advice/registry.js +4 -1
  244. package/src/runtime/advice/shadow-config.js +229 -0
  245. package/src/runtime/advice/shadow-dispatcher.js +276 -0
  246. package/src/runtime/brief-rules.js +81 -0
  247. package/src/runtime/brief-tools.js +111 -34
  248. package/src/runtime/candidate.js +20 -11
  249. package/src/runtime/capabilities/executor.js +450 -0
  250. package/src/runtime/capabilities/loopback.js +41 -0
  251. package/src/runtime/capabilities/sanitizer.js +88 -0
  252. package/src/runtime/capability-router.js +135 -3
  253. package/src/runtime/checkouts.js +73 -11
  254. package/src/runtime/claims.js +13 -7
  255. package/src/runtime/cli.js +196 -19
  256. package/src/runtime/config-home.js +42 -0
  257. package/src/runtime/context/arbitrate.js +767 -0
  258. package/src/runtime/context/delivery-store.js +4 -6
  259. package/src/runtime/context/emission-rules.js +118 -0
  260. package/src/runtime/context/identity.js +227 -0
  261. package/src/runtime/context/primary-command.js +117 -0
  262. package/src/runtime/context/primary.js +344 -0
  263. package/src/runtime/context/summary-store.js +655 -0
  264. package/src/runtime/context-pack.js +154 -78
  265. package/src/runtime/decision-register.js +13 -4
  266. package/src/runtime/dispatch/admission.js +392 -0
  267. package/src/runtime/dispatch/attempt-end.js +274 -0
  268. package/src/runtime/dispatch/command.js +628 -0
  269. package/src/runtime/dispatch/controls.js +904 -0
  270. package/src/runtime/dispatch/envelope.js +276 -0
  271. package/src/runtime/dispatch/grants.js +310 -0
  272. package/src/runtime/dispatch/integrate.js +617 -0
  273. package/src/runtime/dispatch/loop.js +1835 -0
  274. package/src/runtime/dispatch/store.js +352 -0
  275. package/src/runtime/dispatch/verify-run.js +201 -0
  276. package/src/runtime/evidence-ledger.js +34 -7
  277. package/src/runtime/failure/capture.js +3 -1
  278. package/src/runtime/failure/cli.js +25 -9
  279. package/src/runtime/failure/home.js +57 -30
  280. package/src/runtime/failure/store.js +7 -2
  281. package/src/runtime/feature-pointer.js +174 -0
  282. package/src/runtime/feature-resolve.js +13 -2
  283. package/src/runtime/fleet/command.js +77 -0
  284. package/src/runtime/fleet/projects.js +178 -0
  285. package/src/runtime/fleet/tree.js +383 -0
  286. package/src/runtime/freshness.js +33 -3
  287. package/src/runtime/git-memo.js +46 -0
  288. package/src/runtime/guidance/ablation.js +427 -0
  289. package/src/runtime/health.js +565 -17
  290. package/src/runtime/history-compactor.js +13 -3
  291. package/src/runtime/implementation-gate.js +277 -22
  292. package/src/runtime/inventory/coverage.js +1 -1
  293. package/src/runtime/inventory/index.js +1 -1
  294. package/src/runtime/inventory/precedence.js +2 -2
  295. package/src/runtime/inventory/siblings.js +6 -4
  296. package/src/runtime/knowledge/code-corpus.js +277 -0
  297. package/src/runtime/knowledge/code-lexical.js +130 -0
  298. package/src/runtime/knowledge/code-retrieval.js +307 -0
  299. package/src/runtime/knowledge/code-validation.js +106 -0
  300. package/src/runtime/knowledge/gp3-gate.js +74 -0
  301. package/src/runtime/knowledge/graph-adapter.js +288 -0
  302. package/src/runtime/knowledge/graph-fallback.js +394 -0
  303. package/src/runtime/knowledge/hybrid.js +136 -8
  304. package/src/runtime/knowledge/retrieval.js +34 -1
  305. package/src/runtime/knowledge/rtk-compress.js +77 -0
  306. package/src/runtime/knowledge/semble-bridge.py +106 -0
  307. package/src/runtime/knowledge/semble-lifecycle.js +114 -0
  308. package/src/runtime/knowledge/semble-provider.js +365 -0
  309. package/src/runtime/lifecycle/cli.js +16 -6
  310. package/src/runtime/lifecycle/event-store.js +8 -6
  311. package/src/runtime/lifecycle/followup.js +6 -1
  312. package/src/runtime/lifecycle/overview.js +24 -1
  313. package/src/runtime/lifecycle/report-store.js +8 -10
  314. package/src/runtime/lifecycle/retention.js +95 -31
  315. package/src/runtime/lifecycle/root.js +9 -1
  316. package/src/runtime/lifecycle/status.js +34 -17
  317. package/src/runtime/lifecycle/store-upkeep.js +56 -7
  318. package/src/runtime/mask.js +134 -7
  319. package/src/runtime/mcp-consultations.js +40 -6
  320. package/src/runtime/model-router.js +79 -7
  321. package/src/runtime/models/catalogue.js +191 -0
  322. package/src/runtime/models/command.js +153 -0
  323. package/src/runtime/off-words.js +12 -0
  324. package/src/runtime/outcome.js +2 -2
  325. package/src/runtime/packages/command.js +1009 -0
  326. package/src/runtime/packages/contributions.js +116 -0
  327. package/src/runtime/packages/digest.js +132 -0
  328. package/src/runtime/packages/fetch.js +182 -0
  329. package/src/runtime/packages/grants.js +192 -0
  330. package/src/runtime/packages/index-file.js +134 -0
  331. package/src/runtime/packages/instruction.js +90 -0
  332. package/src/runtime/packages/manifest.js +331 -0
  333. package/src/runtime/packages/points.js +477 -0
  334. package/src/runtime/packages/programs.js +216 -0
  335. package/src/runtime/packages/scaffold.js +277 -0
  336. package/src/runtime/packages/source.js +90 -0
  337. package/src/runtime/packages/state.js +164 -0
  338. package/src/runtime/packages/store.js +449 -0
  339. package/src/runtime/packages/tar.js +106 -0
  340. package/src/runtime/packages/view.js +406 -0
  341. package/src/runtime/plan-check.js +59 -0
  342. package/src/runtime/plan-content.js +324 -0
  343. package/src/runtime/policy-init.js +118 -0
  344. package/src/runtime/profiles/doctor.js +96 -0
  345. package/src/runtime/profiles/resolve.js +244 -0
  346. package/src/runtime/profiles/rollback.js +254 -0
  347. package/src/runtime/profiles/sampler.js +41 -0
  348. package/src/runtime/readiness-record.js +16 -11
  349. package/src/runtime/readiness.js +46 -5
  350. package/src/runtime/research-request.js +50 -25
  351. package/src/runtime/retrieval-plan.js +10 -30
  352. package/src/runtime/retrieval-record.js +75 -5
  353. package/src/runtime/review/command.js +246 -0
  354. package/src/runtime/review/dominance.js +68 -0
  355. package/src/runtime/review/findings.js +434 -0
  356. package/src/runtime/review/identity.js +255 -0
  357. package/src/runtime/review/protocol-command.js +109 -0
  358. package/src/runtime/review/protocols.js +405 -0
  359. package/src/runtime/review/resolve-protocol.js +302 -0
  360. package/src/runtime/review/start.js +530 -0
  361. package/src/runtime/roadmap/facts.js +479 -0
  362. package/src/runtime/roadmap/gates.js +270 -0
  363. package/src/runtime/roadmap/loop.js +1636 -0
  364. package/src/runtime/roadmap/merge.js +381 -0
  365. package/src/runtime/roadmap/rows.js +1113 -0
  366. package/src/runtime/roadmap/seed.js +951 -0
  367. package/src/runtime/rules-report.js +336 -0
  368. package/src/runtime/scaffold/artifacts.js +60 -9
  369. package/src/runtime/scaffold/generate.js +21 -9
  370. package/src/runtime/settings/autopilot.js +106 -0
  371. package/src/runtime/settings/cli.js +280 -0
  372. package/src/runtime/settings/config-write.js +314 -0
  373. package/src/runtime/settings/files.js +271 -0
  374. package/src/runtime/settings/legacy.js +154 -0
  375. package/src/runtime/settings/lexical.js +56 -0
  376. package/src/runtime/settings/prepared-run.js +269 -0
  377. package/src/runtime/settings/project-layers.js +118 -0
  378. package/src/runtime/settings/refs.js +288 -0
  379. package/src/runtime/settings/registry.js +553 -0
  380. package/src/runtime/settings/resolve.js +713 -0
  381. package/src/runtime/settings/shared.js +37 -0
  382. package/src/runtime/settings/worker-billing.js +107 -0
  383. package/src/runtime/settings/write.js +269 -0
  384. package/src/runtime/slot-command.js +78 -0
  385. package/src/runtime/slots.js +671 -0
  386. package/src/runtime/source-version.js +1 -0
  387. package/src/runtime/state-root.js +217 -0
  388. package/src/runtime/storage/cli.js +12 -5
  389. package/src/runtime/storage/engine.js +9 -2
  390. package/src/runtime/storage/registry.js +14 -1
  391. package/src/runtime/storage/roots.js +66 -16
  392. package/src/runtime/storage/rules.js +82 -10
  393. package/src/runtime/storage/upkeep.js +10 -2
  394. package/src/runtime/storage/work-status.js +245 -26
  395. package/src/runtime/task-attempts.js +589 -69
  396. package/src/runtime/task-classifier.js +47 -11
  397. package/src/runtime/task-graph.js +373 -0
  398. package/src/runtime/task-run.js +778 -0
  399. package/src/runtime/task-scope.js +176 -55
  400. package/src/runtime/task-sources.js +147 -0
  401. package/src/runtime/task-state.js +374 -64
  402. package/src/runtime/team/admission.js +301 -0
  403. package/src/runtime/team/envelope.js +324 -0
  404. package/src/runtime/team/review-guard.js +156 -0
  405. package/src/runtime/trace/analyze.js +427 -0
  406. package/src/runtime/trace/baseline.js +770 -0
  407. package/src/runtime/trace/ledger.js +63 -140
  408. package/src/runtime/trace/otlp-export.js +568 -0
  409. package/src/runtime/trace/otlp-map.js +481 -0
  410. package/src/runtime/trace/spans.js +745 -0
  411. package/src/runtime/trace/telemetry.js +225 -0
  412. package/src/runtime/trace/views.js +1 -0
  413. package/src/runtime/transcripts/command.js +98 -0
  414. package/src/runtime/transcripts/cursor.js +326 -0
  415. package/src/runtime/transcripts/read.js +126 -0
  416. package/src/runtime/transcripts/readers/claude-jsonl.js +74 -0
  417. package/src/runtime/transcripts/readers/codex-rollout.js +70 -0
  418. package/src/runtime/transcripts/readers/copilot-events.js +90 -0
  419. package/src/runtime/transcripts/readers/kiro-jsonl.js +77 -0
  420. package/src/runtime/transcripts/readers/pi-jsonl.js +59 -0
  421. package/src/runtime/transcripts/registry.js +161 -0
  422. package/src/runtime/transcripts/stats.js +161 -0
  423. package/src/runtime/verification/check-key.js +628 -0
  424. package/src/runtime/verification/contract-runner.js +546 -11
  425. package/src/runtime/verification/engine.js +499 -9
  426. package/src/runtime/verification/impact.js +617 -0
  427. package/src/runtime/verification/inflight.js +205 -0
  428. package/src/runtime/verification/registry.js +176 -0
  429. package/src/runtime/verification/reuse.js +184 -0
  430. package/src/runtime/verification/telemetry-emit.js +254 -0
  431. package/src/runtime/verification/test-selection.js +67 -7
  432. package/src/runtime/worker/active.js +90 -0
  433. package/src/runtime/worker/cancel.js +222 -0
  434. package/src/runtime/worker/catalogue.js +122 -0
  435. package/src/runtime/worker/command.js +677 -0
  436. package/src/runtime/worker/evidence.js +288 -0
  437. package/src/runtime/worker/launch.js +288 -0
  438. package/src/runtime/worker/models.js +137 -0
  439. package/src/runtime/worker/parsers.js +218 -0
  440. package/src/runtime/worker/probes/index.js +706 -0
  441. package/src/runtime/worker/process-tree.js +415 -0
  442. package/src/runtime/worker/quota.js +43 -0
  443. package/src/runtime/worker/readiness.js +713 -0
  444. package/src/runtime/worker/run-store.js +166 -0
  445. package/src/runtime/worker/supervisor.js +541 -0
  446. package/src/runtime/worker/worktree-check.js +252 -0
  447. package/src/runtime/workflow-engine.js +5 -1
  448. package/src/runtime/workflow-orchestrator.js +578 -63
  449. package/src/runtime/worktree.js +149 -22
  450. package/src/state/index.js +1 -1
  451. package/src/state/lockfile.js +64 -10
  452. package/src/state/run-lock.js +1 -1
  453. package/types/node-commonjs.d.ts +106 -7
  454. package/core/harnesses/gemini/hooks/hooks.json +0 -77
  455. package/core/harnesses/gemini/hooks/lib.sh +0 -302
  456. package/core/harnesses/gemini/hooks/mcp-tool-guard.sh +0 -10
  457. package/core/harnesses/gemini/hooks/post-edit-lint.sh +0 -39
  458. package/core/harnesses/gemini/hooks/pre-bash-guard.sh +0 -10
  459. package/core/harnesses/gemini/hooks/pre-compact.sh +0 -38
  460. package/core/harnesses/gemini/hooks/pre-implement-gate.sh +0 -10
  461. package/core/harnesses/gemini/hooks/session-end.impl.sh +0 -89
  462. package/core/harnesses/gemini/hooks/session-end.sh +0 -5
  463. package/core/harnesses/gemini/hooks/session-start.sh +0 -7
  464. package/core/harnesses/gemini/settings/adapter-defaults.json +0 -4
  465. package/core/shared/guidance/FLAGS.md +0 -25
  466. package/core/shared/guidance/rules/RULE_01_SAFETY.md +0 -25
  467. package/core/shared/guidance/rules/RULE_02_WORKFLOW.md +0 -23
  468. package/core/shared/guidance/rules/RULE_03_QUALITY.md +0 -14
  469. package/core/shared/guidance/rules/RULE_04_QUESTIONS.md +0 -46
  470. package/src/adapters/gemini/hooks.js +0 -251
  471. package/src/adapters/gemini/index.js +0 -429
@@ -71,6 +71,27 @@
71
71
  "reason": "Repository governance. No workflow declares a governance stage and none should: the constitution is what workflows are checked against, not a step inside one. A classify call from here is a routing mistake rather than a class mistake, and is rejected as such."
72
72
  }
73
73
  },
74
+ "agents": {
75
+ "description": "The `access` of every agent spec in core/shared/agent-specs/, for the runtime: an installed runtime ships core/registry but not core/shared, so `review --action start` and `protocol` read a seat agent's access here. test/guards/agent-roster.test.js (G63) holds it equal to each spec's frontmatter `access`; edit the spec and this entry together.",
76
+ "access": {
77
+ "core-implementer": "write",
78
+ "delivery-lead": "write",
79
+ "quality-guardian": "write",
80
+ "research-writer": "write",
81
+ "reviewer": "read-only",
82
+ "spec-analyst": "write",
83
+ "system-architect": "write"
84
+ },
85
+ "handback": {
86
+ "description": "The hand-back status enum (row 135): every agent spec ends its report with `Status: <id>`, and a caller that consumes a hand-back branches on it. Defined only here; test/guards/handback-status.test.ts (G76) holds each spec's status line and each consumer's branch line to this list.",
87
+ "statuses": [
88
+ { "id": "done", "meaning": "complete; the evidence is in the report", "caller": "accept after checking the evidence" },
89
+ { "id": "done-with-concerns", "meaning": "complete, with doubts the report lists", "caller": "verify the concerns before accepting" },
90
+ { "id": "needs-context", "meaning": "cannot finish without information the brief lacks; the report names it", "caller": "resend with the missing context" },
91
+ { "id": "blocked", "meaning": "cannot proceed for a reason only the caller can resolve: a denied permission, a broken environment or an open decision", "caller": "stop and surface it" }
92
+ ]
93
+ }
94
+ },
74
95
  "classes": {
75
96
  "feature": {
76
97
  "name": "Feature Delivery",
@@ -81,6 +102,7 @@
81
102
  {
82
103
  "id": "discovery",
83
104
  "skill": "do-brainstorm",
105
+ "agent": "spec-analyst",
84
106
  "kind": "discovery",
85
107
  "readinessTemplate": null,
86
108
  "optional": false,
@@ -89,6 +111,7 @@
89
111
  {
90
112
  "id": "design",
91
113
  "skill": "do-design",
114
+ "agent": "system-architect",
92
115
  "kind": "design",
93
116
  "readinessTemplate": null,
94
117
  "optional": false,
@@ -97,6 +120,7 @@
97
120
  {
98
121
  "id": "planning",
99
122
  "skill": "do-plan",
123
+ "agent": "delivery-lead",
100
124
  "kind": "planning",
101
125
  "readinessTemplate": null,
102
126
  "optional": false,
@@ -105,6 +129,7 @@
105
129
  {
106
130
  "id": "implementation",
107
131
  "skill": "do-execute-plan",
132
+ "agent": "delivery-lead",
108
133
  "kind": "implementation",
109
134
  "readinessTemplate": "feature",
110
135
  "optional": false,
@@ -113,6 +138,7 @@
113
138
  {
114
139
  "id": "verification",
115
140
  "skill": "do-test",
141
+ "agent": "quality-guardian",
116
142
  "kind": "verification",
117
143
  "readinessTemplate": null,
118
144
  "optional": false,
@@ -121,6 +147,7 @@
121
147
  {
122
148
  "id": "review",
123
149
  "skill": "do-code-review",
150
+ "agent": "reviewer",
124
151
  "kind": "review",
125
152
  "readinessTemplate": null,
126
153
  "optional": false,
@@ -163,6 +190,7 @@
163
190
  {
164
191
  "id": "reproduction",
165
192
  "skill": "do-test",
193
+ "agent": "quality-guardian",
166
194
  "kind": "reproduction",
167
195
  "readinessTemplate": null,
168
196
  "optional": false,
@@ -171,6 +199,7 @@
171
199
  {
172
200
  "id": "root-cause",
173
201
  "skill": "do-diagnose",
202
+ "agent": "quality-guardian",
174
203
  "kind": "analysis",
175
204
  "readinessTemplate": null,
176
205
  "optional": false,
@@ -179,6 +208,7 @@
179
208
  {
180
209
  "id": "implementation",
181
210
  "skill": "do-implement",
211
+ "agent": "core-implementer",
182
212
  "kind": "implementation",
183
213
  "readinessTemplate": "bug",
184
214
  "optional": false,
@@ -187,6 +217,7 @@
187
217
  {
188
218
  "id": "regression-verification",
189
219
  "skill": "do-test",
220
+ "agent": "quality-guardian",
190
221
  "kind": "verification",
191
222
  "readinessTemplate": null,
192
223
  "optional": false,
@@ -195,6 +226,7 @@
195
226
  {
196
227
  "id": "review",
197
228
  "skill": "do-code-review",
229
+ "agent": "reviewer",
198
230
  "kind": "review",
199
231
  "readinessTemplate": null,
200
232
  "optional": true,
@@ -212,6 +244,7 @@
212
244
  {
213
245
  "id": "architecture-mapping",
214
246
  "skill": "do-diagnose",
247
+ "agent": "system-architect",
215
248
  "kind": "analysis",
216
249
  "readinessTemplate": null,
217
250
  "optional": false,
@@ -220,6 +253,7 @@
220
253
  {
221
254
  "id": "baseline-verification",
222
255
  "skill": "do-test",
256
+ "agent": "quality-guardian",
223
257
  "kind": "verification",
224
258
  "readinessTemplate": null,
225
259
  "optional": false,
@@ -228,6 +262,7 @@
228
262
  {
229
263
  "id": "implementation",
230
264
  "skill": "do-implement",
265
+ "agent": "core-implementer",
231
266
  "kind": "implementation",
232
267
  "readinessTemplate": "refactor",
233
268
  "optional": false,
@@ -236,6 +271,7 @@
236
271
  {
237
272
  "id": "verification",
238
273
  "skill": "do-test",
274
+ "agent": "quality-guardian",
239
275
  "kind": "verification",
240
276
  "readinessTemplate": null,
241
277
  "optional": false,
@@ -244,6 +280,7 @@
244
280
  {
245
281
  "id": "review",
246
282
  "skill": "do-code-review",
283
+ "agent": "reviewer",
247
284
  "kind": "review",
248
285
  "readinessTemplate": null,
249
286
  "optional": false,
@@ -261,6 +298,7 @@
261
298
  {
262
299
  "id": "verification",
263
300
  "skill": "do-test",
301
+ "agent": "quality-guardian",
264
302
  "kind": "verification",
265
303
  "readinessTemplate": null,
266
304
  "optional": true,
@@ -269,6 +307,7 @@
269
307
  {
270
308
  "id": "review",
271
309
  "skill": "do-code-review",
310
+ "agent": "reviewer",
272
311
  "kind": "review",
273
312
  "readinessTemplate": null,
274
313
  "optional": false,
@@ -286,6 +325,7 @@
286
325
  {
287
326
  "id": "scoping",
288
327
  "skill": "do",
328
+ "agent": "research-writer",
289
329
  "kind": "discovery",
290
330
  "readinessTemplate": null,
291
331
  "optional": true,
@@ -294,6 +334,7 @@
294
334
  {
295
335
  "id": "synthesis",
296
336
  "skill": "do-document",
337
+ "agent": "research-writer",
297
338
  "kind": "synthesis",
298
339
  "readinessTemplate": null,
299
340
  "optional": false,
@@ -311,6 +352,7 @@
311
352
  {
312
353
  "id": "authoring",
313
354
  "skill": "do-document",
355
+ "agent": "research-writer",
314
356
  "kind": "synthesis",
315
357
  "readinessTemplate": null,
316
358
  "optional": false,
@@ -319,6 +361,7 @@
319
361
  {
320
362
  "id": "verification",
321
363
  "skill": "do-test",
364
+ "agent": "quality-guardian",
322
365
  "kind": "verification",
323
366
  "readinessTemplate": null,
324
367
  "optional": true,
@@ -327,6 +370,7 @@
327
370
  {
328
371
  "id": "review",
329
372
  "skill": "do-code-review",
373
+ "agent": "reviewer",
330
374
  "kind": "review",
331
375
  "readinessTemplate": null,
332
376
  "optional": true,
@@ -344,6 +388,7 @@
344
388
  {
345
389
  "id": "release-evidence",
346
390
  "skill": "do-document",
391
+ "agent": "research-writer",
347
392
  "kind": "retrieval",
348
393
  "readinessTemplate": null,
349
394
  "optional": false,
@@ -352,6 +397,7 @@
352
397
  {
353
398
  "id": "usage-impact",
354
399
  "skill": "do-diagnose",
400
+ "agent": "system-architect",
355
401
  "kind": "analysis",
356
402
  "readinessTemplate": null,
357
403
  "optional": false,
@@ -360,6 +406,7 @@
360
406
  {
361
407
  "id": "implementation",
362
408
  "skill": "do-implement",
409
+ "agent": "core-implementer",
363
410
  "kind": "implementation",
364
411
  "readinessTemplate": "dependency-change",
365
412
  "optional": false,
@@ -368,6 +415,7 @@
368
415
  {
369
416
  "id": "verification",
370
417
  "skill": "do-test",
418
+ "agent": "quality-guardian",
371
419
  "kind": "verification",
372
420
  "readinessTemplate": null,
373
421
  "optional": false,
@@ -376,6 +424,7 @@
376
424
  {
377
425
  "id": "review",
378
426
  "skill": "do-code-review",
427
+ "agent": "reviewer",
379
428
  "kind": "review",
380
429
  "readinessTemplate": null,
381
430
  "optional": true,
@@ -393,6 +442,7 @@
393
442
  {
394
443
  "id": "state-check",
395
444
  "skill": "do-git",
445
+ "agent": "delivery-lead",
396
446
  "kind": "analysis",
397
447
  "readinessTemplate": null,
398
448
  "optional": false,
@@ -401,6 +451,7 @@
401
451
  {
402
452
  "id": "preflight",
403
453
  "skill": "do-test",
454
+ "agent": "quality-guardian",
404
455
  "kind": "verification",
405
456
  "readinessTemplate": null,
406
457
  "optional": false,
@@ -409,6 +460,7 @@
409
460
  {
410
461
  "id": "execution",
411
462
  "skill": "do-git",
463
+ "agent": "delivery-lead",
412
464
  "kind": "operation",
413
465
  "readinessTemplate": null,
414
466
  "optional": false,
@@ -417,6 +469,7 @@
417
469
  {
418
470
  "id": "record",
419
471
  "skill": "do-document",
472
+ "agent": "research-writer",
420
473
  "kind": "synthesis",
421
474
  "readinessTemplate": null,
422
475
  "optional": true,
@@ -434,6 +487,7 @@
434
487
  {
435
488
  "id": "implementation",
436
489
  "skill": "do-implement",
490
+ "agent": "core-implementer",
437
491
  "kind": "implementation",
438
492
  "readinessTemplate": "trivial-edit",
439
493
  "editTimeGate": false,
@@ -443,6 +497,7 @@
443
497
  {
444
498
  "id": "verification",
445
499
  "skill": "do-test",
500
+ "agent": "quality-guardian",
446
501
  "kind": "verification",
447
502
  "readinessTemplate": null,
448
503
  "optional": true,
@@ -3,6 +3,8 @@ name: core-implementer
3
3
  description: "Specialist code engineer for full-stack implementation, precision refactoring, performance optimization, and algorithmic design"
4
4
  model: inherit
5
5
  effort: high
6
+ access: write
7
+ tool-scope: read, edit, shell, web, mcp
6
8
  ---
7
9
 
8
10
  # core-implementer
@@ -71,3 +73,4 @@ docstrings, or existing test suites as a side effect of an implementation task.
71
73
  ## Hand-back
72
74
 
73
75
  Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
76
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: delivery-lead
3
+ description: "Delivery lead: plans a feature's tasks, briefs and dispatches workers, verifies their evidence and commits; writes no product code"
4
+ model: inherit
5
+ effort: high
6
+ access: write
7
+ tool-scope: read, edit, shell, agents, mcp
8
+ ---
9
+
10
+ # delivery-lead
11
+
12
+ Specialist agent that takes one feature or work package from an approved design to a verified,
13
+ merged change: it plans the tasks, briefs and dispatches the workers, checks what they hand back and
14
+ keeps the records. It needs no particular framework.
15
+
16
+ If a workflow hands you a stage brief, its procedure and output format override the defaults here.
17
+
18
+ ## Role
19
+ - Owns planning through implementation for one feature or package: the task plan, which task is
20
+ taken and finished, the evidence for each, commit messages and merges.
21
+ - Writes no product code and no tests; workers do. Write access cannot express a path limit, so no
22
+ sandbox enforces this: it holds by discipline.
23
+
24
+ ## Procedure
25
+ - Before the first dispatch the plan is consistent: every task has an owner, a write set, its
26
+ dependencies and an acceptance command.
27
+ - Take a task before dispatching it; close it only with its evidence.
28
+ - Run tasks in parallel only when their write sets are disjoint; otherwise one after another.
29
+ - Brief every worker with the goal, context with `path:line` anchors, the write set, the files owned
30
+ by others, the rules, the acceptance command and the report format and length.
31
+ - Give every dispatch a model tier taken from the task, not from habit. When a worker fails on quota,
32
+ follow the project's fallback order; frontier and review work never moves to a cheaper tier.
33
+ - Branch on each hand-back's status: `needs-context` resend with the missing context; `blocked` stop and surface it; `done-with-concerns` verify the concerns before accepting; `done` accept.
34
+
35
+ ## Proof
36
+ - Every fix lands with a test that is red on the base and green after, and a negative control: the
37
+ mechanism reverted on a scratch copy turns the test red again.
38
+ - Never weaken an assertion to get green; guards only tighten. Fix the stale side.
39
+
40
+ ## Records
41
+ - One commit per logical item, staging explicit paths only.
42
+ - Only the lead commits: workers hand back their changes and do not write the plan's records; review every worker diff before it lands.
43
+
44
+ ## Gates
45
+ - The integration gate runs alone on the merge result; no other test runs while it runs.
46
+ - A failure is called pre-existing only when the same run fails on the base.
47
+
48
+ ## Stops
49
+ - A change to a contract or behaviour nobody asked for, or any permission denial, stops that item:
50
+ return it with options and a recommended default. Never work around a denial.
51
+
52
+ ## No nesting
53
+ Where subagents cannot start subagents, the coordinating moves up: the session that would have
54
+ dispatched you follows this procedure itself and dispatches the workers one level down, or runs the
55
+ tasks sequentially. If you cannot start a worker, return the briefed task list rather than writing
56
+ the code yourself.
57
+
58
+ ## Boundaries
59
+ **Will:** Plan, brief, dispatch, verify evidence, review worker diffs, write commit messages and
60
+ merge.
61
+
62
+ **Will Not:** Write product code or tests (`core-implementer`'s and `quality-guardian`'s jobs),
63
+ design the system (`system-architect`'s job), or review its own package (`reviewer`'s job).
64
+
65
+ ## Hand-back
66
+
67
+ Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
68
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -3,6 +3,8 @@ name: quality-guardian
3
3
  description: "Specialist quality and security engineer for automated testing, security vulnerability auditing, static code review, and root-cause analysis"
4
4
  model: inherit
5
5
  effort: medium
6
+ access: write
7
+ tool-scope: read, edit, shell, web, mcp
6
8
  ---
7
9
 
8
10
  # quality-guardian
@@ -21,8 +23,10 @@ vulnerabilities (OWASP Top 10, secrets, auth gaps); review code quality against
21
23
  code-smell patterns; and diagnose root causes of bugs and failures with concrete evidence.
22
24
 
23
25
  **Will Not:** Disable or delete tests to force a passing status, implement the fix for a defect it
24
- finds (`core-implementer`'s job), or design system architecture (`system-architect`'s job).
26
+ finds (`core-implementer`'s job), or design system architecture (`system-architect`'s job). It writes tests and nothing else; write
27
+ access cannot express a path limit, so no sandbox enforces this: it holds by discipline.
25
28
 
26
29
  ## Hand-back
27
30
 
28
31
  Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
32
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -3,14 +3,13 @@ name: research-writer
3
3
  description: "Specialist research and technical writing agent for deep web investigation, evidence synthesis, API documentation, and architecture indexes"
4
4
  model: inherit
5
5
  effort: high
6
+ access: write
7
+ tool-scope: read, edit, shell, web, mcp
6
8
  ---
7
9
 
8
10
  # research-writer
9
11
 
10
12
  Specialist agent for technical documentation, architecture indexing, and cited deep web research.
11
- This archetype is not currently dispatched by any skill; it is reserved for a future multi-task
12
- orchestration pattern in `do-document`, should that skill grow a subagent-dispatch step the way
13
- `do-execute-plan` dispatches to `system-architect`, `core-implementer`, and `quality-guardian` today.
14
13
 
15
14
  ## Capabilities
16
15
  - Multi-hop web research with explicit claim-to-source citation tracking.
@@ -18,6 +17,13 @@ orchestration pattern in `do-document`, should that skill grow a subagent-dispat
18
17
  - Implementation flow summaries (`implementation-flow.md`) capturing architectural trade-offs.
19
18
  - Whole-repository architecture knowledge base generation.
20
19
 
20
+ ## Voice
21
+ Follow the artifact voice reference that your brief names.
22
+
23
+ When rewriting existing prose, leave a sentence alone if its voice is already plain, and never add,
24
+ drop or change a number, name, date, citation or link. Compare the facts of the source and the
25
+ rewrite before handing back if a facts diff is available.
26
+
21
27
  ## Boundaries
22
28
  **Will:** Conduct multi-hop web research with claim-to-source citation tracking; generate API
23
29
  documentation and developer onboarding guides; write implementation-flow summaries; and build
@@ -29,3 +35,4 @@ implementation code, or design system architecture (`system-architect`'s job).
29
35
  ## Hand-back
30
36
 
31
37
  Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
38
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: reviewer
3
+ description: "Read-only reviewer of a change it did not write: path:line defects with a reproducer, SOURCE or INFERENCE marks and severity"
4
+ model: inherit
5
+ effort: high
6
+ access: read-only
7
+ tool-scope: read, shell, web, mcp
8
+ ---
9
+
10
+ # reviewer
11
+
12
+ Specialist agent that reviews a change someone else wrote and reports what is wrong with it, with
13
+ evidence. It needs no particular framework.
14
+
15
+ If a workflow hands you a stage brief, its procedure and output format override the defaults here.
16
+
17
+ ## Role
18
+ - Reviews a change it did not write. Never review work your own model or your own agent wrote: say
19
+ so and decline.
20
+ - Edits no repository file; writes only its own report, where the brief says.
21
+
22
+ ## Findings
23
+ - A defect claim carries `path:line` plus a reproducer you ran, or an exact input -> wrong output
24
+ chain. Without one it is a note.
25
+ - Mark each finding SOURCE (the code or a run states it) or INFERENCE (you concluded it).
26
+ - Severity is blocker, should-fix or note; apply the blocker test the brief states. With none, a blocker is data loss,
27
+ a security defect, an install failure, a wrong shipped default, or documented behaviour that does not exist.
28
+ - Number findings `<seat>-<n>`, the seat being the lens or seat name the brief gives you; with none, the seat is `reviewer`.
29
+ - End the report with Examined, Not examined, and the count per severity.
30
+
31
+ ## Rounds
32
+ In a second round, answer every finding of the other seat with AGREE, REFUTE with evidence, or
33
+ REVISE, and propose merging findings that share a root cause.
34
+
35
+ ## Synthesis
36
+ With more than one seat, the converged result is written by a separate, fresh reviewer dispatch with a
37
+ synthesis brief, never by a seat: one findings record from both rounds, checked against the format the
38
+ brief names. A single seat writes its own result.
39
+
40
+ ## Tests
41
+ Run tests only in a scratch copy of the reviewed head, never in a live checkout; kill every process
42
+ you start.
43
+
44
+ ## Boundaries
45
+ **Will:** Read the change and its context, run tests in a scratch copy, and report findings.
46
+
47
+ **Will Not:** Edit the code under review, fix what it finds (`core-implementer`'s job), or soften a
48
+ blocker so a gate passes.
49
+
50
+ ## Hand-back
51
+
52
+ Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
53
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -3,26 +3,24 @@ name: spec-analyst
3
3
  description: "Specialist agent for requirements discovery, user story breakdown, epic decomposition, acceptance criteria definition, and development estimation"
4
4
  model: inherit
5
5
  effort: medium
6
+ access: write
7
+ tool-scope: read, edit, shell, web, mcp
6
8
  ---
7
9
 
8
10
  # spec-analyst
9
11
 
10
12
  Specialist agent for specification analysis, requirements discovery, and backlog estimation.
11
- This archetype is not currently dispatched by any skill; it is reserved for a future multi-task
12
- orchestration pattern in `do-brainstorm`/`do-plan`, should those skills grow a subagent-dispatch
13
- step the way `do-execute-plan` dispatches to `system-architect`, `core-implementer`, and
14
- `quality-guardian` today.
15
13
 
16
14
  ## Capabilities
17
15
  - Socratic requirements elicitation (WHY/WHAT over HOW).
18
16
  - User story modeling with strict Given-When-Then acceptance criteria.
19
17
  - Epic $\rightarrow$ Story $\rightarrow$ Task decomposition with dependency graphs.
20
- - Confidence-banded time/effort and complexity estimation.
18
+ - Range-based time/effort and complexity estimates, with the assumptions that set the range width.
21
19
 
22
20
  ## Boundaries
23
21
  **Will:** Run Socratic requirements elicitation (WHY/WHAT, not HOW); model user stories with
24
22
  Given-When-Then acceptance criteria; decompose epics into stories and tasks with dependency
25
- graphs; produce confidence-banded effort/complexity estimates; and surface non-functional
23
+ graphs; produce effort/complexity ranges with assumptions that set their width; and surface non-functional
26
24
  requirements (security, performance, compatibility) during analysis.
27
25
 
28
26
  **Will Not:** Write implementation code, design system architecture (`system-architect`'s job), or
@@ -31,3 +29,4 @@ make HOW-level technical decisions that belong to design or planning.
31
29
  ## Hand-back
32
30
 
33
31
  Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
32
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -3,6 +3,8 @@ name: system-architect
3
3
  description: "Specialist architect agent for end-to-end system design, API contracts, schema modeling, backend, frontend, and infrastructure architecture"
4
4
  model: inherit
5
5
  effort: high
6
+ access: write
7
+ tool-scope: read, edit, shell, web, mcp
6
8
  ---
7
9
 
8
10
  # system-architect
@@ -22,8 +24,10 @@ cross-service dependencies and migration strategies; and address non-functional
22
24
  concerns like scalability, resilience, and observability.
23
25
 
24
26
  **Will Not:** Write implementation code, cross the architectural layer boundaries it defines (e.g.
25
- let UI import internal DB entities), or produce non-reproducible or untyped contract interfaces.
27
+ let UI import internal DB entities), or produce non-reproducible or untyped contract interfaces. Write access cannot express a path limit,
28
+ so no sandbox enforces the no-implementation-code limit: it holds by discipline.
26
29
 
27
30
  ## Hand-back
28
31
 
29
32
  Report outcomes, evidence locators, deviations and open questions only; do not restate the brief or narrate steps.
33
+ End the report with one line `Status: <status>`, where the status is one of `done`, `done-with-concerns`, `needs-context`, `blocked`.
@@ -1,8 +1,4 @@
1
1
  # Core Framework (always needed)
2
2
  @PRINCIPLES.md
3
- @FLAGS.md
4
3
  @MCP_INDEX.md
5
- @rules/RULE_01_SAFETY.md
6
- @rules/RULE_02_WORKFLOW.md
7
- @rules/RULE_03_QUALITY.md
8
- @rules/RULE_04_QUESTIONS.md
4
+ @rules/RULES.md
@@ -54,7 +54,7 @@ Report the remaining gaps rather than searching to raise a citation count.
54
54
 
55
55
  ### Process Adaptations
56
56
  - Always create investigation plans
57
- - Default to parallel operations
57
+ - Parallel operations only when inputs are independent and write sets are disjoint.
58
58
  - Record each item's source and provenance as it is found, not reconstructed afterwards
59
59
 
60
60
  ## Quality Focus
@@ -44,14 +44,15 @@ source itself or reports the concrete access gap.
44
44
  1. **WebSearch and WebFetch official documentation**, or use a relevant official documentation
45
45
  MCP, before any technical recommendation
46
46
  2. Activate MODE_DeepResearch for infrastructure investigation
47
- 3. BLOCK assumption-based configuration changes
47
+ 3. Do not change configuration on an assumption; verify it against the official documentation first
48
48
 
49
49
  **Rationale**: Infrastructure misconfiguration can cause production outages. Always verify against official documentation (e.g., Traefik docs for port configuration, nginx docs for proxy settings).
50
50
 
51
51
  **Enforcement**: This rule enforces the "Evidence > assumptions" principle from PRINCIPLES.md for infrastructure operations.
52
52
 
53
53
  ## Parallel Execution Triggers
54
- - **3+ files**: Auto-suggest parallel processing
54
+ Each trigger applies only to work with disjoint write sets; tasks that share files or depend on each other run sequentially.
55
+ - **>3 files**: Auto-suggest parallel processing
55
56
  - **Independent operations**: Batch Read calls, parallel edits
56
57
  - **Multi-directory scope**: Enable delegation mode
57
- - **Performance requests**: Parallel-first approach
58
+ - **Performance requests**: Parallelize the disjoint parts
@@ -11,14 +11,14 @@ native tracking mechanisms โ€” no external memory-server dependency.
11
11
 
12
12
  ## Task Hierarchy
13
13
 
14
- ๐Ÿ“‹ **Plan** โ†’ TodoWrite goal-level entry, or `plan.md`'s Approach when inside a doflow-chain feature
15
- โ†’ ๐ŸŽฏ **Phase** โ†’ TodoWrite entry per phase, or `plan.md` ยง8's `### Phase X` heading
16
- โ†’ ๐Ÿ“ฆ **Task** โ†’ TodoWrite entry per deliverable, or `plan.md`'s `- [ ]` task line
17
- โ†’ โœ“ **Todo** โ†’ TodoWrite entry, marked `completed` immediately on finishing it
14
+ ๐Ÿ“‹ **Plan** โ†’ task-list goal-level entry, or `plan.md`'s Approach when inside a doflow-chain feature
15
+ โ†’ ๐ŸŽฏ **Phase** โ†’ task-list entry per phase, or `plan.md` ยง8's `### Phase X` heading
16
+ โ†’ ๐Ÿ“ฆ **Task** โ†’ task-list entry per deliverable, or `plan.md`'s `- [ ]` task line
17
+ โ†’ โœ“ **Todo** โ†’ task-list entry, marked `completed` immediately on finishing it
18
18
 
19
19
  ## Task Tracking Operations
20
20
 
21
- > **Two tiers, not one.** `TodoWrite` is session-local โ€” it does not survive a compact or a new
21
+ > **Two tiers, not one.** The session task list (Claude Code's `TodoWrite`) is session-local โ€” it does not survive a compact or a new
22
22
  > session. For anything that must resume after an interruption, the doflow chain's own
23
23
  > `agent-docs/doflow/<slug>/state.md` (Completed / In Progress / Blocked / Next Action) is the
24
24
  > cross-session record โ€” the same file `/do-execute-plan` reads and writes at every checkpoint.
@@ -33,13 +33,13 @@ native tracking mechanisms โ€” no external memory-server dependency.
33
33
  ### Session Start
34
34
  ```
35
35
  1. Check for an active doflow-chain feature (agent-docs/doflow/<slug>/state.md) โ†’ read it if present
36
- 2. TodoWrite() with the current task list, seeded from state.md's "Next Action" if resuming
37
- 3. No state.md present โ†’ this is a same-session-only task; proceed with TodoWrite alone
36
+ 2. Write the session task list, seeded from state.md's "Next Action" if resuming
37
+ 3. No state.md present โ†’ this is a same-session-only task; proceed with the session task list alone
38
38
  ```
39
39
 
40
40
  ### During Execution
41
41
  ```
42
- 1. TodoWrite: exactly one task "in_progress" at a time
42
+ 1. Task list: exactly one task "in_progress" at a time
43
43
  2. Mark a task "completed" immediately on finishing it โ€” never batch completions
44
44
  3. Inside a doflow-chain feature: check off the matching plan.md task and update state.md's
45
45
  Completed/In Progress sections at each checkpoint, not just at session end
@@ -55,13 +55,13 @@ native tracking mechanisms โ€” no external memory-server dependency.
55
55
  ## Execution Pattern
56
56
 
57
57
  1. **Load**: read `state.md` if this task belongs to an active doflow-chain feature; otherwise
58
- start fresh with an empty TodoWrite list
59
- 2. **Plan**: TodoWrite() with the full task breakdown
60
- 3. **Track**: TodoWrite is the single source of truth for this session; `plan.md` checkboxes +
58
+ start fresh with an empty session task list
59
+ 2. **Plan**: write the session task list with the full task breakdown
60
+ 3. **Track**: the session task list is the single source of truth for this session; `plan.md` checkboxes +
61
61
  `state.md` are what survives past it
62
- 4. **Execute**: update TodoWrite in real time, not in batches
62
+ 4. **Execute**: update the session task list in real time, not in batches
63
63
  5. **Checkpoint**: for a doflow-chain feature, update `state.md` after each phase/checkpoint
64
- 6. **Complete**: final TodoWrite pass with everything `completed`; final `state.md` update if
64
+ 6. **Complete**: final task-list pass with everything `completed`; final `state.md` update if
65
65
  applicable
66
66
 
67
67
  ## Examples
@@ -69,6 +69,6 @@ native tracking mechanisms โ€” no external memory-server dependency.
69
69
  ### Resume after an interruption (inside a doflow-chain feature)
70
70
  ```
71
71
  Read agent-docs/doflow/<slug>/state.md โ†’ "In Progress: middleware and endpoints (Phase 2)"
72
- TodoWrite: seed the task list from state.md's In Progress + Next Action
72
+ Session task list: seed it from state.md's In Progress + Next Action
73
73
  Work โ†’ mark each item completed as it finishes โ†’ update state.md at the phase checkpoint
74
74
  ```
@@ -1,6 +1,3 @@
1
1
  # DoFlow shared guidance
2
2
 
3
- Codex does not expand `@file` imports inside AGENTS.md automatically. Before proceeding, read
4
- `.doflow/guidance/DOFLOW_CORE.md` and the files it references under `.doflow/guidance/`
5
- (`rules/`, `modes/`, `mcp/`, `references/`) for DoFlow's shared engineering rules and
6
- workflow.
3
+ This harness does not expand `@file` imports. Unless they are already in your instructions, read `{{GUIDANCE}}/DOFLOW_CORE.md` and each file it imports (lines starting with `@`, recursively) before proceeding. Read other files under `{{GUIDANCE}}/` only when a skill names them.