Premia
Core concepts

The pipeline

The default agent flow, its branches, and its revision loop.

Every project ships with a default pipeline — a graph of agent steps with conditions on the edges. The default flow is:

Planner → Developer → Reviewer → QA → Requirements → Merger (end)

With branches back to the Reviser:

  • Reviewer approves → continue to QA; requests changes → Reviser.
  • QA passes → continue; fails → Reviser.
  • Requirements met → merge; not met → Reviser.
  • Reviser applies fixes and loops back to the Reviewer (up to a max, then escalates).

The steps

StepAgentWhat it does
PlannerplanBreaks the ticket into per-repo tasks.
DeveloperexecuteWrites code and opens a PR (Claude Code, or Codex on OpenAI models).
ReviewerreviewCode review — approves or requests changes.
QAqaRuns your configured tests/build; pass or fail.
RequirementsrequirementsChecks the PR actually solves the ticket.
ReviserreviseApplies review/QA/requirements feedback, loops back.
MergermergeMerges the PR (the end state; auto-merge is off by default).
RebaserrebaseResolves conflicts when the branch gets new commits.

Triggers

Events from your repo drive steps directly. By default:

  • branch pushed → Rebaser
  • PR comment → Reviser (address the comment)
  • CI check failed → Reviser (fix what your CI is complaining about)

Reacting to your CI

Premia's own QA step runs your tests, but your repo's checks are separate — and they're the ones that decide whether a PR is mergeable. When a check run, check suite, or workflow fails on a PR an agent opened, the failure is attached to the run and the reviser goes to work on it, the same way it handles a review comment.

Failures are coalesced: several checks going red at once produce one revise pass, not one per check. That pass respects your revision budget and spend cap, so a persistently red build can't loop forever.

The practical effect is that a PR reaching you has already survived your CI, not just ours.

Customizing it

The pipeline is fully editable in the visual pipeline editor — add steps, rewire branches, change the loop, and wire triggers. You can also manage it as code with the CLI.

On this page