Commit graph

1 commit

Author SHA1 Message Date
Claude
80c04fc487
feat(ws3): add default_dispatch_node_factory + 25-test dispatch_invoker suite
- Add default_dispatch_node_factory() to coordinator.py: reads
  AGENT_TEAM_REPO_OWNER / AGENT_TEAM_REPO_NAME / AGENT_TEAM_BASE_BRANCH
  from env; fails closed (RuntimeError) if required vars absent; delegates
  to make_dispatch_node with owner/repo fixed at factory time. Added to __all__.
- Add tests/test_ws3_dispatch_invoker.py (25 tests): make_dispatch_node
  happy path + fail-closed paths (missing thread_id/diff/scope/plan, DispatcherError,
  unexpected exception); owner/repo injection from factory args; scope list
  flattening; DispatchNodeFactory export; graph DISPATCH_NODE constant;
  build_graph ValueError when dispatch_node given without build_verify; env-var
  binding for default_dispatch_node_factory; Coordinator.dispatch_node_wiring
  seam (ValueError when wired without build_verify_wiring).

All 1069 tests pass; ruff clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155wSD9kKFjnTMNNsDT3tiW
2026-06-23 01:40:32 +00:00