🛤️ La Toile — Customer Journey (post-close)

Dependency web · pre-build map + deep protection map · DIA-829 → DIA-830 · source cj-journey-toile-prebuild-map-v1.md · 🕸️ prospection tile · ← vault status
Design map complete — visible before any build

J00-J11 are now designed in Linear as process blocks with direct route, detour, expiry, stop/fail-out, substrate, blockers, and proof gates. This page is the visual review layer; it is still no-build.

Linear control map DIA-1255 · runtime substrate DIA-1251 · function decisions stay blocked by DIA-1253.

Strategy Map 12 process blocks · 3 care roles · no GHL build

12/12designed in Linear
0runtime workflows proven
J09HOLD preserved
J10PARKED preserved
§12.8 Deliver5 blocks
J00designed

Purchase to delivery handoff

DIA-912 · Bridge
DirectPurchase confirmed -> implementation record -> CJ position -> 30-day cycle -> J01/J04.
DetourMissing context holds welcome and routes repair.
Fail-outInvalid payment, stale route, STOP, or unsupported offer stops writes.
DIA-934 proof/classificationpurchase_confirmed_at30day_stage
J01designed

Day 0-3 aha confirmation

DIA-913 · Maya / Hostess
DirectVisible asset deployed -> emotion/behavior read -> aha state -> J05.
DetourPassive/unclear response gets light touch and re-emit.
Fail-outNo aha proof does not force stage completion.
aha collisionMaya KB21 voice variants
J02designed

Daily truth delivery

DIA-914 · Pax note / voice ref
Direct6am local -> day x niche lookup -> Pax note -> voice/SMS/email only if allowed.
DetourMissing day/niche/library holds external delivery.
Fail-outAI must not invent client-facing daily truths.
DIA-937 210-block librarylookup storagedelivery proof
J03designed

30-day cycle progression

DIA-1257 · State machine
DirectStage event -> tracker write -> downstream unlock -> proof readback.
DetourContradictory state holds the write and keeps prior state.
Fail-outCalendar-only progression cannot advance the cycle.
DIA-926 collisionsDIA-927 net-new fieldsstate model
J04designed

Delivery welcome cascade

DIA-916 · Maya / Hostess
DirectJ00 handoff -> offer route -> AXIS/welcome provisioned -> J01.
DetourMissing route, welcome block, or AXIS URL holds external welcome.
Fail-outNo welcome proof means J01/J05 cannot assume onboarding happened.
DIA-935 Maya KBAXIS surfacewelcome values
§12.9 Impress3 blocks
J05designed

Day 7 first tangible confirmation

DIA-917 · Pax / Cheerleader
DirectTangible logged -> proof classification -> readiness -> J06.
DetourPartial tangible signal stays in observation without overstating success.
Fail-outDay +7 alone cannot fake a win.
tangible collisionDIA-936 Pax KBDIA-938 scripts
J06designed

Favorite surface lock-in

DIA-918 · Pax / Cheerleader
DirectUsage pattern -> favorite probe -> readiness -> J07/J08.
DetourAmbiguous usage keeps observation open without pushing asks.
Fail-outSuppression or weak proof blocks review/referral/case-study asks.
favorite_surfacesuppression readbackfavorite probe
J07verify

WoML review capture

DIA-919 · Pax / Cheerleader
DirectReview event -> binary capture -> draft -> owner approval -> publish.
DetourMissing addendum/profile/reward holds the workflow.
Fail-outNegative or unclear review pauses and routes human. No automatic replies.
DIA-928 WoML familyDIA-933 runtime proof
§12.10 Reactivate / Refer / Revive4 blocks
J08designed

Bottleneck and next lever

DIA-920 · Follow-Up Designer
DirectDay 22-25 -> bottleneck -> next lever -> renewal frame -> J11.
DetourIncomplete tracker/outcome keeps renewal frame pending.
Fail-outNo mid-cycle up-route; contradiction blocks announcement.
bottleneck fieldsPax outcome counterrenewal scripts
J09hold

Continuity RFM / Plai

DIA-921 · Follow-Up Designer
DirectWhen unpaused: behavior/emotion/readiness -> RFM route -> audience sync.
DetourLife-context freeze or stale segment routes human/hold.
Fail-outHOLD remains active; no automated pressure.
maturity gateSouky greenlightAvantage extraction
J10parked

Marketing Reset Masterclass

DIA-922 · Ask AI
DirectWhen unparked: community entry -> Win-the-Day cadence -> Ask-AI path.
DetourMissing cadence/container keeps design pending.
Fail-outPARKED remains active; does not replace the Client-Facing Journey.
community containerAsk-AI routeunpark decision
J11designed

Make-it-new cycle reset

DIA-923 · Reset
DirectDay 30 -> next lever -> next Day-0 asset -> refreshed cycle -> J01.
DetourMissing lever/outcome/cycle state holds reset.
Fail-outReset cannot erase unresolved delivery or recovery obligations.
J03 stateJ08 next lever30day_stage

Closed Loop Check the pieces that were missing from the old visual

Startpurchase, moment trigger, daily cadence, review event, renewal window, or reset.
Directapproved state moves forward only when source proof exists.
Detourmissing context holds external action and routes repair.
Expirycalendar fallback checks the state; it does not pretend the milestone happened.
STOPsuppression, contradiction, stale route, risk, or difficult review blocks automation.
Re-emitloop remains open until outcome, next lever, or reset proof is confirmed.
12
process blocks designed
0
runtime workflows proven
9
net-new fields still gated
4
content / KB blockers

📖 What each state means spec vs build vs zero — read the badges right

Key: new-build means spec ✅ / GHL workflow ❌ — build it FROM an existing spec. It is NEVER “zero, start from nothing.” Every post-close op traces to a real spec (30-Day Challenge doctrine / Delivery Protocol).

State (op / substrate)Spec?Built in GHL?What it means
exists✅ livealready live in GHL — verify values, additive-only (e.g. cj_phase)
reconcile⚠️ under another namea live field already carries this — reconcile to it, do NOT create a duplicate
verify🟡 partial / unverifiedexists in GHL but not confirmed-live (e.g. J07 WoML — 26 fields exist)
wirefields exist, not connectedthe fields exist — just needs the workflow wiring (e.g. J00 handoff)
new-build❌ 0 workflowspec exists, GHL workflow to build from it — not zero
hold / parkeddeferredspecced but intentionally deferred (J09 Continuity Phase 2 · J10 Masterclass)

Protection-map disposition (the 🔒 fils below):

✅ exists live in GHL, reuse⚠️ collision exists under another name, reconcile🆕 net-new genuinely create (additive)◻ spec spec-level, browser-verify

⚠️ “Built in GHL” for fields = live MCP readback (reliable). For workflows = from the design map only — GHL workflow internals aren’t API-readable, so “0 built” needs a browser/Codex verify.

⚠️ LIVE-STATE CORRECTION (DIA-830 — what the deep-map caught)

The design map assumed '0 built / S1 = create 7 P0 fields'. WRONG. The signal substrate is ~70% built. S1 shrinks from a bulk-create to a RECONCILE (6 collisions) + fill-gaps (~9 net-new).

22
✅ fields already EXIST
6
⚠️ name COLLISIONS (reconcile)
9
🆕 genuinely NET-NEW

GHL locations_get-custom-fields readback · 348 live contact fields · Diagaxis master zpKqjGelaejsL9zYCuNg · 2026-06-02

spec fieldlive GHL field (already exists)action
response_voice_roleresponse_voice_register (+ delivery_voice_register)reconcile to existing — do NOT create
aha_confirmed_atthirty_day_aha_fired_at (DATE) + aha_moment_window_statereuse/alias — do NOT create
first_tangible_confirmed_atfirst_tangible_win_statereconcile
last_outcome_signal (sig 12)response_outcome_observedlikely same fil
next_reemit_due (sig 13)anticipation_action_duelikely same fil
expectation_signal (sig 3)confirmation_expectation_lock_statereconcile scope (partial)

🆕 net-new: favorite_surface · bottleneck_this_cycle · bottleneck_next_cycle_lever · renewal_frame_set_at · risk_level · escalation_state · signal_loop_status · 30day_stage · purchase_confirmed_at

Custom FIELDS confirmed via MCP readback. Tags + custom values NOT exposed by the custom-fields endpoint → signal tag-mirrors + journey custom-values need a browser/Codex readback (same limit as tile 1).

🎯 The 14-Signal Moat Layer D108 · the pulse overlays every stage · listen → anticipate (not recover)

Every post-close operation reads the pulse before acting. The “6 pulse dimensions” framing cut the 8 marked ✂; restored canonical per D108.

Observe (about the customer)
1Behaviorbehavior_pattern
2Emotionemotion_current
3Expectationexpectation_signal✂ cut by 6-dim
4Readinessreadiness_for
5Anticipationanticipation_event
6Offer-fitoffer_fit_state✂ cut by 6-dim
7Riskrisk_level✂ cut by 6-dim
Respond + loop
8Response voice-roleresponse_voice_role
9Escalationescalation_state✂ cut by 6-dim
10Suppression (STOP)suppression_state✂ cut by 6-dim
11Recoveryrecovery_path✂ cut by 6-dim
12Last outcomelast_outcome_signal✂ cut by 6-dim
13Next re-emitnext_reemit_due
14Loop statussignal_loop_status✂ cut by 6-dim

The Customer Journey Map — 3 stages × the 30-Day Challenge 54 checkpoints (9 stages × 6 lenses) · 18 in post-close

built verify / spec new-build gap hold / parked
§12.8

Deliver

30-Day Stage 0-1 · Day 0-3 Aha
Maya intake + Pax handoff · voice Hostess
wireJ00purchase → delivery handoff
new-buildJ01wf-day0-3-aha-confirmation
new-buildJ02wf-daily-truth-delivery
new-buildJ03wf-30day-cycle-progression
new-buildJ04delivery-experience welcome cascade
§12.9

Impress

30-Day Stages 2-3 · Day 4-21
Pax scoreboard · voice Cheerleader
new-buildJ05wf-day7-first-tangible
new-buildJ06wf-day21-favorite-lockin
verifyJ07Word of Mouth Loop review capture + approval-gated replies
§12.10

Reactivate / Refer / Revive

30-Day Stage 4 + ongoing cycles
Continuity System $2K · voice Follow-Up Designer
new-buildJ08wf-bottleneck-of-cycle + announce
holdJ09Continuity RFM → win-back → Plai retargeting
parkedJ10Marketing Reset Masterclass (self-serve / Ask-AI)
new-buildJ11make-it-new cycle reset

Tracker — build-state per operation the arm→brain list · 12 operations

#OperationStageStateTrigger (moment)VoiceOwnerSource
J00purchase → delivery handoff
the seam from prospection (Stripe webhook). Field-write NOT wired (dep S2).
deliverwirepurchase_confirmed_atVulcan30day §3 · CJ §12.7→12.8
J01wf-day0-3-aha-confirmation
per-offer milestone variants · Principle of Silence
delivernew-buildsystem_visible_asset_deployed (fallback Day +3)Maya · HostessVulcan/Codex30day §2 S1 · CJ §12.8
J02wf-daily-truth-delivery
spans ALL stages · deterministic lookup (NOT LLM) · 210-lib NOT produced
delivernew-builddaily 6am client-local · cycle_day(1-30) × nicheVulcan + Lyra30day §6
J03wf-30day-cycle-progression
the state machine · custom object + 6 fields NOT created · gates J01/J05/J06/J08
delivernew-buildstage transitionsVulcan30day §7
J04delivery-experience welcome cascade
doctrine LOCKED · Digital Front Desk pilot = DIA-389 voice-flip pending → cascade
delivernew-buildDay-0 handoff contractMaya · HostessVulcandelivery-experience-protocol-v1 §A-F · D63
J05wf-day7-first-tangible
celebrate THEIR win · scoreboard in client sub-account
impressnew-buildfirst_tangible_logged (fallback Day +7)Pax · CheerleaderVulcan/Codex30day §2 S2 · CJ §12.9
J06wf-day21-favorite-lockin
highest-leverage retention anchor · skill-favorite-surface-probe
impressnew-buildweekly_consumption_pattern_observable (fallback Day 18)Pax · CheerleaderVulcan/Codex30day §2 S3 · CJ §12.9
J07Word of Mouth Loop review capture + approval-gated replies
most-developed post-close asset · 'system drafts, you approve' · GHL not verified-live
impressverifyreview captured (binary, one-time/cycle)Pax · CheerleaderVulcanword-of-mouth-loop build card v8 · review-ai-governance
J08wf-bottleneck-of-cycle + announce
detect bottleneck BEFORE next cycle · NO mid-cycle up-route
reactivatenew-buildrenewal_window_opened (AHEAD of Day 25 — G6)Follow-Up DesignerVulcan30day §2 S4 · CJ §12.10
J09Continuity RFM → win-back → Plai retargeting
🔒 PAUSED behind Diagaxis-100% + Phase 2 maturity gate · Avantage Rewards extraction needs greenlight · Q4
reactivateholdRFM segment changes (continuous)Follow-Up DesignerSoukycontinuity-system-build-card §3
J10Marketing Reset Masterclass (self-serve / Ask-AI)
the 'spectre reset marketing' · GHL Community+Membership container · frame locked, build parked
reactivateparkedmember enters communityAsk AISoukymarketing-reset-masterclass-v0.md (Core · Client) · community-membership-continuum-spine
J11make-it-new cycle reset
30 truths stable; observation refreshes per cycle · rides J03+J08
reactivatenew-buildDay 30 → next Day 0Vulcan30day §4 · delivery-protocol §F

🔒 Shared substrate the fils — read by ≥2 operations · additive-only

ResourceKindStateOwnerWhy it's the backbone
S1🔒 14-signal fields + tag mirrorsfieldreconcileSouky UI (Cat B) + Claude verifyDIA-830 LIVE-STATE: ~10 of the 14 signal fields ALREADY EXIST (behavior/emotion/readiness/anticipation/offer_fit + response_*). NOT a bulk-create — reconcile 6 collisions (esp. response_voice_role→response_voice_register) + create 3 net-new (risk/escalation/loop_status). text+tag-mirror, never select.
S2🔒 cj_phase / cj_stage position mapfieldexistsverify onlyDIA-830 LIVE-STATE: cj_phase ✅ + cj_stage ✅ ALREADY EXIST (TEXT). Verify values match Lisa Catto 3 phases × 9 stages — additive only, do NOT recreate.
S3🔒 Cycle Progression Tracker (6 fields)objectcreateVulcanDIA-830 LIVE-STATE: 2 of 6 COLLIDE (aha_confirmed_at→thirty_day_aha_fired_at · first_tangible_confirmed_at→first_tangible_win_state) — reconcile. 4 genuinely net-new (favorite_surface · bottleneck_this_cycle · bottleneck_next_cycle_lever · renewal_frame_set_at). Written by J03, read by J01/J05/J06/J08.
S4🔒 Agents — Maya · Pax · Ana · DaxagentrebuildDIA-369Maya=Hostess(§12.8) · Pax=scoreboard+Follow-Up(§12.8-10, in sub-account) · Ana=close→handoff · operate across the journey
S5🔒 Care Continuum 3 voice rolesvoicelockeddoctrineHostess (§12.8) · Cheerleader (§12.9) · Follow-Up Designer (§12.10) · carried by response_voice_role
S6Content substrates (210-block + 35 + 84 + 4)contentspecLyradaily-truth 210-block library · 35 counter-objection · 84 voice scripts · 4 Pax digests — NOT produced

🔒 The Protection Map every fil used by ≥2 ops · EXISTS vs COLLISION vs NET-NEW · never rename/delete a shared field

The heart of DIA-830: before building any journey workflow, see every shared tag / field / KB it depends on — so a build never erases, renames, or duplicates one. A ⚠️ collision means the field already exists under another name: reconcile, do not create a duplicate.

🗂️ Custom fields
Resource (fil)DispositionShared byWhy protected
🔒 cj_phase / cj_stage✅ exists12×THE position map — read by every op + agent · TEXT live · verify values, never recreate
🔒 post_purchase_day (= cycle_day)✅ exists5×NUMERICAL live · the day counter every op reads
🔒 behavior_pattern / behavior_last_observed✅ exists3×engagement temperature · J01/J05/J09 · TEXT live
🔒 emotion_current / emotion_confidence✅ exists2×voice-register input · J01/J09 + Maya/Pax · TEXT live
🔒 readiness_for / readiness_score✅ exists4×ask/upgrade/renewal multi-gate · J05/J06/J08/J09 · TEXT live
🔒 anticipation_event / _horizon / _action_due✅ exists3×fire-ahead renewal signal · J06/J08/J09 · anticipation_action_due also = signal-13 next_reemit
🔒 review_/referral_/case_study_ask_suppression_active✅ exists3×signal-10 SUPPRESSION (don't re-ask) · CHECKBOX live · J06/J07/J09 — already built per-ask
🔒 nurture_r1..r6_* (+ per-niche)✅ exists2×40 niche-language fields live · J02 daily-truth + prospection nurture (cross-tile shared)
🔒 woml_* family (26) + review_capture_binary_state✅ exists2×J07 + WoML offer · binary capture + addendum gate + activation already have fields · verify workflows, don't rebuild
🔒 response_voice_role → response_voice_register⚠️ collision4×spec name collides with live response_voice_register + delivery_voice_register — reconcile, do NOT duplicate
🔒 aha_confirmed_at → thirty_day_aha_fired_at⚠️ collision2×live thirty_day_aha_fired_at (DATE) + aha_moment_window_state carry the function — reconcile
🔒 first_tangible_confirmed_at → first_tangible_win_state⚠️ collision2×live first_tangible_win_state carries it — reconcile
🔒 favorite_surface / bottleneck_this/next / renewal_frame_set_at🆕 net-new3×4 genuinely net-new Cycle Progression Tracker fields — J03 writes, J06/J08/J11 read
🔒 30day_stage / purchase_confirmed_at🆕 net-new6×net-new stage counter + cycle-start moment — read by nearly every op
risk_level / escalation_state / signal_loop_status🆕 net-new2×the 3 remaining un-built signals (no live analog) — net-new, cross-cutting
🏷️ Tags (spec — browser-verify)
Resource (fil)DispositionShared byWhy protected
🔒 30day-stage:1..4 / cjstage:* / cjphase:*◻ spec (verify)6×position+stage mirrors for workflow filter — browser-verify (likely exist as field mirrors)
🔒 readyfor:* / review:reply-pending / review:paused-difficult◻ spec (verify)3×ask routing + J07 approval-gate state machine — spec-level
📚 RAG / KB content fils
Resource (fil)DispositionShared byWhy protected
🔒 Maya KB🆕 net-new2×🔴 not built (DIA-369) · gates §12.8 J00/J01 · all 6 niches
🔒 Pax KB🆕 net-new4×🔴 not built (DIA-369) · gates §12.9-12.10 J05/J06/J07/J08 — THE shared domino
🔒 daily-truth 210-block library🆕 net-new5×🔴 not produced · 30 truths × 7 niches · J02 + voice in J01/J05/J06/J08 · start realtor 30 (O1)
🔒 84 voice scripts + 35 counter-objection + 4 Pax digests🆕 net-new4×🔴 not produced · J00/J01/J05/J06/J08 — the content fil

🔴 Gaps

Build-ops order dependency-ordered · Diagaxis-first (G1-G7)

  1. S1 + S2 + S3 — substrate (Cat B Souky UI · the first domino, gates everything)
  2. J00 handoff → J01 aha → J05 tangible → J06 favorite → J08 bottleneck → J11 reset (one full 30-day cycle on Diagaxis master)
  3. parallel: J02 daily-truth (needs 210-lib) · J03 progression (underpins all) · J04 welcome cascade (DIA-389 flip) · J07 WoML verify
  4. §12.9 Impress — spec EXISTS (30-day Stage 2+3 / Pax / Masterclass / follow-up); optional: consolidate the 4 under one labeled owner-workflow
  5. J09 Continuity — HOLD (Phase 2 gate) · J10 Masterclass — PARKED (frame locked)

Diagaxis-first (signal-emit-contract §4 G1-G7): build + validate in Diagaxis master zpKqjGelaejsL9zYCuNg BEFORE any niche/client export.

⏸️ Open Cat A (Souky) before the post-close build launches