TIGERTEAM

TigerTeam

Big builds.
Aligned agents.
No babysitting.

Tiger Team puts a frontier-model PM in charge of a fleet of cheap coding agents — every ticket graded, routed and verified, so big builds land without the frontier token bill, and without anyone watching the queue.

A pack of tigers rendered as amber ASCII glyphs, running toward a bright point of light.
38
Tickets · 37 merged
on first pass
≈4 h
Total model compute
for a whole product
2
Sittings, door to door
evening + afternoon

Case evidence: ASCII City — a real product shipped with TigerTeam · Aug 2026

The problem

Flat pricing for lumpy work

One-agent builds have no seam: a frontier model chasing a lint error bills at the rate it charged for the architecture decision an hour earlier — and when the context fills, the plan goes with it.

Route everything to a frontier model

Routine C1/C2 work burns premium tokens. Finance sees the invoice at the end of the month — and no way to explain it.

Route everything to a cheap model

The hard tickets come back as rework, review load, and quiet defects. Engineering pays for it in the incident channel.

38 real tickets — one shipped product

C1 Simple ×12C2 Standard ×25C3 Hard ×1

Most of a backlog is routine. A thin sliver carries all the judgment — and single-model routing makes you overpay at both ends.

Difficulty has a distribution. Your spend should follow it.

The mechanism

A routing machine with a guarded gate

01

You — direction + consent

02

PM — frontier model

Plans the build · turns C3 problems into C2 tickets · reviews, arbitrates, merges.

03

Ticket board

A lane may claim a ticket only up to its complexity cap.

04

Worker fleet — 6 containers in parallel

DeepSeek V4 Flash
Cap ≤ C2 — volume
Grok
Cap ≤ C2 — mid
Claude Opus
C3 + integration — judgment

Each worker: own git worktree + fresh container
codex · grok · deepseek · GLM · kimi · gemini · …

05

PM gate

Accept / reject / answer — always through guards · no auto-accept, no merge on green.

06

Main

Stays green.

Failure paths — designed up front

Worker stuck → incomplete report → re-queued. Happened 4× — cost minutes, not rework.

A lane that fast-fails twice stops itself.

Per-ticket timeout. No runaway meters.

The wrapper routes; it never decides — a green test suite is not consent to merge.

Proof — routing

87% of the work never touched a frontier model

87%

of 38 shipped tickets were built by low-cost models — 22 by DeepSeek V4 Flash, 11 by Grok.

DeepSeek V4 Flash
22
Grok
11
Claude Opus
5

Share of 38 tickets — DeepSeek 58% · Grok 29% · Opus 13%

Ticket mix by complexity grade

C1 Simple ×12C2 Standard ×25C3 ×1

The single C3 ticket — the integration step, where all the judgment lived — went to the frontier model. It never saw a ticket below its pay grade.

Source: .tigerteam/logs/attempts.jsonl + git log — ASCII City repo, 2026-08-23 → 2026-08-24

Case study — shipped with TigerTeam

ASCII City: empty repo to 60 fps in two sittings

A first-person night view of London rendered entirely in coloured ASCII glyphs: lit towers, a wet road, neon signage.
Illustrative render in the app’s style — first-person London as coloured ASCII glyphs · real OSM data · Vite + three.js · GitHub Pages
60 fps
GPU glyph shader
213×60 cells · RTX 3090
9,061
Real OSM buildings
+ 7,803 roads
150
Commits · 43 merges
~8K lines of source
262
Unit tests + e2e
all green
≈4 h
Total worker compute
across 49 attempts
~6 h
PM time, two sittings
reading diffs + gates

Wall clock

Waves 1–3
30 tickets · 23:55 → 02:45
Wave 4
8 tickets · 12:30 → 15:05 next day

Proof — quality

49 attempts in. 37 clean merges out.

Worker attempts
49
Landed in review
39
Accepted
38
On first pass
37
37/38

First-pass acceptance
across 38 boarded tickets

This acceptance rate at this speed comes from the gate: a merge happened only after the PM re-ran the tests inside the worker’s own container.

  • ↳ 4 × incomplete self-reports → re-queued — cost minutes, not rework
  • ↳ 6 × killed by PM — staging incident, ~105 s each · strike-free restart
  • ↳ 1 rework — a spec bug on the PM side (T-0034), not a model error
150 commits · 43 merges262 unit tests + e2e smokeAll green at every merge

Source: .tigerteam/logs/attempts.jsonl + board/done — ASCII City repo, 2026-08-23 → 2026-08-24

The guardrails

The guardrails are the speed

Four mechanisms keep the fleet safe at full throttle — no babysitting required.

Isolation

Every ticket runs in its own git worktree, on its own branch, inside its own container. Nothing touches main by default.

Blast radius: one ticket.
→ CTO

Verification

Acceptance criteria are runnable commands, not adjectives. Accepts and the full suite run in a dedicated staging worktree — main only ever fast-forwards from a verified staging.

Quality is enforced, not trusted.
→ CTO

Failure

A stuck worker hands off with an INCOMPLETE report instead of thrashing. A lane that fast-fails twice stops itself. Every ticket has a timeout.

Failures cost minutes, not sprints.
→ CFO

Recovery

The board is durable state, not a session: STATE.md is the cold-start checkpoint, the event cursor queues while no PM is attached. Staging broke on merge #1: six workers killed, fixed, relaunched in ten minutes. Strike-free.

Incidents don’t compound.
→ CTO+CFO

The economics

Cost control is built into the routing

Complexity caps

Frontier models only see tickets the cheap lanes may not claim — and the PM’s central move is turning a C3 problem into a C2 ticket by locking the decision into the ticket text.

Per-ticket timeouts

Every attempt has a hard ceiling. The median ticket landed in 4.8 minutes; the longest took 12.9.

Self-stopping lanes

Two fast failures and a lane parks itself instead of burning budget on a doomed approach.

Honest handoffs

A worker that cannot finish reports INCOMPLETE and re-queues — 4 handoffs in practice, each costing minutes.

What a whole product cost in time

Worker compute — all 49 attempts239 min
PM time — two sittings≈360 min
Door-to-door — one evening + one afternoon≈15 h

6 containers × 2 CPU on a 12-core host — commodity hardware

No dollar figure was logged: two of the three models ran on flat subscriptions, only one was metered. The caps did the controlling — spend was shaped before it happened, not explained after.

Source: .tigerteam logs + DeepInfra-metered model only — ASCII City repo, 2026-08-23 → 2026-08-24

What this means for you

For the CTO

  • Judgment stays with the PM — no auto-accept, no merge on green. Main only fast-forwards from a verified staging.

  • One audit log for every mutation — yours, the PM’s, the fleet’s. Runs in your own Azure VNet, no public ingress.

  • Quality at volume: 37 of 38 tickets accepted on first pass, 262 unit tests and an e2e suite green.

  • The board is durable state, not a session — a dead session or an ephemeral PM is a non-event by design.

For the CFO

  • Spend follows difficulty: 87% of tickets went to low-cost models; premium tokens bought judgment only.

  • A whole shipped product cost ≈4 h of model compute, on commodity hardware.

  • Failure is cheap by design — handoffs and self-stopping lanes cost minutes, not sprints.

  • No babysitting: the board nudges the PM when tickets wait — review and answer from a phone.

The leverage lives in the tickets —
the model is interchangeable.

TigerTeam · Evidence: ASCII City repo logs (.tigerteam/, git) · 2026-08-23 → 24

Early access

Join the waiting list

TigerTeam is opening to a small group of teams running big builds. Leave an email and we’ll be in touch when a slot frees up.

No spam. One note when it opens up.