8

THE MAP — full site structure, what's chosen, where everything lives (read this first)

One tree = the whole microsite. Each screen links to its wireframe below. Turns 1–7 stay as history; superseded options are marked.

8aSite map — 5 pages, nav order left → right
1 · SPLASH — the numberseveryone2a
live bar → orbit (33 repos → 1) → real phases → stats → 4 product cards. cinematic intro.
2 · ATLAS — home of the refactor ★flagship · everyone + eng
├─Homenews + your duties + live truth6a
├─Inboxdeadline-sorted duties · google login6b3a
├─Newswritten by ⚙ team, numbers live6c
├─Changes feedplain "what it means" + comments3b
├─Glossaryold name → new name, diff highlighted3c
├─Public Q&Aask once → bot answers forever3d
└─Question streamperson · SLA · countdown3e
3 · HARNESS — no surprisesexec proof + eng
├─Landing"we copy production, all of it"4a
├─Checks boardplanned / running live / previous4b
├─CLI pageanimated terminal, engineer loop4c
└─CI gateno "promote anyway" button4d
4 · FLEETOPS — the swarm, controlledwow + ops
├─Swarm heroevery agent a live dot + receipts5a
├─All-agents boardsession · status ×9 · ctx % · $ · model7a+ drawer7b
├─Playable demoanswer a raised hand yourself5b
└─Tokens & subscriptionwallet, burn, buy — kept from1i1j
5 · WORKLEDGER — nothing lost, nothing twicetrust + eng
├─The ledgerhero row + table + guarantees — kept from1k
├─State machineatomic claim, dispositions — kept from1l
└─DX: one API sessionerror strings are the docs5c
SHELL — every page1m
persistent nav (Overview · Atlas ★ · Harness · FleetOps · WorkLedger) + "62% migrated" live chip + next-product footer chain · google SSO everywhere · ⚙ = refactoring team (Tomas, Robert, Petr, Franta)
superseded (history only): 1d 1e 1f → replaced by Atlas set above · 1g 1h → merged into 4a/4b · 3a login kept, its inbox replaced by 6b

If this map is right, say "go hi-fi" — I'll build page by page in this order: Splash → Atlas → Harness → FleetOps → WorkLedger, one shared shell, dark futuristic, cinematic.

7FleetOps — the all-agents board, evolved from your fleet TUI (upgrades 5a · 5b)
7aEvery agent, one table — session, status, context %, $, model
all 64executing 38planning 8finishing 5idle 4needs you 3triage 2failed 1stalled 2disconnected 1
sessionstatuscontext$model
orders-42 · port /tps refundsneeds you
4.20opus
vis-311 · redemption parity→ triage
1.10glm-5.2
deal-cat-7 · publish eventsplanning
0.31grok
users-19 · otp flowsexecuting
2.84sonnet
gc-svc-3 · giftcard portfinishing
3.05glm-5.2
fx-ng-2 · —idle
0.02haiku
acct-9 · invoice port✕ failed
1.92grok
clo-ita-4 · claims bffstalled ~6m
0.77glm-5.2
mg-vch-1 · voucher printdisconnected
0.44glm-5.2
… 55 more · sort by any column · needs-you + failed float to the top
your fleet TUI, grown up: same truths (session, status, context gauge, cost) — plus triage + ledger joins the TUI can't see; context bar goes dark past 70%
7bClick a row — session drawer: live transcript tail, act from here
orders-42 · port /tps refunds · attempt 2
needs you · 4mopusctx 72%$4.20142k tok
transcript tail — live
✓ ported RefundCalculator + 34 tests green
✗ legacy rounds half-up, encore rounds bankers…
? which rounding is correct for refunds > $100?
answer→ triagereroute ⚙ Tomaskill (confirm)
unit orders-svc-42 · claimed 14:02 · lease 60m · WorkLedger row ↗
answer lands verbatim in the session — the agent resumes on screen; every action writes an audited event
hi-fi: drawer slides over the board; transcript streams char-by-char like a real terminal

Try next: "go hi-fi — build the real pages" · "swarm view 5a + this table as one page" · "add account/token lane from tokenomics"

6Atlas = the home of the refactor — news + personal inbox with deadlines (upgrades 3a)

⚙ dark chip = refactoring team (Tomas · Robert · Petr · Franta). Plain chip = any Grouponer (Dusan, Ales…).

6aAtlas Home — news, your duties, live truth — one glance
Hi Ales —
2 things need youtue jul 21 · week 34
answer by 16:00
1h 12m
4 agents blocked on this · orders-only · asked via WorkLedger
reconfirm by fri
your answer #0015 expires
news from the refactoring team
milestone⚙ Roberttoday
Orders enters shadow traffic
every checkout now runs on both stacks — parity 99.987% and climbing. cutover gate: 99.999%.
VIS strangler finished
⚙ Petr · after 13 frozen years
1,000th unit MIGRATED
from the ledger · live
LOC 62%units 4,812agents 64 live● live
Harness →FleetOps →WorkLedger →
the front door of the whole program: what's new, what needs YOU (with deadlines), live numbers — all before you scroll
6bInbox — deadline-sorted: what you owe, what expires, what's FYI
needs your answer — hard deadlines
1h 12m
agent fleet-a74 blockedSLA 4h · orders-only
answer nowreroute → ⚙ Tomas
thu 12:00
Dusan · merchant toolspublic q&a
expiring — reconfirm or it stops being served
#0015 VIS ownership
fri
fyi — changes touching deals
#241
2 min read
sorted by deadline, never by noise — answering here unblocks agents instantly; ⚙ team can be pulled in with one tap
6cNews — human-written by the ⚙ team, numbers from the ledger
pinned
milestone⚙ Roberttoday · all-hands
Orders enters shadow traffic
what this means for you: nothing changes in prod until parity hits 99.999% — watch it live on Harness
14 comments · 3 questions spun off to q&a
weekly digest⚙ Petrmon
Week 34 — 214 units migrated, 0 rollbacks
heads-up⚙ Frantawed
deal-catalog write freeze — wed 9:00–11:00
affects: deal editors · merchants unaffected
get news for your team only…subscribe
news = humans writing to humans; every number in a post is pulled live from the ledger, never typed by hand

Try next: "make 6a the Atlas landing and go hi-fi" · "merge 6b into 3a's login flow" · "news post detail page"

5FleetOps + WorkLedger — the swarm & the developer-experience pages (builds on 1i · 1j · 1k · 1l)
5aThe swarm — every agent a live dot, receipts underneath
queued (dim)
64
active now
1,382 queued · 12 blocked
hi-fi: actives pulse as they claim work, a blocked dot flares and rises to the top — the swarm breathes
red = needs inputamber = stalled (guess, pulses)gray-blue = workinggreen = done, fades
the playbook is proven — receipts, not vibes
Bun port
1M LOC · <2 wks · ~64 agents · $165k
Airbnb
3.5k tests · 6 wks · retry ≤10×
proven ceiling: 64 concurrent — the 1,000s queue behind it, never collide (that's WorkLedger's job)
5bDX page — playable board: a hand goes up, you answer it
FLEETupdated 3s ago
ZARUBA · deploy: groupon2-payments ✓ · workflows: 3 running
● unit-2214 api-cart-migrate — blocked 4m "which flag gates new cart api?"
✕ unit-2201 legacy-export — FAILED, crashed 1m ago
◐ unit-2188 checkout-parity — stalled ~4m (low confidence)
· unit-2190 inventory-sync — working
· unit-2192 pricing-rules — working
✓ unit-2177 refund-flow — done, merged (fading…)
… 58 more, all working …
rework
unavailable*
cost/unit
unavailable*
queue
2 ▁▁▂▁
stalled
1 ▁▁▂▂
*never a fake zero — "unavailable, ledger offline" is the honest render
press / — queue overlay
reply>use flag cart_v2_enabled, ramp 10%enter
j/k move · enter reply (sent verbatim) · x kill (confirm) · esc
hi-fi: fully playable — the visitor answers the raised hand, the agent visibly resumes; "0 blocked" renders huge as the goal state
5cDX page — one API session; the error strings ARE the docs
readyclaimedin_progressblocked ⇄verifieddone
POST /units/claim200 · unit "orders-svc-42" · state: claimed · lease 60m · attempt 1POST /units/orders-svc-42/transition {to: verified}412 · transition to 'verified' requires evidence_url (dual-run parity report). Retry with evidence_url set, or block with a question.POST /units/orders-svc-42/block {question: "…"}200 · blocked → question routed to Atlas streamPOST /units/orders-svc-42/unblock {answer: "…"}200 · in_progress · answer written into the corpusPOST …/transition {to: verified, evidence_url: harness bundle}200 · verified → dispose(MIGRATED) · done
"dispositions are immutable once set — this is a ledger, not a scratchpad." — actual API error copy
MIGRATEDDROPPEDDEFERREDDEADimmutable
hi-fi: scroll steps the session — each call types in, the state chip morphs; fresh agent → claimed unit in under 1 minute, taught only by error strings

Try next: "go hi-fi — build the real site" · "more swarm visual directions" · "wireframe Atlas-in-WorkLedger question round-trip"

4Harness deep-dive — we copy even the traffic (builds on 1g · 1h, real spec from refactor:main)
4aLanding — "we copy production, all of it", capture → replay → compare
We copy production.
All of it.
every HTTP request and every message-bus event, recorded and replayed against both stacks — before anything ships
HTTP traffic
MBUS events (shadow-tap)
recorder → fixture set · PII masked
legacy lab
pinned rails 3.2 docker
monorepo
candidate rev
diff engine → verdict
PARITYDIVERGEDUNVERIFIABLE3 verdicts, no maybe
capture
replay
compare
16 of 33 legacy repos live on the message bus — event parity is day-one scope, so we tap and copy that too
4bChecks board — planned / running live / previous, fully transparent
running now
orders/checkout-flowfx 2,840 / 4,200
vis/redemptionrecording · 12k events
planned
orders/giftingafter fixture refresh · thu
accounting/invoicesSOX lanew34 · human sign-off
previous
orders/checkout-flowPARITY 99.987%self-check ✓bundle
orders/refundsDIVERGEDtotalCents: 4899 → 4901bundle
deal-catalog/publishUNVERIFIABLEMBUS_TAP_UNAVAILABLE
nothing hidden: every check that will run, is running, or ever ran — each verdict links its evidence bundle + exact replay recipe
4cCLI page — animated terminal, the engineer's whole loop
recordverifyexplainlabselfcheck5 verbs, nothing else
$ harness lab up orders-legacyREADY · pinned rails 3.2 image · booted 42s$ harness record orders checkout-flowcaptured 4,200 fixtures + 12,483 mbus events → fx-set-2026-07-18$ harness verify orders checkout-flowDIVERGED · parity 99.987% · exit 1counterexample fx-0231: response.body.totalCents: 4899 → 4901$ harness explain orders/checkout-flow/09:14rounding drift in refund path · full bundle + replay-recipe.sh… fix ships …$ harness verify orders checkout-flowPARITY · 99.7% ≥ threshold 99.5% · self-check ✓ · exit 0
hi-fi: the terminal types itself as you scroll — command, pause, output; the whole engineer loop in 30 seconds, zero marketing
exit 0 parity1 diverged2 unverifiable3 harness fault4 self-check failed
deterministic replays · resumable batches · every threshold override is logged
4dCI gate — one line per unit, and no "promote anyway" button
pull request · checks
✓ orders/checkout-flow — PARITY (99.7%, self-check passed)
✗ orders/refunds — DIVERGED (1 counterexample) → bundle
⚠ deal-catalog/publish — UNVERIFIABLE (MBUS_TAP_UNAVAILABLE)
verdict row: PARITY + self-check ✓
unit promoted to PR lane
there is no "promote anyway" button.
the gate is a database rule, not a warning — an override writes its own audited FORCED row, never disguised as PARITY
the harness tests itself first: record → replay against legacy itself must be PARITY, else nothing it says is trusted (exit 4)

Try next: "go hi-fi on Harness with the animated CLI" · "same deep-dive for FleetOps / WorkLedger" · "merge 4a hero with 1h cockpit"

3Atlas deep-dive — real content from refactor:main (builds on 1d · 1e)
3aGoogle login → personal inbox — everyone has an account
Atlas
the refactor, explained — for every Grouponer
G
Continue with Google
@groupon.com only · one SSO across all four products
my atlas — ales@groupon.com · deals team
inbox 3my questions 2subscribed: deals, orders
routed to you
SLA 3h 12m
change · deals
2 min read
expiring
reconfirm in 7d
inbox = questions routed to YOU + changes touching YOUR team + your answers about to expire
3bChanges feed — plain meaning + comments on every change
change #241 · 2026-07-18
orders cutover now gated behind parity harness
what it means, exactly
nothing ships until replayed traffic matches legacy 1:1 — checkout stays safe during migration.
orderspaymentsfinanceaffects 3 teams
comments · 2
add a comment…
change #240
identity-service retired → users owns identity
accountswhat it means5 comments
every change answers "so what?" in one sentence — discussion lives on the change, not lost in chat
3cGlossary — legacy name → new name, the diff highlighted
search a term — old or new…
voucher-inventory-service (VIS)inventoryactive
what changes: JRuby 1.7 → TypeScript · 4 MySQL shards → 1 Postgres
scope: program-wide · confirmed 07-18 · expires 10-16
orders /tps APIorders-apiactive
what changes: Rails 3.2 (frozen 2017) → encore-ts · same contract, proven by Harness
identity-serviceusersmerged
gkb-deploydeleted
99.96% vendored code — poster child of delete-first
real pairs from the legacy census — every entry carries scope, provenance + expiry; stale entries warn before serving
3dPublic Q&A — ask once, the bot answers forever
ask anything about the refactor…ask
"Is VIS still alive? Who owns it?"
atlas bot · instantfrom decision 0015
frozen since 2013, no active owner. treat as answered — no need to re-ask.
asked 4× → merged · human answer: ⚙ Tomas · confirmed 07-18
"Does /tps keep the same contract after cutover?"
asked by Dusan · routed: ⚙ TomasSLA 4hprogram-wide
2h 41m left
auto-faq — top this week
×12
×9
one human answer → written back → the bot answers every repeat instantly and builds the FAQ itself
3eQuestion stream — question, person, SLA, countdown on every row
questionrouted totime to answer
orders-only×4 asks
⚙ Tomas
3h 12m / SLA 4h
program-wide
⚙ Robert
1h 05m / SLA 3h
breaching
Ales
0h 07m → escalates
SLA scales with blast radius: program-wide 3h · single-team 8h; timers escalate before breach — a blocked agent never waits silently
dedup: 4 asks in different words → 1 canonical question → 1 answer unblocks all 4

Try next: "go hi-fi on Atlas with these screens" · "same deep-dive for Harness / FleetOps / WorkLedger" · "different SLA rules"

2Splash v2 — one combined direction (replaces 1a · 1b · 1c)
2aLive bar → orbit → migration phases → stats → four products
LOC 62%agents 3,412build 4m12s● live
33 repos → 1
monorepo
↑ legacy repos orbit, then collapse into the core — cinematic intro
migration phases — real sequencing from the audit
1 delete
2 long-tail ports
3 finish stranglers
4 hubs last
delete 12% dead code · pilot the easy ports · finish VIS3 + CLO stranglers · hubs behind Harness (accounting = SOX)
the numbers
2.9M
loc migrated
45→4m
build time
37×
deploys / week
counters tick up on scroll; bars fill in (hi-fi)
the four products
Harness
traffic sim
Atlas ★
change intel
FleetOps
agent fleet
WorkLedger
system of record
each panel shows a sliver of its real UI, click through →

Try next: "go hi-fi on 2a" · "add a headline above the orbit" · "swap phases below the stats"

1Atlas (flagship) + Harness + FleetOps + WorkLedger + site shell — splash retired, replaced by 2a

B&W and sketchy on purpose — the dark, futuristic, cinematic treatment comes in hi-fi. All numbers are placeholders until we pull real ones from refactor:main.

Atlas ★ flagship — BFU + technical, 3 directions
1dTwo lanes — everyone left, engineers right, same scroll
Every change, explained.
what the rebuild changes — in your language
for everyone (BFU)
changes feed
what it means
what it means
glossary
"cutover"
for engineers
decision matrix
schema diff
- legacy_pricing.calc()
+ pricing.v2.quote()
question stream → stakeholders
waiting
answered
blocked questions route to the right human — both lanes see status
1ePersona toggle — one page, depth on demand
Know what's changing.
Everyone
Engineers
↑ toggle swaps everything below — animated crossfade
what changed for me — plain language
deals teamread 2 min
decision matrix + question stream
3 open Qs
⇄ engineers view: schema diffs, ADRs, API maps — swaps in here
subscribe to changes that touch my team →
1fStoryline — change → explained → decided, in 3 acts
1
A change lands
change card
pricingaffects 4 teams
▸ engineer detail: commit range, modules touched
2
Atlas explains it
inline glossary popover
…the shadow traffic phase begins…
3
You decide
decision matrix — your row highlighted
BFU-first narrative; engineers expand the dashed strips
Harness — traffic simulation, 2 directions
1gFlow-diagram hero — explain the tee, then prove it
No surprises.
replay real production traffic against both stacks
prod traffic
legacy
monorepo
diff ✓
↑ hi-fi: packets flow through the tee, diffs light up
replay session #482 — 1.2M requests
match
match
diff ✗
capture
replay
compare
99.98%
parity
1.2M
req replayed / day
1hCockpit — the product IS the hero, copy floats over
run #91 — live
replayingcheckoutsearchdeals
diffs
3
latency Δ
−41%
Harness
simulate everything before cutover
caught before production
✗→✓
✗→✓
✗→✓
screenshots do the selling — minimal copy, max product
FleetOps — agents + tokens, 2 directions
1iGrid of thousands — every dot is a live agent
3,412
agents working now
↑ dots pulse as agents pick up work (hi-fi)
fleet dashboard
ok
ok
stuck
workflow
tokens & subscription
1.2M
tokens left
scale plan
buy tokensburn: 84k/day
1jOps board — monitoring left, money right
3,412 agentshealthy 96%stuck 12burn 84k/d
workflow swimlanes
port
verify
cutover
wallet
1.2M
tokens
top up
alerts
!
!
exec glance: top strip answers "is it healthy + what does it cost"
WorkLedger — system of record, 2 directions
1kThe ledger — one giant row tells the whole story
Nothing lost. Nothing twice.
U-88412
agent-207MIGRATED$0.42
↑ hero row live-morphs: pending → claimed → migrated
ledger — every unit of the rebuild
allmigrateddroppeddeferreddead
U-88401
MIGRATED
U-88402
DROPPED
U-88403
DEFERRED
U-88404
DEAD
never duplicated
never lost
never abandoned
thin Postgres. atomic claim. exactly one agent per unit. kill-gate read: ⚙ Tomas + ⚙ Petr.
1lState machine — the diagram is the hero
PENDING
CLAIMED
IN-FLIGHT
MIGRATEDDROPPEDDEFERREDDEAD
↑ hi-fi: units flow through the machine as particles
the atomic claim — one winner, always
agent-12 ✗
agent-07 ✓
agent-31 ✗
U-88412 🔒
unit detail — U-88412
stateMIGRATED
attempts3
cost$0.42
blocking q
→ ⚙ Franta via atlas
blocking questions link straight into Atlas's stream
Site shell — how the 5 pages hang together
1mIA — persistent nav + chained product tour
sitemap
splash / numbers
harness
atlas ★
fleetops
ledger
shared top nav — live stats never leave
G·Roverviewproducts ▾62% migrated
every page ends with the next product
← FleetOpsnext: WorkLedger →
the "62% migrated" chip in nav = constant reminder this is real and moving

Try next: "more options for FleetOps" · "wireframe the cinematic intro sequence"