SOW HLT-DC-MCN-001 · Confidential
Prepared for James · 6 May 2026 · End of Week 3 · Week 4 starts Thu 7 May
Campus + programme canonicalisation in scope. Track A (Snowflake-first dbt silver→gold) confirmed as primary path; Track B (DC-first BDT) ruled out — fragments normalisation authority. Five build checkpoints framed: dbt layer · DC-first reference · ZC sync · DMO mapping · activation showcase. Conflict-resolution rule for `Preference__c` locked (most-recent matching case criteria; fallback to Contact). dbt Core inside Snowflake workspaces (not external dbt Cloud) confirmed as the tooling. Sandbox almost ready per Jess (confirmed 5 May) — unblocks Wk 4 build start.
14-slide operating-model deck (#142) presented to broader team and signed-off as the post-architecture working framework. Closed.
DC owns consent (not Snowflake — Snowflake = reporting only). MC unsubscribe = canonical base (362K records, verified). Three-DMO model re-confirmed: `CommunicationSubscription` + `ChannelType` + `CommunicationSubscriptionConsent` + `ContactPointConsent` (for IR + segmentation). Data cleaning happens in BI silver layer before DC. Preference centre starts simple: one tickbox "Marketing"; CloudPage stays active during migration. Seven-flag reconciliation identified as the core open work item for the #79 spec.
The discrepancy between SFMC subscribers and CRM Lead/Contact counts (~362K vs ~3.5M opt-outs) is acknowledged as a business artifact: Hult's lead-acquisition model relies on third-party purchasing + repurchasing, which creates duplicates across CRM. Ash + Chris will run a query to quantify the gap before #79 + #82 specs scope the migration approach. Currently blocking #79 + #82 spec drafting.
Jessica has deleted 31 sfmc-connector streams. Reconnection sequence in production still pending: requires Ash sign-off + low-traffic window. Sandbox testing first per the spec.
Full DLO → DMO lineage covering all 137 DMOs, 203 DLOs, and 224 DSOs across both Enrollment and MyStudents orgs. Interactive — zoom, pan, and click to explore relationships.
| # | Issue | Phase | Status |
|---|---|---|---|
| 72 | Access provisioning (sandbox, JIRA, GitHub, MC) | 1 | Done |
| 74 | CI write-back diagnosis — CC_TopChoiceCampus__c | 1 | Done |
| 75 | Opportunity 3-stream split audit | 1 | Done |
| 76 | Data Stream baseline — 176 streams | 1 | Done |
| 77 | Repo scaffold + spec-driven workflow | 1 | Done |
| 112 | V3 CRM Data Kit field maps (963 mappings) | 1 | Done |
| 143 | SFMC Classic full audit (362 autos · 1,534 journeys · 14 query families) | 1 | Done |
| 96 | BI architecture review — Hybrid decided 29 Apr | 1 | Decided |
| 142 | Operating-model deck — signed-off 5 May | 4 | Done · Wk 3 |
| 160 | MC stream cleanup audit | 2 | Done · Wk 3 |
| 157 | Web behavioural data gap — discovery, exec lives in HULTMKT1-9834 | 2 | Done · Wk 3 |
| 175 | Preference scoring deprecation — 0 of 1.7M ever populated | 2 | Done · Wk 3 |
| 176 | Stakeholder project update deck — presented 6 May | 4 | Done · Wk 3 |
| 149 | Campus canonical pilot — scope locked, sandbox-ready imminent | 2 | In Review |
| 80 | MC connection recreation — 31 streams cleaned, recreate gated on Ash | 4 | In Progress (Jessica) |
| 178 | Data Cloud One companion org sandbox provisioning | 1 | In Progress (Falak) |
| 82 | All Subscribers migration — spec drafted, blocked on DD | 4 | Spec drafted |
| 84 | WhatsApp / Unified Messaging — audit complete, 5 bugs | 4 | In Review |
| 73 | Two-org Data Space/Data Share architecture | 1 | Backlog |
| 79 | Consent architecture — DC owns, 7-flag reconciliation open | 4 | Backlog |
| 81 | Calculated Insights build — PipeAge, Suppression, CTAs | 4 | Backlog |
| 83 | Sender profiles + Reply Mail Management | 4 | Backlog |
| 85 | BigQuery DLO — batch data transform workaround | 2 | Backlog |
| 86 | WhatsApp bulk send — MCN setup | 4 | Backlog |
| 87 | Programme-specific footers + application link CTAs | 4 | Backlog |
| 88 | Stream error monitoring — 27 streams | 2 | Backlog |
| 92 | Lead Source deduplication | 2 | Backlog |
| 93 | Team enablement sessions | 5 | Backlog |
| 219 | MCN deliverability — IP warming, subdomain rep, sending strategy (NEW Wk 3) | 4 | Backlog |
| 221 | MCN Preference Center configuration (NEW Wk 3) | 4 | Backlog |
| Q | Question | Owner | Blocks |
|---|---|---|---|
| Q1 | Operating-model deck (#142) — sign-off? | James + Simon | ✓ Resolved 5 May · signed-off, deck closed |
| Q4 | Campus canonical — confirm as first proof point? | James + Simon | ✓ Resolved 6 May · campus + programme locked |
| Q2 | Legal scope for All Subscribers migration — current 362K unsubs, or broader historical superset (subscribers who unsubed at any point, even if since re-subscribed)? | Ku / Simon (legal) | #82 execute · Wk 5+ |
| Q3 | Data Graph naming + structure — confirm PG vs UG split (per Polly+Simon decision) and per-journey-family pattern before first build. | Marketing (Simon · Polly · Ash) | First Data Graph build · Wk 5+ |
| Q5 (NEW) | Subscriber-vs-Lead/Contact discrepancy DD — quantify gap, document third-party-lead duplication root cause. | Ash + Chris | Blocks #79 + #82 spec drafting |
| Q6 (NEW) | Event-reminder classification — marketing vs transactional? Affects footer language + whether event reminders bypass the marketing tickbox. | Simon + Polly (legal counsel) | #221 preference centre + #87 footers |
| Q7 (NEW) | MCN deliverability unknowns — IP type today, IP transfer to MCN, parallel-run sharing, sending subdomain decision. | Ash + SF Support | #219 deliverability strategy · before first MCN send |
Engagement on schedule and on budget at the Week-3 checkpoint. Pilot scope locked with Track A primary; build kicks off Wk 4 as soon as sandbox is provisioned. Operating-model deck signed-off, consent architecture decided, transformation rules catalogued and categorised. Q1 + Q4 from the Wk 2 report resolved this week. The 3 Hult-side blockers (Q5, Q7, HULTMKT1-7467) are the highest-leverage unblockers for the back half — fast turnaround on these keeps Phases 4–5 on track. Engagement is ahead on delivery vs invoicing pace (37.5% complete at 25% invoiced).