Skip to content

Crew pipeline: no way to set different timeouts per step #26

@landigf

Description

@landigf

Problem

When running a multi-agent crew pipeline (like the IMC 8-expert reviewer), different steps have very different execution times. A related-work-expert finishes in 60s, but a meta-reviewer that synthesizes all prior reviews can take 10+ minutes.

Currently, defaultTimeoutMs is set at the runtime level and applies uniformly to all steps. If you set it high enough for the meta-reviewer (600s), every step gets 600s timeout, which means failures take forever to surface. If you set it low (120s), the meta-reviewer times out.

Suggested fix

Allow per-step timeout override in the step builder:

step("meta-review")
  .system("You are an area chair...")
  .prompt("Synthesize all reviews: {reviewer-1} {reviewer-2}...")
  .timeout(600_000) // 10 minutes for this step only

The pipeline executor should use step.timeoutMs ?? runtime.defaultTimeoutMs.

Real-world context

Discovered during the IMC 2026 paper crew review pipeline. The meta-reviewer step timed out repeatedly at 120s default, requiring a global timeout increase to 600s that slowed down failure detection for all other steps.

Labels

enhancement, crew

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