Skip to content

Address ManagerWorkers review feedback from oracle#211 - #40

Merged
spichen merged 1 commit into
feat/managerworkers-adapterfrom
fix/managerworkers-review-211
Aug 18, 2026
Merged

Address ManagerWorkers review feedback from oracle#211#40
spichen merged 1 commit into
feat/managerworkers-adapterfrom
fix/managerworkers-review-211

Conversation

@spichen

@spichen spichen commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Addresses the review comments from oracle#211.

Changes

  • tests/adapters/conftest.py: removed the allow_llm_config_construction fixture together with the _resolve helper and _REAL_LLM_INITS, plus their usages. The ManagerWorkers tests now skip under SKIP_LLM_TESTS=1 like every other LLM-config test.
  • Delegation tool prefix: renamed delegate_to_ to __delegate_to__ so it cannot collide with a real tool name. Routing is now built per-graph by _make_manager_router(worker_node_names) and only emits a Send when the tool-name suffix is an actual worker node; a real tool that merely matches the prefix is left to the react loop.
  • Test placement: flows/test_managerworkers_node.py merged into the main test_managerworkers.py, since ManagerWorkers is not a Node.
  • I/O contract: per the spec decision, the I/Os of a ManagerWorkers must be the I/Os of its group manager (same name and type). The base ComponentWithIO validators already enforce identical titles; a new _validate_ios_match_group_manager_ios validator enforces identical types, with validation tests for the matching, mismatching, and extra-title cases.
  • Fail early on unsupported output shapes: the single-string-output check for a ManagerWorkers flow step moved from _format_agent_result (runtime) into AgentNodeExecutor.__init__, so conversion (load_component) raises the NotImplementedError before anything runs.

Testing

  • pytest tests/adapters/langgraph/test_managerworkers.py tests/validation/ tests/serialization/test_managerworkers.py — 138 passed
  • SKIP_LLM_TESTS=1 pytest tests/adapters/langgraph/test_managerworkers.py tests/adapters/langgraph/flows/ — 34 passed, 16 skipped
  • black / isort clean on all touched files

- Remove the SKIP_LLM_TESTS opt-out fixture from tests/adapters/conftest.py
  and its usages; the tests now skip like every other LLM-config test.
- Rename the delegation tool prefix to __delegate_to__ so it cannot collide
  with a real tool name, and route a delegation only when its suffix is an
  actual worker node.
- Move flows/test_managerworkers_node.py into the main test_managerworkers.py
  since ManagerWorkers is not a Node.
- Enforce that the I/Os of a ManagerWorkers match the I/Os of its group
  manager (same name and type), per the language spec decision.
- Reject unsupported ManagerWorkers flow-step output shapes when the flow is
  converted instead of when the step runs.
@spichen
spichen merged commit 5fb8842 into feat/managerworkers-adapter Aug 18, 2026
5 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