The ID.me correction, and Home rebuilt for browsing

29 Aug 2026 · three commits on main, pushed · 97 app tests · 130 pipeline tests

Read this part first. Basefox was publishing a discount that does not exist on 82 brands, at 0.95 confidence, with a verified mark against it. It is fixed and the corrected data is in the app. Everything else below is downstream of that.

What went wrong

ID.me's advertisement for itself was being read as every store's offer

Every store page on ID.me Shop carries one sentence: "Special savings of up to 40% off for Military, Veterans, Nurses, Teachers, and more." That is ID.me marketing its browser extension, and it sits on all 3,000 stores.

The parser read each page as one blob of text and took the first N% off for Military it found. That was the banner, every time. Hoka's real offer sat on the page directly above it and never matched at all, because ID.me writes it as "15% off for eligible Military Members".

So the app told members that Nike, Hoka, Oakley and 79 others give 40% off. A member acting on that gets to the till and finds out we were wrong. This is the specific failure the product exists to prevent, and a confident wrong route is worse than no route at all.

82
brands published at a fabricated −40%
63
routes that were never real, now removed
18
amounts corrected to the store's real rate
3
corrections that match the research your collaborators gathered

Verified against ten live store pages

BrandWasIsBrandWasIs
Hoka−40%−15% YETI−40%−20%
Columbia−40%−20% Casper−40%−5%
Brooks−40%−25% Lowe's−40%−10%
Samsung−40%−30% Nike−40%none
Oakley−40%none Peloton−40%none

Casper 5%, Lowe's 10% and Samsung 30% match what Claude Cowork and ChatGPT found independently, which is the strongest confirmation available without a person standing at a register.

The fixtures could never have caught it

They were hand-written markup with no banner in them, so they tested a page ID.me has never served. They are now trimmed from real store pages, keep ID.me's own class names, and every one of them carries the 40% sentence — so a regression that reads it fails in the suite rather than in a member's hands.

Both new publish tests were confirmed to fail with the fix removed. A test that has never been seen to fail is a test that has not been checked.

A store checked and carrying nothing is now a published fact

When a store had no military offer the pipeline emitted nothing at all, which threw away the only record that the page had been read. A brand swept that morning looked unexamined.

It also broke the change feed. When a published route stopped being emitted, "Nike dropped from ID.me Shop" pointed at a route no longer in the dataset, and the app drew a row with no brand name, no logo and nothing to tap. 63 negatives now carry their sweep date, following the convention the GovX sweep already set.

Home, rebuilt for the visit with no errand in it

"I absolutely want it for discovery — the 'treasure hunt' feel like you get at Costco. But of course if they are like, I need clothes, where can I get a discount? I want that answered too. One wrinkle I see — browse by category has a LOT of icons."

"Worth a look" — the shelf

Home used to run out after the exchange cards. With nothing in the change feed and no watched categories, the lower half of the screen was empty and the only way in was to already know what you wanted.

The new shelf draws from the 68 brands with a verified discount, takes one pick per category so nothing sits next to the shelf it came from, and rotates daily. The arrow re-rolls it, because poking at it is the point.

Picks are weighted toward the bigger discount rather than sorted by it. Sorting shows the same six brands until the data moves. A flat shuffle put three −20% cards in the first four, which is the sameness the shelf exists to break. Weighted sampling leads with something worth seeing and is still different tomorrow.

The category row: eight, not twenty-four

All of them in one scrolling row read as a wall to get through, and several tiles opened on nothing — Insurance carries four brands and Memberships three, and not one of the seven has an offer. A tile is now sized by the brands behind it a member can actually use, and the rest are one tap away under "All 24".

An ID.me offer now opens the brand's store page

Tapping a −20% Columbia card opened shop.id.me and left the member to go hunting for the discount the card had just shown them. ID.me is 36 of the 42 routes that state a real amount, so that was most of what the new shelf puts in front of someone.

The store path had been in the registry all along — it is how the sweep fetches the page it reads the offer from — but it was marked pipeline-only, so the app could not see it and could not rebuild it. Published now, on 99 of 162 brands.

Two changes worth your eye, because I made the call myself

The discount pill is gone from plain offer cards. The card read "−20% for military" next to a "−20%" pill — the same fact twice, spending the one piece of colour the row has. Deadlines and "New" marks still earn theirs. This changes offer cards everywhere, not only on Home, so it is the change most likely to be one you want reversed.

I tried the lead find as a hero card and took it back out. The hero layout sets a 17pt caps headline against a full-bleed illustration because it was drawn for the narrow carousel card. At the width of the screen it turns the phone into a billboard and the type into a caption. If you want hierarchy on that shelf it needs a fourth density, not a stretched hero.

What the data can actually support

42
brands with an offer that states a real amount
26
listed on GovX with the amount unknown
94
checked, and carrying nothing
5–62%
the spread now, against 82 identical −40% before

Nine of twenty-four categories have no priced offer at all

CategoryPriced offersCategoryPriced offers
Footwear10 Accessories2
Apparel9 Fitness2
Electronics8 Kitchen1
Running7 Entertainment1
Outdoor6 Mobile1
Home5 Attractions1
Beauty4 Auto, Baby & Kids, Pets,
Gifts, Memberships, Insurance,
Moving, Software, Storage
0 each
Travel4 Workwear3

The highest-leverage gathering, in order

Open, and yours to call

Q1  Should the pill come back?

I removed it as a duplicate. It was also the only colour on a standard card, and the shelf is flatter without it. The alternative is to keep the pill and change the headline to lead with the brand name instead of the number.

Q2  Do the GovX-listed brands belong on the shelf?

Right now a find must state a number, so the 26 "Via GOVX" brands never appear as finds — though they do count toward a category tile's depth. That inconsistency is deliberate and worth a second opinion.

Q3  What should Home say when there is genuinely no news?

The change feed is empty today and the section simply does not draw. That is honest and it is also silent. With the shelf there, the page no longer looks broken — so this may need nothing at all.

Q4  Footwear and Running read as the same drawing

They are not — illus-sneaker and illus-running-shoe are separate objects. At 21pt inside a 56pt circle they are indistinguishable. Either one of them wants a more distinct silhouette, or Running does not need its own tile.

Carried over, untouched