justin.wray
employee
6c5f00079a27d3b0
Normalized: justin wray
github
linear
toggl
Entity Properties (gold employee table)
employee_id
6c5f00079a27d3b0
name
Justin Wray
email
justin.wray@morelandconnect.com
nickname
JW
doer
0.5
squad
Firestarter
loaded_cost_hr
136.15
canonical_metadata
—
created_at
2026-02-12 05:22:47.072254+00:00
updated_at
2026-02-12 05:22:47.072254+00:00
58%
Separation Confidence
How distinct this entity is from others. Higher means no close matches existed when it was created. Lower means a near-match was rejected just below the 80% threshold — worth reviewing.
Moderate — a somewhat similar entity exists
100%
Avg Match Confidence
The average confidence score across all active source mappings. Shows overall quality of linkage between source records and this canonical entity.
Strong source linkage
Source Mappings (3)
| Source | Source ID | Display Name | Confidence | Method | Status | Actions | |
|---|---|---|---|---|---|---|---|
| github | 55798620 | - | 1.00 | exact | Active |
|
|
|
Source Record
bronze_github_pull_requests
id
3531658485
number
31
state
open
title
Fix silver squad population + linear_issue.project_id dimension
body
## Summary
Two data quality bugfixes discovered while investigating squad data showing null across the Project Manager UI:
### 1. silver_projects / silver_employees — squad never populated (main fix)
- **silver_projects** had a hardcoded `cast(null as varchar) as squad` placeholder — the dashboard join was never written
- **silver_employees** only populated squad via Toggl groups (most users aren't assigned to any Toggl group)
- Multiple row-multiplication bugs caused silver_employees to have 168 rows for ~35 unique users (e.g., Noah Justham appeared 7 times)
**Root causes fixed:**
- `silver_projects` now LEFT JOINs to `md_timetoqb` on normalized project name to pull squad, project_type, billing_type, QA partner, PM, lead dev
- `silver_employees` now LEFT JOINs to `md_employee` (authoritative squad source) with fallback to Toggl groups via `coalesce(md.squad, toggl_group.name)`
- Fixed 3 dedup bugs that caused row fan-out:
- `bronze_toggl_groups` had 7 identical rows per group_id from repeated DLT extractions → added ROW_NUMBER dedup in `group_lookup` CTE
- `workspace_users` dedup was in the JOIN condition (`wu._rn = 1`) which wasn't being applied correctly → moved dedup into subquery
- `time_entry_employees` DISTINCT kept both "PT Cahill" and "Pt Cahill" (case variations in Toggl usernames) → switched to ROW_NUMBER picking most common casing
### 2. linear_issue.project_id dimension
Cube had `{CUBE}.project_id = {project.project_id}` in the join SQL but `project_id` was never declared as a dimension. Foundation's Project Manager UI failed with `"linear_issue.project_id cannot be resolved"` when querying through the join. Added as `public: false` (hidden, used only for joins).
## Results on local
| Table | Before | After |
|-------|--------|-------|
| silver_employees | 3/53 with squad (6%), 168 rows | **33/35 with squad (94%)**, no dupes |
| silver_projects | 0/176 with squad (hardcoded null) | **39/129 with squad (30%)**, no dupes |
| Linear Cube joins | Failed with "project_id cannot be resolved" | Resolves correctly |
## Hotfixes already applied to prod
- Direct UPDATE on `gold.employee.squad` and `gold.project.squad` from dashboard sources (will be overwritten by next pipeline run — this PR is the durable fix)
- `docker cp` of updated `linear_issue.cube.yml` + Cube restart
## Test plan
- [ ] Pipeline runs to completion without errors
- [ ] `silver_employees` has ~35 unique rows, 33+ with squad, no duplicates
- [ ] `silver_projects` has ~129 unique rows, 39+ with squad, no duplicates
- [ ] `gold.employee.squad` populated from silver (should match silver counts)
- [ ] `gold.project.squad` populated from silver
- [ ] Foundation Project Manager UI shows squad data by employee
- [ ] Cube query `linear_issue.count by project.name` still works
🤖 Generated with [Claude Code](https://claude.com/claude-code)
created_at
2026-04-15 03:28:13+00:00
updated_at
2026-04-15 03:32:16+00:00
closed_at
—
merged_at
—
author_id
55798620
author_login
jwray
repo_name
moreland-connect/foundation-data-platform
repo_full_name
—
base_ref
—
head_ref
—
additions
—
deletions
—
changed_files
—
_dlt_meta
—
|
|||||||
| linear | 6f7f5102-7a5e-4faf-accd-b0d3354b7b7d | - | 1.00 | exact | Active |
|
|
|
Source Record
bronze_linear_users
id
6f7f5102-7a5e-4faf-accd-b0d3354b7b7d
name
justin.wray@morelandconnect.com
display_name
justin.wray
email
justin.wray@morelandconnect.com
active
—
created_at
—
_dlt_meta
—
|
|||||||
| toggl | 7165579 | - | 1.00 | exact | Active |
|
|