dbt Model Registry
Purpose : Complete map of every dbt model in production. Claude Code uses this to avoid duplicate models, understand dependencies, and ensure new models follow established patterns.
Last Updated : 2026-03-02
Project location : apps/dbt/dbt_xo_models/
How to Update This File
When you deploy a new dbt model, add it here. When you deprecate a model, mark it deprecated and record the date. This file is Claude's map of the transformation layer.
Model Summary
Client
Silver
Gold Facts
Gold Dims
Gold Aggs
Gold Reports
Seeds
Warby Parker
4
1
0
1
1
1
Condé Nast
0
0
0
0
0
0
Total
4
1
0
1
1
1
Silver Models
Warby Parker (WBP_DB.SILVER / WBP_DB_DEV.SILVER)
Model File
Table Name
Grain
Source Bronze Table
Status
silver/warbyparker/contact_timestamps.sql
CONTACT_TIMESTAMPS
One row per CONTACT_ID
GLADLY_CONTACT_TIMESTAMPS
✅ Production
silver/warbyparker/conversation_timestamps.sql
CONVERSATION_TIMESTAMPS
One row per CONVERSATION_ID
GLADLY_CONVERSATION_TIMESTAMPS
✅ Production
silver/warbyparker/work_sessions.sql
WORK_SESSIONS
One row per AGENT_ID + SESSION_START
GLADLY_WORK_SESSIONS
✅ Production
silver/warbyparker/agent_durations.sql
AGENT_DURATIONS
One row per AGENT_ID + STATUS_START
GLADLY_AGENT_DURATIONS
✅ Production
Silver Rules :
- Materialized as dynamic_table
- No JOINs, no filters, no aggregation
- Deduplicates by RECORD_KEY
- Type converts VARCHAR → proper types
Gold Models — Warby Parker (WBP_DB.GOLD / WBP_DB_DEV.GOLD)
Facts (fct_)
Model File
Table Name
Grain
Source Silver
Enriched With
Status
gold/warbyparker/fct_contacts.sql
FCT_CONTACTS
One row per CONTACT_ID
CONTACT_TIMESTAMPS
ROSTER_WARBYPARKER, INBOX_GLOSSARY
✅ Production
Dimensions (dim_)
Model File
Table Name
Grain
Source
Status
(none yet)
Aggregates (agg_)
Model File
Table Name
Grain
Source Fact
Metrics
Status
gold/warbyparker/agg_agent_daily_contacts.sql
AGG_AGENT_DAILY_CONTACTS
One row per (AGENT_ID, DATE)
FCT_CONTACTS
total_contacts, email_contacts, chat_contacts
✅ Production
Reports (rpt_)
Model File
View Name
Materialization
Source Agg
Consumers
Status
gold/warbyparker/rpt_email_daily.sql
RPT_EMAIL_DAILY
view
AGG_AGENT_DAILY_CONTACTS
Tableau
✅ Production
Gold Models — Condé Nast (CND_DB.GOLD)
(No Gold models yet — Silver layer not yet built)
Seeds
Seed File
Table Name
Schema
Purpose
Updated
seeds/ai_agents.csv
AI_AGENTS
GOLD
AI wave enablement dates per agent
As needed
Source Definitions (sources.yml)
Source Name
Database
Schema
Tables
warbyparker_bronze
WBP_DB / WBP_DB_DEV
BRONZE
gladly_contact_timestamps, gladly_conversation_timestamps, gladly_work_sessions, gladly_agent_durations
core_silver
CORE_DB / CORE_DB_DEV
SILVER
roster_warbyparker, roster_condenast
warbyparker_silver
WBP_DB / WBP_DB_DEV
SILVER
inbox_glossary
Dependency Graph
Bronze Tables (xo-foundry)
│
▼
Silver Models (dbt dynamic tables)
├── contact_timestamps
├── conversation_timestamps
├── work_sessions
└── agent_durations
│
▼
Gold Facts (dbt dynamic tables)
└── fct_contacts ◄── CORE_DB.SILVER.ROSTER_WARBYPARKER
◄── WBP_DB.SILVER.INBOX_GLOSSARY
│
▼
Gold Aggregates (dbt dynamic tables)
└── agg_agent_daily_contacts
│
▼
Gold Reports (dbt views)
└── rpt_email_daily
│
▼
Tableau / Consumers
Planned Models (Not Yet Built)
Track upcoming models here so the team knows what's coming.
Model
Type
Client
Priority
Notes
dim_agent
Dimension
WBP
Medium
Current agent state from roster
fct_conversations
Fact
WBP
High
Conversation events with agent enrichment
agg_agent_daily_conversations
Aggregate
WBP
High
Conversation KPIs by agent/day
rpt_agent_performance
Report
WBP
High
Main agent performance dashboard
silver/condenast/*
Silver
CND
Medium
Sprout Social messages Silver layer
Test Coverage Summary
Layer
Models
Models with Tests
Key Tests
Silver
4
4
unique + not_null on RECORD_KEY
Gold Facts
1
1
unique + not_null on primary key
Gold Aggregates
1
1
not_null on dimensions
Gold Reports
1
0
Views — no data tests needed
Deprecated Models
Model
Deprecated Date
Replaced By
Notes
(none yet)
dbt Commands Reference
# From apps/dbt/dbt_xo_models/
# Compile (check SQL validity without running)
dbt compile
# Run specific model
dbt run --select fct_contacts
# Run all Gold for WBP
dbt run --select gold.warbyparker.*
# Run tests
dbt test --select fct_contacts
# Seed static data
dbt seed
# Full run (Silver → Gold → Seeds)
dbt run && dbt test
See also: snowflake-object-inventory.md | gold-layer-expansion.md | ADR 008