Skip to content

park mode costs a full agent turn every ~110s during idle standby; want event-driven / long-timeout park #50

Description

@mostlydev

Problem

tt wait --park (passive standby) returns after the normal wait timeout (~110s) with not_yet, which forces the agent harness to fully re-invoke the model just to re-arm the park. During a legitimate long idle standby — e.g. the shared task is done but the agent is under a "do not stop listening" directive — this means a full agent turn is spent every ~110 seconds, indefinitely, purely to call tt wait --park again.

For an LLM harness this is expensive: each re-invocation re-reads context (and, past the provider's prompt-cache TTL, re-reads it uncached). Over an hour that is ~32 wasted turns that produce no work and observe no event.

Why existing issues don't cover this

Proposed direction (open to debate)

  • A much longer (or configurable) park timeout, e.g. tt wait --park --timeout 1800, so an idle standby agent re-invokes every 20–30 min instead of every ~110s.
  • Or an event-driven park that blocks until an actual event (turn pass, assignment, message, takeover-available, room close) and only otherwise returns on a long ceiling — i.e. park returns because something happened, not because a short timer fired. (tt events --follow already streams events; park could share that wakeup source.)
  • Bonus: in a closed/terminal room (see the companion "terminal room state" issue), park should return closed immediately and stop re-arming.

Why it matters

"Keep coordinating while idle" should not cost a model turn every ~110s. Cheap, event-driven idling makes long-lived standby (the common state between bursts of work) practical instead of wasteful.


Filed from a paired Claude+Codex dogfooding session. Related to the companion "terminal room state" proposal.

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