Morning Brief Workflow

Summary

The morning brief workflow turns operational facts into a scheduled summary. It collects source context, builds evidence-backed packets, applies prompt and validation logic, renders payloads, and sends email through the notification capability.

Reader Question

How does a scheduled operational summary remain evidence-backed instead of becoming a free-form generated email?

Surface Or Workflow

Engineers enter through morning-brief libraries, lakehouse gold transforms, payload and email jobs, prompt files, validation tests, and baseline runbook samples. Recipients see the resulting email, not the intermediate data product.

Lifecycle

Lakehouse transforms collect facts and context. Morning-brief libraries build packets, evidence, scoring, links, profiles, and prompt inputs. Payload jobs materialize the brief; email jobs render and send it. Tests protect evidence, context rows, payload projection, prompt compatibility, and cutover behavior.

Child Threads

Implementation Boundaries

Morning brief logic lives under libs/morning_brief; lakehouse transforms under pipelines/lakehouse/transform/gold/morning_brief*; job entrypoints under jobs/lakehouse; prompt text under libs/morning_brief/prompts; tests under tests/pipelines.

Tradeoffs

Brief generation mixes data products, editorial synthesis, and delivery. The architecture keeps those boundaries explicit so a delivery issue, evidence issue, or prompt issue can be diagnosed separately.

Visual

The current visual is a graph neighborhood. The intended visual is a brief lineage map from gold facts to packet, evidence, prompt, payload, email, and recipient.

Source Evidence

  • docs/engineering/concepts/morning-brief-and-notifications.md
  • docs/runbooks/morning-brief-phase0-baseline-samples.md
  • libs/morning_brief
  • libs/morning_brief/prompts/morning_brief_email.md
  • jobs/lakehouse/morning_brief_payload/run.py
  • jobs/lakehouse/morning_brief_email/run.py
  • pipelines/lakehouse/transform/gold/morning_brief
  • pipelines/lakehouse/transform/gold/morning_brief_payload
  • pipelines/lakehouse/transform/gold/morning_brief_email
  • tests/pipelines/test_morning_brief_packet_contracts.py