Tom Boucher
e3262d94d3
feat(capabilities): add claude-orchestration capability (Workflow backend) (#1143)
Default-off, BETA, claude-only capability adopting Claude Code's Workflow tool
(/effort ultracode, Agent SDK >= v0.3.149) as an optional parallel-execution
backend for the GSD loop. Restores the wave parallelism + plan-checker + verifier
that #853 forces inline on Claude Code, and folds gsd-ultraplan-phase under one
runtime gate.
- Pure fail-closed core (src/claude-orchestration.cts): detectWorkflowBackend
(gate ladder: enabled -> Claude -> backend != inline -> nested+background host
-> valid Agent SDK -> SDK >= floor; every miss degrades to inline) and
emitWorkflowScript (waves -> parallel() barriers, plans -> gsd-executor +
worktree, files_modified overlap -> separate stages, resumeFromRunId, budget).
All interpolated identifiers validated script-safe; briefs JSON-quoted.
- claude-orchestration command family (gsd-tools claude-orchestration
detect-backend|emit-workflow) for orchestrator invocation.
- Two gated loop contributions at wired points (execute:wave:post, plan:post);
federated config keys (enabled/execution_backend/min_agent_sdk_version).
- ADR-1143 implementation amendment; CONTEXT.md glossary entry; explanation doc.
On any runtime lacking the Workflow tool, behaviour is byte-identical to today.
closes #1143
2026-07-06 15:18:23 -04:00
..
2026-06-09 12:51:15 -04:00
2026-06-02 11:45:01 -04:00
2026-06-14 20:52:56 -04:00
2026-06-28 02:12:06 -04:00
2026-06-28 11:10:59 -04:00
2026-06-21 22:55:22 -04:00
2026-06-15 16:18:54 -04:00
2026-06-15 18:50:46 -04:00
2026-06-02 11:45:01 -04:00
2026-06-27 08:43:47 -04:00
2026-06-23 23:21:06 -04:00
2026-06-17 20:14:12 -04:00
2026-06-16 02:38:47 -04:00
2026-06-20 01:59:03 -04:00
2026-06-20 01:59:03 -04:00
2026-06-25 23:55:58 -04:00
2026-07-02 20:34:30 -04:00
2026-06-25 23:55:58 -04:00
2026-07-02 20:34:30 -04:00
2026-06-20 01:59:03 -04:00
2026-06-20 01:59:03 -04:00
2026-07-06 11:34:32 -04:00
2026-07-05 14:04:29 -04:00
2026-06-23 23:21:06 -04:00
2026-07-06 15:18:23 -04:00
2026-07-06 15:18:23 -04:00
2026-06-10 10:40:12 -04:00
2026-06-26 12:19:39 -04:00
2026-06-02 11:45:01 -04:00
2026-07-03 12:18:25 -04:00
2026-06-02 11:45:01 -04:00
2026-06-29 16:15:55 -04:00
2026-06-02 11:45:01 -04:00
2026-06-13 10:27:12 -04:00
2026-06-23 22:47:57 -04:00
2026-07-02 11:55:44 -04:00
2026-06-21 22:46:34 -04:00
2026-06-23 16:10:34 -04:00
2026-06-15 18:50:46 -04:00
2026-07-05 14:02:53 -04:00
2026-06-08 22:51:43 -04:00
2026-06-02 11:45:01 -04:00
2026-07-05 14:03:29 -04:00
2026-06-22 23:43:22 -04:00
2026-06-24 13:26:25 -04:00
2026-06-15 16:40:48 -04:00
2026-06-02 11:45:01 -04:00
2026-06-14 21:44:21 -04:00
2026-06-28 02:12:06 -04:00
2026-06-24 17:16:13 -04:00
2026-06-24 17:16:13 -04:00
2026-06-28 12:00:43 -04:00
2026-07-03 19:37:38 -04:00
2026-06-11 11:36:50 -04:00
2026-06-08 23:37:41 -04:00
2026-07-02 11:55:49 -04:00
2026-06-18 21:59:10 -04:00
2026-07-05 14:04:29 -04:00
2026-06-15 18:50:46 -04:00
2026-06-23 23:21:06 -04:00
2026-07-05 14:50:01 -04:00
2026-06-15 16:18:54 -04:00
2026-07-02 18:08:42 -04:00
2026-06-28 11:44:36 -04:00
2026-07-02 21:45:35 -04:00
2026-07-02 21:45:35 -04:00
2026-06-06 23:56:53 -04:00
2026-07-02 11:55:44 -04:00
2026-07-06 11:34:32 -04:00
2026-06-26 15:38:51 -04:00
2026-06-04 13:44:05 -04:00
2026-06-14 09:37:41 -04:00
2026-06-25 23:55:58 -04:00
2026-06-23 23:21:06 -04:00
2026-06-16 00:12:54 -04:00
2026-06-24 13:19:10 -04:00
2026-06-15 16:18:54 -04:00
2026-06-20 01:59:03 -04:00
2026-06-17 11:14:17 -04:00
2026-06-28 12:45:25 -04:00
2026-07-05 14:03:43 -04:00
2026-06-28 11:27:44 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 11:45:01 -04:00
2026-06-15 18:50:46 -04:00
2026-06-02 11:45:01 -04:00
2026-06-05 17:58:48 -04:00
2026-06-20 13:37:22 -04:00
2026-07-02 11:55:44 -04:00
2026-06-20 13:37:32 -04:00
2026-06-15 18:50:46 -04:00
2026-07-05 17:39:11 -04:00
2026-07-02 11:14:01 -04:00
2026-06-14 20:52:36 -04:00
2026-07-05 14:03:29 -04:00
2026-06-25 23:55:58 -04:00
2026-07-02 11:55:53 -04:00
2026-07-04 13:32:51 -04:00
2026-06-08 14:04:26 -04:00
2026-07-03 23:21:55 -04:00
2026-06-20 13:37:16 -04:00
2026-06-02 11:45:01 -04:00
2026-06-06 11:24:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-18 07:44:52 -04:00
2026-06-26 23:35:04 -04:00
2026-07-02 11:55:44 -04:00
2026-07-02 11:55:44 -04:00
2026-06-25 23:55:58 -04:00
2026-07-05 16:59:23 -04:00
2026-06-26 15:38:51 -04:00
2026-06-26 15:38:51 -04:00
2026-06-26 15:38:51 -04:00
2026-06-13 01:49:25 -04:00
2026-06-18 21:47:18 -04:00
2026-07-04 13:32:51 -04:00
2026-07-06 08:31:52 -04:00
2026-06-11 12:37:25 -04:00
2026-06-02 11:45:01 -04:00
2026-06-02 11:45:01 -04:00
2026-06-07 01:06:41 -04:00
2026-06-18 14:41:20 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 12:18:25 -04:00
2026-06-29 16:15:55 -04:00
2026-06-20 13:37:32 -04:00
2026-06-28 11:44:36 -04:00
2026-06-30 13:16:40 -04:00
2026-07-02 11:55:44 -04:00
2026-07-06 11:34:32 -04:00
2026-06-15 16:18:54 -04:00
2026-06-17 08:52:23 -04:00
2026-06-15 17:03:22 -04:00
2026-06-24 13:19:10 -04:00
2026-06-17 15:44:11 -04:00
2026-06-02 18:35:29 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 11:45:01 -04:00
2026-07-02 11:55:44 -04:00
2026-06-07 01:26:56 -04:00
2026-06-24 13:19:10 -04:00
2026-06-02 11:45:01 -04:00
2026-07-02 11:55:44 -04:00
2026-07-02 10:24:41 -04:00
2026-07-02 10:24:41 -04:00
2026-06-02 11:45:01 -04:00
2026-06-25 23:55:58 -04:00
2026-06-11 11:36:30 -04:00
2026-06-21 15:38:44 -04:00