START HERE

PLAN — Prayer Delivery Engine v2 (2026-09-14)

prayer/PLAN-PRAYER-ENGINE-v2.md

PLAN — Prayer Delivery Engine v2 (2026-09-14)

Status: BUILD IN PROGRESS. Phase A complete and reviewed. Phase C code lives at /home/sha/vibing/prayer-engine/ (foundation, funnel pages, email package, worker). Phase B is Shaw-owned and blocks only the live rail, live models and launch, not the build.

Inputs (all on disk, all read by Fable):

  • DECISIONS-2026-09-14.md — Shaw's dictated decisions, FINAL ANSWERS block on top
  • PRAYERSONG-MAPPING.md — the target offer structure, mapped to our mechanic
  • research/TAGADAPAY-DIGEST.md — payments rail facts + signed terms
  • research/DIVINE-REV-REUSE-DIGEST.md — what to port from Divine Rev
  • research/RESEARCH-PASS-1-2026-09-14.md — part-2 segment lineup
  • research/PHASE-A-REVIEW-2026-09-14.md — fresh-context reasoner review of the four build docs
  • brand-context-st-peters/ — 9-stage brand context (avatar Kathy, mechanism "The Witnessed Carry", 20 hooks, email rules, ad-platform guidance)
  • SPEC-PRAYER-ENGINE.md + OPS-RUNBOOK.md + COPY-CREATIVES.md + PROMPT-PACKS.md — the four build docs, rewritten to the decisions and then to the review

1. Decisions — ANSWERED 2026-09-14 (see DECISIONS file, FINAL ANSWERS)

# Decision Answer
D1 Rush delivery: $9 bump or $19.90 OTO2 24-Hour Placement as OTO2 at $19.90; Votive Candle stays the only bump
D2 Prayer input cap 220 characters
D3 Anniversary Re-Placement price $14
D4 30-day satisfaction guarantee on every sales surface Yes, satisfaction-based, never outcome
D5 Price anchor $69 $34.90 Yes; $34.90 unchanged
D6 Survey (5 steps) replaces single lead form Yes
D7 Reaction-video $50 gift card as the creative engine NO. No incentive anywhere. The thank-you page links into the portal and sets expectations. Reviews are asked for by email reply only. No reaction upload in the portal.
D8 AI framing in the FAQ NO AI framing anywhere. No asset says how the photo is produced, in either direction.
D9 Delivery promise stays 3 days Keep. Rush is 24 hours.
D10 Judaism FE at $29.90 vs the $34.90 floor $29.90 for the Western Wall brand; the floor was a v1 rule

2. The offer (v1, St. Peter's)

Funnel: Meta ad → landing (testimonial headline, example card-in-hand photo, "Delivered in 3 days", live ticker under the hero) → 5-step survey (who for + name; what for; the prayer; note to the Father; your name + email + optional gift email) → transition page (3 example photos, guarantee, continue) → sales page ("Almost There", summary card with name + date, "Limited Time [Healing] Discount", subsidy line, guarantee, what you get, persona letter below) → checkout (TagadaPay, card only, Votive Candle bump $4.99) → OTO1 Second Prayer $14 (textarea + submit/skip, timer) → OTO2 24-Hour Placement $19.90 → OTO3 Voice of the Sanctuary $9.90 → thank-you (recap cards, correct-email, what-happens-next, cross-sell, portal button, membership pitch at the bottom) → portal → Monthly Prayer Membership $9.90/mo or $79/yr → day-365 Anniversary Re-Placement $14.

Funnel identity is one signed httpOnly cookie, ph, minted at survey step 5 and required by every route after it. The portal is a separate identity on portal_sessions.token.

Fulfilment: two-pass image model. Pass 1 scene from a Pinterest donor reference per location, randomized time/light/angle. Pass 2 hand holding the card with first name + prayer, plus the candle clause when the bump was taken. Card-text QA is a vision-model read-back between Pass 2 and upload, three attempts then dead-letter. One photo per prayer row. Standard delivery day 3, rush ≤24 h, both counted from orders.paid_at. Audio (TTS + ambience) rides in the same delivery email.

Economics on TagadaPay: FE net ≈ $30.40; fee ≈ 12.4% + $0.70 per charge; $325/mo fixed. The scale-and-kill rule lives once, in SPEC §9, and every other doc quotes it.

3. Reuse from Divine Rev (port, do not rebuild)

Need Source Portability
One-tap OTO page pattern, decline ladder, one follow-up email, ownership pre-check landing-pages/venus-funnel/ (Upsell Checkout v2) port with config; swap Stripe calls for Tagada MIT
PSP adapter contract + verification gates rosaluna-wt-r2quiz/SPEC-TAGADA-RAIL-v1.md adopt verbatim as packages/payments
Worker skeleton: pending→generating→ready lifecycle, retry + rate-limited alerts, 15-min reveal tick, pre-delivery offer, failed-yes follow-up 04-FUNNEL-EXECUTION/landing-pages/client-portal-worker/ (ARCHITECTURE.md, FLOW.md) port with config; swap reading prompt for image calls
Support auto-replies with deterministic gates reply-engine v2 (Cloudflare Worker, policy-as-data) port after launch, week 3+; policy docs rewritten for this brand
Escalations to Telegram + daily digest ~/.claude/commands/check-escalations.md structure port with a prayer-brand tier table, no mystical language
Meta ads doctrine: Golden Rule, prune/scale formulas, ≤4 new ads/day, Telegram 1-tap deploy 06-ANALYTICS-OPTIMIZATION/ad-ops/AUTOPILOT-SPEC.md doctrine as-is; fresh account + pixel
Email base template + builder, suppression module ghl-email-templates/, lead-nurture-worker suppression port; Resend not GHL for sending
Client portal: portal_sessions token, portal_deliverables with reveal tick, gallery, track order, offer surface client-portal-worker (ARCHITECTURE.md, FLOW.md, src/routes/, src/cron/reveal.ts) port with config; this IS the /portal/ route. The upload surface in the source is NOT ported (D7).
Phone-first money dashboard (/pulse, secret-in-URL) client-portal-worker/src/routes/pulse.ts port with Tagada order ids; disputes manual entry; lands at /admin behind ADMIN_DASH_TOKEN
Chargeback lessons project_chargeback_rootcause memory design rules: recurring deliverable visible in every rebill email, hard cancel gate, no chargeback-as-cancel path
Meta Religion-category lessons meta_reappeal_dossier memory no URL-param attribution, event_source_url on every CAPI event, fresh pixel, low new-ad cadence

4. Part 2 lineup (research pass 1)

Wave 1: Judaism / Western Wall ($29.90) + Fatima expansion inside the Christian brand. Zero engine change. Wave 2: Buddhism / Doi Suthep, Chinese-language front, own BM. Wave 3: Hinduism / Varanasi, real video fulfilment partner, own BM, Diwali 2026 stretch. Wave 3b: Makkah / Madinah with the same partner shape (real permitted act, video proof, no AI Haram imagery; see ECONOMICS §5a). Sikhism: archived NO. Pass 2 gaps (sentiment for 3 segments, diaspora ARPU, operator age) run during Wave 1 build, not before.

5. Build sequence

Phase A — docs to match: COMPLETE

  1. SPEC §2/§3 + OPS §2/§3/§6 rewritten to the PrayerSong shape (survey, transition, sales page, rush as OTO2, survey fields on prayers, portal). Done.
  2. COPY-CREATIVES full rewrite in the brand-context voice: landing, survey, transition, sales page, checkout, 3 OTOs, thank-you, portal, /membership, /replace, 17 emails. Testimonials stay stubs. Done.
  3. PROMPT-PACKS rewrite: donor-reference section per location, hand-held card recipe, seven example-deliverable hero prompts, rotation formula fix, Western Wall pack promoted for Wave 1. Done.
  4. Reasoner pass on the rewritten docs (fresh-context review, Opus xhigh). Done — research/PHASE-A-REVIEW-2026-09-14.md.
  5. Apply the review: 6 blockers and 22 fixes across the four build docs plus HANDOFF, CLAUDE.md, ECONOMICS, PLAN and DECISIONS. Done.

Phase B — Shaw-owned prerequisites: BLOCKING Phase C

  • TagadaPay: TPA live, separate store for this brand, dev + sandbox tokens, payment flow id, webhook secret, descriptor string on managed acquiring confirmed with Leon (the config carries a placeholder until then), dispute alerting answer.
  • The five unanswered rail questions in writing: payout schedule, reserve release on termination, acquirer identity, cross-border fee, descriptor string.
  • Domain, Resend sending domain, Meta BM + page + fresh pixel + CAPI token, droplet, support mailbox, model API keys (image models plus the vision model for card-text QA).
  • Donor image per location picked on Pinterest and approved.

Phase C — build (OPS §10 day 0–13, worker lanes, Fable reviews)

  1. Monorepo skeleton, BrandConfig, DB migrations, mock PSP adapter, funnel pages against mock, ph handle middleware.
  2. Tagada adapter + webhooks + reconciliation sweep + charge_intents guard. Gate: sandbox E2E with real browser card submit, and the settle path proven authoritative with the webhook dropped.
  3. Fulfilment worker: donor-conditioned pass 1, hand-held pass 2, candle clause, card-text QA read-back, per-prayer jobs, rush queue, audio mix, delivery scheduler. Gate: 10 test orders, denominator stated 10 of 10, every photo legible, every name spelled right, every candle order showing two flames.
  4. Emails (Resend, all 17), abandoned sequence, and the client portal: magic-link entry, deliverable gallery with reveal tick, track-order timeline, intention field, membership manage, email preferences, tokenised offer surface.
  5. Dashboard at /admin (/pulse port) with manual dispute entry and ad-spend input.
  6. Gate before ads: one live purchase + refund on prod, CAPI dedupe seen in Events Manager, zero shared infra sign-off.

Phase D — launch (SPEC §10)

3 creatives (silent B-roll), $50/day US+CA women 40+, ≤4 new ads/day, creative rotation day 6, CPA read day 13 against the SPEC §9 rule. Creative supply is produced B-roll, persona stills and unpaid customer shares; there is no incentivised customer video.

6. Status vocabulary

Phase A is DOCS-COMPLETE. Nothing is CODE-COMPLETE. Nothing is LIVE-VERIFIED.