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 · 28 May 2026 · Wk 6 wrap (21–27 May) + Wk 7 Day 1 (28 May) · Day 42 of 56 · 75% through engagement

6 of 8
Weeks Completed
Day 42 of 56 · 75% through
v5 LIVE
Cross-Org IR Spec
4 gold tables · 1:1 with DC DMOs
12
Decisions Wk 6+7
8 naming + 4 sprint + 5 #312
8 rows
Campus Seed Live
DC sandbox end-to-end
£10k
Sent · Pending Payment
F-13 + F-14 sent 15 May · F-15 sending
v5 Spec Merged · Campus Seed Live · 12 Decisions Locked Wk 6+7
12
Decisions locked
11
PRs merged Wk 7 D1
3
Live DC artifacts
5
Open SF blockers
3
For James decision
Where Each Team Is
BI · Snowflake
Hristo · Chris
  • Snow_Preference stream LIVE (1.81M rows in DC sandbox)
  • Build silver dbt models with R1 (drop 3.4M converted leads · CONVERTED_CONTACT_ID NOT NULL) + R2 (drop 21k ghost leads · NOT EXISTS Contact with same email) per #312 locked decision · Hristo to scope timing
  • Inventory GA ID fields tracked on Lead + Contact (informs Phase 2 anonymous→known stitch · WebsiteEngagement stream repair gated) · Hristo
  • Review raw campus value list against canonical · 15,499 case-sensitive misroutes + 66 orphan canonical codes in #149 harmonisation audit · Chris
  • Campus canonical codes (LON/BOS/etc) — pending Chris commitment · only 3 of 7 campuses currently resolve in SNOW_GLD_APPLICATION_PREFERENCE.CAMPUS_RESOLVED
  • Programme canonical codes — 19 codes computed in SNOW_GLD_PROGRAM_PREFERENCE.PROGRAM_CANONICAL but NOT yet propagated to DC consumable layer (GLD_PREFERENCE_DLM per p2-149 not built)
MAT · Marketing
Polly · Simon · Ash
  • Simon CSV upload autonomy validated end-to-end (campus seed today)
  • BDT design spec ready (single-source Excel formulas on Preference DLO · 2 output fields · matches p2-149 BDT pattern)
  • Polly authors Preference_CampusNormalize_BDT · gates campus journey personalisation
  • MAT-guidance workshop scheduled Thu 5 Jun · Polly + Simon + Ash · walkthrough Data Graph + Segments + BDT authoring
  • Decision #5 multi-approach pilot workshop (#334) · Wk 8 · 60 min · empirical Track A vs Track B comparison · separate event from MAT-guidance
  • Dual preference centre planning session (GH #289) with Ash + Simon
DC Config
Jess
  • STUDENT_ID cross-org match confirmed (student__id__c MS Contact = Enrollment STUDENT_ID · Rule 2 IR unblocked)
  • SFMC sandbox + Companion + CRM reauth complete (Phase 1 fully closed)
  • HULT-22242 SF Support escalation case (14 API paths exhausted · 423-line draft ready · handed off)
  • MC connection recreation (#80) + UMA packages reinstall · gates email personalisation in prod
  • DSDMFM mapping Track A delivery (post silver build)
  • IR ruleset config (Rule 1 EmailExact on CPE DMO + Rule 2 StudentIdCrossOrg on Individual)
Ohana Cloud
Jonatan
  • v5 cross-org IR spec FINAL merged (4 normalised gold tables 1:1 with DC DMOs)
  • Campus seed end-to-end LIVE in DC sandbox (DLO + DMO + DSDMFM mapping · 8 rows queryable)
  • GH #334 workshop tracker + James weekly close report
  • Programme + Staff seeds (Fri 29 May · same DC pattern as Campus)
  • Coordinate MAT-guidance workshop (Thu 5 Jun) + Decision #5 workshop (Wk 8)
9 Open Workstreams Tracked
TicketWorkstreamOwnerStatus
Salesforce / Platform Escalations
HULT-22242331 orphan DLO fields · 14 API paths tested · all add-only · platform limitation · SF Support case ready (423-line draft)Jess · SF EngineeringHIGH · open
MCN Cutover · Email Sending
GH #80MC connection recreation + UMA packages reinstall · gates Data Graph + email personalisation in prod MCJessIn flight
GH #219MCN deliverability — IP warming · subdomain reputation · Classic→Next sending strategyAsh + PollyPending
GH #291IP strategy — verify dedicated vs shared IP · Classic IP reusabilityAshPending
GH #83Sender profiles + Reply Mail Management — per-campus sender setup · seed CSV currently TBD-#83 placeholderAshPending
Preference Center · Consent
GH #221MCN Preference Center config — Next-native page + CloudPage migration cutoverAsh + SimonPending
GH #289Dual preference centre — planning session with Ash + SimonAsh + SimonPlanning
GH #79Consent architecture — scope + implement MCN consent solution (MessagingConsentV2 currently 7 rows · need full build)Jess + SimonIn flight
Consent Business DocBusiness-side consent policy document (cohort opt-in/out rules · regulatory mapping · feeds #79 implementation)Simon · drafted by Simon sidePending review
Canonical Layer (Both Seeds Pending Deployment)
GH #312Campus canonical: only 3 of 7 resolved in SNOW_GLD_APPLICATION_PREFERENCE.CAMPUS_RESOLVED · Chris's commitment to deploy LON/BOS/etc pending · DC-native seed live as workaround (8-row GLD_CAMPUS__dlm)Chris (Snow side) · Jonatan (DC side)Partial
GH #312Programme canonical: 19 codes computed in SNOW_GLD_PROGRAM_PREFERENCE.PROGRAM_CANONICAL · NOT yet propagated to DC consumable layer (GLD_PREFERENCE_DLM per p2-149 design not built)Hristo + ChrisComputed · not deployed
12 Decisions Across 3 Sessions
SessionDecisionStatus
Sprint Review
Wed 27 May
MC Personalization → DC deprioritizedLOCKED
Business Enablement EPIC (Simon + James co-own)LOCKED
Transforms primarily in Snowflake (silver/gold)LOCKED
MC Classic → Sandbox workaround for prod stream blockersLOCKED
#281 Naming
Mon 26 May
UPPERCASE gold layer · snow_ vs DC_ origin prefixLOCKED
_DLL + _DLM single-underscore suffix conventionsLOCKED
L6 Custom DMO drops SNOW_ prefix + _SF source suffixLOCKED
MAT naming preserved (PG_/UG_ pillar)LOCKED
Segments live in DC not MCNLOCKED
No B1/B2/B3 version suffixes for DC assetsLOCKED
Snowflake-side canonical seed JOINs (campus + programme)PARTIAL
BDT formula syntax = Excel-flavour · single-source DMOLOCKED
#312 Cross-org IR
Thu 28 May
R1 drop 3.4M converted leads at silver layerLOCKED
R2 drop 21k ghost leads at silver layerLOCKED
Filters land at Snowflake silver (not gold · not DC)LOCKED
Marketing autonomy for canonical seed CSV uploadsLOCKED
Decision #5 multi-approach pilot · workshop Wk 8LOCKED
What's Shipped
TypeArtifactStatus
DC sandboxDC_GLD_CAMPUS_SEED__dll · 8 rows · uploaded via UIACTIVE
DC sandboxGLD_CAMPUS__dlm · 11 fields · category Other · via d360 MCPCREATED
DC sandboxDSDMFM mapping 1:1 · 15 fields incl systemACTIVE
Specv5 cross-org IR spec · 4 normalised gold tables · 1503 lines (PR #333)MERGED
SpecCampus BDT design spec · single-source pattern (PR #335)MERGED
SpecNaming convention canonical doc (~360 lines · PR #319)MERGED
GH ticketGH #334 · Workshop tracker for Decision #5 multi-approach pilotOPEN
AuditCross-org duplication audit · 177 lines verbatim SQLCOMMITTED
AuditHULT-22242 14-path API exhaustion audit + 423-line SF Support draftHANDED OFF
Deckp2-312 13-slide architecture deck (HTML + PPTX)COMMITTED
DeckNaming convention 18-slide deck (HTML + PPTX)COMMITTED
Toold360 MCP server installed · 187 tools · 21 familiesACTIVE
Canonical Layer Both Seeds Pending DC Deployment
CAMPUS
3 of 7 resolved in Snowflake · 0 deployed to DC

London · Boston · Dubai resolved in CAMPUS_RESOLVED. NYC · SF · Shanghai · Ashridge → NULL. Canonical 3-letter codes (LON/BOS/etc) pending Chris's commitment to deploy. DC-native seed already live (GLD_CAMPUS__dlm · 8 rows · Wk 7 Day 1) bridges gap independent of Snowflake-side decision.

PROGRAMME
19 codes computed in Snowflake · 0 deployed to DC

BBA · MBA · MIM · HEMBA · MFIN · MBAN · MMKT · BPEP · BCSB · OnlineMBA · 9 others in PROGRAM_CANONICAL. Codes exist at PRD_GLD layer but not yet propagated to DC consumable DMOs (GLD_PREFERENCE_DLM per p2-149 §1.4 design not built). Polly's BDT formulas can't consume yet.

Decision #5 workshop (Wk 8 · separate event from MAT-guidance Thu 5 Jun): empirical Track A (dbt seed + Snowflake JOIN) vs Track B (DC native seed + BDT) comparison with all 5 owners (Jess · Chris · Hristo · Simon · Jonatan) · scope = which approach Hult adopts for ongoing maintenance.

3 Items for Your Attention This Week
#ItemDecision neededWhen
1 Decision #5 workshop scheduling (GH #334) Confirm 60-min slot · proposed Tue 3 Jun OR Wed 4 Jun pre-sprint-review (11:00 UK). Required: Jess · Chris · Hristo · Simon · Jonatan. Empirical Track A vs Track B canonical maintenance comparison. Separate event from MAT-guidance workshop already scheduled Thu 5 Jun. Wk 7
2 F-15 issuance (Wks 5+6 · 5,000 GBP) Approve sending to finance. F-13 + F-14 sent 15 May (pending payment) · F-15 (Wks 5+6) being prepared now · F-16 (Wks 7+8) end of Wk 8. This week
3 Canonical layer strategic direction Both Campus + Programme canonical pending DC deployment. Pre-workshop decision: (a) align with Chris on Snowflake-side ownership · (b) accept DC-native maintenance (already proven) as new standard · (c) parallel paths. Workshop empirically decides · your strategic preference helps frame. Pre-workshop
£10,000 Sent (50% of SOW) · Both Pending Payment · Net-Absorbed +50.8h
WkDatesHoursInvoiceStatus
1+216-29 Apr64.5hF-13 (GBP)Sent 15 May · pending payment
3+430 Apr-13 May61.3hF-14 (GBP)Sent 15 May · pending payment
5+614-27 May39.0hF-15 (GBP)Being sent · James OK
7+828 May-10 Jun12.0h (Day 1)F-16 (GBP)Pending end Wk 8
Total176.8h£10,000 sent · £10,000 to send+50.8h absorbed · cap rule honored
Next 6 Workstreams
#ItemOwner
1Build Programme seed v1 in DC sandbox · CSV with the 19 PROGRAM_CANONICAL codes (BBA · MBA · MIM · HEMBA etc) + DLO + DMO + DSDMFM mapping (same flow as Campus)Jonatan
2Build Staff DMO shell per p2-149 §1.6 schema (composite key programme_code + region + pipeline_phase · 4 assigned_rh/vp fields) · no CSV until Polly provides dataJonatan
3Share v5 cross-org IR spec with Chris (action from #312 session · for his review before Hristo starts silver build)Jonatan
4Ping Hristo to scope timing for silver R1+R2 filter build (drop 3.4M converted leads + 21k ghost leads · per #312 lock)Jonatan
5Coordinate Decision #5 workshop (GH #334 · Wk 8 · 60 min · all 5 owners) + send pre-read · separate from MAT-guidance workshop already scheduled Thu 5 JunJonatan
6F-15 invoice issuance (Wks 5+6 · 5,000 GBP) — with James approvalJonatan + James
On Schedule · Build Unblocked · 2 Weeks Remaining
Schedule
On plan

Phase 2 at 95% · Phase 3 specs locked · Phase 4 in flight

Budget
Cap honored

50% sent · 50.8h net absorbed · no overruns

Scope
No expansion

SOW §5 boundaries respected · new tickets within envelope

Risk
Amber

5 SF/perm blockers · all named owners · mitigations in flight