Skip to Content
PipelineOverview

Pipeline Overview

The ShipCode pipeline is a state machine that processes GitHub issues through multiple phases.

Phases

PhaseDefault modelDescription
PlanClaude (Fable 5 default)Rewrites issue into spec + structured plan
ReviewCodex (high reasoning) — set during onboardingAdversarial critique during configured revision rounds
ExecuteRouted per shipcode:agent:* label (claude / codex / openrouter) — configurable in SettingsImplements in isolated git worktree
Test / Runtime QARepo setup contract + generated QARuns setup, test commands, browser/runtime QA, and optional visual QA evidence
VerifyClaude (Fable 5 default) — set during onboardingChecks diff, test output, runtime QA evidence, and acceptance criteria
Shipgh CLIPush branch, create PR, link to issue

All four phase defaults can be changed after onboarding from the desktop Settings → Pipeline panel. Project and issue overrides can further replace those defaults per repository or per issue. See Models for the complete provider matrix, pinned defaults, presets, aliases, and reasoning-effort rules.

State Machine

Backlog → Planning → Reviewing ⇄ Revising → (Approval) → Executing → Testing → Verifying → Shipping → Completed ↘ Failed
  • Approval is skipped unless the effective approval setting for that run requires it. Approval inherits app defaults first, then project overrides, then issue overrides.
  • Kanban/list cards surface that effective gate with an Approval badge, and Inbox can filter directly to approval-gated work with Needs approval.
  • After a run is approved, it can still wait for an execution slot if that project’s runtime capacity is full. The board shows that as Waiting even though the internal pipeline phase remains approval.
  • Revising loops back to Reviewing up to the configured revision count. New installs default to 0, which skips plan review for the fastest first run.
  • Testing runs configured verification commands, runtime QA server checks, browser/E2E commands, and generated visual QA when available.
  • Shipping runs after Verifying and uses gh CLI to push the branch, open the PR, and link it back to the issue.
  • Any phase can transition to Failed on error.

Task Graphs and QA State

Large plans can be split into a task graph. The graph is persisted, shown in Issue Detail, and can execute node-by-node with specialist prompts when the planner determines that decomposition is safer than one direct execution pass.

Feature PRDs can also include a ## QA State block. During verification, ShipCode extracts that contract and records runtime/visual QA results alongside test output so the verifier has concrete evidence instead of only reading the diff.

The exact phase enum lives in packages/shared/src/types.ts as the ThreadStatus and PipelinePhase unions.

Autonomous Mode

When triggered by a GitHub issue label, the pipeline runs without human intervention until a PR is created unless the effective approval setting introduces a human gate before execution.

Last updated on