Some checks failed
Tests / conformance test (macos-latest, 24) (pull_request) Has been cancelled
Tests / conformance test (windows-latest, 24, shard 1/3) (pull_request) Has been cancelled
Tests / Required tests (pull_request) Has been cancelled
Tests / conformance test (windows-latest, 24, shard 2/3) (pull_request) Has been cancelled
Tests / conformance test (windows-latest, 24, shard 3/3) (pull_request) Has been cancelled
Changeset Required / PR mergeability (pull_request) Successful in 17s
Default Flip Documentation / PR mergeability (pull_request) Successful in 10s
Dependabot Auto-Merge / auto-merge (pull_request) Has been skipped
Docs Required / PR mergeability (pull_request) Successful in 10s
Mutation Testing / PR mergeability (pull_request) Successful in 10s
Security Scan / PR mergeability (pull_request) Successful in 12s
Tests / PR mergeability (pull_request) Successful in 9s
Tests / Base branch health (pull_request) Successful in 10s
Tests / Detect test scope (pull_request) Successful in 17s
PR Target Validator / validate-target (pull_request_target) Successful in 14s
Branch Cleanup / Delete merged PR branch (pull_request) Failing after 10s
Branch Cleanup / Weekly orphaned branch sweep (pull_request) Has been skipped
Changeset Required / changeset-lint (pull_request) Successful in 29s
Default Flip Documentation / default-flip-documentation (pull_request) Successful in 30s
Docs Required / docs-lint (pull_request) Successful in 5m1s
Mutation Testing / Detect changed covered modules (pull_request) Successful in 19s
Security Scan / security (pull_request) Successful in 5m5s
Tests / lint-tests (pull_request) Failing after 1m48s
Tests / plugin-validate (pull_request) Successful in 1m4s
Tests / test (ubuntu-latest, 24, shard 1/3) (pull_request) Failing after 19s
Tests / test (ubuntu-latest, 24, shard 2/3) (pull_request) Failing after 20s
Tests / test (ubuntu-latest, 24, shard 3/3) (pull_request) Failing after 19s
Tests / test (ubuntu-latest, 24) (pull_request) Failing after 20s
Tests / test (inert CI) (pull_request) Has been skipped
Tests / QA loop walk (smell ratchet) (pull_request) Failing after 20s
Mutation Testing / Stryker (${{ matrix.name }}) (pull_request) Has been skipped
Tests / Coverage gate (merged shards) (pull_request) Has been skipped
Tests / Publish emitted-baseline artifact (pull_request) Has been skipped
Mutation Testing / Stryker mutation score (changed files only) (pull_request) Has been skipped
74 lines
3.9 KiB
JSON
74 lines
3.9 KiB
JSON
{
|
|
"id": "claude-orchestration",
|
|
"role": "feature",
|
|
"version": "2.0.0",
|
|
"title": "Claude orchestration (Workflow backend)",
|
|
"description": "Default-off, BETA, claude-only capability that adopts Claude Code's Workflow tool (the engine behind /effort ultracode) as an optional parallel-execution backend for the MSD loop. When the runtime exposes the Workflow tool and claude_orchestration.execution_backend resolves to 'workflow', execute-phase emits a generated Workflow script (waves -> parallel() barriers, plans -> agent({ agentType: 'msd-executor', isolation: 'worktree' }), files_modified overlap -> separate sequential stages, resumeFromRunId wired to the phase run id, shared token budget) that composes the SAME msd-executor agent and worktree isolation the inline path uses, restoring the wave parallelism the #853 backgrounded-agent nesting limitation forces inline on Claude Code. (The plan-checker and verifier remain inline until separately wired — this capability delivers the parallel-execution backend, not those gates.) Also folds the ultraplan plan-offload under one runtime gate (plan:* surface). On any runtime lacking the Workflow tool, or when the capability is disabled, behaviour is byte-identical to today (inline/manual dispatch). Detection + emission live in msd-core/bin/lib/claude-orchestration.cjs (pure, fail-closed). Mirrors the existing msd-ultraplan-phase BETA-isolation posture.",
|
|
"tier": "full",
|
|
"requires": [],
|
|
"engines": {
|
|
"msd": ">=1.7.0"
|
|
},
|
|
"runtimeCompat": {
|
|
"supported": [
|
|
"claude"
|
|
],
|
|
"unsupported": []
|
|
},
|
|
"skills": [],
|
|
"agents": [],
|
|
"hooks": [],
|
|
"commands": [
|
|
{
|
|
"family": "claude-orchestration",
|
|
"module": "claude-orchestration-command-router.cjs",
|
|
"router": "routeClaudeOrchestrationCommand",
|
|
"subcommands": [
|
|
"detect-backend",
|
|
"emit-workflow",
|
|
"resolve-wave-dispatch"
|
|
]
|
|
}
|
|
],
|
|
"activationKey": "claude_orchestration.enabled",
|
|
"config": {
|
|
"claude_orchestration.enabled": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Master toggle for the Claude orchestration capability. Default-off + BETA: the Workflow-tool execution backend and the ultraplan plan-offload surface are inert unless this is true. When false, loop behaviour is byte-identical to a non-Claude runtime (inline/manual dispatch)."
|
|
},
|
|
"claude_orchestration.execution_backend": {
|
|
"type": "enum",
|
|
"values": [
|
|
"auto",
|
|
"workflow",
|
|
"inline"
|
|
],
|
|
"default": "auto",
|
|
"description": "Which execute-phase dispatch backend to use when the capability is enabled. 'auto' (default) activates the Workflow backend only when the runtime is Claude AND the Workflow tool is detected AND the Agent SDK meets claude_orchestration.min_agent_sdk_version; otherwise it falls back to inline. 'workflow' forces the Workflow backend when the tool is present AND the Agent SDK meets the floor (still fails closed to inline if the tool is absent or the SDK is too old — the floor applies in both modes). 'inline' forces today's manual one-agent-per-message dispatch regardless of tool availability."
|
|
},
|
|
"claude_orchestration.min_agent_sdk_version": {
|
|
"type": "string",
|
|
"default": "0.3.149",
|
|
"description": "Minimum Agent SDK version required to activate the Workflow backend under execution_backend='auto'. Defaults to 0.3.149 (the release that introduced the Workflow tool). Raise to pin a higher floor; the detection seam fails closed to inline for any runtime reporting an older or unknown version."
|
|
}
|
|
},
|
|
"steps": [],
|
|
"contributions": [
|
|
{
|
|
"point": "plan:post",
|
|
"into": "planner",
|
|
"fragment": {
|
|
"path": "fragments/plan-post.md"
|
|
},
|
|
"produces": [],
|
|
"consumes": [
|
|
"CONTEXT.md"
|
|
],
|
|
"when": "claude_orchestration.enabled",
|
|
"onError": "skip"
|
|
}
|
|
],
|
|
"gates": []
|
|
}
|