START HERE

DECISIONS — 2026-09-14 (Shaw, dictated; Fable transcribed)

prayer/DECISIONS-2026-09-14.md

DECISIONS — 2026-09-14 (Shaw, dictated; Fable transcribed)

ADDENDUM 2026-09-15 (Shaw, dictated) — overrides the rail and hosting lines below

A. Payments run on Stripe, under a fresh Numina House Stripe registration. TagadaPay is dropped for this offer. Shaw sets the Stripe account up himself; the code keeps the PspAdapter boundary and gets a Stripe adapter once the account exists. Nothing rail-specific lives in apps/web. Done 2026-09-16: account live, adapter built and smoke-tested; USD charging on a CAD account (Shaw to confirm), suffix HOLYCARDS. B. Hosting is Cloudflare for everything: Workers (web via OpenNext, worker via cron triggers + Queues), D1 for the database, R2 for photographs and audio. The local Postgres container is a test harness only and goes away with the D1 port. No droplet. C. Image, vision and TTS models run through OpenRouter on the one key in pass apis/openrouter. Image generation is GPT only (openai/gpt-5.4-image-2, both passes; Shaw 2026-09-16 evening, no Gemini for images), vision via google/gemini-3.5-flash, TTS via openai/gpt-audio-mini streamed PCM16. Brand audio.voiceId is now the OpenAI voice name (St. Peter's = onyx, Western Wall = ash). D. Persona: "Fatima" in these docs is Fátima, Portugal, the Marian shrine, a location pack inside the Christian brand. It is not a persona. The St. Peter's persona stays Fr. Marco, Pilgrim Chaplain. E. Order of work confirmed: verify payments lane → migrate → worker lane → web lane → re-verify → preview URL → README + initial commit. Stripe wiring waits for Shaw's account.

FINAL ANSWERS (Shaw, 2026-09-14 late evening) — these override every PROPOSED line below

  1. Rush delivery = OTO2 at $19.90, after purchase. Candle $4.99 is the only checkout bump.
  2. Prayer input cap = 220 characters.
  3. Anniversary re-placement = $14.
  4. 30-day satisfaction guarantee on every sales surface, in PrayerSong's exact frame, header included: "100% Money Back Guarantee. Not satisfied? Get a full refund. No questions asked, no hassle. 30-day guarantee. Risk-free purchase." Always tied to the price anchor. This is the one string; SPEC, OPS-RUNBOOK and COPY-CREATIVES all carry it verbatim.
  5. Price anchor $69 $34.90 with the discount named after the survey answer. $34.90 unchanged.
  6. Five-step survey replaces the single lead form.
  7. NO reaction-video gift card. No $50 incentive anywhere. The thank-you page links into the portal and sets expectations (what happens next, when, where to look), in the Divine Revelations thank-you-page style. Reviews are asked for by email reply only.
  8. NO AI framing anywhere. The FAQ and every asset say nothing about how the photo is produced.
  9. Delivery promise stays 3 days; rush 24 hours.
  10. Western Wall front-end $29.90. Also: deliver through the portal (see Delivery portal section). Start Phase A now.

Status: LOCKED unless marked PROPOSED. These override the build docs until the docs are rewritten to match.

Fulfilment pipeline

  • Image models only: GPT Image class + Nano Banana Pro class. No Flux, no Replicate, no sharp compositing. SPEC §4 and §8 get rewritten.
  • Per location: find a DONOR reference image on Pinterest that shows exactly what the site and scene look like. That donor is the reference image for every scene generation at that location.
  • Second reference point: a hand holding the prayer card, with the prayer rendered on it. Card-in-hand is the default deliverable composition.
  • Scenes vary per order: time of day (morning / afternoon / night), light, angle. Randomize so every photo reads as a real, different moment.
  • PROMPT-PACKS gets a donor-reference section per location and a hand-held card recipe.

Products

  • No physical product anywhere. Bump 2 "blessed cross mailed home" is dead.
  • Delivery promise: 3 days standard.
  • New bump: 24-hour delivery. PROPOSED: this replaces bump 2 at $9.00 (keeps the second bump slot). Bump 1 stays candle $4.99.
  • PROPOSED alternative if Shaw wants a cross still: "blessed cross placed beside your card in the photo", in-image, $9.00, as a third bump. Decide before copy rewrite.
  • Prices unchanged: FE $34.90, OTO1 $14, OTO2 $9.90, monthly $9.90, annual $79.
  • Fix false claims: annual is "save $39" not "two months free"; OTO1 is "less than half" not "half".

Card text

  • Whatever the buyer enters must fit on the card. Cap the prayer input so it always fits. PROPOSED cap: 220 characters (about 35 words) plus first name. Landing copy "up to 500 characters" changes to the new cap. No long-prayer path.

OTO1 second prayer

  • OTO1 page: one text input for the second prayer + one checkbox + Submit (charges saved card) or Skip. Not pure one-click. Second prayers row on the same order, second photo. Worker generates one photo per prayer, not per order.

Membership

  • Monthly intention is OPT-IN and optional. If the member does not submit one that month, the engine places a generic themed intention for the month and delivers on that. Capture surface: account page + one reminder email before the anniversary.

Delivery email rule (Email 3)

  • One CTA only: Monthly Prayer Membership. Audio OTO moves out of Email 3.

Backlog features sold in copy

  • Gift flow: build the minimal version now (recipient email field, delivery goes to recipient).
  • Anniversary re-placement: build the minimal version now. PROPOSED price $14 (same as OTO1), one-tap on saved card.

Emails

  • Write the missing copy: dunning ×3, lapsed-member win-back, lead abandonment sequence (3 emails to unpaid leads), monthly intention reminder.
  • Audio delivers inside the photo delivery email; no separate audio template.

Support

  • Email only. No support phone anywhere. Statement descriptor carries brand short name + support URL or email (processor permitting).

Payments

  • Tagged Pay, not Stripe. OPS §4 gets rewritten once Tagged Pay capabilities are confirmed (saved-card one-click, subscriptions, webhooks, descriptor).

Config + schema

  • One BrandConfig, the OPS version, adopted into SPEC. Add: support email, prayer max chars, TTS voice id, ambience preset, gift recipient, rush delivery.
  • Location key everywhere: st_peters_basilica.
  • Add email_click event to SPEC §9. Drop ga4 from the schema (PostHog only).

Reuse from Divine Rev (/home/sha/vibing/devine_rev)

  • Reply engine for automated support replies and escalation gating.
  • Escalation flow to Telegram + daily digest.
  • Meta ads strategy and ops (scale / kill / rotation rules, account structure).
  • Anything else the scout digest shows as portable. Adopt, do not rebuild.

Delivery portal (added 2026-09-14 evening)

  • Deliver through a client portal, ported from Divine Rev's client-portal-worker pattern, not just by email. The /portal/<token> route is the portal: tokenised magic-link access (portal_sessions token, no passwords), deliverable gallery with time-gated reveal (the 15-minute reveal tick), track-order timeline, monthly intention field, membership manage, email preferences, and the upsell surface (/offer?product=<id>&s=<token>, one-tap on the saved card, decline ladder). No customer-video upload surface — FINAL ANSWER 7, written the same evening, settles that. Every email links into the portal. Email still carries the photo so a portal outage never blocks delivery.

Sequencing

  • Research pass (RESEARCH-DIRECTIVE) runs in parallel with planning, not after.
  • Brand context: /brand-context full 9-stage build, output brand-context-st-peters/.
  • No app code until a full plan exists. Docs get rewritten to match this file first.