Skip to content

Child Runs and Spec runs in the Command record #769

Closed

Description

@JacobStephens2

Parent

#711

What to build

The Command record covers child Runs and Spec runs, and thirdshift status shows the whole tree a Command started.

  • Child Runs. Each Ticket's Run in a Spec run, and each Base fix, writes its own child record beside its Command's record, named for its issue. No two processes write the same file. A child record has the same stages and liveness check as a Run's.

  • Spec runs. A Spec run records every Ticket in the Spec, with its state:

    • running;
    • merged into the Spec branch;
    • failed;
    • waiting on named blockers;
    • not started.

    It also records its own stages: Tickets, Spec review, then the Delivery stages for its Spec PR.

  • Pickup runs. A Pickup run records the Spec run or Run it dispatched.

  • status, text and --json, nests the tree. A Pickup run sits over its Spec run, which sits over each Ticket, with its Run's stage and age when it's running. A Base fix sits under the Run that started it.

Acceptance criteria

  • A Pickup run that dispatched a Spec run with three Tickets shows in status as one tree. One Ticket is running with its stage and age, one is waiting with its blocker named, and one is merged.
  • Tickets not yet started are listed as not started.
  • Two Ticket Runs running at once each keep their own record, and both appear.
  • A Base fix appears under the Run that started it, with its stage.
  • A Ticket's Run killed with kill -9 shows as died at its stage under its Spec run.
  • status --json carries the same tree, documented in the README.
  • End-to-end tests with the existing fakes, building on the Spec run tests, and recorder tests for concurrent child writes.

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