| feat: session-secret rotation script — one value everywhere or nobody logs in | Dami | | +32 | -0 | |
| feat: v0.4.0 map effects — the event log gets a visual twin | Dami | | +362 | -11 | |
| feat: v0.3.1 balance patch — the economy works, the formula audits, tribes meet | Dami | | +510 | -95 | |
| feat: settlement smoke + spawn distance ceiling — tribes actually meet | Dami | | +38 | -11 | |
| feat: spawns scatter per seed — no ring, biased apart, never overlapping | Dami | | +63 | -41 | |
| fix: pool items align icon with title in a two-line grid | Dami | | +17 | -3 | |
| feat: identicons on the Simulate page — pools, roster slots, sims list | Dami | | +22 | -1 | |
| chore: nightly dead-sim retry batch 32 -> 150 (dispatch is cheap fetches) | Dami | | +1 | -1 | |
| feat: urizen identicons per script + million-name friendly-id space | Dami | | +245 | -7 | |
| fix: proper syntax highlighting, proof chips, quiet date pickers | Dami | | +206 | -65 | |
| feat: display-name changes carry a 7-day cooldown | Dami | | +74 | -5 | |
| fix: owners are never 'anon' — display names + friendly-id fallback | Dami | | +87 | -13 | |
| fix: dead sim computes self-heal; login screen speaks agent | Dami | | +58 | -2 | |
| fix: account merge preserves public sharing | Dami | | +22 | -0 | |
| chore: release script copies prod r2_buckets and limits into versioned configs | Dami | | +3 | -1 | |
| fix: badges never truncate and get their own table column | Dami | | +12 | -10 | |
| fix: Create page uses the viewport; state column stops word-wrapping | Dami | | +15 | -5 | |
| fix: Connect is two semantic columns, not a card bag | Dami | | +61 | -105 | |
| feat: device-pairing link codes — no more console-paste account linking | Dami | | +235 | -17 | |
| feat: the social fishbowl — sharing, Elo boards, R2 storage, keypair identity | Dami | | +6881 | -857 | |
| feat: territory as strategy — expansion decree, living borders, reachable ages | Dami | | +196 | -34 | |
| test: rework engine suite for the humble start (34 passing) | Dami | | +467 | -155 | |
| feat: openlayers-style map camera — cursor wheel zoom, drag pan, minimap | Dami | | +256 | -24 | |
| feat: make the war meta fire — stone bootstrap, raid no-ops, phased bots, bigger maps | Dami | | +577 | -127 | |
| feat: organic territory claims + Ages prestige ladder | Dami | | +480 | -74 | |
| feat: tribe-scaled worlds, anti-rush drilling, resilient collapse, territory borders, identity cards | Dami | | +285 | -72 | |
| feat: 64x64 world, fullscreen no-scroll HUD, distant-view glimpse band | Dami | | +373 | -70 | |
| feat: instant chronicle, game-feel HUD, Qud-style terrain variation | Dami | | +1446 | -395 | |
| chore: replace middle-dot separators with plain hyphens repo-wide; untrack output/ screenshots | Dami | | +33 | -32 | |
| chore: footer credit removed — art credit lives in README only (CC0) | Dami | | +1 | -2 | |
| feat: Tribes v2 — cohort simulation, policy verbs, Urizen 1-bit visuals, stats-first viewer | Dami | | +11373 | -4452 | |
| feat: per-tribe feeds (events + api.log internal monologue) and world feed | Dami | | +152 | -47 | |
| chore: remove accidentally committed playwright artifacts, gitignore them | Dami | | +1 | -2828 | |
| feat: friendly adjective-noun ids (lg_stern-wolf, sim_gilded-vale, usr_quiet-heron) | Dami | | +987 | -16 | |
| feat: MUD-style event feed, api.say, hover tooltips, balance pass | Dami | | +1406 | -72 | |
| initial: tribes fishbowl — deterministic engine, QuickJS script host, worker (REST+MCP+cron), web viewer, examples, tribes.pub deploy tooling | Dami | | +19983 | -0 | |