Skip to content

bug: a pulled turn's system prompt states the recorded timeout, not the clamped limit it actually runs under #3321

Closed

Description

@vybe

Summary

services/pull_coordination_service.py::_build_claim_response builds the platform prompt from the queued row's recorded timeout_seconds. claim_next_task only clamps the turn limit to the agent's timeout (#2846) afterwards. So the model is told "Timeout: 1800s — plan to finish well within this budget" but is killed at 600s.

Repro: agent timeout 600, queued row metadata {"timeout_seconds": 1800}, then claim the row.

Context

An operator can lower the agent's timeout while rows are queued (routers/agent_config.py). This breaks the #3114 parity contract, under which the prompt states the timeout the turn actually runs under. Found by the 2026-10-06 /edge-cases sweep.

Acceptance Criteria

  • The timeout in the prompt equals the enforced turn limit.
  • tests/unit/test_ec_pull_coordination_edges.py::TestTurnLimit::test_T14_prompt_timeout_equals_the_enforced_limit passes with its marker removed.

Activity

  1. added
    status-readyGreenlit and ready for development (vetted; counterpart to status-incubating)
    on Oct 7, 2026
  2. vybe commented on Oct 9, 2026

    @vybe
    ContributorAuthor

    Draft PR: #3419 — the pulled prompt states the enforced timeout; reading review MERGEABLE, evidence sweep green. Waits for CI and the operator's merge. (trinity-pm, build-chain run chain-easy-1008)

  3. removed
    status-readyGreenlit and ready for development (vetted; counterpart to status-incubating)
    on Oct 9, 2026
  4. removed
    status-in-devMerged to dev, awaiting release cut to main
    on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions