27 PRs on QA awaiting production, grouped by how they are tested
27 PRs sitting on QA and not yet on production: 15 on Admin UI, 12 on Consumer UI. `origin/uat..origin/qa` is 34 commits / 83 files / +6,586 / -569 on admin, and 27 commits / 79 files / +3,177 / -240 on consumer.
Grouped below by how they get verified, so the interface checks can be run without an engineer.
---
## Tier 1 — testable in the interface, minutes each
These are the market experience work and the blockers. Harrison or Shanelle can verify these directly.
| PR | What it does | How to check |
|---|---|---|
| Admin #350 | "Global" retired in curator copy, now "All Markets" | Search the admin for "Global". Should appear nowhere a curator reads. |
| Admin #340 | Market view indicator | Open any content surface: banner names the market, what you may change, what it serves. |
| Admin #344 | Choose the market before writing, claim what you do not own | Create a post: market chosen first. Try to require a post you don't own, get offered the claim. |
| Admin #356 | Market authoring visibility | Chosen market reaches the server, the view reaches the list, every row says whose it is. |
| Admin #354 | Culture counts: four named numbers | Header, market view and save confirmation all quote the same numbers. This is the 10-vs-6 fix. |
| Admin #352 | Market-scoped Today content saves | Enter text in Europe's Today view, save, reload. **This was Shanelle's blocker.** |
| Admin #346 | Image upload 413s | Upload a 4MB image. Our own nginx was capping at 1MB, now 32MB. |
| Consumer #684 | Active-tab re-tap resets the tab | Tap the already-active tab. Previously inert. |
## Tier 2 — testable with a specific setup, still no engineer
| PR | What it does | How to check |
|---|---|---|
| Admin #334 | Analytics district level via the shared hierarchy rule | Open the district dropdown: seven groups, no country names, no "no district", matches My Team. |
| Consumer #692 | Audio device released on unmount | Start a practice session, leave the screen, confirm the mic indicator goes out. |
| Consumer #686 | Audio device refusal gets its own retry budget | Deny mic permission: readable error, not a dead end. |
| Consumer #680 | Failed audio worklet retries, `audioEngineFailed` in 15 locales | Force a worklet failure, confirm retry and a localised message. |
| Consumer #682 | Sidecar `culture_feed_sound_set` binds its identity param | Change the feed sound setting and confirm it persists for that user. |
| Consumer #678 | Zero-retention transcript access | Confirm advice gets the words and transcript fetch isn't skipped on an empty buffer. |
| Consumer #706 / Admin #360 | Week boundary Monday to Tuesday, cutover 2026-09-01 | Picker snapping to Tuesday is checkable now; full behaviour only across the cutover. |
| Consumer #676 | Store-group hierarchy: district, then area, then country | Confirm the consumer hierarchy matches admin and analytics. |
## Tier 3 — needs logs, a database or a load condition
| PR | What it does | How it's verified |
|---|---|---|
| Consumer #690 | Identity memo keyed on identity, not token (the 100% cache miss) | Watch cache hit rates. |
| Consumer #694 | Sentry issue titles carry the failing query name | In Sentry. |
| Consumer #688 | Sentry: one issue per failing named query | In Sentry. |
| Consumer #700 / Admin #348 | nginx header buffers sized for the ALB cookie | Only under whatever condition produced the 400s. |
| Consumer #704 / Admin #358 | Recombee dormant behind `RECOMBEE_ENABLED` | Publish an item, confirm no sync fires. Verified by absence. |
| Admin #342 | Probe parses date types the way the pool does | Compare probe output against a real query. |
| Admin #332 | Transcript rendered in the shape RDS stores | Compare rendered transcript against the stored record. |
| Admin #328 | Analytics HQ: cancelled query no longer renders as a real zero | Cancel a query mid-flight, confirm no zero appears. |
| Admin #338 | Market Experience v2 foundation | Underpins #340/#344/#350/#354/#356; verified through those. |
---
## Suggested order
**The eight Tier 1 checks first.** They cover the work that was actively blocking people, need no setup, and are the ones where a problem would surface in front of Shanelle or Joon.
**Worth noting:** Admin #346 confirms the image upload diagnosis exactly. Our own nginx was capping at 1MB, which is why a file well under the stated 2MB limit was rejected with a 413. At a 32MB ceiling the 5MB application limit is comfortably safe.
Log in to comment and vote
No comments yet
Be the first to share your thoughts.