Skip to content

Watcher pause cadence resets when a live paused pane redraws #2913

Description

@withally

Problem

A crew with a current paused: or verified captain-held status can re-enter the normal stale-wake cadence whenever its pane hash changes.

pause_state_class re-reads backend liveness on every evaluation. For a live agent it returns none; the caller then clears pause tracking, including the long-cadence marker and throttle. The next stable pane hash consequently surfaces another bare stale: wake even though the declared wait never changed.

Expected behavior

The liveness check should be one-shot per declared wait. After the initial inspection, the declaration should retain the bounded pause cadence across pane redraws, declaring status appends, watcher restarts, and a live agent. A new needs-decision:, blocked:, or done: line must still wake immediately.

Existing fix

We carry a focused fix in withally/firstmate@c735ec1, merged in the fork through PR #67. Its regression reproduces five stale wakes across five churning-pane watcher restarts before the fix and one bounded initial inspection after it, while pinning the captain-relevant wake boundary.

Happy to open that change as a focused upstream PR if wanted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-prTriage: real bug or VISION-aligned feature, open for a PR

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions