Skip to content

agent_synthesis team strategy records a deviations marker only — no synthesis agent is dispatched #104

Description

@DaveGerson

Severity: medium · Area: engine / team execution

Capability: SynthesisSpec.strategy = 'agent_synthesis' is supposed to dispatch a synthesis agent to combine team-member outputs after a team step completes.

Documented claim: docs/design-decisions.md previously stated "agent_synthesis (dispatch a synthesis agent to combine outputs)" without a deferral caveat. agent_baton/models/execution.py docstring says "dispatch a synthesis agent to combine outputs." (docs/engine-and-runtime.md already said "(future)".)

Actual state: agent_baton/core/engine/executor.py:5142-5146 only appends a marker string to parent.deviations and sets parent.files_changed. No agent is dispatched, no DISPATCH/INTERACT action is emitted. The internal docstring at executor.py:5117-5120 admits: "the synthesis agent dispatch is deferred to Phase 3.3 (INTERACT action type) which requires invariant changes."

Why it is a stub: Phase 3.3 is unimplemented; _merge_team_member_results() silently falls through with only a marker when agent_synthesis is selected, giving callers concatenate-like behavior.

Suggested fix: Either implement Phase 3.3 (emit a DISPATCH for the synthesis agent after team-member results merge, passing combined context as the delegation prompt), or raise a validation error when a plan is saved with strategy='agent_synthesis' until the feature ships — so callers are not silently downgraded.

Evidence: agent_baton/core/engine/executor.py:5117-5146.


🤖 Filed from the capability-vs-docs audit (HEAD 12999f2). docs/design-decisions.md already updated to mark dispatch as deferred.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions