TFD Entities by Bounded Context

Persisted Prisma models, approved planned entities, and the relationships that cross context boundaries

TFD Entities by Bounded Context Persisted Prisma models, approved planned entities, and the relationships that cross context boundaries Identity / Staff Access · StaffUser · UserProfile scaffold · Architecture component · identity schema Identity / Staff Access StaffUser · UserProfile scaffold identity schema VIP / CRM · VipProfile · Break · Activity · Notes · Architecture component · Currently identity schema VIP / CRM VipProfile · Break · Activity · Notes Currently identity schema Staff / VIT Operations · VITProfile · Assignment · Architecture component · Currently identity schema Staff / VIT Operations VITProfile · Assignment Currently identity schema Sales · Consultations · imports · acquisition facts · Architecture component · sales schema Sales Consultations · imports · acquisition facts sales schema Delivery Templates · Version · Phase · Cycle · Level · Asset · Architecture component · delivery schema Delivery Templates Version · Phase · Cycle · Level · Asset delivery schema Live / Scheduled Delivery · Run whitelist · Occurrence · Attendance · Analysis · Media · Architecture component · delivery schema Live / Scheduled Delivery Run whitelist · Occurrence · Attendance · Analysis · Media delivery schema On-demand Delivery · VideoLinkReview · OnDemandAttendance · Architecture component · Persisted presence + planned progress On-demand Delivery VideoLinkReview · OnDemandAttendance Persisted presence + planned progress Engagement · Attendance facts · Engagement snapshots · Architecture component · engagement schema Engagement Attendance facts · Engagement snapshots engagement schema Integrations / Linking + Media · Provider staging · streamer intent · private media · Architecture component · integrations schema Integrations / Linking + Media Provider staging · streamer intent · private media integrations schema Notifications · Notification · EventSubscription · NotificationEvent · Architecture component · notifications schema Notifications Notification · EventSubscription · NotificationEvent notifications schema Clinical · Notes · sources · body map · revisions · Architecture component · clinical schema Clinical Notes · sources · body map · revisions clinical schema Audit · AuditEntry · AuditOperation · Architecture component · Schema: audit Audit AuditEntry · AuditOperation Schema: audit meeting linked · stored video available normalized source records scheduled occurrence presence Legend Security Backend Database External Message bus

Status language

  • • All About You keeps its existing Gold rows and per-period quality evidence. The read groups spreadsheet contributions by month and evaluates Airtable outcomes individually, aggregating only confirmed VIP/attendance pairs for conversion. Unreconciled groups do not poison other eligible groups; period adjustments remain inseparable from their full reporting month. No new persistence or projection version is required.
  • • Sales owns daily SalesConsultationMetricsGold with nullable counts, quality, lineage and projection hashes. Consultations aggregate Silver reuses SalesAcquisitionCampaign (consultations kind) and SalesAcquisitionMetricFact; individual Airtable SalesConsultationFact stays separate. Publication projects Gold atomically. The chart uses spreadsheet Gold for covered months and Airtable individual facts only in uncovered months, never adding overlapping sources.
  • • Schema tags identify persisted Prisma ownership
  • • Sales owns SalesAllAboutYouGold with provider-keyed daily, appointment, coverage and undated-adjustment grains, nullable metrics, quality, freshness and private lineage. Spreadsheet cells stay in SalesAcquisitionMetricFact with all_about_you campaigns; individual Airtable Silver remains SalesAllAboutYouFact. Spreadsheet publication and Airtable conversion each project Gold atomically. Monthly spreadsheet coverage wins before date/dimension filtering; overlaps are never summed.
  • • SalesFbfAcquisitionGold keeps one registration row per source campaign or monthly edition, with nullable counts, quality evidence and an idempotent hash. Reviewed campaign dimensions associate FBF1-FBF4 with zoom-fbf-N-monthYY worksheet names, which override internal tags. Shared edition counts are never copied into program rows; Gold recognizes their scope without requiring actual event dates. The overview exposes metric_scope and date_basis, selects editions by reporting-month overlap and withholds program comparisons for shared totals. Confirmed campaigns retain same-program comparison safeguards. Private cell/publication lineage stays in Sales; no new tables or migration.
  • • Planned means approved direction without a current model
  • • Conceptual means domain language, not implementation
  • • ClinicalNote now has isolated persisted aggregate and revision tables
  • • Integrations owns PracticeBetterClient, PracticeBetterTag, PracticeBetterClientTag, PracticeBetterSessionNote and PracticeBetterImportJob; provider snapshots never replace VIP or Clinical aggregates
  • • Clinical additionally owns ClinicalSourceRecord, ClinicalSourceTag, ClinicalSourceNote and ClinicalSourceNoteRevision; VIP references are scalar and source identity cannot be silently reassigned
  • • ClinicalWorkspaceEntry owns typed summary/body observations; ClinicalWorkspaceRevision preserves versions and ClinicalWorkspaceAccess records actor/VIP/action/time. Cross-context references remain scalar ids
  • • SalesHistoricalAirtableRead and SalesHistoricalAirtableReadRow persist bounded transport checkpoints and normalized captures. Completed captures reuse SalesHistoricalImportBatch and immutable rows; identical snapshots share a batch and absent records never silently delete history
  • • SalesHistoricalImportReconciliation versions attempt/revision, rule and baseline/review hashes. SalesHistoricalMetricCandidate stores ordered source-row decisions and safe before/after evidence. SalesHistoricalImportPublication references the reviewed reconciliation; acquisition corrections retain superseded facts while missing/unchanged facts stay active
  • • SalesMembershipCapture owns immutable daily revisions and source/matching counts; SalesMembershipSilver holds matched-VIP coverage and classification evidence; SalesMembershipGold holds reconciled counts. Identity supplies coverage and pauses and Engagement supplies completed-week evidence through public contracts. Commercial ownership remains in VIP/CRM.

Current alignment debt

  • • VipProfile, VITProfile, Assignment, and snapshots currently live in identity
  • • The business context remains authoritative even when the physical schema lags

Boundary safeguards

  • • Integrations emits AddPipe availability only after the normalized private MP4 is stored and preserves original availableAt
  • • One Integrations-owned normalized participant blacklist excludes the same VIT name from live Zoom recording and future AddPipe storage work
  • • Delivery applies each Program Run's AddPipe level whitelist before pending review enters Attendance, while Integrations retains every recording
  • • Delivery owns all-run-VIP candidates, pending review, atomic occurrence-scoped linking, same-run future relocation, and explicit analysis
  • • Clinical details do not leak into general operational entities
  • • Review evidence may retain a provider URL; analysis playback crosses by stable id and private storage details never leave Integrations

Audit P0 and P1 coverage

  • • Identity, Clinical, Sales, Delivery and Integrations retain their state; Audit receives bounded facts through the synchronous public contract
  • • Staff/RBAC, Clinical and attendance/evidence changes commit with Audit. Private media and sensitive VIP concessions await durable evidence before disclosure
  • • Integrations owns MediaDeletionJob: committed intent blocks playback, leased bounded retries remove private objects, completion and Audit commit together; terminal failure has an authorized repair path
  • • Audit HTTP queries use explicit independent read, restricted-metadata and export grants, server organization scope and validated unsigned pagination; every page reapplies authorization and query limits. No Audit secret is required. Retention is held without automatic purge or receipt expiry
  • • P1 adds manual VIP changes, VIT assignment decisions, Program Run creation, manual attendance and named soft archives; existing video decisions retain one P0 fact and owner histories remain independent