01 / The operating thesis

Chicago Build Loop

Four writers race. Codex reviews. Erlich picks the first clean PR. Jason says yes.

Architecture for Iterate Consulting · design only · HOLD live.

01

Frame the ask.

Erlich routes the brief.
Dinesh designs when needed.
Jason locks the plates.

02 / Jian-Yang fans out

Cursor cloudbranch 01
pi / terra-gptbranch 02
Antigravitybranch 03
Grok Buildbranch 04
03

Review all.

Codex reviews each PR
when open.
Review-only.

04

Pick one.

Erlich takes the first
clean PR. Closes the
other three.

05

Explicit yes.

Jason authorizes merge.
Gilfoyle deploys if needed,
with Jason’s yes.

One brief → four independent branches One clean ship PR → human approval
Erlich · Chicago PM / PR router Dinesh · design-only Jian-Yang · coding owner Codex · review-only Gilfoyle · deploy / infra Jason · explicit yes before merge/deploy

02 / End-to-end architecture

One loop. Clear ownership.

Design when needed. Race in parallel.
Converge before anything ships.

Define & lock01–02
Build & review03–04
Select & authorize05–06
01

Ask lands
at Erlich.

Chicago PM receives the ask and routes the work.

Entry / brief
02

UI needs
design?

Dinesh → Open Design / Astra plates → Jason locks plates.
No UI design needed? Continue.

Conditional / design-only
03

Four writers.
Concurrent.

Jian-Yang starts FOUR writers on separate branches.

Fan-out / 4 branches
04

Every PR
gets reviewed.

Codex reviews each PR when open. All four enter the review lane.

Review-only / every PR
05

First clean
PR wins.

Erlich picks the first clean PR; closes the other three.

Converge / one ship PR
06

Jason yes.
Then merge.

Gilfoyle deploys if needed. Jason’s explicit yes is required before merge/deploy.

Human gate / no auto-ship

Next brief lands at Erlich · the loop continues

  1. 01

    Ask lands at Erlich

    Chicago PM / PR router

  2. 02

    UI needs design? design-only

    Dinesh → Open Design / Astra plates.
    Jason locks plates. Otherwise, continue.

  3. 03

    Jian-Yang starts FOUR writers

    Coding owner · concurrent, separate branches

    Cursor cloud pi / terra-gpt Antigravity Grok Build
  4. 04

    Codex reviews each PR review-only

    When open. All four get reviewed.

  5. 05

    Erlich picks the first clean PR

    Closes the other three. Empty CI / billing skips are not “clean”.

  6. 06

    Jason yes → merge

    Gilfoyle · deploy / infra · deploys if needed.
    Jason: explicit yes before merge/deploy.

The loop / 6 steps 4 branches → 1 ship PR
Fastest is not enough. First clean is the selection rule. Empty CI / billing skips ≠ clean
ErlichChicago PM / PR router
Dineshdesign-only
Jian-Yangcoding owner
Codexreview-only
Gilfoyledeploy / infra
Jasonexplicit yes before merge/deploy

03 / Writer topology

Four lanes. One finish.

Concurrent by design, isolated by branch.
Harness and model assignments stay explicit.

Jian-Yang · coding owner · starts FOUR concurrent writers
01Concurrent writer

Cursor cloud

Harness + model

Cursor cloud agents (account default model)

Separate branch 01PR → Codex
02Concurrent writer

pi / terra-gpt

Harness + model

pi CLI with terra/gpt Also configurable for Astra · gpt-6-astra via openai-codex on popstarr

Separate branch 02PR → Codex
03Concurrent writer

Antigravity

Harness + model

Antigravity CLI (agy); Google AI Pro

Separate branch 03PR → Codex
04Concurrent writer

Grok Build

Harness + model

Grok Build on SuperGrok bucket

Separate branch 04PR → Codex
Codex reviews allWhen each PR opens
Erlich picks first cleanCloses other three
Jason gives explicit yesBefore merge/deploy
Race rules separate branches first clean wins one ship PR after pick Codex on all overflow not default no merge without Jason yes

04 / Redundancy & failover

A stalled lane isn’t a stalled loop.

Keep the race moving.
Never weaken the clean-PR gate.

01 / EXECUTION

Writer resilience

One unavailable.
Three still racing.

Erlich · Chicago PM / PR router Illustrative outage — the same rule applies to any writer
Cursor cloudUsage limit / offline
pi / terra-gptKeeps racing
AntigravityKeeps racing
Grok BuildKeeps racing
If one writer hits a usage limit or is offline, the other three keep racing. Separate branches remain isolated.
02 / QUALITY

Same ship gate

Availability is not
evidence of quality.

Codex reviews each open PR

Review-only. No writer bypass.

Erlich picks first clean

Empty CI / billing skips are not “clean”.

Jason’s explicit yes

Required before merge/deploy.

03 / HANDOFF

Grok Bot usage

Leftover-work path.
Separate from the race.

~80%Grok Bot usage

Leftover handoff · Erlich routes · no on-demand burn

StarrClaw / popstarr / Neo

Existing leftover path

Dallas · Grok Bot sub 2

Overflow

Florida · Hermes

Alternate overflow when named

Routing owner: Erlich. Coding owner: Jian-Yang. Threshold shown is a policy marker, not live telemetry.

05 / Cross-desk load balance

More capacity. Not another bot.

A CoS-to-CoS relay through Slack.
Chicago stays the default race. Dallas is overflow. Florida / Hermes is alternate overflow when named.

Chicago

Default race

Four locked writers. Unchanged.

Dallas

Overflow

Grok Bot sub 2 · leftover handoff and desk overflow.

Florida

Hermes

Alternate overflow when named. Not default.

Route to Dallas when Chicago capacity is tight OR The job fits Dallas full-stack · e.g. Bolton on pi

Chicago

Origin desk
01

Chicago CoS

Recognizes the capacity constraint or Dallas fit. Relays the brief to Dallas CoS in the Slack room.

Brief relay / desk coordination

Local four-writer loop remains the default

Slack bridge

Shared coordination room
02

Chicago CoS ↔ Dallas CoS

#iterate-ord-dfw-rsw-cos Relay the brief here · CoS-to-CoS bridge

CoS mirrors also use
#iterate-chicago-dallas-cos

A desk handoff, not a second Chicago coder bot

Dallas

Overflow desk
03

Dallas CoS

Receives the relayed brief for Dallas full-stack work. Coordinates the Dallas-side desk response.

Full-stack fit / e.g. Bolton on pi

Additional desk capacity, outside the default race

grok-desk CURRENT.md

Remains the week notebook handshake.

Chicago CoS ↔ Dallas CoS

Slack carries the relay.

The notebook handshake stays in place.

Overflow path, not default race. Dallas overflow. Florida / Hermes only when named. No second Chicago coder bot. No change to Jason’s merge/deploy approval gate.

07 / Lifecycle arc

From concept to deployment.

Architecture for Iterate Consulting · design only · HOLD live.
Four stages. Clear ownership. No auto-ship.

Skip design if no UI
01

Concept

Ask lands
at Erlich.

Brief framed.
Ready for design
or execution.

Intake / brief

Erlich — Chicago PM / PR router

02

Design

If UI: Dinesh
shapes the plates.

Open Design / Astra
→ Jason locks plates

Design-only lane

Dinesh — design-only

03

Execution

Jian-Yang launches
four concurrent writers.

Separate branches
Cursor cloud · pi/terra-gpt
Antigravity · Grok Build

Codex reviews each PR.
Erlich picks first clean;
closes the other three.

Race detail → plates 02 / 03

Jian-Yang — coding owner · Codex — review-only

04

Deployment

Human approval gate

Jason explicit yes
→ merge

Gilfoyle deploys if needed.

No auto-ship

Jason — explicit yes · Gilfoyle — deploy / infra

One lifecycle / explicit handoffs

Frame the ask. Lock the design. Race the build. Ship only with a human yes.