The Launch Set, the Checkout, and a Long Polish Pass

19 September 2026

Six cosmetics went into the Merchant's Hall for launch: Farmhand's Garb and Knight's Plate, each sold as a male and a female pack of eighteen pieces, and the two Founder banners, which are on sale only while the realm is new. The Hall was rearranged around them. The Cosmetics tab opens on a row of aisles, limited items are shelved first and earned ones last, a card you cannot buy yet keeps its colours and its rarity frame instead of being dimmed, nameplates are drawn at twice the size so you can read a name on the plate you are buying, and Try on now lays out every piece of a skin pack rather than the same handful the card already showed.

The game is feature complete in the beta, and this is what a polish pass looks like. Almost everything below the launch set is a fix: a reward that could be collected twice, a charge that could be taken twice, a price shown that was not the price charged, a modal a phone could not fit, a token printed inside a Fragment instead of the answer it stands for. Only small fixes and polish are expected between here and the full launch.

Buying Gold has its own page. The in-shop payment modals are gone: Purchase opens a checkout with the order in front of you, a stepper for how many packs you want, and Card, SOL and USDC as tabs you can move between freely. A Solana wallet can now be connected and pay in place, and the payment is verified the moment it is sent rather than at the next poll. A quote holds for half an hour, counts down where you can see it, and can be asked for again. A payment left open can be resumed from a banner in the shop, and the receipt and the purchase history say what was ordered, what was quoted and what actually arrived.

The School says what it does. Nothing in the game is called training any more: an envoy learns skills or attends a lecture. The School's page has been rebuilt around those two buttons, with one collapsed row per envoy instead of the whole class catalogue under every one of them. The Lecture card pays when the lecture finishes rather than when it starts, its second rank draws a Fragment more often, and Quick Study and a School Donor stake both shorten it. It is also offered where it happens: on the envoy's own menu on the map, counting down on the nameplate and in the tracker beside it.

A long correctness sweep went through the parts of the game that pay you. A decode, a wound fragment, a wonder's results, a Foundation Stone ceremony, a daily login milestone and a finished lecture could each be paid more than once when two requests arrived together; a rush could be charged twice; two listings could reserve the same diamonds; one envoy could open two investigations. They all settle exactly once now. The daily login ladder was rebuilt in the same pass: it used to stop paying milestones after the first month, which quietly rewarded breaking a streak and starting it again, and it now runs to a full year.

Opening the game takes a handful of requests where it used to take dozens, the map paints from the detail level your zoom actually needs and streams the rest in behind it, and terrain that used to blank out after a while at high zoom stays drawn.

New in the Merchant's Hall

The launch set. The two skin packs dress an envoy in every action the game draws them doing. The Founder banners are the launch exclusives: they sell for sixty days from the launch date and then leave the Hall for good, and a banner you own stays yours.

  • Farmhand's Garb (Female)Farmhand's Garb (Female)Rare · Envoy Skin Pack750Gold
  • Farmhand's Garb (Male)Farmhand's Garb (Male)Rare · Envoy Skin Pack750Gold
  • Knight's Plate (Female)Knight's Plate (Female)Epic · Envoy Skin Pack1,000Gold
  • Knight's Plate (Male)Knight's Plate (Male)Epic · Envoy Skin Pack1,000Gold
  • Founder's StandardFounder's StandardUncommon · City Banner, limited75Gold
  • Founder's LaurelFounder's LaurelRare · City Banner, limited200Gold
Visit the Shop
improvedreducednewreworkedremoved

The launch set

Four envoy skins and two city banners, all of them gold. A skin pack is eighteen pieces: the portrait, the navigation icon, and one drawing for every action the game shows an envoy taking, so a Knight delves as a Knight and comes home as one. Every piece of all four packs is below, along with both banners, because none of it has to be earned to be looked at.

Farmhand's Garb (Female), eighteen pieces

  • PortraitPortrait
  • NavigationNavigation
  • BonusBonus
  • TravellingTravelling
  • ArrivalArrival
  • ExploringExploring
  • Learning skillsLearning skills
  • Hotel check inHotel check in
  • Hotel check outHotel check out
  • Claiming influenceClaiming influence
  • DelvingDelving
  • Delving deeperDelving deeper
  • Delve returnDelve return
  • InvestigatingInvestigating
  • DecodingDecoding
  • Returning homeReturning home
  • ViewingViewing
  • Learning completeLearning complete

Farmhand's Garb (Male), eighteen pieces

  • PortraitPortrait
  • NavigationNavigation
  • BonusBonus
  • TravellingTravelling
  • ArrivalArrival
  • ExploringExploring
  • Learning skillsLearning skills
  • Hotel check inHotel check in
  • Hotel check outHotel check out
  • Claiming influenceClaiming influence
  • DelvingDelving
  • Delving deeperDelving deeper
  • Delve returnDelve return
  • InvestigatingInvestigating
  • DecodingDecoding
  • Returning homeReturning home
  • ViewingViewing
  • Learning completeLearning complete

Knight's Plate (Female), eighteen pieces

  • PortraitPortrait
  • NavigationNavigation
  • BonusBonus
  • TravellingTravelling
  • ArrivalArrival
  • ExploringExploring
  • Learning skillsLearning skills
  • Hotel check inHotel check in
  • Hotel check outHotel check out
  • Claiming influenceClaiming influence
  • DelvingDelving
  • Delving deeperDelving deeper
  • Delve returnDelve return
  • InvestigatingInvestigating
  • DecodingDecoding
  • Returning homeReturning home
  • ViewingViewing
  • Learning completeLearning complete

Knight's Plate (Male), eighteen pieces

  • PortraitPortrait
  • NavigationNavigation
  • BonusBonus
  • TravellingTravelling
  • ArrivalArrival
  • ExploringExploring
  • Learning skillsLearning skills
  • Hotel check inHotel check in
  • Hotel check outHotel check out
  • Claiming influenceClaiming influence
  • DelvingDelving
  • Delving deeperDelving deeper
  • Delve returnDelve return
  • InvestigatingInvestigating
  • DecodingDecoding
  • Returning homeReturning home
  • ViewingViewing
  • Learning completeLearning complete

The two Founder banners

  • Founder's StandardFounder's Standard
  • Founder's LaurelFounder's Laurel

The shop's three new feature cards

  • Empire Collect AllEmpire Collect All
  • City Collect AllCity Collect All
  • Auto CollectAuto Collect
  • new
    NEW: Farmhand's Garb

    Rare, 750 gold a pack, sold as a male and a female pack. Linen, leather, a straw hat worn soft by the seasons, and a pitchfork that has seen real work. It is the everyday look: the cheapest way to make an envoy yours, and it stays on the game's own warm palette rather than reaching for anything arcane.

  • new
    NEW: Knight's Plate

    Epic, 1,000 gold a pack, male and female. Polished silver plate trimmed in gold, a crimson cloak at the shoulder and a sheathed longsword at the hip. The helm is open faced on purpose, so the expression still reads at the size the map draws an envoy.

  • new
    NEW: The Founder banners, on sale while the realm is new

    Founder's Standard is a gilded cornerstone under a rising sun, Uncommon at 75 gold. Founder's Laurel is a gold laurel around the first stone laid, on plain founding-day linen, Rare at 200. Both are launch exclusives: the window is sixty days from the launch date, which is not set yet, so until it is they sell as ordinary banners and show no timer rather than advertising a close nobody has decided. Once the date is set the card counts down, and when it closes the banner leaves the Hall. One you already own is yours permanently.

  • reduced
    Royal Frame
    Was4 diamonds
    Now10 diamonds

    The owner's repricing. It is still the diamond-only Epic frame for your label on the map, and nothing about what it does changed.

  • reworked
    The collection feature cards

    Empire Collect All and Auto Collect were square scenes; they are wide cards drawn for the shelf now. City Collect All had been borrowing Empire Collect All's picture, which made the two impossible to tell apart on the tab where you choose between them, and it has its own art.

The Merchant's Hall, rearranged

The Cosmetics tab was one long page with every type of cosmetic on it and no way to say which you had come for.

  • new
    NEW: Aisles at the top of the Cosmetics tab

    Five tiles: All cosmetics, Envoy Skins, Player Nameplates, City Banners and Envoy Nameplates. Each carries its own count and its own picture, taken from the first item that shelf shows, so the picture follows the catalogue instead of being chosen once and left. Picking one shows that shelf alone; All is the default and is the page as it was. On a phone All is a full width bar above a two by two grid.

  • reworked
    Shelf order
    WasEverything in one rarity group, in catalogue order
    NowInside each rarity: limited time first, then what is for sale, then what is earned

    A limited item is the only thing on the shelf with a deadline, so it goes where a deadline belongs, and its tag reads "Limited time only!" with the countdown under it. Achievement, referral and Town Hall cosmetics are the ones you cannot buy at all, so they stop sitting between two things you can.

  • improved
    A card you cannot buy yet keeps its colours
    WasDimmed to 75% and stripped of its rarity frame
    NowFull brightness, rarity frame intact, and a padlock on the price

    Dimming the art was telling you about your gold by spoiling the thing you were being sold. The padlock says the same thing in the one place it is about: the price.

  • improved
    Nameplates are drawn at the size you will wear them
    WasA 32px plate in the card's art area
    NowA 64px plate in a taller art area, and the name fits whole

    A nameplate is a typeface and a frame around your own name, which is exactly what a 32px sample cannot show. Names from two characters to the twenty four character maximum were measured in the real shop: the longest used to run 60px past the plate at 320px, and every one of them now fits.

  • improved
    Try on shows the whole pack
    WasThe same six small tiles the shop card already showed
    NowEvery piece of the pack under the portrait, at twice the size

    Try on for a skin was revealing nothing you had not already seen. It lays the pieces out in centred rows now, on a wider panel, and the panel scrolls inside itself so the price stays in view on a short screen.

  • reworked
    Female packs list first

    Within each rarity, the female half of a skin pair comes before the male one: Arcanist, then Knight, then Farmhand. The rule lives in the ordering rather than in the catalogue numbering, so a future pack follows it without anyone renumbering anything.

  • removed
    The character reference sheet, from inside a skin pack
    WasA pack was presented as nineteen pieces, one of which was the art pipeline's own reference sheet
    NowRemoved

    A pack is eighteen pieces now, every one of them something the envoy wears in the game. A reference sheet is a T-pose, a head study and a profile on a grey field. It is how the art is kept on model between generations, and it was never meant to be shipped to players at all.

Buying Gold is its own page

Purchase used to open a small modal inside the shop that asked which way you wanted to pay and then handed you off. Everything about an order that you might want to see while deciding was somewhere else.

  • reworked
    The checkout
    WasA payment-method modal on top of the shop
    NowA checkout page with the order summary, a quantity stepper, and Card, SOL and USDC as tabs

    The tabs are free to move between. Choosing SOL used to disable Card and USDC for good, because the page held one request shared by both crypto tabs and locking everything was the only thing keeping them apart. Each currency and quantity holds its own request now, so SOL to USDC and back returns the same SOL quote at its locked price. The tabs lock only while money is actually moving: a card hand-off, or a wallet payment approved and not yet confirmed. If the shop sent you here because you were short of gold, finishing brings you back to the thing you were trying to buy.

  • new
    NEW: More than one pack at a time

    Up to ten, on every tab, including while a quote is on screen. The page waits a second after your last press and then quotes the number you stopped at, so going from one to four makes one quote instead of three, and it never shows a QR code for a quantity other than the one in the summary. Every quote you make stays open: one to three and back to one shows the original quote again, at its original price, until it expires. The first-purchase bonus is unchanged and is still one extra pack of that tier, once, rather than a multiplier on the quantity.

  • new
    NEW: Connect a wallet and pay in place

    Any Wallet Standard wallet can be connected on the checkout page and pay the request without leaving it. The page then asks the server to verify that exact transaction straight away, and every two seconds until it settles, instead of waiting for the background poll that runs every thirty seconds. A wallet payment that used to take about a minute now lands in seconds, a reload picks the check back up, and only a recognised settled answer is allowed to end it.

  • improved
    A SOL quote you can see, and ask for again

    SOL is priced from the pack's USD price through a live feed rather than a hand-set table, locked for thirty minutes, with the countdown on the panel. When it runs out the panel offers a fresh quote. A quote that expires while a payment you already sent is confirming no longer offers one, and no longer says nothing was charged: that payment is still being credited, and a second request would have invited a second payment.

  • new
    NEW: Resume a payment you left open

    A banner above the pack grid, one per pack, for any Solana payment still waiting, linking back into the checkout at that request. It lists only payments that are genuinely still running: a transfer that arrived short, or for a different amount than the order, is finished rather than pending and says so instead of reading as still going.

  • improved
    The receipt, and the purchase history

    The receipt states both what you were quoted and what actually arrived. A history row carries the whole order, what was paid, a link to the transaction on chain, and a way to resume it if it is still open. A card payment credits when the session is genuinely paid rather than when you are redirected back, and a payment method that settles slowly credits when it settles.

  • improved
    An honest ending

    A card payment that goes quiet times out and says so instead of silently arming itself again. A wallet payment that never confirms says that rather than spinning. A transfer that arrives short or for the wrong amount replaces the panel with what was actually seen. Nothing tells you a payment failed while it is still being credited.

The School, and the Lecture

The Lecture card shipped a week ago with exactly one entry point in the whole game, a page built for a single action, and a vocabulary inherited from a building that used to do one thing. All three have been dealt with.

  • reworked
    Nothing is called training any more
    Was"Train envoys in specialized skills", "Training Times", "Training Complete", "Cultural Influence per training"
    Now"Learn Skills" and "Attend a Lecture", "Learning Times", "Learning Complete", "Cultural Influence per hour of lessons or lectures"

    The School has two actions and neither is training. A Learn Skills session is a lesson; a rule that covers both says lessons and lectures; speed and time are learning. Toasts, pushes, the Steward's log, the visitor roster, the map tracker, the tutorials, the building's own text, the investment copy and every skill card follow. Two pieces of copy were stating a mechanic wrongly and are now right: the School's Cultural Influence figure is a per-hour rate that a lecture shares, and School Donor's investment copy covers lectures. "Train your memory" on Retention, and Attend Class, stay as they are.

  • reworked
    The School's page
    WasThe entire class catalogue, about three thousand pixels of it, rendered under every envoy standing in the School
    NowOne collapsed row per envoy, with exactly one catalogue open at a time

    Five envoys meant five catalogues between you and the one you had come for. Current Effects was also being drawn inside the first envoy's panel, which is why it appeared between that envoy and their own catalogue; the page now reads engaged envoys, effects, idle envoys, then everyone else. The five tree names used to be rendered twice per envoy, once as chips carrying counts and again as tabs carrying none. One row does both jobs, in the palette the map's nameplate already uses, where Commerce and Patronage are no longer both gold.

  • improved
    Two buttons, and the lecture is offered where it happens

    A visiting envoy used to be shown one disabled "Learn 0 Skills" button, an empty lesson plan, and nothing at all to say that lecturing existed. There are two buttons now, and the greyed lecture button names the card and the tree it comes from, so it is where you find out the card is there before you hold it. A button that is refused greys and says why in its tooltip, rather than bleeding a crimson refusal out underneath the card.

  • improved
    LectureScholarship · Tier 3 · 2 ranks

    UNLOCKS: While your envoy is visiting another player's city, they may attend a lecture at their School. A lecture takes 2 hours, less with Quick Study or a School Donor investment there, and pays around 200 Cultural Influence. It also has a 25% / 50% chance of leaving your envoy with a text that player has given to the Great Library and you do not yet hold. One lecture per envoy per day.

    Was25% / 40% chance of a text, and the whole reward banked the moment you pressed Attend
    Now25% / 50%, and nothing is paid until you collect the finished lecture

    Every other timed action in the game settles when it finishes, and this one settled when it started, then held the envoy for two hours during which nothing happened. The Cultural Influence, the host city's share and the Fragment draw all happen at collection now. A finished lecture holds the envoy until it is collected, the way a finished lesson does. Lectures attended before this change were already paid at their start and are stamped collected, so nobody is paid for one of them twice.

  • improved
    Quick StudyScholarship · Tier 1 · 2 ranks

    Your envoy learns skills and attends lectures in less time: -15% / -25%.

    WasA lecture was always two hours, whatever your envoy knew
    NowQuick Study shortens it, exactly as it shortens a lesson

    The length is decided once when the lecture is attended and stored, rather than recomputed by seven different readers from Quick Study alone, which is what let a bar fill against a flat two hours while the lecture itself was shorter.

  • improved
    School DonorPatronage · Tier 3

    UNLOCKS: Your envoy earns more Cultural Influence for learning skills or attending a lecture at a player's School they invest in: +25% / +50% / +75% by tier. From tier 2, their lessons and lectures there are also 15% / 30% shorter.

    WasThe time reduction applied to lessons only
    NowIt shortens a lecture too, applied after Quick Study, on the same rule a lesson is charged at

    Borrowed Knowledge is armed by collecting a lecture as well now, the way finishing a lesson abroad already armed it. Studious and Peer Review already paid on a lecture; their cards say so.

  • reduced
    An injured envoy cannot learn skills
    WasRecovering blocked attending a lecture, but an envoy recalled home mid-recovery could still enrol at their own School
    NowRecovering blocks both

    The owner's ruling. What a lesson tolerates is now one list read by the enrolment and by the preview alike; the preview used to check nothing at all, so it quoted lessons the enrolment then refused. The delve injury message names what it really blocks: delve, explore, learn skills or attend a lecture.

The map's menus

The city panel on the map carried one Visit button per envoy of yours standing there, each with the same label and the same icon, which is why two envoys at one city read as a single button drawn twice.

  • removed
    Visit, on the city panel
    WasOne Visit button per envoy of yours at the city, opening a visiting panel that existed nowhere else in the game
    NowRemoved

    The panel's actions have gone where they belong. The ones that act on the city are now the city panel's own column: Hold a Festival, Invest, Sponsor Expedition and Trade. The ones that act on your envoy are on that envoy's menu. Sponsor Expedition needs somebody else's envoy present, since you cannot sponsor your own.

  • new
    NEW: Attend a Lecture and Sponsor Expedition on the envoy's menu

    Attend a Lecture had one entry point in the whole game and Sponsor Expedition had none outside the panel that is now gone. Both sit on the menu for the envoy that can take them. The lecture also draws its own art: it had been borrowing the lore drop that every discovery surface uses, so a lecture looked like a Fragment.

  • improved
    An envoy sitting a lecture says so
    WasIdle, with no countdown and no bar, while the tracker beside it said "Attending a lecture at Rochebrume"
    NowThe nameplate carries the lecture and the tracker counts it down

    The bar fills against the length that lecture was actually booked at, not a flat two hours, since Quick Study and a School Donor stake both shorten it. The nameplate has the same two states the rest of the game uses, one while it runs and one while the reward waits.

  • improved
    A dismantling site counts down its salvage window
    WasThe segmented quest bar of the race phase it lost, frozen at whatever it reached
    NowA bar that starts full and drains across the seven day teardown, with the time left written beside it

    It runs the opposite way to every other bar on this map on purpose: what it shows is a claim being lost rather than progress being made, and it is the one thing the owner can still act on.

The Journal and the Library, a week on

The book shipped on the 12th. This is the week after it.

  • improved
    A Fragment prints the answer, not the token that stands for it
    Was{{outcome:lost_era_duration}}, verbatim, in the middle of a Fragment
    NowThe settled answer, inline, as ordinary prose

    Seven published Fragments carry one of these tokens and every surface in the game printed it exactly as it was authored, in the Journal, in the Library and in the discovery modal. The table holding the answers had never been copied into the game's database at all. A {{variant:}} token was the same defect in better clothes: it opened a second ballot for a question the Chapter already asks at its own ballot, and it now prints its paragraph. The Lost Era duration question also opens on 117 years, the tree-ring figure the Chapter itself quotes, where it used to open on 112.

  • reworked
    A Chapter's progress is a figure
    WasA segmented bar with one notch per Fragment
    NowThe count, written out in the book's own voice

    The bar was drawing a Chapter of three Fragments and a Chapter of eleven at the same width, which made the one number the page exists to tell you the hardest thing on it to read.

  • improved
    The Librarian hands the book over, and the book opens

    An empty Journal is Emory Vance standing on the page with a shut book, and the cover is one drawing of the leather on its own proportions rather than a tiled texture. Opening it opens: the book turns, rather than one object cutting to another. The closed cover was measured at 320px and fixed there. A claimed Chapter raises a toast rather than stopping the book with a modal, the marks on a row say "new" and "complete" outright, and a row's two numbers say what they are.

  • improved
    A Chapter nobody has recovered names no author
    WasThe Authors and Organisations drawers listed "Undiscovered Chapter #34" under a name nothing in the Library could have taught you
    NowA Chapter's credit is withheld until the Library holds a Fragment of it, the way its title already was

    Who wrote a thing is part of what is recovered. The line, the person, the body and the naming flags are all withheld together, so no field can be missed and the two tabs list only work the Library actually holds.

  • improved
    The account of the race can be read

    "An Account of the Great Library" was the one Chapter in the game filed under no Source, which meant it had no address in the Journal, so the badge could count it as a claim you were unable to open. It is filed under Recent History, the newsletter the journalist keeps, of which the account is the first issue. The Evergrove's Thirteen were re-filed under their own Sources for the same reason.

  • improved
    The deposit receipt, and the Library's welcome

    The deposit result prices its bonuses rather than listing them, and a courier that cannot be sent is refused with a reason instead of quietly not being offered. The Library's welcome from the Librarian can actually fire now, he glosses what a Source is, he waits for the room rather than talking over the arrival, and the daily login reward stands aside while he is speaking.

The daily login ladder

The daily login reward is one of the two sanctioned exceptions to the rule that no game mechanic generates gold, and it is there to protect a streak. It was doing the opposite.

  • improved
    The ladder runs to a year
    WasMilestone bonuses stopped at day 30, so an unbroken streak past the first month paid a flat base forever
    NowMilestones continue at days 60, 100, 180 and 365, paying 60, 75, 100 and 200 gold

    The intervals roughly double and the bonuses strictly climb, as they already did inside the first month, and the first month is still the push. A full unbroken year pays 2,335 gold where it used to pay 1,900. These are flat figures and take no modifiers.

  • reduced
    A milestone pays the first time you reach it
    WasThe day 7, day 14 and day 30 bonuses paid again on every climb, so deliberately breaking a streak and rebuilding it paid more per day than keeping it
    NowEach milestone pays once, the first time your best streak reaches that day

    One live account had already collected the day 7 and day 14 bonuses twice without trying. The gate reads the best streak your account has ever reached, which was already recorded and already correct for every account that existed before the rule, so nothing needed backfilling. A player who once reached day 57 and is now on day 3 is also no longer advertised a day 7 bonus the claim would refuse.

Opening the game, and opening the map

  • improved
    The app shell asks once
    Was34 requests in the first second and a half of a cold open
    Now4

    One read composes what twenty one separate calls used to fetch, and it runs fewer database statements doing it than the calls it replaced. Measured on staging with a fresh account. Each of those hooks keeps its own fallback, so a field the composition cannot answer is still fetched on its own rather than missing.

  • improved
    The map paints from the zoom you are at
    WasAll four terrain detail levels were fetched before the map painted anything
    NowIt paints from the level your zoom needs and streams the rest in behind it

    Which level that is now follows the pixels your device actually draws a plot at, rather than the zoom number alone. The largest set is fetched only when a zoom genuinely needs it and is released with the canvas, which matters most on a phone, where that memory is charged against a tab with a hard ceiling.

  • improved
    City art loads per tier
    WasAll eleven city tier sprites loaded on every map open, most of them for tiers nobody on screen had
    NowA tier loads when a city you can actually see needs it
  • improved
    A lost graphics context recovers

    A browser reclaiming the map's graphics context used to end the page. The scene rebuilds itself now.

Fixes

  • "The Wound" a decode is paid once, however many times it is collected

    Collecting a decode ran with no transaction at all: it read whether the decode was already closed, closed it unconditionally, and then paid. Several requests arriving together all read it open, all paid, and each decoded a level, which reached the completion bonus early. The Steward's sweep calls the same code, so a player's own Collect racing the sweep double-paid with nobody doing anything unusual. Only the request that actually claims the decode is paid now.

  • "The Wound" a fragment level decoded once is paid once

    The corruption state belongs to the player, so two of your envoys could each finish a pass at the Wound and both decode the same level: two levels' worth of Cultural Influence for one level decoded, and the completion bonus twice at the last one. The second one reports where the fragment stands and pays nothing.

  • "Wonders" viewing an investigation's results pays every reward exactly once, or nothing

    Viewing results claimed the investigation, then paid about nine rewards that each committed on their own, then wrote the page. A reward that failed part way through released the claim, and the retry paid the ones that had already gone through a second time: the fragment's culture, the first-investigation multiplier, the pilgrim bonus and the measured hands. A process that died before releasing it left the investigation claimed, unpaid and blank for good. Claim, rewards and page are one transaction now, so it is all paid or none of it is and the investigation stays retryable.

  • "Wonders" one envoy starts one investigation

    Two requests for the same envoy, from two tabs or from a retry, could both pass the "is this envoy busy" check and both insert: two investigations and two sets of rewards out of one envoy in a window meant for one.

  • "Wonders" one wonder of each type exists, enforced by the database

    Nothing had ever stopped a second wonder of a type being created, and every reader assumes there is one.

  • "Foundation Stone" the ceremony runs once per player, not once per envoy

    Examining the Stone is meant to be a once-per-player moment and its "already examined" check was reading a table that records it per envoy, so a second envoy ran the whole ceremony again.

  • "Wonder Race" a supply run that cannot be resolved no longer takes the wonder page down

    Reading the wonder's state resolves your own due supply runs first, and that catch-up only handled one kind of failure. A lock contention on the shared build row escaped it instead, so the page answered with an error for that player on every request for as long as it lasted. The failure is now contained the way the sweeper beside it already contains it: logged, the run left due, the sweeper still owning the retry.

  • "Wonder Race" a one-time world announcement goes out once

    Three announcements set their state and then announced without checking whether this call was the one that moved it, so two overlapping ticks both announced: the race opening, the Call going out, and the Foundation Stone unlocking.

  • "Envoys" a double-tapped Rush charges once

    Rush read the envoy, charged diamonds in a transaction of its own and then back-dated the timer. Two overlapping presses both read the envoy as still travelling and both paid, and the loser then found the envoy home and answered as though it had worked: charged twice for one skipped journey. A timer that has already run out has nothing left to buy, so the loser of a double tap now arrives for free.

  • "Envoys" two polls landing together no longer spend two hotel rests on one arrival

    Arrivals are finalised by the same read the client polls, and it took no lock, so two polls could both finalise one arrival and both spend a rest charge. The Hotel's guest count and the School's enrolment count were being read and written back the same way in six places, so a racing check-in and check-out could lose a +1 or a -1 with nothing to correct it, and a School counted full could refuse enrolment with nobody in it. Both counters were recounted.

  • "Diamond Market" two listings cannot reserve the same diamonds

    Creating a listing escrows nothing: the check that you still have the diamonds is the whole guard, and it read your balance unlocked. Two listings of your last hundred diamonds could both go live against the same hundred, and whichever sold second failed its buyer and then sat there active and unfillable.

  • "Diamond Market" diamonds promised to a listing cannot be spent out from under it

    Three spends take diamonds from a city's store rather than your pool and so never checked what a listing had reserved: merging a city destroyed its whole stored diamond balance, a Distribution Hub transfer destroyed a fifth of what it moved, and a building upgrade deducted its cost. Each left a listing backed by nothing and failing every buyer. A spend that would leave the pool below its reservations is now refused with the reason, and a listing its seller can no longer cover is withdrawn rather than failing the person trying to buy it.

  • "Distribution Hub" diamonds sent between cities land whole

    The transfer clamped everything it moved to the destination's storage ceiling, diamonds included, and what the clamp cut was destroyed without a ledger row. Diamonds are currency and are cap-exempt everywhere else in the game. The 20% transit loss is unchanged and is still recorded.

  • "Trade" a broker is never a party to the trade it brokers

    Bought through a host's market, the second routing hop asked for a broker between the host and the seller without excluding the buyer, so a broker-skilled buyer routed to both ends was picked as their own broker and kept 5% of both legs, the seller's half funded by the person they were trading with. Every party to a trade is now excluded from brokering it.

  • "Trade" one trade route per pair of cities

    Two reciprocal requests, or a cultural bond opening a route at the same moment as a player, could both find nothing and both open one. Each route pays Cultural Influence on completion and every reader assumes a single route per pair.

  • "Trade" a market that cannot be read says so, instead of looking empty

    The market, your own offers, your brokerage takings and your trade routes all read the response without checking whether it had worked, so every refusal, rate limit and server error rendered as a market with nothing in it and was stored as a success, so nothing retried and nothing told you. Relatedly, a land that could see no offers at all answered with an error rather than an empty market, which that same defect had been hiding.

  • "Land" a reclaimed plot refunds every mission owner

    A claim landing on a wilderness plot cancels the exploration missions still heading for its tiles and refunds what each owner paid. Those owners are other players, and their stock was read and written back whole, so a collection of theirs during the claim was lost, or the claim failed outright. Claim and merge locks the city it merges into, as merging already did.

  • "Exploration" a sponsor who already holds the fragment no longer wedges the host's mission

    The branch written to let a sponsored copy fail harmlessly could never run, so a sponsor whose envoy already held that fragment aborted the host's completion and rolled it back. The retry re-rolled the same fragment and hit the same held copy, which left the host's envoy stuck on a finished mission permanently.

  • "Auto Explore" one player's refusal no longer stops auto-explore for everybody after them

    An ordinary refusal thrown inside a transaction stopped the rest of that tick, so every envoy queued behind it failed as an indistinguishable skip, and then again on the next tick. Arrivals and lesson completions had the same hole.

  • "Auto Upgrade" a building you arm is not un-armed by the sweep

    The sweep prunes buildings that are absolutely maxed and rewrote your whole armed list from a copy it had read at the top of a run that can take a long time. A Quarry armed in between was lost to a prune that only meant to drop a finished Sawmill.

  • "Ruins" a ruin's permanent name cannot be written over

    Two naming requests in flight together both read the ruin as unnamed and the second wrote over the first, so a permanent mark on the shared map changed once. The loser is now refused with "This ruin has already been named".

  • "Referrals" an invite code cannot close a loop

    Two players entering each other's codes could bind in a circle. A code that would make you your own ancestor, directly or through anyone in between, is refused, and two arriving at the same instant are resolved before anything is granted or announced.

  • "Merge Masters" a merge scores the way the board measures it

    The live path scored a merge differently from the board that ranks it.

  • "Shop" the price you see is the price you are charged

    A cosmetic on sale showed its sale price on the Featured card and its full list price everywhere else: on the Cosmetics tab card, in Try on, on the purchase confirmation and in the Gold tab's shortfall. The server charges the sale price, so a skin actually costing 900 was presented at 1,000, and a player holding between 900 and 999 gold was sent off to buy gold they did not need. Every surface reads the same effective price now, with the list price struck through beside it.

  • "Shop" Welcomer's Standard says how it is earned

    It reads "Invite new players" rather than "Earned through achievements", which is true of it but useless.

  • "Modals" every modal fits the screen it is on

    The Merchant's Hall Purchase modal measured 763px tall on a 360 by 640 phone, with Close 19px above the top of the screen, Purchase 25px below the bottom, and the page behind it locked: a player could neither buy nor cancel. A sweep of all 74 full-screen overlays found four shapes of the same defect, including the Great Library's deposit receipt running off both edges. Every one of them is now capped to the screen you can actually see, browser bars included, and scrolls inside itself.

  • "School" a lecture the day has already been spent on is no longer offered

    The one-per-envoy-per-day window was a clock the client had no copy of, so every reward screen for a collected lecture offered another one directly underneath it and the server refused every press. The action is removed while the window stands, the way a Festival on cooldown already is.

  • "City" a School finishing while the city page is open no longer breaks the page

    The panel declared a piece of its state after an early return, so a School completing under an open page changed what React was tracking between two frames and the page threw.

  • "Map" terrain stops blanking out at high zoom

    Two faults from the terrain streaming work, both leaving the ground transparent past the zoom where the finest set takes over. A texture left undrawn for a minute was being unloaded and re-uploaded from a source that had already been released, so zooming in, out for a minute and back in showed bare canvas. Separately, a detail level's tiles arrived one at a time while the plots that use them were built once, so zooming in while one streamed built plots with holes in them that they then kept.

  • "Festivals", "Diamond Market" and "Foundation Stone" six live notifications now actually arrive

    Six events the server has always published fell through a gap on the receiving side, so the live push each one exists for never happened: a host never learned a guest had arrived at their festival and paid their city, nobody in range was told a Grand Festival had begun, a city's own festival announcement went to a channel the game never listened on, a seller never learned a diamond listing had sold, and two Foundation Stone milestones went unheard.

  • "The Wound" the chain letter says your choice is recorded only once it is

    The decision is permanent and once only, and the outcome sheet opened in the same instant the request was sent, so a request that then failed still told you your once-only choice had been recorded, with the real error rendered behind the sheet. It waits for the answer now, and a failure leaves you free to decide.

  • "Everywhere" a page that does not exist no longer answers with the homepage

    Any address the site did not recognise was answered with the front page, successfully: /city, /shop, /profile and anything at all that anyone invented. Google took two of them at face value and indexed them, so the site had its own homepage in the index three times over, competing with itself. Separately, the site's footer existed only once the application had started, so the nine public pages were links no crawler had ever been given a reason to fetch, and they are now part of every document served.