Skip to content

Silent, Slow and the Usual range in status and show #815

Closed

Description

@JacobStephens2

Parent

#776

What to build

thirdshift status and thirdshift show say when a live Run is Silent or Slow, in words, using the glossary's definitions.

  • Silent: a Run in a stage whose Session log and Command log have both stopped growing for inbox.silent_minutes (10 by default). It escalates at three times that: "silent 45 min · past 30".
  • Slow: a Run whose stage has gone past the top of its Usual range while still logging: "slower than usual (12–17 min), still working". It escalates at twice the top: "3× usual".
  • Usual range: the 25th to 75th percentile of that stage's times over the last 30 Command records in the same repository on this machine. It's shown only once there are 3.

If logs.waiting_line_minutes isn't less than inbox.silent_minutes, status warns, and half the silent time is used as the waiting interval.

Acceptance criteria

  • status and show mark a live Run Silent when both its logs have stopped growing for the silent time, and show the escalation step in words.
  • They mark a live Run Slow past the top of its stage's Usual range, with the range shown, and the escalation in words at twice the top.
  • The Usual range comes from the same repository's last 30 Command records, and is omitted with fewer than 3.
  • status --json gives each live Run its health (ok, slow or silent, with the step). show --json gives each stage its Usual range.
  • inbox.silent_minutes defaults to 10.
  • The warning and the fallback interval apply when the waiting line isn't more often than the silent time, and CI watch uses the fallback interval.
  • Tested through the binary, with fixture Command records and logs whose modification times are set in the past.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions