UI/UX Audit Worklist
AstroMatrix · Flutter app · register snapshot 2026-10-16

UI/UX audit: connected problem groups and the Flutter worklist

Every UI/UX complaint from in-app support, App Store and Google Play reviews, and Discord was linked to the issue register. Related rows are grouped by the cause they share, each group is ranked by customer impact, and the remaining work is assigned. All of it is now written into the register itself (app_issues), so this page is a view of the register, not a separate source.

Each group has one group record (the row named in the table) carrying the full evidence, members, gaps and worklist. Every member row has a note pointing to it, listing the customers linked to that row.

834register rows classified by meaning: 220 UI, 169 partly UI, 445 not UI
389UI-relevant rows, each in exactly one of 20 groups or 3 non-worklist buckets
2,868complaints linked: 1,692 to a specific row, 1,153 to a group, 23 not UI
1,248distinct support customers with a linked UI complaint (Jun 1 – Oct 17)
334store reviews read (Apple 230, Play 104); 176 about the UI
5new rows filed (ISSUE-731…735): defects no existing row covered, 3+ customers, confirmed in code

What the evidence says

Release-ready batches

Built from build ancestry on 2026-10-16. Live build: 11.1.7 build 300100098. "Local" means the commit exists only on the new-ui branch on Mark's machine; nothing has been pushed.

RB-1 Code-complete, local only: push, then build.

  • 26b62c73 Android checkout (ISSUE-696/697). Reviewer recommends approving the push, subject to normal release checks.
  • ea6c1c1f A refused journal edit says it failed instead of promising a retry (ISSUE-392).
  • dd78087a Matrix keeps Moon transits outside the self matrix (ISSUE-688).
  • 4ec90fc9 Back from a chart opened inside a detail screen, with no date leak (ISSUE-420). Verified on the emulator.
  • 96f4d84d…e40b04e3 iOS widgets (ISSUE-385).
  • Also on the branch, from another session: 90539a5c, 988f98ad, c1f10733 (FEATURE-11/26 Daily changes). Whether they go in this batch is Mark's call.

RB-2 Pushed, in build 99 / 11.1.8, not live. Paywall cache after purchase (ISSUE-572), Matrix empty state (ISSUE-661), Matrix images (ISSUE-686), IAP build fix (ISSUE-282), help sheet (ISSUE-203), the FEATURE-11 Daily layout and the ISSUE-228 startup change. These ship with the next release, which is gated by the 11.1.8 Android hold. Build 99 already contains the held startup change and has reached a few Android users.

RB-3 Live in 11.1.7: verify only, no code. ISSUE-602 (tarot edit reaches the server), house cell (264/274/326), aspect agreement (404/60/58), login escape (48), language persistence (39), 0,0 charts (371/518, by metric), old/new UI toggle (UX-2), renderer failures (503) and splash timeouts (7) by build, review prompt (214), South Node (183), angle labels (479), paywall copy (163).

RB-4 Needs a product decision first. Visible profile actions (ISSUE-731); support attachments (ISSUE-732, deferred by the reviewer); maximum text scale (ISSUE-734); empty birth-date field (ISSUE-573: the reviewer says yes, but the form isn't in the Flutter code); navigation slots and search (UX-12, FEATURE-17, FEATURE-12); whether to release 11.1.8 on Android (ISSUE-228, kept separate from the checkout fix).

RB-5 Needs investigation before a fix exists. ISSUE-700 (now server-side), 511, 691, 735, 431, 111, 499/468, 484/673, 692, 454 (Node), 610, 633.

Two tracks: defects vs. features people can't find

Every candidate row was checked against the code before any change. A row where the capability exists and works, but users can't find it, is marked discoverability and kept apart from real defects. In the register these rows carry readiness=dark plus a missingConsumer line naming what users can't reach, so list --readiness=dark shows them. Nothing on this track gets rebuilt.

Discoverability: the code exists and works

  • Set main user, edit and delete a profile (ISSUE-731): Profile → Users → Manage Users → the 20px ⋮ on a row. They're absent from every other profile list, including the "Select User" sheet you get by tapping your name.
  • Support entry (UX-1b), theme switch (UX-4), tappable chart wheel (UX-16), store (FEATURE-3), Harmonizer behind "Reflections" (FEATURE-31), relocated chart as main (ISSUE-495), Friends under "Users" (ISSUE-685), widgets never mentioned (FEATURE-25), full planetary-hours list, Validate Purchase.
  • Navigation umbrella rows (UX-1, UX-3, UX-11, UX-12, FEATURE-12, FEATURE-17): placement decisions, not code defects.

Defects: the code or server is wrong

  • Fixed locally today: ISSUE-392, ISSUE-688, ISSUE-420 case E.
  • Open: ISSUE-734 (text scale unclamped), ISSUE-454 (Node: main user promoted by a non-unique id, likely behind 610 and 692), ISSUE-633 (probable: the + in the name sheet always adds a partner; not yet run on a device).
  • Left alone because they already work: ISSUE-602's fix is live, and ISSUE-700's client entitlement protections have shipped since August. Rewriting either would have broken working code.
  • Mixed rows have the split recorded on the row: UX-6, ISSUE-544, ISSUE-555, ISSUE-178 (search code exists but has zero callers), FEATURE-58, FEATURE-70, FEATURE-89, FEATURE-33, plus guest accounts having no log-out or delete.

Problem groups, ranked

Customers = distinct in-app support senders linked to the group. Bars show support customers per month, Jun → Oct (Oct runs to the 17th). Release status uses build ancestry: 11.1.7 build 300100098 is live on Android (since 10-13) and iOS (since 10-15). Build 99 is a small rollout, and 11.1.8 is held on Android.

#PriorityGroupCustomersReviewsTrendOwnerRelease statusRemaining work
1P1Premium not recognised in the UI: paywalls, ads and profile caps for paying users
G05 · group record ISSUE-700 · 27 rows
1351321 · 31 · 55 · 30 · 8Flutter UI engineering (client gating) + payments/Node (recording, sync)ISSUE-572 fix only in limited build 99; ISSUE-696/697 fix 26b62c73 is local and unpushed; ISSUE-163 copy shipped but unverified.Fix ISSUE-700 (unknown must not render as unpaid); push+release 26b62c73; release build 99 widely; verify paywall copy.
2P1Screens stuck loading, blank or failing with no message
G08 · group record ISSUE-503 · 22 rows
51288 · 4 · 7 · 21 · 15Flutter UI engineering (client init/renderer/empty states); infra for ISSUE-439503/513/638 fixes are in shipped 11.1.7; ISSUE-228 startup fix is in 11.1.8, which Mark has held on Android.Split ISSUE-7 timeouts by build; re-measure 503 on 11.1.7; investigate 511, 691, 735, 431.
3P1Matrix/Facets tabs empty, wrong or missing images
G10 · group record ISSUE-661 · 13 rows
3313 · 1 · 0 · 1 · 29Flutter UI engineering (release + filter fix); Node for image resolutionClient empty-state fix 63caa39d and image fix c72fa47b are only in limited build 99.Release build 99/11.1.8 widely; fix ISSUE-688 Moon filter.
4P1/P2Findability: features exist but users can't reach or recognise them
G01 · group record UX-12 · 33 rows
1831435 · 49 · 39 · 38 · 27Mark (navigation decisions) then Flutter UI engineeringFEATURE-40 (transits label) COMPLETE on iOS 11.1.7; FEATURE-12 PARTIAL; ISSUE-175 shipped.ISSUE-731 (decision on visible form, then build). Structural navigation (UX-12/FEATURE-17) waits on Mark - no redesign proposed.
5P1UI says saved, nothing was saved (silent save failures)
G09 · group record ISSUE-392 · 6 rows
921 · 2 · 0 · 5 · 2Flutter UI engineeringNo fix in any build.One small client fix closes both; surface save failures.
6P1/P2Back/stack navigation and dead-end routing
G02 · group record ISSUE-420 · 18 rows
602 · 2 · 1 · 3 · 1Flutter UI engineering514a15df (main-tab back) shipped since 11.1.6.Fix case E (path-only isMainTabRoute); ISSUE-631 report never opens; ISSUE-491 wrong target.
7P1 (Node) / P2 (Flutter)Wrong person / main user / profile list shown
G04 · group record ISSUE-454 · 28 rows
4016212 · 44 · 68 · 69 · 29Node (mainUser writers, identity) - Flutter only for ISSUE-692 and ISSUE-731Server fixes deployed for several members; 454 still failing.Node: 454 writer fix. Flutter: ISSUE-692 edits revert; ISSUE-731 controls hidden.
8P2Old UI vs new UI: switching fails, legacy screens broken, 'give me the old UI back'
G03 · group record UX-2 · 10 rows
1192022 · 31 · 28 · 35 · 8Flutter UI engineering (toggle); demand is driven by G01/G05/G08Unknown - not device-tested since the retraction.Device-test both directions on 11.1.7; demand falls only when G01/G05/G08 improve.
9P2Language shown in the UI is wrong or mixed
G12 · group record ISSUE-39 · 14 rows
8558 · 18 · 39 · 13 · 13Node (fallbacks, translations) + Flutter (ISSUE-39 persistence)ISSUE-39 client commits are in 11.1.7, unverified.Verify 39 on device; Node fallback for 729.
10P2In-app support entry: hard to find, taps give no feedback
G15 · group record ISSUE-331 · 13 rows
58111 · 14 · 12 · 22 · 4Flutter UI engineering; Mark for ISSUE-732ISSUE-331/429 fixes deployed; residual repeats.ISSUE-733 items 1-2 (small); ISSUE-732 is a capability decision.
11P2Chart screen readability and display
G06 · group record ISSUE-264 · 22 rows
49910 · 19 · 9 · 11 · 8Flutter UI engineeringHouse-cell (264/274/326), angle labels (479), South Node (183) commits are in 11.1.7 - register stages still say committed.Run the house-cell tester brief on 11.1.7; clamp text scale; 704 layout.
12P2Two chart surfaces disagree about the same chart
G07 · group record ISSUE-404 · 17 rows
2824 · 8 · 7 · 11 · 5Flutter UI engineering; Node for ISSUE-384 cacheAspectClass fix in 11.1.7.Verify 404/60/58 together; fix grid truncation (499/468/639); asteroid grid (111).
13P2Relationship/synastry screens: stale partner, swapped names, layout
G11 · group record ISSUE-484 · 8 rows
2743 · 9 · 8 · 5 · 6Flutter UI engineeringNo fix.Fix the secondary-chart race once; close 673 with it.
14P2Onboarding and birth-data entry
G16 · group record ISSUE-371 · 18 rows
2915 · 11 · 3 · 9 · 5Flutter UI engineering371/518 fixes in 11.1.7.Measure 0,0 rate on 11.1.7 clients; ISSUE-573 default date (decision).
15P2 (Node)Login, password and account screens
G18 · group record ISSUE-216 · 9 rows
248665 · 18 · 118 · 33 · 18Node (auth/reset)Server fixes deployed.Node: recheck 324 against the post-close reports. No Flutter item identified.
16P3Journal and tarot screens: empty tabs, broken draws, missing context
G19 · group record ISSUE-611 · 22 rows
1815 · 3 · 4 · 1 · 6Flutter UI engineering-611 repro, 725 VoiceOver labels.
17P3Ads and prompts interrupting or blocking the UI
G14 · group record ISSUE-16 · 12 rows
12142 · 1 · 5 · 4 · 2Node (ad config/serving) + Flutter (prompt timing)-Node: 213/335. Flutter: verify 214.
18P3Home-screen widgets
G17 · group record ISSUE-385 · 5 rows
410 · 1 · 1 · 2 · 0Mark (push) then FlutterISSUE-385 commits are local and unpushed.Push; 728 DST; 460 Sabian widget.
19P3Raw data, placeholders or apologies rendered as content
G13 · group record ISSUE-566 · 11 rows
704 · 1 · 1 · 2 · 1Node/content-Node/content owned; no Flutter worklist item.
20P3Crashes, freezes and platform services (push)
G20 · group record ISSUE-282 · 14 rows
1143 · 1 · 3 · 4 · 1Flutter (native/platform)ISSUE-282 fix in build 99 only.Platform crash work, outside UI layout.

Not on the worklist, recorded for complete coverage: X1 feature requests and product bets (46 rows, parked because the audit adds no features); X2 content or calculation errors that the screen displays faithfully (22 rows, Node/engine/content); X3 website-only (4 rows).

Flutter UI engineering worklist

Every item is an existing row with owner, nextAction and blockedBy set in the register. Rows owned by Mark are the push and decision steps that gate Flutter work. Nothing here is a new feature or a redesign.

RowGroupOwnerBlocked byNext action
P1 · 11 items
ISSUE-700G05payments/NodeinvestigationServer-side: find why a verified not-paid reaches payers after an update. The client gating protections already exist and shipped (aa18a464); do not change them
Possible premium/saved-profile reversion after an app update -- one Play review, no support-channel corroboration found
ISSUE-696G05MarkapprovalMark: push 26b62c73 (new-ui, local only) so the Android checkout fix can go into the next Android build
Android checkout loses buyers to billing errors: 39% of Android buy-taps complete vs 60% iOS (null offer token, developerError, BillingClien
ISSUE-697G05MarkapprovalMark: push 26b62c73 (new-ui, local only); Node recording fix 2121d073 is separate - then re-run this row's 48h buy-tap vs payments-row check
47 buy-tappers' apps confirmed a purchase but no payments row appeared within 48h -- possible unrecorded payments / missing entitlement
ISSUE-572G05Flutter UI engineeringdeploymentRun the verifyRoute on a device with a sandbox store account: hit the 5-profile cap, buy premium in that SAME session, tap Add Profile again without restarting -- it must proceed, not re-show the paywall. Not done here: a real paid transaction is required, the S23 was not attached on 2026-10-14, and a signed release build is still blocked (android/key.properties absent, no keystore). Unit rule + full suite + Android debug build are green; the live consumer path is NOT demonstrated, so this is not 'tested'.
Paid users re-shown the add-profile paywall repeatedly in one session — UserService's profile-limit cache never invalidates on purchase/rest
ISSUE-7G08Flutter UI engineeringinvestigation_verify.js reopened 2026-10-15 (252 init-timeout events / 176 uids in 72h): split those events by build to see whether 11.1.7 still times out at splash, then trace the init path that waits
App crashes — split into 3: splash-hang timeout (fix real, but "outage-only" framing challenged 2026-09-10), blank/black screen (FIXED, dev-
ISSUE-661G10Flutter UI engineeringdeploymentFlutter-side investigation (read-only for this session/role) -- reproduce a Full Report / Matrix comparison on an empty-filter combination and relationship/synastry compare, confirm the 'No items found...' exception path, and replace the raw exception with an empty state. Flag to whoever owns Flutter; multiple live customers hit this same day.
Full Report / Matrix comparison throws 'No items found for the current tab and filter combination' -- cluster of reports 2026-10-11
ISSUE-688G10MarkdeploymentFixed locally (dd78087a): push with RB-1, then check a relationship matrix lists Moon transits
Every Moon transit is dropped from the synastry and transit matrices by a rule whose own comment says it is for the self matrix only
ISSUE-731G01Flutter UI engineeringapprovalDiscoverability: the actions exist and work. Mark to confirm a labelled action menu on every profile row, reusing the existing actions
Profile actions (Edit, Set Main User, Delete) are reachable only through a 20px three-dot icon, and not at all from the list reached by tapp
ISSUE-602G09Flutter UI engineeringverificationVerify only: fix c5d77090 is live in 11.1.7
Editing a saved tarot reading has never saved: journal_service.dart PUTs a Node route path to the legacy host and swallows the 404
ISSUE-392G09MarkdeploymentFixed locally (ea6c1c1f): push with RB-1, then device-check a refused edit
Renaming a tarot reading or saving a note never reaches the server -- the call goes to the legacy host on a Node path, 404s, and the UI show
ISSUE-420G02MarkdeploymentCase E fixed locally and emulator-verified (4ec90fc9): push with RB-1, then one Samsung check
The back button does nothing on EVERY screen on Android, so there is no way out of any drilled-in view - a chart cannot be browsed, only ent
P2 · 24 items
ISSUE-163G05Flutter UI engineeringverificationCompare the store/paywall copy in shipped 11.1.7 against the real gate values (profile cap, report gating); fix the copy where it still promises a gate that never binds
The paywall advertises the gate that never binds; the one that binds is free to pass
ISSUE-503G08Flutter UI engineeringverificationRe-measure renderer init failures as share of weekly actives on 11.1.7 only (was 1.14% on 2026-10-12, baseline 3.51%); close if the 11.1.7 share is near zero, else trace the remaining Android WebView init failures
Chart renderer fails to initialise within 10s for ~2,200 users a month, 99.3% Android -- they are shown a red 'Chart rendering failed' box
ISSUE-735G08Flutter UI engineeringinvestigationTrace what renders in the content area of gated_content_widget when the content fetch fails or times out (Oct 5-11 window); confirm whether promo+native ad is the failure state
Report and tarot explanations show only a premium promo or a video ad instead of the content - 4 customers in Oct on 11.1.5
ISSUE-511G08Flutter UI engineeringinvestigationReproduce on Android 11.1.7: daily tarot card shows the same image and no interpretation - check the daily tarot fetch and its empty-state
Daily tarot card shows the same image for every card and no interpretation text, only the card number -- new UI, Android, survived a release
ISSUE-691G08Flutter UI engineeringinvestigationPull [customer]'s session/auth events for Oct and reproduce 'shows logged out, charts fail' on Android 11.1.7
Android app repeatedly shows user as logged out and fails to open charts, for months, on an active yearly subscription
ISSUE-431G08Flutter UI engineeringinvestigationFind where query params are appended twice (NetworkService.get is ruled out per 2026-10-12 note) - check the calendar/moon services' URI building and any interceptor
Every query parameter after the first is sent twice to the legacy calc API, breaking the Moon out-of-bounds and void-of-course calls - and G
FEATURE-12G01MarkapprovalMark: the remaining wayfinding items are placement decisions (search box location, menu labels) - pick them; Flutter implements exactly that
Wayfinding — surface what we already built
UX-12G01MarkapprovalMark: navigation-slot decision (FEATURE-17) - no Flutter work until chosen; the audit does not propose a redesign
NAVIGATION ARCHITECTURE
ISSUE-631G02Flutter UI engineeringinvestigationRelocation city 'report' saves the report but never navigates to it (only a 4s snackbar): navigate to the saved report after save; verify acg_city_report_total outcome=error falls
Astrocartography relocation map "report" tap never shows the report -- repeatable on every city/line
ISSUE-491G02Flutter UI engineeringverificationNot reproducible in code; likely the Users-row sheet titled Account. Ask the reporter before changing anything
Tapping 'Account' opens the Users/profile list instead of the Account screen
ISSUE-692G04Flutter UI engineeringinvestigationReproduce on Android 11.1.6/11.1.7: edit birth place on a saved profile, force-close, reopen - find whether the client never sends the change or the server rejects it
Play Store 1-star: edited birth place on a saved profile will not persist, even after cache clear/force-close/restart
UX-2G03Flutter UI engineeringverificationDevice-check on 11.1.7 both directions: new->old UI and old->new (2 customers say old UI has no way back), with the preference surviving a restart; the 2026-09 fix claim was retracted, so test before claiming
"How do I go back to the old UI?"
ISSUE-39G12Flutter UI engineeringverificationFix commits are in 11.1.7: set a non-English language, restart, and confirm it persists and AI report content follows it; close or narrow
Language support after the update — 3rd reporter 2026-09-11 materially reframes this: the gap is AI-generated REPORT CONTENT staying English
ISSUE-733G15Flutter UI engineeringinvestigationFix items 1-2 in message_detail_screen.dart (cap compose height, allow newline; SelectionArea on bubbles); repro items 3-4 before changing anything
Support chat thread screen: compose box grows out of view with no Return key, replies cannot be copied, and some customers cannot see replie
ISSUE-264G06Flutter UI engineeringverificationHouse-cell fix is in 11.1.7: run the 2026-09-21 tester brief (covers 264/274/326) on iOS at default and 1.5x text size (see ISSUE-734)
Houses are no longer readable in the new-UI chart — 6 iOS reviews in 2026, mean 1.67 stars, and the register has never carried it
ISSUE-734G06MarkapprovalChoose the maximum text scale to clamp to; then Flutter applies exactly that
Device text size passes through unclamped when the in-app text slider is at its default, so the new UI renders enlarged and truncates headin
ISSUE-111G07Flutter UI engineeringinvestigation[customer] confirmed on 11.1.6 the ASTEROID transit/natal grid is still transposed: check the asteroid grid call site for the same missing argument the planet grid fix added
Transit aspect grid on iOS has the transiting/natal axes transposed, and shows a natal-only aspect as if it were a current transit
ISSUE-499G07Flutter UI engineeringinvestigationgetAspectGrid10 truncates to 10 columns, dropping North Node transits: build the transit grid from the full body list; check ISSUE-468 (angles missing) against the same truncation
North Node transits missing from the gridded transit chart, while South Node transits do show -- asymmetric, not a general Node-display gap
ISSUE-468G07Flutter UI engineeringinvestigationConfirm whether ASC conjunctions are dropped by the same 10-column truncation as ISSUE-499/ISSUE-639; fix together
Ascendant-Uranus and Ascendant-Neptune conjunctions missing from aspect chart despite a 10-degree orb setting
ISSUE-404G07Flutter UI engineeringverificationShared AspectClass (c476fba5) is in 11.1.7: device-check graph page vs wheel on the reporter's chart; close 404, 60 and 58 together if they agree
Graph-page aspects disagree with the wheel on the same chart (new UI, Android) - reported three times in three months, never filed
ISSUE-662G07Flutter UI engineeringinvestigationpull the screenshots from feedback@ ([customer] thread, 2026-10-11), reproduce the Lunar Return label swap + Ascendant mismatch on the new UI, trace which component renders the label strings
Lunar Return view: birth-chart/transit planet labels are swapped, and Ascendant shows the wrong value
ISSUE-484G11Flutter UI engineeringinvestigationSecondary-chart fetch race when switching people quickly: drop stale responses (request token / cancel previous) so the wheel always matches the label; ISSUE-673 is the same report, close it with this
Synastry secondary chart gets 'sticky' when switching between multiple people quickly
ISSUE-371G16Flutter UI engineeringverificationThe location/no-time fixes (a1703e07, b36882dd, ee02083e) are IN shipped 11.1.7 - the 'sign-off then push' step is done. Measure the share of new charts saved at 0,0 from 11.1.7 clients only
LIVE REGRESSION: 12.24% of new charts are saved at lat=0 lng=0 with no time and no town, up from 1.4% - 10,174 accounts have that as their M
ISSUE-518G16Flutter UI engineeringverification571b8d2b IS on new-ui/origin and in shipped 11.1.7 (checked 2026-10-16) - the old 'not on any branch' step is stale. Measure 0,0 saves from 11.1.7 clients
A device-side city/timezone lookup failure saves a chart computed for 0,0 — the client turns null into 0 and Node cannot tell the difference
P3 · 14 items
ISSUE-490G08Flutter UI engineeringinvestigationReproduce the blank pattern graphic on Android 11.1.7 (ISSUE-638's fix is in 11.1.7); close as duplicate of 638 if it no longer reproduces
Chart-pattern graphic renders blank (Android, since a recent update) -- signs list but the pattern/house image is missing
UX-6G08Flutter UI engineeringverificationSettings spinner was fixed under ISSUE-189/ISSUE-44; birth-data how-to is ISSUE-731. Device-check settings load on 11.1.7 and close this umbrella if nothing else remains
Basic how-to / dead controls
ISSUE-279G09Flutter UI engineeringinvestigationSave half still unexplained (2026-09-22 note): reproduce Save on a report in 11.1.7 and log which safeLaunch failure fires
Save and Share both report 'failed to launch' — from a FIVE-star review, so it never appeared in any low-rating sweep
ISSUE-48G02Flutter UI engineeringverificationDevice-check on 11.1.7 (fix is shipped): from login and forgot-password, back and the bottom bar both leave the screen; then close
Login screen has no way out — auth dead-end, disabled password-reset return
ISSUE-331G15Flutter UI engineeringverification_verify still sees 5 repeated taps/7d (from 143): split the repeats by app build; if they are on builds with the fix, add a sent/disabled state to the menu item
143 people have tapped the same support menu item 4+ times within 5 minutes — the control gives no sign it worked, each tap is a separate in
ISSUE-274G06Flutter UI engineeringinvestigationTap path is wired but no popup on iOS: reproduce on 11.1.7 during the ISSUE-264 tester pass
Tapping a house reportedly does nothing on iOS — split from ISSUE-264 because the tap path is wired and a layout fix will not address it
ISSUE-704G06Flutter UI engineeringinvestigationReproduce [customer]'s synastry grid on iPhone SE: text overflow/misalignment first (UI); the false/omitted aspect claims go to the engine check
Synastry aspect grid shows a false Part-of-Fortune/Sun aspect and omits a real Pluto/North-Node aspect, plus layout issues on new interface
ISSUE-573G16Node/legacyinvestigationThe 1980 default is not in Flutter code: find the form that supplies it; reviewer recommends the field start empty
1,707 accounts have the form's default birth date (1 Feb 1980, 12:00 PM) as their main chart
ISSUE-611G19Flutter UI engineeringinvestigationReview [customer]'s screen recording (feedback@ 2026-10-08, never viewed) and reproduce the invisible/unclickable cards
Tarot: cards not visible/clickable after a draw, and the same cards keep coming up repeatedly
ISSUE-725G19Flutter UI engineeringinvestigationAdd Semantics labels carrying the card name and meaning to tarot card widgets; verify with VoiceOver on iOS 11.1.x
Tarot section not accessible via VoiceOver on new UI, plus voice setting can't be changed
ISSUE-214G14Flutter UI engineeringverificationReview-prompt timing change is in 11.1.7: confirm prompts are not shown to users with an open support thread (see REVIEW_NUDGE gating) and that old-UI users are counted
The review prompt only counts sessions for NEW-UI users, and fires at session 3 — we ask exactly the cohort that is still disoriented, and n
ISSUE-385G17MarkapprovalTWO SEPARATE DEFECTS ON THIS ROW -- do not close it on the first. (1) DONE: the blank widget ('No planetary hours available' while holding a full hours table), fixed in 96f4d84d with executed behavioural evidence. (2) STILL OPEN AND IS THIS ROW'S HEADLINE: widget and app show different planetary hours at the same moment on the same device, two steps apart in Chaldean order -- i.e. the two surfaces anchor to different sunrises. Nothing in 96f4d84d touches sunrise anchoring. Start there: compare the sunrise/day-boundary the widget computes (PlanetaryWidgetWorker, planetary_sunrise + the same-day guard on planetary_cache_date) against the one the app uses for the same instant, since a widget serving a cached table from a different day would produce exactly a fixed Chaldean offset. Note a planetary hour is NAMED by its ruling planet, so 'wrong planet' and 'two steps apart in Chaldean order' are the same observable, not two reports. Remaining on (1): execute the XCTest bundle on a simulator and verify on a device after release.
Mark: push b8ef6a9a/96f4d84d/1bfd6b68/e40b04e3 (new-ui, local only) for the iOS widget fix
Planetary-hours widget and app show different hours on the same device at the same moment — exactly two steps apart in Chaldean order, so th
ISSUE-728G17Flutter UI engineeringinvestigationReplace the stored scalar hour offset in the iOS widgets with a tz rule (DST); verify across a DST boundary in the simulator
iOS widgets build their day from a stored hour offset with no DST rule, so widget and app can be wrong together for part of the year
ISSUE-460G17Flutter UI engineeringinvestigationSabian widget shows header but no text on iPhone/iPad: check the widget's content source after the Node move (ISSUE-82)
Sabian Symbol widget shows header but interpretation text never loads, both iPhone and iPad

Decisions and pushes waiting on Mark

  • 26b62c73 (Android checkout, ISSUE-696/697) and b8ef6a9a…e40b04e3 (iOS widgets, ISSUE-385) exist only on the local new-ui branch, 6 commits ahead of origin. Not pushed, per standing rule.
  • Android 11.1.8 hold (ISSUE-228): support metadata shows 11.1.7 build 98 in real Android use since 10-13 (45 messages) and build 99 since 10-16. That answers whether 11.1.7 is live at all. The rollout percentage still needs the Play Console.
  • ISSUE-731: confirm the reviewer's recommendation, a labelled action menu on every profile row that reuses the existing actions.
  • ISSUE-732: deferred, as the reviewer recommends. Revisit after the reliability fixes ship.
  • UX-12 / FEATURE-17 / FEATURE-12: navigation placement decisions.
  • ISSUE-573: the reviewer says start the birth-date field empty. The default isn't in the Flutter code, so whoever owns that form has to be found first.
  • ISSUE-734: the maximum text scale to clamp to.
  • Push RB-1: four of my local commits plus the checkout and widget fixes. Nothing was pushed.

Resolution trail

  • 57 open rows still read committed/pushed, though every Flutter commit citing them is in shipped 11.1.7. Their next step is verification, and each row now says so.
  • 32 rows had commits in git but an empty commits field. The commits are now attached and checked against the repo. This gap is why ISSUE-420 looked fix-less to a register-only check.
  • Customers reported the same symptom after closure on several rows: ISSUE-112 (7 customers), ISSUE-324 (3, on 11.1.5/11.1.6), ISSUE-2 (on 11.1.7), ISSUE-16 and ISSUE-71. Each row's note quotes them.
  • Two stale next actions were corrected. ISSUE-518 and ISSUE-371 said "push the fix", but their fixes are already in 11.1.7.
  • Duplicate rows were cross-linked rather than refiled: ISSUE-484/673, ISSUE-379/406/729, ISSUE-392/602, ISSUE-404/60/58, ISSUE-499/468/639.

What was written to the register

  • 415 dated notes across 394 rows: 20 group records and a member note on every grouped row, with linked customers, quotes and message IDs.
  • 534 new related links. Existing links were never removed.
  • owner on 45 rows, nextAction on 41, blockedBy where the step is gated, commits on 32. ISSUE-700 priority raised from LOW to HIGH (16 customers linked, mechanism confirmed).
  • 5 new rows, ISSUE-731 to 735. Each claimed number was confirmed free before writing.
  • Backed up before writing, then verified row by row afterwards: 394 of 394 rows match, histories preserved, no unintended field changes.

Limits of the evidence

  • Google keeps Play reviews for 7 days, so Play coverage starts 2026-09-09. Apple's API returns only reviews with text, without app versions, and its Sep–Oct volume is inflated by the rating prompt. Counts are used, not star averages.
  • Support coverage is the in-app channel from 2026-06-01. Mail to feedback@ is included only where it was relayed into it.
  • Messages were classified and linked by reading them, not by keyword, but the pass was automated and its error rate is unmeasured. Generic "my profiles are gone" reports were linked to ISSUE-428 at medium confidence.
  • The ISSUE-420 retest ran on an API 34 emulator, not a Samsung device with One UI gestures.
  • 82 smaller complaint clusters (mostly one customer each) are recorded on their group records rather than filed as rows.