Migration recap · week of October 19 · 2026

The bug that only happened once per customer.

Punch-list week: a cart badge that failed only on the very first add, a colleague’s backlog of bug reports cleared one investigation at a time, and 2,939 products that had no business being on the shelf.

The badge story first, because it carries the week’s lesson. The cart’s red quantity badge wasn’t appearing when a customer added their very first item from an empty cart — but worked perfectly on every add after that. The worst kind of bug: it fires exactly once per customer, on the add most likely to be their first impression. Rather than poke at it, we pulled the platform’s actual source code and read how the badge really works — and there it was: when the cart is empty, the platform renders the badge hidden, and our code was dutifully updating the number inside a badge it never unhid. Two fixes were on the table: patch the badge locally in the module that noticed, or dispatch the standards-blessed cart event and let the one component that owns the badge handle it. The local patch lost — it would have been the second place in the codebase that knew how badges work, and second places drift. The event fix shipped, and the trap went into the standards file as a documented rule, which means the next surface that adds to a cart can’t reinvent this bug. Fix the instance, then make the class impossible.

Then the backlog day. A colleague’s accumulated bug reports and questions, processed one at a time, each investigated against the actual code before anything got changed. Three invoice links turned out to quietly bypass the proper document route — fixed. A “View Order” button survived on cancelled-order cards where it had nothing useful to say — removed. A quantity spinner accepted nonsense — bounded. Shopping lists gained checkbox selection, so “add these three” no longer means “add all forty.” And one fix earned reusable status: many of our legacy product descriptions are just the product’s name again — a “More” link that expands to tell you nothing. A single shared rule now detects that and hides those links wherever they occur — applied across seven surfaces in one pass, from order cards to invoices to the shop grid. It’s an honest stopgap, not a fix: the enrichment machine from entry 13 exists to replace those descriptions with real ones, and when it does, the links come back on their own.

The dig also turned up this week’s archaeology number: 2,939 products on staging that are archived — retired, not for sale — yet still flagged as published on the website. That’s not a display bug to patch around; it’s a data condition from the sync pipeline, so it went to the colleague who owns that pipeline as a flagged finding with the query to reproduce it. Patching symptoms we don’t own is how two systems drift apart politely; the rule from entry 7 still stands — one truth, and questions go to its owner.

Customer-visible ship of the week: “in cart” pills. Every surface where an item can be bought now shows a count — “4 in cart” — beside the previously-purchased pill, so a customer working through a parts list stops wondering whether they already grabbed something. Small feature, built on the same badge-event plumbing the week’s bug fix just hardened, which is a satisfying bit of timing.

And the next big thing opened: a full style sweep — an audit of CSS and markup drift across every customer-facing module. The recon came back as a 732-line report identifying thirteen distinct pattern families, from dead rules to modules restyling classes they don’t own, organized into batches. Before trusting any of it, the citations were spot-checked file-by-line against the repository — sixteen-plus held up, zero failed. Recon verified, batches tiered by decision weight, execution not yet started; the sweep will show up in these recaps as it lands. Also this week, two “should we care about this?” vendor emails — a carrier connector announcement, a new PDF tool — each got a researched no action needed. Knowing when the answer is “nothing to do” is also work, and cheaper this week than the week it would have interrupted.

No milestone this week — just the compounding kind: a bug class retired, a backlog emptied with receipts, and a finding routed to its owner instead of papered over. Launch-ready looks less like fireworks and more like this.