<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Adrienne Vermorel — Notes</title><description>Working notes on analytics engineering, dbt, BigQuery, marketing data, and AI agents.</description><link>https://adriennevermorel.com/</link><language>en-us</language><item><title>Attribution Analysis</title><link>https://adriennevermorel.com/notes/attribution-analysis-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/attribution-analysis-hub/</guid><description>A structured guide to marketing attribution — from SQL implementation patterns through multi-model comparison, dashboard design, and incrementality testing</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Attribution Channel Grouping Strategy</title><link>https://adriennevermorel.com/notes/attribution-channel-grouping-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/attribution-channel-grouping-strategy/</guid><description>How to group marketing channels for data-driven attribution -- balancing granularity against data sparsity to produce stable, actionable model results</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Attribution Lookback Windows</title><link>https://adriennevermorel.com/notes/attribution-lookback-windows/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/attribution-lookback-windows/</guid><description>How to set attribution lookback windows by industry and purchase cycle -- benchmarks, consequences of wrong windows, and implementation in SQL</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Attribution Touchpoint Table Design</title><link>https://adriennevermorel.com/notes/attribution-touchpoint-table-design/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/attribution-touchpoint-table-design/</guid><description>How to design and build the touchpoint table that all attribution models consume -- field requirements, identity considerations, and the intermediate dbt model that maps raw events to attribution-ready rows</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Clustering Mechanics</title><link>https://adriennevermorel.com/notes/bigquery-clustering-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-clustering-mechanics/</guid><description>How BigQuery clustering sorts data within storage blocks, why column order matters critically, and how automatic re-clustering works at no cost.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Partitioning and Clustering</title><link>https://adriennevermorel.com/notes/bigquery-partitioning-and-clustering-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-partitioning-and-clustering-hub/</guid><description>A structured reading path for understanding BigQuery partitioning and clustering -- mechanics, decision framework, configuration patterns, and anti-patterns.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Partitioning Configuration Patterns</title><link>https://adriennevermorel.com/notes/bigquery-partitioning-configuration-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-partitioning-configuration-patterns/</guid><description>Domain-specific partitioning and clustering configurations for BigQuery in dbt -- event data, marketing, multi-tenant SaaS, and IoT patterns with rationale.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Partitioning Mechanics</title><link>https://adriennevermorel.com/notes/bigquery-partitioning-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-partitioning-mechanics/</guid><description>How BigQuery partitioning physically divides tables, the three partitioning types, key constraints, and when partition pruning does and doesn&apos;t work.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Partitioning vs Clustering Decision Framework</title><link>https://adriennevermorel.com/notes/bigquery-partitioning-vs-clustering-decision-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-partitioning-vs-clustering-decision-framework/</guid><description>A practical decision framework for choosing between BigQuery partitioning, clustering, or both based on table size, query patterns, and operational needs.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Authentication Options</title><link>https://adriennevermorel.com/notes/claude-code-authentication-options/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-authentication-options/</guid><description>The two ways to authenticate Claude Code — subscription OAuth and API keys — when to use each, and the precedence rule that trips people up</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Bang Prefix for Shell Commands</title><link>https://adriennevermorel.com/notes/claude-code-bang-prefix-for-shell-commands/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-bang-prefix-for-shell-commands/</guid><description>Using the ! prefix to run shell commands directly inside Claude Code — how it saves tokens, speeds up authentication, and keeps your flow uninterrupted</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Behind the Scenes</title><link>https://adriennevermorel.com/notes/claude-code-behind-the-scenes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-behind-the-scenes/</guid><description>What commands Claude Code actually runs when it explores code, searches for patterns, edits files, and manages git — understanding the mechanics builds confidence and helps you learn</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code CLI Basics</title><link>https://adriennevermorel.com/notes/claude-code-cli-basics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-cli-basics/</guid><description>Installation, essential CLI flags, built-in slash commands, and how to read Claude Code&apos;s output — the practical starting point for new users</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Your First Hour with Claude Code (Analytics Engineer)</title><link>https://adriennevermorel.com/notes/claude-code-first-hour-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-first-hour-hub/</guid><description>A sequenced reading path for getting started with Claude Code as an analytics engineer — from installation through your first useful output</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Model Selection for Analytics Work</title><link>https://adriennevermorel.com/notes/claude-code-model-selection-for-analytics-work/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-model-selection-for-analytics-work/</guid><description>When to use Sonnet vs Opus in Claude Code for analytics engineering — daily work defaults, complex problem escalation, and practical cost-speed tradeoffs</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Status Line Configuration</title><link>https://adriennevermorel.com/notes/claude-code-status-line-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-status-line-configuration/</guid><description>How to set up Claude Code&apos;s status line to display git branch, active model, and context usage — practical setup for analytics engineers</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Adoption Friction</title><link>https://adriennevermorel.com/notes/data-contract-adoption-friction/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-adoption-friction/</guid><description>Reducing the friction that kills data contract adoption: SDK-based onboarding, audience-specific messaging, post-mortem data as leverage, and the Data Product Manager role.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Anti-Patterns</title><link>https://adriennevermorel.com/notes/data-contract-anti-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-anti-patterns/</guid><description>Where data contract initiatives go wrong: misplaced enforcement, paper-only contracts, one-size-fits-all implementations, and unfunded ownership.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Rollout Change Management</title><link>https://adriennevermorel.com/notes/data-contract-rollout-change-management/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-rollout-change-management/</guid><description>The organizational change management strategy for data contracts: start with two datasets, create urgency through visible cost, and measure conversations rather than coverage.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contracts Hub</title><link>https://adriennevermorel.com/notes/data-contracts-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contracts-hub/</guid><description>Hub note connecting garden notes on data contracts — definitions, specifications, ownership, tooling, validation layers, and adoption challenges.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Attribution Packages Landscape</title><link>https://adriennevermorel.com/notes/dbt-attribution-packages-landscape/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-attribution-packages-landscape/</guid><description>Open-source dbt packages and Python libraries for production-ready attribution models -- Snowplow, Tasman, Rittman Analytics, ChannelAttribution, and when to build your own</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt observe-fix remediation pattern</title><link>https://adriennevermorel.com/notes/dbt-observe-fix-remediation-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-observe-fix-remediation-pattern/</guid><description>How to embed self-healing logic directly in the dbt DAG by detecting problems in base models and applying fixes in downstream layers.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Testing Anti-Patterns</title><link>https://adriennevermorel.com/notes/dbt-testing-anti-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-testing-anti-patterns/</guid><description>Four common testing mistakes in dbt projects -- over-testing, happy-path-only coverage, drifting thresholds, and testing warehouse functions -- and what to do instead.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Testing Pyramid</title><link>https://adriennevermorel.com/notes/dbt-testing-pyramid/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-testing-pyramid/</guid><description>The layered testing pyramid for dbt projects -- broad data test coverage at the base, targeted unit tests in the middle, anomaly detection and data diffs at the top.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Testing Decision Framework</title><link>https://adriennevermorel.com/notes/dbt-testing-decision-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-testing-decision-framework/</guid><description>A three-question framework and decision tree for choosing the right dbt testing approach — unit tests, generic tests, singular tests, dbt-expectations, Elementary, or dbt-audit-helper.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test CI/CD Workflow</title><link>https://adriennevermorel.com/notes/dbt-unit-test-ci-cd-workflow/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-ci-cd-workflow/</guid><description>A production-ready GitHub Actions workflow for running dbt unit tests on BigQuery — unique CI datasets, the --empty flag, cost optimization, and production exclusion.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test CLI Commands</title><link>https://adriennevermorel.com/notes/dbt-unit-test-cli-commands/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-cli-commands/</guid><description>How to run, filter, debug, and exclude dbt unit tests from the command line — including output interpretation and production exclusion patterns.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test Edge Case Patterns</title><link>https://adriennevermorel.com/notes/dbt-unit-test-edge-case-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-edge-case-patterns/</guid><description>Three essential edge case patterns for dbt unit tests — null handling, empty tables with format: sql, and date boundary testing.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test File Organization</title><link>https://adriennevermorel.com/notes/dbt-unit-test-file-organization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-file-organization/</guid><description>Where to put dbt unit test files, how to name tests consistently, and the co-location pattern with _unit_tests.yml.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test Mocking Dependencies</title><link>https://adriennevermorel.com/notes/dbt-unit-test-mocking-dependencies/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-mocking-dependencies/</guid><description>How to mock refs, sources, macros, variables, and the &apos;this&apos; keyword in dbt unit tests — with patterns for multi-join models and incremental overrides.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test Patterns</title><link>https://adriennevermorel.com/notes/dbt-unit-test-patterns-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-patterns-hub/</guid><description>Hub note connecting all unit test patterns for dbt — incremental models, snapshots, window functions, business logic, marketing analytics, and edge cases.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Test YAML Syntax</title><link>https://adriennevermorel.com/notes/dbt-unit-test-yaml-syntax/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-test-yaml-syntax/</guid><description>Complete reference for dbt unit test YAML structure — required elements, input formats (dict, csv, sql), optional configuration, and version-specific features.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Testing Implementation</title><link>https://adriennevermorel.com/notes/dbt-unit-testing-implementation-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-testing-implementation-hub/</guid><description>Hub note for implementing dbt unit tests — from YAML syntax and mocking patterns to BigQuery workarounds and CI/CD integration.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Unit Tests BigQuery Workarounds</title><link>https://adriennevermorel.com/notes/dbt-unit-tests-bigquery-workarounds/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-tests-bigquery-workarounds/</guid><description>BigQuery-specific gotchas for dbt unit tests — STRUCT completeness, ARRAY comparisons, column_transformations, slot costs, and common error solutions.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Weighted Attribution Models</title><link>https://adriennevermorel.com/notes/dbt-weighted-attribution-models/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-weighted-attribution-models/</guid><description>Implementing position-based and time-decay attribution in dbt with configurable weights via dbt variables — model SQL, project configuration, and revenue integrity testing</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>EL Tool Schema Contract Modes</title><link>https://adriennevermorel.com/notes/el-tool-schema-contract-modes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/el-tool-schema-contract-modes/</guid><description>How dlt, Fivetran, and Airbyte handle schema changes during extraction and loading — from dlt&apos;s granular freeze/evolve/discard modes to Fivetran&apos;s blunt blocking settings.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Essential Terminal Commands</title><link>https://adriennevermorel.com/notes/essential-terminal-commands/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/essential-terminal-commands/</guid><description>The core terminal commands for navigation, file operations, viewing content, and finding things — the foundation of terminal literacy</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Fivetran-dbt Merger and Orchestration Independence</title><link>https://adriennevermorel.com/notes/fivetran-dbt-merger-orchestration-independence/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/fivetran-dbt-merger-orchestration-independence/</guid><description>Why the October 2025 Fivetran-dbt merger makes external orchestration more strategically important — vendor optionality, platform lock-in risk, and the case for controlling your orchestration layer.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Acquisition Performance Mart</title><link>https://adriennevermorel.com/notes/ga4-acquisition-performance-mart/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-acquisition-performance-mart/</guid><description>A daily x source/medium grain mart for GA4 acquisition reporting — aggregating sessionized events into dashboard-ready metrics with conversion rates and revenue.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 CROSS JOIN versus LEFT JOIN UNNEST</title><link>https://adriennevermorel.com/notes/ga4-cross-join-vs-left-join-unnest/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-cross-join-vs-left-join-unnest/</guid><description>Why the comma syntax in FROM table, UNNEST(array) silently drops rows — and when to use LEFT JOIN UNNEST to preserve events without array data.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 dbt Unnesting Layer Architecture</title><link>https://adriennevermorel.com/notes/ga4-dbt-unnesting-layer-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-dbt-unnesting-layer-architecture/</guid><description>How to structure a dbt project for GA4 unnesting — base layer for parameter extraction, intermediate for event-specific models, mart for analytics-ready aggregations.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Ecommerce Checkout Funnel Pattern</title><link>https://adriennevermorel.com/notes/ga4-ecommerce-checkout-funnel-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-ecommerce-checkout-funnel-pattern/</guid><description>Session-based checkout funnel analysis from GA4 BigQuery data — counting distinct sessions at each funnel stage from view_item through purchase.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Engagement Event Query Recipes</title><link>https://adriennevermorel.com/notes/ga4-engagement-event-query-recipes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-engagement-event-query-recipes/</guid><description>Production-ready BigQuery SQL for GA4 engagement events — page views, scroll depth, outbound clicks, file downloads, and video engagement funnels.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 First dbt Models Tutorial</title><link>https://adriennevermorel.com/notes/ga4-first-dbt-models-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-first-dbt-models-hub/</guid><description>Hub note for building your first GA4 dbt models — from understanding the raw event schema through base, intermediate, and mart layers.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Flattened Events Materialization</title><link>https://adriennevermorel.com/notes/ga4-flattened-events-materialization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-flattened-events-materialization/</guid><description>When and how to pre-unnest GA4 events into a flat table — the cost-performance tradeoff, the CREATE TABLE pattern, and why dbt models formalize this approach.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Unnesting Patterns Hub</title><link>https://adriennevermorel.com/notes/ga4-unnesting-patterns-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-unnesting-patterns-hub/</guid><description>Hub connecting all concepts for extracting data from GA4&apos;s nested BigQuery schema — UNNEST approaches, JOIN types, engagement recipes, e-commerce funnels, and dbt architecture.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google DDA Silent Fallback</title><link>https://adriennevermorel.com/notes/google-dda-silent-fallback/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-dda-silent-fallback/</guid><description>GA4&apos;s Data-Driven Attribution silently falls back to last-click when data thresholds aren&apos;t met -- how to detect it and why warehouse-native attribution avoids this trap</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Kestra Declarative Orchestration</title><link>https://adriennevermorel.com/notes/kestra-declarative-orchestration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/kestra-declarative-orchestration/</guid><description>Kestra&apos;s YAML-first orchestration model — how it differs from Python-decorator tools, its rapid growth, enterprise adoption, and why production evidence at small-to-mid scale is still thin.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LLM Accuracy With Semantic Layers</title><link>https://adriennevermorel.com/notes/llm-accuracy-with-semantic-layers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/llm-accuracy-with-semantic-layers/</guid><description>Research benchmarks showing how semantic layers improve LLM accuracy on enterprise data questions from ~17% to 54-92% — the data.world study, Spider 2.0, and dbt Labs replication.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Markov Attribution SQL Implementation</title><link>https://adriennevermorel.com/notes/markov-attribution-sql-implementation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/markov-attribution-sql-implementation/</guid><description>SQL patterns for extracting journey paths and calculating transition probabilities in BigQuery, the data preparation layer for Markov chain attribution</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Markov Chain Attribution</title><link>https://adriennevermorel.com/notes/markov-chain-attribution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/markov-chain-attribution/</guid><description>How Markov chains model customer journeys as state transitions to calculate data-driven attribution through transition probabilities and the removal effect</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Orchestration Market Landscape in 2026</title><link>https://adriennevermorel.com/notes/orchestration-market-landscape-2026/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/orchestration-market-landscape-2026/</guid><description>Where each major data orchestrator stands in 2026 — Airflow&apos;s scale, Dagster&apos;s dbt dominance, Prefect&apos;s developer velocity, Kestra&apos;s rapid rise, and the tools in decline.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Organizing dbt Unit Tests at Scale</title><link>https://adriennevermorel.com/notes/organizing-dbt-unit-tests-at-scale/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/organizing-dbt-unit-tests-at-scale/</guid><description>Tag strategies, CI pipeline tiers, and selection patterns for managing hundreds of dbt unit tests across a growing project.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline Enforcement Layer Strategy</title><link>https://adriennevermorel.com/notes/pipeline-enforcement-layer-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/pipeline-enforcement-layer-strategy/</guid><description>The four-layer model for data contract enforcement across the full pipeline — pre-warehouse, post-load, transformation, and continuous observability — with practical adoption ordering.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline retry and catch-up patterns</title><link>https://adriennevermorel.com/notes/pipeline-retry-catch-up-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/pipeline-retry-catch-up-patterns/</guid><description>How to configure retries, exponential backoff, and catch-up mechanisms in data pipelines so that transient failures resolve themselves without human intervention.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Privacy Sandbox Collapse</title><link>https://adriennevermorel.com/notes/privacy-sandbox-collapse/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/privacy-sandbox-collapse/</guid><description>How Google&apos;s Privacy Sandbox went from the industry&apos;s best hope for a cookie replacement to a quiet retirement — the timeline, what survived, and why it sealed the case for server-side infrastructure.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Position-Based Attribution Models</title><link>https://adriennevermorel.com/notes/position-based-attribution-models/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/position-based-attribution-models/</guid><description>U-shaped and W-shaped attribution models that weight credit by journey position — formulas, edge cases, industry weight variations, and BigQuery SQL implementation</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Removal Effect in Attribution</title><link>https://adriennevermorel.com/notes/removal-effect-in-attribution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/removal-effect-in-attribution/</guid><description>The removal effect measures how much conversion probability drops when a channel is removed -- the mathematical foundation of both Markov chain and Shapley value attribution</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Account Hierarchy with Recursive CTEs</title><link>https://adriennevermorel.com/notes/salesforce-account-hierarchy-recursive-cte/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-account-hierarchy-recursive-cte/</guid><description>How to resolve Salesforce&apos;s self-referential ParentAccountId into a flattened hierarchy using recursive CTEs in BigQuery — the SQL pattern, ultimate parent resolution, and revenue rollup.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce to BigQuery Pipeline</title><link>https://adriennevermorel.com/notes/salesforce-bigquery-pipeline-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-bigquery-pipeline-hub/</guid><description>Hub note for the Salesforce-to-BigQuery pipeline — from ingestion tool selection through polymorphic resolution, stage tracking, account hierarchies, and activity timelines.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Ingestion Tool Selection</title><link>https://adriennevermorel.com/notes/salesforce-ingestion-tool-selection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-ingestion-tool-selection/</guid><description>Choosing between Fivetran, Airbyte, dlt, Hevo, and custom Python for Salesforce extraction — connector mechanics, cost realities, and the AppExchange dispute.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Opportunity Stage Duration Analysis</title><link>https://adriennevermorel.com/notes/salesforce-opportunity-stage-duration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-opportunity-stage-duration/</guid><description>How to calculate time spent in each pipeline stage using OpportunityFieldHistory and LEAD window functions — the SQL pattern, downstream analysis, and win rate metrics.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Person Accounts and Multi-Currency in the Warehouse</title><link>https://adriennevermorel.com/notes/salesforce-person-accounts-multi-currency/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-person-accounts-multi-currency/</guid><description>Two Salesforce data model quirks that break standard warehouse patterns — Person Accounts that merge Account and Contact, and multi-currency orgs that require exchange rate conversion in dbt.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Polymorphic Relationship Resolution</title><link>https://adriennevermorel.com/notes/salesforce-polymorphic-relationship-resolution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-polymorphic-relationship-resolution/</guid><description>How to resolve Salesforce&apos;s WhoId and WhatId polymorphic foreign keys in the warehouse using ID prefix routing — the pattern, the SQL, and where it recurs.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Unified Activity Timeline</title><link>https://adriennevermorel.com/notes/salesforce-unified-activity-timeline/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-unified-activity-timeline/</guid><description>Combining Salesforce Tasks and Events into a single activity timeline with consistent column naming and polymorphic entity resolution.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Schema Registry for Contract Enforcement</title><link>https://adriennevermorel.com/notes/schema-registry-for-contract-enforcement/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/schema-registry-for-contract-enforcement/</guid><description>How schema registries enforce data contracts on event streams before data reaches the warehouse — compatibility modes, CEL validation rules, and production practices.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce Record Type Partitioning in dbt</title><link>https://adriennevermorel.com/notes/salesforce-record-type-partitioning/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-record-type-partitioning/</guid><description>How to handle Salesforce RecordTypeId in the warehouse — filtering by record type in base models, splitting objects into separate models, and storing IDs in dbt vars.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Self-healing pipeline maturity spectrum</title><link>https://adriennevermorel.com/notes/self-healing-pipeline-maturity-spectrum/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/self-healing-pipeline-maturity-spectrum/</guid><description>Five levels of self-healing capability in data pipelines, from basic retries to fully agentic systems, and where production value actually concentrates.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Self-healing risk tiering</title><link>https://adriennevermorel.com/notes/self-healing-risk-tiering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/self-healing-risk-tiering/</guid><description>A framework for deciding which pipeline failures can self-heal automatically, which need human approval, and which should never be auto-remediated.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Semantic Layer Adoption Readiness</title><link>https://adriennevermorel.com/notes/semantic-layer-adoption-readiness/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/semantic-layer-adoption-readiness/</guid><description>When to invest in a semantic layer, what barriers you&apos;ll face, and how to start small — a practical readiness assessment based on team size, tooling maturity, and organizational commitment.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Server-Side Tracking Data Quality Evidence</title><link>https://adriennevermorel.com/notes/server-side-tracking-data-quality-evidence/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/server-side-tracking-data-quality-evidence/</guid><description>The quantitative case for server-side tracking — the 41% average data quality improvement, case studies from Finobo, Forward Media, and seoplus+, ad platform Conversions API adoption, and the cost-benefit calculation that has flipped.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Shapley Value Attribution</title><link>https://adriennevermorel.com/notes/shapley-value-attribution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/shapley-value-attribution/</guid><description>How cooperative game theory&apos;s Shapley values produce provably fair attribution by calculating each channel&apos;s average marginal contribution across all possible channel coalitions</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Soda Data Contract Verification</title><link>https://adriennevermorel.com/notes/soda-data-contract-verification/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/soda-data-contract-verification/</guid><description>How Soda&apos;s contract engine validates schema, freshness, and quality rules against warehouse tables after loading but before transformation — filling the gap between EL and dbt.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Terminal Cross-Platform Setup</title><link>https://adriennevermorel.com/notes/terminal-cross-platform-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/terminal-cross-platform-setup/</guid><description>How to set up and use the terminal on macOS, Linux, and Windows — including WSL, Git Bash, and PowerShell options with a command equivalence table</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Terminal Fundamentals</title><link>https://adriennevermorel.com/notes/terminal-fundamentals/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/terminal-fundamentals/</guid><description>What the terminal actually is, how it differs from a shell, and the working directory mental model that makes navigation intuitive</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Terminal Safety for Beginners</title><link>https://adriennevermorel.com/notes/terminal-safety-for-beginners/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/terminal-safety-for-beginners/</guid><description>Which terminal commands are safe, which are dangerous, how to read error messages, and the keyboard shortcuts that save you when something goes wrong</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Triangulated Marketing Measurement</title><link>https://adriennevermorel.com/notes/triangulated-marketing-measurement/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/triangulated-marketing-measurement/</guid><description>Why resilient marketing measurement combines three approaches -- multi-touch attribution for daily optimization, media mix modeling for strategic allocation, and incrementality testing for causal validation</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Time-Decay Attribution Model</title><link>https://adriennevermorel.com/notes/time-decay-attribution-model/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/time-decay-attribution-model/</guid><description>Time-decay attribution using exponential decay with a configurable half-life — the formula, choosing half-life by industry, BigQuery SQL implementation, and parameterization</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Try-Heal-Retry pattern</title><link>https://adriennevermorel.com/notes/try-heal-retry-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/try-heal-retry-pattern/</guid><description>How to add AI-powered remediation to data pipelines using structured LLM output, Pydantic schemas, and circuit breakers, with production examples using Claude.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing Attribution Models in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-attribution-models-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-attribution-models-in-dbt/</guid><description>How to unit test first-touch, last-touch, and multi-touch attribution in dbt — multi-session journeys, single-touch conversions, and the no-conversion exclusion pattern.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing CASE WHEN Boundary Logic in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-case-when-boundary-logic-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-case-when-boundary-logic-in-dbt/</guid><description>Systematic boundary testing for CASE WHEN statements — testing threshold values, just-under values, null handling, and implicit ELSE behavior.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing Conversion Funnels in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-conversion-funnels-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-conversion-funnels-in-dbt/</guid><description>How to unit test funnel analysis models in dbt — step-over-step conversion rates, user drop-off tracking, and the step-skipping edge case.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing GA4 Sessionization</title><link>https://adriennevermorel.com/notes/unit-testing-ga4-sessionization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-ga4-sessionization/</guid><description>How to unit test GA4 sessionization logic in dbt — session boundary detection, cross-midnight sessions, microsecond timestamps, and single-event sessions.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing Incremental Models in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-incremental-models-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-incremental-models-in-dbt/</guid><description>The dual-mode testing pattern for incremental models — overriding is_incremental, mocking this, and understanding that expect blocks show inserts, not final state.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing Snapshot Consumers in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-snapshot-consumers-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-snapshot-consumers-in-dbt/</guid><description>Three strategies for testing snapshot-related logic — pre-snapshot base models, SCD2 date range calculations in downstream models, and change detection hashing.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing String Extraction in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-string-extraction-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-string-extraction-in-dbt/</guid><description>How to unit test regex and string manipulation logic in dbt — edge case documentation, graceful failure handling, and regression protection for fragile parsing.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Testing Window Functions in dbt</title><link>https://adriennevermorel.com/notes/unit-testing-window-functions-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-testing-window-functions-in-dbt/</guid><description>How to design test data that validates window function partitioning, ordering, and framing — with patterns for ROW_NUMBER, FIRST_VALUE, cumulative sums, and deliberate out-of-order inputs.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Warehouse Attribution Data Sources</title><link>https://adriennevermorel.com/notes/warehouse-attribution-data-sources/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/warehouse-attribution-data-sources/</guid><description>The three categories of data required for warehouse-based attribution -- website interactions, ad platform spend, and conversions -- with platform-specific loading patterns and common data quality traps</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ad Platform Metric Divergence</title><link>https://adriennevermorel.com/notes/ad-platform-metric-divergence/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ad-platform-metric-divergence/</guid><description>Why impressions, clicks, and conversions mean different things on Google, Meta, and LinkedIn — and why pretending they&apos;re equivalent produces misleading cross-platform reports.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Advertising Data in the Warehouse</title><link>https://adriennevermorel.com/notes/advertising-data-warehouse-guide/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/advertising-data-warehouse-guide/</guid><description>Hub note for the complete guide to centralizing advertising data — from the measurement problem through extraction, pipeline challenges, and dbt transformation patterns</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agent Dashboard Scraping: The Fragility Problem</title><link>https://adriennevermorel.com/notes/agent-dashboard-scraping-fragility/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/agent-dashboard-scraping-fragility/</guid><description>How browser automation works for dashboards without APIs, the five-step scraping loop, session management patterns, and why silent failure is the central limitation that makes this a fallback of last resort.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agent-First CLI Design Principles</title><link>https://adriennevermorel.com/notes/agent-first-cli-design-principles/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/agent-first-cli-design-principles/</guid><description>Seven principles for building CLIs that AI agents can consume reliably — from Justin Poehnelt&apos;s design of the Google Workspace CLI, with implications for any tool targeting agent consumers.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agent Skill Supply Chain Attacks</title><link>https://adriennevermorel.com/notes/agent-skill-supply-chain-attacks/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/agent-skill-supply-chain-attacks/</guid><description>How malicious skills in agent ecosystems like ClawHub bypass traditional antivirus detection, why natural-language malware is a fundamentally different threat class, and how to evaluate skills before installing them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agentic AI Fit for Data Work</title><link>https://adriennevermorel.com/notes/agentic-ai-fit-for-data-work/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/agentic-ai-fit-for-data-work/</guid><description>Why data engineering is structurally well-suited for agentic AI tools — repetitive patterns, multi-language context-switching, and cross-layer debugging make the case.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agentic Workflow Shift in Data Engineering</title><link>https://adriennevermorel.com/notes/agentic-workflow-shift-in-data-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/agentic-workflow-shift-in-data-engineering/</guid><description>How agentic AI tools change the data engineering workflow from manual template adaptation to describe-and-review — and why the real shift is from syntax to modeling decisions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Agent Data Quality: What Works Today vs. What&apos;s Aspirational</title><link>https://adriennevermorel.com/notes/ai-agent-data-quality-maturity-levels/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-agent-data-quality-maturity-levels/</guid><description>An honest assessment of which AI agent capabilities for dbt data quality are production-ready, which require significant work but are achievable, and which are still too unreliable to depend on.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GCP Auth Constraints for AI Coding Agents</title><link>https://adriennevermorel.com/notes/ai-agent-gcp-auth-constraints/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-agent-gcp-auth-constraints/</guid><description>How Claude Code, Codex, and Cursor each handle GCP authentication — and where each one breaks when tokens expire, contexts conflict, or interactive flows are required.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Judgment Failures in dbt Development</title><link>https://adriennevermorel.com/notes/ai-dbt-judgment-failures/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-dbt-judgment-failures/</guid><description>The category of mistakes AI makes in dbt projects that aren&apos;t syntax errors — wrong joins, rebuilt existing assets, wrong layer sourcing — and why they require business context that no prompt can fully provide.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Agent Regulatory Exposure for Data Teams</title><link>https://adriennevermorel.com/notes/ai-agent-regulatory-exposure-data-teams/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-agent-regulatory-exposure-data-teams/</guid><description>Why running AI agents against client data creates contractual and regulatory exposure for data teams — GDPR, data processing agreements, the open-source liability argument, and what the Dutch DPA warning actually means.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Personal CRM Pattern</title><link>https://adriennevermorel.com/notes/ai-personal-crm-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-personal-crm-pattern/</guid><description>Using an AI agent to auto-scan email and calendar for contact relationship tracking — how the pattern works, what SQLite with vector embeddings enables, and why this is the highest-risk integration to configure carefully.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Query Cost Control for BigQuery MCP</title><link>https://adriennevermorel.com/notes/ai-query-cost-control-for-bigquery-mcp/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-query-cost-control-for-bigquery-mcp/</guid><description>Managing the cost and safety risks of AI assistants running BigQuery queries through MCP — cost mitigation, write protection, and practical guardrails.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Airbyte Pricing and Self-Hosting Costs</title><link>https://adriennevermorel.com/notes/airbyte-pricing-and-self-hosting-costs/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/airbyte-pricing-and-self-hosting-costs/</guid><description>Airbyte&apos;s February 2025 capacity-based pricing model and the hidden infrastructure costs of self-hosting — NAT Gateway, Kubernetes overhead, and what &apos;free&apos; actually costs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Analytics Engineer as Director of AI</title><link>https://adriennevermorel.com/notes/analytics-engineer-as-director-of-ai/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/analytics-engineer-as-director-of-ai/</guid><description>The role identity shift as agents take over execution — from producing analytical work to directing it. What stays human, what moves to agents, and how to think about your own value in the transition.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Analytics Engineer Skills in the Agent Era</title><link>https://adriennevermorel.com/notes/analytics-engineer-skills-in-the-agent-era/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/analytics-engineer-skills-in-the-agent-era/</guid><description>Seven skills worth investing in now that agents handle execution — AI orchestration, specification engineering, critical code review, domain expertise, governance, systems thinking, and tool fluency.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Asset-Centric Orchestration</title><link>https://adriennevermorel.com/notes/asset-centric-orchestration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/asset-centric-orchestration/</guid><description>The paradigm shift from task-based orchestration (what to run) to asset-based orchestration (what data should exist) — why it matters for analytics engineers and how it changes debugging, monitoring, and pipeline design.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Attribution Dashboard Design</title><link>https://adriennevermorel.com/notes/attribution-dashboard-design/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/attribution-dashboard-design/</guid><description>How to design attribution dashboards for multiple audiences — essential metrics, audience-tiered hierarchy, Looker Studio implementation patterns, and working around BI tool limitations</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Attribution Model Disagreement as Signal</title><link>https://adriennevermorel.com/notes/attribution-model-disagreement-as-signal/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/attribution-model-disagreement-as-signal/</guid><description>Why running multiple attribution models in parallel reveals more than any single model, and how to use the disagreement between them to communicate uncertainty and drive better decisions</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Base Model Generation with Claude Code</title><link>https://adriennevermorel.com/notes/base-model-generation-with-claude-code/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/base-model-generation-with-claude-code/</guid><description>How to use Claude Code to generate dbt base models — the pattern-replication workflow, prompting constraints, and CLAUDE.md defaults that eliminate inconsistency.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BI Tool Migration and Portability</title><link>https://adriennevermorel.com/notes/bi-tool-migration-and-portability/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bi-tool-migration-and-portability/</guid><description>Switching costs between BI tools depend on where your metric definitions live. LookML is proprietary and expensive to migrate away from. dbt YAML and Metabase&apos;s per-question definitions are more portable.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BI Tool Self-Hosting and Licensing</title><link>https://adriennevermorel.com/notes/bi-tool-self-hosting-licensing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bi-tool-self-hosting-licensing/</guid><description>How MIT, AGPL, and proprietary licensing affect what you can do with self-hosted BI tools — feature gates, copyleft obligations, and what &apos;free&apos; actually means for Lightdash, Metabase, and Looker.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BI Tool Self-Service Models</title><link>https://adriennevermorel.com/notes/bi-tool-self-service-models/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bi-tool-self-service-models/</guid><description>Three different approaches to self-service BI: governed exploration (Lightdash), visual query builder (Metabase), and LookML-powered Explore (Looker). How to match the model to your users.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Autoscaling Cost Overhead</title><link>https://adriennevermorel.com/notes/bigquery-autoscaling-cost-overhead/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-autoscaling-cost-overhead/</guid><description>Why theoretical slot-hour costs rarely match your actual BigQuery bill — the 1.5x autoscaling multiplier, 60-second billing window, and how workload shape changes everything.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Baseline vs. Autoscaling Slots in BigQuery</title><link>https://adriennevermorel.com/notes/bigquery-baseline-vs-autoscaling-slots/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-baseline-vs-autoscaling-slots/</guid><description>How baseline and autoscaling slots work in BigQuery Editions -- guaranteed capacity vs. elastic scaling, the 60-second autoscale window, and slot usage priority.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery BI Engine</title><link>https://adriennevermorel.com/notes/bigquery-bi-engine/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-bi-engine/</guid><description>How BigQuery BI Engine provides in-memory acceleration for dashboard queries, what it supports, what it silently skips, and how to verify it&apos;s actually working.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery CLI Capabilities Beyond MCP</title><link>https://adriennevermorel.com/notes/bigquery-cli-capabilities-beyond-mcp/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-cli-capabilities-beyond-mcp/</guid><description>What the bq command-line tool can do that BigQuery MCP servers cannot — data loading, exports, table management, and the full feature gap with examples.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Column-Level Security with Policy Tags</title><link>https://adriennevermorel.com/notes/bigquery-column-security-policy-tags/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-column-security-policy-tags/</guid><description>Replace view-based column hiding with Data Catalog policy tags — storage-layer security that survives schema changes and doesn&apos;t require view maintenance.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Cost Attribution with INFORMATION_SCHEMA</title><link>https://adriennevermorel.com/notes/bigquery-cost-attribution-with-information-schema/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-cost-attribution-with-information-schema/</guid><description>Using INFORMATION_SCHEMA queries to find expensive queries, attribute costs by user and dataset, identify unoptimized tables, and build a weekly cost review practice.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Cost Governance Guardrails</title><link>https://adriennevermorel.com/notes/bigquery-cost-governance-guardrails/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-cost-governance-guardrails/</guid><description>Query-level limits, project-level quotas, authorized views, and access patterns that prevent expensive BigQuery mistakes before they happen.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Cost Optimization</title><link>https://adriennevermorel.com/notes/bigquery-cost-optimization-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-cost-optimization-hub/</guid><description>A structured guide to BigQuery cost optimization covering the cost model, query patterns, dbt configurations, pricing models, storage billing, and governance.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Data Lake Common Mistakes</title><link>https://adriennevermorel.com/notes/bigquery-data-lake-common-mistakes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-data-lake-common-mistakes/</guid><description>Three anti-patterns that cause the most problems in BigQuery data lake implementations: missing metadata caching, skipped partition filters, and over-engineered architectures.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Dynamic Data Masking</title><link>https://adriennevermorel.com/notes/bigquery-dynamic-data-masking/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-dynamic-data-masking/</guid><description>Show sensitive column structure without exposing values — SHA256 hashing, nullification, and default masking for analysts who need to write queries but not read PII.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Data Lake Patterns</title><link>https://adriennevermorel.com/notes/bigquery-data-lake-patterns-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-data-lake-patterns-hub/</guid><description>A reading guide for understanding BigQuery data lake architecture: table types, the medallion lakehouse pattern, catalog strategy, performance, cost optimization, and common mistakes.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Editions and Slot-Based Pricing</title><link>https://adriennevermorel.com/notes/bigquery-editions-and-slot-based-pricing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-editions-and-slot-based-pricing/</guid><description>When to switch from on-demand to slot-based pricing, how autoscaling works, committed use discounts, and a feature comparison across BigQuery editions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Editions Migration Anti-Patterns</title><link>https://adriennevermorel.com/notes/bigquery-editions-migration-anti-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-editions-migration-anti-patterns/</guid><description>Five mistakes teams make when migrating from BigQuery on-demand to Editions — and how to avoid them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Editions Testing Without Commitment</title><link>https://adriennevermorel.com/notes/bigquery-editions-testing-without-commitment/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-editions-testing-without-commitment/</guid><description>How to evaluate BigQuery Editions on real workloads before committing — creating a test reservation, rolling back instantly, opting out of org-level reservations, and using the Slot Estimator.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Editions</title><link>https://adriennevermorel.com/notes/bigquery-editions/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-editions/</guid><description>The three BigQuery Editions tiers -- Standard, Enterprise, and Enterprise Plus -- what each offers, their limits, and how they compare to on-demand pricing.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Fair Scheduling</title><link>https://adriennevermorel.com/notes/bigquery-fair-scheduling/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-fair-scheduling/</guid><description>How BigQuery distributes slots among competing queries -- the two-level fair scheduling algorithm, its project-level implications, and why project architecture matters for performance.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Fine-Grained Access Control</title><link>https://adriennevermorel.com/notes/bigquery-fine-grained-access-control/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-fine-grained-access-control/</guid><description>Column-level security with policy tags, row-level security with Row Access Policies, and dynamic data masking — the three layers of fine-grained access control in BigQuery beyond basic IAM roles.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Idle Slot Sharing</title><link>https://adriennevermorel.com/notes/bigquery-idle-slot-sharing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-idle-slot-sharing/</guid><description>How idle slot sharing works in BigQuery Enterprise editions -- requirements, configuration, preemption behavior, and when to disable it.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Job Failure Monitoring with INFORMATION_SCHEMA</title><link>https://adriennevermorel.com/notes/bigquery-job-failure-monitoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-job-failure-monitoring/</guid><description>SQL patterns for monitoring BigQuery job failures and detecting cost anomalies using INFORMATION_SCHEMA.JOBS — with filtering strategies for multi-project setups.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery MCP Server Setup</title><link>https://adriennevermorel.com/notes/bigquery-mcp-server-setup-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-mcp-server-setup-hub/</guid><description>A reading path through connecting BigQuery to AI assistants via MCP — comparing the two official options, authentication, custom queries, and cost control.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery MCP Toolbox Setup</title><link>https://adriennevermorel.com/notes/bigquery-mcp-toolbox-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-mcp-toolbox-setup/</guid><description>Installing and configuring Google&apos;s open-source MCP Toolbox for Databases — the self-hosted option for connecting BigQuery to AI assistants with ADC authentication.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery ML for Lead Scoring</title><link>https://adriennevermorel.com/notes/bigquery-ml-for-lead-scoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-ml-for-lead-scoring/</guid><description>Train a logistic regression or boosted tree model to predict lead conversion directly in BigQuery SQL — including the TRANSFORM clause, class imbalance, and how to evaluate model quality.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery On-Demand Billing Mechanics</title><link>https://adriennevermorel.com/notes/bigquery-on-demand-billing-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-on-demand-billing-mechanics/</guid><description>How BigQuery on-demand pricing actually charges you — columnar billing, the LIMIT clause trap, 10 MB minimums, caching, the free tier, and cross-cloud pricing.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Pricing Policy Changes 2024–2025</title><link>https://adriennevermorel.com/notes/bigquery-pricing-policy-changes-2024-2025/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-pricing-policy-changes-2024-2025/</guid><description>Three BigQuery policy changes that affect cost modeling in 2024–2025: the flat-rate deprecation, the 200 TiB daily on-demand quota, and new Cloud Storage fees for external tables.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Remote MCP Server Setup</title><link>https://adriennevermorel.com/notes/bigquery-remote-mcp-server-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-remote-mcp-server-setup/</guid><description>Google&apos;s managed BigQuery MCP endpoint — enabling the service, configuring Claude Desktop and Claude Code, and why token expiration limits its usefulness.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Reservation Hierarchy</title><link>https://adriennevermorel.com/notes/bigquery-reservation-hierarchy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-reservation-hierarchy/</guid><description>The three layers of BigQuery&apos;s capacity model -- commitments, reservations, and assignments -- and how they work together to manage slot allocation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Row Access Policies</title><link>https://adriennevermorel.com/notes/bigquery-row-access-policies/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-row-access-policies/</guid><description>Dynamic row-level filtering using CREATE ROW ACCESS POLICY — replace per-segment views with policies that apply automatically based on querying user identity.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Slot Usage Monitoring</title><link>https://adriennevermorel.com/notes/bigquery-slot-usage-monitoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-slot-usage-monitoring/</guid><description>How to monitor BigQuery slot usage with INFORMATION_SCHEMA, the Slot Estimator, and Cloud Monitoring -- practical queries and tools for capacity planning.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Slots and Reservations</title><link>https://adriennevermorel.com/notes/bigquery-slots-and-reservations-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-slots-and-reservations-hub/</guid><description>A reading guide to BigQuery&apos;s compute model -- slots, reservations, editions, autoscaling, fair scheduling, and slot management for dbt workflows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Slots</title><link>https://adriennevermorel.com/notes/bigquery-slots/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-slots/</guid><description>What BigQuery slots are, how queries use them, what happens during slot contention, and the two ways to get slots.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Storage Billing Strategies</title><link>https://adriennevermorel.com/notes/bigquery-storage-billing-strategies/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-storage-billing-strategies/</guid><description>Physical vs logical storage billing in BigQuery, long-term storage discounts, table expiration policies, and how to evaluate which billing mode saves money.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Browser Cookie Restrictions in 2026</title><link>https://adriennevermorel.com/notes/browser-cookie-restrictions-2026/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/browser-cookie-restrictions-2026/</guid><description>How Safari ITP, Firefox Total Cookie Protection, and Chrome handle tracking cookies differently in 2026 — and why the combined effect means client-side tracking misses 20-40% of visitors.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Build vs. Buy Data Pipeline Economics</title><link>https://adriennevermorel.com/notes/build-vs-buy-data-pipeline-economics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/build-vs-buy-data-pipeline-economics/</guid><description>The three converging shifts that flipped the build-vs-buy calculation for data pipelines — pricing changes, AI-assisted development velocity, and open-source maturity</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Build vs. Buy Data Pipelines</title><link>https://adriennevermorel.com/notes/build-vs-buy-data-pipelines-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/build-vs-buy-data-pipelines-hub/</guid><description>A reading path through the shifting economics of managed vs. custom data pipelines — from Fivetran&apos;s pricing changes through AI-assisted development with dlt to the hybrid strategy</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building MCP Apps Visualization Server</title><link>https://adriennevermorel.com/notes/building-mcp-apps-visualization-server/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/building-mcp-apps-visualization-server/</guid><description>How to build a custom MCP Apps visualization server in TypeScript — registering app tools with UI metadata, serving HTML resources, and implementing the client SDK for bidirectional communication.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Business Cost of Poor Data Quality</title><link>https://adriennevermorel.com/notes/business-cost-of-poor-data-quality/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/business-cost-of-poor-data-quality/</guid><description>The measurable financial and operational impact of data quality failures — industry statistics, high-profile incidents, and why prevention costs a fraction of remediation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Campaign Naming and UTM Standardization</title><link>https://adriennevermorel.com/notes/campaign-naming-and-utm-standardization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/campaign-naming-and-utm-standardization/</guid><description>How to standardize campaign names across ad platforms using naming conventions, regex parsing, and seed overrides — plus UTM hygiene rules that make cross-platform attribution possible.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The Chatbot → Copilot → Agent Paradigm Shift</title><link>https://adriennevermorel.com/notes/chatbot-copilot-agent-paradigm-shift/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/chatbot-copilot-agent-paradigm-shift/</guid><description>How AI&apos;s relationship to the developer changed across three distinct eras — chatbot (demand), copilot (alongside), agent (autonomous) — and why each phase is qualitatively different, not incrementally better.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Choosing Between BigQuery MCP Options</title><link>https://adriennevermorel.com/notes/choosing-between-bigquery-mcp-options/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/choosing-between-bigquery-mcp-options/</guid><description>Decision framework for BigQuery MCP access — Remote Server vs Toolbox vs bq CLI, matched to your client, team setup, and use case.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Choosing Between Fivetran, Airbyte, and dlt</title><link>https://adriennevermorel.com/notes/choosing-between-fivetran-airbyte-dlt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/choosing-between-fivetran-airbyte-dlt/</guid><description>A decision framework for picking the right ELT tool based on team skills, budget, connector needs, and tolerance for operational burden — with practitioner sentiment from the field.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code for dbt Development</title><link>https://adriennevermorel.com/notes/claude-code-for-dbt-development-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-for-dbt-development-hub/</guid><description>A reading path through the core workflows for using Claude Code in a dbt project — base models, tests, documentation, debugging, refactoring, and prompting.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code ROI for Analytics Engineers</title><link>https://adriennevermorel.com/notes/claude-code-roi-for-analytics-engineers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-roi-for-analytics-engineers/</guid><description>Realistic time-to-value for Claude Code in a dbt workflow — what setup actually costs, when consistent savings emerge, and the qualitative benefit of tasks that finally get done.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Skill Description Engineering</title><link>https://adriennevermorel.com/notes/claude-code-skill-description-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-skill-description-engineering/</guid><description>How to write Claude Code skill descriptions that actually trigger activation — explicit keywords, negative boundaries, and the specificity principle</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Skills Activation</title><link>https://adriennevermorel.com/notes/claude-code-skills-activation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-skills-activation/</guid><description>How Claude Code skills work under the hood — keyword matching against YAML frontmatter, the ~20% auto-activation rate, and why skills fit background domain knowledge better than repeatable workflows</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Stop and Session Hooks</title><link>https://adriennevermorel.com/notes/claude-code-stop-and-session-hooks/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-stop-and-session-hooks/</guid><description>How Stop and SessionStart hooks complement per-tool hooks — running quality gates after Claude finishes responding and loading project context at session start</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Strengths and Limitations for Data Work</title><link>https://adriennevermorel.com/notes/claude-code-strengths-and-limitations-for-data-work/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-strengths-and-limitations-for-data-work/</guid><description>Where Claude Code delivers real value in data engineering — boilerplate, multi-file changes, pattern replication — and where it struggles with novel logic, ambiguity, and over-engineering.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CLAUDE.md for Analytics Engineering — Hub</title><link>https://adriennevermorel.com/notes/claude-md-analytics-engineering-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-md-analytics-engineering-hub/</guid><description>Hub note connecting all CLAUDE.md configuration concepts for dbt and BigQuery analytics engineering — project memory, dbt templates, BigQuery specifics, hooks, and slash commands.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CLAUDE.md BigQuery Specifics</title><link>https://adriennevermorel.com/notes/claude-md-bigquery-specifics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-md-bigquery-specifics/</guid><description>What to put in CLAUDE.md when your dbt project runs on BigQuery — GoogleSQL dialect enforcement, partition filter requirements, and incremental model config templates.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CLAUDE.md for dbt Projects</title><link>https://adriennevermorel.com/notes/claude-md-for-dbt-projects/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-md-for-dbt-projects/</guid><description>A concrete CLAUDE.md template for dbt projects — what to include, what to leave out, and why the file should be grown reactively from real mistakes rather than written upfront.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CLI vs MCP for AI Agents</title><link>https://adriennevermorel.com/notes/cli-vs-mcp-for-ai-agents/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cli-vs-mcp-for-ai-agents/</guid><description>The practical tradeoffs between CLI commands and MCP tool calls for AI agent workflows — benchmark data, token efficiency, and when each approach wins.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Composer Cost and Capabilities</title><link>https://adriennevermorel.com/notes/cloud-composer-cost-and-capabilities/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-composer-cost-and-capabilities/</guid><description>Cloud Composer 3&apos;s pricing model, committed use discounts, and the specific scenarios where its orchestration capabilities justify the $300-400/month minimum.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Functions as a dbt Execution Environment</title><link>https://adriennevermorel.com/notes/cloud-functions-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-functions-for-dbt/</guid><description>When and why to use Google Cloud Functions to run dbt Core — how it compares to Cloud Run Jobs, what it&apos;s good at, and where it falls short.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Run Jobs for dbt</title><link>https://adriennevermorel.com/notes/cloud-run-jobs-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-run-jobs-for-dbt/</guid><description>Why Cloud Run Jobs is the optimal dbt execution environment for most GCP teams — capabilities, container setup, authentication, monitoring, and cost profile.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Run Jobs Deployment Script Pattern</title><link>https://adriennevermorel.com/notes/cloud-run-jobs-deployment-script-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-run-jobs-deployment-script-pattern/</guid><description>An end-to-end deployment script for dbt on Cloud Run Jobs — service accounts, IAM bindings, Artifact Registry, job creation, and scheduling in a single reproducible script.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Scheduler OIDC Authentication for HTTP Triggers</title><link>https://adriennevermorel.com/notes/cloud-scheduler-oidc-http-trigger/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-scheduler-oidc-http-trigger/</guid><description>How Cloud Scheduler authenticates to secure HTTP endpoints using OIDC tokens — the service account requirements, the gcloud setup, and the pattern for Cloud Functions and Cloud Run.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Workflows Orchestration</title><link>https://adriennevermorel.com/notes/cloud-workflows-orchestration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-workflows-orchestration/</guid><description>GCP Cloud Workflows as a middle-ground orchestration layer between Cloud Scheduler and Cloud Composer — serverless, cheap, and capable enough for multi-step pipelines.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Code Generation over Tool Calling Pattern</title><link>https://adriennevermorel.com/notes/code-generation-over-tool-calling-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/code-generation-over-tool-calling-pattern/</guid><description>The emerging pattern of having LLMs write code against APIs rather than generate tool calls — Cloudflare&apos;s Code Mode, Anthropic&apos;s code execution, and what it means for MCP&apos;s future.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Codebase Refactoring with Claude Code</title><link>https://adriennevermorel.com/notes/codebase-refactoring-with-claude-code/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/codebase-refactoring-with-claude-code/</guid><description>How Claude Code enables project-wide dbt refactoring — column renames, naming convention migrations, and ref() updates across dozens of files without the manual search-and-miss problem.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode Common Implementation Failures</title><link>https://adriennevermorel.com/notes/consent-mode-common-implementation-failures/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-common-implementation-failures/</guid><description>The ten most frequent Consent Mode implementation mistakes, ordered by prevalence and damage — from missing defaults to untested consent states.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode Basic vs Advanced</title><link>https://adriennevermorel.com/notes/consent-mode-basic-vs-advanced/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-basic-vs-advanced/</guid><description>How Basic and Advanced Consent Mode differ in tag behavior, cookieless pings, and conversion modeling — and the traffic thresholds that determine whether Advanced mode actually helps.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode Debugging Network Parameters</title><link>https://adriennevermorel.com/notes/consent-mode-debugging-network-parameters/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-debugging-network-parameters/</guid><description>How to decode the gcs and gcd parameters in Google Analytics network requests to verify Consent Mode implementation without relying on CMP interfaces.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode Implementation Mechanics</title><link>https://adriennevermorel.com/notes/consent-mode-implementation-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-implementation-mechanics/</guid><description>The technical implementation of Consent Mode v2: default state configuration, CMP integration, GTM trigger ordering, and the wait_for_update race condition.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode Impact on Identity Resolution</title><link>https://adriennevermorel.com/notes/consent-mode-impact-on-identity-resolution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-impact-on-identity-resolution/</guid><description>How GA4 Consent Mode V2 changes what identity data reaches BigQuery — cookieless pings without identifiers, the same-page backstitch nuance, and filtering consented data for stitching pipelines.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode Server-Side GTM Propagation</title><link>https://adriennevermorel.com/notes/consent-mode-server-side-gtm-propagation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-server-side-gtm-propagation/</guid><description>How consent signals travel from the web container to server-side GTM via gcs and gcd parameters, and why non-Google vendor tags require manual consent enforcement.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode v2 Hub</title><link>https://adriennevermorel.com/notes/consent-mode-v2-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-v2-hub/</guid><description>Hub note connecting all concepts involved in implementing, debugging, and maintaining Google Consent Mode v2 across web and server-side GTM containers.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode US Privacy Requirements</title><link>https://adriennevermorel.com/notes/consent-mode-us-privacy-requirements/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-us-privacy-requirements/</guid><description>Why US-only sites increasingly need Consent Mode — Enhanced Conversions requirements, expanding state privacy laws, and the recommended region-specific configuration.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Consent Mode v2 Parameter Architecture</title><link>https://adriennevermorel.com/notes/consent-mode-v2-parameter-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/consent-mode-v2-parameter-architecture/</guid><description>The four Consent Mode v2 parameters, how upstream browser controls differ from downstream server instructions, and the legal mandate that forced the change.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Context Window Compaction and Agent Safety</title><link>https://adriennevermorel.com/notes/context-window-compaction-agent-safety/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/context-window-compaction-agent-safety/</guid><description>How LLM context window compaction causes AI agents to lose or deprioritize stop commands during long-running tasks — and why bulk data operations are the highest-risk scenario.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Contract-First Development in dbt</title><link>https://adriennevermorel.com/notes/contract-first-development-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/contract-first-development-in-dbt/</guid><description>Defining the contract before writing the SQL — the API design analogy, the workflow, and how ODCS + Data Contract CLI can generate dbt model YAML.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CRM Data Architecture Hub</title><link>https://adriennevermorel.com/notes/crm-data-architecture-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/crm-data-architecture-hub/</guid><description>Hub note connecting all garden notes on modeling Salesforce and HubSpot data in a modern warehouse with dbt and BigQuery.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CRM Data Extraction Challenges</title><link>https://adriennevermorel.com/notes/crm-data-extraction-challenges/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/crm-data-extraction-challenges/</guid><description>Why CRM data is harder to warehouse than most sources — mutability, API-based extraction, soft deletes, formula field blind spots, and rate limits.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CRM Modeling Patterns in dbt</title><link>https://adriennevermorel.com/notes/crm-modeling-patterns-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/crm-modeling-patterns-in-dbt/</guid><description>How to apply the three-layer dbt architecture to Salesforce and HubSpot data — base model conventions, intermediate enrichment, mart design, and incremental strategies.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Signals That Your Cron-Based dbt Setup Has Outgrown Itself</title><link>https://adriennevermorel.com/notes/cron-orchestration-upgrade-signals/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cron-orchestration-upgrade-signals/</guid><description>Five concrete indicators that a simple cron-scheduled dbt job has hit its limits — and what each one tells you about the orchestration capability you actually need.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cross-Platform Ad Metric Comparability</title><link>https://adriennevermorel.com/notes/cross-platform-ad-metric-comparability/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cross-platform-ad-metric-comparability/</guid><description>Why only five metrics can be meaningfully compared across ad platforms, how to handle platform-specific metrics, and conversion configuration details that determine what your &apos;conversions&apos; column actually means.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cross-Platform Ad Testing Patterns</title><link>https://adriennevermorel.com/notes/cross-platform-ad-testing-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cross-platform-ad-testing-patterns/</guid><description>How to test unified ad reporting models in dbt — source freshness, spend reconciliation, grain testing, and the manual checks that automated tests can&apos;t replace.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Custom dbt Materializations</title><link>https://adriennevermorel.com/notes/custom-dbt-materializations-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/custom-dbt-materializations-hub/</guid><description>Hub note for custom dbt materializations — anatomy, decision framework, zero-downtime swap, secured table, and debugging patterns.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Custom MCP Server Decision Criteria</title><link>https://adriennevermorel.com/notes/custom-mcp-server-decision-criteria/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/custom-mcp-server-decision-criteria/</guid><description>When to build a custom MCP server versus using an existing one — the build-vs-browse decision framework for data engineering teams.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Custom MCP Servers for Data Engineering</title><link>https://adriennevermorel.com/notes/custom-mcp-servers-for-data-engineering-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/custom-mcp-servers-for-data-engineering-hub/</guid><description>A reading path through building custom MCP servers — from decision criteria and SDK selection through tool design, testing, and practical server patterns for data catalogs, pipelines, and quality.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Custom Parameterized MCP Queries</title><link>https://adriennevermorel.com/notes/custom-parameterized-mcp-queries/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/custom-parameterized-mcp-queries/</guid><description>Using the MCP Toolbox&apos;s tools.yaml to define constrained, parameterized queries that give AI assistants structured access to data without arbitrary SQL.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Customer 360 dbt DAG Architecture</title><link>https://adriennevermorel.com/notes/customer-360-dbt-dag-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/customer-360-dbt-dag-architecture/</guid><description>How to structure a dbt project for Customer 360 models — the identity resolution layer between base and mart, the wide customer table, and materialization choices.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Asset Checks from dbt Tests</title><link>https://adriennevermorel.com/notes/dagster-asset-checks-from-dbt-tests/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-asset-checks-from-dbt-tests/</guid><description>How Dagster automatically converts dbt tests into asset checks since version 1.7 -- severity mapping, health badges, and what this means for unified data quality monitoring.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Customer 360 Modeling</title><link>https://adriennevermorel.com/notes/customer-360-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/customer-360-hub/</guid><description>Hub note connecting the concepts involved in building a unified Customer 360 model from CRM and GA4 data — identity resolution, DAG architecture, conflict resolution, and privacy constraints.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Branch Deployments for dbt</title><link>https://adriennevermorel.com/notes/dagster-branch-deployments-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-branch-deployments-for-dbt/</guid><description>How Dagster+ branch deployments create ephemeral preview environments for dbt changes on PR, with state-based selection and partitioned execution for CI/CD workflows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Components</title><link>https://adriennevermorel.com/notes/dagster-components/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-components/</guid><description>Dagster&apos;s newest major abstraction — YAML-configured objects that generate assets, checks, and schedules with minimal Python, lowering the barrier for SQL-first analytics engineers.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster + dbt Integration Hub</title><link>https://adriennevermorel.com/notes/dagster-dbt-integration-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-dbt-integration-hub/</guid><description>Hub note for the dagster-dbt integration — how the mapping works, quality checks, freshness monitoring, CI/CD workflows, and the case for choosing Dagster over dbt Cloud.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Freshness Policies and Scheduling</title><link>https://adriennevermorel.com/notes/dagster-freshness-policies-and-scheduling/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-freshness-policies-and-scheduling/</guid><description>How Dagster tracks asset freshness rather than just execution timestamps, and how to schedule dbt runs using cron schedules, sensors, and automation conditions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster-dbt Asset Mapping</title><link>https://adriennevermorel.com/notes/dagster-dbt-asset-mapping/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-dbt-asset-mapping/</guid><description>How dagster-dbt reads your manifest.json to create one Dagster asset per dbt model, with automatic lineage from ref() calls, and how to customize the mapping with DagsterDbtTranslator.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Fundamentals Hub</title><link>https://adriennevermorel.com/notes/dagster-fundamentals-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-fundamentals-hub/</guid><description>Hub note connecting all Dagster core concept notes — the asset-centric model, SDAs, resources, components, UI, pricing, GCP deployment, learning curve, and the dbt integration.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Full-Stack Pipeline Architecture</title><link>https://adriennevermorel.com/notes/dagster-full-stack-pipeline-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-full-stack-pipeline-architecture/</guid><description>How Dagster unifies ingestion, transformation, Python processing, and downstream triggers in a single asset graph — the pattern that justifies Dagster over simpler orchestration approaches.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster GCP Deployment</title><link>https://adriennevermorel.com/notes/dagster-gcp-deployment/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-gcp-deployment/</guid><description>How to deploy Dagster on GCP — Serverless vs Hybrid modes, GKE with Helm, Workload Identity authentication, Cloud SQL for storage, and the community Cloud Run option.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Learning Curve for Analytics Engineers</title><link>https://adriennevermorel.com/notes/dagster-learning-curve-for-analytics-engineers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-learning-curve-for-analytics-engineers/</guid><description>Where the friction shows up when analytics engineers adopt Dagster — Python proficiency, conceptual overhead, manifest management, pricing surprises, and the best onboarding path.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster+ Pricing and Credit Model</title><link>https://adriennevermorel.com/notes/dagster-plus-pricing-and-credit-model/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-plus-pricing-and-credit-model/</guid><description>How Dagster+ pricing works — the credit model (1 credit = 1 asset materialization), plan tiers, overage costs, and how it compares to dbt Cloud and Cloud Composer for analytics engineering teams.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Resources</title><link>https://adriennevermorel.com/notes/dagster-resources/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-resources/</guid><description>How Dagster resources work as centrally configured, injectable external connections — BigQueryResource, DbtCliResource, and the pattern for swapping environments without changing asset code.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster Software-Defined Assets</title><link>https://adriennevermorel.com/notes/dagster-software-defined-assets/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-software-defined-assets/</guid><description>The core building block of Dagster — how @dg.asset works, automatic dependency inference, the Definitions object, and how SDAs differ from traditional orchestrator primitives.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster UI for Analytics Engineers</title><link>https://adriennevermorel.com/notes/dagster-ui-for-analytics-engineers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-ui-for-analytics-engineers/</guid><description>A walkthrough of Dagster&apos;s web UI — the Asset Catalog, Global Asset Lineage, Run Details, health indicators, and the Dagster+ Pro features that matter most for analytics engineers on dbt + BigQuery.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dagster vs dbt Cloud Orchestration</title><link>https://adriennevermorel.com/notes/dagster-vs-dbt-cloud-orchestration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dagster-vs-dbt-cloud-orchestration/</guid><description>When Dagster&apos;s dagster-dbt integration is worth the setup cost over dbt Cloud&apos;s built-in scheduler -- cost comparison, capability gaps, and the vendor independence argument after the Fivetran merger.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Comparison Tool Landscape</title><link>https://adriennevermorel.com/notes/data-comparison-tool-landscape/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-comparison-tool-landscape/</guid><description>When to use dbt-audit-helper, Elementary, dbt-expectations, Datafold, or Soda for data comparison and validation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Adoption Challenges</title><link>https://adriennevermorel.com/notes/data-contract-adoption-challenges/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-adoption-challenges/</guid><description>Why data contract initiatives fail — the execution gap between contract-as-documentation and contract-as-enforcement, and the cultural change that matters more than the YAML.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Definition</title><link>https://adriennevermorel.com/notes/data-contract-definition/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-definition/</guid><description>What a data contract is, how it differs from schema tests and data quality checks, and why the &apos;non-consensual API&apos; framing matters.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Ownership Models</title><link>https://adriennevermorel.com/notes/data-contract-ownership-models/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-ownership-models/</guid><description>Producer-defined vs consumer-defined data contracts — why who writes the contract determines whether the initiative succeeds.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Tooling Ecosystem</title><link>https://adriennevermorel.com/notes/data-contract-tooling-ecosystem/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-contract-tooling-ecosystem/</guid><description>The landscape of data contract tools in 2026 — dedicated contract tools, quality frameworks with contract support, and governance platforms.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Observability Build vs. Buy</title><link>https://adriennevermorel.com/notes/data-observability-build-vs-buy-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-observability-build-vs-buy-hub/</guid><description>A reading path through the data observability decision — from the tool landscape through scaling thresholds, ML vs statistical detection, TCO, and the minimum viable stack.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Observability Minimum Viable Stack</title><link>https://adriennevermorel.com/notes/data-observability-minimum-viable-stack/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-observability-minimum-viable-stack/</guid><description>The four non-negotiable observability capabilities every data team needs regardless of tooling — primary key tests, freshness monitoring, volume anomaly detection, and actionable alerting.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Observability Scaling Thresholds</title><link>https://adriennevermorel.com/notes/data-observability-scaling-thresholds/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-observability-scaling-thresholds/</guid><description>Team size and technical complexity thresholds that determine when to move from dbt tests to OSS observability to paid platforms.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Observability Tool Landscape</title><link>https://adriennevermorel.com/notes/data-observability-tool-landscape/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-observability-tool-landscape/</guid><description>A reference comparison of data observability tools in 2026 — Elementary, Monte Carlo, Soda, Bigeye, Datafold, and Atlan — covering capabilities, pricing, and positioning.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Observability Total Cost of Ownership</title><link>https://adriennevermorel.com/notes/data-observability-total-cost-of-ownership/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-observability-total-cost-of-ownership/</guid><description>The true cost comparison between OSS and managed data observability — accounting for engineering time, warehouse compute, training, and the costs that don&apos;t appear on invoices.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data quality KPIs from Elementary</title><link>https://adriennevermorel.com/notes/data-quality-kpis-from-elementary/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-quality-kpis-from-elementary/</guid><description>Five data quality KPIs you can build from Elementary&apos;s warehouse tables, how to interpret them, and how they map to standard data quality dimensions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Quality Validation Layers</title><link>https://adriennevermorel.com/notes/data-quality-validation-layers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-quality-validation-layers/</guid><description>The three-layer model for data quality — proactive contracts, reactive schema tests, and anomaly detection — and why you need all three.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data team on-call strategies</title><link>https://adriennevermorel.com/notes/data-team-on-call-strategies/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-team-on-call-strategies/</guid><description>How data teams structure on-call rotations, triage processes, and runbooks differently from software engineering on-call, and which metrics reveal whether the system is working.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform-to-dbt Concept Mapping</title><link>https://adriennevermorel.com/notes/dataform-dbt-concept-mapping/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-dbt-concept-mapping/</guid><description>A reference mapping of Dataform concepts to their dbt equivalents — refs, configs, sources, materializations, testing, and directory structure.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform-to-dbt Migration Decision Criteria</title><link>https://adriennevermorel.com/notes/dataform-dbt-migration-decision-criteria/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-dbt-migration-decision-criteria/</guid><description>When migrating from Dataform to dbt makes sense, when it doesn&apos;t, and the realistic cost-benefit calculation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform Decision Framework</title><link>https://adriennevermorel.com/notes/dataform-decision-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-decision-framework/</guid><description>When Dataform is the right choice and when dbt wins — a decision framework based on platform commitment, budget, team preferences, and use case complexity</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform Dynamic Model Generation</title><link>https://adriennevermorel.com/notes/dataform-dynamic-model-generation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-dynamic-model-generation/</guid><description>How Dataform&apos;s JavaScript enables programmatic DAG construction — generating dozens of models from a single loop — and what dbt teams do instead.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform Ecosystem and Tooling Gaps</title><link>https://adriennevermorel.com/notes/dataform-ecosystem-and-tooling-gaps/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-ecosystem-and-tooling-gaps/</guid><description>Where Dataform falls short beyond testing — CI/CD automation, IDE tooling, package ecosystem, and platform lock-in compared to dbt</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform for BigQuery</title><link>https://adriennevermorel.com/notes/dataform-for-bigquery-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-for-bigquery-hub/</guid><description>A structured guide to evaluating Dataform as a BigQuery transformation tool — what it is, how it compares to dbt, and when it makes sense</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform as a GCP Service</title><link>https://adriennevermorel.com/notes/dataform-gcp-service-overview/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-gcp-service-overview/</guid><description>What Dataform is in 2026 — a fully managed BigQuery transformation service with deep GCP integration, zero licensing cost, and SQLX/JavaScript templating</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform Testing Limitations</title><link>https://adriennevermorel.com/notes/dataform-testing-limitations/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-testing-limitations/</guid><description>Dataform&apos;s built-in assertions cover three scenarios — uniqueness, null checks, and row conditions. Everything else requires custom implementation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform-to-dbt Migration Hub</title><link>https://adriennevermorel.com/notes/dataform-to-dbt-migration-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-to-dbt-migration-hub/</guid><description>Hub note connecting all garden notes related to migrating from Dataform to dbt — decision criteria, concept mapping, templating differences, and validation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform-to-dbt Migration</title><link>https://adriennevermorel.com/notes/dataform-to-dbt-migration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-to-dbt-migration/</guid><description>Migration paths between Dataform and dbt — tooling, realistic timelines by project size, and why macro conversion is where migrations get painful</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dataform vs dbt Cost Comparison</title><link>https://adriennevermorel.com/notes/dataform-vs-dbt-cost-comparison/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dataform-vs-dbt-cost-comparison/</guid><description>The real cost equation between Dataform and dbt — licensing savings vs ecosystem gaps, migration costs, and hidden engineering overhead</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Ad Reporting Patterns</title><link>https://adriennevermorel.com/notes/dbt-ad-reporting-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-ad-reporting-patterns/</guid><description>How to model advertising data in dbt — the dbt_ad_reporting package, cross-platform UNION patterns, platform-specific normalization, and reconciliation testing</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Agent Skills</title><link>https://adriennevermorel.com/notes/dbt-agent-skills/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-agent-skills/</guid><description>dbt Labs&apos; official Markdown skill files that teach AI coding agents how to follow dbt best practices — what they cover, how they work, and what the benchmarks actually show.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt as AI Knowledge Base</title><link>https://adriennevermorel.com/notes/dbt-as-ai-knowledge-base/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-as-ai-knowledge-base/</guid><description>How a well-structured dbt project functions as a shared context layer that improves every AI tool in your stack — models, tests, documentation, and semantic definitions as machine-readable knowledge.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Attribution Comparison Pattern</title><link>https://adriennevermorel.com/notes/dbt-attribution-comparison-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-attribution-comparison-pattern/</guid><description>How to structure a dbt project for multi-model attribution — running first-touch, last-touch, linear, position-based, and time-decay models in parallel with a union comparison layer</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-audit-helper CI/CD Integration</title><link>https://adriennevermorel.com/notes/dbt-audit-helper-ci-cd-integration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-audit-helper-ci-cd-integration/</guid><description>How to integrate dbt-audit-helper into CI/CD pipelines — dbt Cloud PR jobs, GitHub Actions with --defer, and automated regression detection.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-audit-helper Hub</title><link>https://adriennevermorel.com/notes/dbt-audit-helper-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-audit-helper-hub/</guid><description>Hub note for dbt-audit-helper — the progressive validation workflow, macro reference, CI/CD integration, and related comparison topics.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-audit-helper Macro Reference</title><link>https://adriennevermorel.com/notes/dbt-audit-helper-macro-reference/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-audit-helper-macro-reference/</guid><description>Reference for every dbt-audit-helper macro — parameters, output format, platform support, and practical usage notes.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-audit-helper Progressive Validation</title><link>https://adriennevermorel.com/notes/dbt-audit-helper-progressive-validation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-audit-helper-progressive-validation/</guid><description>The broad-to-narrow validation workflow for dbt-audit-helper — start with schema checks, escalate to row-level diffs only when needed.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Built-In Cross-Database Macros</title><link>https://adriennevermorel.com/notes/dbt-built-in-cross-database-macros/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-built-in-cross-database-macros/</guid><description>Reference for dbt&apos;s built-in cross-database macros in the dbt namespace — dateadd, datediff, safe_cast, concat, type helpers, and the migration path from dbt_utils.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt as the Center of Gravity for BI</title><link>https://adriennevermorel.com/notes/dbt-centrality-in-bi/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-centrality-in-bi/</guid><description>Why dbt has become the foundation layer that BI tools read from — not a parallel concern — and how the Fivetran merger accelerates this shift</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Preparing for the dbt Analytics Engineering Certification</title><link>https://adriennevermorel.com/notes/dbt-certification-preparation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-certification-preparation/</guid><description>What the dbt developer certification actually tests, where people get tripped up, and how hands-on project experience matters more than studying.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CI/CD Data Quality Testing in dbt</title><link>https://adriennevermorel.com/notes/dbt-ci-cd-data-quality-testing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-ci-cd-data-quality-testing/</guid><description>How to integrate data quality testing into CI/CD pipelines — Slim CI with state:modified+, GitHub Actions workflows, and tools like Datafold and Recce for regression detection.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Repository Structure for Cloud Function Deployment</title><link>https://adriennevermorel.com/notes/dbt-cloud-function-repository-structure/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-cloud-function-repository-structure/</guid><description>How to restructure a dbt project repository for Cloud Function deployment — the subdirectory pattern, main.py, requirements.txt, and profiles.yml with oauth.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Cloud Managed Platform</title><link>https://adriennevermorel.com/notes/dbt-cloud-managed-platform/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-cloud-managed-platform/</guid><description>What dbt Cloud provides beyond Core -- web IDE, job scheduling, collaboration tools, managed infrastructure, and the pricing model that shapes adoption decisions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Constraint Enforcement Across Warehouses</title><link>https://adriennevermorel.com/notes/dbt-constraint-enforcement-across-warehouses/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-constraint-enforcement-across-warehouses/</guid><description>How dbt constraint types behave across Postgres, Snowflake, BigQuery, Redshift, and Databricks — which constraints actually reject bad data and which are metadata only.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Contract Rollout Strategy</title><link>https://adriennevermorel.com/notes/dbt-contract-rollout-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-contract-rollout-strategy/</guid><description>How to adopt dbt model contracts in an existing project — identifying candidates, scaffolding YAML, phased enablement, and CI/CD integration for governance-only checks.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Core Open-Source Fundamentals</title><link>https://adriennevermorel.com/notes/dbt-core-open-source-fundamentals/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-core-open-source-fundamentals/</guid><description>What dbt Core is, how its CLI-driven workflow operates, the open-source ecosystem that powers it, and the technical profile of teams that choose it.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Core vs Cloud Decision Framework</title><link>https://adriennevermorel.com/notes/dbt-core-vs-cloud-decision-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-core-vs-cloud-decision-framework/</guid><description>A structured comparison of dbt Core and dbt Cloud across deployment, interface, features, pricing, and team profile -- with decision heuristics for choosing between them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Core vs Cloud Hub</title><link>https://adriennevermorel.com/notes/dbt-core-vs-cloud-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-core-vs-cloud-hub/</guid><description>Hub note connecting garden notes decomposed from the dbt Core vs dbt Cloud comparison article.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Cross-Database Array Operations</title><link>https://adriennevermorel.com/notes/dbt-cross-database-array-operations/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-cross-database-array-operations/</guid><description>How array syntax diverges across BigQuery, Snowflake, and Databricks — UNNEST vs LATERAL FLATTEN vs EXPLODE — and dispatch macros to handle it.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Cross-Database Macros</title><link>https://adriennevermorel.com/notes/dbt-cross-database-macros-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-cross-database-macros-hub/</guid><description>Hub for writing dbt macros that work across BigQuery, Snowflake, and Databricks — dialect differences, dispatch configuration, built-in macros, and array operations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt deps and the Package Lock File</title><link>https://adriennevermorel.com/notes/dbt-deps-and-package-lock/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-deps-and-package-lock/</guid><description>How dbt resolves and installs packages — the difference between packages.yml and dependencies.yml, how the lock file works, and the flags worth knowing.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>YAML Formatting Options for dbt Descriptions</title><link>https://adriennevermorel.com/notes/dbt-description-yaml-formatting-options/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-description-yaml-formatting-options/</guid><description>The four ways to write descriptions in dbt YAML — inline strings, folded scalars, literal scalars, and doc blocks — and when to use each one</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Dispatch Configuration</title><link>https://adriennevermorel.com/notes/dbt-dispatch-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-dispatch-configuration/</guid><description>How to configure dbt&apos;s dispatch search order in dbt_project.yml — overriding package macros, adding Databricks support via spark_utils, and namespace resolution.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Doc Block File Organization</title><link>https://adriennevermorel.com/notes/dbt-doc-block-file-organization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-doc-block-file-organization/</guid><description>How to organize doc block files in a dbt project — per-directory, per-model, centralized, and hybrid approaches with practical tradeoffs</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Doc Block Jinja Limitations</title><link>https://adriennevermorel.com/notes/dbt-doc-block-jinja-limitations/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-doc-block-jinja-limitations/</guid><description>What you cannot do inside dbt doc blocks — restricted Jinja context, the README parsing gotcha, and the missing column description inheritance feature</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Doc Block Syntax and Reuse Patterns</title><link>https://adriennevermorel.com/notes/dbt-doc-block-syntax-and-reuse/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-doc-block-syntax-and-reuse/</guid><description>How dbt doc blocks work — syntax, naming rules, cross-package references, and patterns for writing column and model descriptions once and reusing them across your project</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Docker Containerization</title><link>https://adriennevermorel.com/notes/dbt-docker-containerization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docker-containerization/</guid><description>Patterns for containerizing dbt Core for production — multi-stage Dockerfiles, version pinning, Artifact Registry, and the two-repository strategy that separates transformation logic from infrastructure.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Alternatives to Default dbt Docs</title><link>https://adriennevermorel.com/notes/dbt-docs-alternatives/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-alternatives/</guid><description>When to move beyond the default dbt docs frontend — Dagster&apos;s Next.js replacement, dbterd for ERDs, data catalogs, and dbt Cloud Catalog</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Docs Customization and Deployment</title><link>https://adriennevermorel.com/notes/dbt-docs-customization-and-deployment-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-customization-and-deployment-hub/</guid><description>A reading path through customizing and deploying dbt docs beyond localhost — from understanding the build artifacts to choosing a hosting platform, automating deployment, and knowing when to replace the default frontend</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Automating dbt Docs Deployment</title><link>https://adriennevermorel.com/notes/dbt-docs-deployment-automation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-deployment-automation/</guid><description>Patterns for keeping dbt docs automatically updated — CI/CD workflows, Astronomer Cosmos operators, and tools that push documentation to platforms like Notion</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>What dbt docs generate actually produces</title><link>https://adriennevermorel.com/notes/dbt-docs-generate-artifacts/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-generate-artifacts/</guid><description>The static site artifacts that dbt docs generate creates — manifest.json, catalog.json, index.html — and the flags that control how they are built</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Hosting dbt Docs Beyond Localhost</title><link>https://adriennevermorel.com/notes/dbt-docs-hosting-options/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-hosting-options/</guid><description>Deployment options for dbt docs by complexity — GitHub Pages, Netlify, GCS with IAP, S3 with CloudFront, and Docker with Nginx</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Docs Markdown Capabilities</title><link>https://adriennevermorel.com/notes/dbt-docs-markdown-capabilities/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-markdown-capabilities/</guid><description>What Markdown works in dbt docs and what does not — supported syntax, YAML scalar styles, image embedding, cross-referencing models, and known limitations</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Docs Performance at Scale</title><link>https://adriennevermorel.com/notes/dbt-docs-performance-at-scale/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-performance-at-scale/</guid><description>Why the default dbt docs site becomes unusable for large projects — the AngularJS frontend, client-side JSON parsing, and the performance ceiling that drives teams to alternatives</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Docs Site Customization Options</title><link>https://adriennevermorel.com/notes/dbt-docs-site-customization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-docs-site-customization/</guid><description>What you can customize in the default dbt docs site — the overview page, DAG node colors, hiding models — and where the customization options end</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation Audience Mismatch</title><link>https://adriennevermorel.com/notes/dbt-documentation-audience-mismatch/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-audience-mismatch/</guid><description>Why most dbt documentation goes unread — the fundamental mismatch between who writes docs (engineers) and who needs them (business users, analysts, and increasingly AI tools)</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt documentation automation strategy</title><link>https://adriennevermorel.com/notes/dbt-documentation-automation-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-automation-strategy/</guid><description>A graduated approach to automating dbt documentation freshness — from a single pre-commit hook to comprehensive drift detection, coverage tracking, and AI remediation</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt documentation drift detection</title><link>https://adriennevermorel.com/notes/dbt-documentation-drift-detection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-drift-detection/</guid><description>Techniques for detecting when dbt documentation falls out of sync with reality — column-level drift, git-based staleness signals, and schema drift for sources</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation Freshness</title><link>https://adriennevermorel.com/notes/dbt-documentation-freshness-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-freshness-hub/</guid><description>A reading path through keeping dbt documentation accurate as your project evolves — from the case for automation to drift detection, coverage tracking, and a graduated rollout strategy</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt documentation coverage tracking</title><link>https://adriennevermorel.com/notes/dbt-documentation-coverage-tracking/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-coverage-tracking/</guid><description>Measuring and trending dbt documentation coverage over time with dbt-coverage, dbt-score, and dbt Cloud — moving beyond pass/fail CI checks to spot erosion early</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation People Actually Read</title><link>https://adriennevermorel.com/notes/dbt-documentation-people-read-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-people-read-hub/</guid><description>A reading path through writing dbt documentation that gets used — from diagnosing why docs go unread to writing patterns, delivery mechanisms, and the AI quality feedback loop</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation Rollout Strategy</title><link>https://adriennevermorel.com/notes/dbt-documentation-rollout-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-rollout-strategy/</guid><description>A practical week-by-week approach to rolling out dbt documentation standards — starting with model descriptions, adding enforcement incrementally, and using AI tools to close coverage gaps</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Why a dbt Documentation Style Guide Matters More Than Effort</title><link>https://adriennevermorel.com/notes/dbt-documentation-style-guide-rationale/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-style-guide-rationale/</guid><description>The case for writing a documentation style guide for your dbt project — why inconsistency is the root problem, not effort, and how style guides serve both humans and AI tools</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Entity-Centric Naming for dbt Intermediate Models</title><link>https://adriennevermorel.com/notes/dbt-entity-centric-intermediate-naming/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-entity-centric-intermediate-naming/</guid><description>Why intermediate models should be named for the entity they represent, not the transformation they perform — and the self-documenting join notation that makes it work.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-expectations BigQuery Implementation Patterns</title><link>https://adriennevermorel.com/notes/dbt-expectations-bigquery-implementation-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-expectations-bigquery-implementation-patterns/</guid><description>Real-world dbt-expectations implementation on BigQuery — complete GA4 and advertising data quality YAML, test placement by DAG layer, and a practical starting checklist.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-expectations Setup and Configuration</title><link>https://adriennevermorel.com/notes/dbt-expectations-setup-and-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-expectations-setup-and-configuration/</guid><description>How to install and configure dbt-expectations — packages.yml, timezone variable, platform compatibility, and dependency management.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-expectations row_condition Pattern</title><link>https://adriennevermorel.com/notes/dbt-expectations-row-condition-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-expectations-row-condition-pattern/</guid><description>How the row_condition parameter in dbt-expectations enables conditional test filtering — applying tests to specific segments without custom SQL.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-expectations Hub</title><link>https://adriennevermorel.com/notes/dbt-expectations-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-expectations-hub/</guid><description>Hub note for dbt-expectations — setup, test reference, conditional filtering, severity tuning, BigQuery implementation patterns, and the unit test vs data test distinction.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-expectations Test Reference</title><link>https://adriennevermorel.com/notes/dbt-expectations-test-reference/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-expectations-test-reference/</guid><description>A categorized reference of the highest-value dbt-expectations tests — table-level, pattern, range, multi-column, and completeness — with BigQuery-ready YAML examples.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Features Without a Dataform Equivalent</title><link>https://adriennevermorel.com/notes/dbt-features-without-dataform-equivalent/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-features-without-dataform-equivalent/</guid><description>The dbt capabilities that simply don&apos;t exist in Dataform — snapshots, the package ecosystem, microbatch incremental strategy, and Slim CI. These are the blockers that stall dbt-to-Dataform migrations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-Fivetran Merger and the 2026 Transformation Landscape</title><link>https://adriennevermorel.com/notes/dbt-fivetran-merger-landscape-shift/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-fivetran-merger-landscape-shift/</guid><description>How the October 2025 dbt-Fivetran merger reshaped the analytics engineering landscape — unified platform strategy, Core/Cloud divergence, and what it means for tool choice.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Fusion Package Compatibility</title><link>https://adriennevermorel.com/notes/dbt-fusion-package-compatibility/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-fusion-package-compatibility/</guid><description>How the dbt Fusion engine (v2.0) affects package compatibility — version bounds, manifest format changes, the Fusion badge, and how to prepare your project and packages for migration.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>generate_schema_name: Environment-Aware Schema Naming in dbt</title><link>https://adriennevermorel.com/notes/dbt-generate-schema-name-override/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-generate-schema-name-override/</guid><description>How to override dbt&apos;s generate_schema_name macro so dev environments get prefixed schema names while prod uses clean custom schema names directly.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Groups and Access Modifiers</title><link>https://adriennevermorel.com/notes/dbt-groups-and-access-modifiers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-groups-and-access-modifiers/</guid><description>How dbt groups and access modifiers (private, protected, public) organize model ownership and enforce boundaries — and why they&apos;re worth using even in single projects.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Hub Publishing</title><link>https://adriennevermorel.com/notes/dbt-hub-publishing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-hub-publishing/</guid><description>How to publish a dbt package to the dbt Hub — requirements, the registration process, hubcap automation, and best practices for version management.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Identity Resolution Pipeline</title><link>https://adriennevermorel.com/notes/dbt-identity-resolution-pipeline/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-identity-resolution-pipeline/</guid><description>Production dbt DAG structure for GA4 identity resolution — the incremental identity mapping model, stitched events model, schema tests, and the 3-day lookback window for late-arriving data.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Incremental Strategy Configuration Patterns</title><link>https://adriennevermorel.com/notes/dbt-incremental-strategy-configuration-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-incremental-strategy-configuration-patterns/</guid><description>Complete, runnable dbt config blocks for each incremental strategy — merge with predicates, delete+insert on Snowflake, insert_overwrite with static partitions, and replace_where on Databricks.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Incremental Strategy Warehouse Behaviors</title><link>https://adriennevermorel.com/notes/dbt-incremental-strategy-warehouse-behaviors/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-incremental-strategy-warehouse-behaviors/</guid><description>How dbt incremental strategies behave differently on BigQuery, Snowflake, and Databricks — the platform-specific quirks, gotchas, and limitations that the documentation doesn&apos;t emphasize enough.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Integration Depth Across Orchestrators</title><link>https://adriennevermorel.com/notes/dbt-integration-depth-across-orchestrators/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-integration-depth-across-orchestrators/</guid><description>How dagster-dbt, astronomer-cosmos, and prefect-dbt differ in integration depth — from first-class asset mapping to operational wrappers — and what that means when something breaks.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Macro Deprecation Pattern</title><link>https://adriennevermorel.com/notes/dbt-macro-deprecation-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-macro-deprecation-pattern/</guid><description>How to change macro behavior without breaking callers — the staged deprecation pattern using exceptions.warn() that dbt-utils demonstrates.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Macro Documentation in YAML</title><link>https://adriennevermorel.com/notes/dbt-macro-documentation-yaml/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-macro-documentation-yaml/</guid><description>Why _macros.yml beats inline SQL comments for documenting dbt macros, and how to write entries that developers actually use.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Macro Naming Conventions</title><link>https://adriennevermorel.com/notes/dbt-macro-naming-conventions/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-macro-naming-conventions/</guid><description>Naming patterns for dbt macros that make them discoverable, communicative, and well-organized — verb prefixes, descriptive names, internal helper conventions, and the one-macro-per-file rule.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The Rule of Three for dbt Macros</title><link>https://adriennevermorel.com/notes/dbt-macro-rule-of-three/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-macro-rule-of-three/</guid><description>Why you should wait until the third occurrence of a pattern before extracting a dbt macro — and what goes wrong when you don&apos;t.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Macro Testing Patterns</title><link>https://adriennevermorel.com/notes/dbt-macro-testing-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-macro-testing-patterns/</guid><description>Two approaches to testing dbt macros — integration test models and dbt 1.8 unit tests — plus the compile-and-inspect workflow for debugging.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Macros</title><link>https://adriennevermorel.com/notes/dbt-macros/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-macros/</guid><description>How dbt macros work — Jinja fundamentals, writing custom macros, using dbt_utils, dispatch patterns, and when macros help vs hurt</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Materialization Anatomy</title><link>https://adriennevermorel.com/notes/dbt-materialization-anatomy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-materialization-anatomy/</guid><description>The six-step structure every dbt materialization follows — setup, pre-hooks, main SQL, post-hooks, cleanup, and return — plus the key objects and adapter methods.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Materialization Cost Impact on BigQuery</title><link>https://adriennevermorel.com/notes/dbt-materialization-cost-impact-on-bigquery/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-materialization-cost-impact-on-bigquery/</guid><description>How dbt materialization choices affect BigQuery costs -- table vs view vs ephemeral trade-offs, the view chain anti-pattern, and why defaulting to tables usually wins.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Materialization Default: Tables Everywhere</title><link>https://adriennevermorel.com/notes/dbt-materialization-default-tables/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-materialization-default-tables/</guid><description>Why materializing every dbt model as a table by default — not views, not ephemeral — produces more debuggable, stable, and maintainable projects.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt MCP Server: Local vs Remote</title><link>https://adriennevermorel.com/notes/dbt-mcp-server-local-vs-remote/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mcp-server-local-vs-remote/</guid><description>The two deployment modes for dbt&apos;s MCP server — local gives full CLI access and works without dbt Cloud, remote is read-only metadata and requires a Cloud plan.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt MCP Server Safety Considerations</title><link>https://adriennevermorel.com/notes/dbt-mcp-server-safety-considerations/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mcp-server-safety-considerations/</guid><description>The risks of giving an AI assistant dbt CLI access — production data modification, credential scope, Copilot credit consumption, and practical mitigations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt MCP Server Setup and Configuration</title><link>https://adriennevermorel.com/notes/dbt-mcp-server-setup-and-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mcp-server-setup-and-configuration/</guid><description>Step-by-step installation and configuration of the dbt MCP server — uv, environment variables, feature toggles, and client setup for Claude Code and Claude Desktop.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt MCP Server Setup</title><link>https://adriennevermorel.com/notes/dbt-mcp-server-setup-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mcp-server-setup-hub/</guid><description>A reading path through connecting dbt to AI assistants via MCP — choosing between local and remote modes, tool capabilities, configuration, and safety.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt MCP Server Tool Reference</title><link>https://adriennevermorel.com/notes/dbt-mcp-server-tool-reference/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mcp-server-tool-reference/</guid><description>Complete reference for the 20+ tools exposed by the dbt MCP server — CLI commands, metadata discovery, Semantic Layer queries, and job management.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Mesh Governance Triad</title><link>https://adriennevermorel.com/notes/dbt-mesh-governance-triad/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mesh-governance-triad/</guid><description>How contracts, access controls, and model versioning combine in dbt Mesh to turn models into data products — and which models actually deserve that treatment.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Microbatch Strategy Tradeoffs</title><link>https://adriennevermorel.com/notes/dbt-microbatch-strategy-tradeoffs/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-microbatch-strategy-tradeoffs/</guid><description>The practical limitations and design tradeoffs of dbt&apos;s microbatch incremental strategy — UTC assumptions, no sub-hourly batches, and sequential execution.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Migration Validation Patterns</title><link>https://adriennevermorel.com/notes/dbt-migration-validation-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-migration-validation-patterns/</guid><description>How to validate a dbt migration — parallel execution, comparison queries, ML regression testing, and the practical approach to proving equivalence.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Model Contract Mechanics</title><link>https://adriennevermorel.com/notes/dbt-model-contract-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-model-contract-mechanics/</guid><description>How dbt&apos;s native model contracts work — the preflight check, DDL generation, fail-fast behavior, configuration options, and what contracts do and don&apos;t validate.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Model Description Style Guide</title><link>https://adriennevermorel.com/notes/dbt-model-description-style-guide-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-model-description-style-guide-hub/</guid><description>Hub note for the dbt documentation style guide — why consistency beats effort, what to put in model and column descriptions, YAML formatting options, doc blocks, CI enforcement, and rollout strategy</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Model Description Writing Patterns</title><link>https://adriennevermorel.com/notes/dbt-model-description-writing-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-model-description-writing-patterns/</guid><description>Practical patterns for writing dbt model, column, and source descriptions that serve both business users and engineers — the three-question framework and when to use meta instead of description</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Model Versioning</title><link>https://adriennevermorel.com/notes/dbt-model-versioning/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-model-versioning/</guid><description>How dbt model versions work — breaking vs non-breaking changes, the state:modified selector, version integers, deprecation dates, and the friction points.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Operational Slash Commands</title><link>https://adriennevermorel.com/notes/dbt-operational-slash-commands/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-operational-slash-commands/</guid><description>Practical Claude Code slash commands for daily dbt operations — building models, generating base models, running modified code, auditing quality, and cleaning up artifacts</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Orchestration Decision Framework for GCP</title><link>https://adriennevermorel.com/notes/dbt-orchestration-decision-framework-gcp/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-orchestration-decision-framework-gcp/</guid><description>A decision framework for choosing between Cloud Run Jobs, Cloud Workflows, and Cloud Composer for dbt orchestration on GCP — based on actual requirements, not arbitrary complexity thresholds.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Anatomy</title><link>https://adriennevermorel.com/notes/dbt-package-anatomy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-anatomy/</guid><description>What makes a dbt package different from a regular project — the three design principles, standard directory structure, and dbt_project.yml configuration for reusable packages.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Anti-Patterns</title><link>https://adriennevermorel.com/notes/dbt-package-anti-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-anti-patterns/</guid><description>Common mistakes in dbt packages — hardcoded schemas, missing dispatch, tight version constraints, generic model names, table defaults, and missing version bounds.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package CI/CD</title><link>https://adriennevermorel.com/notes/dbt-package-ci-cd/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-ci-cd/</guid><description>How to set up CI/CD for dbt packages — matrix testing across warehouses and dbt versions with GitHub Actions, credential management, and the integration test workflow.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Development Hub</title><link>https://adriennevermorel.com/notes/dbt-package-development-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-development-hub/</guid><description>A hub connecting all notes on building, testing, and publishing dbt packages — from project anatomy to CI/CD to Hub distribution.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Ecosystem Governance</title><link>https://adriennevermorel.com/notes/dbt-package-ecosystem-governance/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-ecosystem-governance/</guid><description>Who maintains the dbt package ecosystem — dbt Labs, Fivetran, and community contributors — and how to evaluate a package&apos;s reliability before committing to it in production.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Ecosystem Hub</title><link>https://adriennevermorel.com/notes/dbt-package-ecosystem-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-ecosystem-hub/</guid><description>Navigation hub for the dbt package ecosystem — how installation works, what&apos;s available, version compatibility, and how to evaluate packages for production use.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Installation Types</title><link>https://adriennevermorel.com/notes/dbt-package-installation-types/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-installation-types/</guid><description>The three ways to install dbt packages — Hub, Git, and local — and how to choose between them. Includes version conflict patterns and best practices for your root packages.yml.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Packageable Model Patterns</title><link>https://adriennevermorel.com/notes/dbt-packageable-model-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-packageable-model-patterns/</guid><description>Three patterns that make dbt models installable by anyone — configurable sources with var(), enable/disable flags, and namespaced model names.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Package Integration Testing</title><link>https://adriennevermorel.com/notes/dbt-package-integration-testing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-package-integration-testing/</guid><description>The integration_tests sub-project pattern for testing dbt packages — using seeds as mock data, comparing outputs to expected results, and running the full suite.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Packages vs Mesh</title><link>https://adriennevermorel.com/notes/dbt-packages-vs-mesh/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-packages-vs-mesh/</guid><description>When to use dbt packages (code sharing) vs dbt Mesh (data product sharing) — the conceptual distinction, practical differences, and how to choose.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt persist_docs for Warehouse Comments</title><link>https://adriennevermorel.com/notes/dbt-persist-docs-warehouse-comments/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-persist-docs-warehouse-comments/</guid><description>How persist_docs pushes dbt descriptions directly to your data warehouse as table and column comments, making documentation available where analysts already work</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Private Packages via Git</title><link>https://adriennevermorel.com/notes/dbt-private-packages-via-git/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-private-packages-via-git/</guid><description>How to distribute internal dbt packages as Git dependencies — version pinning, authentication options, and trade-offs compared to Hub packages.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Production Safety Hooks</title><link>https://adriennevermorel.com/notes/dbt-production-safety-hooks/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-production-safety-hooks/</guid><description>Using Claude Code PreToolUse hooks to block dangerous dbt commands before they execute — full-refresh on production, unscoped builds, and other high-risk operations</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt profiles.yml with env_var for Multi-Client GCP</title><link>https://adriennevermorel.com/notes/dbt-profiles-env-var-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-profiles-env-var-pattern/</guid><description>Using env_var() interpolation in profiles.yml so dbt reads GCP credentials and project from environment variables — enabling seamless client switching via direnv.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-project-evaluator for documentation enforcement</title><link>https://adriennevermorel.com/notes/dbt-project-evaluator-for-documentation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-project-evaluator-for-documentation/</guid><description>How dbt-project-evaluator and dbt_meta_testing enforce documentation completeness in CI — materializing coverage as models and setting folder-level requirements</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Project Structure: Guide Hub</title><link>https://adriennevermorel.com/notes/dbt-project-structure-guide-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-project-structure-guide-hub/</guid><description>A hub connecting all notes on structuring a dbt project — layers, naming, materialization, YAML, modern features, and marketing analytics patterns.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Quality Morning Summary Pattern</title><link>https://adriennevermorel.com/notes/dbt-quality-morning-summary-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-quality-morning-summary-pattern/</guid><description>A two-cycle design for automated dbt quality reporting — daily morning summaries with Slack threading and follow-up capability, plus a weekly digest that surfaces patterns individual days miss.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Writing Reusable dbt Macros</title><link>https://adriennevermorel.com/notes/dbt-reusable-macros-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-reusable-macros-hub/</guid><description>A map through the garden notes on designing, naming, documenting, testing, and evolving dbt macros — from when to extract to how to handle breaking changes.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Scheduling Without an Orchestrator</title><link>https://adriennevermorel.com/notes/dbt-scheduling-without-an-orchestrator/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-scheduling-without-an-orchestrator/</guid><description>How to run dbt in production without Airflow, Dagster, or Prefect — the practical options from $0/month GitHub Actions to Cloud Run Jobs, when each fits, and when to move on.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Schema Validation and Data Products Hub</title><link>https://adriennevermorel.com/notes/dbt-schema-validation-and-data-products-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-schema-validation-and-data-products-hub/</guid><description>Hub connecting notes on dbt&apos;s three validation mechanisms, source schema gaps, the Mesh governance triad, and contract-first development.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Service Account Setup for Multi-Project GCP Architectures</title><link>https://adriennevermorel.com/notes/dbt-service-account-multi-project-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-service-account-multi-project-setup/</guid><description>How to create and configure a dbt service account when your source data, transformation output, and compute infrastructure live in separate GCP projects.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Slot Management on BigQuery</title><link>https://adriennevermorel.com/notes/dbt-slot-management-on-bigquery/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-slot-management-on-bigquery/</guid><description>How dbt&apos;s execution model interacts with BigQuery slots -- why dbt is compute-heavy, the multi-project workaround, and best practices for sizing slots for dbt workflows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Single Responsibility Macros</title><link>https://adriennevermorel.com/notes/dbt-single-responsibility-macros/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-single-responsibility-macros/</guid><description>Why dbt macros should do one thing, how to recognize when they&apos;ve outgrown their scope, and the composition pattern for building complex transformations from focused pieces.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Source Schema Validation</title><link>https://adriennevermorel.com/notes/dbt-source-schema-validation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-source-schema-validation/</guid><description>How to validate source schema in dbt when contracts can&apos;t reach — using dbt-expectations on sources to catch column drift before transformation runs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Test Alert Routing and Ownership</title><link>https://adriennevermorel.com/notes/dbt-test-alert-routing-and-ownership/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-test-alert-routing-and-ownership/</guid><description>How to route dbt test failures to the right people, configure tiered alert severity, and apply the Broken Window principle to test suite health.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Test Output Parsing for Automated Monitoring</title><link>https://adriennevermorel.com/notes/dbt-test-output-parsing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-test-output-parsing/</guid><description>How to extract structured, actionable information from dbt test output — distinguishing failure types, capturing sample rows, and handling partial runs so automated monitoring doesn&apos;t miss anything.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Test Severity and Performance Tuning</title><link>https://adriennevermorel.com/notes/dbt-test-severity-and-performance-tuning/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-test-severity-and-performance-tuning/</guid><description>How to configure dbt test severity levels, optimize expensive tests on BigQuery, and structure test execution for cost-effective data quality.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Test Failure Severity Framework</title><link>https://adriennevermorel.com/notes/dbt-test-failure-severity-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-test-failure-severity-framework/</guid><description>A four-tier framework for prioritizing dbt test failures by impact — combining test type, model layer, downstream dependents, and historical context into an actionable severity ranking.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Testing Strategy</title><link>https://adriennevermorel.com/notes/dbt-testing-strategy-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-testing-strategy-hub/</guid><description>Hub note for building a complete dbt testing strategy — taxonomy, layer placement, unit test selection, alert routing, and package ecosystem.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Testing Strategy by Layer</title><link>https://adriennevermorel.com/notes/dbt-testing-strategy-by-layer/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-testing-strategy-by-layer/</guid><description>What to test at each layer of the dbt DAG — sources, base, intermediate, and mart — and why testing intensity should increase toward the edges.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-to-Dataform Migration Hub</title><link>https://adriennevermorel.com/notes/dbt-to-dataform-migration-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-to-dataform-migration-hub/</guid><description>Hub note for migrating from dbt to Dataform — the decision, the concept mapping, the procedural steps, and what you&apos;ll lose. For BigQuery teams evaluating the switch.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-to-Dataform Migration Process</title><link>https://adriennevermorel.com/notes/dbt-to-dataform-migration-process/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-to-dataform-migration-process/</guid><description>The step-by-step process for migrating a dbt project to Dataform — auditing what you have, running the automated tool, converting macros to JavaScript includes, recreating tests as assertions, and setting up orchestration.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>When to Write dbt Unit Tests</title><link>https://adriennevermorel.com/notes/dbt-unit-tests-when-to-write-them/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-unit-tests-when-to-write-them/</guid><description>Specific decision criteria for where native dbt unit tests pay off — complex logic scenarios, the incremental model override pattern, and what to skip.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils generate_surrogate_key</title><link>https://adriennevermorel.com/notes/dbt-utils-generate-surrogate-key/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-generate-surrogate-key/</guid><description>How generate_surrogate_key works, why null handling matters, and why migrating from the old surrogate_key() macro can silently break incremental models and snapshots.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils Generic Tests</title><link>https://adriennevermorel.com/notes/dbt-utils-generic-tests/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-generic-tests/</guid><description>Full reference for dbt-utils generic tests: YAML syntax, the Fusion arguments: key change, group_by_columns support, and when to use each test.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils Hub</title><link>https://adriennevermorel.com/notes/dbt-utils-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-hub/</guid><description>Navigation hub for dbt-utils v1.3 — the full scope of the package, what moved to dbt-core, and pointers to each section of the reference.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils Introspective Macros</title><link>https://adriennevermorel.com/notes/dbt-utils-introspective-macros/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-introspective-macros/</guid><description>How dbt-utils compile-time introspection macros work — get_column_values, get_relations_by_pattern, get_query_results_as_dict, and get_single_value — and when they cause problems.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils SQL Generators</title><link>https://adriennevermorel.com/notes/dbt-utils-sql-generators/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-sql-generators/</guid><description>Reference for dbt-utils SQL generation macros: date_spine, deduplicate, star, union_relations, pivot, unpivot, and the smaller helpers. What each does, how to call it, and the gotchas.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils v1.0 Migration: What Moved to dbt-core</title><link>https://adriennevermorel.com/notes/dbt-utils-v1-migration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-v1-migration/</guid><description>The complete list of macros that moved from dbt-utils to the dbt namespace at v1.0, what was removed entirely, and how to migrate an existing project.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt-utils Web Macros for URL Parsing</title><link>https://adriennevermorel.com/notes/dbt-utils-web-macros/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-utils-web-macros/</guid><description>dbt-utils URL extraction macros for marketing analytics: get_url_host, get_url_path, and get_url_parameter. What they do, where they&apos;re useful, and what they don&apos;t handle.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Validation Mechanisms Compared</title><link>https://adriennevermorel.com/notes/dbt-validation-mechanism-comparison/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-validation-mechanism-comparison/</guid><description>How dbt contracts, data tests, and dbt-expectations differ in when they fire, what they cover, and what they cost — and why you need all three.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt vs Dataform Templating Hub</title><link>https://adriennevermorel.com/notes/dbt-vs-dataform-templating-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-vs-dataform-templating-hub/</guid><description>Navigation hub for notes comparing Jinja (dbt) and JavaScript (Dataform) templating in analytics engineering — syntax, philosophy, strengths, and team fit.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Debugging Custom dbt Materializations</title><link>https://adriennevermorel.com/notes/debugging-custom-dbt-materializations/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/debugging-custom-dbt-materializations/</guid><description>Common errors in custom dbt materializations, what causes them, and how to test materializations systematically before deploying to production.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Deploying dbt Core on Cloud Functions</title><link>https://adriennevermorel.com/notes/deploying-dbt-on-cloud-functions-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/deploying-dbt-on-cloud-functions-hub/</guid><description>A step-by-step guide to deploying dbt Core on Google Cloud Functions — repository structure, service account setup, deployment, and scheduling with Cloud Scheduler.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>direnv for Multi-Client GCP Credential Management</title><link>https://adriennevermorel.com/notes/direnv-multi-client-gcp-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/direnv-multi-client-gcp-setup/</guid><description>Automate per-project GCP credential loading with direnv — .envrc configuration, the four-variable pattern, and a five-minute setup for each new client.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Authentication Patterns</title><link>https://adriennevermorel.com/notes/dlt-authentication-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-authentication-patterns/</guid><description>The authentication strategies dlt provides for API pipelines — bearer tokens, API keys, OAuth2 client credentials — and how to extend them for non-standard flows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt and BigQuery Integration</title><link>https://adriennevermorel.com/notes/dlt-bigquery-integration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-bigquery-integration/</guid><description>How dlt loads data into BigQuery — the two loading strategies (streaming vs. GCS staging), the bigquery_adapter for partitioning and clustering, nested JSON normalization, and the metadata tables dlt creates.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Core Concepts</title><link>https://adriennevermorel.com/notes/dlt-core-concepts/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-core-concepts/</guid><description>The four building blocks of dlt pipelines — sources, resources, pipelines, and schemas — and the three write dispositions that control how data lands.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building Custom API Pipelines with dlt</title><link>https://adriennevermorel.com/notes/dlt-custom-api-pipelines-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-custom-api-pipelines-hub/</guid><description>A map of the concepts and patterns involved in building production API pipelines with dlt — from choosing an approach through deployment.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Dependent Resources</title><link>https://adriennevermorel.com/notes/dlt-dependent-resources/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-dependent-resources/</guid><description>How dlt lets one resource use another&apos;s output to configure its endpoint — the path template syntax for multi-step API traversal.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Deployment Options</title><link>https://adriennevermorel.com/notes/dlt-deployment-options/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-deployment-options/</guid><description>Where and how to run dlt pipelines in production — GitHub Actions, Airflow, Modal serverless, and other platforms — with the dlt deploy command as the starting point.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Environment Setup</title><link>https://adriennevermorel.com/notes/dlt-environment-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-environment-setup/</guid><description>Setting up a dlt project from scratch — Python virtual environment, installation, dlt init, and the project scaffold it creates.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt for AI-Assisted Pipeline Development</title><link>https://adriennevermorel.com/notes/dlt-for-ai-assisted-pipeline-development/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-for-ai-assisted-pipeline-development/</guid><description>Why dlt&apos;s Python-native, declarative design maps well to AI-assisted development — the REST API builder, BigQuery-specific features, LLM-friendly docs, and production results</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Google Ads Pipeline</title><link>https://adriennevermorel.com/notes/dlt-google-ads-pipeline/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-google-ads-pipeline/</guid><description>Building a Google Ads to BigQuery pipeline with dlt — the verified source, GAQL query patterns, incremental loading, and deployment options.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building dlt Pipelines: From First Run to Incremental Loading</title><link>https://adriennevermorel.com/notes/dlt-hands-on-tutorial-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-hands-on-tutorial-hub/</guid><description>A reading path through the concepts in the hands-on dlt tutorial — environment setup, REST API Source config, dependent resources, and incremental loading.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Incremental Loading</title><link>https://adriennevermorel.com/notes/dlt-incremental-loading/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-incremental-loading/</guid><description>How dlt tracks state between pipeline runs using cursor-based incremental loading — the dlt.sources.incremental() helper, declarative REST API config, and why state lives in the destination.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Pagination Patterns</title><link>https://adriennevermorel.com/notes/dlt-pagination-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-pagination-patterns/</guid><description>The built-in paginators dlt provides for common API patterns, and how to extend BasePaginator for APIs that don&apos;t follow standard conventions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Pipeline Testing</title><link>https://adriennevermorel.com/notes/dlt-pipeline-testing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-pipeline-testing/</guid><description>Testing dlt pipelines locally with DuckDB before hitting production — unit tests with resource limits, integration tests for schema validation, and common debugging patterns.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt: Python-Native Data Loading</title><link>https://adriennevermorel.com/notes/dlt-python-native-loader-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-python-native-loader-hub/</guid><description>A reading path through dlt&apos;s core mechanics — from building blocks through BigQuery-specific loading to incremental state tracking.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt REST API Source Configuration</title><link>https://adriennevermorel.com/notes/dlt-rest-api-source-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-rest-api-source-configuration/</guid><description>How to configure dlt&apos;s declarative REST API Source — the client block, resources block, endpoint paths, pagination wiring, and what dlt does automatically with the data.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt RESTClient Mechanics</title><link>https://adriennevermorel.com/notes/dlt-restclient-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-restclient-mechanics/</guid><description>How dlt&apos;s RESTClient works — instantiation, the paginate() method, key parameters, and built-in error handling with retry and backoff.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt RESTClient vs REST API Source</title><link>https://adriennevermorel.com/notes/dlt-restclient-vs-rest-api-source/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-restclient-vs-rest-api-source/</guid><description>The two approaches dlt offers for building custom API pipelines — imperative RESTClient and declarative REST API Source — and how to choose between them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dlt Secrets Management</title><link>https://adriennevermorel.com/notes/dlt-secrets-management/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dlt-secrets-management/</guid><description>How dlt&apos;s configuration hierarchy keeps credentials out of code — the priority order, secrets.toml for local development, environment variables for CI/CD, and vault integrations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Documentation Quality Determines AI Usefulness</title><link>https://adriennevermorel.com/notes/documentation-quality-determines-ai-usefulness/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/documentation-quality-determines-ai-usefulness/</guid><description>Why the quality of your dbt documentation directly determines how useful AI tools can be — the Roche chatbot failure, the docs-to-AI feedback loop, and case studies in enforcement</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary alert fatigue reduction</title><link>https://adriennevermorel.com/notes/elementary-alert-fatigue-reduction/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-alert-fatigue-reduction/</guid><description>How to configure suppression intervals, alert grouping, and sampling controls in Elementary to keep signal-to-noise ratio high as test suites grow.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary alert routing with filters</title><link>https://adriennevermorel.com/notes/elementary-alert-routing-with-filters/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-alert-routing-with-filters/</guid><description>How to run multiple edr monitor commands with different filters to route alerts by tag, owner, status, or resource type to different channels and incident management tools.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary alerting hub</title><link>https://adriennevermorel.com/notes/elementary-alerting-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-alerting-hub/</guid><description>A reading path through Elementary&apos;s alerting system -- from the edr monitor command through Slack/Teams setup, filter-based routing, alert fatigue reduction, and on-call strategy.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary CLI profile configuration</title><link>https://adriennevermorel.com/notes/elementary-cli-profile-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-cli-profile-configuration/</guid><description>How to configure the Elementary CLI (edr) profile for BigQuery, Snowflake, and Databricks -- including the gotchas that differ from your dbt profile.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary dashboard organization</title><link>https://adriennevermorel.com/notes/elementary-dashboard-organization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-dashboard-organization/</guid><description>How to organize Elementary dashboards and reports by domain, criticality, and refresh cadence so they stay useful as your project grows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary custom BI dashboards</title><link>https://adriennevermorel.com/notes/elementary-custom-bi-dashboards/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-custom-bi-dashboards/</guid><description>How to build custom data quality dashboards in any BI tool by querying Elementary&apos;s warehouse tables directly, with example SQL for the most useful metrics.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary data quality dashboards</title><link>https://adriennevermorel.com/notes/elementary-data-quality-dashboards-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-data-quality-dashboards-hub/</guid><description>Hub for building data quality dashboards with Elementary: generating reports, hosting them for team access, building custom BI dashboards, and designing KPIs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary materialization override for dbt 1.8+</title><link>https://adriennevermorel.com/notes/elementary-dbt-materialization-override/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-dbt-materialization-override/</guid><description>Why Elementary requires a materialization override macro in dbt 1.8+ projects, what happens without it, and how to write it correctly for BigQuery and Snowflake.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary for dbt: setup guide</title><link>https://adriennevermorel.com/notes/elementary-dbt-setup-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-dbt-setup-hub/</guid><description>A sequenced map of notes covering Elementary installation from scratch -- dbt package, materialization override, CLI profile configuration, and troubleshooting.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary edr monitor alerting</title><link>https://adriennevermorel.com/notes/elementary-edr-monitor-alerting/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-edr-monitor-alerting/</guid><description>How edr monitor works, how it differs from edr report, and how to configure alert metadata in model YAML to control who gets notified and when.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary HTML report generation</title><link>https://adriennevermorel.com/notes/elementary-html-report-command/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-html-report-command/</guid><description>How the edr report command works, which flags matter in practice, and patterns for generating targeted reports for different audiences.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary report hosting</title><link>https://adriennevermorel.com/notes/elementary-report-hosting/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-report-hosting/</guid><description>How to host Elementary HTML reports on S3, GCS, or Azure Blob Storage so the whole team has access, and how to automate report generation in CI pipelines.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary report sections</title><link>https://adriennevermorel.com/notes/elementary-report-sections/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-report-sections/</guid><description>What each section of the Elementary HTML report shows and when to use each one during a data quality review.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary setup troubleshooting</title><link>https://adriennevermorel.com/notes/elementary-setup-troubleshooting/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-setup-troubleshooting/</guid><description>Fixes for the most common Elementary installation failures: empty reports, missing edr command, BigQuery location errors, tables materialized as views, and Databricks permission issues.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary Slack and Teams integration</title><link>https://adriennevermorel.com/notes/elementary-slack-teams-integration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-slack-teams-integration/</guid><description>How to connect Elementary alerts to Slack (token-based and webhook) and Microsoft Teams, including the tradeoffs between integration methods.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>ELT Connector Quality and Coverage Comparison</title><link>https://adriennevermorel.com/notes/elt-connector-quality-comparison/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elt-connector-quality-comparison/</guid><description>How Fivetran, Airbyte, and dlt differ in connector count, quality tiers, and their approaches to handling sources that don&apos;t have pre-built connectors.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Event-Grain Sessionization</title><link>https://adriennevermorel.com/notes/event-grain-sessionization/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/event-grain-sessionization/</guid><description>Why enriching events with session context beats building session-grain tables, and how the pattern enables flexible downstream analysis.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>EU Cookie Consent Legal Framework</title><link>https://adriennevermorel.com/notes/eu-cookie-consent-legal-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/eu-cookie-consent-legal-framework/</guid><description>The two overlapping EU legal frameworks governing cookie consent — ePrivacy Directive and GDPR — what valid consent actually requires, which cookies are exempt, and where enforcement stands in 2026.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Eventarc Event-Driven dbt Triggers</title><link>https://adriennevermorel.com/notes/eventarc-event-driven-dbt-triggers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/eventarc-event-driven-dbt-triggers/</guid><description>Using Eventarc to trigger dbt runs when upstream data arrives — Cloud Storage object creation, BigQuery audit log events, and combining event-driven with scheduled execution.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Expense Capture as a Habit Layer</title><link>https://adriennevermorel.com/notes/expense-capture-as-habit-layer/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/expense-capture-as-habit-layer/</guid><description>Using natural language logging and receipt OCR to close the gap between &apos;I spent money&apos; and &apos;that expense is recorded somewhere useful&apos; — why capture is the real problem, not the accounting.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>FastMCP Server Skeleton</title><link>https://adriennevermorel.com/notes/fastmcp-server-skeleton/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/fastmcp-server-skeleton/</guid><description>Minimal MCP server examples in Python (FastMCP) and TypeScript (McpServer) — the starting point for any custom server build.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Feature Engineering for ML in dbt</title><link>https://adriennevermorel.com/notes/feature-engineering-for-ml-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/feature-engineering-for-ml-in-dbt/</guid><description>How to structure dbt intermediate models as ML feature tables — including time-windowed aggregations, domain-separated feature sets, and joining them into a labeled training dataset.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>First-Party Data and Compliance Hub</title><link>https://adriennevermorel.com/notes/first-party-data-compliance-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/first-party-data-compliance-hub/</guid><description>Hub connecting the browser restrictions, server-side infrastructure, EU/US legal frameworks, and identity resolution approaches that together determine how much advertising and analytics signal you can legally collect in 2026.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Fivetran dbt Packages Architecture</title><link>https://adriennevermorel.com/notes/fivetran-dbt-packages-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/fivetran-dbt-packages-architecture/</guid><description>How Fivetran structures its 60+ dbt packages — the unified source-plus-transform model, cross-platform reporting bundles, and the installation pattern that avoids version conflicts.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Fivetran dbt Packages for CRM</title><link>https://adriennevermorel.com/notes/fivetran-dbt-packages-for-crm/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/fivetran-dbt-packages-for-crm/</guid><description>What dbt_salesforce and dbt_hubspot provide out of the box — model coverage, configuration, pass-through columns, history mode support, and naming convention tradeoffs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Fivetran MAR Pricing Shift</title><link>https://adriennevermorel.com/notes/fivetran-mar-pricing-shift/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/fivetran-mar-pricing-shift/</guid><description>How Fivetran&apos;s March 2025 shift to per-connector MAR pricing broke the economics of managed ELT — bulk discount elimination, 4-8x cost increases, and the marketing data problem</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Floating-Point Precision in Data Comparison</title><link>https://adriennevermorel.com/notes/floating-point-precision-in-data-comparison/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/floating-point-precision-in-data-comparison/</guid><description>Why exact equality fails for floating-point values in data comparison, and practical strategies for handling precision mismatches.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The full_refresh: false Guard in dbt</title><link>https://adriennevermorel.com/notes/full-refresh-false-guard-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/full-refresh-false-guard-in-dbt/</guid><description>When and why to set full_refresh: false on dbt incremental models — preventing accidental multi-hour rebuilds while keeping intentional full refreshes possible.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The Freelance Admin Overhead Problem</title><link>https://adriennevermorel.com/notes/freelance-admin-overhead-problem/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/freelance-admin-overhead-problem/</guid><description>Why solo consultants spend 20-30% of their time on non-billable admin, why the standard fixes don&apos;t work, and what makes a single agent different from another SaaS subscription.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 BigQuery Export Table Types</title><link>https://adriennevermorel.com/notes/ga4-bigquery-export-table-types/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-bigquery-export-table-types/</guid><description>The four table types in a GA4 BigQuery export dataset — daily, intraday, and user tables — their timing, limitations, costs, and when to use each.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 BigQuery Query Patterns</title><link>https://adriennevermorel.com/notes/ga4-bigquery-query-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-bigquery-query-patterns/</guid><description>Efficient querying of GA4 date-sharded tables — _TABLE_SUFFIX filtering, inline vs FROM clause UNNEST, reusable dbt macros, and cost control practices.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 BigQuery Number Discrepancies</title><link>https://adriennevermorel.com/notes/ga4-bigquery-number-discrepancies/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-bigquery-number-discrepancies/</guid><description>Why your BigQuery session and user counts won&apos;t match the GA4 interface, and the practical approach to handling the 1-5% variance.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 BigQuery Schema Hub</title><link>https://adriennevermorel.com/notes/ga4-bigquery-schema-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-bigquery-schema-hub/</guid><description>Hub note connecting all concepts needed to understand and query the GA4 BigQuery export schema — table types, nested structures, gotchas, and query patterns.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 BigQuery Timezone Handling</title><link>https://adriennevermorel.com/notes/ga4-bigquery-timezone-handling/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-bigquery-timezone-handling/</guid><description>Three different timezone contexts coexist in GA4 BigQuery exports — event_timestamp, event_date, and _TABLE_SUFFIX each use different references that silently break date-range queries.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Consent Mode Orphaned Events</title><link>https://adriennevermorel.com/notes/ga4-consent-mode-orphaned-events/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-consent-mode-orphaned-events/</guid><description>How Consent Mode creates rows in GA4 BigQuery exports with null user_pseudo_id and session identifiers — what they are, how they affect counts, and same-page backstitching behavior.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Channel Grouping Macro</title><link>https://adriennevermorel.com/notes/ga4-channel-grouping-macro/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-channel-grouping-macro/</guid><description>A dbt macro that encapsulates Google&apos;s default channel grouping logic as reusable SQL, with the regex patterns and edge cases you need to know.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 dbt Package Ecosystem</title><link>https://adriennevermorel.com/notes/ga4-dbt-package-ecosystem/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-dbt-package-ecosystem/</guid><description>An overview of the major open-source dbt packages for GA4 BigQuery exports — what they optimize for, what they miss, and when to build custom.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 dbt Project Configuration</title><link>https://adriennevermorel.com/notes/ga4-dbt-project-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-dbt-project-configuration/</guid><description>The dbt_project.yml setup for a GA4 project — variable-driven configuration, folder-level materializations, and the project variables that make the template reusable.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 dbt Project Template</title><link>https://adriennevermorel.com/notes/ga4-dbt-project-template-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-dbt-project-template-hub/</guid><description>Hub connecting all concepts in building a production-ready dbt project for GA4 BigQuery exports — from base model to marts, with testing and documentation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4-Specific dbt Testing Patterns</title><link>https://adriennevermorel.com/notes/ga4-dbt-testing-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-dbt-testing-patterns/</guid><description>Data quality tests for GA4 dbt projects that catch tracking failures standard schema tests miss — missing session_start events, orphaned transactions, suspicious session metrics.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Ecommerce Items UNNEST Pattern</title><link>https://adriennevermorel.com/notes/ga4-ecommerce-items-unnest-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-ecommerce-items-unnest-pattern/</guid><description>How to handle GA4&apos;s nested items array in dbt — building a separate item-level grain model with intentional Cartesian UNNEST.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 E-commerce Schema in BigQuery</title><link>https://adriennevermorel.com/notes/ga4-ecommerce-schema/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-ecommerce-schema/</guid><description>The ecommerce RECORD and items REPEATED RECORD in GA4&apos;s BigQuery export — field reference, nested item_params, and query patterns for purchase analysis.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Event Ordering with Batch Fields</title><link>https://adriennevermorel.com/notes/ga4-event-ordering-with-batch-fields/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-event-ordering-with-batch-fields/</guid><description>How to use batch_event_index, batch_ordering_id, and batch_page_id for deterministic event sequencing in GA4 BigQuery exports.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Events Sessionized Model</title><link>https://adriennevermorel.com/notes/ga4-events-sessionized-model/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-events-sessionized-model/</guid><description>The implementation of the wide event-grain intermediate model for GA4 — the CTE structure, window function patterns, and design decisions that make downstream analysis flexible.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 event_params Type Detection</title><link>https://adriennevermorel.com/notes/ga4-event-params-type-detection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-event-params-type-detection/</guid><description>How GA4 auto-detects parameter types across string_value, int_value, and double_value fields — and the defensive COALESCE pattern when the type isn&apos;t guaranteed.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Identity Graph in BigQuery</title><link>https://adriennevermorel.com/notes/ga4-identity-graph-bigquery/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-identity-graph-bigquery/</guid><description>How to build a production identity graph from GA4 BigQuery data — mapping user_id to all associated devices, detecting shared devices and anomalies, and structuring forward and reverse lookups.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Identity Stitching Techniques</title><link>https://adriennevermorel.com/notes/ga4-identity-stitching-techniques/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-identity-stitching-techniques/</guid><description>The four SQL patterns for resolving GA4 anonymous-to-known user identity — last-touch, first-touch, full backstitch, and session-scoped — with a decision framework for choosing between them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Parameter Extraction Macro</title><link>https://adriennevermorel.com/notes/ga4-parameter-extraction-macro/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-parameter-extraction-macro/</guid><description>A reusable dbt macro for extracting GA4 event parameters without row multiplication, including the numeric variant for int/float/double fields.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Reporting Identity Modes</title><link>https://adriennevermorel.com/notes/ga4-reporting-identity-modes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-reporting-identity-modes/</guid><description>How GA4&apos;s three reporting identity modes (Blended, Observed, Device-based) apply user resolution in the interface — and why none of that logic reaches BigQuery.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Schema Evolution Monitoring</title><link>https://adriennevermorel.com/notes/ga4-schema-evolution-monitoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-schema-evolution-monitoring/</guid><description>GA4&apos;s BigQuery schema changes without announcements and new fields are never retroactive. How to detect additions before they break production queries.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Session Key Construction</title><link>https://adriennevermorel.com/notes/ga4-session-key-construction/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-session-key-construction/</guid><description>Why ga_session_id alone fails as a session identifier, how to build the correct composite key, and the edge cases that produce null sessions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 session_start Event Unreliability</title><link>https://adriennevermorel.com/notes/ga4-session-start-event-unreliability/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-session-start-event-unreliability/</guid><description>Why counting session_start events produces wrong session counts in GA4 BigQuery data, and the correct approach using distinct session IDs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Sessionization Hub</title><link>https://adriennevermorel.com/notes/ga4-sessionization-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-sessionization-hub/</guid><description>Hub note connecting all concepts involved in building session tables from GA4 BigQuery event data.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Sharded-to-Partitioned Base Model</title><link>https://adriennevermorel.com/notes/ga4-sharded-to-partitioned-base-model/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-sharded-to-partitioned-base-model/</guid><description>How to convert GA4&apos;s date-sharded BigQuery export into a properly partitioned incremental dbt model, and why the static lookback pattern is critical for correctness.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Traffic Source Fields</title><link>https://adriennevermorel.com/notes/ga4-traffic-source-fields/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-traffic-source-fields/</guid><description>The four traffic source locations in GA4 BigQuery exports — their scopes, use cases, and the July 2024 cutoff that changed session attribution.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 User Backstitching</title><link>https://adriennevermorel.com/notes/ga4-user-backstitching/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-user-backstitching/</guid><description>How to retroactively apply GA4 user_id to anonymous sessions in the warehouse — the SQL pattern, shared device handling, and when backstitching is worth the complexity.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 user_id Data Quality</title><link>https://adriennevermorel.com/notes/ga4-user-id-data-quality/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-user-id-data-quality/</guid><description>Common implementation bugs that corrupt GA4 user_id data — string &apos;null&apos; values, logout tagging errors, suspicious high-cardinality IDs — and the SQL patterns to detect and filter them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 User Identity</title><link>https://adriennevermorel.com/notes/ga4-user-identity-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-user-identity-hub/</guid><description>Map of content for GA4 identity resolution in BigQuery — from understanding the two identifier types through stitching techniques, production pipelines, and ongoing monitoring.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 User-Provided Data BigQuery Trap</title><link>https://adriennevermorel.com/notes/ga4-user-provided-data-bigquery-trap/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-user-provided-data-bigquery-trap/</guid><description>Enabling User-provided data in GA4 admin permanently disables user_id export to BigQuery with no reversal option — what this means and how to protect your pipelines.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 User Mart Pattern</title><link>https://adriennevermorel.com/notes/ga4-user-mart-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-user-mart-pattern/</guid><description>Building a user-grain mart from GA4 session data — first/last touch attribution, lifetime value aggregation, and identity stitching with user_pseudo_id and user_id.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Window Function Pitfalls</title><link>https://adriennevermorel.com/notes/ga4-window-function-pitfalls/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-window-function-pitfalls/</guid><description>Three window function traps specific to GA4 sessionization: the LAST_VALUE framing trap, IGNORE NULLS for sparse event data, and MAX for session-scoped boolean flags.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GCP Application Default Credentials</title><link>https://adriennevermorel.com/notes/gcp-application-default-credentials/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gcp-application-default-credentials/</guid><description>The difference between gcloud auth login and Application Default Credentials — why they exist, how they work, and why ADC is what MCP servers and SDKs actually use.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GCP Authentication for Multi-Client Consulting Work (Hub)</title><link>https://adriennevermorel.com/notes/gcp-auth-multi-client-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gcp-auth-multi-client-hub/</guid><description>Hub note for GCP credential isolation across multiple client projects — the problem, the four-variable solution, tool-specific agent constraints, and the service account vs impersonation tradeoff.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CLOUDSDK_CONFIG for Per-Project gcloud Isolation</title><link>https://adriennevermorel.com/notes/gcp-cloudsdk-config-isolation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gcp-cloudsdk-config-isolation/</guid><description>How CLOUDSDK_CONFIG isolates all gcloud state per project — credentials, ADC files, active config — and why it&apos;s the missing piece for multi-client GCP work.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GCP IAM Least Privilege for Data Teams</title><link>https://adriennevermorel.com/notes/gcp-iam-least-privilege-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gcp-iam-least-privilege-hub/</guid><description>A sequenced guide to auditing and fixing IAM debt on GCP data platforms — from surfacing over-permissioned principals to implementing policy tags and row-level security.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GCP Processing Engine Selection: Dataflow, Dataproc, and BigQuery</title><link>https://adriennevermorel.com/notes/gcp-processing-engine-selection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gcp-processing-engine-selection/</guid><description>When to use Dataflow, Dataproc, Dataproc Serverless, and BigQuery SQL for data transformation on GCP — matched to team expertise and workload type, not arbitrary scale thresholds.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads BigQuery Data Transfer Service</title><link>https://adriennevermorel.com/notes/google-ads-bigquery-dts-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-bigquery-dts-hub/</guid><description>Hub note for the free Google Ads → BigQuery pipeline — setup, schema quirks, known data gaps, and dbt modeling patterns.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Actions for dbt Scheduling</title><link>https://adriennevermorel.com/notes/github-actions-dbt-scheduling/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/github-actions-dbt-scheduling/</guid><description>Using GitHub Actions scheduled workflows as a zero-infrastructure dbt runner — what it covers well, where it falls short, and when to use it over Cloud Run.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads BigQuery Data Transfer Service Setup</title><link>https://adriennevermorel.com/notes/google-ads-bigquery-dts-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-bigquery-dts-setup/</guid><description>How the Google Ads BigQuery Data Transfer Service works — what it gives you, how the schema is organized, MCC vs per-account setup, and the defaults that will hurt you.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads to BigQuery: Loading Approaches</title><link>https://adriennevermorel.com/notes/google-ads-bigquery-loading-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-bigquery-loading-hub/</guid><description>Four ways to load Google Ads data into BigQuery — a map through the decision landscape.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads ClickType Impression Trap</title><link>https://adriennevermorel.com/notes/google-ads-clicktype-impression-trap/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-clicktype-impression-trap/</guid><description>Why Google Ads DTS stats tables silently inflate impression counts 3-6x, and the exact SQL filter that fixes it without breaking click counts.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads Developer Token</title><link>https://adriennevermorel.com/notes/google-ads-developer-token/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-developer-token/</guid><description>What the Google Ads developer token is, how access levels work, why approval takes months, and which loading tools require one.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads DTS dbt Integration</title><link>https://adriennevermorel.com/notes/google-ads-dts-dbt-integration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-dts-dbt-integration/</guid><description>How to model Google Ads BigQuery DTS tables in dbt — source configuration, incremental strategy for partition replacement, and conversion lookback windows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads Server-Side: Conversion Linker and Enhanced Conversions</title><link>https://adriennevermorel.com/notes/google-ads-enhanced-conversions-server-side/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-enhanced-conversions-server-side/</guid><description>How to configure Google Ads conversion tracking server-side — the Conversion Linker tag that manages the FPGCLAW cookie, Enhanced Conversions for hashed user data, and realistic uplift expectations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads Performance Max Data Gaps</title><link>https://adriennevermorel.com/notes/google-ads-performance-max-data-gaps/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-performance-max-data-gaps/</guid><description>Why Performance Max campaign data is incomplete in BigQuery DTS, what&apos;s actually missing, and how to get the data you need.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Ads Scripts for BigQuery Export</title><link>https://adriennevermorel.com/notes/google-ads-scripts-bigquery/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-ads-scripts-bigquery/</guid><description>Using Google Ads Scripts to export performance data directly to BigQuery — how the authentication model works, what the execution limits are, and when this approach beats the alternatives.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google OAuth CLI Setup Gotchas</title><link>https://adriennevermorel.com/notes/google-oauth-cli-setup-gotchas/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-oauth-cli-setup-gotchas/</guid><description>The specific mistakes that cause OAuth setup to fail silently for Google Workspace CLI tools — wrong application type, missing test users, and the scope limit trap.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Sheets as Analytics Data Source</title><link>https://adriennevermorel.com/notes/google-sheets-as-analytics-data-source/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-sheets-as-analytics-data-source/</guid><description>How Google Sheets functions as a shadow data source in GCP analytics stacks — the integration patterns, the automation gap gws fills, and the convergence of data and productivity tooling.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Workspace CLI (gws)</title><link>https://adriennevermorel.com/notes/google-workspace-cli-gws/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-workspace-cli-gws/</guid><description>The gws CLI gives programmatic access to every Google Workspace API through a single binary — Gmail, Drive, Calendar, Sheets, Docs — filling the gap gcloud has never covered.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Google Workspace CLI for AI Agents (Hub)</title><link>https://adriennevermorel.com/notes/google-workspace-cli-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/google-workspace-cli-hub/</guid><description>Hub note for the gws CLI ecosystem — the tool itself, agent-first design principles, OAuth setup, CLI vs MCP tradeoffs, and Sheets as a data source.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side Hosting on AWS</title><link>https://adriennevermorel.com/notes/gtm-server-side-aws-hosting/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-aws-hosting/</guid><description>How to host the GTM Server-Side tagging container on AWS using ECS Fargate, why App Runner costs more, and why Lambda is architecturally incompatible.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side Hosting on Azure</title><link>https://adriennevermorel.com/notes/gtm-server-side-azure-hosting/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-azure-hosting/</guid><description>How to host the GTM Server-Side tagging container on Azure using App Service or Container Apps, with pricing tiers and SSL configuration notes.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side on Cloud Run: Deployment and Configuration</title><link>https://adriennevermorel.com/notes/gtm-server-side-cloud-run-deployment/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-cloud-run-deployment/</guid><description>How to deploy GTM Server-Side on Google Cloud Run — automatic vs manual provisioning, production configuration settings, custom domain setup, and multi-region architecture for global traffic.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side: Architecture and Four Building Blocks</title><link>https://adriennevermorel.com/notes/gtm-server-side-data-flow/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-data-flow/</guid><description>How GTM Server-Side works as an intermediary layer — the request/response data flow, and the four component types (Clients, Tags, Triggers, Variables/Transformations) that make it up.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side: Ten Implementation Failures and How to Avoid Them</title><link>https://adriennevermorel.com/notes/gtm-server-side-common-failures/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-common-failures/</guid><description>The ten most common GTM Server-Side implementation mistakes — from missing custom domains and silent trigger failures to Cloud Logging cost surprises and Safari IP mismatch — with diagnostic guidance for each.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side Hosting Costs: Self-Hosted vs Managed</title><link>https://adriennevermorel.com/notes/gtm-server-side-hosting-costs/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-hosting-costs/</guid><description>The real cost of running GTM Server-Side — Cloud Run pricing by traffic tier, the Cloud Logging cost trap, and a comparison of managed alternatives (Stape, Addingwell, Cloudflare Zaraz).</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side Hosting: Decision Framework</title><link>https://adriennevermorel.com/notes/gtm-server-side-hosting-decision-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-hosting-decision-framework/</guid><description>How to choose between Cloud Run, AWS ECS Fargate, Azure App Service, and managed providers for hosting your GTM Server-Side container in production.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side: Map of Content</title><link>https://adriennevermorel.com/notes/gtm-server-side-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-hub/</guid><description>Index of garden notes on GTM Server-Side — architecture, Cloud Run deployment, GA4 configuration, Meta CAPI, Google Ads, hosting costs, and common failures.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GTM Server-Side Managed Hosting Providers</title><link>https://adriennevermorel.com/notes/gtm-server-side-managed-hosting-providers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/gtm-server-side-managed-hosting-providers/</guid><description>Comparison of Stape, Addingwell, TAGGRS, and Cloudflare Zaraz as managed alternatives to self-hosting GTM Server-Side containers on cloud infrastructure.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>HubSpot Associations as Bridge Tables</title><link>https://adriennevermorel.com/notes/hubspot-association-bridge-tables/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/hubspot-association-bridge-tables/</guid><description>HubSpot&apos;s many-to-many association model requires bridge tables at every layer. How to model them correctly, handle fan-out, and resolve the primary company problem.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>HubSpot to BigQuery Pipeline Hub</title><link>https://adriennevermorel.com/notes/hubspot-bigquery-pipeline-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/hubspot-bigquery-pipeline-hub/</guid><description>All the moving parts for a HubSpot-to-BigQuery pipeline with dbt: associations, lifecycle stages, deal stages, property history, ingestion tools, and the dbt_hubspot package.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>HubSpot Deal Stage Modeling</title><link>https://adriennevermorel.com/notes/hubspot-deal-stage-modeling/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/hubspot-deal-stage-modeling/</guid><description>Why deal stage transitions live in DEAL_STAGE not DEAL_PROPERTY_HISTORY, how to use the is_closed and label columns correctly, and patterns for time-in-stage and pipeline analysis.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>HubSpot Property History Mechanics</title><link>https://adriennevermorel.com/notes/hubspot-property-history-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/hubspot-property-history-mechanics/</guid><description>How HubSpot&apos;s property history tables work, their retention limits, why CALCULATED properties inflate sync costs, and how to model history data without surprises.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>HubSpot Lifecycle Stages in the Warehouse</title><link>https://adriennevermorel.com/notes/hubspot-lifecycle-stages-in-the-warehouse/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/hubspot-lifecycle-stages-in-the-warehouse/</guid><description>How HubSpot&apos;s lifecycle stage model maps to warehouse columns, why forward-only transitions make funnel analysis straightforward, and how to handle merged contact artifacts.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Hybrid ELT Strategy</title><link>https://adriennevermorel.com/notes/hybrid-elt-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/hybrid-elt-strategy/</guid><description>When to buy managed ELT, when to build with dlt + AI, and the practical migration path — a decision framework for splitting your pipeline portfolio strategically</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>IAM Debt Audit for GCP Data Platforms</title><link>https://adriennevermorel.com/notes/iam-debt-audit-gcp/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/iam-debt-audit-gcp/</guid><description>Bash and SQL queries to surface Editor roles, service accounts with keys, and shared credentials — the starting point for any GCP IAM cleanup.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>IAM Drift Monitoring for GCP</title><link>https://adriennevermorel.com/notes/iam-drift-monitoring-gcp/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/iam-drift-monitoring-gcp/</guid><description>Catch IAM debt before it accumulates — IAM Recommender, INFORMATION_SCHEMA job monitoring, and audit log queries to detect permission drift quarterly.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>2-Layer RBAC with Google Groups</title><link>https://adriennevermorel.com/notes/iam-rbac-google-groups-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/iam-rbac-google-groups-pattern/</guid><description>Bind IAM roles to Google Groups representing job functions, not individual users — the pattern that makes onboarding, offboarding, and permission audits tractable.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Idempotent Incremental Models in dbt</title><link>https://adriennevermorel.com/notes/idempotent-incremental-models-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/idempotent-incremental-models-in-dbt/</guid><description>How to build dbt incremental models that produce identical results regardless of how many times they run, using pre-deduplication and proper unique_key design.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Identity Resolution for Ad Measurement</title><link>https://adriennevermorel.com/notes/identity-resolution-ad-measurement/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/identity-resolution-ad-measurement/</guid><description>How Enhanced Conversions, Unified ID 2.0, and data clean rooms recover attribution signal after cookies fail — what each approach does, what it requires, and realistic uplift estimates.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Identity Resolution Monitoring</title><link>https://adriennevermorel.com/notes/identity-resolution-monitoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/identity-resolution-monitoring/</guid><description>Key metrics and anomaly detection SQL for monitoring a GA4 identity stitching pipeline — stitch rate, consolidation rate, shared device exposure, and week-over-week change alerts.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Identity Resolution for Customer 360</title><link>https://adriennevermorel.com/notes/identity-resolution-for-customer-360/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/identity-resolution-for-customer-360/</guid><description>How to link CRM contact records to GA4 cookie identifiers in BigQuery — the three join key strategies, deterministic vs probabilistic matching, and open-source tooling.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Incremental Predicates for dbt Merge</title><link>https://adriennevermorel.com/notes/incremental-predicates-for-dbt-merge/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/incremental-predicates-for-dbt-merge/</guid><description>How incremental_predicates limit destination table scans during dbt merge operations, turning full table scans into partition-pruned reads.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Incrementality Testing for Attribution</title><link>https://adriennevermorel.com/notes/incrementality-testing-for-attribution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/incrementality-testing-for-attribution/</guid><description>How to validate attribution models with causal experiments — holdout tests, geo tests, and platform lift studies that measure whether a channel actually drives conversions</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>iOS 14.5 Signal Loss and Meta Measurement</title><link>https://adriennevermorel.com/notes/ios14-signal-loss-meta-measurement/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ios14-signal-loss-meta-measurement/</guid><description>How Apple&apos;s App Tracking Transparency changed Meta ad measurement — IDFA collapse, default attribution window changes, Aggregated Event Measurement, and Conversions API as the response.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>JavaScript vs Jinja in Analytics Engineering</title><link>https://adriennevermorel.com/notes/javascript-vs-jinja-in-analytics-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/javascript-vs-jinja-in-analytics-engineering/</guid><description>The philosophical and practical differences between Dataform&apos;s JavaScript templating and dbt&apos;s Jinja2 — where they diverge, what each excels at, and how to convert between them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Jinja Templating for SQL Practitioners</title><link>https://adriennevermorel.com/notes/jinja-templating-for-sql-practitioners/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/jinja-templating-for-sql-practitioners/</guid><description>Why Jinja feels natural to SQL-first analytics engineers — the double-brace model, macros as SQL helpers, and the separation of concerns that keeps transformation files focused.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>KPI Reporting via Direct Warehouse Queries</title><link>https://adriennevermorel.com/notes/kpi-reporting-direct-warehouse-queries/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/kpi-reporting-direct-warehouse-queries/</guid><description>Why querying the warehouse directly beats dashboard scraping for scheduled KPI delivery — the BigQuery and Snowflake CLI patterns, how to structure pre-written SQL for agent-driven reporting, and the tradeoffs of the approach.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Late-Arriving Data in dbt — Hub</title><link>https://adriennevermorel.com/notes/late-arriving-data-in-dbt-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/late-arriving-data-in-dbt-hub/</guid><description>Hub note connecting all concepts around handling late-arriving data in dbt incremental models: measurement, lookback windows, partition strategies, deduplication, testing, and operational safety.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Late-Arriving Data and the Lookback Window Pattern</title><link>https://adriennevermorel.com/notes/late-arriving-data-lookback-window-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/late-arriving-data-lookback-window-pattern/</guid><description>How to handle late-arriving data in dbt incremental models using lookback windows, including window sizing trade-offs and the limits of any lookback approach.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lead Scoring Signal Dimensions</title><link>https://adriennevermorel.com/notes/lead-scoring-signal-dimensions/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lead-scoring-signal-dimensions/</guid><description>The four categories of signals that drive lead scoring — demographic fit, firmographic fit, behavioral engagement, and recency — and why the warehouse sees all of them when the CRM can&apos;t.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash + dbt YAML: Metrics Reference Hub</title><link>https://adriennevermorel.com/notes/lightdash-dbt-metrics-yaml-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-dbt-metrics-yaml-hub/</guid><description>Hub note for Lightdash metric configuration in dbt YAML — dimensions, metric types, joins, and scaling organization.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lead Scoring in the Warehouse</title><link>https://adriennevermorel.com/notes/lead-scoring-warehouse-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lead-scoring-warehouse-hub/</guid><description>Hub note for warehouse-native lead scoring — from rule-based weighted models in dbt to BigQuery ML classification, feature engineering, and reverse ETL back to the CRM.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>How Lightdash Connects to Your dbt Project</title><link>https://adriennevermorel.com/notes/lightdash-dbt-project-connection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-dbt-project-connection/</guid><description>The three mechanisms for connecting Lightdash to a dbt project — Git repository integration, CLI deployment, and CI/CD automation — and how Lightdash generates a BI layer from dbt YAML.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash Dimension Configuration in dbt YAML</title><link>https://adriennevermorel.com/notes/lightdash-dimensions-yaml/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-dimensions-yaml/</guid><description>How Lightdash turns dbt column definitions into dimensions — types, display properties, time intervals, and computed additional_dimensions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash Joins and Fanout Protection</title><link>https://adriennevermorel.com/notes/lightdash-joins-and-fanout-protection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-joins-and-fanout-protection/</guid><description>How to define joins between dbt models in Lightdash YAML, why the relationship property matters for metric accuracy, and how Lightdash warns about fanout risk in one-to-many joins.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash Metric Types and Definition Syntax</title><link>https://adriennevermorel.com/notes/lightdash-metric-types/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-metric-types/</guid><description>The three categories of Lightdash metrics — aggregate, non-aggregate, and post-calculation — plus column-level vs model-level placement, filters, and display configuration.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Organizing Lightdash Metrics at Scale</title><link>https://adriennevermorel.com/notes/lightdash-metrics-at-scale/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-metrics-at-scale/</guid><description>How to keep a large Lightdash implementation navigable — groups, group_details, the Metrics Catalog with Spotlight categories, and reusable parameters for values that change across deployments.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash Open Source &amp; Self-Hosting Hub</title><link>https://adriennevermorel.com/notes/lightdash-open-source-self-hosting-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-open-source-self-hosting-hub/</guid><description>Hub note for Lightdash self-hosting — connecting to dbt, Docker Compose setup, Kubernetes deployment, and the open-source vs paid tier tradeoffs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash in Production: Kubernetes Deployment</title><link>https://adriennevermorel.com/notes/lightdash-production-kubernetes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-production-kubernetes/</guid><description>Moving Lightdash from Docker Compose to Kubernetes with the community Helm chart — production checklist, external dependencies, authentication options, and upgrade strategy.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Self-Hosting Lightdash with Docker Compose</title><link>https://adriennevermorel.com/notes/lightdash-self-hosting-docker/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-self-hosting-docker/</guid><description>How to run Lightdash with Docker Compose — required services, environment variables, known gotchas, and what to expect in small-team production deployments.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn Ads Analytics Endpoint</title><link>https://adriennevermorel.com/notes/linkedin-ads-analytics-endpoint/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/linkedin-ads-analytics-endpoint/</guid><description>The engineering quirks of LinkedIn&apos;s adAnalytics endpoint — no pagination, 15K element cap, 20-metric limit per request, query tunneling, cursor pagination migration, and monthly API versioning.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lightdash&apos;s Semantic Layer vs MetricFlow</title><link>https://adriennevermorel.com/notes/lightdash-vs-metricflow-semantic-layer/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/lightdash-vs-metricflow-semantic-layer/</guid><description>How Lightdash&apos;s native metric layer differs from MetricFlow — simpler syntax, tighter coupling, no cross-platform API — and when the tradeoffs favor each approach.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn Marketing API Access</title><link>https://adriennevermorel.com/notes/linkedin-ads-api-access/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/linkedin-ads-api-access/</guid><description>How to get approved for LinkedIn&apos;s Marketing API — the developer app setup, super admin verification, manual review process, rejection handling, and what to include in your application.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn Ads B2B Data Value</title><link>https://adriennevermorel.com/notes/linkedin-ads-b2b-data-value/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/linkedin-ads-b2b-data-value/</guid><description>What makes LinkedIn Ads data uniquely valuable for B2B analytics — professional demographic pivots, the negative CTR-to-pipeline correlation, company-level impression attribution, and what metrics actually matter.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn Ads OAuth Token Management</title><link>https://adriennevermorel.com/notes/linkedin-ads-oauth-token-management/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/linkedin-ads-oauth-token-management/</guid><description>LinkedIn&apos;s OAuth token expiration model for the Marketing API — 60-day access tokens, 365-day refresh tokens, forced annual re-authentication, and operational strategies for custom pipelines.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn Ads dbt Modeling</title><link>https://adriennevermorel.com/notes/linkedin-ads-dbt-modeling/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/linkedin-ads-dbt-modeling/</guid><description>How to model LinkedIn Ads data in dbt — the campaign hierarchy rename, metric normalization, cross-platform integration via dbt_ad_reporting, and the incremental strategy for 90-day attribution windows.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn Ads Pipeline — Hub</title><link>https://adriennevermorel.com/notes/linkedin-ads-pipeline-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/linkedin-ads-pipeline-hub/</guid><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LLM as Content Cleaner</title><link>https://adriennevermorel.com/notes/llm-as-content-cleaner/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/llm-as-content-cleaner/</guid><description>Using a cheap LLM like GPT-4o-mini to strip navigation, CTAs, and HTML noise from scraped markdown — a reliable pattern for web content pipelines.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>LLM Training Data Asymmetry for Tool Use</title><link>https://adriennevermorel.com/notes/llm-training-data-asymmetry-for-tool-use/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/llm-training-data-asymmetry-for-tool-use/</guid><description>Why LLMs write better shell commands than MCP tool calls — the training data distribution that makes CLI fluency outperform structured tool-calling for well-established tools.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Looker Studio + BigQuery Performance — Hub</title><link>https://adriennevermorel.com/notes/looker-studio-bigquery-performance-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/looker-studio-bigquery-performance-hub/</guid><description>Map of garden notes on optimizing Looker Studio dashboards backed by BigQuery: BI Engine, extract mode, blending pitfalls, caching, credentials, and upgrade decisions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Looker Studio Caching Mechanics</title><link>https://adriennevermorel.com/notes/looker-studio-caching-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/looker-studio-caching-mechanics/</guid><description>How Looker Studio&apos;s per-chart cache works, why date range selection affects cache hit rates, the difference between owner and viewer credential caches, and how to pre-warm dashboards.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Looker Studio Credentials and Security</title><link>https://adriennevermorel.com/notes/looker-studio-credentials-and-security/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/looker-studio-credentials-and-security/</guid><description>The security risks of owner&apos;s credentials in public Looker Studio reports, the LeakyLooker vulnerability, cost attribution, and using service accounts for production dashboards.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Looker Studio Data Blending Pitfalls</title><link>https://adriennevermorel.com/notes/looker-studio-data-blending-pitfalls/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/looker-studio-data-blending-pitfalls/</guid><description>Why Looker Studio data blending silently creates cartesian products, how to identify it, and why pre-joining in BigQuery is almost always the right fix.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Looker Studio Limits and Upgrade Path</title><link>https://adriennevermorel.com/notes/looker-studio-limits-and-upgrade-path/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/looker-studio-limits-and-upgrade-path/</guid><description>The hard technical limits of Looker Studio that optimization can&apos;t fix, what Looker Studio Pro actually adds, and when to evaluate enterprise Looker or alternative BI tools.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Looker Studio: Extract vs. Live Connection</title><link>https://adriennevermorel.com/notes/looker-studio-extract-vs-live-connection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/looker-studio-extract-vs-live-connection/</guid><description>When to use Looker Studio&apos;s extract mode versus live BigQuery connections, the 100 MB limit that catches teams off guard, and how to combine both in the same report.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Managed ELT Tool Architectures: Fivetran, Airbyte, and dlt</title><link>https://adriennevermorel.com/notes/managed-elt-tool-architectures/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/managed-elt-tool-architectures/</guid><description>How the three dominant data ingestion tools approach the same problem differently — fully managed connectors, self-hosted open source, and Python-native libraries.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Markdown-to-Notion Blocks Parser</title><link>https://adriennevermorel.com/notes/markdown-to-notion-blocks-parser/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/markdown-to-notion-blocks-parser/</guid><description>How to convert markdown to Notion&apos;s block API format in JavaScript, including handling rich_text objects, the 2000-character limit, and the 100-block request cap.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Apps for Data Engineers</title><link>https://adriennevermorel.com/notes/mcp-apps-for-data-engineers-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-apps-for-data-engineers-hub/</guid><description>A reading path through MCP Apps — the January 2026 extension to MCP that renders interactive HTML visualizations directly inside AI client conversations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Apps Protocol Internals</title><link>https://adriennevermorel.com/notes/mcp-apps-protocol-internals/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-apps-protocol-internals/</guid><description>How MCP Apps extend the Model Context Protocol to render interactive HTML interfaces inside AI clients — the ui:// resource mechanism, iframe sandboxing, and bidirectional JSON-RPC communication.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Apps vs Traditional BI</title><link>https://adriennevermorel.com/notes/mcp-apps-vs-traditional-bi/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-apps-vs-traditional-bi/</guid><description>When to use MCP Apps for data visualization versus a dedicated BI tool — the honest comparison, what each does well, and the hybrid architecture that makes sense for most teams.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Client Landscape</title><link>https://adriennevermorel.com/notes/mcp-client-landscape/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-client-landscape/</guid><description>The major MCP clients — desktop apps, code editors, and CLI tools — and how to choose between them based on your workflow.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Client Primitives</title><link>https://adriennevermorel.com/notes/mcp-client-primitives/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-client-primitives/</guid><description>The three capabilities MCP clients expose to servers — sampling (server-requested LLM completions), elicitation (server-requested user input), and roots (filesystem boundaries) — and when they matter for data engineering.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Context Window Overhead</title><link>https://adriennevermorel.com/notes/mcp-context-window-overhead/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-context-window-overhead/</guid><description>The concrete token cost of MCP tool definitions in an LLM&apos;s context window — measurements from Anthropic and practitioners, and why it matters for long sessions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Data Engineering Servers</title><link>https://adriennevermorel.com/notes/mcp-data-engineering-servers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-data-engineering-servers/</guid><description>The MCP servers that actually matter for data engineering work — Snowflake, BigQuery, ClickHouse, centralmind/gateway, MindsDB, and Confluent.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Data Catalog Server Pattern</title><link>https://adriennevermorel.com/notes/mcp-data-catalog-server-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-data-catalog-server-pattern/</guid><description>A practical MCP server pattern for exposing internal data catalogs — table search, metadata retrieval, and lineage tracing as AI-accessible tools.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Data Quality Server Pattern</title><link>https://adriennevermorel.com/notes/mcp-data-quality-server-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-data-quality-server-pattern/</guid><description>A practical MCP server pattern for data quality — running validation checks, retrieving quality scores, and surfacing tables that need attention.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Discovery Resources</title><link>https://adriennevermorel.com/notes/mcp-discovery-resources/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-discovery-resources/</guid><description>Where to find MCP servers — the official registry, community directories, and how to evaluate what you find before installing.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Ecosystem Governance</title><link>https://adriennevermorel.com/notes/mcp-ecosystem-governance/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-ecosystem-governance/</guid><description>How MCP became a vendor-neutral open standard — the Linux Foundation donation, corporate adoption, and what broad industry support means in practice.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Ecosystem Overview</title><link>https://adriennevermorel.com/notes/mcp-ecosystem-overview-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-ecosystem-overview-hub/</guid><description>A reading map for the MCP ecosystem — from protocol fundamentals through official servers, clients, data engineering integrations, and building custom servers.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP JSON-RPC Wire Format</title><link>https://adriennevermorel.com/notes/mcp-jsonrpc-wire-format/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-jsonrpc-wire-format/</guid><description>The actual message format MCP uses under the hood — initialization handshake, capability negotiation, tool discovery, and tool invocation — with examples for debugging.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Official Reference Servers</title><link>https://adriennevermorel.com/notes/mcp-official-reference-servers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-official-reference-servers/</guid><description>The servers maintained by the MCP Steering Group — which are actively developed, which have been handed to vendors, and why the distinction matters.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Pipeline Monitoring Server Pattern</title><link>https://adriennevermorel.com/notes/mcp-pipeline-monitoring-server-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-pipeline-monitoring-server-pattern/</guid><description>A practical MCP server pattern for pipeline monitoring — checking job status, listing failures, and triggering reruns across orchestrators like Airflow and Dagster.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Protocol Fundamentals</title><link>https://adriennevermorel.com/notes/mcp-protocol-fundamentals-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-protocol-fundamentals-hub/</guid><description>Reading map for the foundational MCP concepts — how the protocol works, what messages look like, what primitives exist, and how they fit together for data engineering.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Resources and Prompts</title><link>https://adriennevermorel.com/notes/mcp-resources-and-prompts/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-resources-and-prompts/</guid><description>Beyond tools — using MCP resources for read-only data exposure, prompts for reusable templates, and the Context object for progress reporting in long-running operations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP SDK Selection for Data Engineering</title><link>https://adriennevermorel.com/notes/mcp-sdk-selection-for-data-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-sdk-selection-for-data-engineering/</guid><description>Choosing between the Python and TypeScript MCP SDKs — installation, capabilities, and which one fits your data engineering team.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Server Project Setup</title><link>https://adriennevermorel.com/notes/mcp-server-project-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-server-project-setup/</guid><description>Step-by-step project initialization for a custom MCP server — directory structure, dependencies, client installation, and the typical project layout.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Server Testing and Debugging</title><link>https://adriennevermorel.com/notes/mcp-server-testing-and-debugging/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-server-testing-and-debugging/</guid><description>Testing MCP servers with the Inspector, the stderr logging gotcha that bites everyone, and a practical three-stage testing workflow.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Setup Troubleshooting</title><link>https://adriennevermorel.com/notes/mcp-setup-troubleshooting/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-setup-troubleshooting/</guid><description>Common failure modes when setting up MCP servers — macOS PATH problems, silent JSON config failures, tool count limits, and where to find debug logs.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Tool Design Patterns</title><link>https://adriennevermorel.com/notes/mcp-tool-design-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-tool-design-patterns/</guid><description>How to design MCP tools that work well with AI — docstrings as descriptions, Pydantic models for structured output, and input validation with schemas.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Transport Configuration</title><link>https://adriennevermorel.com/notes/mcp-transport-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-transport-configuration/</guid><description>Practical configuration for MCP&apos;s two transport modes — stdio for local development and streamable HTTP for production deployment.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Measuring Data Latency Before Choosing an Incremental Strategy</title><link>https://adriennevermorel.com/notes/measuring-incremental-model-data-latency/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/measuring-incremental-model-data-latency/</guid><description>How to profile the gap between event time and load time in your source tables, and use that distribution to size lookback windows and choose the right incremental strategy.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Meta Ads Actions Array in BigQuery</title><link>https://adriennevermorel.com/notes/meta-ads-actions-array-bigquery/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/meta-ads-actions-array-bigquery/</guid><description>How to flatten Meta&apos;s nested actions JSON array in BigQuery — unnesting patterns, configurable action type pivots, dbt integration, and the action_values companion field.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Meta Ads Attribution Windows</title><link>https://adriennevermorel.com/notes/meta-ads-attribution-windows/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/meta-ads-attribution-windows/</guid><description>How Meta&apos;s attribution windows work, the June 2025 on-Meta/off-Meta split, which windows survived the January 2026 deprecation, and what this means for warehouse data.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Meta Ads to BigQuery Pipeline — Hub</title><link>https://adriennevermorel.com/notes/meta-ads-bigquery-pipeline-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/meta-ads-bigquery-pipeline-hub/</guid><description>Map of content for building and maintaining a Meta Ads to BigQuery pipeline — API structure, actions array flattening, attribution windows, iOS signal loss, and operational maintenance.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Meta Ads Insights API Structure</title><link>https://adriennevermorel.com/notes/meta-ads-insights-api-structure/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/meta-ads-insights-api-structure/</guid><description>How the Meta Marketing API is organized — the five-level object hierarchy, Insights API as a reporting edge, versioning cadence, authentication models, and rate limit system.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Meta Ads Pipeline Maintenance</title><link>https://adriennevermorel.com/notes/meta-ads-pipeline-maintenance/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/meta-ads-pipeline-maintenance/</guid><description>Operational practices for keeping a Meta Ads pipeline running — token expiry monitoring, spend reconciliation, API version lifecycle management, and circuit breaker patterns.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Meta CAPI Server-Side Setup: Deduplication and Event Match Quality</title><link>https://adriennevermorel.com/notes/meta-capi-server-side-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/meta-capi-server-side-setup/</guid><description>How to configure Meta Conversions API via server-side GTM — event deduplication with shared event_id, user data mapping for EMQ score, and forwarding the _fbp and _fbc cookies.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Metric Anti-Patterns in dbt</title><link>https://adriennevermorel.com/notes/metric-anti-patterns-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metric-anti-patterns-in-dbt/</guid><description>Common mistakes when defining MetricFlow metrics — one-off models for metrics, sum-of-ratios errors, hardcoded measure filters, and missing descriptions</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Metric Organization in dbt Projects</title><link>https://adriennevermorel.com/notes/metric-organization-in-dbt-projects/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metric-organization-in-dbt-projects/</guid><description>How to organize semantic models and metrics in dbt — co-located vs parallel subfolder structures, the one-primary-entity rule, and scaling patterns for large projects</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Metric Naming Conventions in dbt</title><link>https://adriennevermorel.com/notes/metric-naming-conventions-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metric-naming-conventions-in-dbt/</guid><description>How to name MetricFlow metrics so they stay discoverable and consistent as your project scales — patterns by metric type, grouping families, and the name vs label distinction</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow Advanced Patterns</title><link>https://adriennevermorel.com/notes/metricflow-advanced-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-advanced-patterns/</guid><description>Complex metric patterns in MetricFlow — period-over-period comparisons with offset_window, filtered metrics with Jinja, and handling null gaps in time series</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow CLI querying</title><link>https://adriennevermorel.com/notes/metricflow-cli-querying/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-cli-querying/</guid><description>How to query MetricFlow metrics from the CLI in dbt Core (mf) and dbt Cloud (dbt sl): group-by, filters with Jinja dimension syntax, multi-metric queries, and the semantic manifest.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow installation and setup</title><link>https://adriennevermorel.com/notes/metricflow-installation-and-setup/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-installation-and-setup/</guid><description>Installing MetricFlow for dbt Core with adapter-specific packages, the dbt Cloud alternative, and the initial project configuration steps needed before defining semantic models.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow Metric Types</title><link>https://adriennevermorel.com/notes/metricflow-metric-types/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-metric-types/</guid><description>The five metric types in dbt MetricFlow — simple, cumulative, derived, ratio, and conversion — with syntax, use cases, and gotchas for each</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow semantic model components</title><link>https://adriennevermorel.com/notes/metricflow-semantic-model-components/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-semantic-model-components/</guid><description>The three building blocks of a MetricFlow semantic model: entities (join keys), dimensions (group-by columns), and measures (numeric aggregations that feed metrics).</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow setup hub</title><link>https://adriennevermorel.com/notes/metricflow-setup-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-setup-hub/</guid><description>Hub note connecting garden notes extracted from the MetricFlow getting started tutorial: installation, semantic model components, time spine, metric types, CLI querying, and organization.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MetricFlow time spine</title><link>https://adriennevermorel.com/notes/metricflow-time-spine/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metricflow-time-spine/</guid><description>The MetricFlow time spine is a continuous date table used for cumulative metrics and time series gap filling. How to create it, configure it, and understand when it&apos;s required.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Microbatch Backfill and Full Refresh Protection</title><link>https://adriennevermorel.com/notes/microbatch-backfill-and-full-refresh-protection/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/microbatch-backfill-and-full-refresh-protection/</guid><description>How to use dbt&apos;s built-in microbatch backfill commands, retry failed batches, and protect large incremental tables from accidental full refreshes.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Microbatch Automatic Upstream Filtering</title><link>https://adriennevermorel.com/notes/microbatch-automatic-upstream-filtering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/microbatch-automatic-upstream-filtering/</guid><description>How dbt&apos;s microbatch strategy automatically filters upstream models by event_time, reducing full table scans — and when to opt out with .render().</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Migrating Incremental Models to Microbatch</title><link>https://adriennevermorel.com/notes/migrating-incremental-models-to-microbatch/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/migrating-incremental-models-to-microbatch/</guid><description>How to convert traditional dbt incremental models to the microbatch strategy — step-by-step migration, side-by-side code examples, and first-run considerations.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>ML Anomaly Detection vs Statistical Methods</title><link>https://adriennevermorel.com/notes/ml-anomaly-detection-vs-statistical-methods/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ml-anomaly-detection-vs-statistical-methods/</guid><description>When ML-powered anomaly detection earns its cost over simpler Z-score approaches — and why the answer depends on data complexity, not marketing materials.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Modern BI Landscape</title><link>https://adriennevermorel.com/notes/modern-bi-landscape-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/modern-bi-landscape-hub/</guid><description>Hub note for understanding BI in 2026 — the semantic layer, metrics-as-code, headless BI, dbt centrality, and how to choose a tool</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Multi-Client Agent Reporting Architecture</title><link>https://adriennevermorel.com/notes/multi-client-agent-reporting-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/multi-client-agent-reporting-architecture/</guid><description>How to structure per-client isolation for OpenClaw reporting workflows — separate cron jobs, credential management at scale, failure containment, and the security tradeoffs of running multiple clients on a single machine.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Multi-Source Conflict Resolution</title><link>https://adriennevermorel.com/notes/multi-source-conflict-resolution/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/multi-source-conflict-resolution/</guid><description>Three patterns for resolving conflicting data when merging records from multiple source systems — priority-based, recency-based, and source-specific fields.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>n8n RSS-to-Notion Workflow</title><link>https://adriennevermorel.com/notes/n8n-rss-to-notion-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/n8n-rss-to-notion-hub/</guid><description>How to build an automated RSS reader that fetches, cleans, and stores articles in Notion using n8n, Jina AI, and ChatGPT.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>on_schema_change in dbt Incremental Models</title><link>https://adriennevermorel.com/notes/on-schema-change-in-dbt-incremental-models/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/on-schema-change-in-dbt-incremental-models/</guid><description>How dbt handles column additions and removals in incremental models, the four on_schema_change options, and why none of them backfill historical data.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Open Data Contract Standard</title><link>https://adriennevermorel.com/notes/open-data-contract-standard/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/open-data-contract-standard/</guid><description>ODCS v3.1.0 under the Linux Foundation&apos;s Bitol project — what it covers, how it compares to the Data Contract Specification, and where harmonization stands.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Architecture and Design Principles</title><link>https://adriennevermorel.com/notes/openclaw-architecture-and-design-principles/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-architecture-and-design-principles/</guid><description>How OpenClaw is built — the Gateway daemon, model-agnostic BYOK design, HEARTBEAT.md proactive loop, and plain-text-first philosophy that makes it feel natural to data people.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Cron Scheduler Mechanics</title><link>https://adriennevermorel.com/notes/openclaw-cron-scheduler-mechanics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-cron-scheduler-mechanics/</guid><description>How OpenClaw&apos;s built-in cron scheduler works — session modes, job persistence, exponential backoff, and the configuration patterns that make scheduled monitoring reliable.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw dbt Data Quality Assistant</title><link>https://adriennevermorel.com/notes/openclaw-dbt-data-quality-assistant-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-dbt-data-quality-assistant-hub/</guid><description>A reading path through the building blocks of a 24/7 automated dbt data quality assistant — test execution and parsing, severity assessment, documentation cross-referencing, morning summaries, and an honest maturity assessment.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Ecosystem and Community</title><link>https://adriennevermorel.com/notes/openclaw-ecosystem-and-community/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-ecosystem-and-community/</guid><description>The community and ecosystem around OpenClaw — ClawHub, ClawData, the viral growth story, the naming history, and what the ecosystem state means for adoption decisions.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw for Data People — Hub</title><link>https://adriennevermorel.com/notes/openclaw-for-data-people-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-for-data-people-hub/</guid><description>A reading map for the OpenClaw introductory guide — architecture and design principles, tool comparison, security risks, persistent memory, and the ecosystem around OpenClaw.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw for Freelance Consultants</title><link>https://adriennevermorel.com/notes/openclaw-freelance-consultants-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-freelance-consultants-hub/</guid><description>A reading path through the OpenClaw admin automation use cases for solo consultants — morning briefings, expense capture, personal CRM, and meeting prep.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw GA4 Skill Integration</title><link>https://adriennevermorel.com/notes/openclaw-ga4-skill-integration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-ga4-skill-integration/</guid><description>How to use community GA4 skills from ClawHub to pull analytics metrics into OpenClaw — the two main options, what each extracts, and how to feed the output into scheduled reporting.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Morning Briefing Pattern</title><link>https://adriennevermorel.com/notes/openclaw-morning-briefing-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-morning-briefing-pattern/</guid><description>How to configure an OpenClaw cron job to deliver a daily personal briefing — covering calendar, email priority, pipeline status, and time tracking — to Telegram before your first coffee.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Persistent Memory for dbt Context</title><link>https://adriennevermorel.com/notes/openclaw-persistent-memory-for-dbt-context/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-persistent-memory-for-dbt-context/</guid><description>How to load dbt project documentation, schema descriptions, and failure history into OpenClaw&apos;s persistent memory so that monitoring reports include business context rather than just technical output.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Pipeline Monitoring</title><link>https://adriennevermorel.com/notes/openclaw-pipeline-monitoring-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-pipeline-monitoring-hub/</guid><description>A reading path through the OpenClaw pipeline monitoring tutorial — cron scheduler mechanics, writing monitoring skills, tiered alerting delivery, BigQuery failure checks, and Snowflake cost monitoring.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Persistent Memory Model</title><link>https://adriennevermorel.com/notes/openclaw-persistent-memory-model/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-persistent-memory-model/</guid><description>How OpenClaw&apos;s Markdown-based persistent memory differs from session-based tools, what it enables for long-running data monitoring, and how memory files work in practice.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Reporting Assistant</title><link>https://adriennevermorel.com/notes/openclaw-reporting-assistant-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-reporting-assistant-hub/</guid><description>A reading map for the OpenClaw client KPI reporting guide — GA4 skill integration, dashboard scraping tradeoffs, direct warehouse queries, multi-client architecture, and Slack summary formatting.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Security Risks — What&apos;s Documented</title><link>https://adriennevermorel.com/notes/openclaw-security-risks-documented/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-security-risks-documented/</guid><description>A factual catalogue of the specific, documented security incidents, CVEs, regulatory warnings, and threat patterns that analytics engineers need to know before running OpenClaw near client data.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Security Risks — Hub</title><link>https://adriennevermorel.com/notes/openclaw-security-risks-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-security-risks-hub/</guid><description>A reading map for the OpenClaw security risks guide — documented incidents, CVEs, regulatory warnings, supply chain attacks, context window safety failures, and what data teams specifically need to know.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Skills for Monitoring</title><link>https://adriennevermorel.com/notes/openclaw-skills-for-monitoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-skills-for-monitoring/</guid><description>How to write OpenClaw skill files for data pipeline monitoring — structuring SKILL.md instructions, categorizing failure types, formatting output for Slack, and adding context that makes alerts actionable.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw vs Claude Code vs Cursor for Data Work</title><link>https://adriennevermorel.com/notes/openclaw-vs-claude-code-vs-cursor/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-vs-claude-code-vs-cursor/</guid><description>A clear-eyed comparison of three AI tools data people actually use — what each is for, where each falls short, and why the best practitioners run all three as a layered stack.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Orchestrator Architectural Philosophies</title><link>https://adriennevermorel.com/notes/orchestrator-architectural-philosophies/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/orchestrator-architectural-philosophies/</guid><description>The three competing mental models in data orchestration — process-oriented (Airflow), data-oriented (Dagster), and function-oriented (Prefect) — and why the abstraction matters more than the feature list.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Orchestrator Comparison for dbt Teams Hub</title><link>https://adriennevermorel.com/notes/orchestrator-comparison-for-dbt-teams-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/orchestrator-comparison-for-dbt-teams-hub/</guid><description>Hub note for the Dagster vs Airflow vs Prefect comparison — architectural philosophies, dbt integration depth, developer experience, pricing, learning curves, and the decision framework.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Orchestrator Developer Experience Comparison</title><link>https://adriennevermorel.com/notes/orchestrator-developer-experience-comparison/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/orchestrator-developer-experience-comparison/</guid><description>Local development, testing patterns, and CI/CD workflows across Dagster, Airflow, and Prefect — where the day-to-day friction lives.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Orchestrator Learning Curves</title><link>https://adriennevermorel.com/notes/orchestrator-learning-curves/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/orchestrator-learning-curves/</guid><description>An honest assessment of ramp-up time and friction points for Dagster, Airflow, and Prefect — what trips up analytics engineers and what helps.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Orchestrator Pricing for dbt Teams</title><link>https://adriennevermorel.com/notes/orchestrator-pricing-for-dbt-teams/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/orchestrator-pricing-for-dbt-teams/</guid><description>Managed orchestration costs compared — Dagster+, Prefect Cloud, Astronomer, Cloud Composer, and dbt Cloud — with entry-tier pricing, scaling models, and the hidden costs that shift the math.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Per-Workload Service Account Naming Conventions</title><link>https://adriennevermorel.com/notes/per-workload-service-account-naming/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/per-workload-service-account-naming/</guid><description>One service account per workload with a compute-platform prefix — so logs, cost attribution, and incident response all point to the right place immediately.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline Alerting Delivery Patterns</title><link>https://adriennevermorel.com/notes/pipeline-alerting-delivery-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/pipeline-alerting-delivery-patterns/</guid><description>How to structure pipeline monitoring alerts — tiered severity routing, Slack vs. Telegram tradeoffs, delivery modes (channel, DM, webhook, silent), and designing alert systems that don&apos;t become noise.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Privacy Constraints for Linked Analytics Data</title><link>https://adriennevermorel.com/notes/privacy-constraints-for-linked-analytics-data/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/privacy-constraints-for-linked-analytics-data/</guid><description>GDPR and CNIL implications when linking GA4 cookie identifiers to CRM contact records — consent exemption loss, right to deletion cascades, and the architectural requirements for compliant Customer 360 models.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Proactive vs. Reactive AI Agents</title><link>https://adriennevermorel.com/notes/proactive-vs-reactive-ai-agents/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/proactive-vs-reactive-ai-agents/</guid><description>The distinction between AI tools that respond to prompts and AI agents that act on schedules — why this shift matters for automation use cases, and where each model fits.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Probabilistic Matching Limitations in GA4</title><link>https://adriennevermorel.com/notes/probabilistic-matching-limitations-ga4/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/probabilistic-matching-limitations-ga4/</guid><description>Why probabilistic identity matching fails with GA4&apos;s BigQuery export — the signals GA4 intentionally excludes, what coarse data remains, and the compounding cost of false positives.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Prompt Injection and the Lethal Trifecta</title><link>https://adriennevermorel.com/notes/prompt-injection-lethal-trifecta/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/prompt-injection-lethal-trifecta/</guid><description>Simon Willison&apos;s lethal trifecta — why combining private data access, untrusted content exposure, and external communication ability creates a uniquely dangerous attack surface for AI agents handling data work.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Prompting Claude Code for dbt</title><link>https://adriennevermorel.com/notes/prompting-claude-code-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/prompting-claude-code-for-dbt/</guid><description>What separates dbt prompts that work from ones that produce generic output — specificity, codebase references, constraint encoding, and the session-less memory problem.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Reverse ETL Patterns for CRM Activation</title><link>https://adriennevermorel.com/notes/reverse-etl-patterns-for-crm-activation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/reverse-etl-patterns-for-crm-activation/</guid><description>How to push warehouse-computed scores and attributes back into Salesforce or HubSpot using reverse ETL tools — sync architecture, field mapping, sync frequency, and downstream automation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>RSS Feed Deduplication in n8n</title><link>https://adriennevermorel.com/notes/rss-feed-deduplication-n8n/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/rss-feed-deduplication-n8n/</guid><description>How to prevent duplicate Notion pages when polling RSS feeds in n8n, using a Merge node configured as a left anti-join.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Rule-Based Lead Scoring in dbt</title><link>https://adriennevermorel.com/notes/rule-based-lead-scoring-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/rule-based-lead-scoring-in-dbt/</guid><description>How to build a configurable weighted lead scoring model in dbt using vars, seed files, and Jinja macros — so marketing can adjust weights without touching SQL.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>SCD Type 2 with dbt Snapshots</title><link>https://adriennevermorel.com/notes/scd-type-2-with-dbt-snapshots/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/scd-type-2-with-dbt-snapshots/</guid><description>How dbt snapshots implement slowly changing dimension Type 2 — tracking every version of a record over time with timestamp and check strategies, plus Fivetran History Mode as an alternative.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Salesforce vs HubSpot Data Models</title><link>https://adriennevermorel.com/notes/salesforce-vs-hubspot-data-models/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/salesforce-vs-hubspot-data-models/</guid><description>How Salesforce and HubSpot structure CRM data differently — metadata-driven relational models vs many-to-many associations — and what that means for warehouse modeling.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Secured Table Materialization in dbt</title><link>https://adriennevermorel.com/notes/secured-table-materialization-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/secured-table-materialization-in-dbt/</guid><description>A custom dbt materialization that automatically reapplies BigQuery row access policies, column descriptions, and data masking tags after every table rebuild.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Server-Side Cookies and Safari ITP Bypass</title><link>https://adriennevermorel.com/notes/server-side-cookies-safari-itp-bypass/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/server-side-cookies-safari-itp-bypass/</guid><description>How setting cookies via HTTP Set-Cookie header from a same-domain server bypasses Safari&apos;s 7-day JavaScript cookie cap — the FPID mechanism, the IP mismatch problem, and the three approaches that solve it.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Semantic Validation in dbt</title><link>https://adriennevermorel.com/notes/semantic-validation-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/semantic-validation-in-dbt/</guid><description>How to encode business rules as dbt tests — regex pattern validation, cross-column logic, natural language AI validation, and when each approach fits.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Service Account Key Files vs Impersonation Tokens</title><link>https://adriennevermorel.com/notes/service-account-key-vs-impersonation-tradeoffs/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/service-account-key-vs-impersonation-tradeoffs/</guid><description>The practical tradeoff between GCP service account key files and short-lived impersonation tokens — when each is appropriate and what the honest security calculus looks like for consultants.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Slack KPI Summary Format for Agent-Delivered Reports</title><link>https://adriennevermorel.com/notes/slack-kpi-summary-format/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/slack-kpi-summary-format/</guid><description>A practical template for agent-generated Slack KPI summaries — directional arrows, week-over-week structure, percentage points vs. percentages, and how to handle the LLM math reliability problem in the output layer.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Snowflake Cost Monitoring with Warehouse History</title><link>https://adriennevermorel.com/notes/snowflake-cost-monitoring-with-warehouse-history/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/snowflake-cost-monitoring-with-warehouse-history/</guid><description>SQL patterns for Snowflake cost monitoring using QUERY_HISTORY and WAREHOUSE_METERING_HISTORY — daily cost summaries, per-warehouse breakdowns, and translating credits into dollars for non-technical stakeholders.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>SQL Dialect Divergences Across Warehouses</title><link>https://adriennevermorel.com/notes/sql-dialect-divergences-across-warehouses/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/sql-dialect-divergences-across-warehouses/</guid><description>Where SQL syntax breaks across BigQuery, Snowflake, and Databricks — date functions, type casting, and argument ordering differences that matter for portable dbt code.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Star Schema vs One Big Table</title><link>https://adriennevermorel.com/notes/star-schema-vs-one-big-table/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/star-schema-vs-one-big-table/</guid><description>When to use entity-separated star schema vs wide denormalized tables in your data warehouse — BigQuery performance characteristics, OBT benchmarks, and the practical answer of building both.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Stale documentation is worse than missing documentation</title><link>https://adriennevermorel.com/notes/stale-documentation-worse-than-missing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/stale-documentation-worse-than-missing/</guid><description>Why outdated documentation that looks complete causes more damage than obvious gaps — the false confidence problem in data teams</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Templating Language and Team Skills</title><link>https://adriennevermorel.com/notes/templating-language-and-team-skills/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/templating-language-and-team-skills/</guid><description>How a team&apos;s existing skill mix — SQL practitioner, Python engineer, JavaScript developer — should shape the choice between Jinja and JavaScript templating in analytics engineering.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Testing Late-Arriving Data Handling in dbt</title><link>https://adriennevermorel.com/notes/testing-late-arriving-data-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/testing-late-arriving-data-in-dbt/</guid><description>How to write dbt unit tests that simulate late arrivals, and how to use audit_helper to detect drift between incremental and full-refresh results in production.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unified Ad Model Downstream Patterns</title><link>https://adriennevermorel.com/notes/unified-ad-model-downstream-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unified-ad-model-downstream-patterns/</guid><description>What becomes practical once you have a unified cross-platform ad model — blended ROAS, budget pacing, and Marketing Mix Modeling data preparation.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Unit Tests vs Data Tests in dbt</title><link>https://adriennevermorel.com/notes/unit-tests-vs-data-tests-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/unit-tests-vs-data-tests-in-dbt/</guid><description>The two-checkpoint model for dbt testing — unit tests gate deployments by verifying transformation logic, data tests gate production by verifying data health.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Visualization MCP Server Ecosystem</title><link>https://adriennevermorel.com/notes/visualization-mcp-server-ecosystem/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/visualization-mcp-server-ecosystem/</guid><description>The available MCP servers for generating charts and interactive visualizations — AntV, Vega-Lite, DuckDB-Plotly, and how to pick between them.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>When to Write Custom dbt Materializations</title><link>https://adriennevermorel.com/notes/when-to-write-custom-dbt-materializations/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/when-to-write-custom-dbt-materializations/</guid><description>Decision framework for when custom dbt materializations are worth the maintenance burden versus post-hooks, macros, or built-in incremental strategies.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Workload Identity Federation for CI/CD</title><link>https://adriennevermorel.com/notes/workload-identity-federation-cicd/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/workload-identity-federation-cicd/</guid><description>Replace service account keys in GitHub Actions and other CI systems with keyless OIDC authentication — no credentials to store, rotate, or leak.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Zero-Downtime Table Materialization in dbt</title><link>https://adriennevermorel.com/notes/zero-downtime-table-materialization-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/zero-downtime-table-materialization-in-dbt/</guid><description>A custom dbt materialization that builds to a temp name, validates row counts, then swaps via rename — keeping the old table queryable until the new one is confirmed ready.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ad Pipeline Engineering Challenges</title><link>https://adriennevermorel.com/notes/ad-pipeline-engineering-challenges/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ad-pipeline-engineering-challenges/</guid><description>The operational challenges of maintaining advertising data pipelines — API rate limits, schema changes, attribution window normalization, currency handling, and privacy compliance</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ad Data Extraction Tools</title><link>https://adriennevermorel.com/notes/ad-data-extraction-tools/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ad-data-extraction-tools/</guid><description>Managed ELT, open-source, and native integration options for getting advertising data into your warehouse — Fivetran, Airbyte, dlt, Meltano, and BigQuery Data Transfer Service</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ad Platform Attribution Bias</title><link>https://adriennevermorel.com/notes/ad-platform-attribution-bias/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ad-platform-attribution-bias/</guid><description>Why every ad platform overcounts conversions, how walled-garden incentives create measurement gaps, and what only becomes visible when ad data lives in the warehouse</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ad Platform API Landscape</title><link>https://adriennevermorel.com/notes/ad-platform-api-landscape/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ad-platform-api-landscape/</guid><description>API characteristics, authentication models, and engineering gotchas for Google Ads, Meta, LinkedIn, Microsoft, TikTok, Pinterest, and Twitter ad platforms</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Advanced Claude Code Workflows for dbt</title><link>https://adriennevermorel.com/notes/advanced-claude-code-workflows-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/advanced-claude-code-workflows-for-dbt/</guid><description>A reading path through Claude Code configuration, testing, documentation, and debugging workflows for analytics engineers working with dbt on BigQuery</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Developer Skill Atrophy</title><link>https://adriennevermorel.com/notes/ai-developer-skill-atrophy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-developer-skill-atrophy/</guid><description>How AI coding tools affect developer comprehension — Anthropic&apos;s RCT, the delegation vs. inquiry distinction, and why how you use AI matters as much as which tools you pick</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI-Generated SQL Failure Modes</title><link>https://adriennevermorel.com/notes/ai-generated-sql-failure-modes/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-generated-sql-failure-modes/</guid><description>Why AI-generated SQL is dangerous — it runs without errors but returns wrong results. Research on temporal filter inconsistencies, join failures, and the confidence problem.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Limitations in Data Engineering</title><link>https://adriennevermorel.com/notes/ai-limitations-in-data-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-limitations-in-data-engineering/</guid><description>A reading path through the five core limitations of AI in data engineering — SQL failure modes, the context gap, architectural judgment, the production gap, and context engineering as the response.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI-Powered dbt Documentation</title><link>https://adriennevermorel.com/notes/ai-powered-dbt-documentation-hub/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-powered-dbt-documentation-hub/</guid><description>A reading path through automating dbt documentation — from scaffolding tools to AI generation, business context enrichment, and CI enforcement</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The AI Production Gap in Data Engineering</title><link>https://adriennevermorel.com/notes/ai-production-gap-in-data-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-production-gap-in-data-engineering/</guid><description>Why AI gets you to 80% fast but the remaining 20% — security, compliance, temporal consistency, governance — is where most of the real work lives.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI SQL Review Tools</title><link>https://adriennevermorel.com/notes/ai-sql-review-tools/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-sql-review-tools/</guid><description>A reference of tools that apply AI to SQL and dbt code review — Altimate AI, Greptile, CodeRabbit, and MotherDuck FixIt — with benchmarks and differentiators</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI SQL Review Tradeoffs</title><link>https://adriennevermorel.com/notes/ai-sql-review-tradeoffs/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-sql-review-tradeoffs/</guid><description>The practical costs of AI SQL review — false positive rates, conflicting tool feedback, CI latency, annual spend, and the configuration investment that makes it worthwhile</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Tool Tiers for Data Engineering</title><link>https://adriennevermorel.com/notes/ai-tool-tiers-for-data-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-tool-tiers-for-data-engineering/</guid><description>The four capability tiers of AI tools for data engineering — autonomous agents, copilots, chat assistants, and platform-embedded AI — and why context determines which tier delivers value</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Tooling Cost for Solo Consultants</title><link>https://adriennevermorel.com/notes/ai-tooling-cost-for-solo-consultants/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-tooling-cost-for-solo-consultants/</guid><description>What a four-layer AI stack actually costs per month for an independent analytics engineering consultant — tool-by-tool breakdown, ROI assessment, and cost visibility gaps</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Tools for dbt Documentation</title><link>https://adriennevermorel.com/notes/ai-tools-for-dbt-documentation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ai-tools-for-dbt-documentation/</guid><description>A comparison of dbt Copilot, Claude Code with MCP, and Altimate AI for generating dbt model and column documentation — capabilities, limitations, and selection guidance</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BI Tool Selection Framework</title><link>https://adriennevermorel.com/notes/bi-tool-selection-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bi-tool-selection-framework/</guid><description>A decision framework for choosing a BI tool in 2026 — four key questions, a comparison of Lightdash vs Looker vs Metabase, and the market landscape from dbt-native to enterprise tools</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigLake Performance Characteristics</title><link>https://adriennevermorel.com/notes/biglake-performance-characteristics/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/biglake-performance-characteristics/</guid><description>How BigLake external and Iceberg tables perform relative to native BigQuery tables, the role of metadata caching, and where the remaining gaps matter.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Architecture for Analytics Engineers</title><link>https://adriennevermorel.com/notes/bigquery-architecture-for-analytics-engineers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-architecture-for-analytics-engineers/</guid><description>How BigQuery works under the hood — columnar storage, slots, the separation of compute and storage — and why it matters for your queries and costs.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigLake Metastore and Catalog Strategy</title><link>https://adriennevermorel.com/notes/biglake-metastore-and-catalog-strategy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/biglake-metastore-and-catalog-strategy/</guid><description>Why catalog infrastructure matters more than format choice on GCP, and how BigLake Metastore and Dataplex Universal Catalog provide unified governance across engines and formats.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Cross-Organization Data Sharing</title><link>https://adriennevermorel.com/notes/bigquery-cross-organization-data-sharing/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-cross-organization-data-sharing/</guid><description>Patterns for sharing BigQuery data across organizations — agency/client models, Analytics Hub, authorized views, and row/column-level security.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Cost Model</title><link>https://adriennevermorel.com/notes/bigquery-cost-model/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-cost-model/</guid><description>How BigQuery pricing works across on-demand and editions models — bytes billed, slot hours, storage costs, and optimization levers</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery HyperLogLog Sketches</title><link>https://adriennevermorel.com/notes/bigquery-hyperloglog-sketches/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-hyperloglog-sketches/</guid><description>How HyperLogLog++ sketches in BigQuery enable composable, approximate distinct counts at a fraction of the cost of exact counting.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery IAM Patterns</title><link>https://adriennevermorel.com/notes/bigquery-iam-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-iam-patterns/</guid><description>Least-privilege IAM for BigQuery — predefined roles, the data vs. compute permission split, service account strategy, and common anti-patterns.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Materialized Views</title><link>https://adriennevermorel.com/notes/bigquery-materialized-views/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-materialized-views/</guid><description>How BigQuery materialized views precompute aggregations, refresh incrementally, and transparently rewrite queries for automatic optimization.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Multi-Environment Patterns</title><link>https://adriennevermorel.com/notes/bigquery-multi-environment-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-multi-environment-patterns/</guid><description>Three patterns for separating dev, staging, and production in BigQuery — separate projects, dataset prefixes, and central data lake with department marts.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Partition Pruning Patterns</title><link>https://adriennevermorel.com/notes/bigquery-partition-pruning-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-partition-pruning-patterns/</guid><description>How to combine partitioning and clustering in BigQuery for maximum scan reduction, including anti-patterns that silently defeat pruning.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Regional Architecture</title><link>https://adriennevermorel.com/notes/bigquery-regional-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-regional-architecture/</guid><description>How BigQuery&apos;s region model works — multi-region vs. single region, the cross-region join constraint, and how to choose a region you&apos;ll live with permanently.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Resource Hierarchy</title><link>https://adriennevermorel.com/notes/bigquery-resource-hierarchy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-resource-hierarchy/</guid><description>How BigQuery organizes resources from organization to table level — projects as billing boundaries, datasets as access control units, and naming conventions that scale.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery SQL Patterns for Analytics Engineers</title><link>https://adriennevermorel.com/notes/bigquery-sql-patterns-for-analytics-engineers/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-sql-patterns-for-analytics-engineers/</guid><description>A reading guide to essential BigQuery SQL patterns covering query optimization, nested data, window functions, dbt incrementals, and marketing analytics.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Table Types</title><link>https://adriennevermorel.com/notes/bigquery-table-types/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/bigquery-table-types/</guid><description>Native BigQuery tables, BigLake external tables, and BigLake Iceberg tables — what each optimizes for, when to use them, and a decision framework for choosing.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cascading Agent Pattern</title><link>https://adriennevermorel.com/notes/cascading-agent-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cascading-agent-pattern/</guid><description>The architecture where an always-on monitoring agent detects issues and triggers a coding agent to investigate and fix them — how OpenClaw and Claude Code hand off work</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CLAUDE.md as Project Memory</title><link>https://adriennevermorel.com/notes/claude-code-claude-md-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-claude-md-configuration/</guid><description>How CLAUDE.md gives Claude Code persistent project context — what to include, what to leave out, and why reactive additions beat proactive documentation</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Hooks</title><link>https://adriennevermorel.com/notes/claude-code-hooks/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-hooks/</guid><description>How hooks give Claude Code deterministic guardrails — shell commands that execute at specific lifecycle points to enforce rules, auto-format code, and block dangerous operations</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code Slash Commands for dbt</title><link>https://adriennevermorel.com/notes/claude-code-slash-commands-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/claude-code-slash-commands-for-dbt/</guid><description>How to create custom slash commands in Claude Code that automate repeatable dbt workflows — test generation, model documentation, and prompt validation</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Storage Tiering for BigQuery</title><link>https://adriennevermorel.com/notes/cloud-storage-tiering-for-bigquery/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cloud-storage-tiering-for-bigquery/</guid><description>How to use Cloud Storage tiers and lifecycle policies alongside BigQuery for cost-effective data lake storage, including Autoclass and physical billing.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Context Engineering for Data Pipelines</title><link>https://adriennevermorel.com/notes/context-engineering-for-data-pipelines/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/context-engineering-for-data-pipelines/</guid><description>How the value in data engineering is shifting from writing code to structuring context — the emerging discipline of context engineering, the ETL-to-ECL reframe, and the skills pipeline risk.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The Context Gap in AI Data Engineering</title><link>https://adriennevermorel.com/notes/context-gap-in-ai-data-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/context-gap-in-ai-data-engineering/</guid><description>Why business context — what &apos;Status&apos; means, whether &apos;Amount&apos; is net or gross, tacit SAP knowledge — is the core limitation of AI in data engineering.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Cursor for dbt Development</title><link>https://adriennevermorel.com/notes/cursor-for-dbt-development/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/cursor-for-dbt-development/</guid><description>How Cursor works as the IDE layer for dbt projects — strengths with dbt Power User, limitations for multi-file work, and where it fits alongside Claude Code</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Custom Sessionization Patterns</title><link>https://adriennevermorel.com/notes/custom-sessionization-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/custom-sessionization-patterns/</guid><description>How to build custom session definitions from raw events using LAG and running sums, with configurable timeouts, campaign-based splits, and session metrics.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Data Architecture as Human Judgment</title><link>https://adriennevermorel.com/notes/data-architecture-as-human-judgment/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/data-architecture-as-human-judgment/</guid><description>Why data architecture — DAG design, ownership models, temporal logic, team boundaries — resists AI automation and remains a fundamentally human discipline.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Base Layer Patterns</title><link>https://adriennevermorel.com/notes/dbt-base-layer-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-base-layer-patterns/</guid><description>What belongs in dbt base models — renaming, casting, deduplication, unnesting — and the one exception to the no-joins rule.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt BigQuery Configuration</title><link>https://adriennevermorel.com/notes/dbt-bigquery-configuration/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-bigquery-configuration/</guid><description>How to configure dbt for BigQuery — profiles.yml setup, authentication methods, generate_schema_name, job labels for cost attribution, and cost control settings.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation CI Enforcement</title><link>https://adriennevermorel.com/notes/dbt-documentation-ci-enforcement/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-ci-enforcement/</guid><description>Tools and patterns for enforcing dbt documentation completeness in CI — dbt-coverage, dbt-checkpoint, dbt-score, and dbt-bouncer</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation Scaffolding Tools</title><link>https://adriennevermorel.com/notes/dbt-documentation-scaffolding-tools/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-scaffolding-tools/</guid><description>How dbt-codegen and dbt-osmosis handle the mechanical parts of documentation — generating YAML skeletons and propagating descriptions through your DAG</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation with Claude Code</title><link>https://adriennevermorel.com/notes/dbt-documentation-with-claude-code/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-documentation-with-claude-code/</guid><description>A systematic approach to dbt documentation using Claude Code — the codegen-plus-AI pattern, docs blocks for consistency, lineage diagrams, and slash commands for automation</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Intermediate Layer Patterns</title><link>https://adriennevermorel.com/notes/dbt-intermediate-layer-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-intermediate-layer-patterns/</guid><description>What belongs in dbt intermediate models — joins, business logic, window functions — and the critical rule of never reducing grain.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Mart Layer Patterns</title><link>https://adriennevermorel.com/notes/dbt-mart-layer-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-mart-layer-patterns/</guid><description>What belongs in dbt mart models — reporting aggregations, activation exports, ML feature tables — and the principle that every mart serves a specific consumer.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Project Structure and Naming</title><link>https://adriennevermorel.com/notes/dbt-project-structure-and-naming/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-project-structure-and-naming/</guid><description>How to organize a dbt project — folder structure, model naming conventions, layer responsibilities, and dbt_project.yml configuration patterns</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Testing Taxonomy</title><link>https://adriennevermorel.com/notes/dbt-testing-taxonomy/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-testing-taxonomy/</guid><description>A taxonomy of dbt test types — generic tests, singular tests, unit tests, contract tests, and data quality packages like dbt_expectations</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>dbt Three-Layer Architecture</title><link>https://adriennevermorel.com/notes/dbt-three-layer-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/dbt-three-layer-architecture/</guid><description>How the base, intermediate, and mart layers organize a dbt project, what belongs in each, and how data flows between them.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Debugging dbt with Claude Code</title><link>https://adriennevermorel.com/notes/debugging-dbt-with-claude-code/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/debugging-dbt-with-claude-code/</guid><description>How to use Claude Code for dbt debugging — letting the agent face errors directly, tracing data issues through upstream models, and using subagents for complex investigations</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Elementary for dbt</title><link>https://adriennevermorel.com/notes/elementary-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/elementary-for-dbt/</guid><description>How Elementary extends dbt with data observability — anomaly detection, automated freshness monitoring, test result history, and Slack alerting</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GA4 Event Data Structure</title><link>https://adriennevermorel.com/notes/ga4-event-data-structure/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/ga4-event-data-structure/</guid><description>How GA4 structures event data in BigQuery — the event model, nested parameters, and the patterns you need to query it effectively.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Headless BI Pattern</title><link>https://adriennevermorel.com/notes/headless-bi-pattern/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/headless-bi-pattern/</guid><description>The architectural pattern of decoupling the semantic layer from visualization — exposing metrics via APIs so any frontend, AI agent, or application can consume governed data</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Incremental Models in dbt</title><link>https://adriennevermorel.com/notes/incremental-models-in-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/incremental-models-in-dbt/</guid><description>How dbt incremental models work, when to use them, the available strategies, and the trade-offs you need to understand.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Incremental Strategy Decision Framework</title><link>https://adriennevermorel.com/notes/incremental-strategy-decision-framework/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/incremental-strategy-decision-framework/</guid><description>A decision framework for choosing the right dbt incremental materialization strategy — merge, delete+insert, insert_overwrite, append, and microbatch</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Layered AI Stack for Analytics Engineering</title><link>https://adriennevermorel.com/notes/layered-ai-stack-for-analytics-engineering/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/layered-ai-stack-for-analytics-engineering/</guid><description>The mental model of thinking about AI tools in layers — IDE, coding agent, orchestration, review — rather than choosing a single tool for everything</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Layered SQL Review Pipeline for dbt</title><link>https://adriennevermorel.com/notes/layered-sql-review-pipeline-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/layered-sql-review-pipeline-for-dbt/</guid><description>A four-layer architecture for SQL review in dbt projects — IDE feedback, pre-commit hooks, PR-level AI review, and CI testing — each catching a different class of error</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>MCP Protocol Architecture</title><link>https://adriennevermorel.com/notes/mcp-protocol-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/mcp-protocol-architecture/</guid><description>What the Model Context Protocol is, how clients and servers communicate, and why it matters for connecting AI tools to your data infrastructure.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Medallion Lakehouse on GCP</title><link>https://adriennevermorel.com/notes/medallion-lakehouse-on-gcp/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/medallion-lakehouse-on-gcp/</guid><description>How the bronze-silver-gold medallion architecture maps to BigQuery table types, with BigLake Iceberg for flexibility and native tables for performance.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Metrics as Code</title><link>https://adriennevermorel.com/notes/metrics-as-code/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/metrics-as-code/</guid><description>The practice of defining business metrics in version-controlled YAML — reviewed in pull requests, tested in CI/CD, and consumed by BI tools and AI agents</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw for dbt Monitoring</title><link>https://adriennevermorel.com/notes/openclaw-for-dbt-monitoring/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/openclaw-for-dbt-monitoring/</guid><description>Using OpenClaw as an always-on monitoring layer for dbt projects — cron-based testing, Slack alerting, mobile access, and practical use cases for solo consultants</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>RAG for dbt Documentation</title><link>https://adriennevermorel.com/notes/rag-for-dbt-documentation/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/rag-for-dbt-documentation/</guid><description>How retrieval-augmented generation bridges the business context gap in AI-generated dbt documentation — from full RAG pipelines to the simpler CLAUDE.md workaround</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Security Posture for AI Agents</title><link>https://adriennevermorel.com/notes/security-posture-for-ai-agents/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/security-posture-for-ai-agents/</guid><description>How to scope permissions, isolate environments, and treat always-on AI agents like OpenClaw as untrusted actors — practical security practices for data teams</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Semantic Layer Architecture</title><link>https://adriennevermorel.com/notes/semantic-layer-architecture/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/semantic-layer-architecture/</guid><description>How semantic layers work in the modern data stack — competing implementations (MetricFlow, Snowflake Semantic Views, Databricks Metric Views), the OSI initiative, and why the semantic layer determines AI accuracy</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Silent SQL Errors in AI-Generated Code</title><link>https://adriennevermorel.com/notes/silent-sql-errors-in-ai-generated-code/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/silent-sql-errors-in-ai-generated-code/</guid><description>Why AI-generated SQL that compiles and runs is more dangerous than SQL that fails — the 3% warning rate, temporal filter inconsistencies, and the review practices that catch what linters miss</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>SQL Attribution Patterns</title><link>https://adriennevermorel.com/notes/sql-attribution-patterns/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/sql-attribution-patterns/</guid><description>SQL implementation patterns for marketing attribution — first-touch, last-touch, linear, position-based, time-decay, and algorithmic models</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>TDD with Claude Code for dbt</title><link>https://adriennevermorel.com/notes/tdd-with-claude-code-for-dbt/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/tdd-with-claude-code-for-dbt/</guid><description>How test-driven development works with Claude Code for dbt models — write tests first, let the agent iterate to pass them, then refactor with confidence</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Window Function Patterns for Analytics SQL</title><link>https://adriennevermorel.com/notes/window-function-patterns-for-analytics-sql/</link><guid isPermaLink="true">https://adriennevermorel.com/notes/window-function-patterns-for-analytics-sql/</guid><description>Practical window function patterns for analytics SQL — ROW_NUMBER, LEAD/LAG, running totals, session detection, and deduplication</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>