Home / Ops / More in this area

Affirmology Beta Launch - Revised Plan (v1)

Updated Jul 04, 2026 · Affirmology_BetaLaunch_RevisedPlan_v1.md

Summary. Drafted 2026-07-04 (July 4) from Jeff's direction, on the road. Loose on purpose: the point is to NOT rush, to gift with care, and to line up the pieces so the real beta opens clean. Shareable with the Cowork chat, which owns the beta-agreement details and the

Affirmology Beta Launch - Revised Plan (v1)

Drafted 2026-07-04 (July 4) from Jeff's direction, on the road. Loose on purpose: the point is to NOT rush, to gift with care, and to line up the pieces so the real beta opens clean. Shareable with the Cowork chat, which owns the beta-agreement details and the outbound email copy (flagged below).

The decision

Pre-beta gift drip (to the list, done with care, not rushed)

The gifts stretch out so each one is nailed, not batched-and-broken. Founders excluded; possibly a few people trimmed from the list (Jeff to confirm who). - Sun 7/5 - The Mirror reading (retooled structure, once the content is right). Could also go today with the email if ready. - Mon 7/6 or Tue 7/7 - a new gift audio (starting-audio direction TBD; Jeff steers within ~2 days). - Wed 7/8 or Thu 7/9 - the Origin Blueprint PDF report. - Each is a deliberate, quality gift + a re-engagement touch, not a mass send.

The two build days (Wed 7/8 - Thu 7/9, back in office)

Nail, don't rush: - The starting audios (which audios new testers get first) - Jeff defines the set. - The music beds + the render/QC process (reliable, no broken renders, graceful failure already shipped). - The TestFlight app is stable and populated (see open items: Sol's app shows no data).

The beta testing agreement (COWORK OWNS THE DETAILS - co-create there)

An expectations-both-ways agreement the tester affirms ("signature"/affirmational yes) before joining. Rough shape to flesh out in Cowork: - What they get: free founding-tester access, personalized gift audios (Soul Song, Mirror, report), early features, a real voice into what we build. - What we ask: honest feedback, answer our questions, patience with a beta (things will change), privacy/confidentiality on unreleased work, permission to use anonymized feedback to improve. - The affirmation: a warm, on-brand "yes, I'm in and I understand" rather than a cold legal click. - Consent basis: birth data use, audio delivery, follow-up questions, the ML feedback loop below.

Launch-support infrastructure (target by 7/10)

Open items / tasks

Outbound email - starting draft (COWORK to refine, send today or tomorrow)

Tone: warm, honest, premium, on-brand; never hype. Options on framing the delay (Jeff to pick): gently name the family trip as the reason for taking extra care, OR keep it about craft without the personal detail. Draft skeleton:

Subject: Your Affirmology founding-tester invitation (and a promise)

A warm hello + you're one of a small first circle. Here is what this is, and what it will be. What you'll receive: your Soul Song, a deeper Mirror reading, your Origin Blueprint report, early access. What we ask of you: honest reflections, answers to a few questions, patience as it grows. We are choosing to roll this out with care rather than speed, so your first pieces are gifts done right. Your personalized audios begin arriving over the coming days, with the full beta opening the week of July 7. If you're in, reply/confirm here (the affirmational yes).


Owner split: DATA/engine chat owns the audio pipeline, gift renders, and the cost-safe generation. Cowork owns the beta agreement text, the email copy, the app/TestFlight data (Sol), and the wiki.

Push test audios into Jeff's + Sol's TestFlight app (not just email) [added 7/4]

Want: every new test audio Jeff/Sol create also lands IN their app's Listening Room, plus email. Backfill: Sol's existing audios (from the multi-audio email we sent her) loaded into her app too.

Mechanism ALREADY EXISTS (studio side): - POST /api/library/ingest -> register_external_audio(person_id, title, mp3_url, email=True|False). It stores the audio as a Listening Room entry AND (by default) emails it. email=False = library-only (perfect for the backfill). The app shows audios where Audio.owner_person_id == the logged-in person's id (consumer.py:_person_audios).

THE ONE BLOCKER (this is why Sol's app is empty): the audio attaches to a person_id, and the app lists by the LOGGED-IN account's id. If the id we register under (studio people id like "sol") does not equal Sol's consumer app-account id, her audios never appear. So we must link the two id spaces (studio people <-> consumer app account) for Jeff and Sol.

Plan / owner split: - COWORK (apps/accounts): confirm/create Jeff's + Sol's consumer app accounts and give DATA the exact account id each audio must attach to (or make register use the app-account id). - DATA (this chat): once we have those ids, (1) wire the test-audio render path to also call /api/library/ingest for Jeff/Sol (in-app + email), and (2) backfill Sol's existing audios into her app library (email=False so she is not re-emailed).