Method
Arena results
Major changes to this site are built as a contest: two AI builders get the same pre-registered brief, work in isolated copies of the codebase, and don't know each other exists. A mechanical checklist — not vibes — picks the winner, and only the winner ships. The full record lives below.
Guide content deepening (practical info, FAQ, cross-links)
v1.2.0 · 2026-08-23Pre-registered in .hermes/plans/guide-content-arena-v1.2.md at baseline 3839b2c.
Builder X
QA score 3.9/5- Mandatory: A — know-before-you-go strip; B — FAQ accordions; C — region cross-links
- Electives: D — eat cards, E — reading-time chip, F — pull-quote
- Gates: build green · hard invariants clean
Builder Y winner · merged
QA score 4.5/5- Mandatory: A — know-before-you-go strip; B — FAQ section; C — "Where next?" cross-links
- Electives: E — reading-time chip
- Gates: build green · hard invariants clean
How it was judged
- Both builders: zero hardcoded prices in template (grep), no <style> blocks, Leaflet intact, independent npm run build green (19 routes each).
- Rendered spot-check on ≥3 guides: new sections render only where frontmatter data exists; guides without data degrade cleanly (no empty sections).
- Y wins on restraint and correctness-per-line: tight scope, all mandatories verified, no over-reach. X delivered more electives but spread thinner.
- Pre-existing quirk documented, not introduced by either builder: imported destinations show single-point bands ("$140–140") because B's model exports point estimates, not ranges.
Kept from the runner-up
- X's eat-cards elective (D) and pull-quote treatment (F) noted for a future iteration.
- X caught its own per-destination usdRate conversion bug mid-build — discipline worth copying.
Full technical history: changelog.