EpistasisLab / EpistasisLab/motoro

Port supervisor/delegation coordination pattern from ARES

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
0
Forks
0
Avg merge
2m
Merged PRs (30d)
3

Description

## Context

ASAREE's factorial experiments currently vary a single agent's config per
run via `create_run(..., model_config_overrides=..., pattern_overrides=...)`
(runner.py) — one agent role, retargeted per cell by shallow-merging an
override dict onto its stored `model_config_data` at execute time. That's
sufficient for factors like model/effort/tier on one agent (the
spinal_surgery use case), and it isn't a one-off: it mirrors an idiom ARES's
own supervisor pattern already applies one level down, per delegated
sub-task rather than per top-level run.

That supervisor/delegation layer has not been ported to agentic-core:

- `ares/engine/patterns/builtin/supervisor_architecture.py` —
`DelegatingCoordinatorPlugin`, real multi-agent delegation via
`delegate_task`/`get_task`
- `ares/schemas/patterns/supervisor.py` — `SupervisorSubTask` (per-sub-task
`target_agent_id`, `pattern_overrides`, `model_config_override`,
`dependencies` for prior-result injection)
- `ares/schemas/delegation.py` — `DelegateTaskRequest`
- the `delegated_task` model/service backing `delegate_task`/`get_task`

See `ares/backend/tests/engine/test_supervisor_override_propagation.py` for
the existing, tested per-sub-task override propagation this would need to
preserve.

## Why this matters for ASAREE

Today a factorial factor can only be "which model/effort/pattern does this
one agent use." If a future experiment's factors are about *team
composition* — e.g. "solo agent" vs. "supervisor + N workers," or "does a
critic participate" — that requires a real coordination pattern with
per-worker overrides, not just a per-run override on one agent. This is the
natural extension of the same mechanism, applied to a team instead of a
single agent.

## Scope (not yet designed in detail)

- Port the supervisor/delegation pattern's engine code into agentic-core
(patterns catalog, delegation service, delegated-task persistence)
- Preserve per-sub-task `pattern_overrides`/`model_config_override`
propagation to worker agents
- Decide whether this becomes a first-class ASAREE-native coordination
pattern (vs. staying notebook-orchestrated) — this was explicitly deferred
in `ARES/project_plan/core_asaree_use_case.md` §10 as a follow-up study
after the initial spinal_surgery publication, not a blocker for it

## Non-goals for now

Nothing in the current spinal_surgery use case depends on this — it's
single-agent, so `model_config_overrides`/`pattern_overrides` on
`create_run` already covers it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading runner.py and the deferred discussion in ARES/project_plan/core_asaree_use_case.md §10, then compare ARES's supervisor_architecture.py, supervisor.py, delegation.py, and delegated_task service/model. Run a focused review of ares/backend/tests/engine/test_supervisor_override_propagation.py. Done means agentic-core has the agreed supervisor/delegation implementation, persistence, and preserved per-sub-task override behavior, with the ASAREE integration decision documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.