feat(ws3): auto-dispatch node wiring (keeps agent-apply human gate) #45
No reviewers
Labels
No labels
app
bug
ci
compliance
content
dependencies
docs
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
infra
invalid
javascript
needs-triage
python
question
tests
wontfix
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference: adam/orchestrator#45
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/ws3-auto-dispatch-remove-env"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary (reworked 2026-06-23 after GPT-4.1 cross-review BLOCK)
This PR adds the auto-dispatch LangGraph node so the coordinator can fire the apply/verify workflow when the verifier approves a plan — while keeping the
agent-applyGitHub Environment human-approval gate in place.agent_team/nodes/dispatch_invoker.py(new):make_dispatch_node()wrapsdispatcher.dispatch_apply_verify()as a LangGraph node. Readsthread_id,candidate_diff,plan.scopefrom state;owner/repo/baseinjected at startup. Fail-safe: any error parks the task rather than crashing the graph.agent_team/graph.py:DISPATCH_NODEconstant + opt-indispatch_nodeparam tobuild_graph. DefaultNone= inert (no topology change).agent_team/coordinator.py:DispatchNodeFactoryalias;dispatch_node_wiringthreaded through__init__/setup(). DefaultNone= no dispatch..github/workflows/agent-team-apply-verify.yml: environment gate RETAINED. Adds only an additive, unconditional audit-log step (detective control that supplements the required-reviewer gate). The fail-open Slack step from the first revision was removed.tests/:test_ws3_dispatch_invoker.py(new);test_apply_verify_workflow_hardening.pykeeps the MANDATORY-INVARIANT assertion (env must be present) + asserts the audit step is retained.Behavior: the dispatch node fires
workflow_dispatch; GitHub then pauses at theagent-applyenvironment until the human reviewer (amoussa1229) approves. Auto-dispatch up to the approval, then one click — the preventive human gate is preserved.Why reworked
The original revision removed the environment gate and replaced it with detective controls (Slack notice that fails open + audit log). The mandatory GPT-4.1 cross-family review BLOCKED that as trading a preventive boundary for after-the-fact signals. This revision keeps the gate and drops the fail-open control.
CI
ruff check/ruff format --checkclean · hardening + WS3 suites pass (59 tests).OUTSTANDING (attended)
dispatch_node_wiringis still inert (defaultNone); wiring it live inrun-team.py serveis a separate, gated step🤖 Reworked with Claude Code