When an agent drafts a Hex notebook, the notebook is the artifact, the interpretation is the risk. A wrong cohort filter, a stale dbt model, a join read backwards: each ships as "analysis" unless a named person signs off. The agent writes the notebook in Hex, the notebook queries Snowflake through dbt, and Dock carries the row that says what the numbers mean and who approved that reading. See Dock for data and analytics.
Hex, Snowflake, and dbt stay the system of record for the raw data. Dock is the system of record for what the AGENT INTERPRETS. Each Dock row carries a pointer back to the platform record, agent identity, decision, reviewer, and timestamp. The agent re-fetches platform data via fresh API reads when it needs current state.
The Dock surface: Notebook Analysis Reviews
| Notebook | dbt model | Agent reading | Reviewer | Decision | Reviewed at |
|---|---|---|---|---|---|
| hex://wk/q2-churn-cohorts | fct_subscription_events@v14 | Voluntary churn down 1.8pp QoQ; involuntary flat | lina.park@ | approved, publish to #data-readouts | 2026-05-28 14:02 |
| hex://wk/nps-by-tier | dim_accounts@v9 | Enterprise NPS dropped 6pts; sample n=42, flag low confidence | rohan.s@ | sent back, request n>=100 | 2026-05-28 16:11 |
| hex://wk/onboarding-funnel | fct_activation@v22 | Step-3 drop tied to mobile build 4.7.1 | lina.park@ | approved with caveat, link to eng ticket | 2026-05-29 09:30 |
Each row links to the Hex workspace URL, the dbt model version queried, and the agent identity that drafted the read. The reviewer column is a person, not a role inbox. That distinction makes the row auditable; see agent audit and compliance.
One workflow: Q2 churn cohort review
The agent opens a Hex notebook from a template, queries fct_subscription_events at the pinned dbt version, runs the cohort breakdown, and writes a one-paragraph reading into the notebook. It creates a Dock row pointing at the notebook URL, the dbt model version, and the agent's own identity. The analyst lead, Lina, opens the row, re-runs the cell, agrees with the read, and marks the row approved with a publish target. The agent re-fetches notebook state via the Hex API, confirms no edits since approval, and publishes. Had Lina edited the read, the row would carry both versions and the diff.
Why this matters
Hex is built as an agentic notebook surface where the Hex Agent writes and edits code as a "pair programmer that understands upstream and downstream dependencies." That raises the volume of drafted analysis, not the volume of trustworthy analysis. dbt Labs' 2025 State of Analytics Engineering report found 70% of analytics professionals use AI to assist code, while data quality remains the top challenge at 56%. The gap is review, not generation. A Dock row with a named reviewer closes it. The pattern matches Cloud 2.0 for engineering: platform holds the artifact, Dock holds the interpretation, a human signs the row.
The reviewer is identified because the agent is identified. See agent identity for the primitive and agent identity lifecycle for how those identities are issued and rotated across the analytics stack. The same review pattern appears in Dock for research: the artifact is a memo, the row shape is identical.
Try the Notebook Analysis Reviews template in Dock.
FAQ
Does Dock replace Hex's built-in commenting? No. Hex comments stay where the analysis happens. The Dock row is the cross-platform audit object: it links the notebook, the dbt model version, the agent identity, and the approving analyst in one record.
What if the dbt model version changes after the agent reads it? The row pins the version the agent queried. If the model is rebuilt, the agent re-fetches via the dbt and Hex APIs and either marks the row stale or opens a fresh row with the new reading.
Who can be a reviewer? A named person on the analytics team. The reviewer column does not accept role inboxes or shared accounts. That constraint is what makes the audit log meaningful.
Can the agent publish without review? The workflow does not include that path. Agent drafts, row is created, reviewer decides. A notebook published without an approved row surfaces in the audit query as an exception.