How Catalyst runs a ticket
Catalyst treats a Linear ticket as a small project and carries it from an idea to a merged pull request. You move a ticket into your team’s Todo state. Catalyst does the rest, and asks you only when a decision is yours.
The stages
Section titled “The stages”Each stage is one agent session with one job and one output. The ticket’s Linear state moves as the stages complete, so the board always shows the stage that is still ahead of it.
| Stage | What the agent does | What it leaves behind |
|---|---|---|
| Intake | Reads the ticket and classifies it: what kind of work it is, how big, which repository. | An intake note on the ticket. |
| Research | Reads the code that the ticket touches and writes down how it works today, with file and line references. | A research document in your thoughts repository and a link on the ticket. |
| Plan | Turns the research into an implementation plan with phases, tests first, and acceptance criteria. | A plan document, linked from the ticket. |
| Implement | Writes the code and the tests in a branch named after the ticket, keeps the build green, and opens a draft pull request. | Commits on the ticket branch and a draft pull request. |
| Validate | Reviews the change as a fresh reader: plan conformance, type safety, a code review, a security review and a dependency audit. It records verdicts. It does not fix. | A validation report on the ticket. |
| PR | Writes the pull request description from what was built and marks it ready for review. | A pull request ready for your reviewers. |
| Remediate | Runs whenever something needs fixing after the fact: a failed validation, a review comment, a red check, a conflict with main. It fixes what was named and resolves the threads it answered. | A new commit and replies on the review threads. |
| Merge | Follows your repository’s own branch protection and merge settings. | A merged pull request, and the ticket moves to Done. |
What happens when something needs you
Section titled “What happens when something needs you”An agent may not take every decision. When it reaches one it is not allowed to make on its own, it files the decision as a ticket that blocks the work, with the question, the options, and what happens if nobody answers. Those tickets are collected in Waiting on me in the web app. Answer there, and the blocked ticket picks up where it stopped.
Two other things can pause a ticket. A validation and repair loop that keeps finding new problems without converging stops after four rounds and waits for a person. A stage that keeps failing stops with one comment on the ticket, instead of spending your account’s capacity on retries.
Where to watch
Section titled “Where to watch”- The ticket page shows the stage the ticket is in, the documents each stage produced, the pull request, and an execution report.
- Agent work, a tab on the ticket page, shows each agent run as it happens and afterwards.
- Cloud Activity shows what is running across your account right now.
- Waiting on me lists every decision that is yours.
What runs the agents
Section titled “What runs the agents”Each stage runs on a coding account you add to Catalyst: Claude or Codex. You choose which account and model run each stage, and Catalyst meters what each stage costs. Everything an agent writes lands on the ticket and in your thoughts repository, so a person reading the ticket a month later finds the research, the plan, the validation report and the decisions in one place.