Collaboration — Metric smoke
Gold view insight.collab_bullet_rows · flows …0005 (Team) / …0012 (IC) · grain member · team. Source connectors: m365, slack, zoom.
Happy-path smoke only. Seed one clean, deterministic bronze dataset → assert the served values match the golden CSV. Negative / auth / empty / malformed / edge cases are out of scope (separate negative-test track). Fixture: collab_smoke. Runs in the rig (#1422).
Target metrics (20)
- Active Days —
m365_active_days · ✅ real
- Emails Read —
m365_emails_read · ✅ real
- Emails Received —
m365_emails_received · ✅ real
- Emails Sent —
m365_emails_sent · ✅ real
- Files Engaged —
m365_files_engaged · ✅ real
- Files Shared (External) —
m365_files_shared_external · ✅ real
- Files Shared (Internal) —
m365_files_shared_internal · ✅ real
- Teams Chats —
m365_teams_chats · ✅ real
- Meeting-Free Days —
meeting_free · ✅ real
- Meeting Hours —
meeting_hours · ✅ real
- Meetings Attended —
meetings_count · ✅ real
- Active Days —
slack_active_days · ✅ real
- Channel Posts —
slack_channel_posts · ✅ real
- Messages Sent —
slack_messages_sent · ✅ real
- Teams Meeting Hours —
teams_meeting_hours · ✅ real
- Teams Meetings Attended —
teams_meetings · ✅ real
- Zoom Meeting Hours —
zoom_meeting_hours · ✅ real
- Zoom Meetings Attended —
zoom_meetings · ✅ real
- DM Ratio —
slack_dm_ratio · 🔁 reconstructed
- Messages per Active Day —
slack_msgs_per_active_day · 🔁 reconstructed
Legend — ✅ real (assert the gold value) · 🔁 reconstructed in query_ref (Σnum/Σden — assert the API value) · ⛔ locked stub / ComingSoon (assert NULL).
Pipeline
bronze (m365, slack, zoom) → silver class_* (read FINAL) → gold insight.collab_bullet_rows → API POST /v1/metrics/{id}/query.
Notes
Meeting metrics read class_collab_meeting_activity FINAL directly. Absorbs #1413 — its m365 seed work feeds this smoke (m365 ≈ 12 of 20 keys).
Acceptance
Parent: #1438 (Metric smokes) · Epic #1404 · P0
Collaboration — Metric smoke
Gold view
insight.collab_bullet_rows· flows …0005 (Team) / …0012 (IC) · grain member · team. Source connectors: m365, slack, zoom.Target metrics (20)
m365_active_days· ✅ realm365_emails_read· ✅ realm365_emails_received· ✅ realm365_emails_sent· ✅ realm365_files_engaged· ✅ realm365_files_shared_external· ✅ realm365_files_shared_internal· ✅ realm365_teams_chats· ✅ realmeeting_free· ✅ realmeeting_hours· ✅ realmeetings_count· ✅ realslack_active_days· ✅ realslack_channel_posts· ✅ realslack_messages_sent· ✅ realteams_meeting_hours· ✅ realteams_meetings· ✅ realzoom_meeting_hours· ✅ realzoom_meetings· ✅ realslack_dm_ratio· 🔁 reconstructedslack_msgs_per_active_day· 🔁 reconstructedLegend — ✅ real (assert the gold value) · 🔁 reconstructed in
query_ref(Σnum/Σden — assert the API value) · ⛔ locked stub / ComingSoon (assert NULL).Pipeline
bronze (m365, slack, zoom) → silver
class_*(read FINAL) → goldinsight.collab_bullet_rows→ APIPOST /v1/metrics/{id}/query.Notes
Meeting metrics read
class_collab_meeting_activity FINALdirectly. Absorbs #1413 — its m365 seed work feeds this smoke (m365 ≈ 12 of 20 keys).Acceptance
collab_smokeseeds clean bronze → asserts every target metric's served value vs golden CSV (member · team).Parent: #1438 (Metric smokes) · Epic #1404 · P0