Spec ambiguity: composite agent output routing field is optional but required by processing logic #5

Open
opened 2026-05-27 05:24:25 +00:00 by hurui200320 · 0 comments
Member

Problem

In §4.6.2, the routing schema shows input as REQUIRED but output with no required marker:

routing:
  input:
    type: <agent|graph|stream>  # REQUIRED
    name: <component_name>      # REQUIRED
  output:
    type: <agent|graph|stream>
    name: <component_name>

However, step 4 of the composite agent's processing logic states:

  1. Collect the output from the output component.

If output is absent, the behavior is undefined. Should the composite agent:

  • Return the output of the input component directly?
  • Raise a ConfigurationError at load time?
  • Return an empty result?
  • Use the last component in the internal flow as the output?

Impact on Library Implementation

Validation code cannot decide whether to accept or reject a composite agent config missing output. Runtime code cannot know what value to return if output is absent but processing completes.

Decision Needed

Either mark output as REQUIRED in the schema table, or explicitly specify the fallback behavior when it is absent (e.g., "if output is absent, the composite agent returns the result of the input component").

References

  • §4.6.2 — Routing (composite agent)
  • §4.6 — Composite Agents
## Problem In §4.6.2, the `routing` schema shows `input` as REQUIRED but `output` with no required marker: ```yaml routing: input: type: <agent|graph|stream> # REQUIRED name: <component_name> # REQUIRED output: type: <agent|graph|stream> name: <component_name> ``` However, step 4 of the composite agent's processing logic states: > 4. Collect the output from the output component. If `output` is absent, the behavior is undefined. Should the composite agent: - Return the output of the `input` component directly? - Raise a `ConfigurationError` at load time? - Return an empty result? - Use the last component in the internal flow as the output? ## Impact on Library Implementation Validation code cannot decide whether to accept or reject a composite agent config missing `output`. Runtime code cannot know what value to return if `output` is absent but processing completes. ## Decision Needed Either mark `output` as REQUIRED in the schema table, or explicitly specify the fallback behavior when it is absent (e.g., "if `output` is absent, the composite agent returns the result of the `input` component"). ## References - §4.6.2 — Routing (composite agent) - §4.6 — Composite Agents
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/actors-spec#5
No description provided.