all-hands-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/.allhands/README.md +75 -0
  2. package/.allhands/agents/compounder.yaml +15 -0
  3. package/.allhands/agents/coordinator.yaml +17 -0
  4. package/.allhands/agents/documentor.yaml +15 -0
  5. package/.allhands/agents/e2e-test-planner.yaml +17 -0
  6. package/.allhands/agents/emergent.yaml +22 -0
  7. package/.allhands/agents/executor.yaml +14 -0
  8. package/.allhands/agents/ideation.yaml +11 -0
  9. package/.allhands/agents/initiative-steering.yaml +19 -0
  10. package/.allhands/agents/judge.yaml +13 -0
  11. package/.allhands/agents/planner.yaml +19 -0
  12. package/.allhands/agents/pr-reviewer.yaml +15 -0
  13. package/.allhands/docs.json +5 -0
  14. package/.allhands/docs.local.json +26 -0
  15. package/.allhands/flows/COMPOUNDING.md +203 -0
  16. package/.allhands/flows/COORDINATION.md +89 -0
  17. package/.allhands/flows/CORE.md +87 -0
  18. package/.allhands/flows/DOCUMENTATION.md +218 -0
  19. package/.allhands/flows/E2E_TEST_PLAN_BUILDING.md +140 -0
  20. package/.allhands/flows/EMERGENT_PLANNING.md +57 -0
  21. package/.allhands/flows/IDEATION_SCOPING.md +154 -0
  22. package/.allhands/flows/INITIATIVE_STEERING.md +110 -0
  23. package/.allhands/flows/JUDGE_REVIEWING.md +79 -0
  24. package/.allhands/flows/PROMPT_TASK_EXECUTION.md +68 -0
  25. package/.allhands/flows/PR_REVIEWING.md +43 -0
  26. package/.allhands/flows/SPEC_PLANNING.md +216 -0
  27. package/.allhands/flows/harness/WRITING_HARNESS_FLOWS.md +27 -0
  28. package/.allhands/flows/harness/WRITING_HARNESS_KNOWLEDGE.md +27 -0
  29. package/.allhands/flows/harness/WRITING_HARNESS_ORCHESTRATION.md +27 -0
  30. package/.allhands/flows/harness/WRITING_HARNESS_SKILLS.md +27 -0
  31. package/.allhands/flows/harness/WRITING_HARNESS_TOOLS.md +27 -0
  32. package/.allhands/flows/harness/WRITING_HARNESS_VALIDATION_TOOLING.md +27 -0
  33. package/.allhands/flows/shared/CODEBASE_UNDERSTANDING.md +72 -0
  34. package/.allhands/flows/shared/CREATE_HARNESS_SPEC.md +48 -0
  35. package/.allhands/flows/shared/CREATE_SPEC.md +41 -0
  36. package/.allhands/flows/shared/CREATE_VALIDATION_TOOLING_SPEC.md +70 -0
  37. package/.allhands/flows/shared/DOCUMENTATION_DISCOVERY.md +123 -0
  38. package/.allhands/flows/shared/DOCUMENTATION_WRITER.md +101 -0
  39. package/.allhands/flows/shared/EMERGENT_REFINEMENT_ANALYSIS.md +76 -0
  40. package/.allhands/flows/shared/EXTERNAL_TECH_GUIDANCE.md +97 -0
  41. package/.allhands/flows/shared/IDEATION_CODEBASE_GROUNDING.md +49 -0
  42. package/.allhands/flows/shared/PLAN_DEEPENING.md +152 -0
  43. package/.allhands/flows/shared/PROMPT_TASKS_CURATION.md +113 -0
  44. package/.allhands/flows/shared/PROMPT_VALIDATION_REVIEW.MD +99 -0
  45. package/.allhands/flows/shared/QUICK_PREMORTEM.md +70 -0
  46. package/.allhands/flows/shared/RESEARCH_GUIDANCE.md +38 -0
  47. package/.allhands/flows/shared/REVIEW_OPTIONS_BREAKDOWN.md +68 -0
  48. package/.allhands/flows/shared/SKILL_EXTRACTION.md +84 -0
  49. package/.allhands/flows/shared/SPEC_FLOW_ANALYSIS.md +119 -0
  50. package/.allhands/flows/shared/TDD_WORKFLOW.md +109 -0
  51. package/.allhands/flows/shared/UTILIZE_VALIDATION_TOOLING.md +84 -0
  52. package/.allhands/flows/shared/WRITING_HARNESS_FLOWS.md +11 -0
  53. package/.allhands/flows/shared/WRITING_HARNESS_MCP_TOOLS.md +84 -0
  54. package/.allhands/flows/shared/jury/ARCHITECTURE_REVIEW.md +91 -0
  55. package/.allhands/flows/shared/jury/BEST_PRACTICES_REVIEW.md +80 -0
  56. package/.allhands/flows/shared/jury/CLAIM_VERIFICATION_REVIEW.md +101 -0
  57. package/.allhands/flows/shared/jury/EXPECTATIONS_FIT_REVIEW.md +78 -0
  58. package/.allhands/flows/shared/jury/MAINTAINABILITY_REVIEW.md +110 -0
  59. package/.allhands/flows/shared/jury/PROMPTS_EXPECTATIONS_FIT.md +74 -0
  60. package/.allhands/flows/shared/jury/PROMPTS_FLOW_ANALYSIS.md +92 -0
  61. package/.allhands/flows/shared/jury/PROMPTS_YAGNI.md +78 -0
  62. package/.allhands/flows/shared/jury/PROMPT_PREMORTEM.md +125 -0
  63. package/.allhands/flows/shared/jury/SECURITY_REVIEW.md +86 -0
  64. package/.allhands/flows/shared/jury/YAGNI_REVIEW.md +82 -0
  65. package/.allhands/flows/wip/DEBUG_INVESTIGATION.md +162 -0
  66. package/.allhands/flows/wip/MEMORY_RECALL.md +62 -0
  67. package/.allhands/harness/ah +131 -0
  68. package/.allhands/harness/package-lock.json +5292 -0
  69. package/.allhands/harness/package.json +52 -0
  70. package/.allhands/harness/src/__tests__/e2e/commands.test.ts +307 -0
  71. package/.allhands/harness/src/__tests__/e2e/event-loop.test.ts +539 -0
  72. package/.allhands/harness/src/__tests__/e2e/hooks.test.ts +427 -0
  73. package/.allhands/harness/src/__tests__/e2e/new-initiative-routing.test.ts +137 -0
  74. package/.allhands/harness/src/__tests__/e2e/run-e2e.ts +109 -0
  75. package/.allhands/harness/src/__tests__/e2e/specs-type.test.ts +210 -0
  76. package/.allhands/harness/src/__tests__/e2e/validation-hooks.test.ts +669 -0
  77. package/.allhands/harness/src/__tests__/e2e/validation-path-consistency.test.ts +354 -0
  78. package/.allhands/harness/src/__tests__/e2e/validation.test.ts +528 -0
  79. package/.allhands/harness/src/__tests__/harness/assertions.ts +318 -0
  80. package/.allhands/harness/src/__tests__/harness/cli-runner.ts +359 -0
  81. package/.allhands/harness/src/__tests__/harness/fixture.ts +384 -0
  82. package/.allhands/harness/src/__tests__/harness/hook-runner.ts +411 -0
  83. package/.allhands/harness/src/__tests__/harness/index.ts +122 -0
  84. package/.allhands/harness/src/cli.ts +36 -0
  85. package/.allhands/harness/src/commands/complexity.ts +177 -0
  86. package/.allhands/harness/src/commands/context7.ts +202 -0
  87. package/.allhands/harness/src/commands/docs.ts +557 -0
  88. package/.allhands/harness/src/commands/hooks.ts +24 -0
  89. package/.allhands/harness/src/commands/index.ts +51 -0
  90. package/.allhands/harness/src/commands/knowledge.ts +382 -0
  91. package/.allhands/harness/src/commands/memories.ts +302 -0
  92. package/.allhands/harness/src/commands/notify.ts +61 -0
  93. package/.allhands/harness/src/commands/oracle.ts +158 -0
  94. package/.allhands/harness/src/commands/perplexity.ts +220 -0
  95. package/.allhands/harness/src/commands/planning.ts +245 -0
  96. package/.allhands/harness/src/commands/schema.ts +73 -0
  97. package/.allhands/harness/src/commands/skills.ts +128 -0
  98. package/.allhands/harness/src/commands/solutions.ts +353 -0
  99. package/.allhands/harness/src/commands/spawn.ts +158 -0
  100. package/.allhands/harness/src/commands/specs.ts +532 -0
  101. package/.allhands/harness/src/commands/tavily.ts +226 -0
  102. package/.allhands/harness/src/commands/tools.ts +579 -0
  103. package/.allhands/harness/src/commands/trace.ts +327 -0
  104. package/.allhands/harness/src/commands/tui.ts +960 -0
  105. package/.allhands/harness/src/commands/validate.ts +143 -0
  106. package/.allhands/harness/src/commands/validation-tools.ts +108 -0
  107. package/.allhands/harness/src/hooks/context.ts +1442 -0
  108. package/.allhands/harness/src/hooks/enforcement.ts +170 -0
  109. package/.allhands/harness/src/hooks/index.ts +54 -0
  110. package/.allhands/harness/src/hooks/lifecycle.ts +229 -0
  111. package/.allhands/harness/src/hooks/notification.ts +104 -0
  112. package/.allhands/harness/src/hooks/observability.ts +551 -0
  113. package/.allhands/harness/src/hooks/session.ts +88 -0
  114. package/.allhands/harness/src/hooks/shared.ts +815 -0
  115. package/.allhands/harness/src/hooks/transcript-parser.ts +208 -0
  116. package/.allhands/harness/src/hooks/validation.ts +617 -0
  117. package/.allhands/harness/src/lib/__tests__/ctags.test.ts +244 -0
  118. package/.allhands/harness/src/lib/__tests__/docs-validation.test.ts +344 -0
  119. package/.allhands/harness/src/lib/__tests__/mcp-runtime.test.ts +190 -0
  120. package/.allhands/harness/src/lib/__tests__/schema.test.ts +861 -0
  121. package/.allhands/harness/src/lib/base-command.ts +198 -0
  122. package/.allhands/harness/src/lib/cli-daemon.ts +343 -0
  123. package/.allhands/harness/src/lib/compaction.ts +313 -0
  124. package/.allhands/harness/src/lib/ctags.ts +497 -0
  125. package/.allhands/harness/src/lib/docs-validation.ts +907 -0
  126. package/.allhands/harness/src/lib/event-loop.ts +662 -0
  127. package/.allhands/harness/src/lib/flows.ts +155 -0
  128. package/.allhands/harness/src/lib/git.ts +276 -0
  129. package/.allhands/harness/src/lib/knowledge-worker.ts +72 -0
  130. package/.allhands/harness/src/lib/knowledge.ts +810 -0
  131. package/.allhands/harness/src/lib/llm.ts +255 -0
  132. package/.allhands/harness/src/lib/mcp-client.ts +432 -0
  133. package/.allhands/harness/src/lib/mcp-daemon.ts +486 -0
  134. package/.allhands/harness/src/lib/mcp-runtime.ts +418 -0
  135. package/.allhands/harness/src/lib/notification.ts +115 -0
  136. package/.allhands/harness/src/lib/opencode/index.ts +70 -0
  137. package/.allhands/harness/src/lib/opencode/profiles.ts +300 -0
  138. package/.allhands/harness/src/lib/opencode/prompts/codesearch.md +98 -0
  139. package/.allhands/harness/src/lib/opencode/prompts/knowledge-aggregator.md +67 -0
  140. package/.allhands/harness/src/lib/opencode/runner.ts +281 -0
  141. package/.allhands/harness/src/lib/oracle.ts +926 -0
  142. package/.allhands/harness/src/lib/planning-utils.ts +150 -0
  143. package/.allhands/harness/src/lib/planning.ts +605 -0
  144. package/.allhands/harness/src/lib/pr-review.ts +225 -0
  145. package/.allhands/harness/src/lib/prompts.ts +522 -0
  146. package/.allhands/harness/src/lib/schema.ts +418 -0
  147. package/.allhands/harness/src/lib/schemas/agent-profile.ts +141 -0
  148. package/.allhands/harness/src/lib/schemas/template-vars.ts +138 -0
  149. package/.allhands/harness/src/lib/session.ts +164 -0
  150. package/.allhands/harness/src/lib/specs.ts +348 -0
  151. package/.allhands/harness/src/lib/tldr.ts +829 -0
  152. package/.allhands/harness/src/lib/tmux.ts +1051 -0
  153. package/.allhands/harness/src/lib/trace-store.ts +714 -0
  154. package/.allhands/harness/src/mcp/__tests__/index.test.ts +46 -0
  155. package/.allhands/harness/src/mcp/_template.ts +47 -0
  156. package/.allhands/harness/src/mcp/filesystem.ts +33 -0
  157. package/.allhands/harness/src/mcp/index.ts +69 -0
  158. package/.allhands/harness/src/mcp/playwright.ts +34 -0
  159. package/.allhands/harness/src/mcp/xcodebuild.ts +29 -0
  160. package/.allhands/harness/src/schemas/docs.schema.json +44 -0
  161. package/.allhands/harness/src/schemas/settings.schema.json +214 -0
  162. package/.allhands/harness/src/tui/actions.ts +227 -0
  163. package/.allhands/harness/src/tui/file-viewer-modal.ts +270 -0
  164. package/.allhands/harness/src/tui/index.ts +1574 -0
  165. package/.allhands/harness/src/tui/modal.ts +232 -0
  166. package/.allhands/harness/src/tui/prompts-pane.ts +186 -0
  167. package/.allhands/harness/src/tui/status-pane.ts +434 -0
  168. package/.allhands/harness/tsconfig.json +22 -0
  169. package/.allhands/harness/vitest.config.ts +13 -0
  170. package/.allhands/pillars.md +33 -0
  171. package/.allhands/principles.md +88 -0
  172. package/.allhands/schemas/alignment.yaml +51 -0
  173. package/.allhands/schemas/documentation.yaml +10 -0
  174. package/.allhands/schemas/prompt.yaml +92 -0
  175. package/.allhands/schemas/skill.yaml +34 -0
  176. package/.allhands/schemas/solution.yaml +131 -0
  177. package/.allhands/schemas/spec.yaml +67 -0
  178. package/.allhands/schemas/validation-suite.yaml +49 -0
  179. package/.allhands/schemas/workflow.yaml +51 -0
  180. package/.allhands/settings.json +57 -0
  181. package/.allhands/skills/claude-code-patterns/SKILL.md +60 -0
  182. package/.allhands/skills/claude-code-patterns/docs/context-hygiene.md +19 -0
  183. package/.allhands/skills/harness-maintenance/SKILL.md +449 -0
  184. package/.allhands/skills/harness-maintenance/references/core-architecture.md +187 -0
  185. package/.allhands/skills/harness-maintenance/references/harness-skills.md +87 -0
  186. package/.allhands/skills/harness-maintenance/references/knowledge-compounding.md +78 -0
  187. package/.allhands/skills/harness-maintenance/references/tools-commands-mcp-hooks.md +115 -0
  188. package/.allhands/skills/harness-maintenance/references/validation-tooling.md +77 -0
  189. package/.allhands/skills/harness-maintenance/references/writing-flows.md +84 -0
  190. package/.allhands/validation/browser-automation.md +109 -0
  191. package/.allhands/validation/xcode-automation.md +195 -0
  192. package/.allhands/workflows/documentation.md +86 -0
  193. package/.allhands/workflows/investigation.md +81 -0
  194. package/.allhands/workflows/milestone.md +91 -0
  195. package/.allhands/workflows/optimization.md +85 -0
  196. package/.allhands/workflows/refactor.md +99 -0
  197. package/.allhands/workflows/triage.md +81 -0
  198. package/.claude/README.md +1 -0
  199. package/.claude/agents/explorer.md +10 -0
  200. package/.claude/agents/researcher.md +11 -0
  201. package/.claude/agents/task-runner.md +8 -0
  202. package/.claude/settings.json +231 -0
  203. package/.env.ai.example +7 -0
  204. package/.github/workflows/npm-publish.yml +69 -0
  205. package/.internal.json +45 -0
  206. package/.tldr/config.json +11 -0
  207. package/.tldrignore +90 -0
  208. package/CLAUDE.md +6 -0
  209. package/README.md +98 -0
  210. package/bin/sync-cli.js +7552 -0
  211. package/concerns.md +7 -0
  212. package/docs/README.md +41 -0
  213. package/docs/agents/README.md +24 -0
  214. package/docs/agents/agent-configuration-system.md +86 -0
  215. package/docs/agents/execution-agents.md +50 -0
  216. package/docs/agents/knowledge-agents.md +61 -0
  217. package/docs/agents/orchestration-agent.md +57 -0
  218. package/docs/agents/planning-agents.md +84 -0
  219. package/docs/agents/quality-review-agents.md +67 -0
  220. package/docs/agents/workflow-agent-orchestration.md +69 -0
  221. package/docs/flows/README.md +44 -0
  222. package/docs/flows/compounding.md +126 -0
  223. package/docs/flows/coordination.md +72 -0
  224. package/docs/flows/core-harness-integration.md +63 -0
  225. package/docs/flows/documentation-orchestration.md +98 -0
  226. package/docs/flows/e2e-test-plan-building.md +83 -0
  227. package/docs/flows/emergent-refinement.md +104 -0
  228. package/docs/flows/flow-authoring-and-mcp-tools.md +89 -0
  229. package/docs/flows/judge-reviewing.md +112 -0
  230. package/docs/flows/plan-deepening-and-research.md +107 -0
  231. package/docs/flows/plan-review-jury.md +114 -0
  232. package/docs/flows/pr-reviewing.md +54 -0
  233. package/docs/flows/prompt-task-execution.md +119 -0
  234. package/docs/flows/spec-planning.md +162 -0
  235. package/docs/flows/type-specific-scoping-flows.md +49 -0
  236. package/docs/flows/validation-and-skills-integration.md +145 -0
  237. package/docs/flows/wip/wip-flows.md +102 -0
  238. package/docs/harness/README.md +23 -0
  239. package/docs/harness/agent-profiles.md +84 -0
  240. package/docs/harness/cli/README.md +24 -0
  241. package/docs/harness/cli/cli-entry-and-command-discovery.md +91 -0
  242. package/docs/harness/cli/docs-command.md +87 -0
  243. package/docs/harness/cli/knowledge-command.md +91 -0
  244. package/docs/harness/cli/minor-cli-commands.md +65 -0
  245. package/docs/harness/cli/oracle-command.md +113 -0
  246. package/docs/harness/cli/planning-command.md +95 -0
  247. package/docs/harness/cli/schema-and-validation-commands.md +154 -0
  248. package/docs/harness/cli/search-commands.md +97 -0
  249. package/docs/harness/cli/spawn-command.md +136 -0
  250. package/docs/harness/cli/specs-command.md +102 -0
  251. package/docs/harness/cli/tools-command.md +122 -0
  252. package/docs/harness/cli/trace-command.md +122 -0
  253. package/docs/harness/cli-daemon.md +92 -0
  254. package/docs/harness/event-loop.md +184 -0
  255. package/docs/harness/hooks/README.md +15 -0
  256. package/docs/harness/hooks/context-hooks.md +96 -0
  257. package/docs/harness/hooks/lifecycle-and-observability-hooks.md +135 -0
  258. package/docs/harness/hooks/validation-hooks.md +97 -0
  259. package/docs/harness/test-harness.md +149 -0
  260. package/docs/harness/tui.md +176 -0
  261. package/docs/memories.md +20 -0
  262. package/docs/solutions/agentic-issues/premature-agent-deletion-tui-action-dependency-20260130.md +49 -0
  263. package/docs/solutions/agentic-issues/ref-anchor-scope-mismatch-skill-references-20260131.md +55 -0
  264. package/docs/solutions/agentic-issues/tautological-tests-routing-20260131.md +52 -0
  265. package/docs/solutions/integration_issue/blocktool-output-format-mismatch-hook-runner-20260130.md +52 -0
  266. package/docs/solutions/integration_issue/dual-validation-path-divergence-schema-20260130.md +66 -0
  267. package/docs/solutions/security-issues/unsanitized-domain-path-join-20260131.md +52 -0
  268. package/docs/solutions/test-failures/event-loop-mock-ordering-checkAgentWindows-20260130.md +63 -0
  269. package/docs/sync-cli/README.md +19 -0
  270. package/docs/sync-cli/cli-entrypoint-and-commands.md +39 -0
  271. package/docs/sync-cli/commands/README.md +11 -0
  272. package/docs/sync-cli/commands/pull-manifest-command.md +36 -0
  273. package/docs/sync-cli/commands/push-command.md +84 -0
  274. package/docs/sync-cli/commands/sync-command.md +71 -0
  275. package/docs/sync-cli/systems/README.md +14 -0
  276. package/docs/sync-cli/systems/git-and-github-integration.md +49 -0
  277. package/docs/sync-cli/systems/interactive-ui.md +43 -0
  278. package/docs/sync-cli/systems/manifest-and-distribution.md +51 -0
  279. package/docs/sync-cli/systems/path-resolution.md +42 -0
  280. package/package.json +46 -0
  281. package/scripts/install-shim.sh +40 -0
  282. package/scripts/pre-pack.sh +25 -0
  283. package/specs/harness-maintenance-skill.spec.md +138 -0
  284. package/specs/roadmap/git-spec-lifecycle-management.spec.md +113 -0
  285. package/specs/sync-init-flag.spec.md +117 -0
  286. package/specs/unified-workflow-orchestration.spec.md +250 -0
  287. package/specs/validation-tooling-practice.spec.md +98 -0
  288. package/specs/workflow-domain-configuration.spec.md +265 -0
  289. package/src/commands/pull-manifest.ts +31 -0
  290. package/src/commands/push.ts +344 -0
  291. package/src/commands/sync.ts +289 -0
  292. package/src/lib/constants.ts +10 -0
  293. package/src/lib/dotfiles.ts +36 -0
  294. package/src/lib/fs-utils.ts +18 -0
  295. package/src/lib/gh.ts +40 -0
  296. package/src/lib/git.ts +63 -0
  297. package/src/lib/gitignore.ts +167 -0
  298. package/src/lib/manifest.ts +121 -0
  299. package/src/lib/marker-sync.ts +39 -0
  300. package/src/lib/paths.ts +38 -0
  301. package/src/lib/target-lines.ts +66 -0
  302. package/src/lib/ui.ts +78 -0
  303. package/src/sync-cli.ts +120 -0
  304. package/target-lines.json +23 -0
  305. package/tsconfig.json +20 -0
package/concerns.md ADDED
@@ -0,0 +1,7 @@
1
+ 1. When we implement a parallel task implementation mode (not for a while) we will need to figure out a few things:
2
+ A: How to have two EMERGENT_REFINEMENT tasks not choose to work on the exact same thing? (do we cap these to just 1 at a time?) (how do we merge their work if this is the case?)
3
+ B: Reserving specific single instance infrastructure from validation tooling. (Do we just work to make it so that all vliadation tools can be run in a completely seperate instance? Ideally yes...)
4
+
5
+
6
+ 2. When prompt loops are in effect, we should have a globally session stored flag that shows that there are prompts are currently being implemented. This will be used to stop:
7
+ A: Switching current spec
package/docs/README.md ADDED
@@ -0,0 +1,41 @@
1
+ ---
2
+ description: "Top-level documentation index covering all four domains of the all-hands framework: harness CLI, agent flows, agent configurations, and the sync CLI."
3
+ ---
4
+
5
+ # All-Hands Documentation
6
+
7
+ Engineering knowledge for the all-hands agentic development framework. Documentation exposes code intent, key decisions, and system relationships via file references for semantic discovery.
8
+
9
+ ## Domains
10
+
11
+ ### Harness
12
+
13
+ The core CLI tool powering agent orchestration. Commands for planning, knowledge search, schema validation, spec management, agent spawning, MCP tooling, observability, and more. Includes the TUI, event loop, hook system, and test infrastructure.
14
+
15
+ `docs/harness/README.md`
16
+
17
+ ### Flows
18
+
19
+ Workflow definitions that guide agents through tasks. Covers the full lifecycle: ideation, spec planning, prompt execution, judge reviewing, emergent refinement, compounding, coordination, and documentation generation.
20
+
21
+ `docs/flows/README.md`
22
+
23
+ ### Agents
24
+
25
+ Agent configuration profiles and initiative orchestration. Defines agent types (planning, execution, quality review, orchestration, knowledge), the YAML configuration system, and how initiative types and settings.json shape agent behavior.
26
+
27
+ `docs/agents/README.md`
28
+
29
+ ### Sync CLI
30
+
31
+ CLI for distributing the all-hands framework to other repositories. Handles framework syncing with conflict resolution, upstream contribution via GitHub fork/PR, manifest-based file filtering, and interactive terminal prompts.
32
+
33
+ `docs/sync-cli/README.md`
34
+
35
+ ## Cross-Domain Relationships
36
+
37
+ - **Agents reference Flows**: Each agent profile in `docs/agents/README.md` points to a flow file that defines its behavior from `docs/flows/README.md`
38
+ - **Harness executes Agents**: The spawn command `docs/harness/cli/spawn-command.md` loads agent profiles, and the event loop `docs/harness/event-loop.md` orchestrates prompt dispatch
39
+ - **Hooks enforce Flows**: Context hooks `docs/harness/hooks/context-hooks.md` and validation hooks `docs/harness/hooks/validation-hooks.md` enforce flow directives at the tool level
40
+ - **Sync distributes Harness**: The sync CLI `docs/sync-cli/README.md` packages and distributes the harness to target repositories
41
+ - **Knowledge connects everything**: The knowledge command `docs/harness/cli/knowledge-command.md` indexes docs, solutions, and memories for semantic discovery across all domains
@@ -0,0 +1,24 @@
1
+ ---
2
+ description: "Index of agent domain documentation covering the configuration system, agent categories (planning, execution, quality, orchestration, knowledge), and initiative orchestration."
3
+ ---
4
+
5
+ # Agents
6
+
7
+ Agent profiles define types, behaviors, and TUI integration via YAML configuration. Agents are grouped by their role in the development lifecycle.
8
+
9
+ ## Configuration
10
+
11
+ | Topic | Doc |
12
+ |---|---|
13
+ | YAML schema, validation, template variables | `docs/agents/agent-configuration-system.md` |
14
+ | Hypothesis domains and initiative types | `docs/agents/workflow-agent-orchestration.md` |
15
+
16
+ ## Agent Categories
17
+
18
+ | Category | Agents | Doc |
19
+ |---|---|---|
20
+ | Planning | ideation, planner, emergent (hypothesis planner) | `docs/agents/planning-agents.md` |
21
+ | Execution | executor | `docs/agents/execution-agents.md` |
22
+ | Quality & Review | judge, pr-reviewer, e2e-test-planner | `docs/agents/quality-review-agents.md` |
23
+ | Orchestration | coordinator | `docs/agents/orchestration-agent.md` |
24
+ | Knowledge | compounder, documentor | `docs/agents/knowledge-agents.md` |
@@ -0,0 +1,86 @@
1
+ ---
2
+ description: "Zod-based agent profile schema that validates YAML agent definitions, enforces template variable contracts, and normalizes configs for TUI integration"
3
+ ---
4
+
5
+ # Agent Configuration System
6
+
7
+ Agent profiles are YAML declarations that define how agents are spawned, what context they receive, and how the TUI presents them. The system uses Zod schemas for runtime validation, replacing static YAML schema files with type-safe, self-documenting validation.
8
+
9
+ ## Profile Schema Fields
10
+
11
+ Every agent YAML file is validated against [ref:.allhands/harness/src/lib/schemas/agent-profile.ts:RawAgentProfileSchema:fb892e5], which enforces this contract:
12
+
13
+ | Field | Type | Default | Purpose |
14
+ |-------|------|---------|---------|
15
+ | `name` | string (required) | -- | Agent identifier, doubles as tmux window name |
16
+ | `flow` | string (required) | -- | Flow file relative to `.allhands/flows/` |
17
+ | `prompt_scoped` | boolean | `false` | When true, multiple instances spawn (one per prompt) |
18
+ | `message_template` | string | -- | Template with `${VAR}` interpolation for launch context |
19
+ | `template_vars` | array | `[]` | Required variables declared for the template |
20
+ | `tui_action` | string | -- | TUI action name that triggers this agent |
21
+ | `tui_label` | string | -- | Display label in TUI (falls back to capitalized name) |
22
+ | `tui_requires_spec` | boolean | `false` | Gates TUI action behind active spec selection |
23
+ | `non_coding` | boolean | `false` | Marks agent as non-coding, affecting downstream behaviors |
24
+
25
+ ## Template Variable System
26
+
27
+ Template variables are the mechanism through which agents receive runtime context at spawn. The variable registry lives in [ref:.allhands/harness/src/lib/schemas/template-vars.ts:TemplateVars:730f114] and defines four categories:
28
+
29
+ **Path variables** -- resolve to filesystem locations:
30
+ - `SPEC_PATH`, `ALIGNMENT_PATH`, `PROMPTS_FOLDER`, `PROMPT_PATH`, `OUTPUT_PATH`, `PLANNING_FOLDER`
31
+
32
+ **Identifier variables** -- resolve to names or numbers:
33
+ - `SPEC_NAME`, `PROMPT_NUMBER` (validated as two-digit string via regex)
34
+
35
+ **Branch/context variables** -- resolve to runtime state:
36
+ - `BRANCH` (current git branch name)
37
+
38
+ **Spec metadata variables** -- resolve to spec properties:
39
+ - `SPEC_TYPE` (spec type from frontmatter: milestone, investigation, optimization, refactor, documentation, triage)
40
+
41
+ **Emergent planner variables** -- resolve to settings-driven context:
42
+ - `HYPOTHESIS_DOMAINS` (comma-separated list of hypothesis domains from `settings.json`)
43
+
44
+ > **Change note**: `WORKFLOW_TYPE` has been removed. It was replaced by `SPEC_TYPE`, which reads directly from spec frontmatter rather than from workflow YAML files (which have been deleted). `PROMPT_NUMBER` is no longer used by the emergent agent but remains in the registry for other agents.
45
+
46
+ Template resolution validates that every `${VAR}` in `message_template` maps to a registered variable name in [ref:.allhands/harness/src/lib/schemas/template-vars.ts:TEMPLATE_VAR_NAMES:730f114], and that the runtime context provides non-empty values for all declared `template_vars`.
47
+
48
+ ## Validation Pipeline
49
+
50
+ Profile validation happens in two stages:
51
+
52
+ ```mermaid
53
+ flowchart LR
54
+ YAML["YAML Parse"] --> Schema["Zod Schema\nValidation"]
55
+ Schema --> Normalize["normalizeProfile()"]
56
+ Normalize --> Semantic["validateProfileSemantics()"]
57
+ Semantic --> Valid["Ready to Spawn"]
58
+ ```
59
+
60
+ 1. **Schema validation** -- [ref:.allhands/harness/src/lib/schemas/agent-profile.ts:RawAgentProfileSchema:fb892e5] checks types, applies defaults, and rejects unknown fields
61
+ 2. **Normalization** -- [ref:.allhands/harness/src/lib/schemas/agent-profile.ts:normalizeProfile:fb892e5] transforms snake_case YAML fields to camelCase TypeScript, producing the [ref:.allhands/harness/src/lib/schemas/agent-profile.ts:AgentProfile:fb892e5] interface
62
+ 3. **Semantic validation** -- [ref:.allhands/harness/src/lib/schemas/agent-profile.ts:validateProfileSemantics:fb892e5] performs cross-field checks:
63
+ - Every `${VAR}` in `message_template` must exist in `template_vars`
64
+ - Every entry in `template_vars` must be referenced in `message_template`
65
+ - Template variables must be registered in [ref:.allhands/harness/src/lib/schemas/template-vars.ts:TemplateVars:730f114]
66
+
67
+ Semantic validation returns warnings (not errors) for unused variables, allowing forward-compatible profiles.
68
+
69
+ ## Non-Coding Agents
70
+
71
+ Three agents are configured with `non_coding: true`:
72
+
73
+ | Agent | Role |
74
+ |-------|------|
75
+ | Coordinator | Cross-phase orchestration |
76
+ | Judge | Milestone quality gate |
77
+ | Emergent | Hypothesis planning (plan-only, creates prompt files for executors) |
78
+
79
+ The emergent agent was rearchitected from a coding execution agent to a non-coding planning agent. It is `prompt_scoped: true` but `non_coding: true` -- multiple instances spawn to create prompt files across hypothesis domains, but none write code directly.
80
+
81
+ ## Key Design Decisions
82
+
83
+ - **Snake_case YAML, camelCase TypeScript**: Agent configs are authored in YAML-idiomatic snake_case. The normalization layer bridges to TypeScript conventions, keeping both sides natural.
84
+ - **Closed variable registry**: Only variables registered in [ref:.allhands/harness/src/lib/schemas/template-vars.ts:TEMPLATE_VAR_NAMES:730f114] can be used. This prevents typos and ensures every variable has a documented purpose via Zod `.describe()`.
85
+ - **Prompt-scoped multiplexing**: The `prompt_scoped` flag distinguishes singleton agents (planner, judge, coordinator) from parallelizable agents (executor, emergent). The TUI uses this to spawn N instances for N prompts. Note that prompt-scoped does not imply coding -- the emergent agent is prompt-scoped but non-coding.
86
+ - **TUI as first-class concern**: The `tui_action`, `tui_label`, and `tui_requires_spec` fields embed presentation logic directly in the profile, avoiding a separate UI configuration layer.
@@ -0,0 +1,50 @@
1
+ ---
2
+ description: "Executor agent that implements prompt files as code changes -- the sole execution agent, one instance per prompt for parallel implementation"
3
+ ---
4
+
5
+ # Execution Agents
6
+
7
+ The executor is the only agent that produces code changes from pre-authored prompt files. It is **prompt-scoped** (`prompt_scoped: true`), meaning the harness spawns multiple parallel instances -- one per prompt. This is the core parallelism mechanism in the harness.
8
+
9
+ > **Note**: The emergent agent was previously grouped here as an execution agent. It has been rearchitected to a plan-only hypothesis planner (`non_coding: true`) and now belongs with the planning agents. See [docs/agents/planning-agents.md](planning-agents.md).
10
+
11
+ ## Executor Configuration
12
+
13
+ [ref:.allhands/agents/executor.yaml::a0ae2f8]
14
+
15
+ | Field | Value |
16
+ |-------|-------|
17
+ | Flow | `PROMPT_TASK_EXECUTION.md` |
18
+ | Prompt scoped | Yes |
19
+ | Non-coding | No |
20
+ | TUI action | `executor` |
21
+ | Requires spec | Yes |
22
+ | Template vars | `PROMPT_PATH`, `ALIGNMENT_PATH` |
23
+
24
+ The executor is the workhorse. It receives a single prompt file path and an alignment doc, then implements exactly what the prompt specifies. Its simplicity is deliberate:
25
+
26
+ - **One prompt, one executor** -- clear ownership and bounded context per **Context is Precious**
27
+ - **No domain selection** -- the planner already decided what to build
28
+ - **Alignment doc as guardrail** -- provides project-level conventions without bloating the prompt
29
+
30
+ The executor's template injects only `PROMPT_PATH` and `ALIGNMENT_PATH`. All task scoping comes from the prompt file content itself. The first line of its message template is `DO NOT ask for any user input for this task.` -- it is fully autonomous.
31
+
32
+ ## Prompt-Scoped Parallelism
33
+
34
+ ```mermaid
35
+ flowchart TD
36
+ TUI["TUI Spawn"] --> |"N prompts"| E1["Executor 1\nPrompt 01"]
37
+ TUI --> E2["Executor 2\nPrompt 02"]
38
+ TUI --> E3["Executor 3\nPrompt 03"]
39
+ ```
40
+
41
+ Because `prompt_scoped: true`, the TUI multiplexes executor instances across available prompt files. Each executor maps 1:1 to an existing prompt, ensuring clear ownership boundaries. The planner determines what to build; executors determine how.
42
+
43
+ ## Relationship to Planning Phase
44
+
45
+ Executors cannot begin until planning produces prompt files. The upstream agents that generate prompts are:
46
+
47
+ - **Planner** -- decomposes specs into ordered prompt files during the planning phase
48
+ - **Emergent** -- creates `type:emergent` prompt files during the hypothesis planning phase (see [planning-agents.md](planning-agents.md))
49
+
50
+ Both produce prompt files that executors consume. The executor makes no distinction between planner-authored and emergent-authored prompts -- it implements whatever the prompt file specifies.
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: "Compounder and documentor agents that extract and persist engineering knowledge from completed milestone work into reusable artifacts"
3
+ ---
4
+
5
+ # Knowledge Agents
6
+
7
+ Knowledge agents run **after execution completes**. They do not produce features -- they produce understanding. Both the compounder and documentor transform completed work into durable knowledge artifacts, operationalizing the **Knowledge Compounding** principle: everything feeds forward.
8
+
9
+ ## Agent Comparison
10
+
11
+ | Aspect | Compounder | Documentor |
12
+ |--------|------------|------------|
13
+ | Config | [ref:.allhands/agents/compounder.yaml::c9f0e13] | [ref:.allhands/agents/documentor.yaml::b4246b9] |
14
+ | Flow | `COMPOUNDING.md` | `DOCUMENTATION.md` |
15
+ | TUI label | Compounder | Documentor |
16
+ | TUI action | `compound` | `compound` |
17
+ | Requires spec | Yes | Yes |
18
+ | Prompt scoped | No | No |
19
+ | Non-coding | No | No |
20
+
21
+ Both agents share identical template variables:
22
+ - `SPEC_PATH` -- the completed spec for retrospective analysis
23
+ - `ALIGNMENT_PATH` -- project conventions and accumulated decisions
24
+ - `PROMPTS_FOLDER` -- completed prompt files containing implementation history
25
+
26
+ ## Shared TUI Action
27
+
28
+ Both agents use `tui_action: compound`. This groups them as a single user-facing capability -- the compounding phase -- even though they run distinct flows. The TUI presents them as related operations on the same completed work.
29
+
30
+ ## Compounder Agent
31
+
32
+ The compounder extracts **decisions, patterns, pivots, and limitations** from completed prompt work. Its output compounds the organization's knowledge base, making future planning and execution benefit from past work.
33
+
34
+ What the compounder captures:
35
+ - Why decisions were made (not just what was built)
36
+ - Patterns that emerged during implementation
37
+ - Limitations discovered that affect future specs
38
+ - Best practices validated or invalidated by execution results
39
+
40
+ This directly serves **Knowledge Compounding** -- decisions, pivots, limitations, disagreements, realizations, and best practices all feed forward.
41
+
42
+ ## Documentor Agent
43
+
44
+ The documentor produces **documentation artifacts** from completed work. Where the compounder extracts tacit knowledge, the documentor produces explicit documentation tied to the codebase.
45
+
46
+ The distinction matters: compounding captures organizational learning that lives in the harness knowledge base, while documentation produces artifacts (docs, READMEs, architecture decision records) that live alongside the code.
47
+
48
+ ## Lifecycle Position
49
+
50
+ ```mermaid
51
+ flowchart LR
52
+ Judge["Judge\n(pass verdict)"] --> Knowledge["Knowledge Phase"]
53
+ Knowledge --> Compounder["Compounder\n(extract learnings)"]
54
+ Knowledge --> Documentor["Documentor\n(produce docs)"]
55
+ Compounder --> KB["Knowledge Base"]
56
+ Documentor --> Docs["Code Documentation"]
57
+ KB --> Future["Future Planning\n& Execution"]
58
+ Docs --> Future
59
+ ```
60
+
61
+ Knowledge agents are the terminal phase of the milestone lifecycle. They run after the judge has approved the work, ensuring they operate on validated output rather than in-progress code. Their artifacts compound value for every subsequent milestone.
@@ -0,0 +1,57 @@
1
+ ---
2
+ description: "Coordinator agent for milestone-level non-coding orchestration, managing spec work progression across planning, execution, and review phases"
3
+ ---
4
+
5
+ # Orchestration Agent
6
+
7
+ The coordinator is the only agent explicitly designed for **cross-phase orchestration**. It operates at the milestone level, tracking spec progression without writing code itself.
8
+
9
+ ## Configuration
10
+
11
+ [ref:.allhands/agents/coordinator.yaml::27a9130]
12
+
13
+ | Field | Value |
14
+ |-------|-------|
15
+ | Flow | `COORDINATION.md` |
16
+ | TUI action | `coordinator` |
17
+ | Non-coding | **Yes** |
18
+ | Prompt scoped | No |
19
+ | Requires spec | Yes |
20
+
21
+ ## Template Context
22
+
23
+ The coordinator receives the broadest template context of any singleton agent:
24
+
25
+ - `SPEC_NAME` -- the milestone being coordinated
26
+ - `SPEC_PATH` -- full spec for requirement awareness
27
+ - `ALIGNMENT_PATH` -- project conventions and decisions
28
+ - `PROMPTS_FOLDER` -- visibility into prompt file state (planned, in-progress, completed)
29
+
30
+ This four-variable context gives the coordinator full situational awareness across the spec's lifecycle without requiring it to read execution outputs directly.
31
+
32
+ ## Why Non-Coding Orchestration
33
+
34
+ The coordinator is one of three `non_coding: true` agents (alongside the judge and emergent). This constraint is architectural, not incidental:
35
+
36
+ - **Separation of concerns** -- coordination decisions (what to run next, what's blocked, what's done) must not be entangled with implementation
37
+ - **Context preservation** -- a non-coding agent avoids accumulating code-level context that would dilute its orchestration judgment, per **Context is Precious**
38
+ - **Role clarity** -- executors implement, the coordinator sequences; mixing these creates agents that do both poorly
39
+
40
+ ## Relationship to Other Agents
41
+
42
+ ```mermaid
43
+ flowchart TD
44
+ Coordinator["Coordinator\n(non-coding)"]
45
+ Coordinator -->|"triggers"| Planner["Planner"]
46
+ Coordinator -->|"monitors"| Executors["Executors"]
47
+ Coordinator -->|"monitors output"| Emergent["Emergent Planner\n(creates prompts)"]
48
+ Coordinator -->|"triggers"| Judge["Judge"]
49
+
50
+ Planner -->|"produces"| Prompts["Prompt Files"]
51
+ Emergent -->|"produces"| Prompts
52
+ Prompts -->|"consumed by"| Executors
53
+ Executors -->|"complete"| Coordinator
54
+ Judge -->|"verdict"| Coordinator
55
+ ```
56
+
57
+ The coordinator is the hub that connects phases. It does not directly control other agents -- the TUI handles spawning -- but it provides the decision-making layer for when phases transition. The coordinator monitors the emergent planner's output (new prompt files appearing in the prompts folder) rather than monitoring it as an executor, since the emergent agent now produces planning artifacts, not code changes. This maps to the **Quality Engineering** principle: the coordinator's role is judgment about sequencing, not implementation.
@@ -0,0 +1,84 @@
1
+ ---
2
+ description: "Ideation, planner, and emergent agents that handle upstream work: free-form exploration, structured spec decomposition, and hypothesis-driven prompt planning"
3
+ ---
4
+
5
+ # Planning Agents
6
+
7
+ Planning agents operate upstream of execution. They translate human intent into machine-executable prompt files -- the fundamental unit of work in the harness. Three agents divide this responsibility: ideation explores the problem space freely, the planner decomposes a spec into ordered prompts, and the emergent agent creates hypothesis-driven prompt files across quality domains.
8
+
9
+ ## Agent Comparison
10
+
11
+ | Aspect | Ideation | Planner | Emergent |
12
+ |--------|----------|---------|----------|
13
+ | Config | [ref:.allhands/agents/ideation.yaml::faf0f2d] | [ref:.allhands/agents/planner.yaml::9013364] | [ref:.allhands/agents/emergent.yaml::9b6a9d4] |
14
+ | Flow | `IDEATION_SESSION.md` | `SPEC_PLANNING.md` | `EMERGENT_PLANNING.md` |
15
+ | Requires spec | No | Yes | Yes |
16
+ | Prompt scoped | No | No | Yes |
17
+ | Non-coding | No | No | **Yes** |
18
+ | Template vars | None | `SPEC_NAME`, `SPEC_PATH`, `PROMPTS_FOLDER` | `ALIGNMENT_PATH`, `PROMPTS_FOLDER`, `HYPOTHESIS_DOMAINS`, `BRANCH` |
19
+ | TUI action | `new-initiative` | `planner` | `emergent` |
20
+ | TUI label | Ideation | Planner | Emergent |
21
+
22
+ ## Ideation Agent
23
+
24
+ The ideation agent is the only agent that requires **no spec context**. It runs the `IDEATION_SESSION.md` flow with an empty message template, making it a blank-slate exploration tool. This aligns with the **Ideation First** principle -- front-loading exploration prevents low-level decision fatigue during implementation and discovers limitations before they block progress.
25
+
26
+ Key characteristics:
27
+ - No `template_vars` and empty `message_template` -- the agent receives no pre-structured context
28
+ - Not prompt-scoped -- runs as a singleton session
29
+ - Produces specs and roadmap artifacts as output, feeding downstream agents
30
+ - TUI action `new-initiative` routes through the ideation agent with a flow override for non-milestone spec types
31
+
32
+ ## Planner Agent
33
+
34
+ The planner operates on a selected spec, decomposing it into prompt files within the spec's prompts folder. It receives three template variables that scope its work:
35
+
36
+ - `SPEC_NAME` -- identifies the initiative being planned
37
+ - `SPEC_PATH` -- the spec file containing requirements and acceptance criteria
38
+ - `PROMPTS_FOLDER` -- the target directory where prompt files are written
39
+
40
+ The planner embodies **Prompt Files as Units of Work** -- its sole output is an ordered set of prompt files that executors will pick up. Each prompt file scopes 3-5 tasks with clear validation requirements, keeping downstream context bounded per **Context is Precious**.
41
+
42
+ ## Emergent Agent (Hypothesis Planner)
43
+
44
+ The emergent agent creates hypothesis-driven prompt files across quality domains. Unlike the planner (which decomposes a spec top-down), the emergent agent identifies quality gaps and generates `type:emergent` prompt files that executors later implement. It is the only planning agent that is both **prompt-scoped** and **non-coding**:
45
+
46
+ - `non_coding: true` -- creates prompt files but does not write code
47
+ - `prompt_scoped: true` -- multiple instances spawn in parallel, each exploring a different hypothesis domain
48
+ - Flow: `EMERGENT_PLANNING.md` -- a plan-only flow (not an execution flow)
49
+
50
+ Template variables provide the planning context:
51
+ - `ALIGNMENT_PATH` -- project-level conventions and decisions
52
+ - `PROMPTS_FOLDER` -- where to write new prompt files
53
+ - `HYPOTHESIS_DOMAINS` -- available quality domains from `settings.json` (e.g., `testing, stability, performance, feature, ux, integration`)
54
+ - `BRANCH` -- current git branch for scoping
55
+
56
+ The emergent agent's message template instructs it to **select a domain that diversifies from prior prompts**, always producing at least one prompt file. It operates in three progressive work modes:
57
+
58
+ 1. **Core Goal Work** -- domains directly supporting the spec's acceptance criteria
59
+ 2. **Adjacent Improvements** -- domains that strengthen surrounding code quality
60
+ 3. **Novel Experiments** -- tangential domains that require feature flags, exploring beyond the spec's boundaries
61
+
62
+ As core goals are met, the agent shifts progressively toward more tangential work. This creates a self-organizing planning cycle where each instance explores a different facet of quality, producing prompt files that executors consume downstream.
63
+
64
+ > **Key decision**: "Emergent" is the canonical agent name; "hypothesis planner" describes its functional role. The agent was rearchitected from a combined plan-and-execute agent (previously `non_coding: false`, flow `EMERGENT_REFINEMENT_EXECUTION.md`) to a plan-only agent. It no longer uses `PROMPT_NUMBER` -- prompt numbering is handled by the prompts folder conventions.
65
+
66
+ ## Lifecycle Position
67
+
68
+ ```mermaid
69
+ flowchart LR
70
+ Ideation["Ideation\n(explore)"] --> Spec["Spec Created"]
71
+ Spec --> Planner["Planner\n(decompose)"]
72
+ Planner --> Prompts["Prompt Files"]
73
+ Spec --> Emergent["Emergent\n(hypothesis plan)"]
74
+ Emergent --> EPrompts["type:emergent\nPrompt Files"]
75
+ Prompts --> Execution["Executor"]
76
+ EPrompts --> Execution
77
+ ```
78
+
79
+ Ideation is optional and human-initiated. The planner and emergent agent both produce prompt files, but through different mechanisms:
80
+
81
+ - **Planner** -- deterministic top-down decomposition of a spec into ordered prompts
82
+ - **Emergent** -- hypothesis-driven exploration of quality gaps, creating emergent prompts
83
+
84
+ Executors make no distinction between planner-authored and emergent-authored prompts. Both are consumed identically. This means all three planning agents feed into the same execution phase, with the emergent agent providing lateral quality coverage that the planner's structured decomposition may miss.
@@ -0,0 +1,67 @@
1
+ ---
2
+ description: "Judge, PR reviewer, and E2E test planner agents that validate milestone quality: judge reviews holistically, PR reviewer processes feedback, test planner builds verification plans"
3
+ ---
4
+
5
+ # Quality and Review Agents
6
+
7
+ Three agents handle validation and review at different stages of the lifecycle. They share a common purpose -- ensuring work meets acceptance criteria -- but operate at different scopes and produce different outputs.
8
+
9
+ ## Agent Overview
10
+
11
+ | Aspect | Judge | PR Reviewer | E2E Test Planner |
12
+ |--------|-------|-------------|------------------|
13
+ | Config | [ref:.allhands/agents/judge.yaml::597e87f] | [ref:.allhands/agents/pr-reviewer.yaml::631b3e9] | [ref:.allhands/agents/e2e-test-planner.yaml::89753a5] |
14
+ | Flow | `JUDGE_REVIEWING.md` | `PR_REVIEWING.md` | `E2E_TEST_PLAN_BUILDING.md` |
15
+ | TUI label | Review Jury | Review PR | E2E Tests |
16
+ | Non-coding | **Yes** | No | No |
17
+ | Requires spec | Yes | Yes | Yes |
18
+ | Prompt scoped | No | No | No |
19
+
20
+ ## Judge Agent
21
+
22
+ The judge is the milestone-level quality gate. It reviews completed work against the spec's acceptance criteria, operating as a **non-coding** agent (`non_coding: true`). This distinction matters: the judge evaluates but does not modify code.
23
+
24
+ Template variables:
25
+ - `SPEC_NAME` -- identifies what milestone is being judged
26
+ - `ALIGNMENT_PATH` -- provides project conventions for evaluation context
27
+
28
+ The TUI action `review-jury` signals its role as an adjudicator. The judge embodies **Agentic Validation Tooling** -- programmatic validation that makes human supervision redundant for routine quality checks. Its output determines whether a milestone proceeds to merge or returns for rework.
29
+
30
+ ## PR Reviewer Agent
31
+
32
+ The PR reviewer translates external PR feedback (GitHub comments, review threads) into actionable prompt-level work. Unlike the judge, it **is a coding agent** -- it can create new prompt files or modify existing ones based on review feedback.
33
+
34
+ Template variables:
35
+ - `SPEC_NAME` -- the milestone under review
36
+ - `ALIGNMENT_PATH` -- project conventions
37
+ - `PROMPTS_FOLDER` -- where to write remediation prompts if needed
38
+
39
+ This agent bridges the gap between human PR review and the prompt-based execution model. Rather than expecting developers to manually address review comments, the PR reviewer converts feedback into the harness's native work format.
40
+
41
+ ## E2E Test Planner Agent
42
+
43
+ The E2E test planner produces structured test plans from spec requirements. It receives the richest template context of the three review agents:
44
+
45
+ - `PLANNING_FOLDER` -- the `.planning/{branch}` directory for test plan artifacts
46
+ - `SPEC_PATH` -- full spec for requirement extraction
47
+ - `ALIGNMENT_PATH` -- project conventions including testing patterns
48
+ - `OUTPUT_PATH` -- explicit output location for the generated test plan
49
+
50
+ This agent operationalizes the **Agentic Validation Tooling** principle by creating verification infrastructure. Its test plans feed back into execution agents as validation requirements, closing the loop between "what should we test" and "is it working."
51
+
52
+ ## Review Lifecycle Position
53
+
54
+ ```mermaid
55
+ flowchart TD
56
+ Execution["Execution Complete"] --> Judge["Judge\n(milestone review)"]
57
+ Judge -->|"Pass"| PR["PR Created"]
58
+ Judge -->|"Fail"| Rework["Back to Execution"]
59
+ PR --> PRReview["PR Reviewer\n(feedback triage)"]
60
+ PRReview -->|"Remediation prompts"| Execution
61
+
62
+ Spec["Spec Created"] --> E2E["E2E Test Planner"]
63
+ E2E -->|"Test plan"| Validation["Validation Artifacts"]
64
+ Validation --> Judge
65
+ ```
66
+
67
+ The judge sits at the convergence point: it consumes execution output and test plan artifacts to render a verdict. The PR reviewer operates post-merge-request, handling the external feedback loop. The E2E test planner can run early -- as soon as a spec exists -- producing validation criteria that inform both execution and judgment.
@@ -0,0 +1,69 @@
1
+ ---
2
+ description: "How hypothesis domains flow from settings.json to emergent planning agents, replacing the deleted workflow YAML system with initiative-type-driven orchestration"
3
+ ---
4
+
5
+ # Workflow-Agent Orchestration
6
+
7
+ Hypothesis domains shape how the emergent agent explores quality dimensions during planning. These domains were previously defined in workflow YAML files (`.allhands/workflows/milestone.yaml`, `.allhands/workflows/debugging.yaml`). That entire system has been deleted. Hypothesis domains now come from `settings.json` via `EmergentSettings`, and the concept of "workflow configurations" is replaced by **initiative types** -- six spec types that determine how work flows through the harness.
8
+
9
+ ## What Changed
10
+
11
+ | Before | After |
12
+ |--------|-------|
13
+ | `.allhands/workflows/` directory with YAML files | **Deleted entirely** |
14
+ | `milestone.yaml`, `debugging.yaml` configs | Hypothesis domains in `settings.json` |
15
+ | `WORKFLOW_TYPE` template variable | `SPEC_TYPE` template variable |
16
+ | Two workflow types (milestone, debugging) | Six initiative types via spec frontmatter |
17
+ | Workflow loader (`workflow.ts`, `workflows.ts`) | Settings-based domain resolution |
18
+
19
+ ## Initiative Types
20
+
21
+ The harness now supports six spec types, each representing a distinct initiative category:
22
+
23
+ - `milestone` -- feature development with full planning-execution cycle
24
+ - `investigation` -- exploratory analysis and research
25
+ - `optimization` -- performance and efficiency improvements
26
+ - `refactor` -- structural code improvements
27
+ - `documentation` -- knowledge artifact production
28
+ - `triage` -- issue diagnosis and resolution
29
+
30
+ The spec type is parsed from frontmatter and made available via the [ref:.allhands/harness/src/lib/schemas/template-vars.ts:TemplateVars:730f114] `SPEC_TYPE` variable. Agents receive this at spawn, enabling type-aware behavior without separate workflow configuration files.
31
+
32
+ ## Hypothesis Domains
33
+
34
+ Hypothesis domains remain the creative constraint mechanism for the emergent agent. Each domain represents a category of planning work the emergent agent can self-assign when creating prompt files.
35
+
36
+ The domain list now comes from `settings.json` under `emergent.hypothesisDomains` (`EmergentSettings`), rather than from per-workflow YAML files. This centralizes domain configuration alongside other emergent agent settings.
37
+
38
+ The emergent agent's [ref:.allhands/agents/emergent.yaml::9b6a9d4] template receives domains via the `HYPOTHESIS_DOMAINS` template variable. The agent selects a domain that diversifies from prior prompts, creating organic coverage across quality dimensions.
39
+
40
+ ## How Domains Flow to the Emergent Agent
41
+
42
+ ```mermaid
43
+ flowchart TD
44
+ Settings["settings.json\nemergent.hypothesisDomains"] -->|"domain list"| TV["HYPOTHESIS_DOMAINS\ntemplate variable"]
45
+ Spec["Spec frontmatter\ntype field"] -->|"parsed"| ST["SPEC_TYPE\ntemplate variable"]
46
+ TV --> Emergent["Emergent Agent\n(non_coding, plan-only)"]
47
+ ST --> Emergent
48
+ Emergent -->|"creates"| Prompt["type:emergent\nPrompt File"]
49
+ Prompt -->|"consumed by"| Executor["Executor Agent"]
50
+ ```
51
+
52
+ The emergent agent is now `non_coding: true` -- it creates prompt files but does not implement them. Executors pick up emergent-authored prompts the same way they pick up planner-authored prompts.
53
+
54
+ ## Domain Selection as Quality Engineering
55
+
56
+ This architecture embodies **Quality Engineering (Not Quantity Engineering)**:
57
+
58
+ - Domains are **constraints, not assignments** -- the emergent agent chooses within them, it does not receive directives
59
+ - The domain list defines the **quality surface area** -- what dimensions matter for this initiative
60
+ - Agents are instructed that **tangential domains require feature flags**, creating a natural risk gradient
61
+ - The emergent agent's `BRANCH` template variable provides git context for scoping prompt files to the current work
62
+
63
+ ## Extending Initiative Types
64
+
65
+ Adding a new initiative type means:
66
+ 1. Adding a spec type to the frontmatter schema
67
+ 2. Updating `SPEC_TYPE` validation to include the new type
68
+
69
+ No agent profiles need to change. The emergent agent's template already interpolates `HYPOTHESIS_DOMAINS` and `SPEC_TYPE` generically -- it adapts to whatever the settings and spec provide. This separation of initiative concerns from agent definitions keeps the system composable per **Context is Precious**.
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: "Index of all flow documentation covering the agent workflow lifecycle from ideation through compounding, including review, research, coordination, and documentation flows."
3
+ ---
4
+
5
+ # Flows
6
+
7
+ Workflow definitions that guide agents through tasks. Flows follow a lifecycle from ideation through execution to knowledge compounding.
8
+
9
+ ## Lifecycle Flows
10
+
11
+ | Phase | Flow | Doc |
12
+ |---|---|---|
13
+ | Foundation | Core harness integration | `docs/flows/core-harness-integration.md` |
14
+ | Ideation | Spec planning (ideation + type-aware planning) | `docs/flows/spec-planning.md` |
15
+ | Scoping | Type-specific scoping flows (5 initiative types) | `docs/flows/type-specific-scoping-flows.md` |
16
+ | Pre-execution | Plan review jury | `docs/flows/plan-review-jury.md` |
17
+ | Research | Plan deepening and research | `docs/flows/plan-deepening-and-research.md` |
18
+ | Execution | Prompt task execution | `docs/flows/prompt-task-execution.md` |
19
+ | Refinement | Emergent refinement (hypothesis planner, plan-only) | `docs/flows/emergent-refinement.md` |
20
+ | Post-execution | Judge reviewing | `docs/flows/judge-reviewing.md` |
21
+ | Feedback | PR reviewing | `docs/flows/pr-reviewing.md` |
22
+ | Coordination | Coordination services | `docs/flows/coordination.md` |
23
+ | Knowledge | Compounding | `docs/flows/compounding.md` |
24
+
25
+ ## Initiative Scoping Flows
26
+
27
+ | Topic | Doc |
28
+ |---|---|
29
+ | Type-specific scoping (investigation, optimization, refactor, documentation, triage) | `docs/flows/type-specific-scoping-flows.md` |
30
+
31
+ ## Supporting Flows
32
+
33
+ | Topic | Doc |
34
+ |---|---|
35
+ | Documentation pipeline | `docs/flows/documentation-orchestration.md` |
36
+ | E2E test plan building | `docs/flows/e2e-test-plan-building.md` |
37
+ | Validation suites and skills | `docs/flows/validation-and-skills-integration.md` |
38
+ | Flow authoring and MCP tools | `docs/flows/flow-authoring-and-mcp-tools.md` |
39
+
40
+ ## Work in Progress
41
+
42
+ | Topic | Doc |
43
+ |---|---|
44
+ | Debug investigation and memory recall | `docs/flows/wip/wip-flows.md` |