Skip to content

thirdshift show and thirdshift logs, and naming a Command #772

Closed

Description

@JacobStephens2

Parent

#711

What to build

thirdshift show and thirdshift logs work on one Command, named the way a person would name it.

  • Naming a Command:
    • <repo>#<n>, as in chart35#239, with <owner>/ needed only when two repositories on the machine share the name. An ambiguous name is refused, listing the matches.
    • The full Issue URL.
    • For a Pass with no issue, <kind>-<stamp>, as its Command log is named.
    • When several Commands match, the live one is chosen, or else the latest.
    • A Ticket's issue names that Ticket's Run inside its Spec run.
  • thirdshift show <command> [--json] gives one Command in full:
    • its Runs and their stages, with start times;
    • its Command log and Session log paths;
    • its outcome, if it has ended;
    • for a live Run, its latest event in one line (Bash: cargo test), taken from the tail of its current Session log.
  • thirdshift logs <command> prints the Command log. --session <kind> prints that kind's latest Session log as its raw JSON lines, for example implement, spec-review or repair. --follow keeps printing as the log grows, until the Command ends.

Acceptance criteria

  • show chart35#239, show JacobStephens2/chart35#239 and show <issue URL> all show the same live Command.
  • An ambiguous repo#n is refused, naming the matching repositories.
  • An Architect run can be shown by architect-<stamp>.
  • With past and live Commands on one issue, the live one is shown. With only past ones, the latest is.
  • A Ticket's issue shows that Ticket's Run within its Spec run.
  • show prints a live Run's latest event from its Session log, for both Claude and Codex logs.
  • logs --follow prints lines as they're appended and exits when the Command ends.
  • logs --session implement prints the latest implement Session log's lines.
  • show --json is documented in the README.
  • End-to-end tests with the existing fakes.
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