The agents
Tharas does not run a single agent repeatedly. Work is handed between roles with a defined job each, and every hand-off is a structured, schema-enforced output rather than prose parsed after the fact.
The six that build#
Work moves left to right. Each hand-off is a structured output, not a paragraph the next role has to interpret.
- 01ArchitectObjective to task graph
- 02EngineerBuilds one task, jailed
- 03QAShip or no-ship on the diff
- 04ForgeMerges, runs, boots the app
- 05MedicEnvironment failures
- 06CuratorWhat is live, what is dead
One pattern, every agent#
Each agent is a narrow-purpose system prompt driving a forced tool call. The output is structured, the schema is enforced by the API, and nothing is a freeform paragraph that some regular expression has to interpret later.
That single decision is why hand-offs between roles are reliable. An agent cannot return something the next stage does not understand.
Who does what#
| Agent | Job |
|---|---|
| Architect | Turns an objective, the repository manifest and warm memory into a task graph with scopes, dependencies and acceptance criteria |
| Engineer | Builds one task inside its own jailed worktree, with a bounded tool set |
| QA | The ship or no-ship judgement on a diff, after every deterministic gate has already run |
| Forge | Merges task branches, probes cross-task contracts, runs every service’s suite, then starts the app and hits its routes |
| Supervisor | Adjudicates a QA loop that has stagnated — the same defect twice, or a third attempt |
| Medic | Environment and preflight failures. A deterministic table first, a model only when the table has no match |
| Curator | Computes which surfaces of the repository are active and which are deprecated |
| Resolution strategist | Turns evidence and a hypothesis into ranked, risk-and-cost-weighted repair strategies |
Your office#
The roster above is a set of templates. Your office instantiates them into an actual team, created during onboarding.
Six of them are the build pipeline and cannot be benched. The optional ones can be — and that gates their ambient behaviour, not your direct orders. If you ask for something explicitly, it runs.
Common questions
Is this just one model called repeatedly?
No. Roles are distinct, each with its own charter and output contract, and routing may serve different roles from different capability tiers.
Can I turn agents off?
The optional ones, yes — which stops them acting on their own. The six that make up the build pipeline cannot be disabled.