Home / Product / Atlas and Studio
Atlas feedback, round 2 (TestFlight v7, 2026-06-26)
Updated Jun 27, 2026 · Affirmology_Atlas_Feedback_Round2.md
Summary. Jeff's second pass, now on a real TestFlight build on his phone. Organized + prioritized. Round 1 is in AffirmologyAtlasFeedbackRound1.md.
Atlas feedback, round 2 (TestFlight v7, 2026-06-26)
Jeff's second pass, now on a real TestFlight build on his phone. Organized + prioritized. Round 1 is in Affirmology_Atlas_Feedback_Round1.md.
Wins (keep these)
- The TestFlight build-and-distribute pipeline WORKED, Atlas is on the phone via TestFlight.
- The icon looks phenomenal ("freaking awesome, even with that level of detail").
- The explicit-create behavior landed: the "Create this audio" button + helper text ("Creating composes a full script and asks you to confirm first. To ask questions about this structure, just talk to Hermes below; that never creates anything"). This was the round-1 P0 fix, and it is in.
- The AFFIRMOLOGY AI gold wordmark header is in and looks right.
P0, the real blocker: "Invalid or missing studio token"
- Listening Room: empty, "Invalid or missing studio token."
- People: empty, same error.
- Create: Person and Structure selectors are BLANK (same root cause, the data calls fail auth).
- Diagnosis: this TestFlight (production) build talks to the cloud studio (onrender), and its protected endpoints (/api/library, /api/people, /api/categories, /api/hermes, /api/compose) reject the app's auth. The local dev build had a working token; the production build does not. A logged-in user's magic-link session must be accepted by the studio endpoints in prod. Do NOT embed the raw STUDIO_AUTH_TOKEN in the app.
- Fix first; once data loads, the empty screens and blank selectors resolve and the rest becomes judgeable.
P1, Create page layout (per Jeff + screenshots)
- SHOW THE ACTIVE STRUCTURE up top: its name, key info, and version info, in a SCROLLABLE header, so you always see what you are working on. Currently Person/Structure are blank labels and there is no "what audio is this" indicator.
- STRUCTURE NAVIGATION up top: bring back the horizontal scroll selector to switch structures (Jeff liked the prior horizontal thing), plus a "CREATE NEW" button to start a new structure.
- RESIZABLE, DRAGGABLE controls panel: add a grab handle / line bar so you can pull it up and down with a finger (bigger, smaller, or out of the way), in addition to the collapse arrow and a full-screen option. "Talk to Hermes" stays pinned at the bottom; tapping it raises the panel to half-screen, and you can drag from there.
- Fix the awkward GAP/separation between the Hermes chat and the "Talk to Hermes" input bar; they should read as one continuous chat.
- Clarify "DIRECTION FOR THIS CREATION (optional)" vs the Hermes chat (confusingly separate right now). Pick one model: either the direction field IS the brief that feeds Create and the Hermes chat is questions-only (label them that way), or merge them. Hermes stays context-aware (knows the active structure/control) but can also answer anything.
Cross-app implications (what the consumer app needs to know)
- THE AUTH FIX IS SHARED. The consumer app (affirmology-app) uses the SAME shared foundation (the shared API client + magic-link auth in
affirmology-shared) and the SAME cloud backend. So the "invalid or missing studio token" production-auth problem will almost certainly hit the consumer app too the moment it is built for TestFlight. Fix the production-auth/token handling in the SHARED layer so BOTH apps get it, and verify against a TestFlight build of each. This is the one item from round 2 that the consumer app must know about.
- ATLAS-ONLY (does NOT affect the consumer app): the Create-page layout items (active-structure header, structure nav, draggable panel, direction-vs-Hermes), since the consumer app has no Create page.
- Shared UI bits (the wordmark header, shared components) stay consistent across both via the shared kit.
Build order
P0 auth fix (in shared, benefits both apps) first. Then the P1 Create-layout items (Atlas-only). Keep the explicit-create behavior. Commit small, verify in a build.