Skip to content

thirdshift architect base <branch>: an Architect run names its Base branch #246

Closed

Description

@JacobStephens2

Parent

#237

What to build

thirdshift architect base <branch> (or --base <branch>) names the Base branch of an Architect run, so the branch checked out in the Launch directory stops mattering. From a clone on another branch, on a detached HEAD, or with uncommitted changes, the Architecture review's worktree starts at the origin head of the named branch, and the Spec run or Run the Architect run dispatches branches off that branch and targets it with its pull request. Without base, the checked-out branch is the Base branch, as today.

base is a flag of architect only. It is not added to thirdshift <Issue URL>; the dispatched run gets the Base branch as an internal parameter.

Acceptance criteria

  • base <branch> and --base <branch> are accepted by architect, before or after the focus and other flags.
  • base with nothing after it, or given twice, is an argument error (exit 2).
  • From a Launch directory on another branch, and from a detached HEAD, the review's worktree starts at origin/<branch>. The detached-HEAD preflight check is skipped when base is given.
  • A dispatched Run's Issue branch is branched off the named branch and its pull request targets it.
  • A dispatched Spec run's Spec branch is branched off the named branch and its Spec PR targets it.
  • A branch that doesn't exist on origin, or a local copy of it that is ahead of origin, stops the run before any work, with the existing Base branch messages.
  • Launch pull happens only when the named branch is the one checked out.
  • base is accepted together with --plan-only.
  • thirdshift architect without base behaves as before.
  • thirdshift help and the README document base <branch>.
  • End-to-end cases in the Architect run tests and parser unit tests cover the above.

Blocked by

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