Skip to content

Broker honors workflow-level environment so a run shares ONE node (rc.16, REQ-051)#327

Merged
Shooksie merged 1 commit into
release/req048-broker-rc15from
agent/v0.7.0/broker-workflow-env
Jul 15, 2026
Merged

Broker honors workflow-level environment so a run shares ONE node (rc.16, REQ-051)#327
Shooksie merged 1 commit into
release/req048-broker-rc15from
agent/v0.7.0/broker-workflow-env

Conversation

@Shooksie

Copy link
Copy Markdown
Contributor

Fixes TASK-431: coding-workflow phases each ran on a SEPARATE ephemeral node, so code-open-pr saw no changes and opened no PR.

Root cause: ProcessManager::configure_environment_broker gated the daemon broker on resolve_environment(subject_kind, None, None, /*workflow_env=*/None, environment_routing). On deployments whose only environment config is workflow-level (workflows[].environment, no kind-level routing rule), that returns None → broker disengages → each per-phase runner prepares its own node → no shared workspace.

Fix: thread a workflow-id → environment map into ProcessManager (populated in daemon_run next to environment_routing) and pass the dispatch's workflow-level environment as workflow_env, mirroring how the runner resolves each phase. A workflow with an environment: now engages the broker (keyed per subject) so all phases share one node; workflows without one stay local.

Verified: touched crates compile; daemon-runtime lib tests show the same 293-pass/27-fail as the clean rc.15 base (pre-existing test-isolation failures, unrelated). Bump orchestrator-cli 0.7.0-rc.16. REQUIREMENT-051.

The daemon's EnvironmentBroker gate (configure_environment_broker) resolved the
run environment from kind-level routing rules only, passing workflow_env=None. On
deployments whose only environment config is workflow-level (workflows[].environment),
resolve_environment returned None -> broker disengaged -> each per-phase runner
prepared its OWN ephemeral node -> code-implement's edit never reached code-open-pr's
workspace (no diff -> no PR).

Thread a workflow-id -> environment map into ProcessManager (populated in daemon_run
alongside environment_routing) and feed the dispatch's workflow-level environment as
workflow_env, mirroring how the runner resolves each phase. A workflow with an
environment: now engages the broker (keyed per subject) so every phase shares one node.
Workflows without an environment stay local.

Bump orchestrator-cli 0.7.0-rc.16. TASK-431 / REQUIREMENT-051.
@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
animus-docs Building Building Preview, Comment Jul 15, 2026 2:30pm

Request Review

@Shooksie
Shooksie merged commit e88bc0d into release/req048-broker-rc15 Jul 15, 2026
3 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant