Skip to content

feat: increase default chat execution timeout from 15m to 60m #665

Description

@vybe

Summary

The default execution timeout for chat is currently 900 seconds (15 minutes), set via `agent_ownership.execution_timeout_seconds`. Many real-world agent tasks — long research runs, multi-step code generation, batch processing — routinely exceed this, causing silent failures that look like success to the user until they notice the truncated output.

Raising the default to 3600 seconds (60 minutes) aligns with the upper bound of what agents are expected to do autonomously and removes a common friction point for new users who haven't yet discovered the per-agent timeout setting.

Context

  • Schema: `agent_ownership.execution_timeout_seconds INTEGER DEFAULT 900`
  • API: `GET/PUT /api/agents/{name}/timeout` (range: 60–7200s)
  • Existing per-agent override is correct and should remain; this changes only the default for newly created agents
  • Surfaces in both chat (`/chat`) and scheduled task execution paths — both read from the same column

Acceptance Criteria

  • `agent_ownership.execution_timeout_seconds` column default updated from `900` to `3600` in `db/schema.py`
  • Migration in `db/migrations.py` that updates existing rows where `execution_timeout_seconds = 900` (i.e., still at the old default, never explicitly set by a user)
  • `PUT /api/agents/{name}/timeout` validation range unchanged (60–7200s)
  • UI timeout picker in Agent Settings reflects the new default for newly created agents
  • Existing agents with a user-set timeout (≠ 900) are unaffected by the migration

Technical Notes

  • Schema default change: `src/backend/db/schema.py` — update `DEFAULT 900` → `DEFAULT 3600`
  • Migration target: `src/backend/db/migrations.py` — `UPDATE agent_ownership SET execution_timeout_seconds = 3600 WHERE execution_timeout_seconds = 900`
  • No API surface change needed — range 60–7200 already covers 3600

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions