Executive Progress Report

SOW HLT-DC-MCN-001 · Confidential

SOW HLT-DC-MCN-001

Data Cloud & Marketing Cloud Next
Executive Progress Report

Prepared for James · Ku · Simon · Ash · 5 Jun 2026 · Wk 7 wrap (28 May–3 Jun) + Wk 8 Day 1 workshop (4 Jun) · Day 50 of 56 · 89% through engagement

7 of 8
Weeks Completed
Day 50 of 56 · 89% through
E2E LIVE
MCN Workshop Build
Segment + Flow + CI active sandbox
3 of 3
Track B Seeds Live
Campus + Programme + Staff
7
Priorities P1-P7
Post-workshop roadmap committed
£15k
Sent · F-20 Pending
F-14/15/16 sent · F-20 end Wk 8
MCN E2E Build Live · Workshop Delivered · 3 of 3 Seeds Production-Ready · 89% Through
3 of 3
Track B seeds live
4
MCN sandbox artifacts
14
PRs Wk 7 + Wk 8 D1
7
Post-workshop priorities
2
For James decision

Wk 7 wrap (28 May–3 Jun · 19.5h · -0.5h under cap): 5 cross-org IR decisions locked with Chris + Hristo + Jess (Thu 28 May session) · v5 cross-org spec FINAL merged (4 normalised gold tables 1:1 with DC DMOs · PR #333) · Programme + Staff seeds added to make 3 of 3 Track B canonical seeds live in DC sandbox (PR #336) · Snowflake gold deploy (Chris) verified — 2 of 3 DLOs fully populated, 3rd (Individual_Unified) diagnosed with PK collision (fix path ready) · invoicing F-14 → F-20 sequence locked.

Wk 8 Day 1 workshop (Thu 4 Jun · 9h): MAT + MCN E2E pilot delivered end-to-end in DC sandbox — Segment Workshop_PG_Announce_Demo ACTIVE · EmailContent created · Flow Workshop_PG_Announce_Send_Flow Draft segment-triggered · CI Microsoft_Email_Detection_By_Campus__cio ACTIVE · MCN merge tokens resolving via Data Graph. Consent session with Simon + Ash: CRM-as-source-of-truth proposed, pending BI root-cause on 356k delta. Post-workshop roadmap committed with 7 priorities P1-P7 (`p4-89` spec).

Two functionally distinct SF Support cases (both evidence-ready): (1) HULT-22242 / #294 sandbox case — V1/V3 Data Kit field-naming mismatch on Lead/Account/Contact bundle streams · 78-object dependency tree on Individual Match 1 IR ruleset · sent Mon 1 Jun · 6 Jun update with 3-layer SObject error chain · awaiting SF Engineering. (2) NEW: prod CI deadlock case (5 Jun · tasks/sf-support-ticket-ci-deadlock.md) — circular Key Qualifier reference between 2 Email Engagement CIs in prod · part of MC connector reinstall (#80) which gates UMA packages (Marketing Analytics + Marketing Performance + Flow Performance). Different org, different bug, different root cause — lodged separately so SF Engineering can action each cleanly.

Where Each Team Is
BI · Snowflake
Hristo · Chris
  • 3 SNOW_GLD_* tables deployed to prod (Individual_Unified 18.1M · Application_Program_Preference 3.5M · Campus_Preference 3.5M)
  • Individual stream PK collision fix — DC stream PK = account_id__c rejects 14.6M NULL leads + collapses 3.5M Contacts to 1,213 distinct Account FKs · fix path: recreate stream with individual_id__c or source_id__c PK
  • Silver R1+R2 filter dbt models (drop 3.4M converted + 21k ghost leads · per #312 lock) · Hristo to scope timing
  • GA ID fields inventory on Lead + Contact (Phase 2 anonymous→known stitch) · Hristo
  • 356k consent delta investigation — CRM (730k opted-out) vs SFMC live (374k) · BI root-cause needed before consent pilot launch
MAT · Marketing
Polly · Simon · Ash
  • Workshop Thu 4 Jun delivered — 5-section MAT + MCN E2E demo · Snowflake → DC → MCN end-to-end · session recorded as reference guide
  • BDT vs CI tradeoffs explored live (Microsoft email exclusion demo)
  • Campus + Programme personalisation BDT chains demo'd end-to-end in DC sandbox
  • Polly TOTAL_REPLACE seed enrichment — Programme brochure URLs (Masters/DBA/OnlineMasters) + Staff phone/photo/calendly/bio
  • P1-P7 post-workshop roadmap (spec p4-89): seed extensions · DMO+DSDMFM build · Data Graph R6+R7 · per-row formula gating · Staff Assignment matrix · Opportunity BDT
  • Dual preference centre planning session (GH #289) · Ash + Simon
DC Config
Jess
  • Workshop sandbox prep complete — BI data mapping ready for Thu 4 Jun demo
  • HULT-22242 / #294 SF Support case — 4-layer block argument sent Mon 1 Jun · 78-object dependency tree · awaiting SF Engineering response
  • MC connection recreation (#80) + UMA packages reinstall · gates email personalisation in prod
  • Workshop_PG_Announce_Demo segment + Flow activation when ready for first test send
  • DSDMFM mapping Track A delivery (post Hristo silver build)
  • IR ruleset config (Rule 1 EmailExact on CPE DMO + Rule 2 StudentIdCrossOrg)
Ohana Cloud
Jonatan
  • 3 of 3 Track B seeds LIVE in DC sandbox (Campus + Programme + Staff · DLO + DMO + DSDMFM 1:1 · queryable end-to-end)
  • MCN E2E workshop build LIVE (Segment + EmailContent + Flow + CI active · merge tokens resolving via Data Graph)
  • SF Support reply HULT-22242/#294 with 4-layer circular block + 78-dependency table
  • Post-workshop roadmap spec p4-89-bdt-roadmap-post-workshop.md · 7 priorities P1-P7 with owners + ETAs
  • CI Email Engagement cleanup investigation — 14 paths tested · root-cause identified (circular KQ deadlock) · 2nd SF Support ticket draft ready
  • F-20 invoice prep (Wks 7+8 · 5,000 GBP · issue end Wk 8)
10 Open Workstreams Tracked
TicketWorkstreamOwnerStatus
Salesforce / Platform Escalations
HULT-22242 / #294 SANDBOX331 orphan DLO fields blocking Lead/Account/Contact stream activation in sandbox · 4-layer circular block argument sent Mon 1 Jun · 78-object dependency tree (48 segments · 21 CIs · 3 Data Graphs owned by Automated Process · bottoms out on standard platform DMOs) · awaiting SF Engineering callSF Support · JessHIGH · open
CI Cleanup (5 Jun) PROD2 Email Engagement CIs (Last7D_UniqueEmailOpens_All/Converted) wedged in DELETE_FAILED in prod org · circular KQ reference on shared ssot__EmailEngagement__dlm.KQ_IndividualId__c · 14 API paths exhausted · separate SF Support case (different bug from HULT-22242) · part of prod MC connector reinstall chain (#80) which gates UMA packages (Marketing Analytics, Marketing Performance, Flow Performance)Jonatan · SF SupportDraft ready
MCN Cutover · Email Sending
GH #80MC connection recreation + UMA packages reinstall · gates email personalisation in prod MC · gated on HULT-22242 resolutionJessBlocked on SF
Workshop MCN E2ESegment + EmailContent + Flow + CI built LIVE in sandbox · merge tokens resolving · ready for first test send when Flow activatedJess + Ash + JonatanLive · awaiting send
GH #219MCN deliverability — IP warming · subdomain reputation · Classic→Next sending strategyAsh + PollyPending
GH #83Sender profiles + Reply Mail Management — per-campus sender setupAshPending
Preference Center · Consent
GH #79 + ConsentCRM-as-source-of-truth proposed at Thu 4 Jun session · 356k delta CRM (730k opted-out) vs SFMC live (374k) requires BI root-cause via Ash + Chris before pilot launch · Classic-vs-Next preference page conflict deferred to separate sessionSimon + Ash + JonatanIn flight
GH #221MCN Preference Center config — Next-native page + CloudPage migration cutoverAsh + SimonPending
GH #289Dual preference centre — planning sessionAsh + SimonPlanning
Canonical Layer · Post-Workshop
GH #312 + p4-893 of 3 Track B seeds LIVE in DC sandbox (Campus + Programme + Staff) · workshop established marketing-team autonomy pattern · 7 post-workshop priorities P1-P7 in spec (seed extensions · DMO+DSDMFM build · Data Graph R6+R7 · per-row formula gating · Staff Assignment matrix · Opportunity BDT)Jonatan + Polly + JessLive · roadmap
11 Decisions Across 4 Sessions
SessionDecisionStatus
#312 Cross-org IR
Thu 28 May · Chris+Hristo+Jess
R1 drop 3.4M converted leads at Snowflake silver layerLOCKED
R2 drop 21k ghost leads at silver layerLOCKED
Snowflake = noise removal · DC IR = cross-row identity merging (layer-of-responsibility lock)LOCKED
Marketing autonomy for canonical seed CSV uploads to DCLOCKED
Multi-approach exploration Track A (dbt) vs Track B (DC native) · workshop Wk 8LOCKED
Spec refinement
Thu 28 May EOD
p2-312 v5 normalised 4-table model (supersedes v4 single-table) · 1:1 DLO→DMOLOCKED
Invoicing numbering F-14 → F-20 sequence (NOT INV-XXX naming)LOCKED
Workshop MAT
Thu 4 Jun
6-layer architecture pattern adopted (Bronze/Silver/Gold/DC ingestion/DC marketing transforms/CIs)LOCKED
P1-P7 post-workshop roadmap committed (seed extensions · DMO+DSDMFM build · Data Graph R6+R7 · per-row formula gating · Staff Assignment matrix · Opportunity BDT)LOCKED
Consent · Simon+Ash
Thu 4 Jun
CRM-as-source-of-truth for opt-out conflicts (Jonatan proposed · pending BI root-cause)PROPOSED
356k delta investigation gating pilot launch (Ash + Chris)IN FLIGHT
What's Shipped
TypeArtifactStatus
MCN sandboxSegment Workshop_PG_Announce_Demo · PG INNER JOIN GLD_PERS_PROGRAMME + GLD_PERS_CAMPUS · 18.1M flaggedACTIVE
MCN sandboxEmailContent · 10+ merge tokens resolving via PG_Pillar_Lead_DataGraphCREATED
MCN sandboxFlow Workshop_PG_Announce_Send_Flow · Draft segment-triggered · v2 post timezone+startDate fixDRAFT
MCN sandboxCI Microsoft_Email_Detection_By_Campus__cio · Hotmail/Outlook/Live/MSN aggregation by campusACTIVE
DC sandbox3 of 3 Track B seeds (Campus 8 rows + Programme 9 rows + Staff 12 rows) · DLO+DMO+DSDMFM 1:1 · queryable end-to-endACTIVE
Specp2-312 v5 cross-org IR spec FINAL · 4 normalised gold tables · 1503 lines (PR #333)MERGED
Specp4-89 BDT roadmap post-workshop · 7 priorities P1-P7 (PR #347)MERGED
SpecProgramme + Staff seeds v3 SFMC-verified (PR #336)MERGED
DeckMAT session deck slides 34-36 · pipeline + IDs + demo walk-through (PR #347)COMMITTED
Session logWorkshop MAT + MCN pilot 4 Jun (PR #349) · Consent session Simon+Ash CRM-as-source-of-truth (PR #348)COMMITTED
EscalationHULT-22242 / #294 SF Support reply with 4-layer block + 78-dependency table sent Mon 1 JunAWAITING SF
Escalation2nd SF Support ticket draft — CI Email Engagement deadlock (14 API paths exhausted)DRAFT READY
AuditChris Snowflake gold deploy audit · 3 SNOW_GLD tables · Individual PK collision diagnosedCOMMITTED
PRs14 PRs merged Wk 7 + Wk 8 D1 (#326 #327 #328 #329 #330 #333 #335 #336 #347 #348 #349 #350 #351 + this report)MERGED
MCN E2E Build Validated · SF Platform Blockers Surfaced Twice
WORKSHOP PROOF
Snowflake → DC → MCN E2E LIVE in sandbox

Workshop Thu 4 Jun demoed the full 6-layer architecture end-to-end with real data: 18.1M Individuals + 3M Programme Prefs + 3M Campus Prefs federated zero-copy · BDT vs CI tradeoffs compared (Microsoft email exclusion CI active) · Campus + Programme personalisation BDT chains live · Data Graph → Segment → Flow chain wired. Marketing-team autonomy pattern validated — seed maintenance + BDT authoring within MAT without engineering bottleneck. Workshop recorded as MAT reference guide. 7-priority roadmap (P1-P7 · p4-89 spec) captures the remaining 30% gap.

PLATFORM PATTERN
Same circular-block deadlock surfaced twice

Two functionally distinct platform bugs surfaced as SF Support cases: (a) HULT-22242 sandbox is a V1/V3 Data Kit field-naming mismatch on Lead/Account/Contact bundle streams (orphan `_c__c` legacy fields blocking activation · sandbox-only); (b) prod Email Engagement CI deadlock is a circular Key Qualifier reference between two CIs · part of MC connector reinstall chain (#80) which gates UMA packages (Marketing Analytics + Marketing Performance + Flow Performance). Different org, different bug, different root cause — but both have been exhaustively API-tested (12+14 paths respectively) and bottom out at platform-side cleanup that customer APIs do not expose.

Implication for cutover: the workshop established the technical pattern works · the marketing team can self-serve · the post-workshop 7-priority roadmap closes the remaining gaps. Remaining critical-path is SF Engineering response on HULT-22242 (gates #80 MC connection recreation) + Polly's seed enrichment for the first real send.

2 Items for Your Attention This Week
#ItemDecision neededWhen
1 SF Engineering escalation pressure on HULT-22242 + 2nd CI deadlock ticket Two functionally distinct SF Support cases to push this week: (a) HULT-22242 / #294 sandbox — V1/V3 Data Kit field-naming mismatch on Lead/Account/Contact bundle streams · sent Mon 1 Jun · 6 Jun 3-layer SObject error chain update sent. (b) Prod CI Email Engagement deadlock (NEW) — circular KQ reference on EmailEngagement DMO · part of MC connector reinstall chain (#80) which gates UMA packages (Marketing Analytics, Marketing Performance, Flow Performance). Lodged as separate cases so SF Engineering can action each org cleanly. Decision: confirm engineering-call route or escalate via Premier Support / Account team. This week
2 F-20 issuance (Wks 7+8 · 5,000 GBP) Approve sending to finance at end of Wk 8 (week of 10 Jun). F-14 + F-15 sent 15 May · F-16 sent end Wk 6 · all 3 pending payment. F-20 will close out the 20,000 EUR equivalent SOW. Standard process: finance inbox · CC James for priority. End Wk 8
£15,000 Sent (75% of SOW) · F-20 Pending End Wk 8 · Net-Absorbed +54.3h
WkDatesHoursInvoiceStatus
1+216-29 Apr64.5hF-14 (GBP reissue)Sent 15 May · pending payment
3+430 Apr-13 May61.3hF-15 (GBP)Sent 15 May · pending payment
5+614-27 May39.0hF-16 (GBP)Sent end Wk 6 · pending payment
7+828 May-10 Jun~28.5h (19.5 + 9.0)F-20 (GBP)Pending end Wk 8
Total193.3h£15,000 sent · £5,000 to send (F-20)+54.3h absorbed · cap rule honored

Wk 7 actual: 19.5h vs 20h cap (-0.5h under). Wk 8 Day 1 (Thu 4 Jun workshop): 9.0h. Cumulative engagement 193.3h delivered against 160h cap-equivalent (8 weeks × 20h). All absorbed hours align with engagement letter cap-rule — no overage billed.

Next 8 Workstreams to Close Engagement
#ItemOwner
1Activate Workshop_PG_Announce_Send_Flow for first test send when QA passes · validates MCN sandbox E2E end-to-end with a real sendJonatan + Jess
2SF Engineering escalation push — pair HULT-22242 + CI Email Engagement tickets · target engineering call this weekJames + Jess + Jonatan
3Polly TOTAL_REPLACE seed enrichment — Programme brochure URLs (Masters/DBA/OnlineMasters) + Staff phone/photo/calendly/bio/reply_inbox · unblocks BDT outputs for real campaignsPolly
4356k consent delta BI root-cause analysis · gates consent pilot launchAsh + Chris
5Individual stream PK fix in DC sandbox (recreate stream with individual_id__c PK) · unblocks Individual_enrich BDT scenarioChris + Jonatan
6Share DC segment limits documentation (count + concurrency) — Workshop action item #1Jonatan
7Schedule 30-min follow-up workshop (email creation deep-dive) — Workshop action item #2Jonatan + Polly
8F-20 invoice issuance (Wks 7+8 · 5,000 GBP · closes 20,000 EUR equivalent SOW) — with James approval end Wk 8Jonatan + James
On Schedule · Build Validated · 1 Week Remaining
Schedule
On plan

Phase 4 workshop delivered · Phase 5 (validation + handover) starts this week

Budget
Cap honored

75% sent · 54.3h net absorbed · F-20 closes SOW

Scope
No expansion

SOW §5 boundaries respected · post-workshop roadmap captures post-engagement work

Risk
Amber

2 SF Engineering tickets pending · MCN cutover gated · all evidence-ready for escalation