Built for the Global AI Hackathon with Qwen Cloud

TARMAC

Five agents fight over nine seats — so the right people fly.

TRACK 3 · AGENT SOCIETY  ·  tarmac.edycu.dev

$ tarmac run --scenario storm_dfw --seed 7
180 pax displaced · 139 legal seats
round 3 · DEADLOCK seat 14C — wait-for cycle
mediator ruling SIGNED ed25519 · cites FAR 117.11
quiescent in 5 rounds · SLA 100% · crew viol 0
$

02 // The one number

A single planner strands 17 protected passengers. The society strands 3.

SINGLE PLANNER
17
FULL SOCIETY
3

medical courier · unaccompanied minor · wheelchair · tight connections — medians of 10 seeds, docs/BENCH.md

03 // The problem

One dispatcher. Two phones. The last seat to Denver.

A 12-year-old flying alone watches the DEPARTED board go red at 6 PM. Behind a door, one overloaded human decides whether she or the transplant cooler gets that seat.

Greedy re-accommodation optimizes revenue, not regulation: it seats the flexible high-fare passenger — and schedules a crew ferry that breaks the duty clock.

QW2214 DEN  CANCELLED
QW441  DEN  9 SEATS LEFT
QW118  ORD  CANCELLED
QW903  PHX  DELAYED 02:40
UM-7 minor · MED cooler · WCHR ×2
…180 displaced, 139 legal seats

04 // The solution

Make the conflict the architecture.

Five agents with opposed objectives — Rebooking, Crew-Legality, Gate/Ground, Hotel, Passenger-Advocate — negotiate revocable claims on a row-locked seat ledger, sealed-bid in contested rounds.

A Duty-Manager mediator resolves mechanically detected deadlocks with Ed25519-signed, regulation-cited rulings.

Tarmac hero — five agents negotiating over an amber departure board

05 // How it works

Agents → sealed bids → ledger → mediator

5 ROLE AGENTS · qwen3.7-plus · opposed objectives Rebookingmaximize throughput Crew-Legalityduty clocks · FAR 117 Gate / Groundturnaround feasibility Hotelvoucher budget Passenger-Advocateminors · MED · WCHR Sealed-bid board commit SHA256(claim ‖ nonce) reveal → digest re-derived mismatch → rejected (I4) rivals can't adapt bids ClaimLedger SQLite row locks capacity + exclusivity (I1) double-claim → rejected contention has physics Duty-Manager mediator qwen3.7-max + thinking Ed25519 ruling · cites a reg (I3) Chain log hash-chained replay = identical manifest (I5) claims + position papers valid reveals execute events deadlock: wait-for cycle / contested ≥2 rounds binding signed ruling → society complies

06 // The judge path — offline, zero keys, ~5s

1 sockets disabled · full society run
$ python scripts/verify_offline.py
replay reproduces the manifest (I5): c8494681334afd8c…
[PASS] chain / I5.replay / I1.capacity /
       I1.exclusivity / I3.rulings_cite_source /
       I4.accepted_reveals_match / I2.crew_duty
OFFLINE VERIFICATION OK — 420 log entries, no network
2 watch the negotiation · 2 deadlocks, 2 signed rulings
$ tarmac run --scenario storm_dfw --seed 7
deadlocks 2 · rulings 2 signed · SLA 100% · crew viol 0
$ tarmac run --condition single --seed 7
SLA 0% · crew violations 1
3 the measurable gain · tarmac bench
metric             single  no-med  society
protected stranded    17      14      3
stranded overnight    52      96     50
tight connections      0       3     9
special-needs SLA    0%     0%   100%
crew violations       1       0     0
no-mediator = worse than one planner.
the mediator is load-bearing.
4 audit any ruling · replay any run
$ tarmac verify-log runs/demo.db   exit 0
$ tarmac replay runs/demo.db     → identical manifest

07 // Protocol, not vibes

Claims are function calls, not sentences.

SEALED-BID COMMIT → REVEAL

Every contested round: commit SHA256(claim ‖ nonce) first, reveal second. A reveal that doesn't re-derive its digest is rejected (I4).

Rivals can't adapt bids — negotiation that's provably leak-free.

MECHANICAL DEADLOCK

Wait-for cycle or contested ≥2 rounds → mediation triggers. Reproducible, never vibes-based.

SIGNED RULINGS

Ed25519 + a cited regulation — verify what was decided, and on what basis, without trusting the DB.

CREDIBILITY CURRENCY

Contesting costs points; winning refunds + premium; losing burns. Argument is economically bounded.

DOMAIN-AGNOSTIC CORE

tarmac-society lib — meeting-room booking on the same protocol in 20 lines.

08 // Why now · why Qwen Cloud

An unmeasured society is just a group chat.

Track 3 asks for a measurable efficiency gain over single-agent baselines. Measuring means running a 5-agent, ~60-turn society dozens of times. That's an economics problem — and Qwen Cloud is the economics.

The transport is swappable (FakeQwen ↔ LiveQwen); ledger physics, sealed bids, signing and logging are identical offline and live.

qwen3.7-plus × 5persona-stable role agents, cheap enough to benchmark
qwen3.7-max + thinkingadjudicates 5 conflicting position papers, with citations
structured outputClaims/Rulings execute mechanically; malformed = rejected
function callingtyped ledger mutations — "I take 14C" gets physics
context cache4k-token storm prefix reused every turn — ~10× cheaper
Batch APIthe 60-run ablation at −50%
text-embedding-v4regulation retrieval so rulings cite sources

09 // Shipped — solo, in one day

327

tests, all green in ~5s — ledger locks, commit/reveal, deadlock graphs, ruling flow, invariants I1–I5

99%

coverage — pytest --cov=tarmac_society

19

deterministic tests on the live DashScope wire path — --live adds tokens, not code

DELIVERED IN THE REPO

  • Ablation bench committed (docs/BENCH.md, 3 conditions × 10 seeds)
  • Zero-key judge path: verify_offline.py → exit 0, sockets disabled
  • 7-layer CI: ruff · mypy · pytest · CodeQL · pip-audit · TruffleHog · wheel smoke
  • Domain proof: examples/meeting_rooms.py — same core, 20 lines

HONEST LIMITS

A simulator — synthetic data, one curated storm + seeded generator. Offline default = deterministic policy agents; real Qwen agents behind --live. ECS deploy documented, not claimed.

10 // The ask

Run one command. Judge the receipts.

$ git clone https://github.com/edycutjong/tarmac
$ python scripts/verify_offline.py
OFFLINE VERIFICATION OK — exit 0

Score Tarmac on Track 3's own sentence: a measured gain over a single-agent baseline — 3 vs 17, reproducible on your laptop.

Edy Cu · github.com/edycutjong/tarmac · tarmac.edycu.dev

Tarmac brand card — five agents fight over nine seats so the right people fly

tarmac.edycu.dev/pitch/

The mediator is load-bearing.
Now you can prove it.

01 / 10
←/→ nav · ESC overview · P notes · C contrast
Speaker notes